微信小程序request请求封装
文章需要 Promise 基础,以下为源码,可直接使用。
//写一个单独文件 request.js 我是写在了 utils 文件夹中
const domain = 'http://localhost:8080/' // 后台地址通用部分
/*
url 地址
data 参数
method 方法
header 请求头
*/
export function serve(url, data,method,header) {
return new Promise((resolve, reject) => {
const request_ = new Promise((resolve, reject) => {
resolve()
})
Promise.all([request_]).then(() => {
wx.request({
url: domain + url,
data,
header: header || {"content-type":"application/json"},
method:method || "GET",
success: function(res) {
resolve(res.data);
},
fail: function(res) {
reject(res.data)
},
complete: function(res) {},
})
})
})
}
// 上面代码结束,在写一个 api.js 文件,和上面文件同级,用来统一管理方法路径
import {
serve
} from "./request.js";
const path = {
login_url: 'login', //登录
Index_url: 'index', //首页
}
export const api = {
/* 登录 */
login: (data = {}) => {
return serve(path.login_url, data)
},
{
Index:(data = {})=>{
return serve(path.Index_url,data,"POST")
}
}
}
// 之后在 app.js 引入
const {api} = require('./utils/api.js');
let that;
App({
api,
data:{
time:''
},
onLaunch(){
this.getLogin()
},
getLogin(){
that = this
let data = {
name:'zhao',
pas:'1234'
} // 参数
this.api.login(data).then(res=>{
console.log(res)
})
}
}
)
//以上就是在 app.js 中使用方法
// 在正常页面使用方法 index.js
const app = getApp() // 必须引入
let that;
page({
data:{
list:[]
},
onLoad(){
this.getList()
},
getList(){
that = this
let data = {
game_id:"123"
}
app.api.getIndex(data).then(res=>{
that.setData({
list:res.data.list
})
})
}
})
// 以上就是在其他页面使用方法
感谢阅读!转载请注明出处🧐