feat: refresh UI and add vite ci workflow
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
# 戒烟助手小程序(smt)
|
||||
|
||||
基于 `uni-app + Vue 3 + Pinia` 的戒烟辅助小程序前端,核心目标是帮助用户记录抽烟/忍住行为,并通过首页看板、统计分析和 AI 建议逐步降低吸烟频率。
|
||||
基于 `uni-app + Vue 3 + Pinia + Vite` 的戒烟辅助小程序前端,核心目标是帮助用户记录抽烟/忍住行为,并通过首页看板、统计分析和 AI 建议逐步降低吸烟频率。
|
||||
|
||||
## 项目状态
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
|
||||
## 页面与路由
|
||||
|
||||
在 `pages.json` 中注册了以下页面:
|
||||
在 `src/pages.json` 中注册了以下页面:
|
||||
|
||||
- `pages/index/index`:首页
|
||||
- `pages/stats/index`:统计
|
||||
@@ -56,51 +56,79 @@
|
||||
|
||||
```text
|
||||
smt/
|
||||
├── api/ # 接口封装
|
||||
├── components/ # 业务组件(含 smoke-record-dialog)
|
||||
├── config/ # 环境配置(BASE_URL 等)
|
||||
├── src/
|
||||
│ ├── api/ # 接口封装
|
||||
│ ├── components/ # 业务组件(含 smoke-record-dialog)
|
||||
│ ├── config/ # 环境配置(BASE_URL 等)
|
||||
│ ├── hooks/ # 组合式逻辑(如 useLogin)
|
||||
│ ├── pages/ # 页面
|
||||
│ ├── stores/ # Pinia 状态管理
|
||||
│ ├── utils/ # 工具函数与本地存储封装
|
||||
│ ├── App.vue
|
||||
│ ├── main.js
|
||||
│ ├── manifest.json
|
||||
│ └── pages.json
|
||||
├── docs/ # PRD、API、算法与认证文档
|
||||
├── hooks/ # 组合式逻辑(如 useLogin)
|
||||
├── pages/ # 页面
|
||||
├── stores/ # Pinia 状态管理
|
||||
├── utils/ # 工具函数与本地存储封装
|
||||
├── App.vue
|
||||
├── main.js
|
||||
├── manifest.json
|
||||
└── pages.json
|
||||
├── index.html
|
||||
├── package.json
|
||||
└── vite.config.js
|
||||
```
|
||||
|
||||
## 本地开发
|
||||
|
||||
## 1. 环境准备
|
||||
|
||||
- 推荐使用 `HBuilderX` 打开项目目录
|
||||
- 微信开发者工具(用于运行到微信小程序)
|
||||
|
||||
> 说明:本仓库当前未包含 `package.json`,默认按 HBuilderX/uni-app 工程方式运行。
|
||||
- Node.js 22
|
||||
- npm
|
||||
- 微信开发者工具(用于运行微信小程序)
|
||||
|
||||
## 2. 配置后端地址
|
||||
|
||||
编辑 `config/index.js`:
|
||||
编辑 `src/config/index.js`:
|
||||
|
||||
- `development.BASE_URL`:开发环境 API 地址
|
||||
- `production.BASE_URL`:生产环境 API 地址
|
||||
- `MINI_PROGRAM_ID`:后端登录接口使用的小程序 ID
|
||||
|
||||
## 3. 小程序配置
|
||||
## 3. 安装依赖
|
||||
|
||||
`manifest.json` 中包含:
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
## 4. 小程序配置
|
||||
|
||||
`src/manifest.json` 中包含:
|
||||
|
||||
- `mp-weixin.appid`
|
||||
- 微信端 `urlCheck` 等基础配置
|
||||
|
||||
## 4. 运行
|
||||
## 5. 运行
|
||||
|
||||
在 HBuilderX 中:
|
||||
微信小程序本地开发:
|
||||
|
||||
1. 导入项目目录
|
||||
2. 运行到 `微信开发者工具`
|
||||
3. 确认接口可访问后开始联调
|
||||
```bash
|
||||
npm run dev:mp-weixin
|
||||
```
|
||||
|
||||
微信开发者工具导入目录:
|
||||
|
||||
```text
|
||||
dist/dev/mp-weixin
|
||||
```
|
||||
|
||||
H5 调试:
|
||||
|
||||
```bash
|
||||
npm run dev:h5
|
||||
```
|
||||
|
||||
构建:
|
||||
|
||||
```bash
|
||||
npm run build:h5
|
||||
npm run build:mp-weixin
|
||||
```
|
||||
|
||||
## 接口与文档
|
||||
|
||||
@@ -109,21 +137,22 @@ smt/
|
||||
- 抽烟记录 API:`docs/api.md`
|
||||
- 登录认证:`docs/auth.md`
|
||||
- 算法说明:`docs/ALGORITHM.md`
|
||||
- 组件文档:`components/smoke-record-dialog/README.md`
|
||||
- 组件文档:`src/components/smoke-record-dialog/README.md`
|
||||
|
||||
## 关键实现说明
|
||||
|
||||
- 全局启动时在 `App.vue` 发起静默登录
|
||||
- 全局启动时在 `src/App.vue` 发起静默登录
|
||||
- 业务页面通过 `useLogin().waitForLogin()` 确保登录完成后请求接口
|
||||
- `api/request.js` 统一处理请求:
|
||||
- `src/api/request.js` 统一处理请求:
|
||||
- 自动注入 `Authorization: Bearer <session_key>`
|
||||
- 401 自动登录并重试一次
|
||||
|
||||
## 注意事项
|
||||
|
||||
- `config/index.js` 里默认开发地址是局域网 IP,跨设备调试需改成可访问地址
|
||||
- `src/config/index.js` 里默认开发地址是局域网 IP,跨设备调试需改成可访问地址
|
||||
- 历史记录与统计页依赖后端返回格式,联调时请以 `docs/api.md` 为准
|
||||
- 仓库中 `docs/*` 可能存在进行中的改动,提交前建议按需选择暂存文件
|
||||
- GitHub Actions CI 会在 `master` / `main` 推送和 PR 时执行 `npm ci`、`build:h5`、`build:mp-weixin`
|
||||
|
||||
## License
|
||||
|
||||
|
||||
Reference in New Issue
Block a user