伦伦影院久久影视,天天操天天干天天射,ririsao久久精品一区 ,一本大道香蕉大久在红桃,999久久久免费精品国产色夜,色悠悠久久综合88,亚洲国产精品久久无套麻豆,亚洲香蕉毛片久久网站,一本一道久久综合狠狠老

電子發燒友App

硬聲App

掃碼添加小助手

加入工程師交流群

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示
電子發燒友網>電子資料下載>電子資料>zychat iOS碼農聊天室

zychat iOS碼農聊天室

2022-05-27 | zip | 16.26 MB | 次下載 | 免費

資料介紹

授權協議 MIT
開發語言 Objective-C
軟件類型 開源軟件
所屬分類 iOS代碼庫其他(Others)

軟件簡介

ZYChat

(一) 是一個實戰項目的聊天UI框架,針對高頻次高速率刷新最近會話列表和實際對話頁面做了緩沖優化,經過測試會話使用的性能和體驗非常穩定。

(二) UI框架參考MVVM思想設計,并采用自身總結的一些常用設計模式,可以幫助你快速實現搭建多樣式的列表頁面,代碼復用率可以有穩定的提升。

(三) ZYChat-EaseMob 是基于環信的UI項目應用實戰,將ZYChat類庫和實際項目使用結合。

項目運行截圖

pYYBAGKCPL2AAa0cAAP_iXR4S-k447.png

項目代碼結構圖

pYYBAGKCPL6AQraYAAGMkciHLWM771.png

項目核心模塊注釋

ChatDetail ?具體聊天

*Resource 用到的圖片 ?*UITableViewCell 聊天所有的cell使用

*Base??????聊天內容基類Cell,負責分發類型

*ChatCell??聊天內容Cell,????負責處理聊天類型的消息展示

??*GJGCChatFriendBaseCell?,?基礎內容Cell,包含消息顯示的:頭像,昵稱(根據會話類型顯示隱藏),氣泡,狀態

??*GJGCChatFriendTextMessageCell,?文本內容顯示

??*GJGCChatFriendImageMessageCell,?圖片內容顯示

??*GJGCChatFriendAudioMessageCell,?語音內容顯示

??*GJGCChatFriendTimeCell,?時間塊顯示

*SystemNoti?系統消息Cell,???負責展示系統消息

*View 聊天時候用到的自定義視圖和風格控制

*GJGCCommonFontColorStyle?全局風格控制

*GJGCCommonHeadView?全局頭像顯示

*GJGCChatContentEmojiParser?文本解析成圖文內容

*GJGCRefreshHeader?下拉刷新

*GJGCRefreshFooter?上拉加載

*GJGCLoadingStatusHUD?加載HUD,基類初始化,全局可用

*ViewController

*Base?基礎類,負責分發?系統消息或者對話消息類型

*MessageExtend?消息類型擴展,基于環信的消息ext字段來擴展消息,以支持gif等更多類型消息

*Friend?單聊會話,群聊本質上也是1v1會話,只是有一些特殊邏輯需要單獨處理,為了避免龐大的DataManager和ViewController,需要分開

*GifLoadManager?本地Gif包管理

*Group?群聊管理

*SystemAssist?系統消息管理

RecentChat 最近會話

*GJGCRecentChatViewController ?視圖管理層 ?*GJGCRecentChatCell ? ? ? ? ? ?單行會話展示 ?*GJGCRecentChatModel ? ? ? ? ? 內容模型 ?*GJGCRecentChatDataManager ? ? 模型管理層 ?*GJGCRecentChatStyle ? ? ? ? ? 風格管理 ?*GJGCRecentChatTitleView ? ? ? 服務器連接狀態展示

Square ?廣場

*CreateGroup ?創建群組 ?*PublicGroup ?廣場群組列表

GroupCommonUI ?群組資料和個人資料展示

*GJGCGroupInformationViewController 群組資料展示 ?*GJGCPersonInformationViewController 個人資料展示

如何擴展消息類型

擴展消息類型需要做三件事情

  1. 繼承GJGCChatFriendBaseCell 來擴展對話消息

  2. GJGCChatFriendConstans 在關系綁定中將內容類型和新擴展的消息類型綁定

  3. 在創建內容模型的時候,將內容類型設置為新創建的內容類型即可綁定

例子

*首先創建內容展示的樣子,GJGCCHatFriendGifCell *在內容模型中定義 ? ? ? ?gifLocalId , 在 GJGCChatFriendConstans 中定義內容類型 GJGCChatFriendContentTypeGif

  • 在GJGCChatFriendConstans 實現 ContentType 和 Cell的綁定 *在創建GJGCChatFriendContentModel的時候將內容設置為GJGCChatFriendContentTypeGif就可以實現加載對應的gifCell

如何基于環信的消息擴展字段配合GJGCMessageExtendModel實現擴展消息類型的目的

*userInfo : 用戶信息,始終從消息中帶過去,根據App情況,也可以不用傳過去節省流量,這里我們是沒有服務器,所以傳過去

*data: ? 擴展消息的內容,看一下我們定義的一些常量key,對應的我們可以把需要擴展的內容填充

*message_type: 擴展的消息類型,類似常規時候的 text,gif,voice這些類型的定義方式

*is_message_extend: 是否是消息擴展,當不是擴展消息的時候,我們只讀用戶擴展信息userInfo就可以了

*display_text: 擴展消息應該展示的文本,如果對方源碼不支持此擴展消息,相應這個文本會有變化

