手机版

微信JS-SDK分享功能的 网实现代码

时间:2021-09-03 来源:互联网 编辑:宝哥软件园 浏览:

JS-SDK接口是什么?

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

分享功能

官方文档里提供了php、java、node.js以及大蟒的示例代码,唯独没有c#版的,为了弥补广大。网用户的需求,我把服务器端编程语言(专业超文本预处理器的缩写)版本的示例代码逻辑照搬成了。网版,并在网页前端中加入了分享功能,希望对大家有用。

程序实现

流程图

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

关键代码分析

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

私有字符串httpGet(字符串url){ if (url .系统启动净。服务点管理器。securityprotocol=securityprotoctotype .Tlshttp客户端http客户端=新建Http客户端();httpClient .DefaultRequestHeaders。接受。添加(新的MediaTypeWithQualityHeaderValue(' application/JSON ');http响应消息响应=httpClient .GetAsync(网址).结果;如果(响应issccessstatuscode){ 0字符串结果=响应内容。ReadAsStringAsync().结果;返回结果;}返回null}获取访问令牌,先从本地的access_token.aspx里找,如果没有或者过期(7000秒),则重新到微信服务器获取。

私有字符串GetAccessToken(){ string access token=string .空的;定义变量数据=JObject .解析(GetSpxFile(' access _ token。aspx ',ASPX _ HEAD[1]);如果(数据!=空长。分析(数据['过期时间'].ToString()) Utils .转换时间标记(日期时间.现在){字符串网址='https://api.weixin.qq.com/cgi-bin/token?grant _ type=client _ credential appid=' this。appid ' secret=' this。appsecretvar jRes=JObject .解析(HttpGet(URL));访问令牌=Jres[' access _ token '].ToString();if(!字符串IsNullOrEmpty(access token)){ data[' expire _ time ']=Utils .ConvertTimeStamp(new DateTime())7000;数据[' access _ token ']=访问令牌;setAspxFile('access_token.aspx ',数据ToString(),ASPX _ HEAD[1]);} } else访问令牌=数据[' access _ token '].ToString();返回accessToken}获取jsapi_ticket,原理与访问令牌一样。

私有字符串getJsApiTicket(){ string ticket=string .空的;定义变量数据=JObject .解析(GetSpxFile(' jsapi _ ticket。aspx ',ASPX _ HEAD[0]);如果(数据!=空长。分析(数据['过期时间'].ToString()) Utils .转换时间标记(日期时间.now)){字符串访问令牌=GetAccessToken();字符串网址='https://api.weixin.qq.com/cgi-bin/ticket/getticket?type=jsapi access _ token=' accessToken;var jRes=JObject .解析(HttpGet(URL));ticket=jRes['ticket'].ToString();if(!字符串IsNullOrEmpty(ticket)){ data[' expire _ time ']=Utils .ConvertTimeStamp(new DateTime())7000;数据[' jsapi _ ticket ']=ticket;setAspxFile('jsapi_ticket.aspx ',数据. ToString(),ASPX _ HEAD[0]);} } else ticket=data[' jsapi _ ticket '].ToString();回程票;}完整代码

https://github.com/stozen/jssdk-wxshare

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。

版权声明:微信JS-SDK分享功能的 网实现代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。