Beispiel #1
0
        /// <summary>
        /// 从UID创建数据
        /// <para>系统会自己去抓数据</para>
        /// </summary>
        /// <param name="uid"></param>
        public BiliUser(int uid, ThirdPartAPIs sess, bool nocache = false)
        {
            if (userlist == null)
            {
                userlist = new Dictionary <int, BiliUser>();
            }
            try
            {
                this.sess  = sess;
                raw_json   = (JObject)JsonConvert.DeserializeObject(sess.getBiliUserInfoJson(uid));
                this.uid   = int.Parse(raw_json["data"]["mid"].ToString());
                name       = raw_json["data"]["name"].ToString();
                sex        = raw_json["data"]["sex"].ToString();
                sign       = raw_json["data"]["sign"].ToString();
                rank       = int.Parse(raw_json["data"]["rank"].ToString());
                level      = int.Parse(raw_json["data"]["level"].ToString());
                coins      = int.Parse(raw_json["data"]["coins"].ToString());
                face       = raw_json["data"]["face"].ToString();
                fans_badge = raw_json["data"]["fans_badge"].ToString() != "false";
                try
                {
                    official = new OfficialInfo()
                    {
                        Type        = (OfficialType)raw_json["data"]["official"].Value <int>("type"),
                        Title       = raw_json["data"]["official"].Value <string>("title"),
                        Description = raw_json["data"]["official"].Value <string>("desc"),
                        Role        = raw_json["data"]["official"].Value <int>("role")
                    };
                }
                catch { }
            }
            catch
            {
                this.uid = uid;
            }
            if (userlist.ContainsKey(uid))
            {
                userlist.Remove(uid);
            }

            userlist.Add(uid, this);
        }
Beispiel #2
0
 /// <summary>
 /// 手动数据初始化
 /// 尽量别用!!
 /// </summary>
 /// <param name="uid"></param>
 /// <param name="name"></param>
 /// <param name="sex"></param>
 /// <param name="sign"></param>
 /// <param name="fans_badge"></param>
 /// <param name="coins"></param>
 /// <param name="face"></param>
 /// <param name="level"></param>
 /// <param name="rank"></param>
 public BiliUser(int uid, string name, string sex, string sign, bool fans_badge, int coins, string face, int level, int rank, OfficialInfo official, ThirdPartAPIs sess)
 {
     if (userlist == null)
     {
         userlist = new Dictionary <int, BiliUser>();
     }
     this.uid        = uid;
     this.name       = name;
     this.sex        = sex;
     this.sign       = sign;
     this.fans_badge = fans_badge;
     this.coins      = coins;
     this.face       = face;
     this.level      = level;
     this.rank       = rank;
     this.official   = official;
     if (userlist.ContainsKey(uid))
     {
         userlist.Remove(uid);
     }
     this.sess = sess;
     userlist.Add(uid, this);
 }
Beispiel #3
0
        /// <summary>
        /// 从已有json字符串实例化
        /// </summary>
        /// <param name="json"></param>
        public BiliUser(string json)
        {
            if (userlist == null)
            {
                userlist = new Dictionary <int, BiliUser>();
            }
            raw_json = (JObject)JsonConvert.DeserializeObject(json);
            if (raw_json["data"] == null)
            {
                uid   = int.Parse(raw_json["mid"].ToString());
                name  = raw_json["name"].ToString();
                sex   = raw_json["sex"].ToString();
                sign  = raw_json["sign"].ToString();
                rank  = int.Parse(raw_json["rank"].ToString());
                level = int.Parse(raw_json["level_info"]["current_level"].ToString());
                face  = raw_json["face"].ToString();
                fans  = raw_json.Value <int>("fans");
                try
                {
                    official = new OfficialInfo()
                    {
                        Type        = (OfficialType)raw_json["official"].Value <int>("type"),
                        Title       = raw_json["official"].Value <string>("title"),
                        Role        = raw_json["official"].Value <int>("role"),
                        Description = raw_json["official"].Value <string>("desc")
                    };
                }
                catch
                {
                    official = new OfficialInfo()
                    {
                        Type        = (OfficialType)raw_json["Official"].Value <int>("type"),
                        Title       = raw_json["Official"].Value <string>("title"),
                        Role        = raw_json["Official"].Value <int>("role"),
                        Description = raw_json["Official"].Value <string>("desc")
                    };
                }
            }
            else
            {
                uid        = int.Parse(raw_json["data"]["mid"].ToString());
                name       = raw_json["data"]["name"].ToString();
                sex        = raw_json["data"]["sex"].ToString();
                sign       = raw_json["data"]["sign"].ToString();
                rank       = int.Parse(raw_json["data"]["rank"].ToString());
                level      = int.Parse(raw_json["data"]["level"].ToString());
                coins      = int.Parse(raw_json["data"]["coins"].ToString());
                face       = raw_json["data"]["face"].ToString();
                fans_badge = raw_json["data"]["fans_badge"].ToString() != "false";
                try
                {
                    official = new OfficialInfo()
                    {
                        Type        = (OfficialType)raw_json["data"]["official"].Value <int>("type"),
                        Title       = raw_json["data"]["official"].Value <string>("title"),
                        Role        = raw_json["data"]["official"].Value <int>("role"),
                        Description = raw_json["data"]["official"].Value <string>("desc")
                    };
                }
                catch
                {
                    official = new OfficialInfo()
                    {
                        Type        = (OfficialType)raw_json["data"]["Official"].Value <int>("type"),
                        Title       = raw_json["data"]["Official"].Value <string>("title"),
                        Role        = raw_json["data"]["Official"].Value <int>("role"),
                        Description = raw_json["data"]["Official"].Value <string>("desc")
                    };
                }
            }
            if (userlist.ContainsKey(uid))
            {
                userlist.Remove(uid);
            }

            userlist.Add(uid, this);
        }