const { request } = require('./request'); function loginWithWeChat(userProfile) { return new Promise((resolve, reject) => { wx.login({ success: async (res) => { const code = res.code; if (!code) { reject(new Error('获取登录码失败')); return; } const payload = { code, nickname: userProfile ? userProfile.nickName : '', avatar_url: userProfile ? userProfile.avatarUrl : '' }; try { const result = await request({ url: '/api/auth/wechat_login', method: 'POST', data: payload }); if (result && result.success && result.data && result.data.token) { wx.setStorageSync('token', result.data.token); resolve(result.data); return; } reject(new Error(result.message || '登录失败')); } catch (err) { reject(err); } }, fail: (err) => reject(err) }); }); } module.exports = { loginWithWeChat };