.Net实现微信JS-SDK分享功能代码展示

这篇文章主要介绍了微信js-sdk分享功能的.net实现代码的相关资料,需要的朋友可以参考下

JS-SDK接口是什么?

为了方便开发者实现微信内的网页(基于微信浏览器访问的网页)功能,比如拍照、选图、语音、位置等手机系统的能力,并方便开发者直接使用微信分享、扫一扫等微信特有的能力,微信推出了JS-SDK的整体开发包,供开发者方便使用。

分享功能

官方文档里提供了php、java、node.js以及python的示例代码,唯独没有c#版的,为了弥补广大.net用户的需求,我把php版本的示例代码逻辑照搬成了.net版,并在网页前端中加入了分享功能,希望对大家有用。

程序实现

流程图

程序里关键的类是JSSDK,里面包含服务端请求认证的所有逻辑过程,下面是过程的流程图:

.Net实现微信JS-SDK分享功能代码展示

关键代码分析

为保证第三方服务器与微信服务器之间数据传输的安全性,所有微信接口采用https方式调用,所以.net里引用了比较高版本(.Net 4.5+)的网络包进行http请求。

private string httpGet(string url){  if (url.StartsWith("https"))    System.Net.ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls;  HttpClient httpClient = new HttpClient();  httpClient.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));  HttpResponseMessage response = httpClient.GetAsync(url).Result;  if (response.IsSuccessStatusCode)  {    string result = response.Content.ReadAsStringAsync().Result;    return result;  }  return null;}

登录后复制

获取access_token,先从本地的access_token.aspx里找,如果没有或者过期(7000秒),则重新到微信服务器获取。

private string getAccessToken(){  string accessToken = string.Empty;  var data = JObject.Parse(getAspxFile("access_token.aspx", ASPX_HEAD[1]));  if (data != null && long.Parse(data["expire_time"].ToString()) 

获取jsapi_ticket,原理与access_token一样。


private string getJsApiTicket(){  string ticket = string.Empty;  var data = JObject.Parse(getAspxFile("jsapi_ticket.aspx", ASPX_HEAD[0]));  if (data != null && long.Parse(data["expire_time"].ToString()) 

登录后复制

以上就是.Net实现微信JS-SDK分享功能代码展示的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2493556.html

(0)
上一篇 2025年3月5日 01:33:30
下一篇 2025年3月5日 01:33:42

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • C#如何通过对象属性名修改值的实例

    摘自:csdn 给一个对象属性赋值可以通过PropertyInfo.SetValue()方式进行赋值,但要注意值的类型要与属性保持一致。    创建对象实例的两种方法:  1.  var obj = Assembly.Load(“Assem…

    编程技术 2025年3月5日
    200
  • C#中引用类型之特例string的详细介绍

        在c#编程的时候经常会使用字符串(string)类型,它也是引用类型,但是处处都不作为引用的用法来使用,实属特例,下来我一一罗列出来,供自己记忆方便:      1)字符串的直接赋值:本身字符串就是引用类型,应该使用  new 对象…

    2025年3月5日
    200
  • C#中关于List<T>的并集与交集以及差集解析

    集合的并集是合并集合的项,如下图所示: List ls1 = new List() { 1,2,3,5,7,9 };List ls2 = new List() { 2,4,6,8,9,10};IEnumerable unionLs = ls…

    2025年3月5日 编程技术
    200
  • C#中Socket框架的使用教程

    最近一个项目因为要用到socket传输问题,所以决定学习一下,将自己学习的内容总结分享出来,下面这篇文章主要给大家介绍了关于c# .net中socket简单实用框架使用的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下。 前言…

    2025年3月5日
    200
  • C#编写SqlHelper类的使用详解

    本篇文章主要介绍了使用c#编写sqlhelper类,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 无聊的周末,学习、编码无力。想找点事干但又不知道干点什么,猛然发现自己学过的SqlHelper快忘记了。于是乎虎…

    编程技术 2025年3月5日
    200
  • .Net中Core使用Socket与树莓派进行通信的实例分析(图文)

    前言 去年买的树莓派一直放在抽屉里吃灰,前些阵子debian 9发布,也不出意外的支持了树莓派。 于是重新拿出读卡器又重新了装上了Debian桌面版系统。 介绍 现在这个东西目前的程度只是了解一下Python和.Net的通信。最佳的版本应该…

    2025年3月5日
    200
  • .NET中core如何利用Redis发布订阅的实例分析

    本篇文章主要介绍了.net core如何使用redis发布订阅,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧 Redis是一个性能非常强劲的内存数据库,它一般是作为缓存来使用,但是他不仅仅可以用来作为缓存,比如…

    2025年3月5日 编程技术
    200
  • c#接口的问题的解决办法详解

    这段时间的项目有用到接口,开始不是特别理解接口,只是单单知道接口定义非常简单,甚至觉得这个接口只是多此一举(个人开发的时候)。现在开始团队开发,才发现接口原来是这么的重要和便捷! 接下来就来谈谈我这段时间对接口使用的粗浅见解,说的对希望大家…

    编程技术 2025年3月5日
    200
  • c#如何生成二维码的示例分享

    引用zxing类库 实现功能: 1生成带有Logo二维码 2 将二维码绘制到图片上 3 图片上绘制文字  生成二维码 public string CreateQrCode(string md5Str,string name,int sex)…

    编程技术 2025年3月5日
    200
  • C# 数组作为参数传递出现的问题解决

    原则:尽可能控制对数据的修改,如果可以预测某个数据不会或不应该被改变,就要对其控制,而不要期望使用这个数据的调用者不会改变其值。 如果参数在使用过程中被意外修改,将会带来不可预知的结果,而且这种错误很难被检查到,所以我们在设计方法参数的时候…

    编程技术 2025年3月5日
    200

发表回复

登录后才能评论