import { isEmpty } from './TextUtils.js' const wxAuthLogin = () => { // 判断是否已经登陆 if (getApp().globalData.isLogin) { return new Promise((resolve, reject) => { resolve(getApp().globalData.sysUserSid) }) } return new Promise((resolve, reject) => { // 授权登录 wx.login({ success: function(res) { if (res.code) { if (getApp().globalData.isDebug) { console.log('Http网络请求info', { "wxCode": res.code }) } uni.showLoading({ title: '加载中...', mask: true }); uni.request({ // 组装请求地址 url: getApp().globalData.wxAuthLoginURL, // 请求方式 GET POST method: "GET", header: { // 传参方式 'content-type': "application/x-www-form-urlencoded" }, // 具体参数 data: { "wxCode": res.code }, success: res => { // 关闭显示框 uni.hideLoading(); console.log(res) if (getApp().globalData.isDebug) { console.log('Http网络路径', getApp().globalData.wxAuthLoginURL) console.log('Http网络请求结果', JSON.parse(JSON.stringify( res.data))) } if (res.statusCode == 200) { // 下面是接口返回的数据 if (!res.data.success) { if ("A01001" == res.data.code || "A01002" == res.data.code ) { // 绑定手机号 uni.navigateTo({ url: '../index/BindPhone?sysUserWxAuthSid=' + res.data.data }) // reject("绑定手机号") } else { // 错误提示 if (isEmpty(res.data)) { // 未成功获取到服务器返回的json uni.showToast({ // 不能超过7个字 title: "服务器响应为空", icon: "error" }) reject("服务器响应为空") } else { let errorMsg = res.data.msg if (isEmpty(errorMsg)) { errorMsg = url+"服务器未返回错误信息" } uni.showToast({ title: errorMsg, // 保证文字长度 icon: "none", duration: 3000 }) } reject(errorMsg) } return } // 保存 uni.setStorageSync("sysUserSid", res.data.data.sysUserSid); uni.setStorageSync("isLogin", res.data.data.isLogin); getApp().globalData.isLogin = res.data.data.isLogin getApp().globalData.sysUserSid = res.data.data.sysUserSid getApp().globalData.token = res.data.data.token // 直接返回Response resolve(getApp().globalData.sysUserSid) } else { uni.showToast({ title: res.statusCode + ":" + res .errMsg, // 保证文字长度 icon: "none", duration: 3000 }) reject(res.errMsg) } }, fail: (err) => { // 关闭显示框 uni.hideLoading(); if (getApp().globalData.isDebug) { console.log("Http网络请求fail", err) } uni.showToast({ title: '请检查网络', icon: 'error' }) reject(err) }, complete: () => { } }); } else { uni.showToast({ title: "授权登录获取code失败:" + res.errMsg, icon: 'none' }) reject(res.errMsg) } }, fail: function(res) { uni.showToast({ title: "授权登录失败:" + res.errMsg, icon: 'none' }) reject(res.errMsg) } }); }) } export default wxAuthLogin