コード例 #1
0
        /// <summary>
        /// A8选区
        /// </summary>
        /// <param name="zoneCache"></param>
        private void SelectZoneA8(AllZoneinfoEntity zoneCache)
        {
            pf      = GetParam("pf");
            pfUrl   = zoneCache.ChargeUrl.Replace("pf", pf == "" ? "h5_a8" : pf);       //pfurl 是js文件  暂时占用chargeurl字段
            GetHost = Request.Url.AbsoluteUri.Split('?')[0].Replace("/Index.aspx", ""); //前端需要的域名

            openid       = GetParamNOUrlDecode("openid");
            state        = GetParam("state");
            nowTimestamp = GetParam("nowTimestamp");
            sessionId    = GetParam("sessionId");
            sign         = GetParam("sign");
            jsNeed       = GetParam("jsNeed");
            nickName     = GetParam("nickName");
            string qqOpenid    = GetParam("qqopenid");
            string qqOpenkey   = GetParam("qqopenkey");
            string qqPf        = GetParam("qqpf");
            string platform    = GetParam("platform");
            string share       = GetParam("share");
            string shareType   = GetParam("shareType");
            string isSubscribe = GetParam("isSubscribe");

            string isShare = GetParam("isShare");

            openid  = UAHelper.StrToUtf8(openid);
            skipUrl =
                string.Format(
                    "pfurl={0}&pf={1}&isSelectZone=1&nickName={2}&sessionId={3}&jsNeed={4}&state={5}&openid={6}&nowTimestamp={7}&httpRoot={8}&sign={9}&qqopenid={10}&qqopenkey={11}&qqpf={12}&platform={13}&share={14}&shareType={15}&isSubscribe={16}&isShare={17}",
                    pfUrl, pf, nickName, sessionId, jsNeed, state, openid, nowTimestamp, GetHost, sign, qqOpenid,
                    qqOpenkey, qqPf, platform, share, shareType, isSubscribe, isShare);
        }
コード例 #2
0
ファイル: ManagerCommand.cs プロジェクト: cool8868/H5Nball
        private void SelectManager()
        {
            var managerId = GetParamGuid("g");

            if (!CheckParam(managerId))
            {
                return;
            }
            var info = reader.SelectManager(UserAccount.Account, managerId, GetIp(),
                                            UAFactory.Instance.IsTx);
            var sessionId = ShareUtil.GenerateComb().ToString();

            if (info.Code == (int)MessageCode.Success)
            {
                if (CheckLockState(info.Data.Manager.Idx))
                {
                    OutputHelper.Output(MessageCode.LoginOnlineLock);
                    return;
                }

                //写入登录信息
                var cookie = UAHelper.SetFormsAuthentication(UserAccount.Account, info.Data.Manager.Idx,
                                                             info.Data.Manager.Name, 1, sessionId);
                OnlineMgr.LoginSession(info.Data.Manager.Idx, sessionId);
                onlineClient.RiseOnlineTime(info.Data.Manager.Idx);
                info.Data.Cookie = cookie;
            }
            OutputHelper.Output(info);
        }
コード例 #3
0
ファイル: ManagerCommand.cs プロジェクト: cool8868/H5Nball
        private void EgretInfo()
        {
            var token  = GetParam("token");
            var time   = ShareUtil.GetTimeTick(DateTime.Now);
            var appId  = (int)UAEnum.EgretAppId;
            var appkey = AppsettingCache.Instance.GetAppSetting(EnumAppsetting.EgretAppKey);
            var sign   = CryptHelper.GetMD5("token=" + token + "time=" + time + "appId=" + appId + appkey);
            var str    = "token=" + token + "&time=" + time + "&appId=" + appId + "&sign=" + sign;
            var url    = UAFactory.Instance.GetRedirectURL(UAFactory.Instance.FactoryName, "useraction");
            var result = UAHelper.HttpPost(url, str);
            JavaScriptSerializer serializer = new JavaScriptSerializer();
            var r1 = serializer.Deserialize <PostResult>(result);

            if (r1.Code == 0)
            {
                try
                {
                    var r2       = serializer.Deserialize <EgretInfo>(result);
                    var response = new EgretInfoResponse();
                    response.Code = 0;
                    response.Data = r2;
                    OutputHelper.Output(response);
                }
                catch (Exception ex)
                {
                }
            }
            else
            {
                OutputHelper.OutputParameterError();
            }
        }
