wechat_rob_mini/utils/auth.js

39 lines
1.0 KiB
JavaScript

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 };