コード例 #1
0
ファイル: Test.aspx.cs プロジェクト: cool8868/H5Nball
        RstArray GetUserInfo(OpenApiV3 sdk)
        {
            Dictionary <string, string> param = new Dictionary <string, string>();
            string script_name = "/v3/user/get_info";

            return(sdk.Api(script_name, param));
        }
コード例 #2
0
    protected void Page_Load(object sender, EventArgs e)
    {
        int    appid       = 100651351;
        string appkey      = "e358f5d6c4c5cd822419911c13a18e73";
        string server_name = "openapi.tencentyun.com";//"119.147.19.43";
        string openid      = Request.QueryString["openid"];
        string openkey     = Request.QueryString["openkey"];
        string pf          = Request.QueryString["pf"];

        OpenApiV3 sdk = new OpenApiV3(appid, appkey);

        sdk.SetServerName(server_name);
        RstArray result = new RstArray();

        //get_info接口
        result = UserHelper.GetUserInfo(sdk, openid, openkey, pf);

        //测试
        //Response.Write("<br>ret = " + result.Ret + "<br>msg = " + result.Msg);
        //Response.End();

        string      jsonString = result.Msg;
        QQInfoClass qq         = JsonHelper.JsonDeserialize <QQInfoClass>(jsonString);

        string u            = "qz";
        string oId          = openid;
        string aToken       = openkey;
        string userNickName = HttpUtility.UrlEncode(qq.nickname);
        string userImage    = HttpUtility.UrlEncode(qq.figureurl);

        Response.Redirect("OAuth.aspx?u=" + u + "&openId=" + oId + "&accessToken=" + aToken + "&name=" + userNickName + "&image=" + userImage);
    }
コード例 #3
0
ファイル: HomeController.cs プロジェクト: singlag888/NewWeb
        //活动中心
        public ActionResult AppstoreActivity()
        {
            OpenApiV3 sdk = new OpenApiV3(1, "appkey");

            sdk.SetServerName("server_name");
            Dictionary <string, string> param = new Dictionary <string, string>();

            param.Add("openid", Request["openid"]);
            param.Add("openkey", Request["openkey"]);
            param.Add("pf", Request["pf"]);
            param.Add("pfkey", Request["pfkey"]);
            param.Add("ts", DateTime.Now.ToString());
            param.Add("payitem", Request["payitem"]);
            param.Add("goodsmeta", Request["goodsmeta"]);
            param.Add("goodsurl", Request["goodsurl"]);
            param.Add("zoneid", "0");

            param.Add("appmode", "1");//暂时有问题,对比以前查看

            string script_name = "/v3/pay/buy_goods";

            RstArray arr = sdk.Api(script_name, param);

            return(Json(arr));
        }
コード例 #4
0
ファイル: HomeController.cs プロジェクト: singlag888/NewWeb
        public ActionResult Index(Dictionary <string, string> queryvalues)
        {
            bool   firstLogin = false;
            string invkey     = queryvalues.ContainsKey("invkey") ? queryvalues["invkey"].ToString() : "0";
            string iopenid    = queryvalues.ContainsKey("iopenid") ? queryvalues["iopenid"].ToString() : "0";
            string itime      = queryvalues.ContainsKey("itime") ? queryvalues["itime"].ToString() : "0";
            string pfkey      = queryvalues.ContainsKey("pfkey") ? queryvalues["pfkey"].ToString() : "";
            string vertime    = queryvalues.ContainsKey("VERTIME") ? queryvalues["VERTIME"].ToString() : "";
            string via        = queryvalues.ContainsKey("via") ? queryvalues["via"].ToString() : "0";

            if (!string.IsNullOrEmpty(invkey))
            {
                firstLogin = true;
            }
            string openid  = queryvalues.ContainsKey("openid") ? queryvalues["openid"].ToString() : "";
            string openkey = queryvalues.ContainsKey("openkey") ? queryvalues["openkey"].ToString() : "";
            string pf      = queryvalues.ContainsKey("pf") ? queryvalues["pf"].ToString() : "";

            //
            string sessionStr = "";

            OpenApiV3 sdk = new OpenApiV3(1, "appkey");

            sdk.SetServerName("server_name");
            RstArray result = new RstArray();

            return(View());
        }
コード例 #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
ファイル: Test.aspx.cs プロジェクト: cool8868/H5Nball
        RstArray GetWanBaUserInfo(OpenApiV3 sdk, string zoneType)
        {
            //zoneType  1安卓 2ios
            Dictionary <string, string> param = new Dictionary <string, string>();

            param["zoneid"] = zoneType;
            string script_name = "/v3/user/get_playzone_userinfo";

            return(sdk.Api(script_name, param));
        }
