WEBAPP开发之ASP.NET MVC做的微信WEBAPP中调用微信JSSDK扫一扫
白羽 2018-08-13 来源 :网络 阅读 1819 评论 0

摘要:本文将带你了解WEBAPP开发之ASP.NET MVC做的微信WEBAPP中调用微信JSSDK扫一扫,希望本文对大家学WEBAPP有所帮助。

        本文将带你了解WEBAPP开发之ASP.NET MVC做的微信WEBAPP中调用微信JSSDK扫一扫,希望本文对大家学WEBAPP有所帮助。





以下是页面的代码,(用到了MUI):
@{
Layout="~/Views/Shared/_Layout.cshtml";
}

扫码认证










点击认证



@sectionscript{


mui.init();




}
以下是对应的控制器后台代码:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Web.Mvc;
namespaceNiunan.NiaoRen.Web.Areas.Seller.Controllers
{
publicclassShaoMaController:Controller
{
//卖家中心-扫码页面
publicActionResultIndex()
{
#region用到微信扫一扫接口需要用的东西
WxPayAPI.NiunanWXHelperwxhelper=newWxPayAPI.NiunanWXHelper();
WxPayAPI.WxPayDataconfig_data=wxhelper.GetJSSDKConfig();
ViewBag.appid=config_data.GetValue("appId");
ViewBag.timestamp=config_data.GetValue("timestamp");
ViewBag.noncestr=config_data.GetValue("nonceStr");
ViewBag.signature=config_data.GetValue("signature");
#endregion
returnView();
}
}
}
以下是NiunanWXHelper的代码,用到了一些原来微信官方DEMO里的一些方法,所以创建在了微信官方DEMO的那个项目中:
usingLitJson;
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Threading.Tasks;
usingSystem.Web;
usingSystem.Web.Security;
///


///牛腩自己写的微信helper
///https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
///


namespaceWxPayAPI
{
publicclassNiunanWXHelper
{
///


///返回使用微信JS-SDK接口的配置
//appId:@ViewBag.wx_appid,//必填,企业号的唯一标识,此处填写企业号corpid
//timestamp:@ViewBag.wx_timestamp,//必填,生成签名的时间戳
//nonceStr:@ViewBag.wx_noncestr,//必填,生成签名的随机串
//signature:@ViewBag.wx_signature,//必填,签名,见附录1
///


///


publicWxPayDataGetJSSDKConfig()
{
stringappid=WxPayConfig.APPID;
stringsecret=WxPayConfig.APPSECRET;
stringtimestamp=WxPayApi.GenerateTimeStamp();
stringnoncestr=WxPayApi.GenerateNonceStr();
stringsignature="";
//签名算法https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115
//1.获取AccessToken(有效期7200秒,开发者必须在自己的服务全局缓存access_token)
stringurl1=$"https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid={appid}&secret={secret}";
stringresult=HttpService.Get(url1);
JsonDatajd=JsonMapper.ToObject(result);
stringaccess_token=(string)jd["access_token"];

//2.用第一步拿到的access_token采用httpGET方式请求获得jsapi_ticket(有效期7200秒,开发者必须在自己的服务全局缓存jsapi_ticket)
stringurl2=$"https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token={access_token}&type=jsapi";
stringresult2=HttpService.Get(url2);
JsonDatajd2=JsonMapper.ToObject(result2);
stringticket=(string)jd2["ticket"];

//3.开始签名
stringnow_url=HttpContext.Current.Request.Url.AbsoluteUri;
stringno_jiami=$"jsapi_ticket={ticket}&noncestr={noncestr}&timestamp={timestamp}&url={now_url}";
//SHA1加密
signature=FormsAuthentication.HashPasswordForStoringInConfigFile(no_jiami,"SHA1");

WxPayDatadata=newWxPayData();
data.SetValue("appId",appid);
data.SetValue("timestamp",timestamp);
data.SetValue("nonceStr",noncestr);
data.SetValue("signature",signature);

Log.Debug(this.GetType().ToString(),"使用微信JS-SDK接口的配置:"+data.ToPrintStr());

returndata;
}
}

}
从官网下载的DEMO是ASPX的,我把里面的lib文件夹和business文件夹抽出来放到WXPAYAPI项目中了



本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之WebApp频道!

本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved