| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- // 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
- }
|