feat: 个人开户邀请扫码办理生成并展示二维码
parent
b5cd02452b
commit
ec99535643
|
|
@ -210,6 +210,7 @@ import { ref, reactive, computed, watch, onMounted } from 'vue'
|
|||
import { useRoute, useRouter } from 'vue-router'
|
||||
import { message, Modal } from 'ant-design-vue'
|
||||
import dayjs from 'dayjs'
|
||||
import QrcodeVue from 'qrcode.vue'
|
||||
import ChannelSelect from '@/components/ChannelSelect.vue'
|
||||
import IdCardUpload from '@/components/IdCardUpload.vue'
|
||||
import FacePhotoUpload from '@/components/FacePhotoUpload.vue'
|
||||
|
|
@ -615,6 +616,29 @@ async function handleModalSave() {
|
|||
}
|
||||
}
|
||||
|
||||
// 拼接扫码 H5 地址:域名/路径来自环境变量,域名未配置(生产环境尚未确定)时用占位域名兜底,
|
||||
// 保证二维码始终可以生成,不阻断柜员操作;域名确定后只需修改 .env.production,无需改代码。
|
||||
function buildQrCodeUrl(applicationNo) {
|
||||
const base = import.meta.env.VITE_H5_QRCODE_BASE_URL || 'https://example.com'
|
||||
const path = import.meta.env.VITE_H5_QRCODE_PATH || '/mobile/personal-open'
|
||||
return `${base}${path}?applicationNo=${applicationNo}`
|
||||
}
|
||||
|
||||
// 弹窗内"邀请扫码办理":与"保存"调用同一个提交接口,成功后不关闭弹窗,切换为二维码展示态
|
||||
async function handleModalInvite() {
|
||||
modalInviting.value = true
|
||||
try {
|
||||
const applicationNo = await submitCreateDraft()
|
||||
if (applicationNo) {
|
||||
qrApplicationNo.value = applicationNo
|
||||
qrCodeUrl.value = buildQrCodeUrl(applicationNo)
|
||||
confirmModalStep.value = 'qrcode'
|
||||
}
|
||||
} finally {
|
||||
modalInviting.value = false
|
||||
}
|
||||
}
|
||||
|
||||
// 弹窗内"取消"/关闭图标/邀请扫码办理成功后的"关闭"按钮:统一只关闭弹窗,不发请求、不跳转
|
||||
function handleModalCancel() {
|
||||
confirmModalVisible.value = false
|
||||
|
|
|
|||
Loading…
Reference in New Issue