예제 #1
0
파일: LQPay.cs 프로젝트: yuk320/WHJHWeb
            public LQPayRequest(string orderId)
            {
                string domain = string.IsNullOrEmpty(AppConfig.FrontSiteDomain)
                    ? GameRequest.GetCurrentFullHost()
                    : AppConfig.FrontSiteDomain;
                string notifyUrl = "http://" + domain + "/Notify/LqPay.aspx";
                string returnUrl = "http://" + domain + "/Mobile/Pay/LqReturn.aspx?orderId=" + orderId;

                _index = new ArrayList
                {
                    "comp_id",
                    "prod_id",
                    "po_num",
                    "version",
                    "sourceType",
                    "notify_url",
                    "return_url",
                    "time_stamp"
                };
                _param = new SortedDictionary <string, object>
                {
                    { "comp_id", Config.CompId },
                    { "prod_id", Config.ProdId },
                    { "po_num", orderId },
                    { "version", "1.0" },
                    { "sourceType", "H5" },
                    { "notify_url", notifyUrl },
                    { "return_url", returnUrl },
                    { "time_stamp", DateTime.Now.ToString("yyyyMMddHHmmss") }
                };
            }
        /// <summary>
        /// 获取推广链接
        /// </summary>
        private static string GetSpreadLink(DataTable table, bool flag)
        {
            string shareLink = string.Empty;

            if (table != null && table.Rows.Count > 0)
            {
                DataRow row    = table.Rows[0];
                string  domain = string.IsNullOrEmpty(AppConfig.FrontSiteDomain)
                    ? GameRequest.GetCurrentFullHost()
                    : AppConfig.FrontSiteDomain;
                //线上版本
                if (flag)
                {
                    if (Convert.ToInt32(row["AgentID"]) > 0)
                    {
                        shareLink = "http://" + row["AgentDomain"] + "/Mobile/ShareLink.aspx";
                    }
                    else
                    {
                        string[] domainStr = domain.Split('.');
                        shareLink = domainStr.Length != 3
                            ? ("http://" + domain + "/Mobile/ShareLink.aspx?g=" + row["GameID"])
                            : ("http://" + row["GameID"] + "." + domainStr[1] + "." + domainStr[2] +
                               "/Mobile/ShareLink.aspx");
                    }
                }
                else
                {
                    shareLink = "http://" + domain + "/Mobile/ShareLink.aspx?g=" + row["GameID"];
                }
            }
            return(shareLink);
        }
예제 #3
0
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!IsPostBack)
     {
         if (AppConfig.Mode != AppConfig.CodeMode.Dev)
         {
             //演示和通用平台
             if (string.IsNullOrEmpty(wxparam))
             {
                 string domain = "http://" + (string.IsNullOrEmpty(AppConfig.FrontSiteDomain)
                                     ? GameRequest.GetCurrentFullHost()
                                     : AppConfig.FrontSiteDomain);
                 Response.Redirect(domain + AppConfig.AuthorizeURL + "?url=http://" +
                                   GameRequest.GetCurrentFullHost() + "/Card/Index.aspx?code=1001");
             }
             else
             {
                 WxUser wu = Fetch.GetWxUser(wxparam);
                 if (wu == null)
                 {
                     Response.Write(
                         "<div style=\"font-size:1.2rem; color:red; text-align:center; margin-top:3rem;\">参数异常,请稍后尝试。</div>");
                     return;
                 }
                 Message msg = FacadeManage.aideAccountsFacade.WXLogin(wu.unionid, GameRequest.GetUserIP());
                 if (msg.Success)
                 {
                     UserInfo ui = msg.EntityList[0] as UserInfo;
                     if (ui != null)
                     {
                         Fetch.SetUserCookie(ui.ToUserTicketInfo());
                         Response.Redirect("/Card/AgentInfo.aspx");
                     }
                     else
                     {
                         Response.Write(
                             "<div style=\"font-size:1.2rem; color:red; text-align:center; margin-top:3rem;\">登录失败,请稍后尝试</div>");
                     }
                 }
                 else
                 {
                     Response.Write(
                         "<div style=\"font-size:1.2rem; color:red; text-align:center; margin-top:3rem;\">" +
                         wu.nickname + "," +
                         msg.Content + "</div>");
                 }
             }
         }
     }
 }
