/*----------------------------share.js----------------------------*/
import wx from 'weixin-js-sdk'
import qs from 'qs'
import {Toast} from 'mint-ui'
import axios from "axios";
axios.defaults.headers.common["Content-Type"] ="application/json; charset=UTF-8";
axios.defaults.headers.common["clientType"] = "H5";
axios.defaults.withCredentials = false;
/**
*分享
* @param _this 當前域
* @param shareTitle 標題
* @param shareUrl 鏈接
* @param shareImg 圖片
* @param shareDesc 描述
*/
export const commonShare = (_this, shareTitle, shareUrl, shareImg, shareDesc) => {
let url = location.href.split('#')[0];
let params = qs.stringify({
shareUrl: url //shareUrl是根據你的後臺需要的參數名
});
axios.post("後臺接口",params).then(data=>{
wx.config({
debug: false, // 開啓調試模式,調用的所有api的返回值會在客戶端alert出來,若要查看傳入的參數,可以在pc端打開,參數信息會通過log打出,僅在pc端時纔會打印。
appId: data.data.appId, // 必填,公衆號的唯一標識
timestamp: data.data.timestamp, // 必填,生成簽名的時間戳
nonceStr: data.data.noncestr, //注意:服務端簽名和前端參數名大小寫不一致
signature: data.data.signature, // 必填,簽名,見附錄1
jsApiList: ["onMenuShareTimeline", "onMenuShareAppMessage"] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
});
wx.ready(function () {
wx.onMenuShareTimeline({
title: shareTitle, // 分享標題
link: shareUrl, // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公衆號JS安全域名一致
imgUrl: shareImg, // 分享圖標
success: function () {
// 用戶確認分享後執行的回調函數
Toast('分享成功!!!');
},
cancel: function () {
// 用戶取消分享後執行的回調函數
Toast('取消分享!!!');
}
});
wx.onMenuShareAppMessage({
title: shareTitle, // 分享標題
desc: shareDesc, // 分享描述
link: shareUrl, // 分享鏈接,該鏈接域名或路徑必須與當前頁面對應的公衆號JS安全域名一致
imgUrl: shareImg, // 分享圖標
type: "", // 分享類型,music、video或link,不填默認爲link
dataUrl: "", // 如果type是music或video,則要提供數據鏈接,默認爲空
success: function () {
// 用戶確認分享後執行的回調函數
Toast('分享成功!!!');
},
cancel: function () {
// 用戶取消分享後執行的回調函數
Toast('取消分享!!!');
}
});
});
}).catch(err=>{
console.log("自定義分享失敗"+err);
})
};
/*----------------------------main.js----------------------------*/
//設置爲全局
import {commonShare} from './components/utils/share'
Vue.prototype.commonShare = commonShare;
/*----------------------------使用----------------------------*/
this.commonShare(this,"111",window.location.href,"333","444");
//分享的圖片路徑最好不要亂寫,不要本地圖片