时间:2021-05-08
最近一个项目有一个微信分享并且需要自定义微信分享内容的需求,因为是第一次接触到微信分享,所以记录一下期间遇到的一些问题,以及完成功能的整个流程。
以下为大概流程(细节放在各个阶段)
1、安装weixin-js-sdk
npm install weixin-js-sdk --save-dev
具体的使用说明查阅微信官方文档
2、 初始化微信分享
因为本人正在做的项目多处需要使用到微信分享的功能,所以这里会对微信分享的代码进行封装
下面的代码中的Api其实就是axios请求
import wx from 'weixin-js-sdk'import api from '@/api'const wxApi = { /** * [wxRegister 微信Api初始化] * @param {Function} callback [ready回调函数] */ wxRegister (callback, url) { let query = { // 这里的url必须是你要分享的页面完全对应的url,并且需要转换 base64 url: url } api.getWxJsSdk(query).then(res => { let data = res.data wx.config({ debug: false, // 开启调试模式 appId: data.appId, // 必填,公众号的唯一标识 timestamp: data.timestamp, // 必填,生成签名的时间戳 nonceStr: data.nonceStr, // 必填,生成签名的随机串 signature: data.signature, // 必填,签名,见附录1 jsApiList: data.jsApiList // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }) }) wx.ready((res) => { // 如果需要定制ready回调方法 if (callback) { callback() } }) },}注:以上需要转换base64的可以使用js-base64
3、 配置微信分享自定义内容(发送给朋友,发送到朋友圈)
第二步对于微信初始化了封装配置,但是还缺少了相对应的分享等功能,这边就完善一下,
// 在wxRegister函数后面添加/*** [ShareTimeline 自定义微信分享到朋友圈]* @param {[type]} option [分享信息]* @param {[type]} success [成功回调]* @param {[type]} error [失败回调]*/ShareTimeline (option) {wx.updateTimelineShareData({ title: option.title, // 分享标题 link: option.link, // 分享链接 imgUrl: option.imgUrl, // 分享图标 success () { // 设置成功 }, cancel () { // 设置失败 }})},/*** [ShareAppMessage 自定义微信分享到朋友]* @param {[type]} option [分享信息]* @param {[type]} success [成功回调]* @param {[type]} error [失败回调]*/ShareAppMessage (option) {wx.updateAppMessageShareData({ title: option.title, // 分享标题 desc: option.desc, // 分享描述 link: option.link, // 分享链接 imgUrl: option.imgUrl, // 分享图标 success () { // 设置成功 }, cancel () { // 设置失败 }})}4、页面调用时
// vue 为例// 以下的函数有形参请参考上面的方法import wx from '你封装的文件'mounted(){ let base64 = require('js-base64').Base64 let url = base64.encode(window.location.href) wx.wxRegister(this.wxRegCallback,url)},methods:{ // 自定义的jdk回调 wxRegCallback () {}, // 自定义的分享给朋友的函数 wxShareAppMessage(){ let option = { title:'',// 分享标题 desc: '', // 分享描述 link: '', // 分享链接 imgUrl: '' // 分享图标 } // 注入通用方法 wx.ShareAppMessage(option) }, // 自定义的分享给朋友圈的函数 wxShareTimeline(){ let option = { title:'',// 分享标题 desc: '', // 分享描述 link: '', // 分享链接 imgUrl: '' // 分享图标 } // 注入通用方法 wx.ShareTimeline(option) }}以上就是微信分享的流程,若有不足,欢迎指出
注:
微信分享只能在真机上测试
使用本地localhost形式的域名无法通过微信的校验
总结
以上所述是小编给大家介绍的Html5 实现微信分享及自定义内容,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最近开发一个项目时,有微信H5网页自定义分享功能,使用了微信JS-SDK的分享到好友和分享到朋友圈功能。微信开发文档这样写的自定义“分享给朋友”及“分享到QQ”
本文实例讲述了微信小程序实现的自定义分享功能。分享给大家供大家参考,具体如下:大家都知道,小程序有分享的功能,可以分享整个程序,也可以自定义分享的内容onSha
本文实例讲述了AngularJS自定义表单验证功能。分享给大家供大家参考,具体如下:Angular实现了大部分常用的HTML5的表单控件的类型(text,num
HTML5新增属性data-*书写实例1.定义:data-*属性用于存储页面或应用程序的私有自定义数据。data-*属性赋予我们在所有HTML元素上嵌入自定义d
本文实例为大家分享了Android自定义控件ViewGroup实现标签云的具体代码,供大家参考,具体内容如下实现的功能:基本绘制流程:构造函数获取自定义属性on