小程式獲取微信運動步數
第一步,獲取session_key,用來解密必須用到的
程式碼為:
wx.login({ success: function (res) { var appid = "wx1b4e5e75***48af1"; var secret = "8eb5b7c6af68****af2995b6a8758"; if (res.code) { wx.request({ url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appid + '&secret=' + secret + '&js_code=' + res.code + '&grant_type=authorization_code', header: { 'content-type': 'json' }, success: function (res) { var session_key = res.data.session_key; console.log(session_key); that.getData(appid, session_key); } }) } } })
注意:這裡要注意的是,在體驗版中,使用體驗版的appid和secret,微信小程式端是可以獲取到seesion_key和openid的,而在上線的正式版本中,使用正式的appid和secret,則會出現錯誤。
第二步,獲取encryptedData和iv,就是一些,微信步數加密後的資料
程式碼為:
wx.getWeRunData({ success: function (res) { console.log(res); console.log("appid:" + appid + "session_key:" + session_key + "encryptedData:" + res.encryptedData + "iv:" + res.iv); var encryptedData = res.encryptedData; var iv = res.iv; //使用解密工具,連結地址: //https://codeload.github.com/gwjjeff/cryptojs/zip/master var pc = new WXBizDataCrypt(appid, session_key); console.log(pc); var data = pc.decryptData(encryptedData, iv) console.log(data) }, fail: function (res) { wx.showModal({ title: '提示', content: '開發者未開通微信運動,請關注“微信運動”公眾號後重試', showCancel: false, confirmText: '知道了' }) } })
詳細 JS程式碼為:
/** * 生命週期函式--監聽頁面載入 */ onLoad: function (options) { var that = this; wx.login({ success: function(res){ var appid = ""; var secret = ""; if(res.code){ wx.request({ url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appid + '&secret=' + secret + '&js_code=' + res.code + '&grant_type=authorization_code', header: { 'content-type': 'json' }, success: function(res){ var session_key = res.data.session_key; console.log(session_key); that.getData(appid,session_key); } }) } } }) }, //獲取encryptedData(沒有解密的步數)和iv(加密演算法的初始向量) getData: function (appid,session_key) { wx.getSetting({ success: function (res) { console.log(res); if (!res.authSetting['scope.werun']) { wx.showModal({ title: '提示', content: '獲取微信運動步數,需要開啟計步許可權', success: function (res) { if (res.confirm) { //跳轉去設定 wx.openSetting({ success: function (res) { } }) } else { //不設定 } } }) } else { wx.getWeRunData({ success: function (res) { console.log(res); console.log("appid:" + appid + "session_key:" + session_key + "encryptedData:" + res.encryptedData + "iv:" + res.iv); var encryptedData = res.encryptedData; var iv = res.iv; //使用解密工具,連結地址: //https://codeload.github.com/gwjjeff/cryptojs/zip/master var pc = new WXBizDataCrypt(appid, session_key); console.log(pc); var data = pc.decryptData(encryptedData, iv) console.log(data) }, fail: function (res) { wx.showModal({ title: '提示', content: '開發者未開通微信運動,請關注“微信運動”公眾號後重試', showCancel: false, confirmText: '知道了' }) } }) } } }) },
結果為:
相關推薦
小程式獲取微信運動步數
第一步,獲取session_key,用來解密必須用到的 程式碼為: wx.login({ success: function (res) { var appid = "wx1b4e5e75***48af1"; var secret = "
t微信小程式開發-獲取微信運動步數
官方API步驟最近做一個微信小程式需用到微信運動資料,根據文件,我寫了一個demo;先總結一下步驟,流程簡單如下:1、呼叫小程式API:wx.login獲取code和sessionKey; 2、呼叫小程式API: wx.getWeRunData獲取微信運動資料(加密的); 3
微信小程式開發-獲取微信運動步數
官方API 步驟 最近做一個微信小程式需用到微信運動資料,根據文件,我寫了一個demo;先總結一下步驟,流程簡單如下: 1、呼叫小程式API:wx.login獲取code和sessionKey; 2、呼叫小程式API: wx.getWe
小程式獲取微信登陸使用者
傳統的小程式微信登陸 小程式利用雲開發微信登陸 雲開發可以自動實現使用者登入的校驗,開發者無需再次校驗使用者身份,直接通過雲函式的 event.userInfo.openId 即可獲取到使用者資訊。直接呼叫資料庫 、檔案儲存 API 時,也會自動關聯到使用者對應的 o
微信小程式獲取微信使用者繫結的手機號
獲取微信使用者繫結的手機號 1.getPhoneNumber這個元件通過button來實現(別的標籤無效)。將button中的open-type=“getPhoneNumber”,並且繫結bindgetphonenumber事件獲取回撥。 <button open-
微信小程式之微信登陸 —— 微信小程式教程系列(20)
簡介: 微信登陸,在新建一個微信小程式Hello World專案的時候,就可以看到專案中出現了我們的微信頭像,其實這個Hello World專案,就有一個簡化版的微信登陸。只不過是,還沒有寫入到咱們自家的後臺中而已。 新建一個Hello World專案,找到a
Okam(奧卡姆):小程式開發框架,支援百度小程式、微信小程式、支付寶小程式
Okam(奧卡姆):小程式開發框架,支援百度小程式、微信小程式、支付寶小程式 Okam 是什麼 `Okam` 一個面向小程式開發的開發框架,開發體驗類 `Vue`。詳情 Okam 對各小程式的支援情況 支援 百度小程式 支援 微信小程式 支援 支付寶小程式 Okam 提供
微信小程式-day02-微信小程式-框架-配置-pages、windows、tabBars、debug(json檔案)
1.pages(頁面路徑列表) "pages":[ "pages/index/index", "pages/do/do", "pages/eat/eat", "pages/logs/logs" ] 2.windows(全域性的預設視窗表現) "window":{
3分鐘實現小程式喚起微信支付 Laravel教程
微信支付的接入,如果不使用成熟的開發包,將是巨大的工作量。 依賴 EasyWechat 先在 laravel 專案中依賴 easywechat 這個包 composer require "overtrue/laravel-wechat":"^4.0" 配置 在 .env 中新增微信支付的 key 配置
淺談支付寶小程式與微信小程式開發的區別
淺談支付寶小程式與微信小程式開發的區別 一、app.json (1)設定小程式通用的的狀態列、導航條、標題、視窗背景色 支付寶小程式 "window": { "defaultTitle": "病案到家", //頁面標題 "titleBarColor": "#1
小程式日記-微信支付提示201商戶訂單號重複
微信支付有2個步驟: 1. 預下單,提供幾個引數(openid,訂單內容,訂單號,總價),預下單成功後獲得預下單號 2.再用預下單號和訂單號真正進行支付。 如果你用了相同的訂單號,但是訂單內容和總價不一樣。則會提醒201商戶訂單號重複. 如果訂單號,內容總價都一樣, 微信會檢查是否已經成功支付,會提醒
使用mpvue開發微信小程式——原生微信小程式、mpvue、wepy對比
mpvue是什麼?為什麼使用它? 目前小程式開發主要有三種形式:原生、wepy、mpvue,其中wepy是騰訊的開源專案;mpvue是美團開源的一個開發小程式的框架,全稱mini program vue(基於vue.js的小程式),vue開發者使用了這個框架後,開發小程式的效率將得到
微信小程式API—微信小程式開發工具
為了讓開發者可以很方便的調起微信提供的能力,例如獲取使用者資訊、微信支付等等,小程式提供了很多 API 給開發者去使用。 要獲取使用者的地理位置時,只需要: wx.getLocation({ type: ‘wgs84’, success: (re
-齊梟飛前端架構師 微信小程式--仿微信 QQ左劃事件--
廢話不多說,直接上程式碼: js: var app = getApp() Page({ data: { items: [], startX: 0, //開始座標 startY: 0 }, onLoad: func
爆料 | 別小看“微信運動”步數,可以看出你的職業、生活狀態
在微信的“微信運動”,可以看到自己和好友的運動狀態,還能確切的看到微信運動步數。微信運動步數,雖然只是一個簡單的數字,但是卻可以從中解讀出很多有趣的個人資訊。一起來看下外媒對於“微信運動”步數的相關解讀低於50步,宅或心情不好 微信步數很多時候低於50步,活動範圍一般侷限在家
百度智慧小程式擊中微信軟肋:流量要多更要精
最近幾個月,小程式領域可謂是訊息不斷。此前今日頭條小程式開啟內測引起一陣騷動後,9月25日,百度舉辦了一場智慧小程式媒體溝通會,宣佈智慧小程式將全面開放申請,幾乎所有小程式開發者們都興奮起來,BAT小程式實質之戰也一觸即發。 作為一個在公測期打造了多個成功案例的生態,很
微信小程式之微信支付C#後臺(統一下單)
#region 生成簽名 /// <summary> /// 獲取簽名資料 ///</summary> /// <param name="strParam"></param> /// <param name="key"></par
微信小程式、微信公眾號客服轉私人微訊號,實現24小時客服線上
現在不少企業都有自己的微信公眾號、服務號、小程式,其中也添加了客服功用。 但據所知,官方提供的僅是網頁版的客服系統,我們的客服人民必須開啟網頁進行“守候”。 我們為什麼不能將
微信小程式實現微信支付
【微信支付】 /* 微信支付 */ wxpay: function () { var that = this //登陸獲取code wx.login({ success: function (res) { consol
小程式獲取微信使用者繫結的手機號
/** * 獲取微信繫結的手機號碼 * @param encryptedData * @param vi * @param sessionKey * @param mbId * @return * @th