wx.request
| wx.request | header: { ‘content-type’: ‘application/json’ // 默认值 }, header: { ‘content-type’: ‘application/x-www-form-urlencoded’ // post默认值 }, |
|---|---|
wx.request({url: 'example.php',data: {x: '',y: ''},method:'POST',header: {'content-type': 'application/json' // 默认值},success (res) {console.log(res.data)}})
封装
const baseUrl = "http://kumanxuan1.f3322.net:8001";
export default function request(url,params={}) {
// 封装网络请求的代码
return new Promise(function (resolve, reject) {
wx.showLoading({
title: '加载中...',
})
let token = wx.getStorageSync('token');
var defaultHeader = {} //用于请求头加token
//用户登录过时追加token
if(token){
if(params.header){
// params有可能是一个{}, 则params.header就是undefined,params.header["X-Nideshop-Token"]报错
params.header["X-Nideshop-Token"] = token
}else{
// 已经登录,但是没有传params
defaultHeader = {
"X-Nideshop-Token":token
}
}
}
// 发起请求
wx.request({
url: baseUrl + url,
data: params.data || {},
header: params.header || defaultHeader,
method: params.method || 'GET',
dataType: 'json',
success: function(res) {
wx.hideLoading();
//调用成功但其他原因导致失败
if(res.data.errno==0){
resolve(res.data)
}else{
wx.showToast({
title: res.data.errmsg,
icon:"error",
duration: 2000
})
}
},
fail: function(err) {
wx.hideLoading();
wx.showToast({
title: err || '请求错误!',
})
reject(err)
}
})
})
}
调用
api.js
import request from './request'
// 用户注册/登录
export const LoginByWebApi = params => request("/auth/loginByWeb", params);
组件
import {LoginByWebApi} from '../../request/api'
async loginSubmit(){
//调用登录接口
let res = await LoginByWebApi({
method:'POST',
data:{
username:this.data.login_username,
pwd:this.data.login_password
}
})
}
