示例#1
0
        /// <summary>
        /// 根据当前日期 判断Access_Token 是否超期  如果超期返回新的Access_Token   否则返回之前的Access_Token
        /// </summary>
        /// <param name="datetime"></param>
        /// <returns></returns>
        //public  string IsExistAccess_Token()
        //{
        //    string AccessToken = "";
        //    object Access_Token = CacheHelper.GetCache("Access_Token");//设置主菜单缓存  防止多次访问数据库V1003_TODAY_MUSIC
        //    if (Access_Token != null)
        //    {
        //        AccessToken = Access_Token.ToString();
        //    }
        //    else
        //    {
        //        AccessToken = AccessTokenContainer.GetToken(AppId, false);//重新获取Access_Token
        //        CacheHelper.SetCache("Access_Token", AccessToken, TimeSpan.FromMinutes(120));
        //    }
        //    return AccessToken;
        //}

        public static string IsExistAccess_Token2()
        {
            string AccessToken = "";

            BrnMall.Core.WeiXinConfig wxconfig = BrnMall.Core.BMAConfig.WeiXinConfig;
            object Access_Token = BrnMall.Core.Common.CacheHelper.GetCache("Access_Token");//设置主菜单缓存  防止多次访问数据库V1003_TODAY_MUSIC

            if (Access_Token != null)
            {
                //DateTime Tim = DateTime.Now;
                //string getsql = "select count(1) from TokenConfig where Id=1 and '" + Tim + "'>Tim";
                //object o = imp.GetSqlOne(CommandType.Text, getsql);
                //if (o.ToString().Trim() == "0")
                //{
                AccessToken = Access_Token.ToString();
                //}
                //else
                //{

                //    AccessToken = FirstAccess_Token(wxconfig.AppID, wxconfig.AppID);//重新获取Access_Token
                //    BrnMall.Core.Common.CacheHelper.SetCache("Access_Token", AccessToken, TimeSpan.FromMinutes(119));
                //    //string sql = "update TokenConfig set Tim='" + DateTime.Now.AddMinutes(3) + "'";
                //    //imp.GetSqlCount(CommandType.Text, sql);
                //}
            }
            else
            {
                AccessToken = FirstAccess_Token(wxconfig.AppID, wxconfig.AppID);//重新获取Access_Token
                BrnMall.Core.Common.CacheHelper.SetCache("Access_Token", AccessToken, TimeSpan.FromMinutes(120));
                //string sql = "update TokenConfig set Tim='" + DateTime.Now.AddMinutes(45) + "'";
                //imp.GetSqlCount(CommandType.Text, sql);
            }
            BrnMall.Core.Common.LogHelper.WriteLog("最新的TOKEN:" + AccessToken);
            return(AccessToken);
        }
示例#2
0
文件: Data.cs 项目: xiaoshihr/CMall
        /**
         * @生成签名,详见签名生成算法
         * @return 签名, sign字段不参加签名
         */
        public string MakeSign()
        {
            BrnMall.Core.WeiXinConfig wxconfig = BrnMall.Core.BMAConfig.WeiXinConfig;
            //转url格式
            string str = ToUrl();

            //在string后加入API KEY
            str += "&key=" + wxconfig.PartnerKey;
            //MD5加密
            var md5 = MD5.Create();
            var bs  = md5.ComputeHash(Encoding.UTF8.GetBytes(str));
            var sb  = new StringBuilder();

            foreach (byte b in bs)
            {
                sb.Append(b.ToString("x2"));
            }
            //所有字符转为大写
            return(sb.ToString().ToUpper());
        }