🔄 交互流程地图

小游戏开发基础基座 - 用户认证与业务流程

📱 微信登录流程
sequenceDiagram participant U as 用户 participant WX as 微信小程序 participant API as 游戏后端 participant WXS as 微信服务器 U->>WX: 点击"微信登录" WX->>WXS: wx.login() 获取 code WXS-->>WX: code WX->>API: POST /api/game/auth/wxlogin {code} API->>WXS: code2Session WXS-->>API: openid, session_key API->>API: 生成 JWT Token API-->>WX: {token, userInfo} WX->>U: 登录成功,显示用户信息
🎮 游客登录流程
sequenceDiagram participant U as 用户 participant WX as 微信小程序 participant API as 游戏后端 U->>WX: 点击"游客试玩" WX->>API: POST /api/game/auth/guest API->>API: 生成 UUID 临时标识 API->>API: 创建游客用户记录 API->>API: 生成临时 Token (7天有效) API-->>WX: {token, isGuest: true} WX->>U: 登录成功,提示绑定手机
💰 充值业务流程
sequenceDiagram participant U as 用户 participant WX as 微信小程序 participant API as 游戏后端 participant WXP as 微信支付 participant DB as 数据库 U->>WX: 选择充值档位 WX->>API: POST /api/game/wallet/recharge/create-order API->>DB: 创建待支付订单 API-->>WX: 微信支付参数 WX->>WXP: 调起微信支付 WXP-->>WX: 支付结果 alt 支付成功 WX->>API: 支付回调通知 API->>WXP: 验证签名 API->>DB: 更新订单状态=已支付 API->>DB: 增加用户游戏币余额 API-->>WX: 回调确认 WX->>U: 显示"充值成功" else 支付失败 WX->>U: 显示"支付失败,请重试" end
🛒 游戏币消费流程
sequenceDiagram participant U as 用户 participant WX as 微信小程序 participant API as 游戏后端 participant DB as 数据库 U->>WX: 选择道具发起购买 WX->>API: POST /api/game/wallet/consume API->>DB: 查询余额 alt 余额充足 API->>DB: 扣减游戏币 API->>DB: 记录消费流水 API-->>WX: 消费成功 WX->>U: 道具发放成功 else 余额不足 API-->>WX: 余额不足错误 WX->>U: 提示充值 end
💾 存档保存流程
sequenceDiagram participant U as 用户 participant WX as 微信小程序 participant API as 游戏后端 participant DB as 数据库 U->>WX: 触发存档保存 WX->>API: POST /api/game/save/{game_id} API->>DB: 查询现有存档 alt 槽位已有存档 API->>DB: 覆盖存档数据 API-->>WX: 保存成功 else 新存档 API->>DB: 插入新存档记录 API-->>WX: 保存成功 end WX->>U: 显示存档成功