// vuex使用 import request from '@/api/request.js' import homeApi from '@/api/home/index.js' const jweixin = require("jweixin-module"); export const getPlatform = () => { //默认web let platform = 5; //#ifdef APP-PLUS || APP-NVUE const system = uni.getSystemInfoSync(); if (system.platform === "ios") { platform = 1; } else { platform = 2; } //#endif //#ifdef H5 platform = 3; //#endif //#ifdef MP-WEIXIN platform = 4; //#endif return platform; }; //判断浏览器是否是微信浏览器 export const checkIsWechatBrowser = () => { let platform = getPlatform(); if (platform === 3) { return ( navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == "micromessenger" ); } else { return false; } }; //初始化微信分享配置(以下代码是封装在一个类文件的一个方法) async function initWeixinShareConfig(options = {}) { //检测是否处于微信浏览器环境下 if (!checkIsWechatBrowser()) { return; } let _this = this; //获取请求服务端获取签名信息 const res = await homeApi.share2(); if (res.status == 200) { //配置 var data = { debug: res.data.jsapi.debug ? true : false, //根据服务端来控制是否开启调试模式 appId: res.data.jsapi.appId, timestamp: res.data.jsapi.timestamp, nonceStr: res.data.jsapi.nonceStr, signature: res.data.jsapi.signature, jsApiList: res.data.jsapi.jsApiList, }; jweixin.config(data); //分享的触发动作必须写再ready里面 jweixin.ready(() => { //配置分享数据 let shareData = { title: options.title || "", //分享的标题 desc: options.desc || "", //分享的描述 link: options.link, //分享的链接 imgUrl: options.imageUrl || "", //分享的图片链接 success(response) { //配置成功之后的回调(并不是分享成功之后的回调,这个地方是个坑,要注意下) console.log('user shared'); }, }; //分享给朋友接口 jweixin.updateAppMessageShareData(shareData); //分享到朋友圈接口 jweixin.updateTimelineShareData(shareData); }); } else { console.log(JSON.stringify(res)); } }; export default { initWeixinShareConfig }