hookehuyr

refactor(支付流程): 优化支付权限检查和弹窗处理逻辑

重构支付权限检查逻辑,将权限验证从onMounted移至useDidShow统一处理
优化支付协议弹窗按钮文案和错误处理逻辑
移除未使用的组件导入和冗余代码
......@@ -23,10 +23,8 @@ declare module 'vue' {
NutEllipsis: typeof import('@nutui/nutui-taro')['Ellipsis']
NutForm: typeof import('@nutui/nutui-taro')['Form']
NutFormItem: typeof import('@nutui/nutui-taro')['FormItem']
NutIcon: typeof import('@nutui/nutui-taro')['Icon']
NutImagePreview: typeof import('@nutui/nutui-taro')['ImagePreview']
NutInput: typeof import('@nutui/nutui-taro')['Input']
NutLoading: typeof import('@nutui/nutui-taro')['Loading']
NutMenu: typeof import('@nutui/nutui-taro')['Menu']
NutMenuItem: typeof import('@nutui/nutui-taro')['MenuItem']
NutOverlay: typeof import('@nutui/nutui-taro')['Overlay']
......
......@@ -65,7 +65,7 @@
color="orange"
@click="handleConfirm"
>
{{ bindStatus.is_finish ? '确认' : '确认并签约' }}
{{ bindStatus.is_finish ? '我要发布' : '确认并签约' }}
</nut-button>
</div>
</div>
......@@ -241,8 +241,6 @@ const handleAgree = async () => {
// 调用绑定接口
await handleBindJeePay()
} else {
console.error('更新协议状态失败:', result.message)
}
} catch (error) {
console.error('更新协议状态失败:', error)
......@@ -329,12 +327,6 @@ const handleBindJeePay = async () => {
emit('confirm')
return
}
} else {
console.error('绑定接口调用失败:', result.message)
Taro.showToast({
title: '绑定失败,请重试',
icon: 'none'
})
}
} catch (error) {
console.error('绑定接口调用失败:', error)
......
......@@ -1171,9 +1171,8 @@ const checkUserPermission = async () => {
url: '/pages/collectionSettings/index?target=sell'
})
}
} else {
// 用户点击关闭,返回上一页
// Taro.navigateBack()
} else if (res.cancel) {
console.log('用户点击取消')
}
}
})
......@@ -1184,15 +1183,6 @@ const checkUserPermission = async () => {
// 页面加载时执行
onMounted(async () => {
const hasPermission = await checkUserPermission()
if (!hasPermission) {
return
}
// 权限验证通过,显示收款说明弹框
paymentAgreementVisible.value = true
// 加载基础数据
await Promise.all([
loadSchools(),
......@@ -1222,17 +1212,16 @@ onMounted(async () => {
}
})
// 页面显示时执行(用户从其他页面返回时会触发
// 页面显示时执行(包括首次加载和从其他页面返回
useDidShow(async () => {
// 只有在页面已经初始化后才进行权限检查
// 避免与onMounted重复执行
const pages = Taro.getCurrentPages()
const currentPage = pages[pages.length - 1]
const hasPermission = await checkUserPermission()
// 如果页面已经加载过,则重新检查权限
if (currentPage && currentPage.data && Object.keys(currentPage.data).length > 0) {
await checkUserPermission()
if (!hasPermission) {
return
}
// 权限验证通过,显示收款说明弹框
paymentAgreementVisible.value = true
})
/**
......