12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- const wx = require('weixin-js-sdk');
- const config = require('@/static/config.js');
- export default {
- install(Vue){
- Vue.mixin({
- data(){
- return {
-
- }
- },
- onLoad() {
- this.signJsapiTicket();
- },
- methods:{
- async signJsapiTicket(){
- let url = location.href.split('#')[0]
- let parmas = {
- url: url,
- }
- let self = this;
- let res = await this.$myRequest({
- url: '/wechat/signJsapiTicket',
- data: parmas,
- method:"GET",
- });
- if(res.data.success){
- let single = res.data.single;
- wx.config({
- debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
- appId: config.appid, // 必填,公众号的唯一标识
- timestamp: single.timestamp, // 必填,生成签名的时间戳
- nonceStr: single.nonceStr, // 必填,生成签名的随机串
- signature: single.signature, // 必填,签名
- jsApiList: ["updateAppMessageShareData","updateTimelineShareData",'showMenuItems'] // 必填,需要使用的JS接口列表
- });
- wx.ready(function() {
-
- });
- wx.error(function(res) {
- // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。
- });
- }
- },
- config(title,desc,link,imgUrl){
- wx.showMenuItems({
- menuList: [ "menuItem:share:appMessage","menuItem:share:timeline"] // 要显示的菜单项,所有menu项见附录3
- });
- wx.updateAppMessageShareData({ //分享给朋友
- title: title, // 分享标题
- desc: desc, // 分享描述
- link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
- imgUrl: imgUrl, // 分享图标
- success: function() {
- // 设置成功
- }
- });
- wx.updateTimelineShareData({ //分享到朋友圈
- title: title, // 分享标题
- link: link, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
- imgUrl: imgUrl, // 分享图标
- success: function() {
- // 设置成功
- }
- });
-
- }
- }
- })
- }
- }
|