脚踏八方全是坑
- app.js中定义的在其他页面使用时
先定义 const app = getApp(), 此函数为获取全局属性,即获取到app.js中定义的东西
然后使用时app.xxx 即可, 如获取全局变量globalData,就可用app.globalData.xxx即可
2.分包:没写头
3.后端返的bas64位图片路径一定要去空格,去换行,否则安卓机图片显示不出来 - 获取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