chore: remove recharge and switch to test mode
Remove all recharge-related pages, components, and API endpoints. Update developVersion flag to enable test environment with 400 free credits for all users. Revise PointInsufficientDialog to reflect closed recharge channel, update button text and actions. Remove recharge actions from all top bars and generate confirmation panels. Add new user agreement page for service terms, update related API calls. Restyle AigcConsentDialog to use sectioned content layout. Fix visibility timing logic in GiftPointsToast component.
This commit is contained in:
1 parent
2407a9d941
commit
bfebed44b0
28 files changed
+260
-963
No files matched your search
@@ -1,5 +1,5 @@
|
||||
<template>
|
||||
<view v-if="visible" class="gift-points-toast" role="status">
|
||||
<view v-if="displayVisible" class="gift-points-toast" role="status">
|
||||
<text class="gift-points-badge">{{ title }}</text>
|
||||
<text class="gift-points-message">{{ message }}</text>
|
||||
<view class="gift-points-close" @tap="handleClose">
|
||||
@@ -9,14 +9,20 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
defineProps({
|
||||
import { onBeforeUnmount, onMounted, ref, watch } from "vue";
|
||||
|
||||
const props = defineProps({
|
||||
visible: {
|
||||
type: Boolean,
|
||||
default: true,
|
||||
},
|
||||
delay: {
|
||||
type: Number,
|
||||
default: 3000,
|
||||
},
|
||||
title: {
|
||||
type: String,
|
||||
default: "200积分已到账",
|
||||
default: "400积分已到账",
|
||||
},
|
||||
message: {
|
||||
type: String,
|
||||
@@ -25,11 +31,50 @@ defineProps({
|
||||
});
|
||||
|
||||
const emit = defineEmits(["close", "update:visible"]);
|
||||
const displayVisible = ref(false);
|
||||
const mounted = ref(false);
|
||||
let showTimer = null;
|
||||
|
||||
const clearShowTimer = () => {
|
||||
if (showTimer) {
|
||||
clearTimeout(showTimer);
|
||||
showTimer = null;
|
||||
}
|
||||
};
|
||||
|
||||
const syncVisible = (visible) => {
|
||||
clearShowTimer();
|
||||
displayVisible.value = false;
|
||||
if (!visible || !mounted.value) return;
|
||||
|
||||
showTimer = setTimeout(() => {
|
||||
showTimer = null;
|
||||
displayVisible.value = props.visible;
|
||||
}, Math.max(0, props.delay));
|
||||
};
|
||||
|
||||
const handleClose = () => {
|
||||
clearShowTimer();
|
||||
displayVisible.value = false;
|
||||
emit("update:visible", false);
|
||||
emit("close");
|
||||
};
|
||||
|
||||
watch(
|
||||
() => props.visible,
|
||||
(visible) => {
|
||||
syncVisible(visible);
|
||||
}
|
||||
);
|
||||
|
||||
onMounted(() => {
|
||||
mounted.value = true;
|
||||
syncVisible(props.visible);
|
||||
});
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
clearShowTimer();
|
||||
});
|
||||
</script>
|
||||
|
||||
<style scoped lang="scss">
|
||||
|
||||
Reference in new issue
Block a user