Exemplo n.º 1
0
        public string SetShoppingCount(string token, int shpId, int spCount)
        {
            string key      = string.Concat(token, "SetShopping");
            var    uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null);

            if (uComList == null)
            {
                uComList = new List <CommodityModel>();
            }
            var um = uComList.Find(o => o.CommodityId == shpId);

            if (um == null)
            {
                CommodityModel cm = GetComInfo(shpId);
                if (cm != null)
                {
                    cm.SpCount = spCount;
                    uComList.Add(cm);
                }
            }
            else
            {
                um.SpCount = spCount;
            }
            var         state = CacheHelp.Set(key, DateTimeOffset.Now.AddMonths(3), uComList);
            ReturnModel re    = new ReturnModel();

            if (state)
            {
                re.state  = true;
                re.rcount = uComList.Count;
            }
            return(JsonUtil.Serialize(re));
        }
Exemplo n.º 2
0
        public string GetShoppingList(string token)
        {
            string key      = string.Concat(token, "SetShopping");
            var    uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null);

            return(JsonUtil.Serialize(uComList));
        }
Exemplo n.º 3
0
        public string DeleteShopping(string idStr, string token)
        {
            var user = UserService.CkToken(token);

            if (user != null)
            {
                string key      = string.Concat(user.UserName, "SetShopping");
                var    uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null);
                if (!string.IsNullOrEmpty(idStr) && uComList != null && uComList.Count > 0)
                {
                    List <int> idList = new List <int>(idStr.Split(',').Select(x => int.Parse(x)));
                    foreach (var id in idList)  //移除购物车商品
                    {
                        var item = uComList.Find(o => o.CommodityId == id);
                        if (item != null)
                        {
                            uComList.Remove(item);
                        }
                    }
                    CacheHelp.Set(key, DateTimeOffset.Now.AddMonths(3), uComList);
                }
                return(JsonUtil.Serialize(uComList));
            }
            else
            {
                return(UserService.ckTokenState());
            }
        }
Exemplo n.º 4
0
        public string Login(string userName, string pwd)
        {
            string sql = "select * from Users where UserName=?userName and Pwd=?pwd and State=0 ";
            Dictionary <string, object> p = new Dictionary <string, object>();

            p["userName"] = userName;
            p["pwd"]      = pwd;
            UserModel user = DbUtil.Master.Query <UserModel>(sql, p);

            if (user != null)
            {
                string key = CryptoUtil.GetRandomAesKey();
                user.key = key;
                user.Pwd = string.Empty;
                string Token     = CryptoUtil.AesEncryptHex(user.UserName + uKey, key);
                string uloginKey = user.UserName + uKey;
                var    oldToken  = CacheHelp.Get <string>(uloginKey, DateTimeOffset.Now.AddDays(7), () => null);
                if (!string.IsNullOrEmpty(oldToken))
                {
                    CacheHelp.Set(oldToken, DateTimeOffset.Now.AddDays(7), null);
                }
                CacheHelp.Set(uloginKey, DateTimeOffset.Now.AddDays(7), Token);
                CacheHelp.Set(Token, DateTimeOffset.Now.AddDays(7), user);
                List <object> u = new List <object>();
                u.Add(new
                {
                    token = Token,
                });
                return(JsonUtil.Serialize(u));
            }
            return(string.Empty);
        }
Exemplo n.º 5
0
        /// <summary>
        /// 获取指定购物车商品
        /// </summary>
        /// <param name="token"></param>
        /// <param name="spId"></param>
        /// <returns></returns>
        public string GetShoppingInId(string token, string spId)
        {
            var user = UserService.CkToken(token);

            if (user != null)
            {
                List <CommodityModel> tmpList = new List <CommodityModel>();
                if (!string.IsNullOrEmpty(spId))
                {
                    var    idList   = new List <int>(spId.Split(',').Select(x => int.Parse(x)));
                    string key      = string.Concat(user.UserName, "SetShopping");
                    var    uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null);
                    if (uComList.Count > 0)
                    {
                        foreach (var id in idList)
                        {
                            var tmpdata = uComList.Find(o => o.CommodityId == id);
                            if (tmpdata != null)
                            {
                                tmpList.Add(tmpdata);
                            }
                        }
                    }
                }
                return(JsonUtil.Serialize(tmpList));
            }
            else
            {
                return(UserService.ckTokenState());
            }
        }
