import envConfig from '../../env'; import Toast from 'tdesign-miniprogram/toast/index'; Component({ data: { image: 'https://tdesign.gtimg.com/mobile/demos/avatar1.png', }, methods: { async getLoginCode() { return new Promise((resolve, reject) => { wx.login({ success: (res) => { if (res.code) { resolve(res.code); // 返回获取到的code } else { reject(new Error('获取登录凭证失败: ' + res.errMsg)); } }, fail: (err) => { reject(err); } }); }); }, async wxPhone(e: { detail: any; }){ console.log("授权回调结果:", e); if (e.detail.errMsg === "getPhoneNumber:ok") { const { encryptedData, iv} = e.detail; console.log("encryptedData:",encryptedData) const code = await this.getLoginCode(); console.log("获得的code为:",code) wx.request({ url: `${envConfig.apiBaseUrl}/user/login`, method: "POST", data: { encryptedData, iv, code, }, success(res) { console.log(res) if (res.data.code == "20001") { Toast({ selector: '#t-toast', message: '登录成功', theme: 'success', direction: 'column', }); // 登录成功,存储用户信息并跳转首页 //wx.setStorageSync("userInfo", res.data.userInfo); //wx.navigateTo({ url: "/pages/index/index" }); } else { wx.showToast({ title: "登录失败", icon: "none" }); } }, fail() { wx.showToast({ title: "网络错误", icon: "none" }); } }); } else { // 用户拒绝授权 wx.showToast({ title: "请允许授权以完成登录", icon: "none" }); } }, onBack() { // 获取当前页面栈 const pages = getCurrentPages(); // 页面栈长度大于1,说明有上一个页面 if (pages.length > 1) { // 调用微信API返回上一页,delta: 1 表示返回一层 wx.navigateBack({ delta: 1 }); } else { // 如果没有上一页(比如从首页直接进入登录页),可跳转到默认页面(如首页) wx.switchTab({ url: '/pages/index/index' // 替换为你的首页路径 }); } } }, })