微信小程序——獲取用戶的運動步數

程序獲取用戶信息步驟

  • 點擊參考微信文檔中的授權
  • 首先程序先向用戶申請訪問哪些權限
  • 用戶做出選擇后返回給程序
  • 程序攜帶權限訪問服務器
  • 如果用戶允許則返回信息
  • 如果用戶為允許則不返回
    在這里插入圖片描述

自定義函數getUserRun

在這里插入圖片描述
為獲取用戶的微信運動數據 頁面加載調用此函數函數中執行下面操作

1. 獲取用戶的權限設置

在這里插入圖片描述

  • wx.getSetting(object,object)獲取當前用戶的設置,返回值就是小程序向客戶請求過的權限(包括允許和未允許的)
  • 函數中的success是成功后執行 輸出內容中的authSetting為空對象 說明當前用戶沒有對改程序開放任何權限
2.判斷用戶是否對微信運動步數進行授權

在這里插入圖片描述

  • 當用戶對微信運動步數授權后 setting中的成功返回值authSetting中的對象應該包括scope.werun
  • 可以根據返回值authSetting對象中是否包含scope.werun而進行判斷

在這里插入圖片描述

2.1 如果用戶還沒有授權
  • 通過調用wx.authorize(object,object)立刻彈窗詢問是否授權小程序使用某項功能或獲取用戶的某些數據,如果用戶已經授權則不會彈起
    在這里插入圖片描述
    在這里插入圖片描述
  • scope的參數值就是要申請的權限
  • 用戶允許后執行sucess函數
    在這里插入圖片描述
    • 調用自定義方法獲取用戶微信運動數據
  • 用戶不允許則執行fail函數在這里插入圖片描述
    • 在函數中 通過wx.showModal彈出提示框 title為標題 content為內容 用戶確認后提示框消失
2.2 如果用戶已經授權
  • 調用自定義方法(此方法就是獲取用戶微信運動的數據)
    在這里插入圖片描述
3. 自定義函數讀取用戶微信運動數據
  //定義函數讀取用戶微信運動數據getWeRunData() {wx.getWeRunData({success(res) {console.log(res)}})},

在這里插入圖片描述

  • 通過調用wx.getWeRunData(Object object)接口獲取用戶過去三十天微信運動步數。需要先調用 wx.login 接口。步數信息會在用戶主動進入小程序時更新。

  • 但是返回的數據出于安全是加密的 通過如下方式進行解密
    在這里插入圖片描述

  • 重新編譯自定義函數代碼

     //定義函數讀取用戶微信運動數據getWeRunData() {wx.getWeRunData({success(res) {//由于數據是進行加密的所以我們通過條用云函數的方式進行解密wx.cloud.callFunction({name: 'deswerundata',data: {weRunData: wx.cloud.CloudID(res.cloudID) // 這個 CloudID 值到云函數端會被替換}}).then(res=>{console.log(res)})}})},
    
    • 其中name的值就是我們要調用的云函數名稱
    • data就是我們要傳遞的數據
    • .then就是請求完云函數后我們要得到返回的數據
  • 創建云函數deswerundata
    在這里插入圖片描述
    在這里插入圖片描述

  • 編輯此云函數中的index.js中的代碼為

    // 云函數入口文件
    const cloud = require('wx-server-sdk')cloud.init()// 云函數入口函數
    exports.main = async (event, context) => {let weRunData = event.weRunDatareturn {weRunData}
    }
    
  • 將云函數重新上傳 重新編譯即可
    在這里插入圖片描述

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/248750.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/248750.shtml
英文地址,請注明出處:http://en.pswp.cn/news/248750.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

C++之前置自增與后置自增

關于前置自增與后置自增的區別我是參考這里:http://bbs.bccn.net/thread-454977-1-1.html 簡單復述下,比如x; 與 x; 在C中,x這個表達式的值為原先x的值1,副作用是x的值增加了1;(C中不是這樣定義的&#xff…

第一次個人作業

該作業所屬課程:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2作業要求地址:https://edu.cnblogs.com/campus/xnsy/SoftwareEngineeringClass2/homework/3340團隊名稱:腦殼痛 作業的目標 1.通過測試其他組的軟件項目學習其…

