cordova-plugin-holdskill-wechat
A cordova plugin, a JS version of Wechat SDK
Feature
Share title, description, image, and link to wechat moment(朋友圈),choose invoice from Wechat list
Example
See cordova-plugin-holdskill-wechat-example
Install
-
cordova plugin add cordova-plugin-holdskill-wechat --variable wechatappid=YOUR_WECHAT_APPID
, or using plugman, phonegap, ionic -
cordova build ios
orcordova build android
-
(iOS only) if your cordova version <5.1.1,check the URL Type using XCode
Usage
Check if wechat is installed
Wechat.isInstalled(function (installed) { alert("Wechat installed: " + (installed ? "Yes" : "No"));}, function (reason) { alert("Failed: " + reason);});
Authenticate using Wechat
var scope = "snsapi_userinfo", state = "_" + (+new Date());Wechat.auth(scope, state, function (response) { // you may use response.code to get the access token. alert(JSON.stringify(response));}, function (reason) { alert("Failed: " + reason);});
Share text
Wechat.share({ text: "This is just a plain string", scene: Wechat.Scene.TIMELINE // share to Timeline}, function () { alert("Success");}, function (reason) { alert("Failed: " + reason);});
Share media(e.g. link, photo, music, video etc)
Wechat.share({ message: { title: "Hi, there", description: "This is description.", thumb: "www/img/thumbnail.png", mediaTagName: "TEST-TAG-001", messageExt: "这是第三方带的测试字段", messageAction: "<action>dotalist</action>", media: "YOUR_MEDIA_OBJECT_HERE" }, scene: Wechat.Scene.TIMELINE // share to Timeline}, function () { alert("Success");}, function (reason) { alert("Failed: " + reason);});
Share link
Wechat.share({ message: { ... media: { type: Wechat.Type.WEBPAGE, webpageUrl: "http://tech.qq.com/zt2012/tmtdecode/252.htm" } }, scene: Wechat.Scene.TIMELINE // share to Timeline}, function () { alert("Success");}, function (reason) { alert("Failed: " + reason);});
Send payment request
// See https://github.com/HoldSkill/cordova-plugin-holdskill-wechat-example/blob/master/server/payment_demo.php for php demovar params = { partnerid: '10000100', // merchant id prepayid: 'wx201411101639507cbf6ffd8b0779950874', // prepay id noncestr: '1add1a30ac87aa2db72f57a2375d8fec', // nonce timestamp: '1439531364', // timestamp sign: '0CB01533B8C1EF103065174F50BCA001', // signed string}; Wechat.sendPaymentRequest(params, function () { alert("Success");}, function (reason) { alert("Failed: " + reason);});
Choose invoices from card list
//offical doc https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1496561749_f7T6Dvar params = { timeStamp: '1510198391', // timeStamp signType: 'SHA1', // sign type cardSign: 'dff450eeeed08120159d285e79737173aec3df94', // cardSign nonceStr: '5598190f-5fb3-4bff-8314-fd189ab4e4b8', // nonce}; Wechat.chooseInvoiceFromWX(data,function(data){ console.log(data);},function(){ alert('error');})
FAQ
See FAQ.
TODO
-
Add android version -
Share to wechat session(聊天) and wechat favorite(收藏) -
Add other media types, including music etc. -
Other APIs -
Android Version update