2024-12-22 14:00:46 +08:00
|
|
|
|
<template>
|
|
|
|
|
|
<div class="sys-settings-form sys-settings-payment">
|
|
|
|
|
|
<a-form ref="formRef" :model="formState" :label-col="{ span: 8 }" :wrapper-col="{ span: 16 }" autocomplete="off">
|
|
|
|
|
|
<div>支付方式</div>
|
2025-01-06 22:11:07 +08:00
|
|
|
|
<a-form-item label="彩虹易支付" :name="['yizhifu', 'enabled']" :required="true">
|
2024-12-22 14:00:46 +08:00
|
|
|
|
<a-switch v-model:checked="formState.yizhifu.enabled" />
|
|
|
|
|
|
</a-form-item>
|
|
|
|
|
|
<a-form-item v-if="formState.yizhifu.enabled" label="易支付配置" :name="['yizhifu', 'accessId']" :required="true">
|
|
|
|
|
|
<access-selector v-model="formState.yizhifu.accessId" type="yizhifu" from="sys" />
|
2025-01-06 22:11:07 +08:00
|
|
|
|
<div class="helper">
|
2025-08-25 18:21:38 +08:00
|
|
|
|
<a href="https://certd.docmirror.cn/guide/use/comm/payments/yizhifu.html">彩虹易支付配置帮助文档</a>
|
2025-01-06 22:11:07 +08:00
|
|
|
|
</div>
|
2024-12-22 14:00:46 +08:00
|
|
|
|
</a-form-item>
|
|
|
|
|
|
|
|
|
|
|
|
<a-form-item label="支付宝" :name="['alipay', 'enabled']" :required="true">
|
|
|
|
|
|
<a-switch v-model:checked="formState.alipay.enabled" />
|
|
|
|
|
|
</a-form-item>
|
|
|
|
|
|
<a-form-item v-if="formState.alipay.enabled" label="支付宝配置" :name="['alipay', 'accessId']" :required="true">
|
|
|
|
|
|
<access-selector v-model="formState.alipay.accessId" type="alipay" from="sys" />
|
2025-08-25 18:21:38 +08:00
|
|
|
|
<div class="helper">需要开通电脑网站支付, <a href="https://certd.docmirror.cn/guide/use/comm/payments/alipay.html">支付宝配置帮助文档</a></div>
|
2024-12-22 14:00:46 +08:00
|
|
|
|
</a-form-item>
|
|
|
|
|
|
|
|
|
|
|
|
<a-form-item label="微信支付" :name="['wxpay', 'enabled']" :required="true">
|
|
|
|
|
|
<a-switch v-model:checked="formState.wxpay.enabled" />
|
|
|
|
|
|
</a-form-item>
|
|
|
|
|
|
<a-form-item v-if="formState.wxpay.enabled" label="微信支付配置" :name="['wxpay', 'accessId']" :required="true">
|
|
|
|
|
|
<access-selector v-model="formState.wxpay.accessId" type="wxpay" from="sys" />
|
2025-08-25 18:21:38 +08:00
|
|
|
|
<div class="helper">需要开通Native支付, <a href="https://certd.docmirror.cn/guide/use/comm/payments/wxpay.html">微信配置帮助文档</a></div>
|
2024-12-22 14:00:46 +08:00
|
|
|
|
</a-form-item>
|
|
|
|
|
|
|
2025-03-11 22:25:14 +08:00
|
|
|
|
<a-form-item label=" " :colon="false" :wrapper-col="{ span: 16 }">
|
2024-12-22 14:00:46 +08:00
|
|
|
|
<loading-button type="primary" html-type="button" :click="onClick">保存</loading-button>
|
|
|
|
|
|
</a-form-item>
|
|
|
|
|
|
</a-form>
|
|
|
|
|
|
</div>
|
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
|
|
<script setup lang="tsx">
|
|
|
|
|
|
import { reactive, ref } from "vue";
|
|
|
|
|
|
import { merge } from "lodash-es";
|
|
|
|
|
|
import { notification } from "ant-design-vue";
|
|
|
|
|
|
import { request } from "/@/api/service";
|
|
|
|
|
|
|
|
|
|
|
|
defineOptions({
|
2025-06-29 14:09:09 +08:00
|
|
|
|
name: "SettingPayment",
|
2024-12-22 14:00:46 +08:00
|
|
|
|
});
|
|
|
|
|
|
|
|
|
|
|
|
const api = {
|
|
|
|
|
|
async SettingGet() {
|
|
|
|
|
|
return await request({
|
|
|
|
|
|
url: "/sys/settings/payment/get",
|
2025-06-29 14:09:09 +08:00
|
|
|
|
method: "post",
|
2024-12-22 14:00:46 +08:00
|
|
|
|
});
|
|
|
|
|
|
},
|
|
|
|
|
|
async SettingSave(data: any) {
|
|
|
|
|
|
return await request({
|
|
|
|
|
|
url: "/sys/settings/payment/save",
|
|
|
|
|
|
method: "post",
|
2025-06-29 14:09:09 +08:00
|
|
|
|
data,
|
2024-12-22 14:00:46 +08:00
|
|
|
|
});
|
2025-06-29 14:09:09 +08:00
|
|
|
|
},
|
2024-12-22 14:00:46 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const formRef = ref<any>(null);
|
|
|
|
|
|
type PaymentItem = {
|
|
|
|
|
|
enabled: boolean;
|
|
|
|
|
|
accessId?: number;
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
const formState = reactive<
|
|
|
|
|
|
Partial<{
|
|
|
|
|
|
yizhifu: PaymentItem;
|
|
|
|
|
|
alipay: PaymentItem;
|
|
|
|
|
|
wxpay: PaymentItem;
|
|
|
|
|
|
}>
|
2024-12-24 01:12:12 +08:00
|
|
|
|
>({
|
|
|
|
|
|
yizhifu: { enabled: false },
|
|
|
|
|
|
alipay: { enabled: false },
|
2025-06-29 14:09:09 +08:00
|
|
|
|
wxpay: { enabled: false },
|
2024-12-24 01:12:12 +08:00
|
|
|
|
});
|
2024-12-22 14:00:46 +08:00
|
|
|
|
|
|
|
|
|
|
async function loadSettings() {
|
|
|
|
|
|
const data: any = await api.SettingGet();
|
|
|
|
|
|
merge(formState, data);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
loadSettings();
|
|
|
|
|
|
const onClick = async () => {
|
|
|
|
|
|
const form = await formRef.value.validateFields();
|
|
|
|
|
|
await api.SettingSave(form);
|
|
|
|
|
|
await loadSettings();
|
|
|
|
|
|
notification.success({
|
2025-06-29 14:09:09 +08:00
|
|
|
|
message: "保存成功",
|
2024-12-22 14:00:46 +08:00
|
|
|
|
});
|
|
|
|
|
|
};
|
|
|
|
|
|
</script>
|
|
|
|
|
|
<style lang="less">
|
|
|
|
|
|
.sys-settings-base {
|
|
|
|
|
|
}
|
|
|
|
|
|
</style>
|