【Vue機能】weixin-js-sdkはvue共有機能を実装

weixin-js-sdk は vue 共有機能を実装

h5 リンクは WeChat の友達や Moments と共有され、リンク カードの内容は
WeChat sdk でカスタマイズしてインストールできます

cnpm install weixin-js-sdk -S


新しいファイルの作成に使用: plugins/wechat.js

import wx from 'weixin-js-sdk'
import axios from 'axios'
let config = {
    
    
	debug: false, // 查看初始化结果,成功与否
	appId: "", //公众号的APPID
	nonceStr: "", // 生成签名的随机字符串
	timestamp: 0, // 生成签名的时间戳
	signature: "", // :微信生成的签名
	jsApiList: ["updateAppMessageShareData",'choosehXPay ','miniprogram.navigateTo',"invokeMiniprogramAPI"] // 必填,需要使用的JS接口列表,需要在项目当中使用的那些方法,比如说支付chooseWXPay,直接把方法写进jsApiList里面既可
}
export default {
    
    
	init() {
    
    
		axios({
    
    
			method: "POST",
			// url:注意,每次url变化之后都需要重新微信jssdk授权,虽然每次授权url除去#后都是一样的,但是必须这么做,微信的机制
			url: process.env.VUE_APP_GUIGUI_API_HOST + "/api/wechat/getHmcSDKConfig",
		}).then(res => {
    
    
			let configData = res.data.data
			if (configData) {
    
    
				config.appId = configData.appId
				config.nonceStr = configData.nonceStr
				config.timestamp = configData.timestamp
				config.signature = configData.signature
			}
			wx.config(config)
		})
	},
	setWechatShareInfo(link, title, desc, imgUrl, callBack) {
    
    
		wx.ready(function () {
    
     //需在用户可能点击分享按钮前就先调用
			wx.updateAppMessageShareData({
    
    
				title: title || '', // 分享标题
				desc: desc || '', // 分享描述
				link: link || '', // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
				imgUrl: imgUrl || '', // 分享图标
				success: function () {
    
    
					callBack()
				}
			})
		})
	}

}

ページの使い方
注: WeChat カスタム共有機能を使用する場合、共有リンクに中国語が含まれている場合、encodeURIComponent() を実行する必要があります. 理由:
カスタム共有は Android フォンでは正常にカスタマイズできますが、Android フォンでは正常に共有できません。 iOS フォン、および Android フォンは自動的に URIComponent をエンコードしますが、IOS はエンコードしません。

			handleShareWechat() {
    
    
				import('@/plugins/wechat.js').then(mod => {
    
    
					let wx = mod.default
					wx.init()
					wx.setWechatShareInfo(location.href, '分享标题', '分享描述')
				})
			},

おすすめ

転載: blog.csdn.net/weixin_44590591/article/details/128220545
おすすめ