コード例 #4
0
ファイル: ManagerCommand.cs プロジェクト: cool8868/H5Nball
        private void ManagerInfo()
        {
            if (UserAccount.ManagerId == Guid.Empty) //登录
            {
                var info = reader.GetManagerInfoByAccount(UserAccount.Account, GetIp(),
                                                          UAFactory.Instance.IsTx);

                var sessionId = ShareUtil.GenerateComb().ToString();
                if (info.Code == (int)MessageCode.Success)
                {
                    if (info.Data.NeedSelect == false)
                    {
                        if (info.Data.ManagerInfo == null)
                        {
                            string playerName = "";
                            string logo       = "1";
                            int    templateId = 1;
                            var    createData = reader.CreateManager(UserAccount.Account, playerName, logo, templateId,
                                                                     UAHelper.GetRealIP());
                            if (createData.Code != (int)MessageCode.Success)
                            {
                                info.Code = createData.Code;
                                OutputHelper.Output(info);
                                return;
                            }
                            info = reader.GetManagerInfoByAccount(UserAccount.Account, GetIp(),
                                                                  UAFactory.Instance.IsTx);
                        }

                        if (CheckLockState(info.Data.ManagerInfo.Manager.Idx))
                        {
                            OutputHelper.Output(MessageCode.LoginOnlineLock);
                            return;
                        }

                        //写入登录信息
                        string cookie = UAHelper.SetFormsAuthentication(UserAccount.Account,
                                                                        info.Data.ManagerInfo.Manager.Idx,
                                                                        info.Data.ManagerInfo.Manager.Name, 1, sessionId);
                        OnlineMgr.LoginSession(info.Data.ManagerInfo.Manager.Idx, sessionId);
                        onlineClient.RiseOnlineTime(info.Data.ManagerInfo.Manager.Idx);
                        info.Data.Cookie = cookie;
                    }
                }
                OutputHelper.Output(info);
            }
            else
            {
                if (CheckLockState(UserAccount.ManagerId))
                {
                    OutputHelper.Output(MessageCode.LoginOnlineLock);
                    return;
                }
                var info = reader.GetManagerInfo(UserAccount.ManagerId, UAFactory.Instance.IsTx);
                info.Data.Cookie = "";
                OutputHelper.Output(info);
            }
        }
コード例 #5
0
ファイル: MallCommand.cs プロジェクト: cool8868/H5Nball
        public int BuyPlayzoneItem(string openId, string openKey, string pf, int appId, string appKey, string itemId, string zoneType, ref string orderId, ref int cost)
        {
            try
            {
                OpenApiV3 sdk = new OpenApiV3(openId, openKey, appId, pf, appKey, UAFactory.Instance.OpenUALog);
                sdk.SetUserIp(UAHelper.GetRealIP());
                RstArray result = buyPlayzoneItem(sdk, itemId, zoneType);
                if (result.Ret == 0)
                {
                    var json = JsonConvert.DeserializeObject(result.Msg) as JObject;
                    if (json == null)
                    {
                        return(1);
                    }
                    var code = ConvertHelper.ConvertToInt(JsonUtil.GetJsonValue(json, "code"));  //订单号
                    if (code != 0)
                    {
                        switch (code)
                        {
                        case 1002:     //用户没有登录态
                            return((int)MessageCode.UserNotLogin);

                            break;

                        case 1003:     //账户被冻结
                            return((int)MessageCode.UserFreeze);

                            break;

                        case 1004:     //账户余额不足
                            return((int)MessageCode.TxNotSufficientFunds);

                            break;

                        default:
                            return((int)MessageCode.TxBuyPointFail);

                            break;
                        }
                    }
                    var data = json["data"];
                    if (data == null)
                    {
                        return(1);
                    }
                    orderId = JsonUtil.GetJsonValue(data[0], "billno").ToLower();                 //订单号
                    cost    = ConvertHelper.ConvertToInt(JsonUtil.GetJsonValue(data[0], "cost")); //消耗积分
                }
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("腾讯充", ex);
                return(-1);
            }
            return(0);
        }
コード例 #6
0
ファイル: MallCommand.cs プロジェクト: cool8868/H5Nball
        private string TxBuyItem(MallBuyPoint entity, string qqOpenid, string qqOpenkey, string qqPf, string platform, string itemId)
        {
            var url = AppsettingCache.Instance.GetAppSetting(EnumAppsetting.TxWb_ChargeUrl);//txh5_a8购买url
            //用  |   连接qqOpenid, qqOpenkey, qqPf, platform,nickName5个参数放在公共参数Common里

            var    str  = "";
            double cash = (double)entity.Cash; //金额单位转为  分

            str = "qqopenid=" + qqOpenid + "&qqopenkey=" + qqOpenkey + "&qqpf=" + qqPf + "&platform=" + platform
                  + "&itemid=" + itemId + "&count=" + entity.itemCount + "&gameOrderId=" + entity.OrderId + "&price=" + cash;
            return(UAHelper.HttpPost(url, str));
        }
コード例 #7
0
ファイル: ManagerCommand.cs プロジェクト: cool8868/H5Nball
        public int WbUserInfo(string openId, string openKey, string pf, string platform, int appId, string appKey)
        {
            try
            {
                OpenApiV3 sdk = new OpenApiV3(openId, openKey, appId, pf, appKey, UAFactory.Instance.OpenUALog);
                sdk.SetUserIp(UAHelper.GetRealIP());
                RstArray result = GetUserInfo(sdk);
                if (result.Ret != 0)
                {
                    return(result.Ret);
                }
                var json = JsonConvert.DeserializeObject(result.Msg) as JObject;
                if (json == null)
                {
                    return(1);
                }
                //var nickName = JsonUtil.GetJsonValue(json, "nickname");
                //var logo = JsonUtil.GetJsonValue(json, "figureurl");
                //var extraData = BuildExtraData(openkey, pf, pfkey);
                if (pf == "wanba_ts")
                {
                    var result1 = GetWanBaUserInfo(sdk, "1");
                    if (result1.Ret != 0)
                    {
                        return(result1.Ret);
                    }
                    var json1 = JsonConvert.DeserializeObject(result1.Msg) as JObject;
                    if (json1 == null)
                    {
                        return(1);
                    }
                    var data = json1["data"];
                    if (data == null)
                    {
                        return(1);
                    }

                    var is_vip    = JsonUtil.GetJsonValue(data[0], "is_vip").ToLower(); //是否开通游戏达人
                    var vip_level = JsonUtil.GetJsonValue(data[0], "vip_level");        //达人等级
                    //var score = JsonUtil.GetJsonValue(data[0], "score"); //用户积分
                    //var expiredtime = JsonUtil.GetJsonValue(data[0], "vip_level"); //	达人过期时间
                    TxYellowvipMgr.Add(ShareUtil.GetWanBaVipAccount(openId), is_vip == "true", false, false,
                                       ConvertHelper.ConvertToInt(vip_level), "");
                }
                return(0);
            }
            catch (Exception ex)
            {
                SystemlogMgr.Error("腾讯获取用户", ex);
                return(-1);
            }
        }
