Files
Blizzard b854d2873e feat: require couple binding and refine miniapp settings
Gate record features and storage entry points with invitation guidance; enforce record access in the backend. Add homepage greetings, right-swipe profile dismissal, and move the smoking switch to settings. Simplify API base configuration and remove the unused legacy tab bar component.
2026-11-04 21:27:03 +08:00

28 lines
1.2 KiB
JavaScript

const { requireRecordAccess } = require('../utils/record-access');
const { tryLoginRenewal } = require('../utils/subscribe');
const { tabForPage, paths } = require('../utils/navigation');
Component({
data: { active: '', hidden: false },
lifetimes: { attached: function() { this.syncActive(); } },
pageLifetimes: { show: function() { this.syncActive(); } },
methods: {
setHidden: function(hidden) { this.setData({ hidden: !!hidden }); },
syncActive: function() {
var pages = getCurrentPages();
var current = pages[pages.length - 1];
this.setData({ active: tabForPage(current && current.route), hidden: !!(current && current.data && (current.data.publishOpen || current.data.showEditProfileModal || current.data.showEditPartnerModal)) });
},
navigate: function(e) {
tryLoginRenewal();
var tab = e.currentTarget.dataset.tab;
if (!paths[tab]) return;
if (tab === 'records' && !requireRecordAccess()) return;
var pages = getCurrentPages();
// 当前主页面重复点击不重新加载。
if (pages.length && pages[pages.length - 1].route === paths[tab]) return;
if (this._switching) return;
this._switching = true;
wx.switchTab({ url: '/' + paths[tab], complete: () => { this._switching = false; } });
}
} });