juhecli-wx-app 个微应用授权
SKILL: juhecli-wx-app — 微信个微应用授权和小程序相关操作,包括 A8Key 授权、JS 登录、OAuth 授权、小程序短链等功能
使用案例
获取小程序短链JS 登录授权
获取网页授权
获取网页授权所需的 a8key 凭证
>帮我获取网页授权凭证 https://example.com/auth
// Agent 调用 wx app get_a8key 获取授权凭证
$juhe-cli wx app get_a8key '{"req_url": "https://example.com/auth", "scene": 1}'
{
"a8key": "ak_x9f2k8m3",
"status": 0,
"expire_time": 1713200000
}
创建小程序短链
为小程序页面创建可分享的短链接
>为小程序首页生成一个短链,appid 是 wx123456
// Agent 调用 wx app create_wxa_short_link 创建短链
$juhe-cli wx app create_wxa_short_link '{"appid": "wx123456", "page_path": "pages/index", "page_title": "首页"}'
{
"short_link": "https://wxaurl.cn/abc123def",
"status": 0,
"expire_time": 1715800000
}
概述
个微应用授权 SKILL 由 juhecli-wx-app 提供,支持微信应用授权和小程序相关的完整功能。 包括 A8Key 授权获取、JS 登录操作、OAuth 授权流程、扫码授权、小程序短链创建和解析等 12 个命令。 适用于需要集成微信登录、微信授权、小程序链接分享等场景。
应用授权操作通常涉及多个步骤的流程,如 OAuth 授权需要先发起授权再确认授权, 使用时需按照正确的流程顺序操作。
SKILL 包
| SKILL 名称 | 说明 |
|---|---|
juhecli-wx-app | 个微应用授权 - a8key/JS登录/OAuth授权/小程序短链操作 |
触发方式
当用户提出以下意图时,Agent 应激活此 SKILL:
- "获取网页授权" / "获取 A8Key" / "网页授权凭证"
- "OAuth 授权" / "完成微信授权" / "授权登录"
- "扫码授权" / "扫码登录"
- "JS 登录" / "JS 操作微信数据"
- "创建小程序链接" / "生成小程序短链"
- "解析小程序短链" / "这个短链指向哪里"
详细说明
A8Key 授权
获取网页 a8key
获取网页授权所需的 a8key 凭证,用于后续网页操作。
bash
wx app get_a8key '{"req_url": "https://example.com", "scene": 1, "client_version": 0, "device_type": ""}'参数:
req_url(string, 必填) — 请求 URL[用户提供]scene(int, 可选) — 场景值,默认 1client_version(int, 可选) — 客户端版本device_type(string, 可选) — 设备类型
返回值:
- a8key 授权凭证,用于后续的网页授权操作
获取公众号 a8key
bash
wx app mp_get_a8key '{"req_url": "https://example.com", "scene": 1, "client_version": 0, "device_type": ""}'JS 操作
JS 登录
通过 JS 接口进行扫码登录。
bash
wx app js_login '{"appid": "wx1234567890"}'参数:
appid(string, 必填) — 应用 appid[用户提供]
JS 操作微信数据
bash
wx app js_operate_wxdata '{"appid": "wx123", "data": "{}", "grant_scope": ""}'参数:
appid(string, 必填) — 应用 appid[用户提供]data(string, 必填) — 操作数据 JSON[用户提供]grant_scope(string, 可选) — 授权范围
JS 操作微信数据(VIP)
bash
wx app js_operate_wxdata_vip '{"appid": "wx123", "data": "{}", "grant_scope": ""}'OAuth 授权
发起 OAuth 授权
bash
wx app oauth_authorize '{"url": "https://example.com", "username": "wxid_xxx", "scene": 7}'参数:
url(string, 必填) — 授权 URL[用户提供]username(string, 可选) — 用户 usernamescene(int, 可选) — 场景值,默认 7
确认 OAuth 授权
bash
wx app oauth_authorize_confirm '{"url": "https://example.com", "scope": ["snsapi_userinfo"], "avatar_id": 0, "opt": 1}'参数:
url(string, 必填) — 授权 URL[用户提供]scope(array, 可选) — 授权范围列表,如 ["snsapi_userinfo"]avatar_id(int, 可选) — 头像 IDopt(int, 可选) — 操作类型,默认 1
OAuth 授权流程需要两步:先调用
oauth_authorize 发起授权, 然后调用 oauth_authorize_confirm 确认授权。扫码授权
发起扫码授权
bash
wx app qrconnect_authorize '{"url": "https://example.com", "username": "wxid_xxx", "scene": 7}'确认扫码授权
bash
wx app qrconnect_authorize_confirm '{"url": "https://example.com", "scope": ["snsapi_login"], "avatar_id": 0, "opt": 1}'扫码授权同样需要两步:先调用
qrconnect_authorize 发起扫码授权, 用户扫码后调用 qrconnect_authorize_confirm 确认授权。小程序链接
创建小程序短链
bash
wx app create_wxa_short_link '{"appid": "wx123", "page_path": "pages/index", "page_title": "首页"}'参数:
appid(string, 必填) — 小程序 appid[用户提供]page_path(string, 必填) — 页面路径[用户提供]page_title(string, 可选) — 页面标题[用户提供]
返回值:
- 小程序短链 URL,可直接分享到微信
解析小程序短链
bash
wx app resolve_wxa_short_link '{"short_link": "https://wxaurl.cn/xxx"}'参数:
short_link(string, 必填) — 小程序短链[用户提供]
返回值:
- 原始小程序信息(appid、page_path 等)
解析 App 短链
bash
wx app resolve_wxa_app_short_link '{"short_link": "https://wxaurl.cn/xxx"}'参数来源说明
| 参数 | 来源标记 | 获取方式 |
|---|---|---|
req_url | [用户提供] | 用户提供需要授权的网页 URL |
appid | [用户提供] | 用户提供应用或小程序的 appid |
url | [用户提供] | 用户提供授权 URL |
data | [用户提供] | 用户提供操作数据 JSON |
page_path | [用户提供] | 用户提供小程序页面路径 |
short_link | [用户提供] | 用户提供需要解析的短链 |
username | [需查询] | 通过 db contact search 查询获取 |
典型工作流
网页授权流程
wx app get_a8key— 获取网页授权凭证- 使用凭证进行后续网页操作
OAuth 授权流程
wx app oauth_authorize— 发起授权请求- 用户确认授权
wx app oauth_authorize_confirm— 确认授权,完成流程
扫码授权流程
wx app qrconnect_authorize— 发起扫码授权- 用户扫码
wx app qrconnect_authorize_confirm— 确认扫码授权
JS 登录流程
wx app js_login— 使用 appid 进行 JS 登录- 获取登录凭证进行后续操作
小程序短链创建与分享
wx app create_wxa_short_link— 创建短链- 将短链分享到微信或嵌入消息
小程序短链解析
- 获取小程序短链
wx app resolve_wxa_short_link— 解析获取原始信息- 根据解析结果进行后续操作
AI Agent 调用示例
wx app get_a8key
text
// 用户:帮我获取网页授权凭证 https://example.com/auth
AI: 好的,我来获取授权凭证。
[调用 wx app get_a8key {"req_url":"https://example.com/auth","scene":1}]
AI: 授权凭证获取成功!a8key: xxxxx,可用于后续网页操作。wx app oauth_authorize + confirm
text
// 用户:帮我完成 OAuth 授权 https://example.com/oauth
AI: 好的,我来执行 OAuth 授权流程。
[步骤 1: 发起授权]
[调用 wx app oauth_authorize {"url":"https://example.com/oauth","scene":7}]
→ 授权请求已发起
[步骤 2: 确认授权]
[调用 wx app oauth_authorize_confirm {"url":"https://example.com/oauth","scope":["snsapi_userinfo"],"opt":1}]
→ 授权成功
AI: OAuth 授权流程已完成!wx app create_wxa_short_link + resolve
text
// 用户:创建小程序短链,appid 是 wx123456,页面是 pages/index,标题"首页"
AI: 好的,我来创建短链。
[调用 wx app create_wxa_short_link {"appid":"wx123456","page_path":"pages/index","page_title":"首页"}]
AI: 短链创建成功!链接: https://wxaurl.cn/abc123,可以分享到微信。
// 用户:解析这个短链 https://wxaurl.cn/abc123
AI: 好的,我来解析。
[调用 wx app resolve_wxa_short_link {"short_link":"https://wxaurl.cn/abc123"}]
AI: 解析成功!
- appid: wx123456
- 页面路径: pages/index
- 页面标题: 首页wx app js_login
text
// 用户:用 appid wx1234567890 进行 JS 登录
AI: 好的,我来执行 JS 登录。
[调用 wx app js_login {"appid":"wx1234567890"}]
AI: JS 登录成功!已获取登录凭证。完整工作流:OAuth 授权访问用户信息
text
// 用户:帮我用 OAuth 授权访问微信用户信息
AI: 好的,我来完成完整的 OAuth 授权流程。请提供授权 URL。
用户: https://myapp.com/wechat/auth
[步骤 1: 获取 a8key]
[调用 wx app get_a8key {"req_url":"https://myapp.com/wechat/auth","scene":1}]
→ a8key: "ak_xxx"
[步骤 2: 发起 OAuth 授权]
[调用 wx app oauth_authorize {"url":"https://myapp.com/wechat/auth","scene":7}]
→ 授权请求已发起
[步骤 3: 确认授权]
[调用 wx app oauth_authorize_confirm {"url":"https://myapp.com/wechat/auth","scope":["snsapi_userinfo"],"avatar_id":0,"opt":1}]
→ 授权完成,获取到用户信息访问权限
AI: OAuth 授权流程完成!已获取 snsapi_userinfo 权限,可以访问用户信息。错误处理
- appid 无效:返回应用不存在错误,请检查 appid 是否正确
- URL 格式错误:返回参数错误,请检查 URL 格式是否合法
- 授权超时:授权请求超时,需重新发起授权
- 用户拒绝授权:确认步骤返回失败,用户取消了授权
- 短链解析失败:检查短链是否有效、是否已过期
- scene 参数错误:检查 scene 值是否符合微信文档要求
应用授权操作涉及用户隐私和权限,请确保在使用前获得用户明确授权, 并遵守微信平台的使用规范。所有授权操作应有明确的用户意图,不可未经用户同意擅自操作。