コード例 #8
0
ファイル: Test.aspx.cs プロジェクト: cool8868/H5Nball
        private string TxBuyItem(MallBuyPoint entity)
        {
            var url = AppsettingCache.Instance.GetAppSetting(EnumAppsetting.TxWb_ChargeUrl);//txh5_a8购买url
            //用  |   连接qqOpenid, qqOpenkey, qqPf, platform,nickName5个参数放在公共参数Common里
            var strCommon = entity.StrCommon;
            var qqOpenid  = "";
            var qqOpenkey = "";
            var qqPf      = "";
            var platform  = "";

            if (strCommon != null)
            {
                var strlist = strCommon.Split('|');
                if (strlist.Length != 4)
                {
                    return("-1");
                }
                qqOpenid  = strlist[0];
                qqOpenkey = strlist[1];
                qqPf      = strlist[2];
                platform  = strlist[3];
            }
            //拿配置的腾讯itemId
            var itemstr = AppsettingCache.Instance.GetAppSetting((EnumAppsetting)entity.ItemCode);
            var itemId  = "";
            var i       = itemstr.Split('|');

            try
            {
                if (platform.IndexOf("and") == -1)
                {
                    itemId = i[1];
                }
                else
                {
                    itemId = i[0];
                }
            }
            catch (Exception ex)
            {
            }

            var    str  = "";
            double cash = (double)entity.Cash;//金额单位转为  分

            str = "qqopenid=" + qqOpenid + "&qqopenkey=" + qqOpenkey + "&qqpf=" + qqPf + "&platform=" + platform
                  + "&itemid=" + itemId + "&count=" + entity.itemCount + "&gameOrderId=" + entity.OrderId + "&price=" + cash;
            return(UAHelper.HttpPost(url, str));
        }
コード例 #9
0
ファイル: Test.aspx.cs プロジェクト: cool8868/H5Nball
 protected void btnTimetick_Click(object sender, EventArgs e)
 {
     try
     {
         var currentTime = UAHelper.ConvertDateTimeFromUnix(Convert.ToDouble(txtTimetick.Text));
         lblTimetick.Text   = currentTime.ToString("yyyy-MM-dd HH:mm:ss.fff");
         lblTimeServer.Text =
             UAHelper.ConvertDateTimeFromUnix(Convert.ToDouble(txtTimeServer.Text))
             .ToString("yyyy-MM-dd HH:mm:ss.fff");
     }
     catch (Exception ex)
     {
         lblTimetick.Text = ex.Message;
     }
 }
コード例 #10
0
ファイル: WebForm1.aspx.cs プロジェクト: cool8868/H5Nball
        private void Testt2()
        {
            var qqOpenid  = "B04DBBF689C75926C62D687B27C61F98";
            var qqOpenkey = "C985F772E2B10317DADCE0E83A8EED89";
            var qqPf      = "wanba_ts";
            var platform  = "ios";
            var url       = AppsettingCache.Instance.GetAppSetting(EnumAppsetting.TxWb_FindVipUrl); //txh5_a8查询达人接口
            var str       = "";

            str = "qqopenid=" + qqOpenid + "&qqopenkey=" + qqOpenkey + "&qqpf=" + qqPf + "&platform=" + platform;
            var result = UAHelper.HttpPost(url, str);

            //{'ret':'success', 'code':'0', 'message':'', 'data': {"is_vip":"1", "vip_level": "8", "score": "1000", "expiredtime": "1407312182"}}
            if (!string.IsNullOrEmpty(result))
            {
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                try
                {
                    var json = serializer.Deserialize <TxVipJsonResult>(result);


                    if (json != null)
                    {
                        var ret = json.ret;
                        if (string.IsNullOrEmpty(ret) || ret == "fail")
                        {
                            return;
                        }
                        else if (ret == "success")
                        {
                            var json2 = serializer.Deserialize <InnerData>(json.data);

                            bool flag     = json2.is_vip.ToLower() == "true";
                            int  vipLevel = (int)ConvertHelper.ConvertToDouble(json2.vip_level);
                            var  str1     = json2.score + "|" + json2.expiredtime;
                            var  f        = flag;
                        }
                    }
                }
                catch (Exception ex)
                {
                    Response.Write("{\"ret\":\"fail\",\"msg\":\"" + ex.Message + "}");
                }
            }
        }
