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

5.0 KiB
Raw Blame History

账号管理接口

接口标准

  • HTTP 入口:/api/account/{controller}/{action}
  • 登录接口无需令牌;/api/account/auth/* 需要 Authorization: Bearer <JWT>
  • 返回格式以 JSON 为主,微信网页授权脚本接口返回 JavaScript
  • HTTP 状态码固定返回 200
  • code 统一使用常见业务状态语义:200 成功、401 未认证/登录超时、403 已认证但无权限或账号被禁用、404 资源不存在、500 服务端异常
{
  "code": 200, // 业务状态码
  "info": "ok", // 提示信息
  "data": {}, // 业务数据
  "error": "", // 可选401/403 等鉴权异常时返回稳定错误标识
  "token": "jwt" // 登录成功或续签时返回,可选
}

接口列表

/api/account/login/in

  • 说明:通过手机号 + 短信验证码登录
{
  "type": "wap", // 终端类型,如 `wap`、`wechat`、`wxapp`
  "phone": "13800000000", // 登录手机号
  "verify": "123456" // 短信验证码
}

/api/account/login/auto

  • 说明:通过加密授权码自动登录
{
  "code": "ENCODED_CODE" // 自动登录授权码
}

/api/account/login/pass

  • 说明:通过密码登录
{
  "type": "wap", // 终端类型
  "phone": "13800000000", // 登录手机号
  "password": "******", // 登录密码
  "uniqid": "slider-id", // 拼图验证码实例编号
  "verify": "123" // 拼图校验结果或滑块位置
}

/api/account/login/forget

  • 说明:短信找回密码
{
  "type": "wap", // 终端类型
  "phone": "13800000000", // 登录手机号
  "verify": "123456", // 找回密码短信验证码
  "passwd": "******" // 新密码
}

/api/account/login/register

  • 说明:注册并绑定账号
{
  "type": "wap", // 终端类型
  "phone": "13800000000", // 注册手机号
  "verify": "123456", // 注册短信验证码
  "passwd": "******", // 登录密码
  "fphone": "13800000001" // 可选,邀请人手机号
}

/api/account/login/send

  • 说明:发送短信验证码
{
  "phone": "13800000000", // 接收验证码的手机号
  "type": "login", // 验证码场景或终端类型
  "uniqid": "slider-id", // 拼图验证码实例编号
  "verify": "123" // 拼图校验结果或滑块位置
}

/api/account/login/image

  • 说明:生成拼图验证码
{}

/api/account/login/verify

  • 说明:实时校验拼图结果
{
  "uniqid": "slider-id", // 拼图验证码实例编号
  "verify": "123" // 拼图校验结果或滑块位置
}

/api/account/auth/center/get

  • 说明:获取当前账号资料
{}

/api/account/auth/center/set

  • 说明:修改当前账号资料
{
  "headimg": "https://example.com/a.png", // 头像地址或待转存图片
  "nickname": "张三", // 昵称
  "password": "******", // 可选,新密码
  "region_prov": "浙江省", // 省份
  "region_city": "杭州市", // 城市
  "region_area": "西湖区" // 区县
}

/api/account/auth/center/forbid

  • 说明:注销当前账号
{}

/api/account/auth/center/bind

  • 说明:绑定主账号
{
  "phone": "13800000000", // 目标主账号手机号
  "verify": "123456", // 短信验证码
  "passwd": "******" // 可选,绑定后同步设置的新密码
}

/api/account/auth/center/unbind

  • 说明:解除当前账号关联
{}

/api/account/wxapp/session

  • 说明:小程序 code 换取会话信息
{
  "code": "wxapp-code" // 小程序登录 code
}

/api/account/wxapp/decode

  • 说明:解密小程序数据
{
  "code": "wxapp-code", // 小程序登录 code
  "encrypted": "ENCRYPTED_DATA", // 微信加密数据
  "iv": "INITIAL_VECTOR" // 解密向量
}

/api/account/wxapp/phone

  • 说明:快速换取手机号
{
  "code": "wxapp-code", // 小程序登录 code
  "openid": "openid" // 当前小程序用户 openid
}

/api/account/wxapp/qrcode

  • 说明:生成小程序码
{
  "path": "pages/index/index", // 小程序页面路径
  "size": 430, // 二维码尺寸
  "type": "wap" // 业务类型或终端类型
}

/api/account/wxapp/getLiveList

  • 说明:获取直播间列表
{
  "start": 0, // 起始偏移量
  "limit": 10 // 返回条数
}

/api/account/wxapp/getLiveInfo

  • 说明:获取直播回放信息
{
  "room_id": 1000, // 直播间编号
  "start": 0, // 起始偏移量
  "limit": 10, // 返回条数
  "action": "replay" // 查询动作或回放类型
}

/api/account/wechat/jssdk

  • 说明:生成微信网页签名脚本数据
{
  "source": "https://example.com/page" // 可选,当前网页地址;默认从 Referer 推断
}

/api/account/wechat/oauth

  • 说明:输出微信网页授权脚本
{
  "mode": 0, // 授权模式0 静默授权1 完整授权
  "source": "https://example.com/page" // 可选,授权完成后的回跳地址
}