handleLogin.js
//
function login(callback) {
let promise = new Promise(function(resolve, reject) {
wx.login({
success: function(res) {
if (res.code) {
const params = {
appid: "wx66e4ec7b580c2658",
grant_type: "authorization_code",
js_code: res.code,
secret: "8028563818513852479da62c3004afc2"
}
loginServer(params).then((res) => {
console.log(res)
wx.setStorageSync("access_token", res.data)
console.log(res.data)
wx.setStorageSync("login", 0)
resolve(res)
// wx.setStorageSync("access_token", "aaa")
})
} else {
showToast()
}
},
fail() {
showToast()
}
});
return promise
});
}
function loginServer(params) {
let promise = new Promise(function(resolve, reject) {
wx.request({
url: `http://062c76de.ngrok.io/20180507/net-cosrun-project/web/v1/activity/login`,
data: params,
method: "POST",
success: function(res) {
resolve(res);
}
})
})
return promise
}
function showToast(content = "") {
wx.showToast({
title: content,
icon: "none"
})
}
module.exports = {
login: login,
}
the encapsulated request is like this
const handleLogin = require("./handleLogin.js");
handleLogin.login().then({
request()
})
function request(url, params, method) {
const appid = "miinno.com"
const secret = "123456"
const version = "api/v1"
const timestamp = new Date().getTime()
const a = appid + "APPID" + secret + "SECRET" + timestamp
const sign = sha1(appid + "APPID" + secret + "SECRET" + timestamp)
token = sign + "." + timestamp + "." + version
// console.log(wx.getStorageSync("access_token"))
let promise = new Promise(function(resolve, reject) {
wx.request({
url: url,
data: params,
header: {
"X-Token-With": token,
"Authorization": wx.getStorageSync("access_token")
},
method: method || "GET",
success: function (res) {
// app.globalData.netWorkData = res.data
resolve(res);
if (res.data.hasOwnProperty("error")) {
console.log(url)
if (url != "http://f63aca00.ngrok.io/20180507/net-cosrun-project/web/v1/vote/vote") {
wx.showModal({
title: "",
content: res.data.error.message,
success: function (res) {
if (res.confirm) {
} else if (res.cancel) { }
}
})
}
}
}
})
});
return promise
}
how to write to enable you to request other interfaces only after the login is completed