コード例 #11
0
ファイル: MallCommand.cs プロジェクト: cool8868/H5Nball
        private void SetVipInfo(string openid, string qqOpenid, string qqOpenkey, string qqPf, string platform, ref int score, ref bool flag)
        {
            var url = AppsettingCache.Instance.GetAppSetting(EnumAppsetting.TxWb_FindVipUrl); //txh5_a8查询达人接口
            var str = "";

            str = "qqopenid=" + qqOpenid + "&qqopenkey=" + qqOpenkey + "&qqpf=" + qqPf + "&platform=" + platform;
            var result = UAHelper.HttpPost(url, str);

            //{'ret':'success', 'code':'0', 'message':'', 'data': {"is_vip":"1", "vip_level": "8", "score": "1000", "expiredtime": "1407312182"}}
            if (!string.IsNullOrEmpty(result))
            {
                JavaScriptSerializer serializer = new JavaScriptSerializer();
                try
                {
                    var json = serializer.Deserialize <TxVipJsonResult>(result);


                    if (json != null)
                    {
                        var ret = json.ret;
                        if (string.IsNullOrEmpty(ret) || ret == "fail")
                        {
                            return;
                        }
                        else if (ret == "success")
                        {
                            var json2 = serializer.Deserialize <InnerData>(json.data);

                            flag = json2.is_vip.ToLower() == "true";
                            int vipLevel = (int)ConvertHelper.ConvertToDouble(json2.vip_level);
                            score = ConvertHelper.ConvertToInt(json2.score);

                            var str1 = json2.score + "|" + json2.expiredtime;
                            TxYellowvipMgr.Add(openid, flag, false, false, vipLevel, str1, null,
                                               "" + ShareUtil.ZoneName);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Response.Write("{\"ret\":\"fail\",\"msg\":\"" + ex.Message + "}");
                }
            }
        }
コード例 #12
0
ファイル: Test.aspx.cs プロジェクト: cool8868/H5Nball
        private void LoginResponse(string str, string pf, bool isRediect)
        {
            switch (str)
            {
            case UAErrorCode.ErrDataOP:
                UAHelper.WriteLog("ret", "参数不正确");
                Response.Write("{\"ret\":\"fail\",\"msg\":\"参数不正确\"}");
                break;

            case UAErrorCode.ErrOther:
                Response.Write("{\"ret\":\"fail\",\"msg\":\"其他\"}");
                break;

            case UAErrorCode.ErrTimeout:
                Response.Write("{\"ret\":\"fail\",\"msg\":\"链接超时\"}");
                break;

            case UAErrorCode.ErrPlatform:
                Response.Write("{\"ret\":\"fail\",\"msg\":\"pf错误}");
                break;

            case UAErrorCode.ErrCheckSign:
                Response.Write("{\"ret\":\"fail\",\"msg\":\"sign错误\"}");
                break;

            case UAErrorCode.ErrNoUser:
                Response.Write("{\"ret\":\"fail\",\"msg\":\"读取错误\"}");
                break;

            case UAErrorCode.ErrException:
                Response.Write("{\"ret\":\"fail\",\"msg\":\"throw\"}");
                break;

            case UAErrorCode.ErrOK:
                Response.Write("{\"ret\":\"success\",\"msg\":\"ok\"}");
                break;
            }
            if (isRediect)
            {
                HttpContext.Current.Response.Redirect("Index.aspx?pf=" + pf + "&ck=" +
                                                      Response.Cookies[FormsAuthentication.FormsCookieName].Value);
            }
            Response.End();
        }
コード例 #13
0
ファイル: Test.aspx.cs プロジェクト: cool8868/H5Nball
        private bool SetVipInfo(string openid, string qqOpenid, string qqOpenkey, string qqPf, string platform)
        {
            var url = AppsettingCache.Instance.GetAppSetting(EnumAppsetting.TxWb_ChargeUrl);//txh5_a8查询达人接口
            var str = "";

            str = "qqopenid=" + qqOpenid + "qqopenkey=" + qqOpenkey + "qqpf=" + qqPf + "platform=" + platform;
            var result = UAHelper.HttpPost(url, str);

            //{'ret':'success', 'code':'0', 'message':'', 'data': {"is_vip":"1", "vip_level": "8", "score": "1000", "expiredtime": "1407312182"}}
            if (!string.IsNullOrEmpty(result))
            {
                JavaScriptSerializer serializer = new JavaScriptSerializer();


                var json = serializer.Deserialize <TxVipJsonResult2>(result);


                if (json != null)
                {
                    try
                    {
                        var ret = json.ret;
                        if (string.IsNullOrEmpty(ret) || ret == "fail")
                        {
                            return(false);
                        }
                        else if (ret == "success")
                        {
                            bool flag     = json.is_vip == "1";
                            int  vipLevel = Convert.ToInt32(json.vip_level);
                            var  str1     = json.score + "|" + json.expiredtime;
                            return(TxYellowvipMgr.Add(openid, flag, false, false, vipLevel, str1, null,
                                                      "" + ShareUtil.ZoneId));
                        }
                    }
                    catch (Exception ex)
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
コード例 #14
0
ファイル: Test.aspx.cs プロジェクト: cool8868/H5Nball
        private string LoginCheck(string openid, string state, string serverId, string nowTimestamp, string pf,
                                  string sessionId, string sign, string jsNeed, string nickName)
        {
            if (string.IsNullOrEmpty(openid) ||
                string.IsNullOrEmpty(state) ||
                string.IsNullOrEmpty(serverId) ||
                string.IsNullOrEmpty(nowTimestamp) ||
                string.IsNullOrEmpty(pf) ||
                string.IsNullOrEmpty(sessionId) ||
                string.IsNullOrEmpty(sign))
            {
                UAHelper.WriteLog("ret", "参数为空");
                return(UAErrorCode.ErrDataOP);
            }

            if (nowTimestamp.IndexOf(' ') >= 0)
            {
                var times = nowTimestamp.Split(' ');
                if (times.Length > 0)
                {
                    nowTimestamp = times[0];
                }
            }
            var channelAliasEntity = UAFactory.Instance.GetPlatform("" + A8csdkEnum.txh5_a8); //枚举参数修改腾讯key

            //md5(openid+state+serverId+nowTimestamp+pf+sessionId+nickName+md5Key).tolowcase()
            string cryptKey     = channelAliasEntity.LoginKey;
            string signParam    = "";
            string signserverId = "default";

            //if (string.IsNullOrEmpty(nickName))
            signParam =
                CryptHelper.GetMD5(openid + state + signserverId + nowTimestamp + pf + sessionId + cryptKey)
                .ToLower();
            //else
            //    signParam =
            //        CryptHelper.GetMD5(openid + state + signserverId + nowTimestamp + pf + sessionId + nickName +
            //                           cryptKey).ToLower();

            return("0");
        }
コード例 #15
0
ファイル: ManagerCommand.cs プロジェクト: cool8868/H5Nball
        private void Register()
        {
            string playerName = GetParam("name");
            string logo       = GetParam("logo");
            int    templateId = 1; // GetParamInt("ti");

            if (string.IsNullOrEmpty(playerName))
            {
                OutputHelper.Output(MessageCode.RegisterNameIsEmpty);
                return;
            }

            var createData = reader.CreateManager(UserAccount.Account, playerName, logo, templateId,
                                                  UAHelper.GetRealIP());

            if (createData.Code == (int)MessageCode.Success)
            {
                var sessionId = ShareUtil.GenerateComb().ToString();
                var cookie    = UAHelper.SetFormsAuthentication(UserAccount.Account, createData.Data, playerName, 1, sessionId);
                OnlineMgr.LoginSession(createData.Data, sessionId);
                onlineClient.RiseOnlineTime(createData.Data);
            }
            OutputHelper.Output(createData);
        }
コード例 #16
0
ファイル: ManagerCommand.cs プロジェクト: cool8868/H5Nball
        private bool doLoginNew(ref string cookie)
        {
            try
            {
                TxLogininfoEntity tLoginInfo = null;
                var platformId = GetParam("platform");
                var userName   = GetParam("openid");
                if (ShareUtil.IsQunHei)
                {
                    userName = GetParam("username");
                }
                //if (userName.Length>0 && userName.Contains("h5_zhiqu"))
                //    return false;
                var user = NbUserMgr.GetByAccount(userName, GetIp(), DateTime.Today.AddDays(-1),
                                                  DateTime.Today, 0);
                var sessionId = ShareUtil.GenerateComb().ToString();
                if (user != null)
                {
                    UserAccountEntity userAccountEntity = new UserAccountEntity(user.Account, Guid.Empty, "", 1,
                                                                                platformId, sessionId);
                    userAccountEntity.ExtraData = "d|pengyou|f";


                    var info = reader.GetManagerInfoByAccount(userAccountEntity.Account, GetIp(),
                                                              UAFactory.Instance.IsTx);
                    if (info.Code == (int)MessageCode.Success)
                    {
                        if (info.Data.NeedSelect == false)
                        {
                            if (ShareUtil.IsTx)
                            {
                                string openKey = GetParam("openkey");
                                string pf      = GetParam("pf");
                                if (string.IsNullOrEmpty(pf))
                                {
                                    pf = "wanba_ts";
                                }
                                string platform = GetParam("platform");
                                //userip
                                //sig
                                int    appId  = UAFactory.Instance.TxAppId;
                                string appKey = UAFactory.Instance.TxAppKey;
                                var    result = WbUserInfo(userName, openKey, pf, platform, appId, appKey);
                                if (result != 0)
                                {
                                    OutputHelper.Output(result);
                                }
                                tLoginInfo = new TxLogininfoEntity(userName, openKey, pf, platform, "",
                                                                   "", DateTime.Now, DateTime.Now);
                            }
                            if (info.Data.ManagerInfo == null)
                            {
                                string playerName = "";
                                string logo       = "1";
                                int    templateId = 1;
                                var    createData = reader.CreateManager(UserAccount.Account, playerName, logo, templateId,
                                                                         UAHelper.GetRealIP());
                                if (createData.Code != (int)MessageCode.Success)
                                {
                                    info.Code = createData.Code;
                                    OutputHelper.Output(info);
                                }
                                info = reader.GetManagerInfoByAccount(UserAccount.Account, GetIp(),
                                                                      UAFactory.Instance.IsTx);;
                            }
                            try
                            {
                                if (ShareUtil.IsH5A8)
                                {
                                    UA_A8.UserAction("entergame", info.Data.ManagerInfo.Manager.Account, "", "",
                                                     info.Data.ManagerInfo.Manager);
                                }
                            }
                            catch (Exception)
                            {
                            }
                            if (CheckLockState(info.Data.ManagerInfo.Manager.Idx))
                            {
                                OutputHelper.Output(MessageCode.LoginOnlineLock);
                            }
                            //写入登录信息
                            cookie = UAHelper.SetFormsAuthentication(userAccountEntity.Account,
                                                                     info.Data.ManagerInfo.Manager.Idx,
                                                                     info.Data.ManagerInfo.Manager.Name, 1, sessionId);
                            OnlineMgr.LoginSession(info.Data.ManagerInfo.Manager.Idx, sessionId);
                            onlineClient.RiseOnlineTime(info.Data.ManagerInfo.Manager.Idx);
                            info.Data.Cookie = cookie;
                            Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, cookie));
                            var isSubscribe = GetParamBool("isSubscribe");
                            if (isSubscribe)//关注
                            {
                                activityClient.DoShare(info.Data.ManagerInfo.Manager.Idx, 4);
                            }
                            if (ShareUtil.IsTx)
                            {
                                TxLogininfoMgr.InsertUpdate(tLoginInfo);
                            }
                            return(true);
                        }
                        return(true);
                    }
                    else
                    {
                        FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, user.Account,
                                                                                         DateTime.Now,
                                                                                         DateTime.Now.AddDays(10),
                                                                                         false, userAccountEntity.ToString(),
                                                                                         FormsAuthentication
                                                                                         .FormsCookiePath);
                        cookie = FormsAuthentication.Encrypt(ticket);
                        Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, cookie));
                        return(false);
                    }
                }
                return(false);
            }
            catch (Exception ex)
            {
                cookie = ex.ToString();
                return(true);
            }
        }
