白羽
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;
///
namespaceWxPayAPI
{
publicclassNiunanWXHelper
{
///
///
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}×tamp={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
您输入的评论内容中包含违禁敏感词
我知道了

请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号