Exemplo n.º 6
0
 public string UpdateUserInfo(string token, string nickname, string sex, string uImg)
 {
     if (!string.IsNullOrEmpty(token))
     {
         var userModel = CacheHelp.Get <UserModel>(token, DateTimeOffset.Now.AddDays(7), () => null);
         if (userModel != null)
         {
             string sql = "UPDATE Users SET Nickname=?nickname,Sex=?sex,UserImg=?userImg where Uid=?uid";
             Dictionary <string, object> p = new Dictionary <string, object>();
             p["nickname"] = nickname;
             p["sex"]      = sex;
             p["userImg"]  = uImg;
             p["uid"]      = userModel.Uid;
             int rowNum = DbUtil.Master.ExecuteNonQuery(sql, p);
             if (rowNum > 0)
             {
                 userModel.Nickname = nickname;
                 userModel.Sex      = sex;
                 userModel.UserImg  = uImg;
                 string key = string.Concat(token); //统一cache Key
                 CacheHelp.Set(key, DateTimeOffset.Now.AddDays(7), userModel);
                 ReturnModel re = new ReturnModel();
                 re.state = true;
                 return(JsonUtil.Serialize(re));
             }
         }
     }
     return(string.Empty);
 }
Exemplo n.º 7
0
        private static object CreateInstance(string fullName, string assemblyName)
        {
            object instance = CacheHelp.Get(fullName);

            if (instance == null)
            {
                var ass = Assembly.Load(assemblyName);
                instance = ass.CreateInstance(fullName);
            }
            return(instance);
        }
Exemplo n.º 8
0
        public string Register(string uName, string pwd, string sex, string nickname, string entName, string phones, string entPhone, string entAddres)
        {
            var isok = ckUnameSql(uName);

            if (!isok)
            {
                #region
                string sql = "INSERT INTO Users (UserName,Pwd,Nickname,Sex,EntName,Phones,EntPhone,EntAddres) VALUES (?userName,?pwd,?nickname,?sex,?entName,?phones,?entPhone,?entAddres)";
                Dictionary <string, object> p = new Dictionary <string, object>();
                p["userName"]  = uName;
                p["pwd"]       = pwd;
                p["nickname"]  = nickname;
                p["sex"]       = sex;
                p["entName"]   = entName;
                p["phones"]    = phones;
                p["entPhone"]  = entPhone;
                p["entAddres"] = entAddres;
                var row = DbUtil.Master.ExecuteNonQuery(sql, p);
                if (row > 0)
                {
                    UserModel user = new UserModel();
                    string    key  = CryptoUtil.GetRandomAesKey();
                    user.key      = key;
                    user.UserName = uName;
                    user.Pwd      = string.Empty;
                    string Token     = CryptoUtil.AesEncryptHex(user.UserName + uKey, key);
                    string uloginKey = user.UserName + uKey;
                    var    oldToken  = CacheHelp.Get <string>(uloginKey, DateTimeOffset.Now.AddDays(7), () => null);
                    if (!string.IsNullOrEmpty(oldToken))
                    {
                        CacheHelp.Set(oldToken, DateTimeOffset.Now.AddDays(7), null);
                    }
                    CacheHelp.Set(uloginKey, DateTimeOffset.Now.AddDays(7), Token);
                    CacheHelp.Set(Token, DateTimeOffset.Now.AddDays(7), user);
                    List <object> u = new List <object>();
                    u.Add(new
                    {
                        token = Token,
                    });
                    return(JsonUtil.Serialize(u));
                }
                else
                {
                    object obj = new { msg = false };
                    return(JsonUtil.Serialize(obj));
                }
                #endregion
            }
            else
            {
                object obj = new { msg = isok };
                return(JsonUtil.Serialize(obj));
            }
        }
