NBus 之 WechatHandler

Wechat SDK 分析,基于 Wechat SDK 1.8.7.1 和微信 8.0.1。


记录

分享

TextMessage

初次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1020;
isAutoResend = 0;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
title = "\U90a3\U4e48\Uff0c \U5e26\U7740\U8fd9\U4e9b\U95ee\U9898\Uff0c\U6211\U4eec\U6765\U5ba1\U89c6\U4e00\U4e0bBUS\U3002 \U53ef\U662f\Uff0c\U5373\U4f7f\U662f\U8fd9\U6837\Uff0cBUS\U7684\U51fa\U73b0\U4ecd\U7136\U4ee3\U8868\U4e86\U4e00\U5b9a\U7684\U610f\U4e49\U3002 BUS\U7684\U53d1\U751f\Uff0c\U5230\U5e95\U9700\U8981\U5982\U4f55\U505a\U5230\Uff0c\U4e0dBUS\U7684\U53d1\U751f\Uff0c\U53c8\U4f1a\U5982\U4f55\U4ea7\U751f\U3002 \U751f\U6d3b\U4e2d\Uff0c\U82e5BUS\U51fa\U73b0\U4e86\Uff0c\U6211\U4eec\U5c31\U4e0d\U5f97\U4e0d\U8003\U8651\U5b83\U51fa\U73b0\U4e86\U7684\U4e8b\U5b9e\U3002 \U7ecf\U8fc7\U4e0a\U8ff0\U8ba8\U8bba\Uff0c \U90a3\U4e48\Uff0c \U65e2\U7136\U5982\U4f55\Uff0c \U73b0\U5728\Uff0c\U89e3\U51b3BUS\U7684\U95ee\U9898\Uff0c\U662f\U975e\U5e38\U975e\U5e38\U91cd\U8981\U7684\U3002 \U6240\U4ee5\Uff0c \U6211\U4eec\U90fd\U77e5\U9053\Uff0c\U53ea\U8981\U6709\U610f\U4e49\Uff0c\U90a3\U4e48\U5c31\U5fc5\U987b\U614e\U91cd\U8003\U8651\U3002 \U8fd9\U79cd\U4e8b\U5b9e\U5bf9\U672c\U4eba\U6765\U8bf4\U610f\U4e49\U91cd\U5927\Uff0c\U76f8\U4fe1\U5bf9\U8fd9\U4e2a\U4e16\U754c\U4e5f\U662f\U6709\U4e00\U5b9a\U610f\U4e49\U7684\U3002 \U5eb7\U5fb7\U66fe\U7ecf\U63d0\U5230\U8fc7\Uff0c\U65e2\U7136\U6211\U5df2\U7ecf\U8e0f\U4e0a\U8fd9\U6761\U9053\U8def\Uff0c\U90a3\U4e48\Uff0c\U4efb\U4f55\U4e1c\U897f\U90fd\U4e0d\U5e94\U59a8\U788d\U6211\U6cbf\U7740\U8fd9\U6761\U8def\U8d70\U4e0b\U53bb\U3002\U8fd9\U4f3c\U4e4e\U89e3\U7b54\U4e86\U6211\U7684\U7591\U60d1\U3002";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=f84a7ad9a84d8202ec9a3b7786e017ecd8712319
校验
1
2
3
4
5
[Data-String] (1/1) content

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/refreshToken
?wechat_auth_context_id=f84a7ad9a84d8202ec9a3b7786e017ecd8712319
&wechat_auth_token=e8b998f23b74088a197756cb063cdf1051183f55c56b9a6c93353f114b28702c_MTYxMTk5NTYyMg==
二次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1020;
isAutoResend = 1;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
title = "\U90a3\U4e48\Uff0c \U5e26\U7740\U8fd9\U4e9b\U95ee\U9898\Uff0c\U6211\U4eec\U6765\U5ba1\U89c6\U4e00\U4e0bBUS\U3002 \U53ef\U662f\Uff0c\U5373\U4f7f\U662f\U8fd9\U6837\Uff0cBUS\U7684\U51fa\U73b0\U4ecd\U7136\U4ee3\U8868\U4e86\U4e00\U5b9a\U7684\U610f\U4e49\U3002 BUS\U7684\U53d1\U751f\Uff0c\U5230\U5e95\U9700\U8981\U5982\U4f55\U505a\U5230\Uff0c\U4e0dBUS\U7684\U53d1\U751f\Uff0c\U53c8\U4f1a\U5982\U4f55\U4ea7\U751f\U3002 \U751f\U6d3b\U4e2d\Uff0c\U82e5BUS\U51fa\U73b0\U4e86\Uff0c\U6211\U4eec\U5c31\U4e0d\U5f97\U4e0d\U8003\U8651\U5b83\U51fa\U73b0\U4e86\U7684\U4e8b\U5b9e\U3002 \U7ecf\U8fc7\U4e0a\U8ff0\U8ba8\U8bba\Uff0c \U90a3\U4e48\Uff0c \U65e2\U7136\U5982\U4f55\Uff0c \U73b0\U5728\Uff0c\U89e3\U51b3BUS\U7684\U95ee\U9898\Uff0c\U662f\U975e\U5e38\U975e\U5e38\U91cd\U8981\U7684\U3002 \U6240\U4ee5\Uff0c \U6211\U4eec\U90fd\U77e5\U9053\Uff0c\U53ea\U8981\U6709\U610f\U4e49\Uff0c\U90a3\U4e48\U5c31\U5fc5\U987b\U614e\U91cd\U8003\U8651\U3002 \U8fd9\U79cd\U4e8b\U5b9e\U5bf9\U672c\U4eba\U6765\U8bf4\U610f\U4e49\U91cd\U5927\Uff0c\U76f8\U4fe1\U5bf9\U8fd9\U4e2a\U4e16\U754c\U4e5f\U662f\U6709\U4e00\U5b9a\U610f\U4e49\U7684\U3002 \U5eb7\U5fb7\U66fe\U7ecf\U63d0\U5230\U8fc7\Uff0c\U65e2\U7136\U6211\U5df2\U7ecf\U8e0f\U4e0a\U8fd9\U6761\U9053\U8def\Uff0c\U90a3\U4e48\Uff0c\U4efb\U4f55\U4e1c\U897f\U90fd\U4e0d\U5e94\U59a8\U788d\U6211\U6cbf\U7740\U8fd9\U6761\U8def\U8d70\U4e0b\U53bb\U3002\U8fd9\U4f3c\U4e4e\U89e3\U7b54\U4e86\U6211\U7684\U7591\U60d1\U3002";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_token=e8b998f23b74088a197756cb063cdf1051183f55c56b9a6c93353f114b28702c_MTYxMTk5NTYyMg==
三次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1020;
isAutoResend = 0;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
title = "\U90a3\U4e48\Uff0c \U5e26\U7740\U8fd9\U4e9b\U95ee\U9898\Uff0c\U6211\U4eec\U6765\U5ba1\U89c6\U4e00\U4e0bBUS\U3002 \U53ef\U662f\Uff0c\U5373\U4f7f\U662f\U8fd9\U6837\Uff0cBUS\U7684\U51fa\U73b0\U4ecd\U7136\U4ee3\U8868\U4e86\U4e00\U5b9a\U7684\U610f\U4e49\U3002 BUS\U7684\U53d1\U751f\Uff0c\U5230\U5e95\U9700\U8981\U5982\U4f55\U505a\U5230\Uff0c\U4e0dBUS\U7684\U53d1\U751f\Uff0c\U53c8\U4f1a\U5982\U4f55\U4ea7\U751f\U3002 \U751f\U6d3b\U4e2d\Uff0c\U82e5BUS\U51fa\U73b0\U4e86\Uff0c\U6211\U4eec\U5c31\U4e0d\U5f97\U4e0d\U8003\U8651\U5b83\U51fa\U73b0\U4e86\U7684\U4e8b\U5b9e\U3002 \U7ecf\U8fc7\U4e0a\U8ff0\U8ba8\U8bba\Uff0c \U90a3\U4e48\Uff0c \U65e2\U7136\U5982\U4f55\Uff0c \U73b0\U5728\Uff0c\U89e3\U51b3BUS\U7684\U95ee\U9898\Uff0c\U662f\U975e\U5e38\U975e\U5e38\U91cd\U8981\U7684\U3002 \U6240\U4ee5\Uff0c \U6211\U4eec\U90fd\U77e5\U9053\Uff0c\U53ea\U8981\U6709\U610f\U4e49\Uff0c\U90a3\U4e48\U5c31\U5fc5\U987b\U614e\U91cd\U8003\U8651\U3002 \U8fd9\U79cd\U4e8b\U5b9e\U5bf9\U672c\U4eba\U6765\U8bf4\U610f\U4e49\U91cd\U5927\Uff0c\U76f8\U4fe1\U5bf9\U8fd9\U4e2a\U4e16\U754c\U4e5f\U662f\U6709\U4e00\U5b9a\U610f\U4e49\U7684\U3002 \U5eb7\U5fb7\U66fe\U7ecf\U63d0\U5230\U8fc7\Uff0c\U65e2\U7136\U6211\U5df2\U7ecf\U8e0f\U4e0a\U8fd9\U6761\U9053\U8def\Uff0c\U90a3\U4e48\Uff0c\U4efb\U4f55\U4e1c\U897f\U90fd\U4e0d\U5e94\U59a8\U788d\U6211\U6cbf\U7740\U8fd9\U6761\U8def\U8d70\U4e0b\U53bb\U3002\U8fd9\U4f3c\U4e4e\U89e3\U7b54\U4e86\U6211\U7684\U7591\U60d1\U3002";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=8342679029686ed90f6744f643c11a5c3f8f2625
&wechat_auth_token=e8b998f23b74088a197756cb063cdf1051183f55c56b9a6c93353f114b28702c_MTYxMTk5NTYyMg==
剪切板
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
[Data-Plist] (1/1) content {
"old_text" = NBus;
wxbd86eec6a59d07aa = {
command = 1020;
isAutoResend = 0;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
title = "\U90a3\U4e48\Uff0c \U5e26\U7740\U8fd9\U4e9b\U95ee\U9898\Uff0c\U6211\U4eec\U6765\U5ba1\U89c6\U4e00\U4e0bBUS\U3002 \U53ef\U662f\Uff0c\U5373\U4f7f\U662f\U8fd9\U6837\Uff0cBUS\U7684\U51fa\U73b0\U4ecd\U7136\U4ee3\U8868\U4e86\U4e00\U5b9a\U7684\U610f\U4e49\U3002 BUS\U7684\U53d1\U751f\Uff0c\U5230\U5e95\U9700\U8981\U5982\U4f55\U505a\U5230\Uff0c\U4e0dBUS\U7684\U53d1\U751f\Uff0c\U53c8\U4f1a\U5982\U4f55\U4ea7\U751f\U3002 \U751f\U6d3b\U4e2d\Uff0c\U82e5BUS\U51fa\U73b0\U4e86\Uff0c\U6211\U4eec\U5c31\U4e0d\U5f97\U4e0d\U8003\U8651\U5b83\U51fa\U73b0\U4e86\U7684\U4e8b\U5b9e\U3002 \U7ecf\U8fc7\U4e0a\U8ff0\U8ba8\U8bba\Uff0c \U90a3\U4e48\Uff0c \U65e2\U7136\U5982\U4f55\Uff0c \U73b0\U5728\Uff0c\U89e3\U51b3BUS\U7684\U95ee\U9898\Uff0c\U662f\U975e\U5e38\U975e\U5e38\U91cd\U8981\U7684\U3002 \U6240\U4ee5\Uff0c \U6211\U4eec\U90fd\U77e5\U9053\Uff0c\U53ea\U8981\U6709\U610f\U4e49\Uff0c\U90a3\U4e48\U5c31\U5fc5\U987b\U614e\U91cd\U8003\U8651\U3002 \U8fd9\U79cd\U4e8b\U5b9e\U5bf9\U672c\U4eba\U6765\U8bf4\U610f\U4e49\U91cd\U5927\Uff0c\U76f8\U4fe1\U5bf9\U8fd9\U4e2a\U4e16\U754c\U4e5f\U662f\U6709\U4e00\U5b9a\U610f\U4e49\U7684\U3002 \U5eb7\U5fb7\U66fe\U7ecf\U63d0\U5230\U8fc7\Uff0c\U65e2\U7136\U6211\U5df2\U7ecf\U8e0f\U4e0a\U8fd9\U6761\U9053\U8def\Uff0c\U90a3\U4e48\Uff0c\U4efb\U4f55\U4e1c\U897f\U90fd\U4e0d\U5e94\U59a8\U788d\U6211\U6cbf\U7740\U8fd9\U6761\U8def\U8d70\U4e0b\U53bb\U3002\U8fd9\U4f3c\U4e4e\U89e3\U7b54\U4e86\U6211\U7684\U7591\U60d1\U3002";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=58a583e5c1ff413fa36342a26d8a8a8af6b3d6be
&wechat_auth_token=e8b998f23b74088a197756cb063cdf1051183f55c56b9a6c93353f114b28702c_MTYxMTk5NTYyMg==
朋友圈
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1020;
isAutoResend = 0;
result = 1;
returnFromApp = 0;
scene = 1;
sdkver = "1.8.7.1";
title = "\U90a3\U4e48\Uff0c \U5e26\U7740\U8fd9\U4e9b\U95ee\U9898\Uff0c\U6211\U4eec\U6765\U5ba1\U89c6\U4e00\U4e0bBUS\U3002 \U53ef\U662f\Uff0c\U5373\U4f7f\U662f\U8fd9\U6837\Uff0cBUS\U7684\U51fa\U73b0\U4ecd\U7136\U4ee3\U8868\U4e86\U4e00\U5b9a\U7684\U610f\U4e49\U3002 BUS\U7684\U53d1\U751f\Uff0c\U5230\U5e95\U9700\U8981\U5982\U4f55\U505a\U5230\Uff0c\U4e0dBUS\U7684\U53d1\U751f\Uff0c\U53c8\U4f1a\U5982\U4f55\U4ea7\U751f\U3002 \U751f\U6d3b\U4e2d\Uff0c\U82e5BUS\U51fa\U73b0\U4e86\Uff0c\U6211\U4eec\U5c31\U4e0d\U5f97\U4e0d\U8003\U8651\U5b83\U51fa\U73b0\U4e86\U7684\U4e8b\U5b9e\U3002 \U7ecf\U8fc7\U4e0a\U8ff0\U8ba8\U8bba\Uff0c \U90a3\U4e48\Uff0c \U65e2\U7136\U5982\U4f55\Uff0c \U73b0\U5728\Uff0c\U89e3\U51b3BUS\U7684\U95ee\U9898\Uff0c\U662f\U975e\U5e38\U975e\U5e38\U91cd\U8981\U7684\U3002 \U6240\U4ee5\Uff0c \U6211\U4eec\U90fd\U77e5\U9053\Uff0c\U53ea\U8981\U6709\U610f\U4e49\Uff0c\U90a3\U4e48\U5c31\U5fc5\U987b\U614e\U91cd\U8003\U8651\U3002 \U8fd9\U79cd\U4e8b\U5b9e\U5bf9\U672c\U4eba\U6765\U8bf4\U610f\U4e49\U91cd\U5927\Uff0c\U76f8\U4fe1\U5bf9\U8fd9\U4e2a\U4e16\U754c\U4e5f\U662f\U6709\U4e00\U5b9a\U610f\U4e49\U7684\U3002 \U5eb7\U5fb7\U66fe\U7ecf\U63d0\U5230\U8fc7\Uff0c\U65e2\U7136\U6211\U5df2\U7ecf\U8e0f\U4e0a\U8fd9\U6761\U9053\U8def\Uff0c\U90a3\U4e48\Uff0c\U4efb\U4f55\U4e1c\U897f\U90fd\U4e0d\U5e94\U59a8\U788d\U6211\U6cbf\U7740\U8fd9\U6761\U8def\U8d70\U4e0b\U53bb\U3002\U8fd9\U4f3c\U4e4e\U89e3\U7b54\U4e86\U6211\U7684\U7591\U60d1\U3002";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=42538a48654db68cb667c1ca2b18b86faab7b24d
&wechat_auth_token=e8b998f23b74088a197756cb063cdf1051183f55c56b9a6c93353f114b28702c_MTYxMTk5NTYyMg==
收藏
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1020;
isAutoResend = 0;
result = 1;
returnFromApp = 0;
scene = 2;
sdkver = "1.8.7.1";
title = "\U90a3\U4e48\Uff0c \U5e26\U7740\U8fd9\U4e9b\U95ee\U9898\Uff0c\U6211\U4eec\U6765\U5ba1\U89c6\U4e00\U4e0bBUS\U3002 \U53ef\U662f\Uff0c\U5373\U4f7f\U662f\U8fd9\U6837\Uff0cBUS\U7684\U51fa\U73b0\U4ecd\U7136\U4ee3\U8868\U4e86\U4e00\U5b9a\U7684\U610f\U4e49\U3002 BUS\U7684\U53d1\U751f\Uff0c\U5230\U5e95\U9700\U8981\U5982\U4f55\U505a\U5230\Uff0c\U4e0dBUS\U7684\U53d1\U751f\Uff0c\U53c8\U4f1a\U5982\U4f55\U4ea7\U751f\U3002 \U751f\U6d3b\U4e2d\Uff0c\U82e5BUS\U51fa\U73b0\U4e86\Uff0c\U6211\U4eec\U5c31\U4e0d\U5f97\U4e0d\U8003\U8651\U5b83\U51fa\U73b0\U4e86\U7684\U4e8b\U5b9e\U3002 \U7ecf\U8fc7\U4e0a\U8ff0\U8ba8\U8bba\Uff0c \U90a3\U4e48\Uff0c \U65e2\U7136\U5982\U4f55\Uff0c \U73b0\U5728\Uff0c\U89e3\U51b3BUS\U7684\U95ee\U9898\Uff0c\U662f\U975e\U5e38\U975e\U5e38\U91cd\U8981\U7684\U3002 \U6240\U4ee5\Uff0c \U6211\U4eec\U90fd\U77e5\U9053\Uff0c\U53ea\U8981\U6709\U610f\U4e49\Uff0c\U90a3\U4e48\U5c31\U5fc5\U987b\U614e\U91cd\U8003\U8651\U3002 \U8fd9\U79cd\U4e8b\U5b9e\U5bf9\U672c\U4eba\U6765\U8bf4\U610f\U4e49\U91cd\U5927\Uff0c\U76f8\U4fe1\U5bf9\U8fd9\U4e2a\U4e16\U754c\U4e5f\U662f\U6709\U4e00\U5b9a\U610f\U4e49\U7684\U3002 \U5eb7\U5fb7\U66fe\U7ecf\U63d0\U5230\U8fc7\Uff0c\U65e2\U7136\U6211\U5df2\U7ecf\U8e0f\U4e0a\U8fd9\U6761\U9053\U8def\Uff0c\U90a3\U4e48\Uff0c\U4efb\U4f55\U4e1c\U897f\U90fd\U4e0d\U5e94\U59a8\U788d\U6211\U6cbf\U7740\U8fd9\U6761\U8def\U8d70\U4e0b\U53bb\U3002\U8fd9\U4f3c\U4e4e\U89e3\U7b54\U4e86\U6211\U7684\U7591\U60d1\U3002";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=d8bb2cccc49161ad9331daee7c1cc9a271606ac2
&wechat_auth_token=e8b998f23b74088a197756cb063cdf1051183f55c56b9a6c93353f114b28702c_MTYxMTk5NTYyMg==
取消
1
2
3
4
5
6
7
8
9
10
11
12
13
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2020;
country = CN;
isAutoResend = 0;
language = "zh_CN";
result = 0;
returnFromApp = 0;
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/
成功
1
2
3
4
5
6
7
8
9
10
11
12
13
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2020;
country = CN;
isAutoResend = 0;
language = "zh_CN";
result = 0;
returnFromApp = 0;
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/

ImageMessage

初次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = "";
disableForward = 0;
fileData = {length = 1814667, bytes = 0x47494638 39612c01 a900f700 0082afc1 ... 1420568b 8000003b };
isAutoResend = 0;
miniprogramType = 0;
objectType = 2;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
thumbData = {length = 4827, bytes = 0xffd8ffe0 00104a46 49460001 01000048 ... 7aa27fbd 401fffd9 };
title = "";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=90523996ab586e48ed8dac4dc8731917d14bb6d1
校验
1
2
3
4
5
[Data-String] (1/1) content

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/refreshToken
?wechat_auth_context_id=90523996ab586e48ed8dac4dc8731917d14bb6d1
&wechat_auth_token=0df5c2386091f2a7697949b497f1c42e33345dacb16edde909fcef83f133d563_MTYxMTk5Njc5MA==
二次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = "";
disableForward = 0;
fileData = {length = 1814667, bytes = 0x47494638 39612c01 a900f700 0082afc1 ... 1420568b 8000003b };
isAutoResend = 1;
miniprogramType = 0;
objectType = 2;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
thumbData = {length = 4827, bytes = 0xffd8ffe0 00104a46 49460001 01000048 ... 7aa27fbd 401fffd9 };
title = "";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_token=0df5c2386091f2a7697949b497f1c42e33345dacb16edde909fcef83f133d563_MTYxMTk5Njc5MA==
三次
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
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = "";
disableForward = 0;
fileData = {length = 1814667, bytes = 0x47494638 39612c01 a900f700 0082afc1 ... 1420568b 8000003b };
isAutoResend = 0;
miniprogramType = 0;
objectType = 2;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
thumbData = {length = 4827, bytes = 0xffd8ffe0 00104a46 49460001 01000048 ... 7aa27fbd 401fffd9 };
title = "";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=fe792ad161beefc537ea075b7ef40ec108788be4
&wechat_auth_token=0df5c2386091f2a7697949b497f1c42e33345dacb16edde909fcef83f133d563_MTYxMTk5Njc5MA==
取消
1
2
3
4
5
6
7
8
9
10
11
12
13
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2020;
country = CN;
isAutoResend = 0;
language = "zh_CN";
result = 0;
returnFromApp = 0;
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/
成功
1
2
3
4
5
6
7
8
9
10
11
12
13
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2020;
country = CN;
isAutoResend = 0;
language = "zh_CN";
result = 0;
returnFromApp = 0;
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/

AudioMessage

初次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = "\U9003\U8dd1\U8ba1\U5212";
disableForward = 0;
isAutoResend = 0;
mediaDataUrl = "https://music.163.com/song/media/outer/url?id=25706284.mp3";
mediaUrl = "https://music.163.com/#/song?id=25706284";
miniprogramType = 0;
objectType = 3;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
title = "Chemical Bus";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=43ebf7d6e9f4ffcd3e15c4bd577e8256c81c1f10
校验
1
2
3
4
5
[Data-String] (1/1) content

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/refreshToken
?wechat_auth_context_id=43ebf7d6e9f4ffcd3e15c4bd577e8256c81c1f10
&wechat_auth_token=413a9784b93e55f9fbea7d63ba328698941a4e51954f650154961ea8d24be653_MTYxMTk5NzczOQ==
二次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = "\U9003\U8dd1\U8ba1\U5212";
disableForward = 0;
isAutoResend = 1;
mediaDataUrl = "https://music.163.com/song/media/outer/url?id=25706284.mp3";
mediaUrl = "https://music.163.com/#/song?id=25706284";
miniprogramType = 0;
objectType = 3;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
title = "Chemical Bus";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_token=413a9784b93e55f9fbea7d63ba328698941a4e51954f650154961ea8d24be653_MTYxMTk5NzczOQ==
三次
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
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = "\U9003\U8dd1\U8ba1\U5212";
disableForward = 0;
isAutoResend = 0;
mediaDataUrl = "https://music.163.com/song/media/outer/url?id=25706284.mp3";
mediaUrl = "https://music.163.com/#/song?id=25706284";
miniprogramType = 0;
objectType = 3;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
title = "Chemical Bus";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=c8b935e6c6bf4e57e41a088115a5f469f1f7b415
&wechat_auth_token=413a9784b93e55f9fbea7d63ba328698941a4e51954f650154961ea8d24be653_MTYxMTk5NzczOQ==
取消
1
2
3
4
5
6
7
8
9
10
11
12
13
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2020;
country = CN;
isAutoResend = 0;
language = "zh_CN";
result = 0;
returnFromApp = 0;
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/
成功
1
2
3
4
5
6
7
8
9
10
11
12
13
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2020;
country = CN;
isAutoResend = 0;
language = "zh_CN";
result = 0;
returnFromApp = 0;
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/

VideoMessage

初次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = Motiongarten;
disableForward = 0;
isAutoResend = 0;
mediaUrl = "https://giphy.com/gifs/animation-dancing-cute-l0ExhgDYmserkFabm";
miniprogramType = 0;
objectType = 4;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
title = "Animation Dancing";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=ccc32872a61040c50718cc55c3e85579d60cacbc
校验
1
2
3
4
5
[Data-String] (1/1) content

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/refreshToken
?wechat_auth_context_id=ccc32872a61040c50718cc55c3e85579d60cacbc
&wechat_auth_token=14d5575e25bda7cf1cec00eb1cf05056800906f2af9c1b9e5c3e43c6b0242840_MTYxMTk5ODY0OA==
二次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = Motiongarten;
disableForward = 0;
isAutoResend = 1;
mediaUrl = "https://giphy.com/gifs/animation-dancing-cute-l0ExhgDYmserkFabm";
miniprogramType = 0;
objectType = 4;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
title = "Animation Dancing";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_token=14d5575e25bda7cf1cec00eb1cf05056800906f2af9c1b9e5c3e43c6b0242840_MTYxMTk5ODY0OA==
三次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = Motiongarten;
disableForward = 0;
isAutoResend = 0;
mediaUrl = "https://giphy.com/gifs/animation-dancing-cute-l0ExhgDYmserkFabm";
miniprogramType = 0;
objectType = 4;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
title = "Animation Dancing";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=7998f3ebd3df85885709b1d11edbbecae91922e1
&wechat_auth_token=14d5575e25bda7cf1cec00eb1cf05056800906f2af9c1b9e5c3e43c6b0242840_MTYxMTk5ODY0OA==
取消
1
2
3
4
5
6
7
8
9
10
11
12
13
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2020;
country = CN;
isAutoResend = 0;
language = "zh_CN";
result = 0;
returnFromApp = 0;
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/
成功
1
2
3
4
5
6
7
8
9
10
11
12
13
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2020;
country = CN;
isAutoResend = 0;
language = "zh_CN";
result = 0;
returnFromApp = 0;
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/

WebPageMessage

初次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = Apple;
disableForward = 0;
isAutoResend = 0;
mediaUrl = "https://www.apple.com.cn/iphone/";
miniprogramType = 0;
objectType = 5;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
thumbData = {length = 4827, bytes = 0xffd8ffe0 00104a46 49460001 01000048 ... 7aa27fbd 401fffd9 };
title = iPhone;
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=238654a0b5086ffa59e99a28c556221d55aabc2d
校验
1
2
3
4
5
[Data-String] (1/1) content

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/refreshToken
?wechat_auth_context_id=238654a0b5086ffa59e99a28c556221d55aabc2d
&wechat_auth_token=f1df0e80d90d62d569bb81c2fcd9e209c222de50610af4a9f8fab766b77057de_MTYxMTk5ODg3Mw==
二次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = Apple;
disableForward = 0;
isAutoResend = 1;
mediaUrl = "https://www.apple.com.cn/iphone/";
miniprogramType = 0;
objectType = 5;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
thumbData = {length = 4827, bytes = 0xffd8ffe0 00104a46 49460001 01000048 ... 7aa27fbd 401fffd9 };
title = iPhone;
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_token=f1df0e80d90d62d569bb81c2fcd9e209c222de50610af4a9f8fab766b77057de_MTYxMTk5ODg3Mw==
三次
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
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = Apple;
disableForward = 0;
isAutoResend = 0;
mediaUrl = "https://www.apple.com.cn/iphone/";
miniprogramType = 0;
objectType = 5;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
thumbData = {length = 4827, bytes = 0xffd8ffe0 00104a46 49460001 01000048 ... 7aa27fbd 401fffd9 };
title = iPhone;
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=657b8790074d7bf7acd5cdf31d6153d6ba223895
&wechat_auth_token=f1df0e80d90d62d569bb81c2fcd9e209c222de50610af4a9f8fab766b77057de_MTYxMTk5ODg3Mw==
取消
1
2
3
4
5
6
7
8
9
10
11
12
13
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2020;
country = CN;
isAutoResend = 0;
language = "zh_CN";
result = 0;
returnFromApp = 0;
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/
成功
1
2
3
4
5
6
7
8
9
10
11
12
13
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2020;
country = CN;
isAutoResend = 0;
language = "zh_CN";
result = 0;
returnFromApp = 0;
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/

FileMessage

初次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = "";
disableForward = 0;
fileData = {length = 1814667, bytes = 0x47494638 39612c01 a900f700 0082afc1 ... 1420568b 8000003b };
fileExt = gif;
isAutoResend = 0;
miniprogramType = 0;
objectType = 6;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
title = "";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=94512ce366dcccfcf90b7e7cdbaed5f6f1cb3f78
校验
1
2
3
4
5
[Data-String] (1/1) content

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/refreshToken
?wechat_auth_context_id=94512ce366dcccfcf90b7e7cdbaed5f6f1cb3f78
&wechat_auth_token=0f766f483ffed5553f6b3390d9451a227ffe3d0ad3404c83f37c9731f9ad851a_MTYxMTk5OTEyNA==
二次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = "";
disableForward = 0;
fileData = {length = 1814667, bytes = 0x47494638 39612c01 a900f700 0082afc1 ... 1420568b 8000003b };
fileExt = gif;
isAutoResend = 1;
miniprogramType = 0;
objectType = 6;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
title = "";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_token=0f766f483ffed5553f6b3390d9451a227ffe3d0ad3404c83f37c9731f9ad851a_MTYxMTk5OTEyNA==
三次
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
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 1010;
description = "";
disableForward = 0;
fileData = {length = 1814667, bytes = 0x47494638 39612c01 a900f700 0082afc1 ... 1420568b 8000003b };
fileExt = gif;
isAutoResend = 0;
miniprogramType = 0;
objectType = 6;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
title = "";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=a4c8fc1557437032b8aacc81b734535ab76aa64e
&wechat_auth_token=0f766f483ffed5553f6b3390d9451a227ffe3d0ad3404c83f37c9731f9ad851a_MTYxMTk5OTEyNA==
取消
1
2
3
4
5
6
7
8
9
10
11
12
13
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2020;
country = CN;
isAutoResend = 0;
language = "zh_CN";
result = 0;
returnFromApp = 0;
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/
成功
1
2
3
4
5
6
7
8
9
10
11
12
13
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2020;
country = CN;
isAutoResend = 0;
language = "zh_CN";
result = 0;
returnFromApp = 0;
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/

MiniProgramMessage

初次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
appBrandPath = "/pages/community/topics/id?id=565";
appBrandUserName = "gh_02761d7be854";
command = 1010;
disableForward = 0;
isAutoResend = 0;
mediaUrl = "https://www.apple.com.cn/iphone/";
miniprogramType = 0;
objectType = 36;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=2d78dad842266f451cf25ab3a4d4d209827271dc
校验
1
2
3
4
5
[Data-String] (1/1) content

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/refreshToken
?wechat_auth_context_id=2d78dad842266f451cf25ab3a4d4d209827271dc
&wechat_auth_token=17e0b7c49466228761065f716932bc2be011643918388db5b2f6dc34da67ba71_MTYxMTk5OTQxNw==
二次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
appBrandPath = "/pages/community/topics/id?id=565";
appBrandUserName = "gh_02761d7be854";
command = 1010;
disableForward = 0;
isAutoResend = 1;
mediaUrl = "https://www.apple.com.cn/iphone/";
miniprogramType = 0;
objectType = 36;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_token=17e0b7c49466228761065f716932bc2be011643918388db5b2f6dc34da67ba71_MTYxMTk5OTQxNw==
三次
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
appBrandPath = "/pages/community/topics/id?id=565";
appBrandUserName = "gh_02761d7be854";
command = 1010;
disableForward = 0;
isAutoResend = 0;
mediaUrl = "https://www.apple.com.cn/iphone/";
miniprogramType = 0;
objectType = 36;
result = 1;
returnFromApp = 0;
scene = 0;
sdkver = "1.8.7.1";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
weworkObjectSubType = 0;
withShareTicket = 0;
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/
?wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=56661ec105b250698b295c62a9105000a39d231a
&wechat_auth_token=17e0b7c49466228761065f716932bc2be011643918388db5b2f6dc34da67ba71_MTYxMTk5OTQxNw==
取消
1
2
3
4
5
6
7
8
9
10
11
12
13
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2020;
country = CN;
isAutoResend = 0;
language = "zh_CN";
result = 0;
returnFromApp = 0;
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/
成功
1
2
3
4
5
6
7
8
9
10
11
12
13
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2020;
country = CN;
isAutoResend = 0;
language = "zh_CN";
result = 0;
returnFromApp = 0;
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/

登录

初次

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 0;
isAutoResend = 0;
result = 1;
returnFromApp = 0;
sdkver = "1.8.7.1";
universalLink = "https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/";
};
}

