最近要写一个微信小程序,发现微信小程序的开发环境真实传说中的尸米山。呵呵呵。
先将无数的异步转同步吧。
./utils/async.js
const wxLogin = async function (code) {
return new Promise((resolve, reject) => {
wx.login({
success(resp) {
resolve(resp.code)
},
fail: reject
})
})
}
const wxRequest = async function (path, method, data) {
return new Promise((resolve, reject) => {
wx.request({
url: 'https://api.yourdomain.com/' + path,
method,
data,
success: resolve,
fail: reject
})
})
}
const wxGet = async function (path, data) {
return await wxRequest(path, 'GET', data)
}
const wxPost = async function (path, data) {
return await wxRequest(path, 'POST', data)
}
module.exports = {
wxLogin,
wxRequest,
wxGet,
wxPost
}
const {
wxLogin,
wxGet,
wxPost
} = require('./utils/aysnc');
// app.js
App({
async onLaunch() {
wx.showLoading({
title: 'Loading',
});
const code = await wxLogin();
if (code) {
let data = {
code
};
let resp = await wxGet('yourfile.php', data)
if (resp) {
console.log(resp.data);
let id = resp.data.id;
this.globalData.id = id;
this.globalData.initialized = true;
wx.hideLoading({
success: (res) => {
console.log('hide')
},
})
}
}
console.log('Launched')
},
globalData: {
userInfo: null,
initialized: false,
tagId: 0
}
})