背景
前篇文章介绍了公司业务需要,我们需要做一个H5端的商城,在微信内分享时发现,采用右上角分享,分享出去的样式很丑,基于此我们就接入微信自定义分享功能,来美化一波。(同样我只介绍前端需要的工作)
技术准备
1.首先项目引入微信JSSDK的JS文件,直接在项目的入口文件(public/index.html)文件引入就行。文档地址。
2.都2019了 项目基本都用的框架,所以没有用框架的自己单独引入吧!
实现代码
1.首先根据文档来看,他需要在每个使用分享功能的页面都需要调用wx.config、wx.ready、 wx.updateAppMessageShareData、 window.wx.updateTimelineShareData、wx.error方法,所以为了避免代码的重复,提高复用率还是直接封装wxShare.js吧。
* eslint-disable func-names */
import {
wxAuthPage } from '../service/api';
export default async function wxJsApi(params) {
console.log('分享功能');
// const install = getQueryString('isappinstalled')
// 判断是不是微信环境,不是微信环境当然用不了
const ua = window.navigator.userAgent.toLowerCase();
const isWX = ua.match(/MicroMessenger/i) == 'micromessenger';
if (!isWX) {
return false;
}
const res = await
// 因为需要分享的页面地址的签名,必须保持跟你去微信获取签名的地址一样,所以自己把地址拼接好传给后端,这样你就能在多个页面使用分享能力了,千万不要把页面地址写死
wxAuthPag