https://help.wechat.com/app/wxbd86eec6a59d07aa/auth/
?scope=snsapi_userinfo
&state=
&wechat_app_bundleId=com.nuomi1.bus.mock
&wechat_auth_context_id=92a60b66c33b0af61a82368345932979ba95fdd3

拒绝

1
2
3
4
5
6
7
8
9
10
11
12
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2030;
isAutoResend = 0;
result = "-4";
returnFromApp = 0;
state = "";
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/

取消

1
2
3
4
5
6
7
8
9
10
11
12
[Data-Plist] (1/1) content {
wxbd86eec6a59d07aa = {
command = 2030;
isAutoResend = 0;
result = "-2";
returnFromApp = 0;
state = "";
wechatVersion = 402653477;
};
}

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/

成功

1
2
3
4
5
6
7
[Data-String] (1/1) content

https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/oauth
?code=081vs51w3DKYJV26em1w3EmU9l4vs51u
&state=
&wechat_auth_context_id=ded2c9ce8c8fc6f5df6e1ac773ac36d1c9a88f73
&wechat_auth_token=c6abad264166cac33865a79a9c949659d1caa7d596d15185f7260486b38b7f08_MTYxMjAwMDE3Ng==

分析

分享

基础信息

  1. appIDwxbd86eec6a59d07aa
  2. appNameBusMock
  3. bundleIDcom.nuomi1.bus.mock
  4. universalLinkhttps://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/
  5. wechatUniversalLinkhttps://help.wechat.com/app/

