wx-js-sdk及小程序学习

脚踏八方全是坑

  1. app.js中定义的在其他页面使用时
    先定义 const app = getApp(), 此函数为获取全局属性,即获取到app.js中定义的东西
    然后使用时app.xxx 即可, 如获取全局变量globalData,就可用app.globalData.xxx即可
    2.分包:没写头
    3.后端返的bas64位图片路径一定要去空格,去换行,否则安卓机图片显示不出来
  2. 获取data-xx传值,老是记不住单词: e.currentTarget.dataset.xx,
    公众号项目的坑:(在第一次写的时候遇到很多,去百度基本都一样,还基本是复制的,其中的坑的很少描述,只找到一个大佬写过我遇到的一个,非常感谢,不过记不到了,见谅)
    1.当我在vue中用第三方ui框架调用上传图片,手机上调不了,暂时未排除是手机问题还是其他问题,反正最后就只能调wx-js-sdk的上传相关接口
    2.wx.config签名认证(没写过的一定要记得的):最开始被封装成公用方法时一脸迷茫,因为认证成功后剩下的其余sdk应该放在哪儿,还是重新封装,这放个示例:
getConfig (data) {
    Serve.getRz(data).then(res => {
      // 认证
      wx.config({
        debug: false, // 开启调试模式,
        appId: res.data.data.appId, // 必填,企业号的唯一标识,此处填写企业号corpid
        timestamp: res.data.data.timestamp, // 必填,生成签名的时间戳
        nonceStr: res.data.data.nonceStr, // 必填,生成签名的随机串
        signature: res.data.data.signature, // 必填,签名,见附录1
        jsApiList: ['scanQRCode', 'checkJsApi', 'onMenuShareAppMessage', 'chooseImage', 'previewImage', 'uploadImage', 'downloadImage'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
      })
    })
  }

这是我自己写在方法里面的,我这是对axios请求重新封装了的,只看wx.config就行了,data为当前地址,通用写成window.localtion.href然后请求后端就行了,在要用jsApiList里面的js的页面进行调用,另外wx.config的参数除了debug和jsApiList其他都是根据你调用后端接口来获取,如果你请求到后端的数据还是认证不成功,这一段代码没问题,那么请找你后端,那是他们的问题,愿看这个文章的前端大手子们不要遇到我遇到的后端,拖了一天才改,后面还说我进度慢
3.认证成功后调用api时wx.ready写不写可以看情况哈,有些初始时就得加载,如分享,那么你就得写在wx.ready里面,如果是通过自写按钮操作,那么可以不用,我的一个分享:

在这里如果你直接写页面上的然后要取值,那么请使用var that = this,一定要记得转
  getMessage (data) {
    wx.ready(function (res) {
      console.log('验证是否进入', res)
      // config信息验证成功后会执行ready方法,所有接口调用都必须在config接口获得结果之后
      // config 是一个客户端的异步操作,所以如果需要在页面加载时调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行.对于用户触发是才调用的接口,则可以直接调用,不需要放在ready函数中
      wx.checkJsApi({ // 判断当前客户端版本是否支持指定JS接口
        jsApiList: [
          'onMenuShareAppMessage'
        ],
        success: function (res) {
          console.log(res)
          wx.onMenuShareAppMessage({
            title: '公益防疫登记', // 分享标题
            desc: '您的朋友邀请您的加入', // 分享描述
            link: data, // 分享链接
            imgUrl: '', // 分享图标,
            type: '',
            success (res) {
              console.log(res)
              console.log('分享给朋友')
            },
            cancel: function (res) {
              console.log(res)
              // 用户取消分享后执行的回调函数
            }
          })
        },
        fail: function (res) { // 检测getNetworkType该功能失败时处理
          alert('fail' + res)
        }
      })
    })
  }``
然后就是最后一个问题了:如果你能认证成功,但死活后续操作不行的话记得看看你自己版本,请谨慎选择一个版本,一定不要用1.4.0 test

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值