diff --git a/apps/daxpay-admin/src/api/payment/develop/developAuth.api.ts b/apps/daxpay-admin/src/api/payment/develop/developAuth.api.ts new file mode 100644 index 000000000..c4d0b90cb --- /dev/null +++ b/apps/daxpay-admin/src/api/payment/develop/developAuth.api.ts @@ -0,0 +1,45 @@ +import type { Result } from '#/types/web'; + +import { defHttp } from '#/api/request'; + +/** + * 认证调试 API + */ +export const DevelopAuthApi = { + /** + * 生成支付宝授权链接 + */ + generateAuthUrl(): Promise> { + return defHttp.post({ url: '/admin/develop/auth/generate-auth-url' }); + }, + + /** + * 通过查询码获取认证结果 + */ + queryAuthResult(queryCode: string): Promise> { + return defHttp.get({ + url: '/admin/develop/auth/query-auth-result', + params: { queryCode }, + }); + }, +}; + +/** 授权链接结果 */ +export interface AuthUrlResult { + /** 授权访问链接 */ + authUrl?: string; + /** 查询标识码 */ + queryCode?: string; +} + +/** 认证结果 */ +export interface AuthResult { + /** OpenId */ + openId?: string; + /** 用户ID */ + userId?: string; + /** AccessToken */ + accessToken?: string; + /** 状态 waiting/success/not_exist */ + status?: string; +} diff --git a/apps/daxpay-admin/src/constants/perm-codes.ts b/apps/daxpay-admin/src/constants/perm-codes.ts index 74109eeea..b3c9d42f7 100644 --- a/apps/daxpay-admin/src/constants/perm-codes.ts +++ b/apps/daxpay-admin/src/constants/perm-codes.ts @@ -205,6 +205,10 @@ export const PermCodes = { Sign: { VIEW: 'develop:sign:view', }, + /** 认证调试 menuCode=develop:auth */ + Auth: { + VIEW: 'develop:auth:view', + }, }, /** 设备管理(独立命名空间) */ diff --git a/apps/daxpay-admin/src/locales/langs/en-US/payment/develop.json b/apps/daxpay-admin/src/locales/langs/en-US/payment/develop.json index 16303e752..3e8215d82 100644 --- a/apps/daxpay-admin/src/locales/langs/en-US/payment/develop.json +++ b/apps/daxpay-admin/src/locales/langs/en-US/payment/develop.json @@ -149,5 +149,35 @@ "inputPrivateKey": "Please set the merchant private key first", "copySuccess": "Copied" } + }, + "auth": { + "title": "Channel Auth Debug", + "tag": { + "alipay": "Alipay" + }, + "guide": { + "title": "How to use", + "desc": "Generate an auth link and scan with Alipay app. Results appear automatically (requires platform Alipay config and payment gateway base URL)." + }, + "btn": { + "generate": "Generate Auth Link", + "copy": "Copy" + }, + "qr": { + "tip": "Scan with Alipay to authorize", + "empty": "No QR code yet" + }, + "result": { + "divider": "Auth Result", + "openId": "OpenId", + "userId": "UserId", + "accessToken": "Access Token" + }, + "msg": { + "success": "Auth result received", + "notExist": "Auth result not found or expired", + "copySuccess": "Copied", + "copyFail": "Copy failed" + } } } diff --git a/apps/daxpay-admin/src/locales/langs/zh-CN/payment/develop.json b/apps/daxpay-admin/src/locales/langs/zh-CN/payment/develop.json index 81cddd5dd..1ed5efa7f 100644 --- a/apps/daxpay-admin/src/locales/langs/zh-CN/payment/develop.json +++ b/apps/daxpay-admin/src/locales/langs/zh-CN/payment/develop.json @@ -149,5 +149,35 @@ "inputPrivateKey": "请先设置商户私钥", "copySuccess": "复制成功" } + }, + "auth": { + "title": "渠道授权调试工具", + "tag": { + "alipay": "支付宝" + }, + "guide": { + "title": "使用说明", + "desc": "点击生成授权链接后,使用支付宝 App 扫码完成授权。结果将自动回显(依赖「三方平台管理」中的平台支付宝配置与支付网关前端地址)。" + }, + "btn": { + "generate": "生成授权链接", + "copy": "复制" + }, + "qr": { + "tip": "请使用支付宝扫码授权", + "empty": "暂未生成二维码" + }, + "result": { + "divider": "授权结果", + "openId": "用户标识 (OpenId)", + "userId": "用户ID (UserId)", + "accessToken": "Access Token" + }, + "msg": { + "success": "获取授权结果成功", + "notExist": "获取授权结果失败(查询码不存在或已过期)", + "copySuccess": "复制成功", + "copyFail": "复制失败" + } } } diff --git a/apps/daxpay-admin/src/views/payment/develop/auth/ChannelAuth.vue b/apps/daxpay-admin/src/views/payment/develop/auth/ChannelAuth.vue new file mode 100644 index 000000000..c5988ef9a --- /dev/null +++ b/apps/daxpay-admin/src/views/payment/develop/auth/ChannelAuth.vue @@ -0,0 +1,216 @@ + + + + +