捐款时检测实名,未实名跳转去实名

This commit is contained in:
WindowBird 2025-09-16 16:21:36 +08:00
parent 04b12ae621
commit 0f6fb41e56
3 changed files with 220 additions and 15 deletions

View File

@ -0,0 +1,179 @@
<script>
import CommonEnum from "../../../enum/common";
export default {
name: "goToCertification",
props: {
//
visible: {
type: Boolean,
default: false,
},
},
computed: {
CommonEnum() {
return CommonEnum;
},
},
data() {
return {
iconUrl: {
close: "https://api.ccttiot.com/image-1758006069513.png",
},
};
},
methods: {
handleClose() {
this.$emit("handleClose");
},
goToCertification() {
this.$emit("goToCertification");
},
},
};
</script>
<template>
<view v-if="visible" class="page">
<view class="box">
<view class="title"> 善举需记 福报有凭</view>
<view class="tip">实名认证留存您的慈悲痕迹</view>
<image :src="CommonEnum.LotusMeditation" class="flower"></image>
<view class="tip2">烦请完成实名认证留存您的慈悲痕迹</view>
<button @click="goToCertification">
<text>前去认证</text>
</button>
<view class="close" @click="handleClose">
<image
:src="iconUrl.close"
mode="widthFix"
style="width: 56rpx; height: 56rpx"
></image>
</view>
</view>
</view>
</template>
<style lang="scss" scoped>
.page {
position: fixed;
top: 0;
width: 100vw;
height: 100vh;
background-color: rgba(0, 0, 0, 0.5); /* 黑色50% 透明度 */
}
.box {
position: absolute;
left: 56rpx;
top: 522rpx;
width: 638rpx;
height: 494rpx;
border-radius: 32rpx;
opacity: 1;
background: #ffffff;
}
.title {
position: absolute;
left: 44rpx;
top: 88rpx;
width: 370rpx;
height: 60rpx;
opacity: 1;
font-family: AlibabaPuHuiTi;
font-size: 44rpx;
font-weight: 500;
line-height: normal;
letter-spacing: 0em;
font-feature-settings: "kern" on;
color: #c7a26d;
}
.tip {
position: absolute;
left: 44rpx;
top: 170rpx;
height: 38rpx;
opacity: 1;
font-family: AlibabaPuHuiTi;
font-size: 28rpx;
font-weight: normal;
line-height: normal;
letter-spacing: 0em;
font-feature-settings: "kern" on;
color: #c7a26d;
}
.tip2 {
position: absolute;
left: 44rpx;
top: 262rpx;
height: 36rpx;
opacity: 1;
font-family: AlibabaPuHuiTi;
font-size: 26rpx;
font-weight: normal;
line-height: normal;
letter-spacing: 0em;
font-feature-settings: "kern" on;
color: #522510;
}
button {
position: absolute;
left: 44rpx;
top: 352rpx;
width: 548rpx;
height: 86rpx;
border-radius: 47rpx;
opacity: 1;
background: #c7a26d;
text {
width: 126rpx;
height: 44rpx;
font-family: AlibabaPuHuiTi, AlibabaPuHuiTi;
font-weight: 500;
font-size: 32rpx;
color: #ffffff;
line-height: 44rpx;
text-align: left;
font-style: normal;
text-transform: none;
}
}
.flower {
position: absolute;
left: 428rpx;
top: 24rpx;
width: 30.72%;
height: 29.53%;
opacity: 1;
}
.close {
position: absolute;
left: 292rpx;
bottom: -102rpx;
width: 56rpx;
height: 56rpx;
//background-color: #c7a26d;
image {
width: 56rpx;
height: 56rpx;
}
}
</style>

View File

@ -139,6 +139,12 @@
</button> </button>
</view> </view>
</u-popup> </u-popup>
<goToCertification
:visible="visible"
@goToCertification="goToCertification"
@handleClose="handleClose"
></goToCertification>
</view> </view>
</template> </template>
@ -150,8 +156,10 @@ import {
} from "../../api/institutionalStructure/institutionalStructureDetail"; } from "../../api/institutionalStructure/institutionalStructureDetail";
import { createPagination } from "../../composables/winB_Pagination"; import { createPagination } from "../../composables/winB_Pagination";
import { postInstitutionalStructure } from "../../api/institutionalStructure/institutionalStructure"; import { postInstitutionalStructure } from "../../api/institutionalStructure/institutionalStructure";
import GoToCertification from "./components/goToCertification.vue";
export default { export default {
components: { GoToCertification },
mixins: [ mixins: [
createPagination({ createPagination({
fetchData: getProjectSchedule, fetchData: getProjectSchedule,
@ -162,6 +170,7 @@ export default {
], ],
data() { data() {
return { return {
visible: false,
show: false, show: false,
CommonEnum, CommonEnum,
buddhaIcon: "https://api.ccttiot.com/image-1756353071821.png", buddhaIcon: "https://api.ccttiot.com/image-1756353071821.png",
@ -244,6 +253,14 @@ export default {
this.loadPageData(); this.loadPageData();
}, },
methods: { methods: {
handleClose() {
this.visible = false;
},
goToCertification() {
uni.navigateTo({
url: "/pages/realName/realName",
});
},
// //
async loadPageData() { async loadPageData() {
try { try {
@ -348,16 +365,18 @@ export default {
if (res.code === 200) { if (res.code === 200) {
this.openPaymentUrl(res.data.payParams.payUrl); this.openPaymentUrl(res.data.payParams.payUrl);
} else if (res.code === 10001) { } else if (res.code === 10001) {
uni.showModal({ this.show = false;
title: "去实名", this.visible = true; //
content: "需要实名", // uni.showModal({
showCancel: true, // title: "",
confirmText: "yes", // content: "",
cancelText: "no", // showCancel: true,
success: function () { // confirmText: "yes",
uni.navigateTo({ url: "/pages/realName/realName" }); // cancelText: "no",
}, // success: function () {
}); // uni.navigateTo({ url: "/pages/realName/realName" });
// },
// });
console.log("10001", res.msg); console.log("10001", res.msg);
} }
}, },

View File

@ -48,10 +48,7 @@
<script> <script>
import CommonEnum from "../../enum/common"; import CommonEnum from "../../enum/common";
import { import { putTwoElementRealName } from "../../api/realName/realName";
getRefreshRealName,
putTwoElementRealName,
} from "../../api/realName/realName";
export default { export default {
components: {}, components: {},
@ -75,9 +72,19 @@ export default {
}); });
try { try {
const res = await putTwoElementRealName(this.twoElementRealName); const res = await putTwoElementRealName(this.twoElementRealName);
if (res.code === 200) { if (res.code === 200) {
uni.hideLoading(); uni.hideLoading();
await getRefreshRealName(); uni.showModal({
title: "认证成功",
showCancel: false,
});
} else {
uni.hideLoading();
uni.showModal({
title: res.msg,
showCancel: false,
});
} }
// //
} catch (error) { } catch (error) {