コード例 #17
0
ファイル: Test.aspx.cs プロジェクト: cool8868/H5Nball
        private void TestMall()
        {
            int mallcode = 70108;
            var reader   = new MallClient();
            var resp     = reader.BuyPoint(new Guid("418A8F6F-7868-4A8D-A008-A62600E5BF1E"), mallcode);

            if (resp.Code == (int)MessageCode.Success)
            {
                try
                {
                    var  pf   = UAFactory.Instance.GetPlatform("txh5_a8");
                    bool flag = false;
                    if (pf.Idx == 1005)
                    {
                        flag = true;
                    }
                    //以下a8传参

                    var    url          = UAFactory.Instance.GetRedirectURL(UAFactory.Instance.FactoryName, "charge");
                    var    chargeKey    = pf.ChargeKey;
                    var    channelAlias = resp.Data.ChannelAlias;
                    var    zone         = UAFactory.Instance.GetZoneByZoneName("a8s3");
                    string serverId     = "";
                    string serverName   = "";
                    if (zone != null)
                    {
                        serverId   = zone.PlatformZoneName;
                        serverName = zone.Name;
                    }
                    var ext = resp.Data.Ext;
                    resp.Data.AccountId  = resp.Data.DateEntity.Account;
                    resp.Data.ServerId   = serverId;
                    resp.Data.ServerName = serverName;
                    var str = "appKey=" + chargeKey + "&gameOrderId=" + resp.Data.OrderId + "&price=" +
                              resp.Data.Cash + "&" +
                              "goodsName=" + resp.Data.ItemName + "&" +
                              "goodsId=" + resp.Data.ItemCode + "&title=" + resp.Data.ItemName + "&csdkId=" +
                              (int)A8csdkEnum.csdkId + "&" +
                              "channelAlias=" + channelAlias + "&subChannel=&serverId=" + serverId + "&" +
                              "serverName=" + serverName + "&roleId=" + resp.Data.DateEntity.Account + "&roleName=" +
                              resp.Data.DateEntity.Name + "&" +
                              "roleLevel=" + resp.Data.DateEntity.Level + "&sessionId=" + resp.Data.SessionId +
                              "&model=&release=&deviceId=" + resp.Data.IP + "&ext=" + ext +
                              "&uid=" + resp.Data.DateEntity.Account;
                    if (string.IsNullOrEmpty(str))
                    {
                        resp.Code = (int)MessageCode.BuyPointFail;
                    }
                    else
                    {
                        var result = UAHelper.HttpPost(url, str);
                        if (result.Length > 0)
                        {
                            JavaScriptSerializer serializer = new JavaScriptSerializer();
                            var json = serializer.Deserialize <JsonResult>(result);
                            if (json != null)
                            {
                                var ret = json.ret;
                                if (string.IsNullOrEmpty(ret))
                                {
                                    resp.Code = (int)MessageCode.BuyPointFail;
                                }
                                else if (ret == "fail")
                                {
                                    resp.Code = (int)MessageCode.BuyPointFail;
                                }
                                else if (ret == "success")
                                {
                                    resp.PR   = json.payURL;
                                    resp.Code = (int)MessageCode.Success;
                                    var resultTx = "";
                                    if (flag) //是否腾讯玩吧接口
                                    {
                                        resultTx  = TxBuyItem(resp.Data);
                                        resp.Code = IsSuccess(resultTx);
                                    }
                                }
                            }
                            else
                            {
                                resp.Code = (int)MessageCode.BuyPointFail;
                            }
                        }
                        else
                        {
                            resp.Code = (int)MessageCode.BuyPointFail;
                        }
                    }
                }
                catch (Exception ex)
                {
                    SystemlogMgr.Error("下单", ex);
                    resp.Code = (int)MessageCode.BuyPointFail;
                }
            }
            OutputHelper.Output(resp);
        }
