feat: 俱乐部配置页展示 APIv2 mch_key 与 APIv3 api_v3_key 及配置警告
与后端 club-manage 对齐,区分小程序收款密钥与提现转账密钥。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -50,24 +50,47 @@
|
||||
<el-input v-model="form.wx_secret" type="password" show-password placeholder="小程序 Secret" />
|
||||
</el-form-item>
|
||||
|
||||
<el-divider content-position="left">微信支付</el-divider>
|
||||
<el-divider content-position="left">微信支付(同一商户号,V2 收款 / V3 提现 密钥分开配)</el-divider>
|
||||
<el-form-item label="商户号 mch_id">
|
||||
<el-input v-model="form.mch_id" />
|
||||
</el-form-item>
|
||||
<el-form-item label="pay_app_id">
|
||||
<el-input v-model="form.pay_app_id" />
|
||||
<el-input v-model="form.pay_app_id" placeholder="可与 wx_appid 相同,或留空" />
|
||||
</el-form-item>
|
||||
<el-form-item label="api_v3_key">
|
||||
<el-input v-model="form.api_v3_key" type="password" show-password />
|
||||
<el-form-item label="APIv2 密钥 mch_key">
|
||||
<el-input
|
||||
v-model="form.mch_key"
|
||||
type="password"
|
||||
show-password
|
||||
placeholder="小程序 JSAPI 收款(会员/点单/押金等)"
|
||||
/>
|
||||
<div class="field-help">微信商户平台 → API安全 → 设置APIv2密钥。与下方 APIv3 不是同一个。</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="APIv3 密钥 api_v3_key">
|
||||
<el-input
|
||||
v-model="form.api_v3_key"
|
||||
type="password"
|
||||
show-password
|
||||
placeholder="自动提现 / 转账到零钱 / 回调解密"
|
||||
/>
|
||||
<div class="field-help">微信商户平台 → API安全 → 设置APIv3密钥。仅用于提现,不用于小程序收款。</div>
|
||||
</el-form-item>
|
||||
<el-alert
|
||||
v-if="payWarnings.length"
|
||||
type="warning"
|
||||
:closable="false"
|
||||
show-icon
|
||||
class="pay-warn"
|
||||
:title="payWarnings.join(';')"
|
||||
/>
|
||||
<el-form-item label="cert_serial_no">
|
||||
<el-input v-model="form.cert_serial_no" />
|
||||
<el-input v-model="form.cert_serial_no" placeholder="APIv3 商户证书序列号(提现签名用)" />
|
||||
</el-form-item>
|
||||
<el-form-item label="private_key_path">
|
||||
<el-input v-model="form.private_key_path" placeholder="服务器上私钥文件路径" />
|
||||
<el-input v-model="form.private_key_path" placeholder="服务器上 apiclient_key.pem 路径(提现签名用)" />
|
||||
</el-form-item>
|
||||
<el-form-item label="platform_cert_dir">
|
||||
<el-input v-model="form.platform_cert_dir" placeholder="平台证书目录" />
|
||||
<el-input v-model="form.platform_cert_dir" placeholder="微信平台证书目录(提现回调验签用)" />
|
||||
</el-form-item>
|
||||
|
||||
<el-divider content-position="left">服务号</el-divider>
|
||||
@@ -126,12 +149,14 @@ const createForm = reactive({
|
||||
wx_appid: '',
|
||||
from_club: 'xq',
|
||||
})
|
||||
const payWarnings = ref([])
|
||||
const form = reactive({
|
||||
name: '',
|
||||
wx_appid: '',
|
||||
wx_secret: '',
|
||||
mch_id: '',
|
||||
pay_app_id: '',
|
||||
mch_key: '',
|
||||
api_v3_key: '',
|
||||
cert_serial_no: '',
|
||||
private_key_path: '',
|
||||
@@ -173,6 +198,7 @@ const loadClub = async () => {
|
||||
})
|
||||
if (res.code === 0 && res.data) {
|
||||
Object.assign(form, res.data)
|
||||
payWarnings.value = (res.data.pay_config && res.data.pay_config.warnings) || []
|
||||
} else {
|
||||
ElMessage.error(res.msg || '加载失败')
|
||||
}
|
||||
@@ -266,4 +292,13 @@ onMounted(async () => {
|
||||
.config-form {
|
||||
max-width: 720px;
|
||||
}
|
||||
.field-help {
|
||||
font-size: 12px;
|
||||
color: #909399;
|
||||
line-height: 1.5;
|
||||
margin-top: 4px;
|
||||
}
|
||||
.pay-warn {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user