Exemplo n.º 1
0
 /// <summary>
 /// 初始化所有头像
 /// 由于所有联系人和最近会话中的头像数据量较大,因此需要单独调用函数进行初始化
 /// </summary>
 /// <returns></returns>
 public async Task InitHeadImg()
 {
     if (State != LoginState.Logined)
     {
         throw new Exception("未登录状态下无法初始化头像");
     }
     if (string.IsNullOrEmpty(SelfUser.HeadImgUrl))
     {
         SelfUser.HeadImgUrl = await wxService.GetHeadImgBase64Async(SelfUser.UserName);
     }
     for (int i = 0; i < AllConnectUser.Count(); i++)
     {
         var item = AllConnectUser[i];
         if (string.IsNullOrEmpty(item.HeadImgUrl))
         {
             item.HeadImgUrl = await wxService.GetHeadImgBase64Async(item.UserName);
         }
     }
     for (int i = 0; i < LastConnectUser.Count(); i++)
     {
         var item = LastConnectUser[i];
         if (string.IsNullOrEmpty(item.HeadImgUrl))
         {
             var connect = AllConnectUser.Where(c => c.UserName == item.UserName).FirstOrDefault();
             if (connect == null)
             {
                 item.HeadImgUrl = await wxService.GetHeadImgBase64Async(item.UserName);
             }
             else
             {
                 item.HeadImgUrl = connect.HeadImgUrl;
             }
         }
     }
 }