微信小程序 初步认识一(微信运动步数)
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;
} }
}

微信小程序 初步认识一(微信运动步数)的更多相关文章
- 微信小程序全选,微信小程序checkbox,微信小程序购物车
微信小程序,这里实现微信小程序checkbox,有需要此功能的朋友可以参考下. 摘要: 加减商品数量,汇总价格,全选与全不选 设计思路: 一.从网络上传入以下Json数据格式的数组 1.标题titl ...
- 微信小程序自运营器 微信小程序自动运营器(让你的微信小程序,公众号零运营成本,24小时全自动运营)
自动发单,自动评价,自动评论,自动推广 微信小程序自运营器 微信小程序自动运营器(让你的微信小程序,公众号零运营成本,24小时全自动运营) 我们会根据你的微信公众号或微信小程序定制开发带有一定AI智 ...
- 微信小程序如何实现和微信客服通话?
微信小程序如何实现和微信客服通话?
- 微信小程序初步运营方案
小程序的运营方案有很多种,目前我们遇到两个事情需要解决:1.问答的内容,这块也是大家比较关心的话题.内容的定位和细节. 2.预热与推广,就这两个问题,我列出了一些自己的想法和小程序初步运营方案,有不足 ...
- 微信小程序初探【类微信UI聊天简单实现】
微信小程序最近很火,火到什么程度,只要你一打开微信,就是它的身影,几乎你用的各个APP都可以在微信中找到它的复制版,另外官方自带的跳一跳更是将它推到了空前至高的位置.对比公众号,就我的感觉来说,有以下 ...
- 微信小程序可以转发给微信好友了
微信小程序又放大招了:小程序页面可以放置转发按钮,分享更流畅.同时开放了微信运动步数.背景音乐播放等更多基础能力.小程序可以在自己的页面上放置转发按钮,用户点击后,即可将喜欢的内容分享给好友或群聊,体 ...
- 微信小程序语音识别开发过程记录 微信小程序silk转mp3 silk转wav 以及ffmpeg使用
说说最近在开发微信小程序语音识别遇到的问题吧 最先使用微信小程序录音控件可以拿到silk格式,后来微信官方又支持mp3格式了 但是我们拿到这些格式以后,都还不能直接使用,做语音识别,因为目前百度的语音 ...
- 微信小程序基础之在微信上显示和体验小程序?
随着小程序正式上线,用户现在可以通过二维码.搜索等方式体验到开发者们开发的小程序了. 用户只要将微信更新至最新版本,体验过小程序后,便可在发现页面看到小程序TAB,但微信并不会通过这个地方向用户推荐小 ...
- 微信小程序-统一下单、微信支付(Java后台)
1.首先分享 微信统一下单接口: https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1 微信接口 签名 对比网址: https: ...
随机推荐
- [整理+原创]ubuntu Thunderbird Mail设置自动提醒
开机启动的设置方法 // 在终端输入 gnome-session-properties 然后添加thunderbird为启动项 方法1——自动提醒 下载插件:Thunderbird Mail客户端菜单 ...
- 阿里云—Gartner 2018 亚太区WAF魔力象限唯一云WAF提供商
近日,Gartner发布亚太区2018年度Web应用防火墙(简称“WAF”)魔力象限报告,阿里云WAF凭借成熟的产品能力和完善的服务体系成功入围,且是唯一一家进入该魔力象限的云WAF提供商. 报告指出 ...
- js for循环删除两个数组相同元素
var id = ['a','b','c','a','d','a','a','b','d','c','a','b','c','a','b','c'] var del = ['a','c']; var ...
- Spring Cloud Alibaba基础教程:支持的几种服务消费方式(RestTemplate、WebClient、Feign)
通过<Spring Cloud Alibaba基础教程:使用Nacos实现服务注册与发现>一文的学习,我们已经学会如何使用Nacos来实现服务的注册与发现,同时也介绍如何通过LoadBal ...
- C# 以管理员权限删除文件
前言 通过后台,想删除C盘下”C:\\Windows\\winsxs\\Backup“的缓存文件. 然后提示对路径“C:\\Windows\\winsxs\\Backup\\amd64_hid-use ...
- Android项目刮刮奖详解(二)
Android项目刮刮奖详解(一) 前言 上期我们简单地实现了一个画板的功能,用户可以在上面乱写乱画,其实,刮刮奖也是如此,用户刮奖的时候也是乱写乱画的. 刮刮奖原理 一共有两层画布,底层画布存放中奖 ...
- SSM整合Netty5.0详细说明
阅读本文约“3.2分钟” 最近又有粉丝加Q群讨论netty整合SSM项目的方式等,我在这里抽了休息日的时候整理一下,一步一步的记录,注意的是,本案例仅实现了用netty整合SSM后与单片机等类TCP应 ...
- 点击checkbox后,$(this).attr('checked')得到的值不会发生改变
这两天遇到一个问题,就是在点击checkbox后,$(this).attr('checked')得到的值要么是undefined,要么是checked,同一个表单一直点击却一点都不会发生改变,调试了一 ...
- 浅析 JavaScript 中的 函数 uncurrying 反柯里化
柯里化 柯里化又称部分求值,其含义是给函数分步传递参数,每次传递参数后部分应用参数,并返回一个更具体的函数接受剩下的参数,这中间可嵌套多层这样的接受部分参数函数,直至返回最后结果. 因此柯里化的过程是 ...
- Mysql表分区的选择与实践小结
在一些系统中有时某张表会出现百万或者千万的数据量,尽管其中使用了索引,查询速度也不一定会很快.这时候可能就需要通过分库,分表,分区来解决这些性能瓶颈. 一. 选择合适的解决方法 1. 分库分表. 分库 ...