公共部分

从记录到的 URL 和剪切板,我们可以看到主要内容在剪切板,Universal Link 仅做跳转和校验。

Universal Link 的公共部分:

  1. wechat_app_bundleId${bundleID}
  2. wechat_auth_context_id${contextID},可通过 SHA1(${DATE}) 获取
  3. wechat_auth_token${signToken}

剪切板的公共部分:

  1. command 表示请求类型,1010 为分享多媒体,1020 为分享文本,command 为登录
  2. isAutoResend 表示是否校验后初次分享
  3. result1,不明
  4. returnFromApp0,不明
  5. scene 表示分享场景,0 为好友,1 为朋友圈,2 为收藏
  6. sdkver1.8.7.1,表示 SDK 版本
  7. universalLink${universalLink}

多媒体消息的剪切板的公共部分:

  1. description${description}
  2. disableForward 可能表示是否禁止转发
  3. miniprogramType 为小程序版本类型,0 为正式版,1 为测试版,2 为预览版
  4. objectType 为消息类型,2 为图片,3 为音频,4 为视频,5 为网页,6 为文件,36 为小程序
  5. thumbData${image}
  6. title${title}
  7. weworkObjectSubType 可能为企业微信分享子类型
  8. withShareTicket 为小程序分享限制

除了 MiniProgramMessage,其他多媒体消息应该不需要小程序相关数据,但是微信 SDK 会写入,猜测多余数据不影响操作。

