美国大队长的盾
美国大队长的盾
  • 发布:2018-08-10 17:22
  • 更新:2018-08-10 17:25
  • 阅读:4474

uni.request 抽象到 js 再进行引用方案如何设置

分类:uni-app

现在uniapp 开发访问后台使用 uni.request(OBJECT) 接口,现在我想要包装一下此接口到 js
文件种,然后再在vue文件开发进行引用,发现 uni 对象放进js 文件后就消失了,报错,错误信息如下

17:11:05.831 appServiceSDKScriptError
17:11:05.853 e.hasOwnProperty is not a function; at wx.request
17:11:05.872 TypeError: e.hasOwnProperty is not a function
17:11:05.975 at eval (uni-app:///common/shanzhuAjax.js?99e9:66:9)
17:11:06.016 at _class.ajaxPost (uni-app:///common/shanzhuAjax.js?99e9:36:11)
17:11:06.037 at Vue$3.onLoad (uni-app:///pages/index/index.vue?4cb1:132:11)

所以想请教下,如果将 uni.request(OBJECT) 对象包装进js,我需要做什么调整或者是否支持我的这种方式?

本来打算引入axios ,发现由于JS限制原因,方案失败!

--------------------------------------------关联描述----------------------------------------------------
JS限制
不能使用浏览器自带对象,比如document、window、localstorage等,更不能使用jquery等依赖这些浏览器对象的框架。因为各家小程序快应用都不支持这些对象。

2018-08-10 17:22 负责人:无 分享
已邀请:
DCloud_heavensoft
  • 美国大队长的盾 (作者)

    漂亮,谢啦!看来得同时看这些文档啊,只看uni确实不全!

    2018-08-10 17:26

  • 美国大队长的盾 (作者)

    还有个问题,uni微信fly const Fly=require("flyio/dist/npm/wx") 测试通过,app 的话是使用同一个还是 //var Fly=require("flyio/dist/npm/fly") 这个。 同一个app中测试通不过,错我信息 request:fail abort 如果使用require("flyio/dist/npm/fly"),错误信息:TypeError: this.engine is not a function 。那么uniapp 使用哪个方案呢?

    2018-08-10 18:54

  • DCloud_UNI_FXY

    在 uniapp 中使用 flyio,就是require("flyio/dist/npm/wx")来使用,可以保持app 和小程序的兼容性,但是还是建议使用 uni.request 来调用,因为 uni.request 本身就具备了跨平台能力

    2018-08-11 00:26

  • 美国大队长的盾 (作者)

    回复 DCloud_UNI_FXY:在 uniapp 中使用 flyio,就是require("flyio/dist/npm/wx")来使用,在微信中可以测试通过,app中测试通不过,错误信息 request:fail abort

    2018-08-11 11:12

  • 美国大队长的盾 (作者)

    回复 DCloud_UNI_FXY: 在 uniapp 中使用 flyio,就是require("flyio/dist/npm/wx")来使用,可以保持app 和小程序的兼容性 【 bug 在app 环境下不能使用127.0.0.1 错误信息 request:fail abort ;我换成了 内网ip 或外网ip就可以了,知道是不是bug】

    2018-08-12 22:49

该问题目前已经被锁定, 无法添加新回复