Exemplo n.º 1
0
        /// <summary>
        /// 大将军查询接口
        /// </summary>
        /// <param name="UserId">用户Id</param>
        /// <param name="ServerId">服务器Id</param>
        /// <returns>返回查询结果</returns>
        public GameUserInfo Sel(int UserId, int ServerId)
        {
            gu     = gus.GetGameUser(UserId);                                                  //获取查询用户
            gs     = gss.GetGameServer(ServerId);                                              //获取查询用户所在区服
            tstamp = Utils.GetTimeSpan();                                                      //获取时间戳
            GameUserInfo gui = new GameUserInfo();                                             //定义返回查询结果信息
            string       url = string.Format("op_id={0}&sid={1}&game_id={2}&accounts={3}&time={4}",
                                             gc.AgentId, gs.ServerNo, 7, gu.UserName, tstamp); //获取验证字符串
            Base64Protector bp = new Base64Protector();

            Auth = bp.Base64Code(url);                                                        //获取验证码
            Sign = DESEncrypt.Md5(Auth + gc.SelectTicket, 32);                                //获取验证参数
            string SelUrl    = "http://" + gc.ExistCom + "?auth=" + Auth + "&verify=" + Sign; //获取查询地址
            string SelResult = Utils.GetWebPageContent(SelUrl);                               //获取返回结果

            try
            {
                SelResult = SelResult.Substring(0, SelResult.IndexOf('}'));                      //处理返回结果
                SelResult = SelResult.Replace(SelResult.Substring(0, SelResult.LastIndexOf('{') + 1), "");
                string[] b = SelResult.Split(',');

                gui = new GameUserInfo(b[0].Substring(12), gu.UserName, b[8].Substring(12).Replace("\"", ""), int.Parse(b[2].Substring(8).Replace("\"", "")), gs.Name, os.GetOrderInfo(gu.UserName), "Success");
            }
            catch (Exception)
            {
                gui.UserName = "******";
                gui.Message  = "error";
            }
            return(gui);
        }
Exemplo n.º 2
0
        string Auth;                                                        //定义验证码

        /// <summary>
        /// 天界登录接口
        /// </summary>
        /// <param name="UserId">用户Id</param>
        /// <param name="ServerId">服务器Id</param>
        /// <returns>返回登录地址</returns>
        public string Login(int UserId, int ServerId, int IsPC)
        {
            gu     = gus.GetGameUser(UserId);                              //获取要登录用户
            gs     = gss.GetGameServer(ServerId);                          //获取要登录的服务器
            tstamp = Utils.GetTimeSpan();                                  //获取时间戳
            Base64Protector bp = new Base64Protector();

            Auth = bp.Base64Code(string.Format("sid={0}&uid={1}&time={2}&indulge={3}", gs.ServerNo, gu.UserName, tstamp, "n"));
            Sign = DESEncrypt.Md5(Auth + gc.LoginTicket, 32);       //获取验证参数
            string LoginUrl = "http://" + gc.LoginCom + "?auth=" + Auth + "&sign=" + Sign;

            return(LoginUrl);
        }
Exemplo n.º 3
0
        string Auth;                                                        //定义验证码

        /// <summary>
        /// 大将军登录接口
        /// </summary>
        /// <param name="UserId">用户Id</param>
        /// <param name="ServerId">服务器Id</param>
        /// <param name="IsPC">是否PC端登陆</param>
        /// <returns>返回登录地址</returns>
        public string Login(int UserId, int ServerId, int IsPC)
        {
            gu     = gus.GetGameUser(UserId);                                                                                //获取当前登录用户
            gs     = gss.GetGameServer(ServerId);                                                                            //获取用户要登录的服务器
            tstamp = Utils.GetTimeSpan();                                                                                    //获取时间戳
            string url = string.Format("op_id={0}&sid={1}&game_id={2}&account={3}&adult_flag={4}&game_time={5}&ip={6}&ad_info={7}&time={8}",
                                       gc.AgentId, gs.ServerNo, 7, gu.UserName, 1, 13359459, BBRequest.GetIP(), "", tstamp); //获取验证字符串
            Base64Protector bp = new Base64Protector();

            Auth = bp.Base64Code(url);                                                       //获取验证码
            Sign = DESEncrypt.Md5(Auth + gc.LoginTicket, 32);                                //获取验证参数
            string LoginUrl = "http://" + gc.LoginCom + "?auth=" + Auth + "&verify=" + Sign; //生成登录地址

            return(LoginUrl);
        }
