快应用: 封装公共请求

/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)
    })
  }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值