예제 #4
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (AppConfig.Mode != AppConfig.CodeMode.Dev)
                {
                    if (Fetch.isWeChat(Request))
                    {
                        //演示和通用平台
                        if (string.IsNullOrEmpty(wxparam))
                        {
//                        string domain = "http://" + (string.IsNullOrEmpty(AppConfig.FrontSiteDomain)
//                                            ? GameRequest.GetCurrentFullHost()
//                                            : AppConfig.FrontSiteDomain);
                            Response.Redirect(AppConfig.AuthorizeURL + "?url=http://" +
                                              GameRequest.GetCurrentFullHost() + "/Card/Index.aspx?code=1001");
                        }
                        else
                        {
                            WxUser wu = Fetch.GetWxUser(wxparam);
                            if (wu == null)
                            {
                                Response.Write(
                                    "<div style=\"font-size:1.2rem; color:red; text-align:center; margin-top:3rem;\">参数异常,请稍后尝试。</div>");
                                return;
                            }
                            Message msg =
                                FacadeManage.aideAgentFacade.AgentWXLogin(wu.unionid, GameRequest.GetUserIP());
                            if (msg.Success)
                            {
                                Entity.Agent.AgentInfo ui = msg.EntityList[0] as Entity.Agent.AgentInfo;
                                if (ui != null)
                                {
                                    //for Version 2.0 跳转
                                    string token = Fetch.SHA256Encrypt(
                                        $"<{ui.UserID}>,<{ui.AgentID}>,<{ui.AgentDomain}>,<{Fetch.ConvertDateTimeToUnix(DateTime.Now)}>");
                                    FacadeManage.aideAgentFacade.SaveAgentToken(ui, token);
                                    HttpRuntime.Cache.Insert("token", token);
                                    Response.Redirect($"v2/#/");
                                }
                                else
                                {
                                    Response.Write(
                                        "<div style=\"font-size:1.2rem; color:red; text-align:center; margin-top:3rem;\">登录失败,请稍后尝试</div>");
                                }
                            }
                            else
                            {
                                Response.Write(
                                    "<div style=\"font-size:1.2rem; color:red; text-align:center; margin-top:3rem;\">" +
                                    wu.nickname + "," +
                                    msg.Content + "</div>");
                            }
                        }
                    }
                    else
                    {
                        //if (version == 1)
                        //    // for Version 1.0 非微信提示
                        //    Response.Write(
                        //        "<div style=\"font-size:1.2rem; color:red; text-align:center; margin-top:3rem;\">请在微信内打开</div>");
                        //else if (version == 2)
                        // for Version 2.0 跳转到手机+安全密码登录页面
                        if (!string.IsNullOrEmpty(Gameid))
                        {
                            AccountsInfo user = FacadeManage.aideAccountsFacade.GetAccountsInfoByGameID(Convert.ToInt32(Gameid));
                            if (user == null)
                            {
                                Response.Write(
                                    "<div style=\"font-size:1.2rem; color:red; text-align:center; margin-top:3rem;\">抱歉,您为非代理玩家。</div>");
                                return;
                            }

                            if (user.AgentID > 0)
                            {
                                AgentInfo agent = FacadeManage.aideAgentFacade.GetAgentInfo(user.AgentID, 0);
                                if (agent != null && string.IsNullOrEmpty(agent.Password))
                                {
                                    Response.Redirect("setPassword.aspx?gameid=" + Gameid);
                                }
                                else
                                {
                                    Response.Redirect("v2/#/Login?gameid=" + Gameid);
                                }
                            }
                            else
                            {
                                Response.Write(
                                    "<div style=\"font-size:1.2rem; color:red; text-align:center; margin-top:3rem;\">抱歉,您为非代理玩家。</div>");
                                return;
                            }
                        }
                    }
                }
                if (!string.IsNullOrEmpty(Gameid))
                {
                    AccountsInfo user = FacadeManage.aideAccountsFacade.GetAccountsInfoByGameID(Convert.ToInt32(Gameid));
                    if (user.AgentID > 0)
                    {
                        AgentInfo agent = FacadeManage.aideAgentFacade.GetAgentInfo(user.AgentID, 0);
                        if (agent != null && string.IsNullOrEmpty(agent.Password))
                        {
                            Response.Redirect("setPassword.aspx?gameid=" + Gameid);
                        }
                        else
                        {
                            txtGameid.Text = Gameid;
                        }
                    }
                }
            }
        }
