likes
comments
collection
share

微信小程序开发问题记录

作者站长头像
站长
· 阅读数 14

这篇文章主要记录最近在微信小程序开发过程中遇到的一些问题。具体问题如下:

1、小程序在微信开发者工具授权登录失败 2、真机调试时,请求异常:Provisional headers are shown 3、wx.showModal在安卓手机上会显示取消按钮,在iOS手机上未显示取消按钮 4、微信小程序设置返回pageC -> pageA 5、小程序开发版如何提供给测试人员测试 6、小程序提交审核时:提示接口未配置在app.json文件中且无权限

1、 小程序在微信开发者工具授权登录失败

原因:AppId不对。 我们拉取项目到本地,用微信开发者工具打开后,默认的AppId是touristId. 我们需要将该AppId 修改为当前项目的AppId。这个id可以向相应的后端开发或者产品要。注意需要登录后才能修改成功,未登录修改会提示修改失败。

解决方案:修改AppId 修改AppId有以下两种方式: ① 在开发工具的右上角点击详情 -> 基本信息

微信小程序开发问题记录

② project.config.json  在这个配置文件中修改

微信小程序开发问题记录

2、真机调试时,请求异常:Provisional headers are shown

微信小程序开发问题记录

原因之一:SSL证书链问题 解决方案:找运维更新下证书链即可

3、wx.showModal在安卓手机上会显示取消按钮,在iOS手机上未显示取消按钮

增加以下三个属性就可以了: showCancel:true, cancelColor: "#000000",//取消文字的颜色 confirmColor: "#526BB1",//确定文字的颜色 完整版:

     wx.showModal({
        showCancel:true,
        cancelColor"#000000",//取消文字的颜色
        confirmColor"#526BB1",//确定文字的颜色
        content'是否前往登录?',
        success(res) {
          if (res.confirm) wx.switchTab({
            url'/pages/home/index',
          })
        }
      })

4、微信小程序设置返回pageC -> pageA

期望描述:正常访问过程为 A -> B -> C,然后点返回直接C -> A,而不是一页一页的返回。 解决方案:在pageC的onUnload钩子函数中指定跳转路径为A页面,具体实现如下:

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function ({
    //如果要返回的页面是tabbar页面,可更换为 wx.switchTab
    wx.reLaunch({
        url'/pages/my/index'
    })
  },

顺便再回顾下微信小程序中页面跳转的几种方式:

注:参数这里列出的是必传的参数,还有其他的一些回调参数,具体到官网API看吧。

① wx.switchTab

功能描述:跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面 示例代码:

//注意不支持携带参数,可以通过wx.setStorageSync('params', params)存储到本地
wx.switchTab({
  url: '/index'
})

② wx.reLaunch

功能描述:关闭所有页面,打开到应用内的某个页面 示例代码:

wx.reLaunch({
  url: 'test?id=1&key=value'
})

③ wx.redirectTo

功能描述:关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。 示例代码:

wx.redirectTo({
  url: 'test?id=1&key=value'
})

④ wx.navigateTo

功能描述:保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用wx.navigateBack可以返回到原页面。小程序中页面栈最多十层。 示例代码:

wx.navigateTo({
  url: 'test?id=1&key=value'
})

⑤ wx.navigateBack

功能描述:关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。 示例代码:

wx.navigateBack({
  delta: 2 // 返回的页面数,如果 delta 大于现有页面数,则返回到首页。
})

取参

Page({
  onLoad (option) {
    console.log(option.query)
  }
})

5、小程序开发版如何提供给测试人员测试

在开发者工具右上角有个上传按钮,将代码上传,并让管理员登录微信开发平台,将本次提交的版本切换为体验版。测试或者其他同事就可以扫码进行体验了。

微信小程序开发问题记录

当然,他们扫描后可能会需要申请,申请提交,管理员确认通过后,重新扫描小程序码,就可以进入小程序体验了。

微信小程序开发问题记录

6、小程序提交审核时:提示接口未配置在app.json文件中且无权限,如下图:

微信小程序开发问题记录

解决方案:

在app.json文件中增加以下配置:

"requiredPrivateInfos": [
    "getLocation" // 提示缺啥就补啥
  ]

OK,本篇就记录这么多。最后还想说一句:小程序修改后要及时编译再看效果,免得误以为没生效浪费时间。

微信小程序开发问题记录