first commit
This commit is contained in:
56
popup/popup.js
Normal file
56
popup/popup.js
Normal file
@@ -0,0 +1,56 @@
|
||||
Component({
|
||||
properties: {
|
||||
popupType: { type: String, value: 'announcement' }, // 弹窗类型
|
||||
popupContent: { type: String, value: '' }, // 弹窗内容
|
||||
buttonText: { type: String, value: '立即前往' }, // 按钮文字
|
||||
targetUrl: { type: String, value: '' }, // 按钮跳转链接
|
||||
debugMode: { type: Boolean, value: false } // 开关:调试模式
|
||||
},
|
||||
data: {
|
||||
isVisible: false // 默认不显示弹窗
|
||||
},
|
||||
lifetimes: {
|
||||
attached() {
|
||||
this.checkPopupStatus();
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
// 检查是否需要显示弹窗
|
||||
checkPopupStatus() {
|
||||
const debugMode = this.properties.debugMode; // 获取调试模式开关
|
||||
const lastShownDate = wx.getStorageSync('popup_last_date'); // 读取本地存储的日期
|
||||
const today = new Date().toDateString(); // 获取当前日期字符串
|
||||
|
||||
if (debugMode || lastShownDate !== today) {
|
||||
// 调试模式或未弹出过,则显示弹窗
|
||||
this.setData({ isVisible: true });
|
||||
wx.setStorageSync('popup_last_date', today); // 更新本地存储的日期
|
||||
} else {
|
||||
console.log('弹窗今日已显示,不再重复弹出');
|
||||
}
|
||||
},
|
||||
|
||||
// 关闭弹窗
|
||||
closePopup() {
|
||||
this.setData({ isVisible: false });
|
||||
},
|
||||
|
||||
onMaskTap() {
|
||||
this.closePopup();
|
||||
},
|
||||
|
||||
preventClose() {
|
||||
// 防止点击弹窗内部关闭
|
||||
},
|
||||
|
||||
onNavigate() {
|
||||
if (this.properties.targetUrl) {
|
||||
wx.navigateTo({
|
||||
url: this.properties.targetUrl
|
||||
});
|
||||
} else {
|
||||
console.warn('未设置跳转链接');
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
Reference in New Issue
Block a user