예제 #5
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                if (AppConfig.Mode != AppConfig.CodeMode.Dev)
                {
                    if (Fetch.isWeChat(Request))
                    {
                        //演示和通用平台
                        if (string.IsNullOrEmpty(wxparam))
                        {
//                        string domain = "http://" + (string.IsNullOrEmpty(AppConfig.FrontSiteDomain)
//                                            ? GameRequest.GetCurrentFullHost()
//                                            : AppConfig.FrontSiteDomain);
                            Response.Redirect(AppConfig.AuthorizeURL + "?url=http://" +
                                              GameRequest.GetCurrentFullHost() + "/Card/Index.aspx?code=1001");
                        }
                        else
                        {
                            WxUser wu = Fetch.GetWxUser(wxparam);
                            if (wu == null)
                            {
                                Response.Write(
                                    "<div style=\"font-size:1.2rem; color:red; text-align:center; margin-top:3rem;\">参数异常,请稍后尝试。</div>");
                                return;
                            }
                            Message msg =
                                FacadeManage.aideAgentFacade.AgentWXLogin(wu.unionid, GameRequest.GetUserIP());
                            if (msg.Success)
                            {
                                Entity.Agent.AgentInfo ui = msg.EntityList[0] as Entity.Agent.AgentInfo;
                                if (ui != null)
                                {
                                    //for Version 2.0 跳转
                                    string token = Fetch.SHA256Encrypt(
                                        $"<{ui.UserID}>,<{ui.AgentID}>,<{ui.AgentDomain}>,<{Fetch.ConvertDateTimeToUnix(DateTime.Now)}>");
                                    FacadeManage.aideNativeWebFacade.SaveAgentToken(ui, token);
                                    Response.Redirect($"v2/#/?token={token}");
                                }
                                else
                                {
                                    Response.Write(
                                        "<div style=\"font-size:1.2rem; color:red; text-align:center; margin-top:3rem;\">登录失败,请稍后尝试</div>");
                                }
                            }
                            else
                            {
                                Response.Write(
                                    "<div style=\"font-size:1.2rem; color:red; text-align:center; margin-top:3rem;\">" +
                                    wu.nickname + "," +
                                    msg.Content + "</div>");
                            }
                        }
                    }
                    else
                    {
                        if (version == 1)
                        {
                            // for Version 1.0 非微信提示
                            Response.Write(
                                "<div style=\"font-size:1.2rem; color:red; text-align:center; margin-top:3rem;\">请在微信内打开</div>");
                        }
                        else if (version == 2)
                        {
                            // for Version 2.0 跳转到手机+安全密码登录页面
                            Response.Redirect("v2/#/Login");
                        }
                    }
                }
            }
        }
        /// <summary>
        /// 钻石充值下单
        /// </summary>
        /// <param name="configid"></param>
        /// <param name="paytype"></param>
        /// <param name="openid"></param>
        /// <param name="subtype"></param>
        /// <returns>AjaxJsonValid</returns>
        private static AjaxJsonValid CreatePayOrder(int configid, string paytype, string openid, string subtype)
        {
            //下单信息
            OnLinePayOrder order = new OnLinePayOrder
            {
                UserID       = _userid,
                ConfigID     = configid,
                OrderAddress = GameRequest.GetUserIP()
            };

            switch (paytype)
            {
            case "wx":
                order.ShareID = 101;
                order.OrderID = Fetch.GetOrderIDByPrefix("WXAPP");
                break;

            case "zfb":
                order.ShareID = 201;
                order.OrderID = Fetch.GetOrderIDByPrefix("ZFBAPP");
                break;

            case "hwx":
                order.ShareID = 102;
                order.OrderID = Fetch.GetOrderIDByPrefix("HWX");
                break;

            case "lq":
                order.ShareID = 301;
                order.OrderID = Fetch.GetOrderIDByPrefix("360LQ");
                break;

            default:
                _ajv.code = (int)ApiCode.VertyParamErrorCode;
                _ajv.msg  = string.Format(EnumHelper.GetDesc(ApiCode.VertyParamErrorCode), " paytype(充值类型) 错误");
                return(_ajv);
            }

            //下单操作
            Message umsg = FacadeManage.aideTreasureFacade.CreatePayOrderInfo(order, _device);

            if (umsg.Success)
            {
                OnLinePayOrder orderReturn = umsg.EntityList[0] as OnLinePayOrder;
                if (paytype == "wx" || paytype == "hwx")
                {
                    _ajv.SetDataItem("PayPackage",
                                     GetWxPayPackage(orderReturn, paytype, openid, GameRequest.GetCurrentFullHost()));
                }
                else if (paytype == "lq")
                {
                    LQPay.LQPayRequest request =
                        new LQPay.LQPayRequest(orderReturn, subtype == "zfb" ? "alipay" : "weixin");
                    _ajv.SetDataItem("PayUrl", HttpUtility.UrlDecode(LQPay.GetPayPackage(request.ToUrl("PayUrl"))));
                }
                _ajv.SetDataItem("OrderID", orderReturn?.OrderID ?? "");
            }
            _ajv.SetValidDataValue(umsg.Success);
            _ajv.code = umsg.MessageID;
            _ajv.msg  = umsg.Content;
            return(_ajv);
        }