Exemplo n.º 9
0
 public string GetUserInfo(string token)
 {
     if (!string.IsNullOrEmpty(token))
     {
         var userModel = CacheHelp.Get <UserModel>(token, DateTimeOffset.Now.AddDays(7), () => null);
         if (userModel != null)
         {
             return(JsonUtil.Serialize(userModel));
         }
     }
     return("");
 }
Exemplo n.º 10
0
        public string DeleteAllShopping(string token)
        {
            string key      = string.Concat(token, "SetShopping");
            var    uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null);

            if (uComList != null && uComList.Count > 0)
            {
                uComList.Clear();
            }
            CacheHelp.Set(key, DateTimeOffset.Now.AddMonths(3), uComList);
            return(JsonUtil.Serialize(uComList));
        }
Exemplo n.º 11
0
        public string GetShoppingCount(string token)
        {
            string      key      = string.Concat(token, "SetShopping");
            var         uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null);
            ReturnModel re       = new ReturnModel();

            re.state = true;
            if (uComList != null)
            {
                re.rcount = uComList.Count;
            }
            return(JsonUtil.Serialize(re));
        }
Exemplo n.º 12
0
        public void wapOk(string wapSpId, long orderId)
        {
            var idkey = CacheHelp.Get <string>(wapSpId, null);

            if (!string.IsNullOrEmpty(idkey))
            {
                var orId = Convert.ToInt64(idkey);
                if (orId == orderId)
                {
                    LogUtil.Info("支付加密:" + wapSpId + "订单编号;" + orderId);
                    UpdataState(orId);
                }
            }
        }
Exemplo n.º 13
0
        public string GetSearchList(string token)
        {
            var user = UserService.CkToken(token);

            if (user != null)
            {
                string key = string.Concat("GetSearchList");
                return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetSearchList(user.Uid)));
            }
            else
            {
                return(UserService.ckTokenState());
            }
        }
Exemplo n.º 14
0
        public string GetShoppingList(string token)
        {
            var user = UserService.CkToken(token);

            if (user != null)
            {
                string key      = string.Concat(user.UserName, "SetShopping");
                var    uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null);
                return(JsonUtil.Serialize(uComList));
            }
            else
            {
                return(UserService.ckTokenState());
            }
        }
Exemplo n.º 15
0
        public ActionResult <string> ExeAction(string Action, Object PostData)
        {
            Model.Action = Action;
            var           context     = _accessor.HttpContext;
            var           tokenHeader = context.Request.Headers["Authorization"].ToString().Replace("Bearer ", "");
            TokenModelJWT tokenModel  = JwtHelper.SerializeJWT(tokenHeader);

            if (new DateTimeOffset(DateTime.Now.AddMinutes(5)).ToUnixTimeSeconds() > tokenModel.Exp)
            {
                //需要更新Token
                Model.uptoken = JwtHelper.CreateJWT(tokenModel.UserName, "Admin");
            }
            JH_Auth_UserB.UserInfo UserInfo = CacheHelp.Get(tokenModel.UserName) as JH_Auth_UserB.UserInfo;
            if (UserInfo == null)
            {
                UserInfo = new JH_Auth_UserB().GetUserInfo(10334, tokenModel.UserName);
                CacheHelp.Set(tokenModel.UserName, UserInfo);
            }
            try
            {
                JObject JsonData = JObject.FromObject(PostData);
                string  P1       = JsonData["P1"] == null ? "" : JsonData["P1"].ToString();
                string  P2       = JsonData["P2"] == null ? "" : JsonData["P2"].ToString();


                // 1.Load(命名空间名称),GetType(命名空间.类名)
                Type type = Assembly.Load("QJY.API").GetType("QJY.API." + Action.Split('_')[0].ToUpper() + "Manage");
                //2.GetMethod(需要调用的方法名称)
                MethodInfo method = type.GetMethod(Action.Split('_')[1].ToUpper());
                // 3.调用的实例化方法(非静态方法)需要创建类型的一个实例
                object obj = Activator.CreateInstance(type);
                //4.方法需要传入的参数
                object[] parameters = new object[] { JsonData, Model, P1, P2, UserInfo };
                method.Invoke(obj, parameters);
                new JH_Auth_LogB().InsertLog(Model.Action, "--调用接口", "", UserInfo.User.UserName, UserInfo.User.UserRealName, UserInfo.QYinfo.ComId, "");
            }
            catch (Exception ex)
            {
                Model.ErrorMsg = Action + "接口调用失败,请检查日志";
                Model.Result   = ex.ToString();
                new JH_Auth_LogB().InsertLog(Action, Model.ErrorMsg + ex.StackTrace.ToString(), ex.ToString(), tokenModel.UserName, "", 0, "");
            }

            return(ControHelp.CovJson(Model));
        }
