เจ็ตแชท
การเลียนแบบแอปพลิเคชั่นแชท WeChat อย่างง่ายที่เขียนด้วย Swift5.0 พร้อมการรองรับแป้นพิมพ์อิโมติคอน แชทเดี่ยว แชทกลุ่ม แคชเซสชันข้อความในเครื่อง แวดวงเพื่อน โหมดธีมกลางวันและกลางคืน
ตัวอย่าง
แชท | ช่วงเวลา |
---|
| |
โหมดกลางคืน | โหมดวัน |
---|
| |
การใช้งานทางเทคนิคหลัก
- ฟังก์ชันแชทใช้การออกแบบสถาปัตยกรรมที่ตอบสนอง RxSwift+MVVM และเปลี่ยนข้อมูลข้อความอย่างสมเหตุสมผลผ่าน ViewModel เพื่อลดการคำนวณทางธุรกิจของเลเยอร์คอนโทรลเลอร์
- UITableView+FDTemplateLayoutCell ใช้การคำนวณและการแคชแบบปรับความสูงของเซลล์ ปรับปรุงความราบรื่นของการเลื่อนรายการ
- WCDBSwift ใช้การแคชข้อความเซสชันทั้งหมดอย่างรวดเร็ว
- จากไดรเวอร์ข้อมูล IGList ทำให้สามารถเลื่อนอัตราเฟรมสูงของรายชื่อแวดวงเพื่อนได้
- RxTheme ปรับให้เข้ากับโหมดกลางคืนและเข้ากันได้กับ iOS13 ตามการตั้งค่าโหมดระบบ
- SnapKit รูปแบบโค้ดบริสุทธิ์อัตโนมัติ
ฟังก์ชั่นหลัก
- การประมวลผลการห่อหุ้มการควบคุมแป้นพิมพ์ห้องแชท รองรับการป้อนอีโมติคอนหลายบรรทัด และรองรับ iOS13
- ผู้ใช้: เพิ่มเพื่อน เพิ่มกลุ่ม แก้ไขบันทึกและชื่อผู้ใช้ การซิงโครไนซ์แบบเรียลไทม์ในพื้นที่
- แชท: แชทแบบตัวต่อตัว, แชทกลุ่มแบบตัวต่อตัว, รองรับข้อความ, วิดีโอ, การส่งและส่งต่อรูปภาพ, การเรียกดูรูปภาพและวิดีโอ
- การสนทนา: บันทึกการสนทนาแชทล่าสุด แสดงในรายการเรียงตามเวลาล่าสุด
- มุม: แสดงจำนวนข้อความที่ยังไม่ได้อ่านในการสนทนาเดียว, แสดงจำนวนข้อความที่ยังไม่ได้อ่านทั้งหมด
- ล้าง: ลบข้อความเดียว ออกจากกลุ่ม ลบเพื่อน ล้างไอคอนเซสชันข้อความ ลบบันทึก
ปัจจุบันฟังก์ชั่นพื้นฐานได้เสร็จสมบูรณ์แล้ว หากต้องการเรียนรู้เกี่ยวกับฟังก์ชั่นเฉพาะ คุณสามารถดาวน์โหลดซอร์สโค้ดและรันได้ที่ https://github.com/developerjet/JetChat
คุณสมบัติใหม่
- ช่วงเวลา: IGList ใช้การเลื่อนอัตราเฟรมสูงของรายการช่วงเวลา
- โหมดมืด: RxTheme ใช้การสลับโหมดธีมกลางวันและกลางคืน และเข้ากันได้กับ iOS13 ตามการตั้งค่าโหมดระบบ
- วิดเจ็ต: เพิ่มวิดเจ็ตแชทล่าสุด คลิกที่วิดเจ็ตเพื่อข้ามไปที่ห้องสนทนา [หมายเหตุการกำหนดค่า AppGroupsID]
- การสลับหลายภาษา: เพิ่มการแปลภาษาอังกฤษแล้ว
เคล็ดลับ
- หากคุณมีข้อเสนอแนะที่ดีกว่าและโซลูชันการเพิ่มประสิทธิภาพสำหรับโครงการนี้ หรือต้องการเพิ่มคุณลักษณะที่น่าสนใจ โปรดส่งมาใน lssues
- ข้อผิดพลาดในการทำงาน Xcode15: SDK ไม่มี 'libarclite' วิธีแก้ไข https://www.jianshu.com/p/6f3798d1de0e
ได้รับอนุญาตภายใต้ใบอนุญาต MIT
- หากคุณสนใจโครงการนี้หรือช่วยคุณได้ ฉันหวังว่าคุณจะให้ ?ดาว? แก่ฉันได้ ขอบคุณมาก❤️