Skip to content
Posted in: uni-app

为什么应该在uni-app项目里使用luch-request?

uni-app 是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、H5、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。

项目的开发离不开数据交互,一个好的request请求库可以让我们的开发事半功倍。uni-app也不例外,uni.request只提供基础请求功能,无法达到项目开发的要求,luch-request应运而生。

luch-request 官网
luch-request官网

luch-request是什么?

luch-request 是一个基于Promise 开发的uni-app跨平台、项目级别的请求库,它有更小的体积,易用的api,方便简单的自定义能力。

luch-request诞生于19-05月,至今已迭代20多个版本。DCloud插件市场request类插件下载量第一。支持npm下载。

它能为我们解决什么问题?

也许你还不明白这些有什么用。但是他却对应着我们开发中一个一个的痛点。

你的数据获取方式

uni.request({
    url: this.$baseUrl + 'api/user?arg1=data1'
    method: 'POST',
    data: {id:1},
    header: {Content-Type: '...', token: '....'}
    success: (res) => {},
    fail: (err) => {}
}) 

使用luch-request后

this.$http.post('/api/user', {
    id: 1
}, {
    params: {
        arg1: data1
    }
}).then(res => {
    ...
}).catch(err => {
    ...
})

它有什么优势?

条件编译开发: 减少代码体积,减少开发中debug时的误导影响。看不到对应终端额外的参数。

极易的自定义能力: 有些插件会把loading、auth等参数加入配置,使其做一些请求之外的操作,这些配置并不是所有人都会使用。request请求库只需专注于请求即可。luch-request对额外操作的处理则更为优雅,增加了custom配置,使开发者可以做一些自定义操作。

http.setConfig((config) => { /* config 为默认全局配置*/
  config.baseURL = 'http://www.quanzhan.co' /* 根域名 */

  config.custom = {
    loading: true // 默认有loading
  }
  return config
})
http.interceptors.request.use((config) => { /* 请求之前拦截器。可以使用async await 做异步操作 */
  config.header = {
    ...config.header,
    a: 1 // 演示拦截器header加参
  }
  // 演示custom 用处
  if (config.custom.loading) {
    uni.showLoading()
  }
  return config
}, (config) => {
  return Promise.reject(config)
})

http.interceptors.response.use(async (response) => { /* 请求之后拦截器。可以使用async await 做异步操作  */
  // if (response.data.code !== 200) { // 服务端返回的状态码不等于200,则reject()
  //   return Promise.reject(response)
  // }
  if (response.config.custom.loading) {
    uni.hideLoading()
  }
  return response
}, (response) => { // 请求错误做点什么。可以使用async await 做异步操作
  console.log(response)
  if (response.config.custom.loading) {
    uni.hideLoading()
  }
  return Promise.reject(response)
})

// 单接口不想要loading
http.get('user/list', {custom: {loading: false}})
http.post('user/list', {}, {custom: {loading: false}})

易用的api设计: 部分api设计为降低学习成本,参照 axios设计。并扩展一些其它的api,入门更加容易。

快速上手

npm

npm i luch-request -S

cli 用户使用npm 包需增加以下配置项目根路径下创建vue.config.js 文件,增加以下内容

// vue.config.js
 module.exports = {
      transpileDependencies: ['luch-request']
 }

GitHub

GitHub

使用DCloud/luch-request 文件夹即可

DCloud插件市场

DCloud插件市场

luch-request官网

luch-request官网

更新历史

更新记录

写得很详情,大佬牛掰

471413186@qq.com

请问 小程序甄姬调试的时候请求会报错 VM173:2 (in promise) MiniProgramError”baseURL”:”http://xxx。site:8000″,”method”:”POST”,”url”:”/auth/token/wechat”,”params”:{},”custom”:{},”header”:{},”data”:{“number”:”7441929″,”password”:”270032″},”timeout”:30000,”dataType”:”json”,”responseType”:”text”}
Object
其余调试都不会

awen

牛批,支持了

Back to Top

玻璃钢生产厂家聊城玻璃钢雕塑制作禅城情景玻璃钢人物雕塑玻璃钢动植物雕塑新民玻璃钢雕塑厂家玻璃钢卡通雕塑尺寸贺兰玻璃钢园林雕塑商场新年大门口美陈保山市玻璃钢雕塑哪家好白城园林景观玻璃钢雕塑工厂重庆商业广场玻璃钢卡通雕塑规格浙江户外商场美陈价格焦作玻璃钢雕塑制作玻璃钢雕塑日本廊坊浙江大型玻璃钢花盆成都玻璃钢海豚雕塑定制商场门口摆美陈要城管报批吗商场主通道美陈图片包头卡通人像玻璃钢雕塑玻璃钢雕塑定制定制淮安玻璃钢雕塑安装常见玻璃钢雕塑摆件供货商山东超市商场美陈市场价人物校园玻璃钢雕塑报价黑龙江泡沫玻璃钢雕塑专业不锈钢玻璃钢仿铜雕塑公司广西玻璃钢塑料雕塑公司玻璃钢雕塑专业的有哪些丹阳商场周年美陈日照玻璃钢人物雕塑南通玻璃钢动物雕塑厂家直销香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化