Exemplo n.º 16
0
        /// <summary>
        /// 检查token是否有效
        /// </summary>
        /// <param name="token"></param>
        /// <param name="uName"></param>
        /// <returns></returns>
        public static UserModel CkToken(string token)
        {
            var user = CacheHelp.Get <UserModel>(token, DateTimeOffset.Now.AddDays(7), () => null);

            if (user != null)
            {
                string tmpUName = CryptoUtil.AesDecryptHex(token, user.key);
                if (!string.IsNullOrEmpty(tmpUName) && tmpUName.Equals(user.UserName + uKey))
                {
                    return(user);
                }
                else
                {
                    return(null);
                }
            }
            return(null);
        }
Exemplo n.º 17
0
        public string GetShoppingCount(string token)
        {
            var user = UserService.CkToken(token);

            if (user != null)
            {
                string      key      = string.Concat(user.UserName, "SetShopping");
                var         uComList = CacheHelp.Get <List <CommodityModel> >(key, DateTimeOffset.Now.AddMonths(3), () => null);
                ReturnModel re       = new ReturnModel();
                re.state = true;
                if (uComList != null)
                {
                    re.rcount = uComList.Count;
                }
                return(JsonUtil.Serialize(re));
            }
            else
            {
                return(UserService.ckTokenState());
            }
        }
Exemplo n.º 18
0
        public ActionResult <string> ExeAction(string Action, Object PostData)
        {
            Model.Action = Action;
            var           context     = _accessor.HttpContext;
            var           tokenHeader = context.Request.Headers["Authorization"].ToString().Replace("Bearer ", "");
            TokenModelJWT tokenModel  = JwtHelper.SerializeJWT(tokenHeader);

            if (new DateTimeOffset(DateTime.Now.AddMinutes(5)).ToUnixTimeSeconds() > tokenModel.Exp)
            {
                //需要更新Token
                Model.uptoken = JwtHelper.CreateJWT(tokenModel.UserName, "Admin");
            }
            JH_Auth_UserB.UserInfo UserInfo = CacheHelp.Get(tokenModel.UserName) as JH_Auth_UserB.UserInfo;
            if (UserInfo == null)
            {
                UserInfo = new JH_Auth_UserB().GetUserInfo(10334, tokenModel.UserName);
                CacheHelp.Set(tokenModel.UserName, UserInfo);
            }
            try
            {
                JObject JsonData = JObject.FromObject(PostData);
                string  P1       = JsonData["P1"] == null ? "" : JsonData["P1"].ToString();
                string  P2       = JsonData["P2"] == null ? "" : JsonData["P2"].ToString();

                //Dictionary<string, string> results3 = JsonConvert.DeserializeObject<Dictionary<string, string>>(PostData.ToString());
                var function = Activator.CreateInstance(typeof(AuthManage)) as AuthManage;
                var method   = function.GetType().GetMethod(Action.ToUpper());
                method.Invoke(function, new object[] { JsonData, Model, P1, P2, UserInfo });
                new JH_Auth_LogB().InsertLog(Model.Action, "--调用接口", "", UserInfo.User.UserName, UserInfo.User.UserRealName, UserInfo.QYinfo.ComId, "");
            }
            catch (Exception ex)
            {
                Model.ErrorMsg = Action + "接口调用失败,请检查日志";
                Model.Result   = ex.ToString();
                new JH_Auth_LogB().InsertLog(Action, Model.ErrorMsg + ex.StackTrace.ToString(), ex.ToString(), tokenModel.UserName, "", 0, "");
            }

            return(ControHelp.CovJson(Model));
        }
