# we-chat
**Repository Path**: essence/we-chat
## Basic Information
- **Project Name**: we-chat
- **Description**: rust、tauri 学习项目
- **Primary Language**: Rust
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 2
- **Forks**: 0
- **Created**: 2025-02-12
- **Last Updated**: 2025-11-12
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# we-chat
#### 项目介绍
这是一个基于 Tauri、Vite 5、Vue 3 和 TypeScript 构建的即时通讯系统。它利用了 Tauri 的跨平台能力和 Vue 3 的响应式设计,结合了 TypeScript 的类型安全特性和 Vite 5 的快速构建,为用户提供了一个高效、安全和易用的通讯解决方案。
这是一个不错的rust练手项目,主要目主要通过此项目学习rust的线程通信,tauri框架。
#### 技术栈
Tauri: 为本项目提供了一个轻量级的、高性能的桌面应用容器,使得我们可以使用前端技术栈来开发跨平台的桌面应用。Tauri 的设计哲学是在保证安全性的前提下,尽可能减少资源占用。
Vite 5: Vite 是一个现代化的前端构建工具,它利用原生 ES 模块导入的能力来提供一个快速的开发服务器,与此同时,它也为生产环境打包提供了强大的支持。Vite 5 是其最新的版本,带来了更多的优化和特性。
Vue 3: Vue 3 是一个渐进式JavaScript框架,用于构建用户界面。它的组合式API、更好的TypeScript集成和对移动端的优化使得开发复杂的单页应用变得更加简单和高效。
TypeScript: TypeScript 是 JavaScript 的一个超集,它在 JavaScript 的基础上增加了类型系统。这让我们能够在开发过程中捕获更多的错误,并且提供更好的编辑器支持。
#### 项目结构
we-chat
|----client 客户端
| |---- src 客户端vue3源码
| |---- src-tauri 客户端rust源码
| |---- package.json 客户端npm依赖
| |---- tauri.conf.json 客户端tauri配置文件
|---- server 服务器
| |---- src 服务器rust源码
| |---- cargo.toml 服务器cargo依赖
|---- chat-core 公共包
| |---- src 公共包
| |---- cargo.toml 服务器cargo依赖
### 主要特性
- **多类型消息支持**:文本、图片、截图、音视频、文件等多种类型消息的发送与接收。
- **通讯录**:用户搜索、好友添加。
- **在线和离线功能**:支持在用户在线时实时聊天,离线时的消息存储与后续发送。
- **跨平台能力**:基于 Tauri 框架,支持 Windows、macOS 和 Linux 等主流操作系统。
#### 安装演示教程
1. cd we-chat & npm install
2. cd server & npm run --package server --bin server
3. cd client & npm run tauri dev
#### 效果



#### mac 本机双用户使用
1. 通过安装教程启动并登陆一个客户端
2. 修改client/tauri.conf.josn 中的 productName和identifier & npm run tauri build
3. 通过target/realease/bundle 中client 再启功并登陆一个客户端
#### 免责声明
1. 这里是列表文本本项目是作为一个开源项目提供的,开发者在法律允许的范围内不对软件的功能性、安全性或适用性提供任何形式的明示或暗示的保证
2. 这里是列表文本用户明确理解并同意,使用本软件的风险完全由用户自己承担,软件以"现状"和"现有"基础提供。开发者不提供任何形式的担保,无论是明示还是暗示的,包括但不限于适销性、特定用途的适用性和非侵权的担保
3. 这里是列表文本在任何情况下,开发者或其供应商都不对任何直接的、间接的、偶然的、特殊的、惩罚性的或后果性的损害承担责任,包括但不限于使用本软件产生的利润损失、业务中断、个人信息泄露或其他商业损害或损失
4. 这里是列表文本所有在本项目上进行二次开发的用户,都需承诺将本软件用于合法目的,并自行负责遵守当地的法律和法规
5. 这里是列表文本开发者有权在任何时间修改软件的功能或特性,以及本免责声明的任何部分,并且这些修改可能会以软件更新的形式体现
###### 本免责声明的最终解释权归开发者所有