收藏
回答

使用插件后, wx.request不允许重写

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug wx.request 微信iOS客户端 6.6.6 2.0.9

为了解决wx.request并发的限制, 通过以下代码重载了wx.request的实现

var wxRequest = wx.request;

Object.defineProperty(wx,  "request" , { writable:  true });

wx.request = function(){

//重写wx.request逻辑

}

不使用插件是正常的, 但如果使用插件, 报以下的错误:

sdk uncaught third Error 

 Cannot redefine property: request 

 TypeError: Cannot redefine property: request


请问, 这是使用插件后安全性限制导致的吗? 如果是的话, 有没有解决办法(原始需求是想重写wx下的某些方法)?


回答关注问题邀请回答
收藏

4 个回答

  • 小程序技术专员-拉风
    小程序技术专员-拉风
    2018-06-11

    在插件模式下不允许重写全局方法或者wx下的方法,这是为了保护插件和小程序双方数据安全。 你可以自己起一个新的API名字,你自己的代码用这个新的名字去调用即可

    2018-06-11
    有用
    回复 1
    • 2018-06-11

      我不是定义插件的代码中重写wx.request, 而是在使用插件的项目中重写wx.request, 也不支持吗?

      代码片段:  wechatide://minicode/zSNKP5ms7CSP

      2018-06-11
      回复
  • 一π狐言
    一π狐言
    2021-05-21

    大佬!咋重写的鸭

    2021-05-21
    有用
    回复
  • 2018-06-11

    使用的是

    "plugins": {

    "WechatSI": {

    "provider": "wx069ba97219f66d99",

    "version": "0.0.6"

    }

    },

    这个插件

    2018-06-11
    有用
    回复
  • 一碗肉nina
    一碗肉nina
    2018-06-11

    你好,请问你具体使用了什么样的插件呢,可以提供代码片段看看。

    2018-06-11
    有用
    回复
登录 后发表内容