This commit is contained in:
whitechiina 2026-09-22 18:07:28 +08:00
parent d4045fcd8b
commit bf1cab2698
27 changed files with 72 additions and 1 deletions

View File

@ -34,7 +34,9 @@
<view v-else class="bmt-agree-success">
<image class="bmt-agree-success__image" src="https://imgs.agrimedia.cn/bm-bmt/success.png" mode="aspectFit" />
<text class="bmt-agree-success__text">恭喜签约完成</text>
<view class="bmt-agree-success__btn" @click="compute">完成</view>
<view class="bmt-agree-success__btn" :class="{ 'is-disabled': countdown > 0 }" @click="compute">
{{ countdown > 0 ? `完成(${countdown}s)` : "完成" }}
</view>
</view>
</view>
</template>
@ -44,6 +46,7 @@ import AssetPageShell from "../../components/asset-page-shell.vue";
import { checkBmtSignCondition, startBmtSigning } from "../../api/bmt";
const READ_BOTTOM_THRESHOLD = 15;
const DONE_COUNTDOWN_SECONDS = 5;
export default {
components: {
@ -60,6 +63,8 @@ export default {
isReachBottom: false,
scrollViewHeight: 0,
scrollTimer: null,
countdownTimer: null,
countdown: 0,
contractId: "",
};
},
@ -84,6 +89,8 @@ export default {
if (this.scrollTimer) {
clearTimeout(this.scrollTimer);
}
this.clearCountdownTimer();
},
methods: {
async loadAgreement() {
@ -218,6 +225,7 @@ export default {
}
this.signStatus = false;
this.startCountdown();
} catch (error) {
this.signing = false;
uni.showToast({
@ -253,7 +261,32 @@ export default {
url: targetUrl,
});
},
/** 签约完成后固定倒计时,结束后才允许点「完成」 */
startCountdown() {
this.clearCountdownTimer();
this.countdown = DONE_COUNTDOWN_SECONDS;
this.countdownTimer = setInterval(() => {
this.countdown -= 1;
if (this.countdown <= 0) {
this.countdown = 0;
this.clearCountdownTimer();
}
}, 1000);
},
clearCountdownTimer() {
if (this.countdownTimer) {
clearInterval(this.countdownTimer);
this.countdownTimer = null;
}
},
compute() {
// 倒计时结束前不可点击
if (this.countdown > 0) {
return;
}
uni.navigateBack({
delta: 1,
});
@ -422,4 +455,8 @@ export default {
font-weight: 600;
color: #ffffff;
}
.bmt-agree-success__btn.is-disabled {
opacity: 0.5;
}
</style>

2
unpackage/dist/build/web/index.html vendored Normal file
View File

@ -0,0 +1,2 @@
<!DOCTYPE html><html lang=zh-CN><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><title>白马交易所</title><script>var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') || CSS.supports('top: constant(a)'))
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')</script><link rel=stylesheet href=/bmt/static/index.883130ca.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/bmt/static/js/chunk-vendors.a58c62f3.js></script><script src=/bmt/static/js/index.d2373521.js></script></body></html>

Binary file not shown.

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long