Exemplo n.º 4
0
        string Auth;                                                        //定义验证码

        /// <summary>
        /// 九龙朝登陆接口
        /// </summary>
        /// <param name="UserId">用户Id</param>
        /// <param name="ServerId">服务器Id</param>
        /// <param name="IsPC">是否PC端登陆</param>
        /// <returns>返回登陆地址</returns>
        public string Login(int UserId, int ServerId, int IsPC)
        {
            gu     = gus.GetGameUser(UserId);                                  //获取当前登录用户
            gs     = gss.GetGameServer(ServerId);                              //获取用户要登录的服务器
            tstamp = Utils.GetTimeSpan();                                      //获取时间戳
            string url = string.Format("sid={0}&uid={1}&time={2}&indulge={3}",
                                       gs.ServerNo, gu.UserName, tstamp, "n"); //获取验证字符串
            Base64Protector bp = new Base64Protector();

            Auth = bp.Base64Code(url);                                                     //获取验证码
            Sign = DESEncrypt.Md5(Auth + gc.LoginTicket, 32);                              //获取验证参数
            string LoginUrl = "http://" + gc.LoginCom + "?auth=" + Auth + "&sign=" + Sign; //生成登录地址

            if (IsPC == 1)
            {
                LoginUrl += "&play_gamecode&isclient=1";
            }
            return(LoginUrl);
        }
Exemplo n.º 5
0
        private void SendEmail(string _LoginName, int _iCt)
        {
            // siteconfig业务逻辑
            ZhouFu.Bll.siteconfig   sitebll = new ZhouFu.Bll.siteconfig();
            ZhouFu.Model.siteconfig site    = sitebll.loadConfig(Utils.GetXmlMapPath(DTKeys.FILE_SITE_XML_CONFING));
            string smtpserver = site.emailstmp;
            string userName   = site.emailusername;
            string pwd        = DESEncrypt.Decrypt(site.emailpassword);
            string nickName   = site.emailnickname;
            string strfrom    = site.emailfrom;
            string strto      = _LoginName;
            string subj       = "邮箱认证";
            string bodys      = HttpContext.Current.Request.Url.Authority + "/RzEmail.aspx?Id=" + Base64Protector.Base64Code(_iCt.ToString());

            DTMail.sendMail(smtpserver, userName, pwd, nickName, strfrom, strto, subj, bodys);
        }
Exemplo n.º 6
0
        public string GetRecommendUrl(int _LoginId)
        {
            StringBuilder sbStr = new StringBuilder();

            sbStr.Append("[{\"msg\":\"获取成功。\",\"data\":[{\"Url\":\"Register.aspx?token=" + Base64Protector.Base64Code(_LoginId.ToString()) + "\"}],\"state\":\"0\"}]");
            return(sbStr.ToString());
        }
Exemplo n.º 7
0
        /// <summary>
        /// 大将军充值接口
        /// </summary>
        /// <param name="OrderNo">订单号</param>
        /// <returns>返回充值结果</returns>
        public string Pay(string OrderNo)
        {
            order = os.GetOrder(OrderNo);                                                                                      //获取用户的充值订单
            gu    = gus.GetGameUser(order.UserName);                                                                           //获取充值用户
            gs    = gss.GetGameServer(order.ServerId);                                                                         //获取用户要充值的服务器
            string PayGold = (order.PayMoney * game.GameMoneyScale).ToString();                                                //计算支付的游戏币

            if (gus.IsGameUser(gu.UserName))                                                                                   //判断用户是否属于平台
            {
                tstamp = Utils.GetTimeSpan();                                                                                  //获取时间戳
                string url = string.Format("op_id={0}&sid={1}&game_id={2}&account={3}&order_id={4}&game_money={5}&u_money={6}&time={7}",
                                           gc.AgentId, gs.ServerNo, 7, gu.UserName, OrderNo, PayGold, order.PayMoney, tstamp); //获取验证字符串
                Base64Protector bp = new Base64Protector();
                Auth = bp.Base64Code(url);                                                                                     //获取验证码
                Sign = DESEncrypt.Md5(Auth + gc.PayTicket, 32);                                                                //获取验证参数
                string       PayUrl = "http://" + gc.PayCom + "?auth=" + Auth + "&verify=" + Sign;
                GameUserInfo gui    = Sel(gu.Id, gs.Id);                                                                       //获取玩家查询信息
                if (gui.Message == "Success")                                                                                  //判断玩家是否存在
                {
                    if (order.State == 1)                                                                                      //判断订单状态是否为支付状态
                    {
                        string PayResult = Utils.GetWebPageContent(PayUrl);                                                    //获取充值结果
                        PayResult = PayResult.Substring(0, PayResult.IndexOf('}'));                                            //处理充值结果
                        PayResult = PayResult.Replace(PayResult.Substring(0, PayResult.LastIndexOf('{') + 1), "");
                        switch (PayResult.Substring(9))                                                                        //对充值结果进行解析
                        {
                        case "0":
                            if (os.UpdateOrder(order.OrderNo))                      //更新订单状态为已完成
                            {
                                gus.UpdateGameMoney(gu.UserName, order.PayMoney);   //跟新玩家游戏消费情况
                                return("充值成功!");
                            }
                            else
                            {
                                return("充值失败!错误原因:更新订单状态失败!");
                            }

                        case "1":
                            return("充值失败!错误原因:商家错误或者不存在!");

                        case "2":
                            return("充值失败!错误原因:服务器不存在!");

                        case "3":
                            return("充值失败!错误原因:游戏不存在!");

                        case "4":
                            return("充值失败!错误原因:无效时间戳!");

                        case "5":
                            return("充值失败!错误原因:检验码错误!");

                        case "6":
                            return("充值失败!错误原因:缺少参数!");

                        case "7":
                            return("充值失败!错误原因:订单号不存在!");

                        case "8":
                            return("充值失败!错误原因:角色不存在!");

                        case "9":
                            return("充值失败!错误原因:排行榜类型不存在!");

                        case "10":
                            return("充值失败!错误原因:方法名字错误!");

                        case "11":
                            return("充值失败!错误原因:非法IP!");

                        case "12":
                            return("充值失败!错误原因:充值金额不对!");

                        case "13":
                            return("充值失败!错误原因:游戏币金额不对!");

                        case "14":
                            return("充值失败!错误原因:游戏币和游戏币币比列不对!");

                        case "100":
                            return("充值失败!未知原因");

                        default:
                            return("充值失败!未知错误!");
                        }
                    }
                    else
                    {
                        return("充值失败!错误原因:无法提交未支付订单!");
                    }
                }
                else
                {
                    return("充值失败!角色不存在!");
                }
            }
            else
            {
                return("充值失败!用户不存在!");
            }
        }
