wechat.js
3.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
import {
isWeiXin
} from '@/utils/utils';
function wxSign() {
return new Promise((resolve, reject) => {
app.post({
url: app.api.wxJsSign,
data: {
url: location.href
},
// mode: "custom"
}).then(res => {
if (!window.wx) {
return
}
wx.config({
debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。
appId: res.appId, // 必填,公众号的唯一标识
timestamp: res.timestamp, // 必填,生成签名的时间戳
nonceStr: res.nonceStr, // 必填,生成签名的随机串
signature: res.signature, // 必填,签名,见附录1
jsApiList: [
"updateAppMessageShareData",
"updateTimelineShareData",
"onMenuShareTimeline",
"onMenuShareAppMessage",
"chooseWXPay",
] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2
});
wx.ready(() => {
resolve()
})
});
})
}
function setShare(title, description, image, url) {
wx.updateAppMessageShareData({
title: title, // 分享标题
desc: description, // 分享描述
link: url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: image, // 分享图标
success() {
// 设置成功
}
});
wx.updateTimelineShareData({
title: title, // 分享标题
link: url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: image, // 分享图标
success() {
// 设置成功
}
});
}
let wechat = {
init() {
return new Promise((resolve, reject) => {
if (isWeiXin()) {
wxSign().then(() => {
resolve();
}).catch(e => {
resolve();
});
} else {
resolve();
}
});
},
wxShare(title, description, image, url) {
title = title || process.env.VUE_APP_MALL_NAME + "";
description = description || "";
image = image || "";
url = url || location.href;
return new Promise((resolve, reject) => {
if (isWeiXin()) {
wx.onMenuShareAppMessage({
title: title, // 分享标题
desc: description, // 分享描述
link: url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: image, // 分享图标
success: function () {
// 分享成功
// alert("ShareApp")
resolve("ShareApp")
}
});
wx.onMenuShareTimeline({
title: title, // 分享标题
link: url, // 分享链接,该链接域名或路径必须与当前页面对应的公众号JS安全域名一致
imgUrl: image, // 分享图标
success: function () {
// 分享成功
// alert("ShareTimeline")
resolve("ShareTimeline")
}
});
}
});
// if (isWeiXin()) {
// setShare(title, description, image, url);
// }
}
};
export default wechat;