-
大小: 6KB文件类型: .zip金币: 1下载: 0 次发布日期: 2021-06-17
- 语言: 其他
- 标签: openID session_key C#后端 http
资源简介
微信小程序根据wx.login得到的code从Csharp后台获取openid和session_key(后台实现了4种方式调用jscode2session)
代码片段和文件信息
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using RestSharp;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Net;
using System.Net.Http;
using System.Net.Http.Formatting;
using System.Net.Http.Headers;
using System.Runtime.Serialization.Json;
using System.Text;
using System.Threading.Tasks;
using System.Web;
using System.Web.Http;
/* 使用HttpWebRequest请求方式,需要包含的命名空间
using Newtonsoft.Json;
using System.Net;
*/
namespace UploadImage.Controllers
{
//客户端发来的数据
public class clientData
{
public string encryptedData { get; set; }
public string iv { get; set; }
public string rawData { get; set; }
public string signature { get; set; }
public string js_code { get; set; }
}
//登录数据,根据登录凭证获取openId和会话密钥
public class loginData
{
public string openid { get; set; }
public string session_key { get; set; }
public string unionid { get; set; }
public int errcode { get; set; }
public string errmsg { get; set; }
}
public class ValuesController : ApiController
{
private const string appID = “*****“;
private const string appSecret = “******“;
private clientData client_data ;
private loginData login_data;
static string loginCode;
// GET api/values
public IEnumerable Get()
{
return new string[] { “value1“ “value2“ };
}
//登录
#region 使用HttpClient发送http请求是会面临频繁连接问题 https://www.cnblogs.com/lori/p/4045633.html
[HttpPost]
public async Taskject> login([FromBody]Jobject ob)//异步方法不知道需不需要定义为static方法,我这里没定义为static也可以用
{
client_data = new clientData();
loginCode = client_data.js_code = Convert.ToString(ob[“js_code“]);
client_data.encryptedData = Convert.ToString(ob[“encryptedData“]);
client_data.iv = Convert.ToString(ob[“iv“]);
client_data.rawData = Convert.ToString(ob[“rawData“]);
client_data.signature = Convert.ToString(ob[“signature“]);
string url = $“https://api.weixin.qq.com/sns/jscode2session?appid={appID}&secret={appSecret}&js_code={loginCode}&grant_type=authorization_code“;
//创建HttpClient(注意传入HttpClientHandler)
var handler = new HttpClientHandler();
using (var http = new HttpClient(handler))
{
//await异步等待回应
var response = await http.GetAsync(url);
//确保HTTP成功状态值
response.EnsureSuccessStatusCode();
//await异步读取最后的JSON(注意此时gzip已经被自动解压缩了,因为上面的AutomaticDecompression = DecompressionMethods.GZip)
var result = await response.Content.ReadAsStringAsync(); //返回的是JSON字符串
//JSON字符串反序列化为JSON对象并返回
return (Jobject)JsonConvert.Deserializeobject(res
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2019-05-22 16:56 pages\
目录 0 2019-05-22 16:55 pages\usrinfo\
文件 3693 2019-05-21 10:37 pages\usrinfo\usrinfo.js
文件 27 2019-05-16 14:57 pages\usrinfo\usrinfo.json
文件 278 2019-05-17 10:31 pages\usrinfo\usrinfo.wxm
文件 32 2019-05-16 14:57 pages\usrinfo\usrinfo.wxss
目录 0 2019-05-22 16:58 utils\
文件 1130 2019-05-22 16:58 utils\util.js
文件 9495 2019-05-22 17:01 ValuesController.cs
相关资源
- 基于miniprogramwebpackloader的小程序脚手
- 微信小程序-天气预报小程序
- 小程序图书馆预约管理项目
- 教务系统微信小程序
- 小程序云开发项目私房书柜
- 简单查单词小程序
- 微信小程序仿豆瓣电影豆瓣评分
- WechatApp微信小程序wxapkg解包及相关文
- 微信小程序微租车
- 微信小程序版新闻APP源代码分享.rar
- 小程序获取openid
- 微信小程序-会议精灵.zip
- 微信小程序-地图导览,校园地图小程
- 写的一个背单词微信小程序,灵感来
- 微信小程序,图片拍照,音频视频录
- 微信小程序收藏功能的实现代码
- SpringSession同时支持Cookie和header策略
- 纯正商业级应用-微信小程序开发实战
- 仿淘宝微信小程序源码
- 微信小程序地图Demo279197
- 微信小程序 录语音 波浪效果
- 微信小程序源码-仿京东商城
- SessionImporter.exe269867
- 微信小程序获取用户信息和自定义t
- 微信小程序农历阳历日期选择器选中
- 用户在线咨询医生微信小程序UI
- 微信开发获取用户信息
- 微信小程序原生实现抖音的视频翻页
- 微信小程序picker组件省市二级联动及
- 微信小程序Demo:宠物喂养记录
评论
共有 条评论