import {config} from "../config.js"
var hasClick = false ;
class HTTP{
request({url,data={},method='GET'}){
return new Promise((resolve, reject)=>{
this._request(url, resolve, reject, data,method )
})
}
_request(url,resolve,reject,data={},method='GET'){
if (hasClick){
return ;
}
hasClick = true ;
wx.showLoading({
title: '加载中...',
mask: true
})
let token = wx.getStorageSync("token");
let header = {
'content-type': 'application/json',
}
if (token) {
header.Authorization = 'Bearer ' + token
}
wx.request({
url: config.api_url+url,
method:method,
data:data,
header: header,
success:(res)=>{
if (res.statusCode && res.statusCode != 200) {
reject()
this._show_error('服务器 ' + res.statusCode + ' 错误')
return
}
if (res.data && res.data.code != 200) {
reject()
this._show_error(res.data.msg)
return
}
resolve(res.data.data)
},
fail:(err)=>{
reject()
this._show_error('异常')
},
complete:()=>{
wx.hideLoading()
hasClick=false
}
})
}
_show_error(msg){
wx.showToast({
title: msg,
icon:"none",
duration:2000
})
}
}
export {HTTP} ;
config.js
const config={
api_url:"http://myyqapi.com/",
appkey:""
}
export {config}
封装model
import {HTTP} from '../utils/http.js'
class Index extends HTTP{
getHot(){
return this.request({
url:"pc_v1/demo/hot"
})
}
}
export {Index}
使用
index.getHot().then(
res=>{
console.log(res)
console.log("11111")
}
).then(
res=>{
console.log("222222")
}
).then(
res => {
console.log("33333")
}
)
.catch(
err=>{
console.log(err)
}
)