Пример #1
0
    /// <summary>
    /// 获取user信息  UserId  user_ticket  jsondata.ContainsKey("user_ticket")
    /// </summary>
    /// <param name="code"></param>
    /// <returns>jsondata["UserId"],jsondata.ContainsKey("user_ticket")</returns>
    public static JsonData GetUserInfo(string code)
    {
        string access_token = GetEntAccessToken();
        string url          = "https://qyapi.weixin.qq.com/cgi-bin/user/getuserinfo?access_token=" + access_token + "&code=" + code;
        string returnString = Utility.HttpHelper.SendGet(url);

        LitJson.JsonData jd          = LitJson.JsonMapper.ToObject(returnString);
        string           account     = jd.ContainsKey("UserId") ? jd["UserId"].ToString() : "";
        string           user_ticket = jd.ContainsKey("user_ticket") ? jd["user_ticket"].ToString() : "";

        return(jd);
    }
Пример #2
0
    /// <summary>
    /// 获取企业的AccessToken
    /// </summary>
    /// <returns></returns>
    public static string GetEntAccessToken()
    {
        //取数据库存储过程的AccessToken
        //DataTable dt1 = SQLHelper.reDs("select * from [mes].[dbo].[WXAccount] where 1=1").Tables[0];
        //string s1_AccessToken = dt1.Rows[0]["AccessToken"].ToString().Trim();//企业的AccessToken
        //return s1_AccessToken;
        string access_token = "";

        if (CacheHelper.GetCache("access_token") == null)
        {
            string           url   = string.Format("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}", CorpID, OrganizeSecret);
            string           token = Utility.HttpHelper.SendGet(url);//token:{"access_token":"f3E6RsDRp1cj74QOgsVtqZN8IkmSD4zaNVkapLqKUQYQQZUmgCE1Czkv3dkqy4CHkn_tX3gBdfSO7OsZ7URQEFt1IxPWK4TCAalshzQTMxDyEr0O4RNRu8olQrSpGA6V4IPmv9ZVoHFBVjFcjuPUKC4hmtPZWoRn_FRwLks6HS2D61JCRGgeq9xAKtmpq8rB6p4jtYrbvOuCPKT_gC36qA","expires_in":7200}
            LitJson.JsonData jd    = LitJson.JsonMapper.ToObject(token);


            if (jd.ContainsKey("access_token"))
            {
                //Response.Write("access_token:、、、、、、" + jd["access_token"].ToString());
                access_token = jd["access_token"].ToString();
                CacheHelper.SetCache("access_token", access_token, DateTime.Now.AddMinutes(60), Cache.NoSlidingExpiration);
            }
            Common.LogHelper.Write("get access_token from " + url + " access_token:" + access_token);
        }
        else
        {
            access_token = CacheHelper.GetCache("access_token").ToString();
            Common.LogHelper.Write("use access_token cached ");
        }


        return(access_token);
    }
Пример #3
0
        private void PredicatePreloadingAssets(LitJson.JsonData jsonNode, Dictionary <string, int> preload)
        {
            if (jsonNode == null || jsonNode.GetJsonType() == JsonType.None)
            {
                return;
            }

            if (jsonNode.ContainsKey(SerializationConst.components))
            {
                var componentsJson  = jsonNode[SerializationConst.components];
                int componentsCount = componentsJson.Count;
                for (int i = 0; i < componentsCount; i++)
                {
                    var componentJson = componentsJson[i];
                    if ((string)componentJson[SerializationConst.type] == typeof(Part).Name)
                    {
                        if (!componentJson.ContainsKey(SerializationConst.userDatas))
                        {
                            throw new Exception(componentJson.ToJson());
                        }
                        if (!componentJson[SerializationConst.userDatas].ContainsKey(SerializationConst.address))
                        {
                            throw new Exception(componentJson.ToJson());
                        }
                        string partAddress = (string)componentJson[SerializationConst.userDatas][SerializationConst.address];
                        preload[partAddress] = preload.FindOrAdd(partAddress) + 1;
                    }
                }
            }

            if (jsonNode.ContainsKey(SerializationConst.children))
            {
                var childrenJson  = jsonNode[SerializationConst.children];
                int childrenCount = childrenJson.Count;
                for (int i = 0; i < childrenCount; i++)
                {
                    var childJson = childrenJson[i];
                    PredicatePreloadingAssets(childJson, preload);
                }
            }
        }
Пример #4
0
        public bool Parse(LitJson.JsonData modelData)
        {
            mAssetDatas.Clear();

            mModelData = modelData;
            if (modelData.ContainsKey(SerializationConst.assets))
            {
                LitJsonHelper.ParseJsonObject(modelData[SerializationConst.assets], assetDatas);
            }
            mGameObjectDataModel = new RobotGameObjectDataModel(modelData);
            return(true);
        }
Пример #5
0
 public static string ParseFromJson(LitJson.JsonData jsonData, string key, string defaultVal)
 {
     if (jsonData == null)
     {
         return(defaultVal);
     }
     if (!jsonData.ContainsKey(key))
     {
         return(defaultVal);
     }
     return(jsonData[key].ToString());
 }
