JetChat
Une simple imitation de l'application de chat WeChat écrite en Swift5.0, qui prend parfaitement en charge le clavier émoticône, le chat unique, le chat de groupe, le cache de session de messages locaux, le cercle d'amis, les modes thématiques jour et nuit.
Exemples
chat | Instants |
---|
| |
Mode nuit | mode jour |
---|
| |
Principales applications techniques
- La fonction de chat adopte la conception d'une architecture réactive RxSwift+MVVM et fait une transition raisonnable des données de message via ViewModel pour réduire le calcul commercial de la couche contrôleur.
- UITableView+FDTemplateLayoutCell implémente le calcul et la mise en cache adaptatifs de la hauteur des cellules, améliorant ainsi la fluidité du glissement de la liste
- WCDBSwift implémente une mise en cache rapide de tous les messages de session
- Basé sur le pilote de données IGList, réalisez un glissement de liste de cercles d'amis à fréquence d'images élevée
- RxTheme s'adapte au mode nuit et est compatible avec iOS13 suivant les paramètres du mode système
- Disposition automatique du code pur SnapKit
Fonctions principales
- Traitement d'encapsulation du contrôle du clavier du salon de discussion, prend en charge la saisie multiligne d'émoticônes et prend en charge iOS13
- Utilisateur : ajoutez des amis, ajoutez des groupes, modifiez les notes et les noms des utilisateurs, synchronisation locale en temps réel
- Chat : chat en tête-à-tête, chat de groupe un-à-plusieurs, prend en charge le texte, la vidéo, l'envoi et le transfert d'images, la navigation d'images et de vidéos
- Conversation : enregistrements de conversations de chat récentes, affichés dans une liste triée par heure la plus récente
- Coin : afficher le nombre de messages non lus dans une seule session, afficher le nombre de tous les messages non lus
- Effacer : supprimer un seul message, quitter le groupe, supprimer des amis, effacer les icônes de session de message, supprimer des enregistrements
À l'heure actuelle, les fonctions de base sont terminées. Pour en savoir plus sur les fonctions spécifiques, vous pouvez télécharger le code source et l'exécuter sur https://github.com/developerjet/JetChat.
Nouvelles fonctionnalités
- Moments : IGList implémente un glissement de fréquence d'images élevée de la liste Moments
- Mode sombre : RxTheme implémente la commutation du mode thème jour et nuit et est compatible avec iOS13 en suivant les paramètres du mode système.
- Widget : ajoutez un widget de discussion récent. Cliquez sur le widget pour accéder à la salle de discussion [notez la configuration AppGroupsID].
- Commutation multilingue : la traduction anglaise a été ajoutée
Conseils
- Si vous avez de meilleures suggestions et solutions d'optimisation pour ce projet ou si vous avez besoin d'ajouter des fonctionnalités intéressantes, veuillez les soumettre dans les numéros.
- Erreur d'exécution Xcode15 : le SDK ne contient pas 'libarclite', solution https://www.jianshu.com/p/6f3798d1de0e
Sous licence MIT
- Si ce projet vous intéresse ou qu'il vous aide, j'espère que vous pourrez me donner une « Étoile », merci beaucoup❤️