没有合适的资源?快使用搜索试试~ 我知道了~
首页Vue微信公众号网页分享的示例代码
Vue微信公众号网页分享的示例代码
454 浏览量
更新于2023-05-28
评论
收藏 57KB PDF 举报
主要介绍了Vue微信公众号网页分享的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
资源详情
资源评论
资源推荐

Vue微信公众号网页分享的示例代码微信公众号网页分享的示例代码
主要介绍了Vue微信公众号网页分享的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一
定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
前言前言
今天做了个分享功能,反正挺诡异的,下面就来说一说步骤
后端使用egg.js,代码如下:
'use strict';
const Subscription = require('egg').Subscription;
class AccessToken extends Subscription {
static get schedule() {
return {
interval: '2h',//2小时获取一次
type: 'all',
};
}
async subscribe() {
const config = this.ctx.app.config.wechat_config;
const url = 'https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET'.replace('APPID', config.appId)
.replace('APPSECRET', config.appSecret);
const res = await this.ctx.curl(url, {
dataType: 'json',
});
console.log(res);//accesstoken
if (res.data.errcode) {
return;
}
console.log('token ' + res.data.access_token);
const jsUrl = 'https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi'.replace('ACCESS_TOKEN', res.data.access_token);
const jsRes = await this.ctx.curl(jsUrl, {
dataType: 'json',
});
console.log('ticket ' + jsRes.data.ticket);//ticket
this.ctx.app.ticket = jsRes.data.ticket;
this.ctx.app.access_token = res.data.access_token;
}
}
module.exports = AccessToken;
async getJSsdk() {
const appId = this.ctx.app.config.wechat_config.appId;//appid
const ticket = this.ctx.app.ticket;//初始化时获得的ticket
const nonceStr = Math.random()
.toString(36)
.substr(2, 15);
const timestamp = parseInt(new Date().getTime() / 1000);//秒为单位的时间戳
let url = this.ctx.query.link; //前端的页面地址
url = decodeURIComponent(url);//解码
const string = 'jsapi_ticket=' + ticket + '&noncestr=' + nonceStr + '×tamp=' + timestamp + '&url=' + url;
const hash = crypto.createHash('sha1');
hash.update(string);
const signature = hash.digest('hex');//生成签名
this.ctx.body = {
status: true,
message: '获取成功',
data
};
};
步骤步骤
1.在vue项目中public目录下的index.html中引入
<script src="http://res.wx.qq.com/open/js/jweixin-1.4.0.js"></script>
2.在想分享的组件的mounted中加入如下代码:
//如果不创建meta标签分享出去的就会没有描述
var oMeta = document.createElement('meta');
oMeta.content = '随意的内容';//这里随便写
oMeta.name = 'keywords';
document.getElementsByTagName('head')[0].appendChild(oMeta);
var oMeta1 = document.createElement('meta');
oMeta1.content = '随意的内容';//这里随便写

















weixin_38670297
- 粉丝: 6
- 资源: 927
上传资源 快速赚钱
我的内容管理 收起
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助

会员权益专享
安全验证
文档复制为VIP权益,开通VIP直接复制

评论0