예제 #7
0
        private void ProcessData( )
        {
            GameRulesInfo gameRules = new GameRulesInfo( );

            gameRules.KindID   = Convert.ToInt32(ddlKind.SelectedValue.Trim( ));
            gameRules.KindName = ddlKind.SelectedItem.Text;
            string imgUrl = CtrlHelper.GetText(inImgRuleUrl);

            if (string.IsNullOrEmpty(imgUrl))
            {
                ShowError("请上传游戏截图");
                return;
            }
            if (imgUrl.Contains("http://"))
            {
                gameRules.ImgRuleUrl = imgUrl;
            }
            else
            {
                gameRules.ImgRuleUrl = "http://" + GameRequest.GetCurrentFullHost( ) + imgUrl;
            }
            gameRules.HelpIntro = CtrlHelper.GetText(txtHelpIntro);
            gameRules.HelpRule  = CtrlHelper.GetText(txtHelpRule);
            gameRules.HelpGrade = CtrlHelper.GetText(txtHelpGrade);
            gameRules.JoinIntro = Convert.ToByte(rbtnIsJoin.SelectedValue.Trim( ));
            gameRules.Nullity   = Convert.ToByte(rbtnNullity.SelectedValue.Trim( ));

            Message msg = new Message( );

            if (StrCmd == "add")
            {
                //判断权限
                AuthUserOperationPermission(Permission.Delete);
                if (aideNativeWebFacade.JudgeRulesIsExistence(gameRules.KindID))
                {
                    ShowError("该游戏规则已存在");
                    return;
                }
                msg = aideNativeWebFacade.InsertGameRules(gameRules);
            }
            else
            {
                //判断权限
                AuthUserOperationPermission(Permission.Edit);
                if (aideNativeWebFacade.JudgeRulesIsExistence(gameRules.KindID) && gameRules.KindID != IntParam)
                {
                    ShowError("该游戏规则已存在");
                    return;
                }
                msg = aideNativeWebFacade.UpdateGameRules(gameRules, IntParam);
            }

            if (msg.Success)
            {
                if (StrCmd == "add")
                {
                    ShowInfo("规则增加成功", "RulesList.aspx", 1200);
                }
                else
                {
                    ShowInfo("规则修改成功", "RulesList.aspx", 1200);
                }
            }
            else
            {
                ShowError(msg.Content);
            }
        }
예제 #8
0
 public string TestNotifyUrl()
 {
     return
         ($"http://{GameRequest.GetCurrentFullHost()}/Notify/JFTPay.aspx?{UrlParams()}");
 }
