收藏
回答

wx.request如何让mock获取到data请求参数?(已解决)

众所周知,小程序开发者工具与浏览器有所区别,无法识别mock,本人在网上找到了基于mock封装可以用于小程序拦截请求的WxMock脚本,但这个封装也仅仅能起到地址url对应拦截作用,连精准的请求类型都做不到

作为前端人员,我想请教一下,像前端用开发工具软件模拟数据的话,微信该如何实现?(导入拦截脚本,拿到请求数据,发送模拟数据,建立后台数据库太麻烦了,还得开服务器自己去匹配,不利于快速调试)

补充:https://developers.weixin.qq.com/community/develop/doc/000408c5fc41d0efef06f5f7051406(WxMock文档地址)

主要是WxMock这个信息太少了(看了下脚本,仅仅是对mock脚本进行了包裹,让开发工具可以识别),微信文档也没有相关的请求发送数据的针对解释

这里不知道是不是Wx request需要修改请求头才能带参,还是WxMock需要另外填形参去接收入参?小弟就不大懂了。。。 (是要解决服务端获取到入参处理,不是客户端返回值问题哈,这里服务端设置成return 形参,是为了把接收到的数据再返回去打印,我是在那一堆内置对象里死活找不到入参的data) 经过楼下大神对mock重新封装,问题解决,感谢感谢~

最后一次编辑于  2019-08-28
回答关注问题邀请回答
收藏

2 个回答

  • o0o有脾气的酸奶
    o0o有脾气的酸奶
    2019-08-28

    https://developers.weixin.qq.com/community/develop/doc/000408c5fc41d0efef06f5f7051406

    没那么麻烦吧

    2019-08-28
    有用 2
    回复 21
    • 氪金馆长
      氪金馆长
      2019-08-28
      感谢大神的回复,这个文档当时也参考了,现在的问题是,封装的wxmock在回调函数里获得的是type为function的对象,里面找不到入参键值对,我想了解的是这部分。文档也没写,只写了如何匹配(精确匹配貌似也不行,一旦中间写改类型的值也会匹配不上,这封装太水了)
      2019-08-28
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-08-28回复氪金馆长
      有代码片段吗?
      2019-08-28
      回复
    • 氪金馆长
      氪金馆长
      2019-08-28
      我试了用(option)=》{}接收的一级层级根本没有入参的键值对,返回了一堆的底层配置函数f之类的
      2019-08-28
      回复
    • 氪金馆长
      氪金馆长
      2019-08-28回复o0o有脾气的酸奶
      代码不复杂,就按照文档的改后面的返回对象,用箭头函数形参接收入参,再返回给客户端,按道理,一级层就应该带有入参对象的,稍等我截个图
      2019-08-28
      回复
    • o0o有脾气的酸奶
      o0o有脾气的酸奶
      2019-08-28回复氪金馆长
      Mock.mock('http://xxx.com/user/login', {
        "data": {
          code: 200,
          msg: '',
          data:[{
            username:'ahksdfjlsa'
          }, {
            username: '545sd64'
          }]
        }
      });
      wx.request({
            url: 'http://xxx.com/user/login',
            success:function(res){
              // res.data 和 不使用mock时,返回的res.data一致
              console.log(res.data)
            }
          })


      2019-08-28
      回复
    查看更多(16)
  • .
    .
    2019-10-12

    可以发post请求吗?

    2019-10-12
    有用
    回复
登录 后发表内容
问题标签