Spring Boot 3.5.6 / Java 17 JAR with cloud gateway envelope and ping/whoami/echo; Taobao gateway signature verification matching the Node implementation; /pages/mvp page, splash dev entry and local transport contract test; SAE + 聚石塔 runbook and portable JDK/Maven setup; Windows 11 wmic shim for Taobao DevTools.
77 lines
2.6 KiB
JavaScript
77 lines
2.6 KiB
JavaScript
/* ═════ 启动页:品牌底图 + Slogan + 隐私授权弹窗(对齐 H5 #s-splash + #p-privacy) ═════ */
|
|
var api = require('../../utils/api.js');
|
|
var development = require('../../utils/development');
|
|
var config = require('../../config');
|
|
|
|
Page({
|
|
data: {
|
|
bgUrl: api.assetUrl('img/bg-splash.jpg'), // 底图远程加载
|
|
logoUrl: api.assetUrl('img/ui-20261012/brand-lockup.png'),
|
|
showPrivacy: false, // 隐私授权弹窗
|
|
agreed: false, // 隐私协议勾选
|
|
showPolicy: false, busy: false, signedIn: false, showCameraDebug: development.cameraDebugEnabled(),
|
|
showMvpDebug: config.mvpLocal === true
|
|
},
|
|
onShow: function () {
|
|
var that = this;
|
|
api.restore().then(function (user) { that.setData({ signedIn: !!user }); }).catch(function () {});
|
|
},
|
|
|
|
// 「开始检测」→ 隐私授权弹窗
|
|
onOpenPrivacy: function () {
|
|
if (api.user()) { my.navigateTo({ url: '/pages/profile/profile' }); return; }
|
|
this.setData({ showPrivacy: true });
|
|
},
|
|
onClosePrivacy: function () {
|
|
this.setData({ showPrivacy: false });
|
|
},
|
|
|
|
// 勾选/取消隐私协议(点链接不触发,由 catchtap 分隔)
|
|
onToggleAgree: function () {
|
|
this.setData({ agreed: !this.data.agreed });
|
|
},
|
|
|
|
onOpenPolicy: function () {
|
|
this.setData({ showPolicy: true });
|
|
},
|
|
onClosePolicy: function () {
|
|
this.setData({ showPolicy: false });
|
|
},
|
|
|
|
// 「继续」:必须已勾选协议
|
|
onAgreeContinue: function () {
|
|
if (this.data.busy) return;
|
|
if (!this.data.agreed) {
|
|
my.showToast({ content: '请先阅读并同意隐私协议', type: 'none' });
|
|
return;
|
|
}
|
|
var that = this;
|
|
this.setData({ busy: true });
|
|
api.login(true).then(function () {
|
|
that.setData({ showPrivacy: false, signedIn: true });
|
|
my.navigateTo({ url: '/pages/profile/profile' });
|
|
}).catch(function (err) {
|
|
my.showToast({ content: err.message, type: 'none' });
|
|
}).then(function () { that.setData({ busy: false }); });
|
|
},
|
|
onHistory: function () {
|
|
if (!api.user()) { this.onOpenPrivacy(); return; }
|
|
my.navigateTo({ url: '/pages/history/history' });
|
|
},
|
|
onLogout: function () {
|
|
var that = this;
|
|
api.logout().then(function () { that.setData({ signedIn: false, agreed: false }); })
|
|
.catch(function (err) { my.showToast({ content: err.message, type: 'none' }); });
|
|
},
|
|
onCameraDebug: function () {
|
|
if (!development.cameraDebugEnabled()) return;
|
|
my.navigateTo({ url: '/pages/camera/camera?debug=camera' });
|
|
},
|
|
onMvpDebug: function () {
|
|
if (!config.mvpLocal) return;
|
|
my.navigateTo({ url: '/pages/mvp/mvp' });
|
|
},
|
|
|
|
noop: function () {} // 弹窗卡片内点击拦截冒泡用
|
|
});
|