-
大小: 6KB文件类型: .zip金币: 2下载: 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
相关资源
- 微信小程序驾照考试题库demo完整
- 新闻列表源码(微信小程序)
- 微信小程序——音乐播放器
- 豆瓣图书微信小程序
- 微信小程序-仿网易云音乐
- 微信小程序源码-合集5
- 微信小程序开发视频+demo
- 基于微信小程序的校园二手商品交易
- 基于微信小程序外卖点餐系统 开题报
- 微信小程序 录音机源码
- 微信小程序源码-合集1.rar
- 微信小程序源码-合集3
- 微信小程序Demo/---欧拉蜜自然语言理解
- 微信小程序完整Demo--支持人工智能对
- 18个常用微信小程序源码
- 微信小程序源码-合集5.rar
- 淘宝客微信小程序前后台完整源码
- 35个行业-微信小程序源码.zip
- 仿微信朋友圈图片拖拽排序
- 微信小程序全套源码
- 生鲜商城微信小程序源码
- 微信小程序拼车demo完整
- 微信小程序--五子棋单机版
- 微信小程序Emoji表情源代码
- 1000个微信小程序源码.zip
- 微信小程序酒店类型Demo
- 超100个微信小程序完整源码-2
- 5微信小程序在线考试系统 开题报告
- 51个自己收集的小程序案例源码
- 150个微信小程序源码,前端技能练习
评论
共有 条评论