微信jssdk

一、引入微信jssdk(需要先配置安全域名)

<script src="http://res.wx.qq.com/open/js/jweixin-1.2.0.js" type="text/javascript" charset="utf-8"></script>

附:微信官方文檔

二、通過config注入權限驗證配置

					$.ajax({
						type: "post",
						url: $http + "url", //後臺接口
						xhrFields: {
							withCredentials: true
						},
						success: function(res) {
							wx.config({
								appId: res.data.app_id, // 必填,企業號的唯一標識,此處填寫企業號corpid
								timestamp: res.data.timestamp, // 必填,生成簽名的時間戳
								nonceStr: res.data.noncestr, // 必填,生成簽名的隨機串
								signature: res.data.sign, // 必填,簽名,見附錄1
								jsApiList: [
									'checkJsApi',
									'onMenuShareTimeline',
									'onMenuShareAppMessage',
									'onMenuShareQQ',
									'onMenuShareWeibo',
									'hideMenuItems',
									'showMenuItems',
									'hideAllNonBaseMenuItem',
									'showAllNonBaseMenuItem',
									'translateVoice',
									'startRecord',
									'stopRecord',
									'onRecordEnd',
									'playVoice',
									'pauseVoice',
									'stopVoice',
									'uploadVoice',
									'downloadVoice',
									'chooseImage',
									'previewImage',
									'uploadImage',
									'downloadImage',
									'getNetworkType',
									'openLocation',
									'getLocation',
									'hideOptionMenu',
									'showOptionMenu',
									'closeWindow',
									'scanQRCode',
									'chooseWXPay',
									'openProductSpecificView',
									'addCard',
									'chooseCard',
									'openCard'
								] // 必填,需要使用的JS接口列表,所有JS接口列表見附錄2
							});
							wx.ready(function() {
								// config信息驗證後會執行ready方法,所有接口調用都必須在config接口獲得結果之後,config是一個客戶端的異步操作,所以如果需要在頁面加載時就調用相關接口,則須把相關接口放在ready函數中調用來確保正確執行。對於用戶觸發時才調用的接口,則可以直接調用,不需要放在ready函數中。
								//例如,進入首頁需要獲取地理位置,需要在這裏寫wx.getLocation

							});
							wx.error(function(res) {
								// config信息驗證失敗會執行error函數,如簽名過期導致驗證失敗,具體錯誤信息可以打開config的debug模式查看,也可以在返回的res參數中查看,對於SPA可以在這裏更新簽名。
							});
						}
					});

三、寫需要用到的權限

例如:獲得地理位置

								wx.getLocation({
									type: 'wgs84', // 默認爲wgs84的gps座標,如果要返回直接給openLocation用的火星座標,可傳入'gcj02'
									success: function(res) {
										var latitude = res.latitude; // 緯度,浮點數,範圍爲90 ~ -90
										var longitude = res.longitude; // 經度,浮點數,範圍爲180 ~ -180。
										var speed = res.speed; // 速度,以米/每秒計
										var accuracy = res.accuracy; // 位置精度
										var dingwei = res.latitude + "," + res.longitude
										sessionStorage.setItem("dingwei", dingwei)
									}
								});

例如:掃描二維碼

						wx.scanQRCode({
							needResult: 1, // 默認爲0,掃描結果由微信處理,1則直接返回掃描結果,
							scanType: ["qrCode", "barCode"], // 可以指定掃二維碼還是一維碼,默認二者都有
							success: function(res) {
								var result = res.resultStr; // 當needResult 爲 1 時,掃碼返回的結果
								window.location.href = result
							}
						});

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章