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

221 lines
3.9 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/wechat-client/{controller}/{action}`
- 返回类型不完全统一:授权脚本返回 JavaScript测试二维码接口可能返回图片/HTML其余接口以 JSON 为主
- 支付通知、微信消息推送属于第三方回调接口,不要求业务 Bearer JWT
- HTTP 状态码固定返回 `200`
- `code` 统一使用常见业务状态语义:`200` 成功、`401` 未认证、`403` 无权限、`404` 资源不存在、`500` 服务端异常
```jsonc
{
"code": 200, // 业务状态码
"info": "ok", // 提示信息
"error": "", // 可选401/403 等鉴权异常时返回稳定错误标识
"data": {} // 业务数据
}
```
## 接口列表
### `/api/wechat-client/login/qrc`
- 说明:生成公众号登录二维码
```jsonc
{
"mode": 1 // 登录模式或授权模式
}
```
### `/api/wechat-client/login/oauth`
- 说明:公众号 OAuth 登录处理
```jsonc
{
"auth": "AUTH_CODE", // 微信回调授权码
"mode": 1 // 授权模式
}
```
### `/api/wechat-client/login/query`
- 说明:查询授权登录结果
```jsonc
{
"code": "LOGIN_CODE" // 登录过程中的查询码
}
```
### `/api/wechat-client/js/index`
- 说明:输出网页授权 JS 内容
```jsonc
{
"mode": 1 // 授权模式,默认 1
}
```
### `/api/wechat-client/js/sdk`
- 说明:为指定页面生成 JSSDK 签名参数
```jsonc
{
"url": "https://example.com/page" // 需要签名的页面完整地址
}
```
### `/api/wechat-client/test/jsapiQrc`
- 说明:生成 JSAPI 支付二维码测试页
```jsonc
{}
```
### `/api/wechat-client/test/oauthQrc`
- 说明:生成网页授权二维码测试页
```jsonc
{}
```
### `/api/wechat-client/test/jssdkQrc`
- 说明:生成 JSSDK 二维码测试页
```jsonc
{}
```
### `/api/wechat-client/test/scanOneQrc`
- 说明:生成扫码支付模式一测试二维码
```jsonc
{}
```
### `/api/wechat-client/test/scanTwoQrc`
- 说明:生成扫码支付模式二测试二维码
```jsonc
{}
```
### `/api/wechat-client/test/oauth`
- 说明:网页授权测试入口
```jsonc
{}
```
### `/api/wechat-client/test/jssdk`
- 说明JSSDK 测试入口
```jsonc
{}
```
### `/api/wechat-client/test/scanOneNotify`
- 说明:扫码支付模式一通知测试入口
```jsonc
{}
```
### `/api/wechat-client/test/jsapi`
- 说明:微信 JSAPI 支付测试入口
```jsonc
{}
```
### `/api/wechat-client/test/notify`
- 说明:支付通知测试入口
```jsonc
{}
```
### `/api/wechat-client/view/news`
- 说明:展示图文消息列表
```jsonc
{
"id": 1 // 图文素材 ID
}
```
### `/api/wechat-client/view/item`
- 说明:展示单篇图文内容
```jsonc
{
"id": 1 // 图文素材 ID
}
```
### `/api/wechat-client/view/text`
- 说明:展示文本消息
```jsonc
{
"content": "hello" // 文本内容
}
```
### `/api/wechat-client/view/image`
- 说明:展示图片消息
```jsonc
{
"content": "https://example.com/image.png" // 图片地址
}
```
### `/api/wechat-client/view/video`
- 说明:展示视频消息
```jsonc
{
"title": "视频标题", // 视频标题
"url": "https://example.com/video.mp4" // 视频地址
}
```
### `/api/wechat-client/view/voice`
- 说明:展示语音消息
```jsonc
{
"url": "https://example.com/voice.mp3" // 语音地址
}
```
### `/api/wechat-client/view/music`
- 说明:展示音乐消息
```jsonc
{
"title": "歌曲标题", // 音乐标题
"desc": "歌曲描述", // 音乐描述
"url": "https://example.com/music.mp3" // 音乐地址
}
```
### `/api/wechat-client/push/geoip`
- 说明:获取当前请求出口 IP
```jsonc
{}
```
### `/api/wechat-client/push/index`
- 说明:微信公众号消息与事件推送回调
```jsonc
{
"appid": "", // 第三方平台模式下可传公众号 appid
"openid": "", // 第三方平台模式下可传用户 openid
"encrypt": 0, // 第三方平台模式下是否加密0 否1 是
"params": "{}" // 第三方平台模式下的消息体 JSON
}
```