Files
jiu/web/assets/nav.js
T
wangjia d256e7ac85 feat(site): 官网全新重建(App 真相源风格)+ 四档套餐 + 在线购买流
- tokens.css/site.css 逐值对齐原型设计系统,icons 雪碧图,零外链;首页/下载/帮助/法务全站重皮肤,真实截图
- 注册与登录在官网内完成(写 shared_preferences_web 兼容 localStorage,不再跳 App)
- 价格区四档:免费/标准 299/高级 599/定制;登录后标准/高级按钮变「购买 / 续费」
- 新增 /checkout/(套餐+月付年付切换)与 /license/result/(支付回跳轮询到账)
- 登录页支持 ?next= 站内回跳;二维码措辞改「扫码看详情可分享」
- 下载页构建期真实下载链接+运行时 release 刷新;旧 features 页/死 CSS/dist 产物清理

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JJ1g8XV1YhhmHRzhwWEW7o
2026-07-03 20:40:21 +08:00

43 lines
1.4 KiB
JavaScript

/* 官网导航交互:汉堡菜单 + 登录态感知(Web 版 App 与官网同域时,
localStorage['flutter.*'] 有登录信息 → CTA 变「进入系统」)。零依赖。 */
(function () {
function getAuthUser() {
var token = localStorage.getItem('flutter.access_token');
var username = localStorage.getItem('flutter.username');
if (!token || !username) return null;
return {
username: username,
realName: localStorage.getItem('flutter.real_name') || '',
shopNo: localStorage.getItem('flutter.shop_no') || '',
};
}
// 汉堡菜单
var burger = document.getElementById('nav-burger');
var mobile = document.getElementById('nav-mobile-menu');
if (burger && mobile) {
burger.addEventListener('click', function (e) {
e.stopPropagation();
var open = mobile.classList.toggle('open');
burger.setAttribute('aria-expanded', open ? 'true' : 'false');
});
document.addEventListener('click', function (e) {
if (!mobile.contains(e.target) && e.target !== burger) {
mobile.classList.remove('open');
}
});
}
// 登录态:CTA 换成「进入系统」
var user = getAuthUser();
if (user) {
var cta = document.getElementById('nav-cta');
if (cta) {
cta.innerHTML =
'<a class="btn primary" href="/app/">进入系统 · ' +
(user.realName || user.username).replace(/[<>&"]/g, '') +
'</a>';
}
}
})();