美文网首页
关于小程序API使用遇到过的问题

关于小程序API使用遇到过的问题

作者: 嗷呜的伍 | 来源:发表于2019-08-21 15:43 被阅读0次

    1.wxacode.getUnlimited

    请求地址后面必须拼接 ?access_token=ACCESS_TOKEN


    Snipaste_2019-08-21_15-42-55.png

    2.小程序接口报错request:fail response data convert to UTF8 fail

    报错原因是因为这个API需要在后端调用而不是前端调用

    Snipaste_2019-08-22_10-18-52.png

    3.关于授权拒绝后再次调用授权

    调用某个需要授权的API失败出现的情况:
    I:第一次调用自动弹出授权弹,拒绝后再次调用失败。
    II:第一次调用自动弹出授权弹,授权后再次调用因某些原因失败
    使用wx.getSetting()查询授权状态,如果已授权则直接调用wx.openSetting()打开授权设置,若未授权直接调用wx.openSetting()无效,所以调用wx.openSetting()前先弹框询问后再调用

                //to do something...
                fail(res) {
                 //调用失败
                 //查询授权状态
                  wx.getSetting({
                    success(res) { 
                      //保存到相册权限
                      if (!res.authSetting["scope.writePhotosAlbum"]) {
                      //若直接调用无效
                      // wx.openSetting({
                      //   success(res){}
                      //});
                        wx.showModal({
                          title: "是否授权保存图片到相册",
                          content:"需要授权,否则无法保存图片到相册",
                          success(res) {
                            if (res.confirm) {
                                mpvue.openSetting({
                                  success(res){
                                    console.log(res); 
                                  }
                                })
                             }
                           }
                         });
                        }else{
                          wx.openSetting();
                        }
                     },
                   })
                }
    

    4request请求返回数据为{cookies: Array(0), errMsg: "request:ok"}导致return resolve(res)出错

    解决方案


    Snipaste_2019-09-03_11-16-44.png

    改为


    Snipaste_2019-09-03_11-32-32.png

    5关于小程序码参数解析问题

    文档中说明


    Snipaste_2019-09-24_09-08-10.png

    因此代码为

      mounted() {
        // 隐藏右上角转发按钮
        mpvue.hideShareMenu();
        const that = this;
        const data = this.$root.$mp.query;
        // 判断是否为小程序码进入该页面
          if (data.scene) {
            // 小程序码传入的参数
            let scene = decodeURIComponent(data.scene);
            let tempArray = scene.split('&');
            tempArray.forEach(element => {
              let data = element.split('=');
              switch (data[0]) {
                case 'pid'://参数pid
                  posterId = data[1]
                  break;
                case 'sid'://参数sid
                  sid = data[1]
                  break;
                case 'mid'://参数mid
                  mid = data[1]
                  break;
                default:
                  break;
              }
            });
          }
        },
    

    另小程序码可以通过开发者工具扫码进行编译进入线上的小程序

    Snipaste_2019-09-24_09-14-43.png

    相关文章

      网友评论

          本文标题:关于小程序API使用遇到过的问题

          本文链接:https://www.haomeiwen.com/subject/aftisctx.html