Exemplo n.º 8
0
        /// <summary>
        /// 女神联盟查询接口
        /// </summary>
        /// <param name="UserId">用户Id</param>
        /// <param name="ServerId">服务器Id</param>
        /// <returns>返回查询结果</returns>
        public GameUserInfo Sel(int UserId, int ServerId)
        {
            gu     = gus.GetGameUser(UserId);                                                   //获取查询用户
            gs     = gss.GetGameServer(ServerId);                                               //获取查询用户所在区服
            tstamp = Utils.GetTimeSpan();                                                       //获取时间戳
            GameUserInfo gui = new GameUserInfo();                                              //定义返回查询结果信息
            string       url = string.Format("op_id={0}&sid={1}&game_id={2}&accounts={3}&time={4}",
                                             gc.AgentId, gs.ServerNo, 31, gu.UserName, tstamp); //获取验证字符串
            Base64Protector bp = new Base64Protector();

            Auth = bp.Base64Code(url);                                                     //获取验证码
            Sign = DESEncrypt.Md5(Auth + gc.SelectTicket, 32);                             //获取验证参数
            string SelUrl = "http://" + gc.ExistCom + "?auth=" + Auth + "&verify=" + Sign; //获取查询地址

            try
            {
                string SelResult = Utils.GetWebPageContent(SelUrl);             //获取返回结果
                Dictionary <string, string> Jd = Json.JsonToArray(SelResult);
                if (Jd.ContainsKey("status"))
                {
                    switch (Jd["status"])                             //对充值结果进行解析
                    {
                    case "1":
                        gui.Message = "查询失败!错误原因:商家错误或者不存在!";
                        break;

                    case "2":
                        gui.Message = "查询失败!错误原因:服务器不存在!";
                        break;

                    case "3":
                        gui.Message = "查询失败!错误原因:游戏不存在!";
                        break;

                    case "4":
                        gui.Message = "查询失败!错误原因:无效时间戳!";
                        break;

                    case "5":
                        gui.Message = "查询失败!错误原因:检验码错误!";
                        break;

                    case "6":
                        gui.Message = "查询失败!错误原因:缺少参数!";
                        break;

                    case "8":
                        gui.Message = "查询失败!错误原因:角色不存在!";
                        break;

                    case "10":
                        gui.Message = "查询失败!错误原因:方法名字错误!";
                        break;

                    case "11":
                        gui.Message = "查询失败!错误原因:非法IP!";
                        break;

                    case "100":
                        gui.Message = "查询失败!错误原因:未知原因!";
                        break;
                    }
                }
                else
                {
                    gui = new GameUserInfo(gu.Id.ToString(), gu.UserName, Utils.ConvertUnicodeStringToChinese(Jd["role_name"]), int.Parse(Jd["level"]), gs.Name, os.GetOrderInfo(gu.UserName), "Success");
                }
            }
            catch (Exception ex)
            {
                gui.UserName = "******";
                gui.Message  = "查询失败!错误原因:" + ex.Message;
            }
            return(gui);
        }