初次

当 App 初次分享到微信时,调用 https://help.wechat.com/app/wxbd86eec6a59d07aa/sendreq/ 拉起微信分享,URL 匹配 ${wechatUniversalLink}/${appID}/sendreq/

校验

此时需要进行 Universal Link 校验,调用 https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/refreshToken 返回 App,URL 匹配 ${universalLink}/${appID}/refreshToken,token 从 wechat_auth_token 获取。

二次

拿到 token 后,进行第二次分享,此时 URL 不需要 wechat_auth_context_id,但剪切板中 isAutoResend = true

三次

进行第三次分享时,wechat_auth_context_id / wechat_auth_token 都存在。

成功

分享成功时,调用 https://mock.bus.nuomi1.com/wechat/bd86eec6a59d07aa/wxbd86eec6a59d07aa/ 返回 App,URL 匹配 ${universalLink}/${appID}

剪切板中 result = 0 表示成功。

取消

微信目前不存在分享取消的状态,统一使用成功的状态进行返回。

TextMessage

我们可以看到:

  1. title${text}

ImageMessage

我们可以看到:

  1. fileData${image}

AudioMessage

我们可以看到:

  1. mediaDataUrl${dataLink}
  2. mediaUrl${link}

VideoMessage

我们可以看到:

  1. mediaUrl${link}

