mirror of
https://github.com/lingke-net/Space.Tab.git
synced 2026-09-12 05:45:17 +08:00
提交开源版本
This commit is contained in:
@@ -0,0 +1,152 @@
|
||||
<p align="center">
|
||||
<img src="https://www.lingke.ink/wp-content/uploads/2025/08/space-scaled.png" alt="pARPxN8.png" border="0" />
|
||||
<img src="https://www.lingke.ink/wp-content/uploads/2025/08/work-scaled.png" alt="pARPxN8.png" border="0" />
|
||||
</p>
|
||||
|
||||
# Space.Tab
|
||||
|
||||
Space.Tab是一个现代化的Web应用程序,提供多种功能,包括用户认证、服务器管理、设备信息收集、天气查询、搜索引擎集成等功能。
|
||||
|
||||
## 技术栈
|
||||
|
||||
- 前端:Vue 3、Tailwind CSS、GSAP
|
||||
- 后端:Express.js、MySQL、Redis
|
||||
- 构建工具:Vite
|
||||
- 其他:JWT认证、Swagger API文档
|
||||
|
||||
## 项目设置
|
||||
|
||||
### 环境要求
|
||||
|
||||
- Node.js (推荐v18+)
|
||||
- MySQL
|
||||
- Redis
|
||||
- PNPM (推荐v10+)
|
||||
|
||||
### 安装依赖
|
||||
|
||||
```bash
|
||||
# 安装依赖
|
||||
pnpm install
|
||||
```
|
||||
|
||||
### 环境变量配置
|
||||
|
||||
1. 复制环境变量示例文件作为基础
|
||||
```bash
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
2. 编辑`.env`文件,填入你的实际配置信息:
|
||||
- 数据库连接信息(MySQL和Redis)
|
||||
- API密钥(高德地图、极验验证等)
|
||||
- JWT密钥
|
||||
- 其他应用配置
|
||||
|
||||
### 数据库初始化
|
||||
|
||||
1. 确保MySQL服务已启动
|
||||
2. 创建数据库并导入初始数据
|
||||
```bash
|
||||
mysql -u your_username -p < sql/spacetab-data.sql
|
||||
```
|
||||
|
||||
## 开发
|
||||
|
||||
启动开发服务器:
|
||||
|
||||
```bash
|
||||
pnpm dev
|
||||
```
|
||||
|
||||
应用将在 http://localhost:3001 (或环境变量中配置的端口) 上运行。
|
||||
|
||||
## 构建
|
||||
|
||||
构建生产版本:
|
||||
|
||||
```bash
|
||||
pnpm build
|
||||
```
|
||||
|
||||
## 部署
|
||||
|
||||
### 标准部署
|
||||
|
||||
```bash
|
||||
# 构建项目
|
||||
pnpm build
|
||||
|
||||
# 启动生产服务器
|
||||
pnpm start
|
||||
```
|
||||
|
||||
### Docker部署
|
||||
|
||||
```bash
|
||||
# 使用生产环境配置启动Docker容器
|
||||
pnpm docker
|
||||
```
|
||||
|
||||
## 项目结构
|
||||
|
||||
- `src/client/` - 前端Vue应用
|
||||
- `src/server/` - 后端Express服务器
|
||||
- `sql/` - 数据库初始化脚本
|
||||
- `public/` - 静态资源文件
|
||||
|
||||
## 环境变量说明
|
||||
|
||||
项目使用了多种环境变量来配置不同的功能。请参考`.env.example`文件了解所有可用的配置选项。关键配置包括:
|
||||
|
||||
### 基础配置
|
||||
- `NODE_ENV` - 运行环境(development/production)
|
||||
- `PORT` - 服务器端口
|
||||
|
||||
### 数据库配置
|
||||
- `MYSQL_HOST` - MySQL主机地址
|
||||
- `MYSQL_PORT` - MySQL端口
|
||||
- `MYSQL_USER` - MySQL用户名
|
||||
- `MYSQL_PASSWORD` - MySQL密码
|
||||
- `MYSQL_DATABASE` - MySQL数据库名
|
||||
|
||||
### Redis配置
|
||||
- `REDIS_HOST` - Redis主机地址
|
||||
- `REDIS_PORT` - Redis端口
|
||||
- `REDIS_PASSWORD` - Redis密码
|
||||
- `REDIS_DATABASE` - Redis数据库索引
|
||||
|
||||
### 认证配置
|
||||
- `JWT_SECRET` - JWT签名密钥
|
||||
- `JWT_EXPIRES_IN` - JWT过期时间
|
||||
|
||||
### 第三方服务配置
|
||||
- `VITE_MAMP_KEY` - 高德地图API密钥
|
||||
- `VITE_GEETEST_CAPTCHA_ID` - 极验验证ID
|
||||
- `VITE_GEETEST_CAPTCHA_KEY` - 极验验证密钥
|
||||
|
||||
## 安全注意事项
|
||||
|
||||
1. **环境变量文件**:
|
||||
- `.env`、`.env.*` 文件包含敏感信息,已在`.gitignore`中配置为不上传
|
||||
- 永远不要将包含实际密钥的环境文件提交到版本控制系统
|
||||
|
||||
2. **数据库凭证**:
|
||||
- 生产环境中使用强密码
|
||||
- 限制数据库用户权限
|
||||
|
||||
3. **API密钥**:
|
||||
- 定期轮换第三方服务的API密钥
|
||||
- 实施适当的访问控制和速率限制
|
||||
|
||||
## 贡献指南
|
||||
|
||||
1. Fork项目
|
||||
2. 创建功能分支 (`git checkout -b feature/amazing-feature`)
|
||||
3. 提交更改 (`git commit -m 'Add some amazing feature'`)
|
||||
4. 推送到分支 (`git push origin feature/amazing-feature`)
|
||||
5. 创建Pull Request
|
||||
|
||||
## 许可证
|
||||
|
||||
本项目遵守 GPL-3.0 license 协议,在协议规范内,禁止用于商业用途
|
||||
Reference in New Issue
Block a user