コード例 #18
0
ファイル: ManagerCommand.cs プロジェクト: cool8868/H5Nball
        private bool doLogin(ref string cookie)
        {
            try
            {
                var platformId = GetParam("platform");
                var userName   = GetParamNOUrlDecode("username");
                //if (userName.Length > 0 && userName.Contains("h5_zhiqu"))
                //    return false;
                var user = NbUserMgr.GetByAccount(userName, GetIp(), DateTime.Today.AddDays(-1),
                                                  DateTime.Today, 0);
                var sessionId = ShareUtil.GenerateComb().ToString();
                if (user != null)
                {
                    UserAccountEntity userAccountEntity = new UserAccountEntity(user.Account, Guid.Empty, "", 1,
                                                                                platformId, sessionId);
                    userAccountEntity.ExtraData = "d|pengyou|f";


                    var info = reader.GetManagerInfoByAccount(userAccountEntity.Account, GetIp(),
                                                              UAFactory.Instance.IsTx);
                    if (info.Code == (int)MessageCode.Success)
                    {
                        if (info.Data.NeedSelect == false)
                        {
                            if (info.Data.ManagerInfo == null)
                            {
                                string playerName = "";
                                string logo       = "1";
                                int    templateId = 1;
                                var    createData = reader.CreateManager(UserAccount.Account, playerName, logo, templateId,
                                                                         UAHelper.GetRealIP());
                                if (createData.Code != (int)MessageCode.Success)
                                {
                                    info.Code = createData.Code;
                                    OutputHelper.Output(info);
                                }
                                info = reader.GetManagerInfoByAccount(UserAccount.Account, GetIp(),
                                                                      UAFactory.Instance.IsTx);;
                            }

                            if (CheckLockState(info.Data.ManagerInfo.Manager.Idx))
                            {
                                OutputHelper.Output(MessageCode.LoginOnlineLock);
                            }
                            //写入登录信息
                            cookie = UAHelper.SetFormsAuthentication(userAccountEntity.Account,
                                                                     info.Data.ManagerInfo.Manager.Idx,
                                                                     info.Data.ManagerInfo.Manager.Name, 1, sessionId);
                            OnlineMgr.LoginSession(info.Data.ManagerInfo.Manager.Idx, sessionId);
                            onlineClient.RiseOnlineTime(info.Data.ManagerInfo.Manager.Idx);
                            info.Data.Cookie = cookie;
                            Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, cookie));

                            return(true);
                        }
                        return(true);
                    }
                    else
                    {
                        FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, user.Account,
                                                                                         DateTime.Now,
                                                                                         DateTime.Now.AddDays(10),
                                                                                         false, userAccountEntity.ToString(),
                                                                                         FormsAuthentication
                                                                                         .FormsCookiePath);
                        cookie = FormsAuthentication.Encrypt(ticket);
                        Response.Cookies.Add(new HttpCookie(FormsAuthentication.FormsCookieName, cookie));
                        return(false);
                    }
                }
                return(false);
            }
            catch (Exception ex)
            {
                cookie = ex.ToString();
                return(true);
            }
        }
