vue项目使用微信jsSDK授权方法

开发微信公众号H5页面,经常用到微信的openAPI之类的方法,比如获取用户位置、分享朋友圈或好友以及上传图片、预览图片等,这里对需要用到的api授权方法简单封装一下。
官方文档:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/JS-SDK.html#62

1. 安装 weixin-js-sdk

npm install weixin-js-sdk -S

2. sdk授权方法封装

import request from '@/utils/request' //封装好的请求方法
import wx from 'weixin-js-sdk'

function wxSDKAuth(jsApiList = ['openLocation','getLocation']) {
  let url = encodeURIComponent(window.location.href)
  console.log('注册的url', url)
  request({
    method: 'GET',
    url: '/wx/jsSignature?pageUrl=' + url, //签名信息从后端获取,在接口中按照官方文档签名加密算法返回签名信息
    dataType: 'json',
    contentType: 'application/json;charset=utf-8'
  }).then(result => {
    console.log(result)
    if (result.code == 0) {
      var config = result.data
      wx.config({
        debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
        appId: config.appId, // 必填,公众号的唯一标识
        timestamp: config.timeStamp, // 必填,生成签名的时间戳
        nonceStr: config.noncestr, // 必填,生成签名的随机串
        signature: config.signature, // 必填,签名
        jsApiList, // 必填,需要使用的JS接口列表,图片预览接口
        openTagList: ['wx-open-launch-weapp', 'wx-open-subscribe'], // 可选,需要使用的开放标签列表,例如['wx-open-launch-app']
      })
      wx.ready(function () {
        // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口,则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。
        console.log('微信调用ready表示成功')
      })
      wx.error(function (res) {
        // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
        console.log('wxOpen微信调用错误' +  res)
      })
    }
  })
}
 export default wxSDKAuth

3.使用举例

import wxSDKAuth from '@/common/wxsdk'
created() {
	wxSDKAuth('openLocation','getLocation')
	wx.ready(() => {
		wx.getLocation({
			type:'gcj02',
			success: res => {
				console.log(res.longitude)
				console.log(res.latitude)
			}
		})
	})
}
  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Vue2中接入微信公众号JSSDK,您需要按照以下步骤进行操作: 1. 在公众号后台配置JS接口安全域名,确保您的域名已经添加到了微信公众平台的安全域名列表中。 2. 安装使用`weixin-js-sdk`库,可以通过npm进行安装: ``` npm install weixin-js-sdk ``` 3. 在需要使用JSSDK的组件或页面中引入`weixin-js-sdk`库: ```javascript import wx from 'weixin-js-sdk'; ``` 4. 在组件或页面的`mounted`生命周期钩子函数中初始化JSSDK,并进行相关配置: ```javascript mounted() { this.initWeChatJSSDK(); }, methods: { initWeChatJSSDK() { // 异步请求后端接口获取微信配置信息 axios.get('/api/getWeChatConfig') .then(response => { const { appId, timestamp, nonceStr, signature } = response.data; wx.config({ debug: false, appId, timestamp, nonceStr, signature, jsApiList: ['chooseImage', 'scanQRCode'] // 需要使用JSSDK接口 }); wx.ready(() => { // JSSDK配置成功后的回调函数 console.log('JSSDK配置成功'); }); wx.error((res) => { // JSSDK配置失败后的回调函数 console.error('JSSDK配置失败', res); }); }) .catch(error => { console.error('获取微信配置信息失败', error); }); } } ``` 5. 在需要使用JSSDK的地方调用对应的接口,比如选择图片接口`chooseImage`: ```javascript methods: { chooseImage() { wx.chooseImage({ count: 1, success: function (res) { // 选择图片成功后的处理逻辑 const localIds = res.localIds; // ... }, fail: function (error) { // 选择图片失败后的处理逻辑 console.error('选择图片失败', error); } }); } } ``` 以上是在Vue2中接入微信公众号JSSDK的基本步骤,您可以根据实际需求进行相应的配置和调用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值