Exemplo n.º 19
0
        public JsonResult CreateAfter(ShopInfo model)
        {
            Utility.ReturnData <string> returnData = new Utility.ReturnData <string>();
            ShopInfoBll shopBll = new ShopInfoBll();
            UserPC      _model  = CacheHelp.Get("user") as UserPC;

            model.Relation     = 1;
            model.ContactPhone = "";
            model.Address      = "";
            model.Range        = "";
            model.shopIMG      = "";
            model.WeixinMPID   = 0;
            model.Remarks      = "";
            model.AgentID      = 0;
            model.ContactTEL   = "";
            model.Status       = 2;
            model.ProvinceID   = model.ProvinceID;
            model.CityID       = model.CityID;
            model.CountyID     = model.CountyID;
            model.EnterpriseID = LoginUser.UserBasic.EnterpriseID;
            returnData         = shopBll.Create(model);
            return(Json(returnData));
        }
Exemplo n.º 20
0
        /// <summary>
        /// 返回false时前端需要重新登录
        /// </summary>
        /// <param name="token"></param>
        /// <returns></returns>
        public static UserModel GetUserLoginState(string token)
        {
            var userModel = CacheHelp.Get <UserModel>(token, DateTimeOffset.Now.AddDays(7), () => null);

            return(userModel);
        }
Exemplo n.º 21
0
        public string GetBrandHome(int size)
        {
            string key = string.Concat("GetBrandHome", size);

            return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetBrandHomeSal(size)));
        }
Exemplo n.º 22
0
        public string GetCityList()
        {
            string key = string.Concat("GetCitList");

            return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetCityListSql()));
        }
Exemplo n.º 23
0
        public string GetCommodityFamily(int familyId, int index = 1, int size = 10)
        {
            string key = string.Concat("GetCommodityFamily", familyId, index, size);

            return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetCommodityByFamilyIdSql(familyId, index, size)));
        }
Exemplo n.º 24
0
        public string GetCommodityByBrand(int brandId, int index = 1, int size = 10)
        {
            string key = string.Concat("GetCommodityByBrand", brandId, index, size);

            return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetCommodityByBrandIdSql(brandId, index, size)));
        }
Exemplo n.º 25
0
        public string GetAdvType()
        {
            string key = string.Concat("GetAdvType");

            return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetAdvTypeSql()));
        }
Exemplo n.º 26
0
        public string GetPayList()
        {
            string key = string.Concat("GetPayListe");

            return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddDays(1), () => GetPayListSql()));
        }
Exemplo n.º 27
0
        public string GetCommodityList(int index = 1, int size = 10)
        {
            string key = string.Concat("GetCommodityList", index, size);

            return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetCommodityListSql(index, size)));
        }
Exemplo n.º 28
0
        public string GetCommodityInfo(int id)
        {
            string key = string.Concat("GetCommodityInfo", id);

            return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetCommodityByInfoSql(id)));
        }
Exemplo n.º 29
0
        public string GetCommoditySearch(string searchTxt, string token)
        {
            string key = string.Concat("GetCommoditySearch", searchTxt);

            return(CacheHelp.Get <string>(key, DateTimeOffset.Now.AddSeconds(3), () => GetCommoditySearchSql(searchTxt, token)));
        }