コード例 #19
0
ファイル: Test.aspx.cs プロジェクト: cool8868/H5Nball
 public int WbUserInfo()
 {
     try
     {
         string openId  = "3C12344A556DADF34634CEFB80B05D7D";
         string openKey = "2DC6A89C97E6AAFA9F74C03E15D0CEFA";
         string pf      = "qzone";
         //format
         //userip
         //sig
         //UAFactory
         int       appId      = 1105806369;
         string    appKey     = "uOFRHYPj69tRtk3i";
         string    serverName = "v3/user/buy_playzone_item";
         OpenApiV3 sdk        = new OpenApiV3(openId, openKey, appId, pf, appKey, UAFactory.Instance.OpenUALog);
         sdk.SetUserIp(UAHelper.GetRealIP());
         RstArray result = buyPlayzoneItem(sdk);
         if (result.Ret != 0)
         {
             return(result.Ret);
         }
         var json = JsonConvert.DeserializeObject(result.Msg) as JObject;
         if (json == null)
         {
             return(1);
         }
         var nickName = JsonUtil.GetJsonValue(json, "nickname");
         var logo     = JsonUtil.GetJsonValue(json, "figureurl");
         //var extraData = BuildExtraData(openkey, pf, pfkey);
         if (pf == "wanba")
         {
             var result1 = GetWanBaUserInfo(sdk, "1");
             if (result1.Ret != 0)
             {
                 return(result1.Ret);
             }
             var json1 = JsonConvert.DeserializeObject(result1.Msg) as JObject;
             if (json1 == null)
             {
                 return(1);
             }
             var data = json1["data"];
             if (data == null)
             {
                 return(1);
             }
             var is_vip      = JsonUtil.GetJsonValue(data[0], "is_vip");    //是否开通游戏达人
             var vip_level   = JsonUtil.GetJsonValue(data[0], "vip_level"); //达人等级
             var score       = JsonUtil.GetJsonValue(data[0], "score");     //用户积分
             var expiredtime = JsonUtil.GetJsonValue(data[0], "vip_level"); //	达人过期时间
             TxYellowvipMgr.Add(ShareUtil.GetWanBaVipAccount(openId), is_vip == "true", false, false,
                                ConvertHelper.ConvertToInt(vip_level), "");
         }
         return(0);
     }
     catch (Exception ex)
     {
         SystemlogMgr.Error("腾讯获取用户", ex);
         return(-1);
     }
 }