예제 #9
0
        /// <summary>
        /// 钻石充值下单
        /// </summary>
        /// <param name="configid"></param>
        /// <param name="paytype"></param>
        /// <param name="openid"></param>
        /// <param name="subtype"></param>
        /// <returns>AjaxJsonValid</returns>
        private static AjaxJsonValid CreatePayOrder(int configid, string paytype, string openid, string subtype)
        {
            //下单信息
            OnLinePayOrder order = new OnLinePayOrder
            {
                UserID       = _userid,
                ConfigID     = configid,
                OrderAddress = GameRequest.GetUserIP()
            };

            switch (paytype)
            {
            case "wx":
                order.ShareID = 101;
                order.OrderID = Fetch.GetOrderIDByPrefix("WXAPP");
                break;

            case "zfb":
                order.ShareID = 201;
                order.OrderID = Fetch.GetOrderIDByPrefix("ZFBAPP");
                break;

            case "hwx":
                order.ShareID = 102;
                order.OrderID = Fetch.GetOrderIDByPrefix("HWX");
                break;

            case "lq":
                order.ShareID = 301;
                order.OrderID = Fetch.GetOrderIDByPrefix("360LQ");
                break;

            case "jft":
                switch (subtype)
                {
                case "wx":
                    order.ShareID = 302;
                    order.OrderID = Fetch.GetOrderIDByPrefix("JFTH5WX");
                    break;

                case "zfb":
                    order.ShareID = 303;
                    order.OrderID = Fetch.GetOrderIDByPrefix("JFTH5ZFB");
                    break;

                default:
                    order.ShareID = 300;
                    order.OrderID = Fetch.GetOrderIDByPrefix("JFT");
                    break;
                }
                break;

            default:
                _ajv.code = (int)ApiCode.VertyParamErrorCode;
                _ajv.msg  = string.Format(EnumHelper.GetDesc(ApiCode.VertyParamErrorCode), " paytype(充值类型) 错误");
                return(_ajv);
            }

            //下单操作
            Message umsg = FacadeManage.aideTreasureFacade.CreatePayOrderInfo(order, _device);

            if (umsg.Success)
            {
                OnLinePayOrder orderReturn = umsg.EntityList[0] as OnLinePayOrder;
                if (paytype == "wx" || paytype == "hwx")
                {
                    _ajv.SetDataItem("PayPackage",
                                     GetWxPayPackage(orderReturn, paytype, openid, GameRequest.GetCurrentFullHost()));
                }
                else if (paytype == "lq")
                {
                    LQPay.LQPayRequest request =
                        new LQPay.LQPayRequest(orderReturn, subtype == "zfb" ? "alipay" : "weixin");
                    _ajv.SetDataItem("PayUrl", HttpUtility.UrlDecode(LQPay.GetPayPackage(request.ToUrl("PayUrl"))));
                }
                else if (paytype == "jft")
                {
                    JFTPay.JFTH5Request request =
                        new JFTPay.JFTH5Request(orderReturn?.OrderID, orderReturn?.Amount.ToString("F2"),
                                                subtype == "zfb" ? "ZFB" : "WX", orderReturn?.GameID.ToString(),
                                                Utility.UserIP.Replace(".", "_"))
                    {
                        p25_terminal = string.IsNullOrEmpty(GameRequest.GetString("terminaltype"))  ? "3"  : GameRequest.GetString("terminaltype")
                    };
                    //需要手机传 IOS:2  Android:3
                    if (AppConfig.Mode == AppConfig.CodeMode.Dev) //测试开发用,正式时请注释掉此段代码
                    {
                        JFTPay.JFTH5Notify notify = new JFTPay.JFTH5Notify(orderReturn);
                        _ajv.SetDataItem("ReturnUrlForTest", notify.TestNotifyUrl());
                    }
                    _ajv.SetDataItem("PayUrl", JFTPay.Config.JFTH5Url);
                    _ajv.SetDataItem("Params", request.UrlParams());
                }
                _ajv.SetDataItem("OrderID", orderReturn?.OrderID ?? "");
            }
            _ajv.SetValidDataValue(umsg.Success);
            _ajv.code = umsg.MessageID;
            _ajv.msg  = umsg.Content;
            return(_ajv);
        }