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.
28 lines
1.2 KiB
JavaScript
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; } });
|
|
}
|
|
} });
|