/** * 启动页 — 每次启动都执行 wx.login → 后端登录 * 微信的 code 是一次性的,必须每次重新获取 */ const app = getApp() Page({ data: { loginState: 'loading' // 'loading' | 'success' | 'error' }, onLoad() { // 每次进入启动页都执行登录流程(不跳过) this._startLogin() }, /** * 执行静默登录 * wx.login() → code → 后端 /auth/miniLogin → token + user */ _startLogin() { const self = this app.login().then(function (data) { self.setData({ loginState: 'success' }) // 登录成功,多停留一会儿再跳转(让用户看清启动页) setTimeout(function () { wx.switchTab({ url: '/pages/index/index' }) }, 1800) }).catch(function (err) { console.error('[Splash] 登录失败:', err) self.setData({ loginState: 'error' }) // 登录失败也跳转首页(游客模式浏览) setTimeout(function () { wx.switchTab({ url: '/pages/index/index' }) }, 1500) }) } })