# WeChat
**Repository Path**: LearnDie/wechat
## Basic Information
- **Project Name**: WeChat
- **Description**: 一款小巧的设备间直连通信应用,在交互与功能层面尽量对齐微信,同时深度挖掘安卓系统底层能力,利用多种近场通信技术实现设备间的直接高效互联。
- **Primary Language**: Kotlin
- **License**: Apache-2.0
- **Default Branch**: main
- **Homepage**: https://juejin.cn/post/7621443853845594154
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 4
- **Created**: 2026-06-11
- **Last Updated**: 2026-06-11
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
WeChat Lan
一款小巧的设备间直连通信应用,在交互与功能层面尽量对齐微信,同时深度挖掘安卓系统底层能力,利用多种近场通信技术实现设备间的直接高效互联。
[English](./README.md) · 中文
[](https://github.com/chengdongqing/WeChat)
[](https://gitee.com/chengdongqing/WeChat)
[](https://gitee.com/chengdongqing/WeChat/releases)
[](https://juejin.cn/post/7621443853845594154)
---
### 一、核心理念
1. **去中心化:** 摆脱服务器限制,探索设备间的直接互联。
2. **多模态连接:** 支持切换 `Wi-Fi`、`Wi-Fi直连` 与 `蓝牙` 等多种连接方式。
3. **技术全栈化:** 深度集成硬件调度、数据加密、文件传输及音视频通信等核心模块。
### 二、技术栈
| | 技术选型 | 说明 |
|-----------|-------------------------------|--------------------------|
| **UI 框架** | Jetpack Compose | 构建响应式、现代化 UI |
| **依赖注入** | Hilt | 模块化代码解耦 |
| **页面导航** | Navigation3 | 类型安全的状态导航 |
| **数据持久化** | Room3, DataStore | 高效的本地数据缓存与配置管理 |
| **多媒体** | WebRTC, CameraX, MLKit, Coil3 | 提供实时音视频及媒体处理能力 |
| **地图服务** | AMap | 可插拔架构,支持标准版/轻量版 SDK 自由切换 |
| **加好友** | BLE | 低功耗蓝牙 |
| **设备发现** | NSD | 局域网内服务注册、发现、解析 |
| **通信** | TCP Socket / RfcommSocket | 设备间连接的底层方案 |
**均采用主流技术栈及最新版本,确保应用的高性能与易维护性。**
### 三、功能介绍
#### 1. 总览
* 聊天
* 联系人
* 我
* 设置
* 登录
#### 2. 聊天
* 聊天列表
* 标为未读/已读
* 置顶聊天
* 不显示聊天
* 删除聊天
* 未读数显示
* 消息类型
* 文本、语音、表情、图片、视频、位置、文件、音乐、名片
* 输入框
* 文本输入、表情输入、全屏输入、草稿消息
* 通话
* 视频通话、语音通话
* 对消息的操作
* 复制、转发、删除、撤回、下载
* 多选(批量转发、删除、下载)
* 切换听筒/扬声器(语音消息)
* 状态显示
* 在线状态、加密状态、使用听筒播放语音
* 聊天信息
* 消息免打扰
* 置顶聊天
* 设置聊天背景
* 清空聊天记录
#### 3. 联系人功能
* 联系人列表
* 新的朋友、自己、好友列表、好友数量、索引栏
* 长按设置朋友资料
* 联系人详情
* 头像(点击查看大图)、备注名、昵称、微信号、性别、个性签名
* 朋友资料
* 备注名、备忘、好友来源、添加时间
* 朋友设置
* 设置朋友资料
* 把他(她)推荐给朋友
* 加入黑名单
* 删除好友
#### 4. 个人资料
* 头像:预览、修改、保存
* 基本信息:名字、性别、微信号、个性签名
* 我的二维码
* 二维码生成、扫一扫、换个样式、保存图片
#### 5. 通知设置
* 通知类型
* 消息通知、语音和视频通话通知
* 通知显示内容
* 仅显示「你收到了1条消息」
* 显示朋友和群聊的名称
* 显示朋友、群聊名称及消息内容
* 系统设置
* 系统通知设置入口
* 聊天界面中的新消息通知(声音控制、振动控制)
* 铃声与提示音
* 消息提示音:跟随系统、内置列表(支持试听)
* 来电铃声:跟随系统、微信、其他内置列表(支持试听)
* 呼叫我时朋友也可听见我的来电铃声
#### 6. 其他设置
* 界面与显示
* 深色模式(跟随系统/普通/深色)
* 字体大小(滑块调节、实时预览)
* 多语言(跟随系统/简体中文/English)
* 朋友权限
* 加我为朋友时需要验证
* 通讯录黑名单
* 更多
* 系统权限状态显示
* 连接模式
* WiFi、WiFi 直连、蓝牙
* 聊天设置
* 全局聊天背景设置
* 使用听筒播放语音消息
* 使用独立的发送按钮
* 端到端加密
* 聊天记录管理
* 清空全部聊天记录
* 账户管理
* 退出登录
***
### 四、功能说明
详见:[掘金社区](https://juejin.cn/post/7621443853845594154)