活动,活动详细,未来规划,祈福,往生殿添加登录模态窗

This commit is contained in:
WindowBird 2025-09-19 15:14:56 +08:00
parent 3f4296859f
commit c3ed2f1abd
6 changed files with 56 additions and 1 deletions

28
composables/goToLogin.js Normal file
View File

@ -0,0 +1,28 @@
export const getToken = () => {
return uni.getStorageSync("token") || null;
};
export const checkLogin = () => {
const token = getToken();
if (!token) {
showLoginModal();
return false;
}
return true;
};
export const showLoginModal = () => {
uni.showModal({
title: "未登录",
content: "请先登录后再进行操作",
confirmText: "去登录",
cancelText: "取消",
success: (res) => {
if (res.confirm) {
uni.navigateTo({
url: "/pages/login/login",
});
}
},
});
};

View File

@ -44,6 +44,7 @@ import StatusDisplay from "../../components/status-display/status-display.vue";
import ActivityCard from "../../components/activity-card/activity-card.vue";
import activityApi from "../../api/activity/activity.js";
import activityFormatter from "../../utils/activity-data-formatter.js";
import { checkLogin } from "../../composables/goToLogin";
export default {
components: {
@ -157,6 +158,9 @@ export default {
//
handleRegister(activity) {
if (!checkLogin()) {
return;
}
console.log("报名活动:", activity);
//

View File

@ -101,6 +101,7 @@ import ActivityCard from "../../components/activity-card/activity-card.vue";
import activityApi from "../../api/activity/activity.js";
import activityFormatter from "../../utils/activity-data-formatter.js";
import { removeBackgroundStyle } from "../../composables/clearnBackgroundColor";
import { checkLogin } from "../../composables/goToLogin";
export default {
components: {
@ -191,6 +192,10 @@ export default {
console.log("报名活动:", this.activityData);
if (!checkLogin()) {
return;
}
//
uni.navigateTo({
url: `/pages/activity/application?actId=${this.activityData.id}`,

View File

@ -157,6 +157,7 @@ import {
import { createPagination } from "../../composables/winB_Pagination";
import GoToCertification from "./components/goToCertification.vue";
import { ordersFormed } from "../../api/order/order";
import { checkLogin } from "../../composables/goToLogin";
export default {
components: { GoToCertification },
@ -328,6 +329,10 @@ export default {
});
},
handleDonate() {
if (!checkLogin()) {
return;
}
console.log("根据state进行弹窗", this.projectDetails.state);
if (this.projectDetails.state === "1") {
uni.showToast({

View File

@ -146,6 +146,7 @@ import OfferingModal from "./compositons/offeringModal.vue";
import { getPackageList } from "../../api/memorial/memorial";
import { ordersEnshrined } from "../../api/order/order";
import { checkLogin } from "../../composables/goToLogin";
export default {
components: {
@ -323,6 +324,10 @@ export default {
// /
async handleCollect() {
if (!checkLogin()) {
return;
}
if (!this.selectedUnitId) {
uni.showToast({
title: "无法获取牌位信息",
@ -393,6 +398,10 @@ export default {
//
submitPrayer() {
if (!checkLogin()) {
return;
}
console.log("显示供奉弹窗");
this.showOfferingModal = true;
},

View File

@ -98,6 +98,7 @@ import CommonEnum from "../../enum/common";
import CustomNavbar from "../../components/custom-navbar/custom-navbar.vue";
import BottomButton from "../../components/bottom-button/bottom-button.vue";
import { submitPrayer } from "@/api/pray/pray";
import { checkLogin } from "../../composables/goToLogin";
export default {
components: {
@ -154,6 +155,10 @@ export default {
return;
}
if (!checkLogin()) {
return;
}
//
this.showConfirmation();
},
@ -360,7 +365,6 @@ export default {
align-items: center;
.title-text {
height: 44rpx;
font-weight: 400;
color: #695347;