docs(mini-program): 更新 README 添加编译和部署说明
- 添加快速开始指南(安装依赖、开发模式) - 添加微信小程序编译和预览步骤 - 添加 H5 编译和部署说明 - 添加环境配置说明 - 添加项目结构说明 - 添加常见问题和部署上线流程 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
+223
-3
@@ -1,5 +1,225 @@
|
|||||||
# Vue 3 + TypeScript + Vite
|
# 人生 OS 微信小程序
|
||||||
|
|
||||||
This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 `<script setup>` SFCs, check out the [script setup docs](https://v3.vuejs.org/api/sfc-script-setup.html#sfc-script-setup) to learn more.
|
基于 UniApp + Vue 3 的人生 OS 微信小程序,与 Web 端(life-script)共享后端 API。
|
||||||
|
|
||||||
Learn more about the recommended Project Setup and IDE Support in the [Vue Docs TypeScript Guide](https://vuejs.org/guide/typescript/overview.html#project-setup).
|
## 技术栈
|
||||||
|
|
||||||
|
- **框架**: UniApp
|
||||||
|
- **语言**: Vue 3 + TypeScript
|
||||||
|
- **状态管理**: Pinia
|
||||||
|
- **HTTP 请求**: uni.request 封装
|
||||||
|
|
||||||
|
## 快速开始
|
||||||
|
|
||||||
|
### 1. 安装依赖
|
||||||
|
|
||||||
|
```bash
|
||||||
|
cd mini-program
|
||||||
|
npm install
|
||||||
|
# 或使用 pnpm
|
||||||
|
pnpm install
|
||||||
|
```
|
||||||
|
|
||||||
|
### 2. 开发模式
|
||||||
|
|
||||||
|
#### 微信小程序开发预览
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 启动微信小程序开发服务器
|
||||||
|
npm run dev:mp-weixin
|
||||||
|
# 或
|
||||||
|
pnpm dev:mp-weixin
|
||||||
|
```
|
||||||
|
|
||||||
|
启动后,打开**微信开发者工具**:
|
||||||
|
1. 导入项目目录:`mini-program/unpackage/dist/dev/mp-weixin`
|
||||||
|
2. 在开发者工具中可以实时预览和调试
|
||||||
|
|
||||||
|
#### H5 开发预览
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 启动 H5 开发服务器
|
||||||
|
npm run dev:h5
|
||||||
|
# 或
|
||||||
|
pnpm dev:h5
|
||||||
|
```
|
||||||
|
|
||||||
|
启动后,在浏览器访问:`http://localhost:5173`
|
||||||
|
|
||||||
|
### 3. 编译打包
|
||||||
|
|
||||||
|
#### 编译为微信小程序
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 生产环境编译
|
||||||
|
npm run build:mp-weixin
|
||||||
|
# 或
|
||||||
|
pnpm build:mp-weixin
|
||||||
|
```
|
||||||
|
|
||||||
|
编译输出目录:`unpackage/dist/build/mp-weixin`
|
||||||
|
|
||||||
|
**部署步骤**:
|
||||||
|
1. 打开微信开发者工具
|
||||||
|
2. 导入目录:`mini-program/unpackage/dist/build/mp-weixin`
|
||||||
|
3. 点击「上传」按钮,上传代码到微信公众平台
|
||||||
|
4. 登录微信公众平台进行版本提交和发布
|
||||||
|
|
||||||
|
#### 编译为 H5
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 生产环境编译
|
||||||
|
npm run build:h5
|
||||||
|
# 或
|
||||||
|
pnpm build:h5
|
||||||
|
```
|
||||||
|
|
||||||
|
编译输出目录:`unpackage/dist/build/h5`
|
||||||
|
|
||||||
|
### 4. 环境配置
|
||||||
|
|
||||||
|
项目使用 `.env` 文件管理环境变量:
|
||||||
|
|
||||||
|
| 文件 | 说明 |
|
||||||
|
|------|------|
|
||||||
|
| `.env.development` | 开发环境配置 |
|
||||||
|
| `.env.production` | 生产环境配置 |
|
||||||
|
|
||||||
|
**开发环境配置**(`.env.development`):
|
||||||
|
```bash
|
||||||
|
VITE_APP_ENV=dev
|
||||||
|
VITE_API_BASE_URL=http://localhost:19089
|
||||||
|
VITE_WS_URL=ws://localhost:19089
|
||||||
|
VITE_DEBUG=true
|
||||||
|
```
|
||||||
|
|
||||||
|
**生产环境配置**(`.env.production`):
|
||||||
|
```bash
|
||||||
|
VITE_APP_ENV=prod
|
||||||
|
VITE_API_BASE_URL=http://101.200.208.45:19089/api
|
||||||
|
VITE_WS_URL=ws://101.200.208.45:19089
|
||||||
|
VITE_DEBUG=false
|
||||||
|
```
|
||||||
|
|
||||||
|
## 项目结构
|
||||||
|
|
||||||
|
```
|
||||||
|
mini-program/
|
||||||
|
├── src/
|
||||||
|
│ ├── pages/ # 页面目录
|
||||||
|
│ │ ├── splash/ # 启动页
|
||||||
|
│ │ ├── login/ # 登录页
|
||||||
|
│ │ ├── onboarding/ # 引导页
|
||||||
|
│ │ ├── main/ # 主页容器
|
||||||
|
│ │ │ ├── index.vue # 主页面
|
||||||
|
│ │ │ ├── RecordView.vue # 记录页
|
||||||
|
│ │ │ ├── ScriptView.vue # 剧本页
|
||||||
|
│ │ │ └── PathView.vue # 路径页
|
||||||
|
│ │ └── profile/ # 个人页
|
||||||
|
│ ├── components/ # 公共组件
|
||||||
|
│ │ └── MusicPlayer.vue # 音乐播放器
|
||||||
|
│ ├── services/ # API 服务层
|
||||||
|
│ │ ├── request.js # 请求封装
|
||||||
|
│ │ ├── auth.js # 认证服务
|
||||||
|
│ │ ├── userProfile.js # 用户档案服务
|
||||||
|
│ │ ├── lifeEvent.js # 生命事件服务
|
||||||
|
│ │ ├── epicScript.js # 剧本服务
|
||||||
|
│ │ └── lifePath.js # 路径服务
|
||||||
|
│ ├── stores/ # 状态管理
|
||||||
|
│ │ └── app.js # 应用状态
|
||||||
|
│ ├── config/ # 配置文件
|
||||||
|
│ │ └── env.js # 环境配置
|
||||||
|
│ ├── static/ # 静态资源
|
||||||
|
│ ├── App.vue # 应用入口
|
||||||
|
│ ├── main.js # 应用入口 JS
|
||||||
|
│ ├── manifest.json # 应用配置
|
||||||
|
│ ├── pages.json # 页面配置
|
||||||
|
│ └── uni.scss # 全局样式
|
||||||
|
├── .env.development # 开发环境变量
|
||||||
|
├── .env.production # 生产环境变量
|
||||||
|
├── package.json # 项目依赖
|
||||||
|
├── tsconfig.json # TypeScript 配置
|
||||||
|
└── vite.config.js # Vite 配置
|
||||||
|
```
|
||||||
|
|
||||||
|
## 开发说明
|
||||||
|
|
||||||
|
### API 接口
|
||||||
|
|
||||||
|
小程序与 Web 端(life-script)共享同一套后端 API,接口文档参考 life-script 项目。
|
||||||
|
|
||||||
|
主要服务包括:
|
||||||
|
- **auth.js**: 用户认证(登录、注册、验证码)
|
||||||
|
- **userProfile.js**: 用户档案管理
|
||||||
|
- **lifeEvent.js**: 生命事件记录
|
||||||
|
- **epicScript.js**: AI 剧本生成
|
||||||
|
- **lifePath.js**: 实现路径规划
|
||||||
|
|
||||||
|
### 样式规范
|
||||||
|
|
||||||
|
小程序使用全局样式 + 组件作用域样式:
|
||||||
|
|
||||||
|
- **全局样式**: `src/App.vue` 中定义,包括玻璃态效果、渐变按钮、动画等
|
||||||
|
- **主题色**:
|
||||||
|
- 主背景:`#0F071A`
|
||||||
|
- 渐变顶部:`#1A0B2E`
|
||||||
|
- 渐变底部:`#050208`
|
||||||
|
- 主紫色:`#A855F7`
|
||||||
|
- 浅紫色:`#C084FC`
|
||||||
|
- 粉色:`#E879F9`
|
||||||
|
|
||||||
|
### 状态管理
|
||||||
|
|
||||||
|
使用 Pinia 进行状态管理,主要状态包括:
|
||||||
|
- `isLoggedIn`: 登录状态
|
||||||
|
- `userProfile`: 用户档案
|
||||||
|
- `events`: 生命事件列表
|
||||||
|
- `scripts`: 剧本列表
|
||||||
|
- `currentPath`: 当前实现路径
|
||||||
|
|
||||||
|
## 常见问题
|
||||||
|
|
||||||
|
### 端口占用
|
||||||
|
|
||||||
|
启动开发服务器前,如遇端口被占用:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 清理占用端口的 vite 进程
|
||||||
|
./scripts/cleanup-all-vite.sh
|
||||||
|
# 或直接运行
|
||||||
|
vite
|
||||||
|
```
|
||||||
|
|
||||||
|
### 跨域问题
|
||||||
|
|
||||||
|
开发环境如遇跨域问题,请确保:
|
||||||
|
1. 后端 CORS 配置包含当前开发端口(5173-5190)
|
||||||
|
2. 使用正确的 API_BASE_URL
|
||||||
|
|
||||||
|
### 真机预览
|
||||||
|
|
||||||
|
1. 在微信开发者工具中点击「预览」
|
||||||
|
2. 使用微信扫描二维码
|
||||||
|
3. 在真机上查看效果
|
||||||
|
|
||||||
|
## 部署上线
|
||||||
|
|
||||||
|
### 小程序发布流程
|
||||||
|
|
||||||
|
1. **代码编译**: `npm run build:mp-weixin`
|
||||||
|
2. **导入工具**: 微信开发者工具导入编译后的目录
|
||||||
|
3. **上传代码**: 点击「上传」按钮
|
||||||
|
4. **版本管理**: 登录微信公众平台进行版本提交
|
||||||
|
5. **审核发布**: 提交审核后等待微信官方审核
|
||||||
|
|
||||||
|
### H5 部署
|
||||||
|
|
||||||
|
1. **代码编译**: `npm run build:h5`
|
||||||
|
2. **上传服务器**: 将 `unpackage/dist/build/h5` 目录部署到服务器
|
||||||
|
3. **配置反向代理**: 配置 Nginx 反向代理后端 API
|
||||||
|
|
||||||
|
## 参考资料
|
||||||
|
|
||||||
|
- [UniApp 官方文档](https://uniapp.dcloud.net.cn/)
|
||||||
|
- [Vue 3 官方文档](https://vuejs.org/)
|
||||||
|
- [微信小程序开发文档](https://developers.weixin.qq.com/miniprogram/dev/framework/)
|
||||||
|
|||||||
Reference in New Issue
Block a user