コード例 #20
0
ファイル: MallCommand.cs プロジェクト: cool8868/H5Nball
        private void BuyPoint()
        {
            var teststr  = "11111";
            int mallcode = GetParamInt("mallcode");
            var resp     = reader.BuyPoint(UserAccount.ManagerId, mallcode);

            if (resp.Code == (int)MessageCode.Success && (ShareUtil.IsH5A8 || ShareUtil.IsTx))
            {
                try
                {
                    var pf   = UAFactory.Instance.GetPlatform(UAFactory.Instance.FactoryName);
                    var zone = UAFactory.Instance.GetZoneByZoneName(UAFactory.Instance.ZoneName);

                    //以下a8传参
                    var    itemId       = "";
                    var    url          = UAFactory.Instance.GetRedirectURL(UAFactory.Instance.FactoryName, "charge");
                    var    chargeKey    = pf.ChargeKey;
                    var    channelAlias = resp.Data.ChannelAlias;
                    string serverId     = "";
                    string serverName   = "";
                    var    qqOpenid     = "";
                    var    qqOpenkey    = "";
                    var    qqPf         = "";
                    var    platform     = "";
                    bool   isvip        = false;
                    if (zone != null)
                    {
                        serverId   = zone.PlatformZoneName;
                        serverName = zone.Name;
                    }
                    var ext     = resp.Data.Ext;
                    var openId3 = UserAccount.Account;
                    var oId     = UAHelper.StrToUtf8(openId3);
                    resp.Data.AccountId  = oId;
                    resp.Data.ServerId   = serverId;
                    resp.Data.ServerName = serverName;
                    resp.Data.IsJump     = false;
                    var score   = 0;
                    var zoneidd = "";
                    var appId   = AppsettingCache.Instance.GetAppSetting(EnumAppsetting.TxWb_AppId);
                    if (ShareUtil.IsTx)
                    {
                        var strCommon = resp.Data.StrCommon;

                        if (strCommon != null)
                        {
                            var strlist = strCommon.Split('|');

                            qqOpenid  = strlist[0];
                            qqOpenkey = strlist[1];
                            qqPf      = strlist[2];
                            platform  = strlist[3];
                        }
                        itemId = GetTxItemId(resp.Data.ItemCode, platform, ref zoneidd);
                    }
                    else
                    {
                        itemId = "" + resp.Data.ItemCode;
                    }

                    var str = "appKey=" + chargeKey + "&gameOrderId=" + resp.Data.OrderId + "&price=" +
                              resp.Data.Cash + "&" +
                              "goodsName=" + resp.Data.ItemName + "&" +
                              "goodsId=" + itemId + "&title=" + resp.Data.ItemName + "&csdkId=" +
                              (int)A8csdkEnum.csdkId + "&" +
                              "channelAlias=" + channelAlias + "&subChannel=&serverId=" + serverId + "&" +
                              "serverName=" + serverName + "&roleId=" + UserAccount.ManagerId + "&roleName=" +
                              resp.Data.DateEntity.Name + "&" +
                              "roleLevel=" + resp.Data.DateEntity.Level + "&sessionId=" + resp.Data.SessionId +
                              "&model=&release=&deviceId=" + resp.Data.IP + "&ext=" + ext +
                              "&uid=" + oId;

                    var result = UAHelper.HttpPost(url, str);
                    if (result.Length > 0)
                    {
                        JavaScriptSerializer serializer = new JavaScriptSerializer();
                        var json = serializer.Deserialize <JsonResult>(result);
                        if (json != null)
                        {
                            var ret = json.ret;
                            if (string.IsNullOrEmpty(ret))
                            {
                                resp.Code = (int)MessageCode.BuyPointFail;
                            }
                            else if (ret == "fail")
                            {
                                resp.Code = (int)MessageCode.BuyPointFail;
                            }
                            else if (ret == "success")
                            {
                                resp.PR   = json.payURL;
                                resp.Code = (int)MessageCode.Success;
                                var resultTx = "";
                                if (ShareUtil.IsTx)    //是否腾讯玩吧接口
                                {
                                    resultTx  = TxBuyItem(resp.Data, qqOpenid, qqOpenkey, qqPf, platform, itemId);
                                    resp.Code = IsSuccess(resultTx);
                                    SetVipInfo(UserAccount.Account, qqOpenid, qqOpenkey, qqPf, platform, ref score, ref isvip);
                                }
                                if (resp.Code == (int)MessageCode.NotSufficientFunds)
                                {
                                    var cash = resp.Data.Cash;
                                    resp.Data.IsJump  = true;
                                    resp.Data.Is_vip  = isvip;
                                    resp.Data.OpenId  = qqOpenid;
                                    resp.Data.OpenKey = qqOpenkey;
                                    resp.Data.Score   = score;
                                    if (isvip)
                                    {
                                        resp.Data.DefaultScore = "" + (double)cash * 0.8 / 10;  //价格单位  由分  改成1:10的 星星(达人传8折)
                                    }
                                    else
                                    {
                                        resp.Data.DefaultScore = "" + (double)cash / 10;    //价格单位  由分  改成1:10的 星星
                                    }
                                    resp.Data.AppId  = appId;
                                    resp.Data.ZoneId = zoneidd;
                                    resp.Code        = (int)MessageCode.Success;
                                }
                            }
                        }
                        else
                        {
                            resp.Code = (int)MessageCode.BuyPointFail;
                        }
                    }
                    else
                    {
                        resp.Code = (int)MessageCode.BuyPointFail;
                    }
                }
                catch (Exception ex)
                {
                    SystemlogMgr.Error("下单", ex);
                    resp.Code = (int)MessageCode.BuyPointFail;
                }
            }
            //小熊接口没有serverId字段
            if (ShareUtil.IsBear)
            {
                var s = resp.Data.ServerId;
                var o = resp.Data.OrderId;
                resp.Data.Ext = o + "|" + s;
            }
            if (ShareUtil.IsQunHei)
            {
                var pf = UAFactory.Instance.GetPlatform(UAFactory.Instance.FactoryName);
                resp.PR = pf.ChargeUrl;
            }
            OutputHelper.Output(resp);
        }