using System; using System.Collections.Generic; using System.Net; using System.Text; using System.Web; using Quiz.Models; using Quiz.Utility; using WeixinApi; namespace Quiz.SiteBase { public class WeixinJS { /// /// 获取JS SDK配置 /// /// public static WeixinConfig GetWeixinConfig(string typeid) { var noncestr = Utility.Helper.RandomNumString(16); var timestamp = Utility.Helper.GetTimeStamp(); var url = SiteHelper.CurrentUrl;//"http://" + HttpContext.Current.Request.Headers["host"] + HttpContext.Current.Request.RawUrl; var weixin = Cache.CacheManage.Weixin.CacheData.Find(o => o.Account == typeid); if (weixin == null) return null; //从中心服务站点获取jsticket WebClient client = new WebClient(); client.Encoding = Encoding.UTF8; url = string.Format("http://10.25.3.21:81/Index.aspx?typeid={0}", weixin.Account); WxAccount account = JsonHelper.ParseFromJson(client.DownloadString(url)); Helper.SaveLog("jsticket="+account.JsapiTicket,"jsticket"); return new WeixinConfig() { AppId = weixin.AppId, NonceStr = noncestr, Timestamp = timestamp, Signature = Utility.Helper.GetSha1(string.Format("jsapi_ticket={0}&noncestr={1}×tamp={2}&url={3}", account.JsapiTicket, noncestr, timestamp, url)) }; } /// /// JS SDK配置 /// public class WeixinConfig { private const string ApiList = "'checkJsApi','onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','hideMenuItems','showMenuItems','hideAllNonBaseMenuItem','showAllNonBaseMenuItem','translateVoice','startRecord','stopRecord','onRecordEnd','playVoice','pauseVoice','stopVoice','uploadVoice','downloadVoice','chooseImage','previewImage','uploadImage','downloadImage','getNetworkType','openLocation','getLocation','hideOptionMenu','showOptionMenu','closeWindow','scanQRCode','chooseWXPay','openProductSpecificView','addCard','chooseCard','openCard'"; public string AppId { get; set; } public string Timestamp { get; set; } public string NonceStr { get; set; } public string Signature { get; set; } /// /// 配置JS API, 输出到页面 /// /// /// public string Register(params string[] jsapi) { StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append(""); return sb.ToString(); } /// /// 配置JS API, 输出到页面 /// /// /// public string RegisterDebug(params string[] jsapi) { StringBuilder sb = new StringBuilder(); sb.Append(""); sb.Append(""); return sb.ToString(); } } } }