使用此模塊以前建議先配置 config.xml 文件,配置完畢,需經過雲端編譯生效,配置方法以下:ajax
<feature name="wx"> <param name="urlScheme" value="wxd0d84bbf23b4a0e4"/> <param name="apiKey" value="wxd0d84bbf23b4a0e4"/> <param name="apiSecret" value="a354f72aa1b4c2b8eaad137ac81434cd"/> </feature>
字段描述:api
urlScheme:(必須配置)用於實現應用間跳轉及數據交換,本應用能夠啓動微信客戶端,也能夠從微信客戶端跳回本應用。urlScheme 的 value 值是從微信開放平臺獲取的 appid。appid 申請方法參考微信開放平臺接入文檔。數組
apiKey:(必須配置)從微信開放平臺獲取的 appid,值與 urlScheme 相同。appid 申請方法參考微信開放平臺接入文檔。微信
apiSecret:從微信開放平臺獲取的 secret。獲取 accessToken 時須要配置此項。appid 申請方法參考微信開放平臺接入文檔。網絡
引入wx模塊app
var wx = api.require('wx');
判斷當前手機是否安裝微信客戶端異步
wx.isInstalled(function(ret, err) { if (ret.installed) { alert("當前設備已安裝微信客戶端"); } else { alert('當前設備未安裝微信客戶端'); } });
auth 登陸受權(用於實現第三方登陸)ide
auth({params}, callback(ret, err))ui
apiKey:url
ret:
{ status: true, //布爾型;true||false code: '' //字符串類型;getToken 接口需傳入此值,用於換取 accessToken }
err:
{ code: 0 //數字類型; //錯誤碼: //-1(未知錯誤), //0(成功,用戶贊成) //1 (用戶取消) //2 (用戶拒絕受權) //3 (當前設備未安裝微信客戶端) }
var wx = api.require('wx'); wx.auth({ apiKey: '' }, function(ret, err) { if (ret.status) { alert(JSON.stringify(ret)); } else { alert(err.code); } });
getToken({params}, callback(ret, err))
apiKey:
apiSecret
code
ret:
{ status: true, //布爾型;true||false accessToken: '', //字符串類型;接口調用憑證,傳給 getUserInfo 接口 獲取用戶信息;有效期2小時 dynamicToken: '', //字符串類型;當 accessToken 過時時把該值傳給 refreshToken 接口刷新 accessToken 的有效期。dynamicToken 的有效期爲30天 expires: 7200, //數字類型;accessToken 有效期,單位(秒) openId: '' //字符串類型;受權用戶惟一標識 }
err:
{ code: 0 //數字類型; //錯誤碼: //-1(未知錯誤), //0 (成功) //1 (apiKey值爲空或非法) //2 (apiSecret值爲空或非法) //3 (code值爲空或非法) //4 (網絡超時) }
var wx = api.require('wx'); wx.getToken({ apiKey: '', apiSecret: '', code: "12346857684" }, function(ret, err) { if (ret.status) { alert(JSON.stringify(ret)); } else { alert(err.code); } });
此接口須要訪問網絡,異步調用 callback 須要一段時間才能返回 accessToken
accessToken:
openId:
lang:
ret:
{ status: true, //布爾型;true||false openid: '', //字符串類型;普通用戶的標識,對當前開發者賬號惟一 nickname: '', //字符串類型;普通用戶暱稱 sex: 1, //數字類型;普通用戶性別,1爲男性,2爲女性 headimgurl: '', //字符串類型;用戶頭像,最後一個數值表明正方形頭像大小(有0、4六、6四、9六、132數值可選,0表明640*640正方形頭像),用戶沒有頭像時該項爲空 privilege: [], //數組類型;用戶特權信息,如微信沃卡用戶爲(chinaunicom) unionid: '' //字符串類型;用戶統一標識。針對一個微信開放平臺賬號下的應用,同一用戶的unionid是惟一的。 }
err:
{ code: 0 //數字類型; //錯誤碼: //-1(未知錯誤), //0 (成功), //1 (accessToken 過時), //2 (openId非法), //3 (openId值爲空), //4 (accessToken值爲空), //5 (accessToken非法) //6 (網絡超時) }
var wx = api.require('wx'); wx.getUserInfo({ accessToken: '', openId: '' }, function(ret, err) { if (ret.status) { alert(JSON.stringify(ret)); } else { alert(err.code); } });
給你們講下 本身作到列子,
apiKey和apiSecret 都是官網提供的,不能受權登陸獲取到用戶信息
function initWXBind() { var wx = api.require('wx'); var code = ''; wx.isInstalled(function(ret, err) { if (!ret.installed) { alert("當前設備未安裝微信客戶端"); } else { wx.auth({ apiKey: 'wxd0d84bbf23b4a0e4' }, function(ret, err) { if (ret.status) { wx.getToken({ apiKey: 'wxd0d84bbf23b4a0e4', apiSecret: 'a354f72aa1b4c2b8eaad137ac81434cd', code: ret.code }, function(ret, err) { if (ret.status) { api.showProgress({ style: 'default', animationType: 'fade', title: '受權成功', text: '綁定處理中...', modal: true }); wx.getUserInfo({ accessToken: ret.accessToken, openId: ret.openId }, function(ret, err) { if (ret.status) { // 綁定成功 WXbindAccount(ret.openid); api.hideProgress(); } }); } else { alert(err.code); } }); } }); } }); }
調用接口,傳參
function WXbindAccount(參數1) { api.ajax({ url: '接口', method: 'get', data: { values: { openid: 參數, } } }, function(ret, err) { if (ret.retCode == 200) { $api.setStorage("保存當前user",ret.data); api.closeWin({ name:"login" }); return true; } }); }