This commit is contained in:
Mrx
2026-02-04 17:06:27 +08:00
parent fcdfd0a193
commit 67e138e1b3
2 changed files with 62 additions and 49 deletions

View File

@@ -114,50 +114,60 @@ const router = useRouter();
const discountPrice = ref(false); // 是否应用折扣 const discountPrice = ref(false); // 是否应用折扣
async function getPayment() { async function getPayment() {
const { data, error } = await useApiFetch("/pay/payment") showConfirmDialog({
.post({ title: '重要安全声明',
id: props.id, message:
pay_method: selectedPaymentMethod.value, '为保障您的个人信息与资金安全,请您务必知悉以下事项:\n\n关于平台业务本平台官方服务仅限于大数据报告查询不涉及也从未开展"央行征信修复"、"贷款办理"或"征信洗白"等相关业务。请注意,本平台出具的报告仅供决策参考,不可作为任何官方征信凭证或贷款依据。\n\n关于诈骗警示任何自称与本平台合作或以"内部渠道"、"百分百包下款"、"修复征信"等为由,诱导您进行支付的行为,均属欺诈。请您切勿相信,谨慎对待任何支付要求。\n\n关于安全提示请您时刻保持警惕妥善保管个人敏感信息。如遇任何索款要求或可疑承诺请务必首先通过我平台官方公布的联系方式进行核实切勿轻信他人。',
pay_type: props.type, })
}) .then(async () => {
.json(); const { data, error } = await useApiFetch("/pay/payment")
.post({
id: props.id,
pay_method: selectedPaymentMethod.value,
pay_type: props.type,
})
.json();
if (data.value && !error.value) { if (data.value && !error.value) {
// 测试支付模式:直接跳转到结果页面 // 测试支付模式:直接跳转到结果页面
if (selectedPaymentMethod.value === "test" || selectedPaymentMethod.value === "test_empty") { if (selectedPaymentMethod.value === "test" || selectedPaymentMethod.value === "test_empty") {
orderNo.value = data.value.data.order_no; orderNo.value = data.value.data.order_no;
router.push({ router.push({
path: "/payment/result", path: "/payment/result",
query: { orderNo: data.value.data.order_no }, query: { orderNo: data.value.data.order_no },
}); });
} else if (selectedPaymentMethod.value === "alipay") { } else if (selectedPaymentMethod.value === "alipay") {
orderNo.value = data.value.data.order_no; orderNo.value = data.value.data.order_no;
// 存储订单ID以便支付宝返回时获取 // 存储订单ID以便支付宝返回时获取
const prepayUrl = data.value.data.prepay_id; const prepayUrl = data.value.data.prepay_id;
const paymentForm = document.createElement("form"); const paymentForm = document.createElement("form");
paymentForm.method = "POST"; paymentForm.method = "POST";
paymentForm.action = prepayUrl; paymentForm.action = prepayUrl;
paymentForm.style.display = "none"; paymentForm.style.display = "none";
document.body.appendChild(paymentForm); document.body.appendChild(paymentForm);
paymentForm.submit(); paymentForm.submit();
} else { } else {
const payload = data.value.data.prepay_data; const payload = data.value.data.prepay_data;
WeixinJSBridge.invoke( WeixinJSBridge.invoke(
"getBrandWCPayRequest", "getBrandWCPayRequest",
payload, payload,
function (res) { function (res) {
if (res.err_msg == "get_brand_wcpay_request:ok") { if (res.err_msg == "get_brand_wcpay_request:ok") {
// 支付成功,直接跳转到结果页面 // 支付成功,直接跳转到结果页面
router.push({ router.push({
path: "/payment/result", path: "/payment/result",
query: { orderNo: data.value.data.order_no }, query: { orderNo: data.value.data.order_no },
}); });
} }
}
);
} }
); }
} show.value = false;
} })
show.value = false; .catch(() => {
return;
});
} }
</script> </script>

View File

@@ -64,10 +64,8 @@ const useApiFetch = createFetch({
} }
if (data.code !== 200) { if (data.code !== 200) {
// 只有 100009用户不存在/Token无效才触发退出登录 // 100009用户不存在/Token无效、100011用户已被封禁触发退出登录并返回登录页
// 100008CUSTOM_ERROR是通用业务错误不应该触发退出登录 if (data.code === 100009 || data.code === 100011) {
if (data.code === 100009) {
// 改进的存储管理
localStorage.removeItem("token"); localStorage.removeItem("token");
localStorage.removeItem("refreshAfter"); localStorage.removeItem("refreshAfter");
localStorage.removeItem("accessExpire"); localStorage.removeItem("accessExpire");
@@ -75,18 +73,23 @@ const useApiFetch = createFetch({
localStorage.removeItem("agentInfo"); localStorage.removeItem("agentInfo");
localStorage.removeItem("tokenVersion"); localStorage.removeItem("tokenVersion");
// 重置状态
const userStore = useUserStore(); const userStore = useUserStore();
const agentStore = useAgentStore(); const agentStore = useAgentStore();
userStore.resetUser(); userStore.resetUser();
agentStore.resetAgent(); agentStore.resetAgent();
location.reload();
showToast({ message: data.msg || (data.code === 100011 ? "用户已被封禁" : "请重新登录") });
router.replace("/login");
if (data.code === 100009) {
location.reload();
}
} }
if ( if (
data.code !== 200002 && data.code !== 200002 &&
data.code !== 200003 && data.code !== 200003 &&
data.code !== 200004 && data.code !== 200004 &&
data.code !== 100009 data.code !== 100009 &&
data.code !== 100011
) { ) {
showToast({ message: data.msg }); showToast({ message: data.msg });
} }