-
Notifications
You must be signed in to change notification settings - Fork 761
/
sample-async.html
executable file
·117 lines (102 loc) · 5.46 KB
/
sample-async.html
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
115
116
117
<!DOCTYPE html>
<html>
<head>
<title>微信Js API Demo:async=true</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link rel="dns-prefetch" href="http://mmbiz.qpic.cn">
<link rel="dns-prefetch" href="http://res.wx.qq.com">
<meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0;">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no">
<style type="text/css">
p {
padding: 5px 10px;
}
</style>
<script type="text/javascript" src="../WeixinApi.js?v=4.3"></script>
</head>
<body>
<p>这是一个测试页面!请直接分享到微信好友、朋友圈、腾讯微博看效果吧!(async为true,即:分享过程中,wxData会被动态修改)</p>
<p>
<a href="?" id="refresh">点击这里刷新!!!!</a>
</p>
<script type="text/javascript">
// 开启Api的debug模式
WeixinApi.enableDebugMode();
// 给按钮增加click事件:请不要太纠结这个写法,demo而已
var addEvent = function(elId,listener){
document.getElementById(elId)
.addEventListener('click',function(e){
if(!window.WeixinApi || !window.WeixinJSBridge) {
alert('请确认您是在微信内置浏览器中打开的,并且WeixinApi.js已正确引用');
e.preventDefault();
return false;
}
listener(this,e);
},false);
};
// 刷新
addEvent('refresh',function(el,e){
e.preventDefault();
location.replace('?' + Math.random(),true);
});
// 需要分享的内容,请放到ready里
WeixinApi.ready(function(Api) {
// 微信分享的数据
var wxData = {
"appId": "wx729bcc4f3ca39e87", // 服务号可以填写appId
"imgUrl" : 'http://www.baidufe.com/fe/blog/static/img/weixin-qrcode-2.jpg',
"link" : 'http://www.baidufe.com',
"desc" : '使用警告:此Api非官方版本,请各位尽量将分享功能迁移至腾讯官方版,会更稳定些!',
"title" : "欢迎使用WeixinApi"
};
// 分享的回调
var wxCallbacks = {
// 收藏操作是否触发回调,默认是开启的
favorite : false,
// 用async模式,表示每次分享之前,都需要更新分享内容
async:true,
// 分享操作开始之前
ready : function() {
// 你可以在这里对分享的数据进行动态修改:*可以只修改某些字段*
alert("准备分享");
// 下面我们只修改标题和图片地址
this.dataLoaded({
title : '在这里可以单独修改其中的title字段',
imgUrl : 'http://www.baidu.com/img/bdlogo.png'
});
},
// 分享被用户自动取消
cancel : function(resp) {
// 你可以在你的页面上给用户一个小Tip,为什么要取消呢?
alert("分享被取消,msg=" + resp.err_msg);
},
// 分享失败了
fail : function(resp) {
// 分享失败了,是不是可以告诉用户:不要紧,可能是网络问题,一会儿再试试?
alert("分享失败,msg=" + resp.err_msg);
},
// 分享成功
confirm : function(resp) {
// 分享成功了,我们是不是可以做一些分享统计呢?
alert("分享成功,msg=" + resp.err_msg);
},
// 整个分享过程结束
all : function(resp,shareTo) {
// 如果你做的是一个鼓励用户进行分享的产品,在这里是不是可以给用户一些反馈了?
alert("分享" + (shareTo ? "到" + shareTo : "") + "结束,msg=" + resp.err_msg);
}
};
// 用户点开右上角popup菜单后,点击分享给好友,会执行下面这个代码
Api.shareToFriend(wxData, wxCallbacks);
// 点击分享到朋友圈,会执行下面这个代码
Api.shareToTimeline(wxData, wxCallbacks);
// 点击分享到腾讯微博,会执行下面这个代码
Api.shareToWeibo(wxData, wxCallbacks);
// iOS上,可以直接调用这个API进行分享,一句话搞定
Api.generalShare(wxData,wxCallbacks);
});
</script>
</body>
</html>