172 lines
4.1 KiB
Markdown
172 lines
4.1 KiB
Markdown
# 打牌记账小程序 - 使用说明
|
||
|
||
## 🚀 快速开始
|
||
|
||
### 1. 环境准备
|
||
- 微信开发者工具
|
||
- 后端服务已启动(http://localhost:3000)
|
||
|
||
### 2. 导入项目
|
||
1. 打开微信开发者工具
|
||
2. 导入项目,选择 `miniapp` 目录
|
||
3. AppID 使用测试号或实际AppID
|
||
|
||
### 3. 安装依赖
|
||
```bash
|
||
cd miniapp
|
||
npm install
|
||
```
|
||
|
||
在微信开发者工具中:
|
||
- 工具 > 构建 npm
|
||
|
||
### 4. 修改配置
|
||
如果后端不在localhost:3000,修改:
|
||
- `app.js` 中的 `apiBase`
|
||
- `utils/request.js` 中的 `API_BASE`
|
||
|
||
## 📱 功能说明
|
||
|
||
### 已实现功能
|
||
1. **用户登录** - 首页点击登录按钮
|
||
2. **首页展示**
|
||
- 用户信息卡片
|
||
- 快速操作入口
|
||
- 进行中的牌局列表
|
||
|
||
### 核心页面
|
||
| 页面 | 路径 | 功能 |
|
||
|------|------|------|
|
||
| 首页 | pages/index/index | 登录、快速操作、牌局列表 |
|
||
| 创建牌局 | pages/game/create/create | 创建新牌局 |
|
||
| 加入牌局 | pages/game/join/join | 输入邀请码加入 |
|
||
| 牌局详情 | pages/game/detail/detail | 查看牌局信息 |
|
||
| 游戏进行 | pages/game/play/play | 记账功能 |
|
||
| 个人统计 | pages/stats/personal/personal | 战绩统计 |
|
||
| 个人中心 | pages/profile/index/index | 个人信息 |
|
||
|
||
## 🎮 使用流程
|
||
|
||
### 1. 登录流程
|
||
```
|
||
打开小程序 → 首页 → 点击登录 → 授权用户信息 → 登录成功
|
||
```
|
||
|
||
### 2. 创建牌局
|
||
```
|
||
首页 → 创建牌局 → 填写信息 → 生成邀请码 → 分享给朋友
|
||
```
|
||
|
||
### 3. 加入牌局
|
||
```
|
||
首页 → 加入牌局 → 输入邀请码 → 加入成功 → 进入牌局
|
||
```
|
||
|
||
### 4. 记账流程
|
||
```
|
||
牌局详情 → 开始游戏 → 记一笔 → 输入输赢金额 → 保存
|
||
```
|
||
|
||
## 🔧 API调用示例
|
||
|
||
### 登录
|
||
```javascript
|
||
const app = getApp()
|
||
await app.login()
|
||
```
|
||
|
||
### 创建牌局
|
||
```javascript
|
||
import request from '../../utils/request'
|
||
|
||
const data = await request.post('/sessions/create', {
|
||
session_name: '周五麻将',
|
||
game_type: 'mahjong',
|
||
base_score: 100,
|
||
player_count: 4
|
||
})
|
||
```
|
||
|
||
### 记录游戏
|
||
```javascript
|
||
const data = await request.post('/records/add', {
|
||
session_id: 1,
|
||
dealer_id: 1,
|
||
player_records: [
|
||
{ player_id: 1, score_change: 300 },
|
||
{ player_id: 2, score_change: -100 },
|
||
{ player_id: 3, score_change: -100 },
|
||
{ player_id: 4, score_change: -100 }
|
||
],
|
||
notes: '张三自摸'
|
||
})
|
||
```
|
||
|
||
## 📝 注意事项
|
||
|
||
1. **登录状态** - Token保存在Storage,24小时有效
|
||
2. **数据刷新** - onShow时自动刷新数据
|
||
3. **错误处理** - 网络错误自动提示
|
||
4. **金额单位** - 后端使用分,前端显示元
|
||
|
||
## 🐛 常见问题
|
||
|
||
### 1. 无法登录
|
||
- 检查后端服务是否启动
|
||
- 检查网络连接
|
||
- 清除缓存重试
|
||
|
||
### 2. 请求失败
|
||
- 检查API地址配置
|
||
- 查看控制台错误信息
|
||
- 验证Token是否过期
|
||
|
||
### 3. 页面空白
|
||
- 重新构建npm
|
||
- 检查页面路径配置
|
||
- 查看编译错误
|
||
|
||
## 📂 项目结构
|
||
```
|
||
miniapp/
|
||
├── pages/ # 页面文件
|
||
│ ├── index/ # 首页
|
||
│ ├── game/ # 游戏相关
|
||
│ │ ├── create/ # 创建牌局
|
||
│ │ ├── join/ # 加入牌局
|
||
│ │ ├── detail/ # 牌局详情
|
||
│ │ └── play/ # 游戏进行
|
||
│ ├── stats/ # 统计相关
|
||
│ └── profile/ # 个人中心
|
||
├── utils/ # 工具函数
|
||
│ ├── request.js # 请求封装
|
||
│ └── format.js # 格式化工具
|
||
├── images/ # 图片资源
|
||
├── app.js # 应用入口
|
||
├── app.json # 应用配置
|
||
└── app.wxss # 全局样式
|
||
```
|
||
|
||
## 🎯 下一步开发
|
||
|
||
### 待实现功能
|
||
1. 实时同步(WebSocket)
|
||
2. 结算功能
|
||
3. 数据图表展示
|
||
4. 语音记账
|
||
5. 拍照记录
|
||
6. 导出报表
|
||
|
||
### 优化建议
|
||
1. 添加骨架屏
|
||
2. 优化加载动画
|
||
3. 添加下拉刷新
|
||
4. 缓存优化
|
||
5. 错误重试机制
|
||
|
||
## 📞 技术支持
|
||
|
||
如需帮助,请参考:
|
||
- [后端README](../BACKEND_README.md)
|
||
- [系统架构文档](../SYSTEM_ARCHITECTURE.md)
|
||
- [API设计文档](../API_DESIGN.md) |