コード例 #7
0
ファイル: Test.aspx.cs プロジェクト: cool8868/H5Nball
        RstArray buyPlayzoneItem(OpenApiV3 sdk)
        {
            Dictionary <string, string> param = new Dictionary <string, string>();
            string script_name = "/v3/user/buy_playzone_item";

            param["zoneid"] = "1";
            param["itemid"] = "7863";
            param["count"]  = "1";
            return(sdk.Api(script_name, param));
        }
コード例 #8
0
        public void TestNegativeInfoObject()
        {
            var yamlNode = LoadNode("../../../../fixtures/v3.0/json/general/negative/negativeInfoObject.json");

            var ctx  = new ParsingContext();
            var node = new MapNode(ctx, (YamlMappingNode)yamlNode);
            var info = OpenApiV3.LoadInfo(node);

            Assert.NotNull(info);
            Assert.Equal(2, ctx.ParseErrors.Count);
        }
コード例 #9
0
        public void CreateSchemaFromInlineJsonSchema()
        {
            var jsonSchema = " { \"type\" : \"int\" } ";

            var mapNode = MapNode.Create(jsonSchema);

            var schema = OpenApiV3.LoadSchema(mapNode);

            Assert.NotNull(schema);
            Assert.Equal("int", schema.Type);
        }
コード例 #10
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);
            }
        }
コード例 #11
0
    protected void GetQQImageButton_Click(object sender, EventArgs e)
    {
        if (this.AppID.Text.Trim() == "" || this.AppKey.Text.Trim() == "" || this.OpenIDBox.Text.Trim() == "" || this.AccessTokenBox.Text.Trim() == "")
        {
            this.ResultLabel.Text = "{ empty. }";
            return;
        }

        int    appid       = Convert.ToInt32(this.AppID.Text.Trim());
        string appkey      = this.AppKey.Text.Trim();
        string server_name = "openapi.tencentyun.com";//"119.147.19.43";
        string openid      = this.OpenIDBox.Text.Trim();
        string openkey     = this.AccessTokenBox.Text.Trim();

        OpenApiV3 sdk = new OpenApiV3(appid, appkey);

        sdk.SetServerName(server_name);
        RstArray result = new RstArray();

        //get_info接口
        result = UserHelper.GetUserInfo(sdk, openid, openkey, "qzone");

        //测试
        //Response.Write("<br>ret = " + result.Ret + "<br>msg = " + result.Msg);

        string      jsonString = result.Msg;
        QQInfoClass qq         = JsonHelper.JsonDeserialize <QQInfoClass>(jsonString);

        string    str   = "";
        OAuthInfo oauth = bll.GetOAuthByOpenId(openid);

        if (FixImageBox.Checked && oauth.OAuthID > 0)
        {
            int      userId = oauth.UserID;
            UserInfo user   = user_bll.GetUserByUserId(userId);
            user.UserNickName = qq.nickname;
            user.UserImage    = qq.figureurl;
            //user.ModifyDate = DateTime.Now;

            bool success = user_bll.UpdateUser(user);
            if (success)
            {
                str = "{ " + user.UserImage + " }";
            }
            else
            {
                str = "{ error. }";
            }
        }

        this.ResultLabel.Text = str + "<br><br>" + jsonString;
    }
コード例 #12
0
    RstArray GetUserInfo(OpenApiV3 sdk, string openid, string openkey, string pf)
    {
        Dictionary <string, string> param = new Dictionary <string, string>();

        param.Add("openid", openid);
        param.Add("openkey", openkey);
        param.Add("pf", pf);
        //param.Add("userip", "127.0.0.1");

        string script_name = "/v3/user/get_info";

        return(sdk.Api(script_name, param));
    }
コード例 #13
0
        public void TestMinimalInfoObject()
        {
            var yamlNode = LoadNode("../../../../fixtures/v3.0/json/general/minimalInfoObject.json");

            var ctx  = new ParsingContext();
            var node = new MapNode(ctx, (YamlMappingNode)yamlNode);
            var info = OpenApiV3.LoadInfo(node);

            Assert.NotNull(info);
            Assert.Equal("Swagger Sample App", info.Title);
            Assert.Equal("1.0.1", info.Version);
            Assert.Equal(0, ctx.ParseErrors.Count);
        }
