微信JSSDKとNodeJSの深さ統合
5516 ワード
H 5携帯端末の学生にとっては、WeChatは不可欠な入り口です.もちろん、WeChatを呼び出してH 5またはJSに提供する必要があります.私たちもWeChatの要求によって各種の署名検証をしなければなりません.やっと最終的に私たちの需要に達することができます.GITHUBの上にもこの方面の倉庫がたくさんあります.しかし、彼らは常に多かれ少なかれ完全に需要を満たすことができない、または多くの追加の開発を支払う必要があります.だから、私自身も倉庫wechat-jssdkを開発して、微信JSSDKの機能を最大化しました.この倉庫はjssdkの提供する機能だけに注目して、サービスセンター(NodeJS)の各種の検札サポートを提供しています.ticketの期限切れの処理は、開発者が業務そのものにもっと関心を持つようにします.はい、WHYを言い終わりました.HOWを紹介します.まずデモをお願いします.
主要機能セットサービス端末 ブラウザ端末 OAuthウェブページのライセンス マイクロクレジットカード券 WeChat支払い Stres を使用します.完全デモ 使い方
1.今は普通は直接に
2.ブラウザに現在のアドレスの署名を取得するためにAPIを提供する必要があります.
ブラウザ
先端にあるjs:
OAuth
デフォルトでは、WeChatを生成するためのライセンスURLは
WeChatカード券
wechatConfigに
WeChatで支払う
wechatConfig設定
Stresを使う
Storeは、ユーザー定義でtokenを保存します.(ファイル、データベースなど)自分のStoreを実現します.APIはStoreを持っています.
API
APIのwikiを見ます
モモ
プロジェクトを引き延ばします:
結論
はい、大体の使い方は以上の通りです.JSSDKの大多数の機能需要を満たしています.興味のある人はGithubに行って試してみてもいいです.助けがあれば、Starは励みになります.
主要機能セット
npm install wechat-jssdk --save
またはyarn add wechat-jssdk
//require
const Wechat = require('wechat-jssdk');
const wx = new Wechat(wechatConfig);
Wechat ConfigwechatConfig
は以下のフォーマットである.{
//
wechatRedirectUrl: "http://yourdomain.com/wechat/oauth-callback",
wechatToken: "xxx", // ,
appId: "xxx",
appSecret: "xxx",
card: true, // ,
payment: true, // ,
merchantId: '', // ID
paymentSandBox: true, // ,
paymentKey: '', // , ,TIP: , , 。
//pfx
paymentCertificatePfx: fs.readFileSync(path.join(process.cwd(), 'cert/apiclient_cert.p12')),
//
paymentNotifyUrl: `http://your.domain.com/api/wechat/payment/`,
}
ウィーチャット環境を設定1.今は普通は直接に
MP_verify_xxx.txt
ファイルをあなたのウェブサイトのルートディレクトリに置いて、WeChatに自動的に検証させます.2.ブラウザに現在のアドレスの署名を取得するためにAPIを提供する必要があります.
//express
router.get('/get-signature', function(req, res) {
wx.jssdk.getSignature(req.query.url).then(function(signatureDate) {
res.json(signatureDate);
});
});
3.署名を取得したら、次のブラウザでの使用方法を入力します.ブラウザ
先端にあるjs:
//ES6
import WechatJSSDK from 'wechat-jssdk/dist/client';
//commonjs
const WechatJSSDK = require('wechat-jssdk/dist/client');
//others
window.WechatJSSDK
// :
const wechatObj = new WechatJSSDK(config);
config
は、const config = {
// 4 , 2-4 '/get-signature' node
'appId': 'xxx',
'nonceStr': 'xxx',
'signature': 'xxx',
'timestamp': 'xxx',
//
'success': function(wechatObj){}, // , 'successCallback'
'error': function(err, wechatObj){}, // , 'errorCallback'
'debug': true, // debug
'jsApiList': [], // jsapi , ['onMenuShareTimeline', 'onMenuShareAppMessage'],
'customUrl': '' // js
}
署名の検証に成功したら、あなたの共有内容をカスタマイズできます.//
// `wechatObj.callWechatApi('onMenuShareAppMessage', {...})`,
wechatObj.shareOnChat({
type: 'link',
title: 'title',
link: location.href,
imgUrl: '/logo.png',
desc: 'description',
success: function (){},
cancel: function (){}
});
//
//
wechatObj.shareOnMoment({
type: 'link',
title: 'title',
link: location.href,
imgUrl: '/logo.png'
});
オリジナルのWeChatオブジェクトwx
を取得するには、wechatObj.getOriginalWx()
によって取得することができる.最初の検証が失敗した場合、署名情報はerror
のコールバックで更新され、検証要求を再送信することができる.{
'nonceStr': 'xxx',
'signature': 'xxx',
'timestamp': 'xxx',
}
他のWeChatインターフェースを起動します.wechatObj.signSignature(newSignatureConfig);
newSignatureConfig
およびwechatObj.callWechatApi(apiName, apiConfig)
は、WeChat公式インターフェースドキュメントを参照してください.OAuth
デフォルトでは、WeChatを生成するためのライセンスURLは
apiName
とapiConfig
となっています.ここでのデフォルトのコールURLはwx.oauth.snsUserInfoUrl
で構成されているwx.oauth.snsUserBaseUrl
です.定義されたコールバックアドレスからwechatConfig
を呼び出すことによってもいいです.//callback url handler
// "wechatRedirectUrl" "http://127.0.0.1/wechat/oauth-callback", :
router.get('/wechat/oauth-callback', function (req, res) {
// code,
wx.oauth.getUserInfo(req.query.code)
.then(function(userProfile) {
console.log(userProfile)
res.render("demo", {
wechatInfo: userProfile
});
});
});
TIP:上のリダイレクトアドレスのドメイン名はすでにWeChatのライセンスコールアドレスの設定に設定されていることを確認します.WeChatカード券
wechatConfigに
wechatRedirectUrl
を設置して、カード券の機能のサービスサポートをします.demoを参照してください.カード券APIを確認したいです.cards appisを参照してください.WeChatで支払う
wechatConfig設定
wx.oauth.generateOAuthUrl(customUrl, scope, state)
でWeChat支払い機能のサービスサポートをしています.他のいくつかの支払いに必要な構成も一緒に設定してください.demoを参照してください.支払いAPIを確認して、payment appisを参照してください.Stresを使う
Storeは、ユーザー定義でtokenを保存します.(ファイル、データベースなど)自分のStoreを実現します.APIはStoreを持っています.
card: true
、payment: true
、デフォルトはFileStore
で、MongoStore
ファイルに保存します.API
APIのwikiを見ます
モモ
プロジェクトを引き延ばします:
FileStore
はwechat-info.json
からgit clone [email protected]:JasonBoy/wechat-jssdk.git
までコピーして、中でdemo/wechat-config-sample.js
、demo/wechat-config.js
を改正して、その他の構成は支払ったようなその他の構成はもし支払機能を使うならば.結論
はい、大体の使い方は以上の通りです.JSSDKの大多数の機能需要を満たしています.興味のある人はGithubに行って試してみてもいいです.助けがあれば、Starは励みになります.