# 轻聊之小程序版 **Repository Path**: itrident-im/trident-easychat-applet ## Basic Information - **Project Name**: 轻聊之小程序版 - **Description**: 三叉戟轻聊之小程序-TS【Uniapp + Vue3 + Vite + Ts + Axios + Better-scroll + Crypto-js + Pinia + Vant + Vue-cropper + Sass + Websocket】 - **Primary Language**: TypeScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2024-12-15 - **Last Updated**: 2026-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 三叉戟轻聊小程序 ## 介绍 三叉戟轻聊小程序是一款基于 Uniapp 开发的跨平台小程序,使用 Vue3、TypeScript 和 Pinia 等现代前端技术构建。它实现了聊天、联系人管理、用户设置、群组管理等功能,适用于构建轻量级即时通讯应用。 ### 技术栈 1. **Uniapp** - 跨平台开发框架 2. **Vue3** - 前端框架 3. **TypeScript (Ts)** - 类型安全的 JavaScript 超集 4. **Pinia + pinia-plugin-persistedstate** - 状态管理 5. **Sass** - CSS 预处理器 6. **Z-paging** - 分页组件 7. **Websocket** - 实时通信 8. **pinyin-pro** - 拼音处理 9. **uv-ui** - UI 组件库 ## 软件架构 该项目采用模块化架构,主要分为以下几个部分: - **页面模块**:包含多个页面,如聊天页面、联系人页面、用户设置页面等。 - **组件模块**:封装了多个可复用的 UI 组件,如 `TridentButton`、`TridentNavBar` 等。 - **API 模块**:封装了与后端交互的接口,如 `chatTarget.ts`、`friend.ts` 等。 - **状态管理模块**:使用 Pinia 进行全局状态管理,并通过 `pinia-plugin-persistedstate` 实现状态持久化。 - **工具模块**:包含 `httpRequest.ts` 和 `ws.ts`,分别用于网络请求和 WebSocket 通信。 ## 安装教程 1. 安装项目依赖: ```bash npm install ``` 2. 安装额外依赖: ```bash npm i @vueuse/core npm i nprogress npm i pinia npm i pinia-plugin-persistedstate npm i z-paging npm i sass npm i pinyin-pro npm i @climblee/uv-ui ``` ## 使用说明 1. **启动项目**:使用 HBuilderX 或其他支持 Uniapp 的 IDE 打开项目并运行。 2. **页面导航**:通过底部 TabBar 可以在主要功能页面之间切换,如首页、发现、通讯录、我的。 3. **聊天功能**:在聊天页面中,可以发送和接收消息,支持实时 WebSocket 通信。 4. **用户设置**:可以在“我的”页面中修改个人信息、密码、绑定手机号等。 5. **联系人管理**:支持添加、删除、搜索联系人,并可查看联系人详细信息。 ## 问题说明 1. **支付宝小程序键盘高度问题**:在聊天页面中,支付宝小程序可能会出现键盘高度计算不准确的问题。 2. **微信小程序键盘高度不稳定**:在微信小程序中,聊天页面的键盘高度有时会出现不稳定的情况。 ## 参与贡献 1. Fork 本仓库。 2. 新建 `Feat_xxx` 分支。 3. 提交代码。 4. 新建 Pull Request。 ## 特技 - 支持跨平台运行(微信、支付宝等)。 - 使用 WebSocket 实现实时聊天功能。 - 支持拼音搜索联系人。 - 使用 Pinia 进行状态管理,并通过插件实现状态持久化。 - 使用 `uv-ui` 提供丰富的 UI 组件,提升用户体验。