1.注册微信小程序

2.安装小程序开发工具

3.实例(显示微信运动步数)

4.后端处理(c#)

一 注册微信小程序

注册地址:https://mp.weixin.qq.com/cgi-bin/registermidpage?action=index&lang=zh_CN&token=

二 安装小程序开发工具

三 实例(显示微信运动步数)

1.app.js 修改

    wx.login({
success(res) {
if (res.code) {
// 发起网络请求
wx.request({
url: 'https://localhost:44395/api/WxApiTest/Login',
data: {
code: res.code
},
success:function(re){
wx.setStorageSync('openid', re.data.openid)
wx.setStorageSync('session_key', re.data.session_key)
},
fail:function(re){
console.log(re)
}
}) } else {
console.log('登录失败!' + res.errMsg)
}
}
})

2.读取微信运动步数

 wx.getWeRunData({
success(res) {
const encryptedData = res.encryptedData;
wx.request({
url: 'https://localhost:44395/api/WxApiTest/Decrypt',
method: "Post",
header: {
"content-type": "application/x-www-form-urlencoded"
},
data: {
encryptedData: res.encryptedData,
iv: res.iv,
session_key: wx.getStorageSync("session_key")
},
success: function(json) {
console.log(json.data.stepInfoList)
if (json.data.stepInfoList) {
json.data.stepInfoList = json.data.stepInfoList.reverse()
for (var i = 0; i < json.data.stepInfoList.length; i++) {
console.log('日期' + new Date(json.data.stepInfoList[i].timestamp*1000).toLocaleString());
console.log('步数' + json.data.stepInfoList[i].step);
}
}
}
})
}
})

四 后端处理(c#)

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Security.Cryptography;
using System.Text;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc; namespace WebApplicationVS2019Study.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class WxApiTestController : ControllerBase
{
/// <summary>
/// 微信登录:获取appId、session_key
/// </summary>
/// <returns></returns>
[HttpGet]
[Route("Login")]
public string Login(string code)
{
var appId = "xxx"; //这里是真实的appId
var secret = "xxx"; //这里是真实的secret
var grant_type = "authorization_code"; var url = $"https://api.weixin.qq.com/sns/jscode2session?appid=" + appId + "&secret=" + secret + "&js_code=" + code + "&grant_type=" + grant_type;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Method = "GET";
request.ContentType = "text/html;charset=UTF-8";
request.Timeout = ; HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream myResponseStream = response.GetResponseStream();
StreamReader myStreamReader = new StreamReader(myResponseStream, Encoding.GetEncoding("utf-8"));
string retString = myStreamReader.ReadToEnd();
myStreamReader.Close();
myResponseStream.Close(); return retString;
} [Route("Decrypt")]
[HttpPost]
public string Decrypt()
{
var encryptedData = Request.Form["encryptedData"];
var iv = Request.Form["iv"];
//var openid = Request.Form["openid"];
var session_key = Request.Form["session_key"]; return Decrypto(encryptedData, session_key, iv);
} /// <summary>
/// 解密方法
/// </summary>
private string Decrypto(string encryptedData, string key, string iv)
{
byte[] iv2 = Convert.FromBase64String(iv); if (string.IsNullOrEmpty(encryptedData)) return "";
Byte[] toEncryptArray = Convert.FromBase64String(encryptedData); System.Security.Cryptography.RijndaelManaged rm = new System.Security.Cryptography.RijndaelManaged
{
Key = Convert.FromBase64String(key),
IV = iv2,
Mode = System.Security.Cryptography.CipherMode.CBC,
Padding = System.Security.Cryptography.PaddingMode.PKCS7
}; System.Security.Cryptography.ICryptoTransform cTransform = rm.CreateDecryptor();
Byte[] resultArray = cTransform.TransformFinalBlock(toEncryptArray, , toEncryptArray.Length); var res = Encoding.UTF8.GetString(resultArray); return res;
} }
}

微信小程序 初步认识一(微信运动步数)的更多相关文章

  1. 微信小程序全选,微信小程序checkbox,微信小程序购物车

    微信小程序,这里实现微信小程序checkbox,有需要此功能的朋友可以参考下. 摘要: 加减商品数量,汇总价格,全选与全不选 设计思路: 一.从网络上传入以下Json数据格式的数组  1.标题titl ...

  2. 微信小程序自运营器 微信小程序自动运营器(让你的微信小程序,公众号零运营成本,24小时全自动运营)

    自动发单,自动评价,自动评论,自动推广 微信小程序自运营器  微信小程序自动运营器(让你的微信小程序,公众号零运营成本,24小时全自动运营) 我们会根据你的微信公众号或微信小程序定制开发带有一定AI智 ...

  3. 微信小程序如何实现和微信客服通话?

    微信小程序如何实现和微信客服通话?

  4. 微信小程序初步运营方案

    小程序的运营方案有很多种,目前我们遇到两个事情需要解决:1.问答的内容,这块也是大家比较关心的话题.内容的定位和细节. 2.预热与推广,就这两个问题,我列出了一些自己的想法和小程序初步运营方案,有不足 ...

  5. 微信小程序初探【类微信UI聊天简单实现】

    微信小程序最近很火,火到什么程度,只要你一打开微信,就是它的身影,几乎你用的各个APP都可以在微信中找到它的复制版,另外官方自带的跳一跳更是将它推到了空前至高的位置.对比公众号,就我的感觉来说,有以下 ...

  6. 微信小程序可以转发给微信好友了

    微信小程序又放大招了:小程序页面可以放置转发按钮,分享更流畅.同时开放了微信运动步数.背景音乐播放等更多基础能力.小程序可以在自己的页面上放置转发按钮,用户点击后,即可将喜欢的内容分享给好友或群聊,体 ...

  7. 微信小程序语音识别开发过程记录 微信小程序silk转mp3 silk转wav 以及ffmpeg使用

    说说最近在开发微信小程序语音识别遇到的问题吧 最先使用微信小程序录音控件可以拿到silk格式,后来微信官方又支持mp3格式了 但是我们拿到这些格式以后,都还不能直接使用,做语音识别,因为目前百度的语音 ...

  8. 微信小程序基础之在微信上显示和体验小程序?

    随着小程序正式上线,用户现在可以通过二维码.搜索等方式体验到开发者们开发的小程序了. 用户只要将微信更新至最新版本,体验过小程序后,便可在发现页面看到小程序TAB,但微信并不会通过这个地方向用户推荐小 ...

  9. 微信小程序-统一下单、微信支付(Java后台)

    1.首先分享 微信统一下单接口: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1   微信接口 签名 对比网址: https: ...

随机推荐

  1. 【ASP.NET Core快速入门】(九) RoutingMiddleware介绍以及MVC引入

    前言 前面我们介绍了使用app.Map来配置路由,但是对于一般不是特别大的项目来说,我们不使用Map来进行路由配置. 配置路由 我们首先需要在Startup.cs文件中的ConfigureServic ...

  2. 痞子衡嵌入式:第一本Git命令教程(5)- 提交(commit/format-patch/am)

    今天是Git系列课程第五课,上一课我们做了Git本地提交前的准备工作,今天痞子衡要讲的是Git本地提交操作. 当我们在仓库工作区下完成了文件增删改操作之后,并且使用git add将文件改动记录在暂存区 ...

  3. Pycharm远程调试原理及配置

    工作中使用Pycharm作为python开发的IDE,作为专业的python集成开发环境,其功能之强大令人折服.开发过程中Debug是必不可少的.平时经常使用Pycharm的remote debug功 ...

  4. 文件系统及程序的限制关系: ulimit

    想像一个状况:我的 Linux 主机里面同时登陆了十个人,这十个人不知怎么搞的, 同时打开了 100 个文件,每个文件的大小约 10MBytes ,请问一下, 我的 Linux 主机的内存要有多大才够 ...

  5. 获取 wx.getUserInfo 接口后续将不再出现授权弹窗,请注意升级(微信小程序开发)

    微信小程序开发时,Console 提示:获取 wx.getUserInfo 接口后续将不再出现授权弹窗,请注意升级 错误原因: 直接调用这个方法依旧可以获取用户信息, 但是如果你之前没有点击过那个授权 ...

  6. Dubbo+ZK与Eureka注册中心比较

    Eureka可以很好的应对网络故障导致部分节点失去联系的情况,而不会像zk那样因为选举导致整个集群不可用 dubbo + zk 当向注册中心查询服务注册列表时,可以容忍注册中心返回的是几分钟以前的注册 ...

  7. 编译内核时出现drivers/mfd/mxc-hdmi-core.c:36:24: fatal error: mach/clock.h: No such file or directory

    在学习恩智浦IMX6D开发板时,编译内核出现 drivers/mfd/mxc-hdmi-core.c::: fatal error: mach/clock.h: No such file or dir ...

  8. 【代码笔记】Web-CSS-CSS Display

    一,效果图. 二,代码. <!DOCTYPE html> <html> <head> <meta charset="utf-8"> ...

  9. 【20190228】JavaScript-数组的操作

    1. 创建数组 var array = new Array(); var array = new Array(5); var array = new Array(1,2,3,"a" ...

  10. 如何解决angular不自动生成spec.ts文件

    "schematics":{   "@schematics/angular:component": {        "styleext": ...