*is_support_display: 根據雙方本地的內容協議支持來確定,是否支持正常顯示這條擴展消息

工具類庫注釋 (Dependcy)

*Base64 ? 用于壓縮編碼字符串,在群信息壓縮的環節使用

*EaseMob ?環信聊天服務SDK

*fmdb ? ? 最好用的Sqlite,在上面做了一層簡單的封裝,支持對象化CURD操作

*GJCFCachePathMananger 應用層全局的緩存目錄管理

*GJCUProgressView 自定義的一個進度展示

*SDWebImage ? 最好用的圖片緩存庫,目前基本全部使用此類庫來加載圖片

*JSONModel ? ?實測使用最穩定的Json轉模型,很好的自定義擴展,在項目中Json與模型轉化和生成都運用到了

*GJCURoundCornerView 取自另一個作者的一個控件,可以自定義四個角的圓角和試圖的bord情況

*GJCUCapture ?根據Apple的AVCapture Demo 自定義的一個拍照的組件,母的是解決iOS7.0 iPhone4,5下的拍照黑屏問題

*GJGCChatInputPnael ?項目中對話使用的聊天輸入控制面板

*AFNetworking ?最好用的網絡庫

*AudioCoder ? ?語音編碼庫,公開的

*DownloadManager 任務化下載組件

*FileUploadManager 任務化上傳組件

*FLAnimateImage ?用于Gif表情展示

*GJCFAssetsPicker 自定義圖片選擇

*GJCFAuidoManager 播放和錄音

*GJCFCoreText ? ? 自定義圖文混排組件

*GJCFUitils ? ? ? 常用工具函數

*GJCUAsyncImageView 自定義異步圖片加載,不是非常穩定,目前底層全部改成SDWebImage加載

*GJCUImageBrowase 大圖瀏覽組件

為什么做這個聊天室?

大家都在做App,可能各種需求,各種蛋疼的坑,老板說,我們就是要有個IM消息服務,但是還得能自己定義,那么OK,我們的目標來了,誰來寫呢, 再寫一遍,很麻煩,別的項目什么 XX仿QQ效果,XX仿微信效果,這些都沒法解決問題,它們就是個效果,甚至沒經過測試,ZYChat經過對話詳情頁瘋狂對發消息測試,沒有任何問題,所 以,我們要得是一個真實的對話聊天項目,并且它是開源的,大家都可以來做一些自己想做的擴展,我們需要關心的就是,我們要做的是什么,如何使用它,節省我 們的時間。所以,ZYChat-EaseMob就誕生了。

?

iOS ui 代碼
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1PD取電芯片 ECP5702規格書
  2. 0.88 MB   |  3次下載  |  免費
  3. 2氮化鎵GaN FET/GaN HEMT 功率驅動電路選型表
  4. 0.10 MB   |  2次下載  |  免費
  5. 3EMC PCB設計總結
  6. 0.33 MB   |  2次下載  |  免費
  7. 4PD取電芯片,可取5/9/12/15/20V電壓ECP5702數據手冊
  8. 0.88 MB   |  1次下載  |  免費
  9. 5飛騰FT2000-4 COM Express核心板技術手冊0603
  10. 1.22 MB  |  1次下載  |  免費
  11. 6飛騰S5000C-64雙路服務器系列應用宣傳冊--一乘科技
  12. 945.81 KB  |  1次下載  |  免費
  13. 7瑞薩系列-米爾RZ/T2H核心板開發板 高端MPU,驅控一體單芯片方案
  14. 3.07 MB  |  次下載  |  免費
  15. 8在應用中使用VEML6031X00芯片
  16. 0.84 MB   |  次下載  |  2 積分

本月

  1. 1美的電磁爐電路原理圖資料
  2. 4.39 MB   |  22次下載  |  10 積分
  3. 2反激式開關電源設計解析
  4. 0.89 MB   |  16次下載  |  5 積分
  5. 3耗盡型MOS FET產品目錄選型表
  6. 0.14 MB   |  3次下載  |  免費
  7. 4PD取電芯片 ECP5702規格書
  8. 0.88 MB   |  3次下載  |  免費
  9. 5氮化鎵GaN FET/GaN HEMT 功率驅動電路選型表
  10. 0.10 MB   |  2次下載  |  免費
  11. 6EMC PCB設計總結
  12. 0.33 MB   |  2次下載  |  免費
  13. 7PC5200 700V_10A GaN HEMT驅動器數據手冊
  14. 1.63 MB   |  1次下載  |  免費
  15. 81節電池用電池保護IC S-8261D系列數據手冊
  16. 3.07 MB   |  1次下載  |  1 積分

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935137次下載  |  10 積分
  3. 2開源硬件-PMP21529.1-4 開關降壓/升壓雙向直流/直流轉換器 PCB layout 設計
  4. 1.48MB  |  420064次下載  |  10 積分
  5. 3Altium DXP2002下載入口
  6. 未知  |  233095次下載  |  10 積分
  7. 4電路仿真軟件multisim 10.0免費下載
  8. 340992  |  191457次下載  |  10 積分
  9. 5十天學會AVR單片機與C語言視頻教程 下載
  10. 158M  |  183360次下載  |  10 積分
  11. 6labview8.5下載
  12. 未知  |  81605次下載  |  10 積分
  13. 7Keil工具MDK-Arm免費下載
  14. 0.02 MB  |  73831次下載  |  10 積分
  15. 8LabVIEW 8.6下載
  16. 未知  |  65991次下載  |  10 積分