WebPageMessage

我们可以看到:

  1. mediaUrl${link}

FileMessage

我们可以看到:

  1. fileData${file}
  2. fileExt 表示文件后缀名

MiniProgramMessage

我们可以看到:

  1. appBrandPath${path}
  2. appBrandUserName${miniProgramID}
  3. hdThumbData${image}
  4. mediaUrl${link}

登录

当 App 使用微信登录时,调用 https://help.wechat.com/app/wxbd86eec6a59d07aa/auth/ 打开微信,URL 匹配 ${universalLink}/${appID}/auth

Universal Link 中:

  1. scopesnsapi_userinfo,表示获取用户基本信息
  2. state 为自定义唯一码,用于区分登录状态,可以不用设置

回调

Universal Link 中:

  1. code 为登录凭据

剪切板中:

  1. result 表示返回码,-4 为拒绝,-2 为取消,成功时不会写入剪切板

总结

本文通过记录和分析 Wechat SDK 的行为,厘清了微信分享和登录的流程。传递数据主要靠剪切板。

调试过程中还发现了 BUG,isAutoResend 使用 String0 / 1 没问题,实际上应该用 Bool,但 miniprogramType 使用 String0 / 1 / 2 会造成微信崩溃,改回 Int(64) 才正常。猜测是这个参数没做类型容错。

完整代码实现请参考来源。

参考

  1. NBus - WechatHandler