v wechat auth
1.0.0
vue 2.0 微信網頁授權插件
npm install --save v-wechat-auth
import Vue from 'vue'
import VWechatAuth from 'v-wechat-auth'
<!-- 在 Vue 之后 -->
<!-- 从本地文件 -->
< script src =" v-wechat-auth/dist/v-wechat-auth.min.js " > </ script >
<!-- 从 CDN -->
< script src =" https://unpkg.com/v-wechat-auth " > </ script >
Vue . use ( VWechatAuth )
// 必须在 root 实例上注入 wechatAuth
new Vue ( {
el : '#app' ,
... ,
wechatAuth : new VWechatAuth ( {
appId : 'your wechat appid' ,
scope : 'snsapi_base or snsapi_userinfo'
authorize ( ) {
return axios . get ( 'your backend api here' , { params : { code : code } } )
. then ( function ( res ) {
var data = ( res && res . data ) || { } // response data should at least contain openid
return data
} )
}
} )
} )
this . $wechatAuth . authorize ( )
將examples
資料夾中的config.example.js
重新命名為config.js
修改config.js
, 填入微信appid 和scope, 並在authorize
方法中呼叫後端介面取得使用者信息,並將使用者資訊傳回
修改host
文件,將微信授權網域對應為localhost
運行npm run example
在微信開發者工具中存取授权域名/examples/index.html
(因為修改了host,這時存取的實際上是本地)
能顯示目前使用者的openid
屬性 | 類型 | 必輸 | 預設 | 說明 |
---|---|---|---|---|
autoRedirect | boolean | 否 | true | 當url 中不包含code 參數或傳回結果中不包含openid時,是否自動重定向到微信授權url |
appId | string | 是 | 微信appid | |
scope | string | 是 | 微信scope, snsapi_base 或snsapi_userinfo | |
state | string | 否 | '' | 微信state |
authorize | function | 是 | ajax 請求呼叫後端介面取得微信用戶訊息 | |
ssr | boolean | 否 | 是否使用服務端渲染,尚未實現 |
屬性 | 說明 |
---|---|
user | 當獲取用戶資訊成功後,儲存了用戶的信息,否則為一個空對象 |
方法 | 參數 | 返回 | 說明 |
---|---|---|---|
authorize | onSuccess,執行成功的回呼函數 onFail,執行失敗的回呼函數 | Promise | 授權獲取使用者訊息,支援回呼函數和Promise |
MIT