Exemplo n.º 30
0
        public void ProcessRequest(HttpContext context)
        {
            context.Response.ContentType = "text/plain";
            context.Response.AddHeader("Access-Control-Allow-Origin", "*");
            context.Response.AddHeader("Access-Control-Allow-Methods", "POST,GET,OPTIONS,DELETE"); //支持的http 动作
            context.Response.AddHeader("Access-Control-Allow-Headers", "Accept, Origin, Content-type,authorization");
            context.Response.AddHeader("Access-Control-Allow-Credentials", "true");
            context.Response.AddHeader("pragma", "no-cache");
            context.Response.AddHeader("cache-control", "");
            context.Response.CacheControl = "no-cache";
            string strAction = context.Request["Action"] ?? "";
            string P1        = context.Request["P1"] ?? "";
            string P2        = context.Request["P2"] ?? "";
            string P3        = context.Request["P3"] ?? "";
            string UserName  = context.Request["UserName"] ?? "";
            string wxopenid  = context.Request["wxopenid"] ?? "";

            string szhlcode = context.Request["szhlcode"] ?? "";

            if (context.Request.Cookies["szhlcode"] != null)
            {
                szhlcode = context.Request.Cookies["szhlcode"].Value;//防止szhlcode在Url里传输会出现把+弄丢得情况
            }

            //string szhlcode = context.Request["szhlcode"] ?? "";


            string authcode = context.Request.Headers["Authorization"] ?? "";

            string     strIP      = CommonHelp.getIP(context); //用户IP
            int        intTimeOut = 60;                        //用户超时间隔时间即szhlcode失效时间
            Msg_Result Model      = new Msg_Result()
            {
                Action = strAction.ToUpper(), ErrorMsg = ""
            };

            if (!string.IsNullOrEmpty(strAction))
            {
                try
                {
                    string strCheckString = "";// new CommonHelp().checkconetst(context);
                    if (strCheckString != "")
                    {
                        Model.ErrorMsg = strAction + "有敏感字符串";
                        new JH_Auth_LogB().InsertLog(strAction, Model.ErrorMsg, strCheckString, UserName, "", 0, strIP);
                    }
                    else
                    {
                        #region 必须登录执行接口
                        Model.ErrorMsg = "";

                        var    bl   = true;
                        string ishc = "";
                        var    acs  = Model.Action.Split('_');
                        if (Model.Action.IndexOf("_") > 0)
                        {
                            if (acs[0].ToUpper() == "Commanage".ToUpper())
                            {
                                bl = false;
                                var container = ServiceContainerV.Current().Resolve <IWsService>(acs[0].ToUpper());
                                Model.Action = acs[1];
                                container.ProcessRequest(context, ref Model, P1.TrimEnd(), P2.TrimEnd(), new JH_Auth_UserB.UserInfo());
                                int    cid = 0;
                                string un  = string.Empty;
                                if (Model.Result4 != null)
                                {
                                    JH_Auth_User UserInfo = Model.Result4;
                                    cid = UserInfo.ComId.Value;
                                    un  = UserInfo.UserRealName;
                                }
                            }
                        }
                        if (bl)
                        {
                            if (wxopenid != "")//如果存在TOKEN,根据TOKEN找到用户信息,并根据权限执行具体ACTION
                            {
                                //通过Code获取用户名,然后执行接口方法
                                var                    container  = ServiceContainerV.Current().Resolve <IWsService>(acs[0].ToUpper());
                                UserCatche             UserCatche = CacheHelp.Get(wxopenid) as UserCatche;
                                JH_Auth_UserB.UserInfo UserInfo   = new JH_Auth_UserB.UserInfo();
                                if (UserCatche != null && UserCatche.CatcheTime.AddMinutes(10) > DateTime.Now)
                                {
                                    UserInfo = UserCatche.User;
                                    ishc     = "MOB缓存--";
                                }
                                else
                                {
                                    UserInfo = new JH_Auth_UserB().GetUserInfoByWxopenid(wxopenid);
                                    ishc     = "MOB数据库--";
                                    CacheHelp.Remove(wxopenid);//超时清理缓存
                                }
                                if (UserInfo != null && UserInfo.User != null)
                                {
                                    Model.Action = Model.Action.Substring(acs[0].Length + 1);
                                    container.ProcessRequest(context, ref Model, P1.TrimEnd(), P2.TrimEnd(), UserInfo);
                                    new JH_Auth_LogB().InsertLog(Model.Action, ishc + "调用小程序接口", context.Request.Url.AbsoluteUri, UserInfo.User.UserName, UserInfo.User.UserRealName, UserInfo.QYinfo.ComId, strIP);

                                    CacheHelp.Set(wxopenid, new UserCatche()
                                    {
                                        User = UserInfo, CatcheTime = DateTime.Now
                                    });
                                }
                                else
                                {
                                    Model.ErrorMsg = "NOSESSIONCODE";
                                }
                            }
                            else if (szhlcode != "")
                            {
                                //通过Code获取用户名,然后执行接口方法
                                var container = ServiceContainerV.Current().Resolve <IWsService>(acs[0].ToUpper());

                                JH_Auth_UserB.UserInfo UserInfo = CacheHelp.Get(szhlcode) as JH_Auth_UserB.UserInfo;
                                ishc = "缓存--";

                                if (UserInfo == null)
                                {
                                    UserInfo = new JH_Auth_UserB().GetUserInfo(szhlcode);
                                    ishc     = "数据库--";
                                }
                                if (UserInfo != null && UserInfo.User != null)
                                {
                                    if (UserInfo.User.logindate == null)
                                    {
                                        UserInfo.User.logindate = DateTime.Now;
                                    }
                                    TimeSpan ts = new TimeSpan(UserInfo.User.logindate.Value.Ticks).Subtract(new TimeSpan(DateTime.Now.Ticks)).Duration();
                                    if (ts.TotalMinutes > intTimeOut)  // 超过五分钟了,超时了哦;
                                    {
                                        UserInfo.User.pccode = "";
                                        new JH_Auth_UserB().Update(UserInfo.User); //清除PCCode
                                        Model.ErrorMsg = "WXTIMEOUT";
                                        CacheHelp.Remove(szhlcode);                //超时清理缓存
                                    }
                                    else
                                    {
                                        Model.Action = Model.Action.Substring(acs[0].Length + 1);
                                        container.ProcessRequest(context, ref Model, P1.TrimEnd(), P2.TrimEnd(), UserInfo);
                                        new JH_Auth_LogB().InsertLog(Model.Action, ishc + "--调用接口", context.Request.Url.AbsoluteUri, UserInfo.User.UserName, UserInfo.User.UserRealName, UserInfo.QYinfo.ComId, strIP);
                                        new JH_Auth_UserB().UpdateloginDate(UserInfo.User.ComId.Value, UserInfo.User.UserName); //更新用户最近的操作时间
                                        CacheHelp.Set(szhlcode, UserInfo);                                                      //生成缓存
                                    }
                                }
                                else
                                {
                                    Model.ErrorMsg = "NOSESSIONCODE";
                                }
                            }
                            else
                            {
                                Model.ErrorMsg = "NOSESSIONCODE";
                            }
                        }
                        #endregion
                    }
                }
                catch (Exception ex)
                {
                    Model.ErrorMsg = strAction + "接口调用失败,请检查日志";
                    Model.Result   = ex.ToString();
                    new JH_Auth_LogB().InsertLog(strAction, P1 + "$" + P2 + Model.ErrorMsg + ex.StackTrace.ToString(), ex.ToString(), UserName, "", 0, strIP);
                }
            }
            string jsonpcallback = context.Request["jsonpcallback"] ?? "";
            IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
            timeConverter.DateTimeFormat = "yyyy-MM-dd HH:mm:ss";
            string Result = JsonConvert.SerializeObject(Model, Formatting.Indented, timeConverter).Replace("null", "\"\"");
            if (jsonpcallback != "")
            {
                Result = jsonpcallback + "(" + Result + ")";//支持跨域
            }
            context.Response.Write(Result);
        }