/// <summary> /// 用地址信息 /// </summary> /// <returns></returns> public string GetEditAddressParameters(HttpContextBase _base) { string parameter = ""; try { string host = _base.Request.Url.Host; string path = _base.Request.Path; string queryString = _base.Request.Url.Query; //这个地方要注意,参与签名的是网页授权获取用户信息时微信后台回传的完整url string url = "http://" + host + path + queryString; //构造需要用SHA1算法加密的数据 var par = new { accesstoken = _base.Session["access_token"], appid = ZZSCResource.DnmSystemConfig.SystemConfig.AppID, noncestr = TokenHelper.GenerateNonceStr(), timestamp = TokenHelper.GenerateTimeStamp(), url = url }; string param = new RequestHelper().JoinArguments(par); //Log.Debug(this.GetType().ToString(), "SHA1 encrypt param : " + param); //SHA1加密 string addrSign = FormsAuthentication.HashPasswordForStoringInConfigFile(param.TrimStart('?'), "SHA1"); //Log.Debug(this.GetType().ToString(), "SHA1 encrypt result : " + addrSign); //获取收货地址js函数入口参数 var parNa = new { addrSign = addrSign, appId = ZZSCResource.DnmSystemConfig.SystemConfig.AppID, noncestr = TokenHelper.GenerateNonceStr(), timestamp = TokenHelper.GenerateTimeStamp(), scope = "jsapi_address", signType = "sha1" }; SortedDictionary<string, object> dicPar = new SortedDictionary<string, object>(); dicPar.Add("addrSign", addrSign); dicPar.Add("appId", ZZSCResource.DnmSystemConfig.SystemConfig.AppID); dicPar.Add("noncestr", TokenHelper.GenerateNonceStr()); dicPar.Add("timestamp", TokenHelper.GenerateTimeStamp()); dicPar.Add("scope", "jsapi_address"); dicPar.Add("signType", "sha1"); //转为json格式 parameter = JsonConvert.SerializeObject(parNa); //parameter = JsonMapper.ToJson(dicPar); //Log.Debug(this.GetType().ToString(), "Get EditAddressParam : " + parameter); } catch (Exception ex) { //Log.Error(this.GetType().ToString(), ex.ToString()); DBCommon.LogFileHelper.WriteLogByTxt(string.Format("GetEditAddressParameters方法异常:{0}", ex.ToString())); throw new Exception(ex.ToString()); } return parameter; }