项目目录:
1,在src下创建utils/wx-request.js
function request (url, method, data, header = {}) {
wx.showLoading({
title: '加载中' // 数据请求前loading
})
return new Promise((resolve, reject) => {
wx.request({
url: url, // 仅为示例,并非真实的接口地址
method: method,
data: data,
headers: {
'content-type': 'application/json' // 默认值
},
success: function (res) {
wx.hideLoading()
resolve(res.data)
},
fail: function (err) {
wx.hideLoading()
reject(err)
},
complete: function () {
wx.hideLoading()
}
})
})
}
function get (url, data) {
return request(url, 'GET', data)
}
function post (url, data) {
return request(url, 'POST', data)
}
export default {
request,
get,
post
}
2,main.js中引入到vue原型(此步骤可以忽略不进行,原因:只能在 .vue文件中通过this.$httpWX使用,不能在第三步骤创建的文件中使用)
import WXrequest from './utils/wx-request'
Vue.prototype.$httpWX = WXrequest
3,在src下创建config文件夹,在config下创建index.js文件, 引入wx-request.js文件为WXrequest,并引入第四步创建的api.js为 api
import WXrequest from '../utils/wx-request'
import api from './api';
使用WXrequest
4,在src下创建config文件夹,在config下创建api.js文件, 把所有接口地址放在这个文件里
let base = 'https://newapi.taoerxue.cn/1'
export default {
getAllOrgType: `${base}/org/getAllOrgType`,
getAllOrgType01: `${base}/org/getAllOrgType01`,
getAllOrgType02: `${base}/org/getAllOrgType02`,
getAllOrgType03: `${base}/org/getAllOrgType03`,
getAllOrgType04: `${base}/org/getAllOrgType04`,
}
接口只是例子,不是真正的几口地地
5,在vue页面中使用
<script>
import ClickCounter from '@/components/click-counter';
import {getAllOrgType} from '../../cofig'
export default {
components: {
ClickCounter
},
data () {
return {
msg: 'hello'
}
},
methods: {
getOrgType () {
getAllOrgType().then((json) => {
console.log(json.data)
}).catch((err) => {
console.log(err)
})
}
}
}
</script>