微信小程序——解決上傳并部署云函數時報錯ResourceNotFound.Function, 未找到函數版本,請創建后再試。 (7f2d9d2d-5eac-4575-9n57-acd66cfa587g

1. 上傳部署我們的云函數 2. 報錯 錯誤信息為:Error: ResourceNotFound.Function, 未找到函數版本,請創建后再試。 (7f2d9d2d-5eac-4575-9b57-acd66cfa587e) 3. 原因 原因是可能我們在調試的時候不小心將我們開發控制臺中的云函數刪除了 4. 解決辦法…

前端面試題——HTML基礎篇

如何進行網站的性能優化 content方面 減少http請求 合并文件 css精靈圖減少 DNS 查詢 DNS緩存 將資源分布到恰當數量的主機名減少 DOM 元素的數量 Server方面 使用CDN配置Etag對組件使用 Gzip 壓縮 Cookie方面 減小cookie大小 css方面 將樣式表放到頁面頂部不使用css表…

【IT界的廚子】醬香鱸魚

食材: 前世曾經回眸的鱸魚一條(主要選刺少的魚,適合孩子吃,大人吃隨意,草魚比較大) 五花肉少許(肥一些的) 豆腐 輔料: 蔥姜 蒜(選) 大料 香菜 調味: 啤酒(兩罐) 黃豆醬或豆瓣醬(選) 老抽 生抽 料酒 鹽 步驟: 1、魚肉劃開,方便燉的…

第二章:09流程控制[3for]

①格式for(初始化語句;判斷條件語句;控制條件語句) { 循環體語句; } ②注意事項A:判斷條件語句無論簡單還是復雜結果是boolean類型。 B:循環體語句如果是一條語句,大括號可以省略;如果是多條語句,大括號不能省略。建議永遠不要省略。 C:一般來說:有左大括…

LeetCode,第377場周賽,個人題解

目錄 100148.最小數字游戲 題目描述 思路分析 代碼詳解 100169.移除柵欄得到的正方形田地的最大面積 題目描述 思路分析 代碼詳解 100156.轉換字符串的最小成本I 題目描述 思路分析 代碼詳解 100158.轉換字符串的最小成本II 題目描述 思路分析 代碼詳解 100148.…

for each....in、for in、for of

一、一般的遍歷數組的方法: var array [1,2,3,4,5,6,7]; for (var i 0; i < array.length; i) { console.log(i,array[i]); } 二、用for in的方遍歷數組 for(let index in array) { console.log(index,array[index]); }; 三、forEach array.forEach(v>{ cons…

Vue cli3.0創建Vue項目

創建Vue項目 在要創建項目的文件夾下面打開Powershell窗口 輸入命令 vue create 項目名稱 選擇第二項 回車后 選擇是否使用歷史路由 no 回車 選擇 Less 回車 選擇第三個 回車 選擇第一個 回車 選擇第一個 回車 是否保存模板 選擇no 完成啦 完成

文件內容的輸出io

package bbb; import java.io.*; public class ccc {public static void main(String[]args) throws IOException{ File filenew File("d:/1data.txt"); FileOutputStream outnew FileOutputStream(file); byte buy[]"12345abcdef#%&*軟件工程".getByt…

看完后完全了解 Vue 2.0 和 Vue 3.0 的區別

1.數據的雙向綁定 Vue2.0使用Object.defineProperty 原理&#xff1a;通過使用 Object.defineProperty 來劫持對象屬性的 geter 和 seter 操作&#xff0c;當數據發生改變發出通知 代碼&#xff1a; 1 <!DOCTYPE html>2 <html lang"en">3 <head>4…

channels2.X 學習筆記

- No module named asgiref.sync 報錯解決&#xff1a; # 報錯原因&#xff1a; """ django版本過低&#xff0c; 卸載最新版本的 channels 使用2.x 版本的 """ pip3 uninstall channels - 安裝&#xff1a; """ Django 1.11.15 …

風格遷移學習筆記

風格遷移大作業 學習規劃 跑通一份代碼&#xff01;&#xff01;&#xff01;&#xff08;done&#xff09;對照代碼、Blog和論文理解相應的算法過程規劃下一步&#xff0c;修改代碼&#xff08;done&#xff09;&#xff0c;實現預計功能&#xff08;done&#xff09;調參&…

Netty源碼分析第5章(ByteBuf)----第5節: directArena分配緩沖區概述

Netty源碼分析第5章(ByteBuf)---->第5節: directArena分配緩沖區概述 Netty源碼分析第五章: ByteBuf 第五節: directArena分配緩沖區概述 上一小節簡單分析了PooledByteBufAllocator中, 線程局部緩存和arean的相關邏輯, 這一小節簡單分析下directArena分配緩沖區的相關過程 …

uni-app(從零開始)

uni-app&#xff08;從零開始&#xff09; uni-app 是什么&#xff1f; uniapp 就是使用Vue.js技術開發所有前端框架的跨端框架uniapp 就是可以將一套代碼 發布到多個平臺 uniapp 和 Vue 的關系&#xff1f; uniapp是基于vue進行開發&#xff0c;繼承了Vue的特性和語法在開…

Remote desktop manager共享賬號

因為多個遠程機器&#xff0c;是會用了域賬號進行登錄的。而域賬號的密碼&#xff0c;三個月之后&#xff0c;密碼強制過期 添加一個新的entry&#xff0c;類型是Credential Entry&#xff0c;然后選擇用戶名/密碼 在remote desktop編輯的頁面&#xff0c;Credentials選擇Crede…

bzoj4403:序列統計

我好傻啊 題目 先來看看長度只能為\(n\)的情況 那么答案非常顯然是\(\binom{mn-1}{n}\) 其中\(mR-L1\) 因為我們要構造一個非降序列&#xff0c;顯然可能一個數會被選擇多次&#xff0c;組合非常不好做&#xff0c;于是我們可以把每一個數的下標加上其對應的下標那么現在的值域…

Mui常用的方法

中對話框 語法&#xff1a;mui.confirm 用法 mui.confirm("確認要切換角色&#xff1f;", "提示", btnArray, function(e) {if(e.index 1) {} else {}});組件名作用alert警告框confirm確認框prompt輸入對話框toast消息提示框&#xff08;自動消失&#x…

sudo: pip:找不到命令

https://blog.csdn.net/fcku_88/article/details/84191288轉載于:https://www.cnblogs.com/xxswkl/p/11012709.html

java ListMapString,Object遍歷的方法

java List<Map<String,Object>遍歷的方法 public class Test {public static void main(String[] args) {List<Map<String, Object>> listMaps new ArrayList<Map<String, Object>>();Map<String, Object> map1 new HashMap<Strin…