Obrolan Jet
Tiruan sederhana dari aplikasi obrolan WeChat yang ditulis dalam Swift5.0, dengan dukungan sempurna untuk keyboard emotikon, obrolan tunggal, obrolan grup, cache sesi pesan lokal, lingkaran pertemanan, mode tema siang dan malam
Contoh
mengobrol | Momen |
---|
| |
Modus malam | modus hari |
---|
| |
Aplikasi teknis utama
- Fungsi obrolan mengadopsi desain arsitektur responsif RxSwift+MVVM, dan mentransisikan data pesan secara wajar melalui ViewModel untuk mengurangi perhitungan bisnis lapisan Pengontrol.
- UITableView+FDTemplateLayoutCell mengimplementasikan penghitungan dan caching adaptif ketinggian sel, sehingga meningkatkan kelancaran geser daftar
- WCDBSwift mengimplementasikan caching cepat untuk semua pesan sesi
- Berdasarkan driver data IGList, wujudkan geseran kecepatan bingkai tinggi dari daftar lingkaran teman
- RxTheme beradaptasi dengan mode malam dan kompatibel dengan iOS13 mengikuti pengaturan mode sistem
- Tata letak otomatis kode murni SnapKit
Fungsi utama
- Pemrosesan enkapsulasi kontrol keyboard ruang obrolan, mendukung input emotikon multi-baris, dan mendukung iOS13
- Pengguna: Tambahkan teman, tambahkan grup, ubah catatan dan nama pengguna, sinkronisasi lokal waktu nyata
- Obrolan: obrolan satu-ke-satu, obrolan grup satu-ke-banyak, mendukung teks, video, pengiriman dan penerusan gambar, penelusuran gambar dan video
- Percakapan: Rekaman percakapan obrolan terkini, ditampilkan dalam daftar yang diurutkan berdasarkan waktu terkini
- Pojok: menampilkan jumlah pesan yang belum dibaca dalam satu percakapan, menampilkan jumlah semua pesan yang belum dibaca
- Hapus: menghapus satu pesan, keluar dari grup, menghapus teman, menghapus ikon sesi pesan, menghapus catatan
Saat ini, fungsi dasar telah selesai. Untuk mempelajari fungsi spesifiknya, Anda dapat mengunduh kode sumber dan menjalankannya di https://github.com/developerjet/JetChat
Fitur baru
- Momen: IGList menerapkan geseran kecepatan bingkai tinggi pada daftar Momen
- Mode gelap: RxTheme mengimplementasikan peralihan mode tema siang dan malam dan kompatibel dengan iOS13 mengikuti pengaturan mode sistem
- Widget: Tambahkan widget obrolan terkini. Klik pada Widget untuk melompat ke ruang obrolan [perhatikan konfigurasi AppGroupsID]
- Peralihan multi-bahasa: Terjemahan bahasa Inggris telah ditambahkan
Kiat
- Jika Anda memiliki saran dan solusi pengoptimalan yang lebih baik untuk proyek ini atau perlu menambahkan fitur menarik, silakan kirimkan ke lssues.
- Kesalahan berjalan Xcode15: SDK tidak mengandung 'libarclite', solusi https://www.jianshu.com/p/6f3798d1de0e
Berlisensi di bawah lisensi MIT
- Jika Anda tertarik dengan proyek ini atau membantu Anda, saya harap Anda dapat memberi saya ?Bintang?, terima kasih banyak❤️