Пример #6
0
        public static float ParseFromJson(LitJson.JsonData jsonData, string key, float defaultVal)
        {
            if (jsonData == null)
            {
                return(defaultVal);
            }
            if (!jsonData.ContainsKey(key))
            {
                return(defaultVal);
            }
            float rst = 0f;

            if (float.TryParse(jsonData[key].ToString(), out rst))
            {
                return(rst);
            }
            return(defaultVal);
        }
Пример #7
0
    /// <summary>
    /// 获取每次操作微信API的Token访问令牌
    /// </summary>
    /// <param name="secret">管理组的凭证密钥</param>
    /// <returns></returns>
    public static string GetAccessToken(string secret)
    {
        if (string.IsNullOrWhiteSpace(secret) || string.IsNullOrEmpty(secret))
        {
            secret = WeiXin.OrganizeSecret;
        }
        if (string.IsNullOrWhiteSpace(secret) || string.IsNullOrEmpty(secret))
        {
            return("");
        }
        string url   = string.Format("https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid={0}&corpsecret={1}", CorpID, secret);
        string token = Utility.HttpHelper.SendGet(url);//token:{"access_token":"7p-2wZwAYnGwE80-VXubyqXNS9YZxIbmcHscjdfB78FA1zNPRKOGftJQdHAR8447","expires_in":7200}

        LitJson.JsonData jd = LitJson.JsonMapper.ToObject(token);
        if (jd.ContainsKey("access_token"))
        {
            return(jd["access_token"].ToString());
        }
        else
        {
            return("");
        }
    }
Пример #8
0
    public BuffBaseData(LitJson.JsonData jsonData)
    {
        //json 파싱
        if (jsonData == null)
        {
            Debug.LogError("Failed to parse Buff json data");
            return;
        }

        id = jsonData["id"].ToString();

        name = jsonData["name"].ToString();

        duration = jsonData["duration"].ToFloat() * 0.001f;

        interval = jsonData["interval"].ToFloat() * 0.001f;

        resetType = jsonData["resetType"].ToString();

        maxStackCount = jsonData["maxStackCount"].ToInt();

        isUnique = jsonData["isUnique"].ToBool();

        linkerType  = jsonData["linkerType"].ToString();
        linkerType2 = jsonData["linkerType2"].ToString();

        string statString = jsonData["stat"].ToString();

        if (string.IsNullOrEmpty(statString))
        {
            stat = StatType.NotDefined;
        }
        else
        {
            stat = (StatType)System.Enum.Parse(typeof(StatType), statString, true);
        }

        string statString2 = jsonData["stat2"].ToString();

        if (string.IsNullOrEmpty(statString2))
        {
            stat2 = StatType.NotDefined;
        }
        else
        {
            stat2 = (StatType)System.Enum.Parse(typeof(StatType), statString2, true);
        }

        modifyType  = jsonData["modifyType"].ToString();
        modifyType2 = jsonData["modifyType2"].ToString();

        modifyValue  = jsonData["modifyValue"].ToString();
        modifyValue2 = jsonData["modifyValue2"].ToString();


        string linkedStatString = jsonData["linkedStat"].ToString();

        if (string.IsNullOrEmpty(linkedStatString))
        {
            linkedStat = StatType.NotDefined;
        }
        else
        {
            linkedStat = (StatType)System.Enum.Parse(typeof(StatType), linkedStatString, true);
        }

        string linkedStatString2 = jsonData["linkedStat2"].ToString();

        if (string.IsNullOrEmpty(linkedStatString2))
        {
            linkedStat2 = StatType.NotDefined;
        }
        else
        {
            linkedStat2 = (StatType)System.Enum.Parse(typeof(StatType), linkedStatString2, true);
        }


        multiplyValue  = jsonData["multiply"].ToString();
        multiplyValue2 = jsonData["multiply2"].ToString();


        effect = jsonData["effect"].ToString();

        power = jsonData["power"].ToString();

        provoke = jsonData["provoke"].ToBool();

        blockMove = jsonData["blockMove"].ToBool();

        blockAttack = jsonData["blockAttack"].ToBool();

        airborne = jsonData["airborne"].ToBool();

        notTargeting = jsonData["notTargeting"].ToBool();

        effectPrefab = jsonData["effectPrefab"].ToString();



        trigger       = jsonData["trigger"].ToString();
        triggerTarget = jsonData["triggerTarget"].ToString();
        triggerBuff   = jsonData["triggerBuff"].ToString();

        triggerProbability = jsonData["triggerProbability"].ToString();

        if (jsonData.ContainsKey("triggerCooltime"))
        {
            triggerCooltime = jsonData["triggerCooltime"].ToString();
        }
        if (jsonData.ContainsKey("skillID"))
        {
            skillID = jsonData["skillID"].ToStringJ();
        }

        description = jsonData["description"].ToString();
    }
Пример #9
0
 public static int ReadIntField(this LitJson.JsonData json, string propertyName)
 {
     propertyName = propertyName.Replace(".", "#");
     return(json.ContainsKey(propertyName)? json[propertyName].ToString().ToInt():0);
 }