1在公众号界面配置前端服务
Js接口安全域名 这里填写前端服务的ip和端口号(这里ip加端口号就行---很多网上都说前台需要内网穿透--其实不需要)
如果需要使用获取用户信息需要在如下位置配置
2前台向后台请求数据进行js-sdk权限校验
代码解释:
以下是获取前端路径---解析出来为(例如http://192.168.173.51:81/)
特别需要注意的http://192.168.173.51:81****/******** 后边这个斜杠一定要带上---不带的话微信会一直****校验不通过
****特别需要注意的 ********以下这句代码往后台传输的时候一定不需要encodeURLComponent ****
设置编码 --或者可以编码--但是后台需要解码
const currenturl = location.href.split('#')[0]
另外建议测试js-sdk时先配置一个上传文件的chooseImage--因为这个测试比较明显
3选择图片的方法
export const chooseImageApi = () => {
return new Promise((resolve, reject) => {
wxconfig()
wxjssdk.ready(() => {
console.log('微信验证')
wxjssdk.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
console.log(res)
resolve(res)
// var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
},
cancel: function (): void {
console.log('用户取消了')
// throw new Error('Function not implemented.')
// throw new Error('Function not implemented.')
},
})
}),
wxjssdk.error((res) => {
console.log('config fail:', res)
//config fail,抛出失败原因
console.log('-------------失败------------')
reject(res)
})
})
4配置代码
//获取签名--添加微信配置
export const wxconfig = async () => {
// const currenturl = encodeURIComponent(location.href.split('#')[0])
const currenturl = location.href.split('#')[0]
alert(currenturl)
const response = await getSignatureApi({ url: currenturl })
//将值装进微信的配置
wxjssdk.config({
debug: true,
appId: appId,
timestamp: response.data.timestamp,
nonceStr: response.data.nonceStr,
signature: response.data.signature,
jsApiList: [
// 'checkJsApi', //判断当前客户端版本是否支持指定JS接口
'chooseImage',
// 'updateAppMessageShareData', //分享接口
// // 'chooseImageApi', //扫一扫接口
// 'chooseWXPay', //微信支付
],
})
}
// 选择图片方法
export const chooseImageApi = () => {
return new Promise((resolve, reject) => {
wxconfig()
wxjssdk.ready(() => {
console.log('微信验证')
wxjssdk.chooseImage({
count: 1, // 默认9
sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有
sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有
success: function (res) {
console.log(res)
resolve(res)
// var localIds = res.localIds; // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片
},
cancel: function (): void {
console.log('用户取消了')
// throw new Error('Function not implemented.')
// throw new Error('Function not implemented.')
},
})
}),
wxjssdk.error((res) => {
console.log('config fail:', res)
//config fail,抛出失败原因
console.log('-------------失败------------')
reject(res)
})
})
}
****特别需要注意的 ****我本地出现的问题:
可能是电脑连接的公司网---换成手机热点的公共网络
报错
config:fail,invalid url domain
以上步骤都走完前端就算完成了---哈哈哈--心累····
5后台配置
然后后台去微信获取access_token和票据jsapi_ticket --保证这些都需要正确--然后根据官方api生成签名
signature
然后把这写数据返回给前台
以上步骤完成了,就没什麽问题了------加油·····
}
版权归原作者 qq_39016177 所有, 如有侵权,请联系我们删除。