|
@@ -779,9 +779,9 @@ const FIELD_DESC = {
|
|
|
['createTime', 'DateTime', '创建时间'],
|
|
['createTime', 'DateTime', '创建时间'],
|
|
|
['shareTitle', 'String', '分享标题'],
|
|
['shareTitle', 'String', '分享标题'],
|
|
|
['shareDescription', 'String', '分享描述'],
|
|
['shareDescription', 'String', '分享描述'],
|
|
|
- ['copyText', 'String', '一键复制文本'],
|
|
|
|
|
|
|
+ ['copyText', 'String', '一键复制文本(格式:我是{昵称},在这里发现了一个药店采购神器——{appName}!...下载链接{inviteLink})'],
|
|
|
['rewardDescription', 'String', '奖励说明'],
|
|
['rewardDescription', 'String', '奖励说明'],
|
|
|
- ['downloadUrl', 'String', '下载链接(与 inviteLink 一致,访问后根据设备自动重定向到对应安装包)']
|
|
|
|
|
|
|
+ ['downloadUrl', 'String', '下载链接(与 inviteLink 一致,访问 /api/invite/{code} 服务端按设备流式返回安装包)']
|
|
|
],
|
|
],
|
|
|
'myInviter': [
|
|
'myInviter': [
|
|
|
['invited', 'Boolean', '是否被邀请过'],
|
|
['invited', 'Boolean', '是否被邀请过'],
|
|
@@ -824,7 +824,7 @@ const FIELD_DESC = {
|
|
|
['appName', 'String', '应用名称'],
|
|
['appName', 'String', '应用名称'],
|
|
|
['landingTitle', 'String', '落地页标题'],
|
|
['landingTitle', 'String', '落地页标题'],
|
|
|
['landingDesc', 'String', '落地页描述'],
|
|
['landingDesc', 'String', '落地页描述'],
|
|
|
- ['appDownloadUrl', 'String', 'Windows下载入口URL(channel=windows/app),访问 /api/invite/{code} 会根据设备自动重定向到对应安装包'],
|
|
|
|
|
|
|
+ ['appDownloadUrl', 'String', 'Windows下载入口URL(channel=windows/app),访问 /api/invite/{code} 会根据设备流式返回对应安装包'],
|
|
|
['miniappPath', 'String', '小程序路径'],
|
|
['miniappPath', 'String', '小程序路径'],
|
|
|
['miniappAppId', 'String', '小程序AppID'],
|
|
['miniappAppId', 'String', '小程序AppID'],
|
|
|
['wechatRedirectUrl', 'String', '微信跳转URL'],
|
|
['wechatRedirectUrl', 'String', '微信跳转URL'],
|
|
@@ -1270,7 +1270,7 @@ function renderInviteModule() {
|
|
|
[{label:'邀请码(code)', name:'code', placeholder:'输入邀请码', default:''},
|
|
[{label:'邀请码(code)', name:'code', placeholder:'输入邀请码', default:''},
|
|
|
{label:'渠道(channel)', name:'channel', placeholder:'windows/app/wechat/miniapp/dingtalk/feishu', default:'windows'}], true, 'invitePage', '浏览器打开邀请链接时展示的落地页数据,默认渠道为windows(Windows桌面客户端)')}
|
|
{label:'渠道(channel)', name:'channel', placeholder:'windows/app/wechat/miniapp/dingtalk/feishu', default:'windows'}], true, 'invitePage', '浏览器打开邀请链接时展示的落地页数据,默认渠道为windows(Windows桌面客户端)')}
|
|
|
${testSection('invite-link-entry', '邀请链接入口(直接下载)', 'GET', 'get', '/api/invite/{code}', '公开', 'auth-public',
|
|
${testSection('invite-link-entry', '邀请链接入口(直接下载)', 'GET', 'get', '/api/invite/{code}', '公开', 'auth-public',
|
|
|
- [{label:'邀请码(code)', name:'code', placeholder:'输入邀请码', default:''}], true, 'invitePage', '浏览器直接访问邀请链接,根据User-Agent自动重定向到对应桌面客户端安装包(Windows x64 -> .exe / macOS ARM64 -> .dmg),并自动计入点击数')}
|
|
|
|
|
|
|
+ [{label:'邀请码(code)', name:'code', placeholder:'输入邀请码', default:''}], true, 'invitePage', '浏览器直接访问邀请链接,服务端根据 User-Agent 流式返回对应桌面客户端安装包(Windows x64 -> .exe / macOS ARM64 -> .dmg),响应头 Content-Disposition: attachment,并自动计入点击数')}
|
|
|
${testSection('invite-click', '点击追踪', 'POST', 'post', '/api/invite/click/{code}', '公开', 'auth-public',
|
|
${testSection('invite-click', '点击追踪', 'POST', 'post', '/api/invite/click/{code}', '公开', 'auth-public',
|
|
|
[{label:'邀请码(code)', name:'code', placeholder:'输入邀请码', default:''}], false, null, '追踪邀请链接被打开事件')}
|
|
[{label:'邀请码(code)', name:'code', placeholder:'输入邀请码', default:''}], false, null, '追踪邀请链接被打开事件')}
|
|
|
${testSection('invite-resolve', '解析链接', 'GET', 'get', '/api/invite/resolve-link?link=', '公开', 'auth-public',
|
|
${testSection('invite-resolve', '解析链接', 'GET', 'get', '/api/invite/resolve-link?link=', '公开', 'auth-public',
|
|
@@ -1308,7 +1308,10 @@ function renderPaymentModule() {
|
|
|
[{label:'方案ID(planId)', name:'planId', placeholder:'1', default:'1'},
|
|
[{label:'方案ID(planId)', name:'planId', placeholder:'1', default:'1'},
|
|
|
{label:'支付渠道(channel)', name:'channel', placeholder:'WECHAT/ALIPAY', default:'WECHAT'}], true, null, '创建支付订单,微信返回二维码(qrCodeBase64)供扫码支付,支付宝通过alipay.trade.precreate返回qr_code,前端自定义弹窗展示二维码并自动轮询支付状态。15分钟内未付款订单自动过期')}
|
|
{label:'支付渠道(channel)', name:'channel', placeholder:'WECHAT/ALIPAY', default:'WECHAT'}], true, null, '创建支付订单,微信返回二维码(qrCodeBase64)供扫码支付,支付宝通过alipay.trade.precreate返回qr_code,前端自定义弹窗展示二维码并自动轮询支付状态。15分钟内未付款订单自动过期')}
|
|
|
${testSection('payment-query-order', '查询订单', 'GET', 'get', '/api/payment/order/{orderNo}', '需认证', 'auth-required',
|
|
${testSection('payment-query-order', '查询订单', 'GET', 'get', '/api/payment/order/{orderNo}', '需认证', 'auth-required',
|
|
|
- [{label:'订单号(orderNo)', name:'orderNo', placeholder:'OP...', default:''}], true, null, '根据订单号查询支付订单详情,响应中expireHint含过期提示')}
|
|
|
|
|
|
|
+ [{label:'订单号(orderNo)', name:'orderNo', placeholder:'OP...', default:''}], true, null, '根据订单号查询支付订单详情,待支付订单会返回当前渠道二维码qrCodeBase64和payUrl')}
|
|
|
|
|
+ ${testSection('payment-switch-channel', '切换支付渠道', 'POST', 'post', '/api/payment/order/{orderNo}/switch-channel', '需认证', 'auth-required',
|
|
|
|
|
+ [{label:'订单号(orderNo)', name:'orderNo', placeholder:'OP...', default:''},
|
|
|
|
|
+ {label:'新渠道(channel)', name:'channel', placeholder:'WECHAT/ALIPAY', default:'ALIPAY'}], true, null, '订单详情页切换支付渠道,不关闭原渠道订单,重新生成新渠道二维码。15分钟内原渠道二维码仍有效,以第一个支付成功渠道为准')}
|
|
|
${testSection('payment-orders', '我的订单列表', 'GET', 'get', '/api/payment/orders', '需认证', 'auth-required', null, true, null, '查询当前用户的所有支付订单,待支付订单含expireHint过期提示')}
|
|
${testSection('payment-orders', '我的订单列表', 'GET', 'get', '/api/payment/orders', '需认证', 'auth-required', null, true, null, '查询当前用户的所有支付订单,待支付订单含expireHint过期提示')}
|
|
|
${testSection('payment-mock-pay', '手动确认支付', 'POST', 'post', '/api/payment/order/{orderNo}/pay', '需认证', 'auth-required',
|
|
${testSection('payment-mock-pay', '手动确认支付', 'POST', 'post', '/api/payment/order/{orderNo}/pay', '需认证', 'auth-required',
|
|
|
[{label:'订单号(orderNo)', name:'orderNo', placeholder:'OP...', default:''}], false, null, '开发测试用。mock模式=模拟支付自动激活会员;真实支付模式=手动确认支付(不实际扣款,用于测试回调流程)。需在15分钟过期前操作')}
|
|
[{label:'订单号(orderNo)', name:'orderNo', placeholder:'OP...', default:''}], false, null, '开发测试用。mock模式=模拟支付自动激活会员;真实支付模式=手动确认支付(不实际扣款,用于测试回调流程)。需在15分钟过期前操作')}
|