/tools/ajax.js
import $fetch from '@system.fetch'
function requestHandle(params) {
return new Promise((resolve, reject) => {
$fetch.fetch({
url: params.url,
method: params.method,
data: params.data
}).then(response => {
const result = response.data
const content = JSON.parse(result.data)
/* @desc: 可跟具体不同业务接口数据,返回你所需要的部分,使得使用尽可能便捷 */
// content.code === 200 ? resolve(content.result) : resolve(content.message)
resolve(content)
}).catch((error, code) => {
console.log(` request fail, code = ${code}`)
reject(error)
})
})
}
/* 此处只是处于示例代码的可运行性,实际项目中,此方法最好予以封装 & 提取 */
function queryString(url, query) {
let str = []
for (let key in query) {
if (typeof query[key] === 'object') {
query[key] = JSON.stringify(query[key])
}
str.push(key + '=' + query[key])
}
let paramStr = str.join('&')
return paramStr ? `${url}?${paramStr}` : url
}
export default {
post: function (url, params) {
return requestHandle({
method: 'post',
url: url,
data: params
})
},
get: function (url, params) {
return requestHandle({
method: 'get',
url: queryString(url, params)
})
}
}
api.js
import $ajax from './ajax'
const baseUrl = 'http://xiangzizhuye.top/'
export default {
getFocus(data) {
return $ajax.get(`${baseUrl}focus/getfocus`, data)
}
// ,
// getOtherApi(data) {
// // other api ....
// }
}
app.ux
import servers from './tools/api.js'
// 注入到全局
const hookTo = global.__proto__ || global
hookTo.servers = servers
export default {
servers
}
页面中使用
onInit() {
console.log('init')
servers.getFocus({}).then(res => {
console.log('res', res)
this.focusList = res.map(ele => {
return 'http://xiangzizhuye.top' + ele.imsrc.substring(7)
}).splice(3)
})
}