Anyon e634118a22 refactor(plugin): 迁移 v8 插件化组件体系
将 v6 中直接放在本地 app 的后台与微信能力迁移为 v8 插件组件,并把运行时基础能力沉淀到独立插件包。

主要内容:

- 新增 think-library、system、worker、static、install 等基础插件包。

- 新增 account、payment、wechat-client、wechat-service、wemall、wuma 等业务插件包。

- 移除 v6 的 app/admin 与 app/wechat 本地应用实现,改由插件分发接管。

- 将 Helper 能力彻底并入 System,统一为 plugin\system\helper\* 命名空间。

- 同步插件迁移发布清单与根 route 占位,保证安装发布流程可复现。
2026-05-08 15:30:46 +08:00

236 lines
5.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 账号管理接口
## 接口标准
- HTTP 入口:`/api/account/{controller}/{action}`
- 登录接口无需令牌;`/api/account/auth/*` 需要 `Authorization: Bearer <JWT>`
- 返回格式以 JSON 为主,微信网页授权脚本接口返回 JavaScript
- HTTP 状态码固定返回 `200`
- `code` 统一使用常见业务状态语义:`200` 成功、`401` 未认证/登录超时、`403` 已认证但无权限或账号被禁用、`404` 资源不存在、`500` 服务端异常
```jsonc
{
"code": 200, // 业务状态码
"info": "ok", // 提示信息
"data": {}, // 业务数据
"error": "", // 可选401/403 等鉴权异常时返回稳定错误标识
"token": "jwt" // 登录成功或续签时返回,可选
}
```
## 接口列表
### `/api/account/login/in`
- 说明:通过手机号 + 短信验证码登录
```jsonc
{
"type": "wap", // 终端类型,如 `wap`、`wechat`、`wxapp`
"phone": "13800000000", // 登录手机号
"verify": "123456" // 短信验证码
}
```
### `/api/account/login/auto`
- 说明:通过加密授权码自动登录
```jsonc
{
"code": "ENCODED_CODE" // 自动登录授权码
}
```
### `/api/account/login/pass`
- 说明:通过密码登录
```jsonc
{
"type": "wap", // 终端类型
"phone": "13800000000", // 登录手机号
"password": "******", // 登录密码
"uniqid": "slider-id", // 拼图验证码实例编号
"verify": "123" // 拼图校验结果或滑块位置
}
```
### `/api/account/login/forget`
- 说明:短信找回密码
```jsonc
{
"type": "wap", // 终端类型
"phone": "13800000000", // 登录手机号
"verify": "123456", // 找回密码短信验证码
"passwd": "******" // 新密码
}
```
### `/api/account/login/register`
- 说明:注册并绑定账号
```jsonc
{
"type": "wap", // 终端类型
"phone": "13800000000", // 注册手机号
"verify": "123456", // 注册短信验证码
"passwd": "******", // 登录密码
"fphone": "13800000001" // 可选,邀请人手机号
}
```
### `/api/account/login/send`
- 说明:发送短信验证码
```jsonc
{
"phone": "13800000000", // 接收验证码的手机号
"type": "login", // 验证码场景或终端类型
"uniqid": "slider-id", // 拼图验证码实例编号
"verify": "123" // 拼图校验结果或滑块位置
}
```
### `/api/account/login/image`
- 说明:生成拼图验证码
```jsonc
{}
```
### `/api/account/login/verify`
- 说明:实时校验拼图结果
```jsonc
{
"uniqid": "slider-id", // 拼图验证码实例编号
"verify": "123" // 拼图校验结果或滑块位置
}
```
### `/api/account/auth/center/get`
- 说明:获取当前账号资料
```jsonc
{}
```
### `/api/account/auth/center/set`
- 说明:修改当前账号资料
```jsonc
{
"headimg": "https://example.com/a.png", // 头像地址或待转存图片
"nickname": "张三", // 昵称
"password": "******", // 可选,新密码
"region_prov": "浙江省", // 省份
"region_city": "杭州市", // 城市
"region_area": "西湖区" // 区县
}
```
### `/api/account/auth/center/forbid`
- 说明:注销当前账号
```jsonc
{}
```
### `/api/account/auth/center/bind`
- 说明:绑定主账号
```jsonc
{
"phone": "13800000000", // 目标主账号手机号
"verify": "123456", // 短信验证码
"passwd": "******" // 可选,绑定后同步设置的新密码
}
```
### `/api/account/auth/center/unbind`
- 说明:解除当前账号关联
```jsonc
{}
```
### `/api/account/wxapp/session`
- 说明:小程序 `code` 换取会话信息
```jsonc
{
"code": "wxapp-code" // 小程序登录 code
}
```
### `/api/account/wxapp/decode`
- 说明:解密小程序数据
```jsonc
{
"code": "wxapp-code", // 小程序登录 code
"encrypted": "ENCRYPTED_DATA", // 微信加密数据
"iv": "INITIAL_VECTOR" // 解密向量
}
```
### `/api/account/wxapp/phone`
- 说明:快速换取手机号
```jsonc
{
"code": "wxapp-code", // 小程序登录 code
"openid": "openid" // 当前小程序用户 openid
}
```
### `/api/account/wxapp/qrcode`
- 说明:生成小程序码
```jsonc
{
"path": "pages/index/index", // 小程序页面路径
"size": 430, // 二维码尺寸
"type": "wap" // 业务类型或终端类型
}
```
### `/api/account/wxapp/getLiveList`
- 说明:获取直播间列表
```jsonc
{
"start": 0, // 起始偏移量
"limit": 10 // 返回条数
}
```
### `/api/account/wxapp/getLiveInfo`
- 说明:获取直播回放信息
```jsonc
{
"room_id": 1000, // 直播间编号
"start": 0, // 起始偏移量
"limit": 10, // 返回条数
"action": "replay" // 查询动作或回放类型
}
```
### `/api/account/wechat/jssdk`
- 说明:生成微信网页签名脚本数据
```jsonc
{
"source": "https://example.com/page" // 可选,当前网页地址;默认从 Referer 推断
}
```
### `/api/account/wechat/oauth`
- 说明:输出微信网页授权脚本
```jsonc
{
"mode": 0, // 授权模式0 静默授权1 完整授权
"source": "https://example.com/page" // 可选,授权完成后的回跳地址
}
```