コード例 #14
0
ファイル: HomeController.cs プロジェクト: singlag888/NewWeb
        //获取已安装了应用的好友列表
        public ActionResult GetAppFriends()
        {
            OpenApiV3 sdk = new OpenApiV3(1, "appkey");

            sdk.SetServerName("server_name");
            Dictionary <string, string> param = new Dictionary <string, string>();

            param.Add("openid", Request["openid"]);
            param.Add("openkey", Request["openkey"]);
            param.Add("pf", Request["pf"]);
            string script_name = "/v3/relation/get_app_friends";

            RstArray arr = sdk.Api(script_name, param);

            return(Json(arr));
        }
コード例 #15
0
    protected void GetQQImageButton_Click(object sender, EventArgs e)
    {
        if (this.AppID.Text.Trim() == "" || this.AppKey.Text.Trim() == "" || this.OpenIDBox.Text.Trim() == "" || this.AccessTokenBox.Text.Trim() == "")
        {
            this.ResultLabel.Text = "{ empty. }";
            return;
        }

        int    appid       = Int32.Parse(this.AppID.Text.Trim());
        string appkey      = this.AppKey.Text.Trim();
        string server_name = "openapi.tencentyun.com";//"119.147.19.43";//
        string openid      = this.OpenIDBox.Text.Trim();
        string openkey     = this.AccessTokenBox.Text.Trim();

        OpenApiV3 sdk = new OpenApiV3(appid, appkey);

        sdk.SetServerName(server_name);
        RstArray result = new RstArray();

        result = GetUserInfo(sdk, openid, openkey, "qzone");
        //Response.Write("<br>ret = " + result.Ret + "<br>msg = " + result.Msg);
        string      qqStr = result.Msg;
        QQInfoClass qq    = JsonHelper.JsonDeserialize <QQInfoClass>(qqStr);

        string    userStr = "";
        DataTable dt      = OAuthAccess.GetOAuthByOpenId(openid);

        if (dt.Rows.Count > 0)
        {
            int        userId = Int32.Parse(dt.Rows[0]["UserID"].ToString());
            UserEntity user   = UserAccess.GetUserById(userId);
            user.UserNickName = qq.nickname;
            user.UserImage    = qq.figureurl;
            bool success = UserAccess.UpdateUser(user);
            if (success)
            {
                userStr = "{ " + user.UserImage + " }";
            }
            else
            {
                userStr = "{ error. }";
            }
        }

        this.ResultLabel.Text = userStr + "<br><br>" + qqStr;
    }
コード例 #16
0
ファイル: HomeController.cs プロジェクト: singlag888/NewWeb
        //获取好友资料
        public ActionResult TotalVipInfo()
        {
            OpenApiV3 sdk = new OpenApiV3(1, "appkey");

            sdk.SetServerName("server_name");
            Dictionary <string, string> param = new Dictionary <string, string>();

            param.Add("openid", Request["openid"]);
            param.Add("openkey", Request["openkey"]);
            param.Add("pf", Request["pf"]);

            string script_name = "/v3/user/total_vip_info";

            RstArray arr = sdk.Api(script_name, param);

            return(Json(arr));
        }
コード例 #17
0
ファイル: HomeController.cs プロジェクト: singlag888/NewWeb
        public RstArray verify_invkey(OpenApiV3 sdk, string openid, string openkey, string pf)
        {
            Dictionary <string, string> param = new Dictionary <string, string>();

            param.Add("openid", openid);
            param.Add("openkey", openkey);
            param.Add("pf", pf);
            param.Add("invkey", Request["invkey"]);
            param.Add("itime", Request["itime"]);
            param.Add("iopenid", Request["iopenid"]);

            string script_name = "/v3/spread/verify_invkey";

            RstArray arr = sdk.Api(script_name, param);

            return(arr);
        }
コード例 #18
0
ファイル: HomeController.cs プロジェクト: singlag888/NewWeb
        /**
         * 验证好友邀请的invkey,用于“邀请好友即赠送礼品”等场景。
         *
         * @param object $sdk OpenApiV3 Object
         * @param string $openid openid
         * @param string $openkey openkey
         * @param string $pf 平台
         * @return array 好友资料数组
         */
        public ActionResult VerifyInvkey()
        {
            OpenApiV3 sdk = new OpenApiV3(1, "appkey");

            sdk.SetServerName("server_name");
            Dictionary <string, string> param = new Dictionary <string, string>();

            param.Add("openid", Request["openid"]);
            param.Add("openkey", Request["openkey"]);
            param.Add("pf", Request["pf"]);
            param.Add("invkey", Request["invkey"]);
            param.Add("itime", Request["itime"]);
            param.Add("iopenid", Request["iopenid"]);
            string script_name = "/v3/spread/verify_invkey";

            RstArray arr = sdk.Api(script_name, param);

            return(Json(arr));
        }
コード例 #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);
     }
 }