function wxPromisify(fn) {
return function (obj = {}) {
return new Promise((resolve, reject) => {
obj.success = res => resolve(res)
obj.fail = err => reject(err)
fn(obj)
})
}
}
//微信用户登录,获取code
function wxLogin() {
return wxPromisify(wx.login)
}
/**
* 获取微信用户信息
* 必须在登录之后调用
*/
function wxGetUserInfo() {
return wxPromisify(wx.getUserInfo)
}
/**
* 获取系统信息
*/
function wxGetSystemInfo() {
return wxPromisify(wx.getSystemInfo)
}
/**
* 保留当前页面,跳转到应用内的某个页面
* url:'../index/index'
* params:{key:value1}
*/
function wxNavigateTo(url, params) {
var wxNavigateTo = wxPromisify(wx.navigateTo)
const serializedParams = this.paramSerializer(params)
if (serializedParams.length > 0) {
url += ((url.indexOf('?') == -1) ? '?' : '&') + serializedParams
}
return wxNavigateTo({
url: url
})
}
module.exports = {
wxPromisify: wxPromisify,
wxLogin: wxLogin,
wxGetUserInfo: wxGetUserInfo,
wxGetSystemInfo: wxGetSystemInfo
}
例如授权登录,获取用户信息,就可以这样使用
const Api = require('./wxApi')
let wxLogin = Api.wxLogin()
wxLogin().then(res => {
let wxGetUserInfo = Api.wxGetUserInfo()
return wxGetSystemInfo()
}).then(res => {
console.log(res.userInfo)
})
如果觉得我的文章对您有用,请您随意打赏。您的支持将鼓励我更加努力创作!
如无特殊声明,文章均为原创,若有不正之处,万望告知。转载请附上原文地址,十分感谢!