### Install and Run HuLa
Source: https://github.com/hulaspark/hula/blob/master/README.md
Commands to clone the HuLa repository, install dependencies, run the development server, and build the production version.
```bash
git clone https://gitee.com/HuLaSpark/HuLa.git
or
git clone https://github.com/HuLaSpark/HuLa.git
cd HuLa
pnpm install
pnpm run tauri:dev
pnpm run tauri:build
```
--------------------------------
### HuLa Project Installation and Running
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Provides commands to clone the HuLa project repository, install dependencies using pnpm, and run the development server or build for production.
```bash
git clone https://gitee.com/HulaSpark/HuLa.git
# or
git clone https://github.com/HulaSpark/HuLa.git
cd HuLa
pnpm install
pnpm run tauri:dev
pnpm run tauri:build
```
--------------------------------
### Clone HuLa Repository
Source: https://github.com/hulaspark/hula/blob/master/CONTRIBUTING.md
Clones the HuLa repository to your local machine. This is the first step after forking the project.
```bash
git clone https://github.com/HuLaSpark/HuLa.git
```
--------------------------------
### Create New Branch
Source: https://github.com/hulaspark/hula/blob/master/CONTRIBUTING.md
Creates a new branch for your contribution, allowing for organized and isolated work.
```bash
git checkout -b your-branch-name
```
--------------------------------
### Sync with Upstream Repository
Source: https://github.com/hulaspark/hula/blob/master/CONTRIBUTING.md
Fetches and merges changes from the original HuLa repository (upstream) into your local branch to keep it up-to-date.
```bash
git remote add upstream https://github.com/HuLaSpark/HuLa.git
git fetch upstream
git merge upstream/master
```
--------------------------------
### 后端获取七牛云 Token API
Source: https://github.com/hulaspark/hula/blob/master/docs/qiniu-upload.md
后端服务需要暴露的 GET 请求接口,用于客户端获取七牛云上传所需的 Token、域名和存储前缀。
```APIDOC
GET /api/qiniu/token
Description:
获取七牛云上传所需的凭证、域名和存储前缀。
Response:
application/json
{
"token": "string", // 七牛云上传Token
"domain": "string", // 七牛云存储域名
"storagePrefix": "string" // 存储前缀
}
```
--------------------------------
### HuLa Commit Interaction
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Command to initiate the interactive commit process for the HuLa project, guiding users through information input and selection.
```bash
pnpm run commit
```
--------------------------------
### Commit Work
Source: https://github.com/hulaspark/hula/blob/master/CONTRIBUTING.md
Commits your staged changes to your current branch. It's recommended to keep commits focused and concise.
```bash
pnpm run commit
```
--------------------------------
### Lint Staged Code
Source: https://github.com/hulaspark/hula/blob/master/CONTRIBUTING.md
Checks if your code adheres to the project's coding style using a pre-commit hook. This should be run before committing.
```bash
pnpm run lint:staged
```
--------------------------------
### macOS Quarantine Fix
Source: https://github.com/hulaspark/hula/blob/master/README.md
Commands to resolve certificate issues and allow the installation of downloaded applications on macOS by removing quarantine attributes.
```shell
sudo xattr -rd com.apple.quarantine /path/to/your/installer/package/name
sudo xattr -r -d com.apple.quarantine /Applications/YourAppName.app
```
--------------------------------
### Call to Action for Project Support
Source: https://github.com/hulaspark/hula/blob/master/README.md
Encourages users to star the HuLa project on GitHub as a form of support and to foster community growth.
```markdown
🌟 感谢您的关注
如果您觉得 HuLa 有价值,请给我们一个 ⭐ Star,这是对我们最大的鼓励!
让我们一起构建更好的即时通讯体验 🚀
```
--------------------------------
### Project Contact and Support Information
Source: https://github.com/hulaspark/hula/blob/master/README.md
Provides contact methods for users who have sponsored but are not listed, including GitHub issues, email, and WeChat.
```markdown
> 📝 **温馨提示**
> 该名单为手动更新,如果您已赞助但未在列表中,请联系我们:
> 🐛 [GitHub Issue](https://github.com/HuLaSpark/HuLa/issues) | 📧 邮箱: `2439646234@qq.com` | 💬 微信: `cy2439646234`
```
--------------------------------
### Community Support Request
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Encourages users to star the project on GitHub to show support and contribute to its development.
```markdown
🌟 Thank You for Your Attention
If you find HuLa valuable, please give us a ⭐ Star, which is the greatest encouragement for us!
Let's build a better instant messaging experience together 🚀
```
--------------------------------
### HuLa Supported Platforms
Source: https://github.com/hulaspark/hula/blob/master/README.md
This table outlines the platforms and minimum supported versions for the HuLa application, including desktop operating systems and mobile platforms.
```APIDOC
Platform Support:
| Platform | Supported Versions |
|---------------|--------------------|
| Windows | Windows 10, Windows 11 |
| macOS | macOS 10.5+ |
| Linux | Ubuntu 22.0+ |
| iOS/iPadOS | iOS 9.0+, iPadOS 9.0+ |
| Android | Android 8.0+ |
```
--------------------------------
### HuLa Tech Stack
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
This snippet outlines the core technologies used in the HuLa project, including frontend, build tools, and backend/cross-platform frameworks.
```Vue.js
Vue3
```
```TypeScript
TypeScript
```
```Vite
Vite7
```
```Tauri
Tauri
```
```Rust
Rust
```
```UnoCSS
UnoCss
```
```Sass
Sass
```
```pnpm
pnpm
```
--------------------------------
### Silver Sponsors
Source: https://github.com/hulaspark/hula/blob/master/README.md
Lists silver sponsors who contributed between ¥50-99, including their date of sponsorship, name, amount, and platform.
```markdown
### 🥈 银牌赞助者 (¥50-99)
| 💝 日期 | 👤 赞助者 | 💰 金额 | 🏷️ 平台 |
|---------|----------|--------|---------|
| 2025-06-26 | **m udDy🐖** | `¥88` |  |
| 2025-05-09 | **犹豫,就会败北。** | `¥88` |  |
| 2025-04-01 | **墨** | `¥88.88` |  |
| 2025-02-8 | **邓伟** | `¥88` |  |
| 2025-02-7 | **dennis** | `¥80` |  |
| 2025-02-6 | **小二** | `¥62` |  |
| 2025-05-15 | **孤鸿影** | `¥56` |  |
```
--------------------------------
### User Authentication System Features
Source: https://github.com/hulaspark/hula/blob/master/README.md
Details the features and development status of the user authentication system, including account login, QR code login, and multi-device login management.
```markdown
### 🔐 用户认证系统
| 功能 | 描述 | 状态 |
|------|------|------|
| 🔑 | 账号密码登录 |  |
| 📱 | 二维码扫码登录 |  |
| 💻 | 多设备登录管理 |  |
```
--------------------------------
### Bronze Sponsors
Source: https://github.com/hulaspark/hula/blob/master/README.md
Lists bronze sponsors who contributed between ¥20-49, including their date of sponsorship, name, amount, and platform.
```markdown
### 🥉 铜牌赞助者 (¥20-49)
| 💝 日期 | 👤 赞助者 | 💰 金额 | 🏷️ 平台 |
|---------|----------|--------|---------|
| 2025-06-03 | **洪流** | `¥20` |  |
| 2025-05-27 | **刘启成** | `¥20` |  |
| 2025-05-20 | **匿名赞助者** | `¥20` |  |
```
--------------------------------
### HuLa Project Technologies
Source: https://github.com/hulaspark/hula/blob/master/README.md
This snippet details the core technologies used in the HuLa project, including Tauri for cross-platform desktop apps, Vite for fast builds, Vue 3 for the UI, and TypeScript for type safety.
```Vue
Vue3-35495E
```
```TypeScript
TypeScript-3178C6
```
```Vite
Vite7-646CFF
```
```Tauri
Tauri-24C8DB
```
```Rust
Rust-c57c54
```
```UnoCSS
UnoCss-333333
```
```Sass
Sass-CC6699
```
```pnpm
pnpm-F69220
```
--------------------------------
### Commit Changes
Source: https://github.com/hulaspark/hula/blob/master/README.md
Command to initiate the interactive commit process for contributing changes to the project.
```bash
pnpm run commit
```
--------------------------------
### System Features
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Describes the core system functionalities of the HuLa platform, such as multi-window management, system tray notifications, image viewer, screenshot tool, file upload (Qiniu Cloud), and auto-update. Most features are completed, with the Screenshot Feature in progress.
```markdown
| Feature | Description | Status |
|---------|-------------|--------|
| 🪟 | Multi-window Management |  |
| 🔔 | System Tray Notifications |  |
| 📷 | Image Viewer |  |
| ✂️ | Screenshot Feature |  |
| 📁 | File Upload (Qiniu Cloud) |  |
| 🔄 | Auto-update System |  |
```
--------------------------------
### 使用七牛云上传文件
Source: https://github.com/hulaspark/hula/blob/master/docs/qiniu-upload.md
演示如何使用 HuLa 的 `useUpload` hook 通过七牛云上传单个文件。包括获取上传 URL 和执行上传操作。
```typescript
import { useUpload, UploadProviderEnum } from '@/hooks/useUpload'
import { UploadSceneEnum } from '@/enums'
// 创建上传hook实例
const uploadHook = useUpload()
// 使用七牛云上传
async function uploadToQiniu(filePath: string) {
try {
// 获取上传和下载URL
const result = await uploadHook.getUploadAndDownloadUrl(filePath, {
provider: UploadProviderEnum.QINIU,
scene: UploadSceneEnum.CHAT
})
// 执行上传
await uploadHook.doUpload(filePath, result.uploadUrl, result)
console.log('上传成功,下载地址:', result.downloadUrl)
return result.downloadUrl
} catch (error) {
console.error('上传失败:', error)
throw error
}
}
```
--------------------------------
### Open Source License Information
Source: https://github.com/hulaspark/hula/blob/master/README.md
Displays the FOSSA status badge for the HuLa project, indicating its open-source license compliance.
```markdown
---
## 📄 开源许可
⚖️ 许可证信息
本项目遵循开源许可协议,详细信息请查看上方许可证报告
---
```
--------------------------------
### User Experience Features
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Details the user experience enhancements in the HuLa platform, including modern UI design, dark/light theme support, and skin theme switching. All listed features are completed.
```markdown
| Feature | Description | Status |
|---------|-------------|--------|
| 🖼️ | Modern UI Design |  |
| 🌙 | Dark & Light Theme |  |
| 🎭 | Skin Theme Switching |  |
```
--------------------------------
### Contributor Information
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Provides a link to view the contributors of the HuLa project, showcasing the collaborative effort behind its development.
```markdown
```
--------------------------------
### Cross-platform Support
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Details the cross-platform compatibility of the HuLa project, covering support for desktop operating systems (Windows, macOS, Linux) and mobile operating systems (iOS, Android). Desktop support is completed, while mobile adaptation is in progress.
```markdown
| Feature | Description | Status |
|---------|-------------|--------|
| 💻 | Windows/macOS/Linux |  |
| 📱 | iOS/Android Adaptation |  |
```
--------------------------------
### AI Integration Features
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Describes the AI-related features being integrated into the HuLa platform, including an AI Chat Assistant and Multi-platform AI Support. Both features are currently in progress.
```markdown
| Feature | Description | Status |
|---------|-------------|--------|
| 🧠 | AI Chat Assistant |  |
| 🔌 | Multi-platform AI Support |  |
```
--------------------------------
### Open Source License Information
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Displays the FOSSA status badge for the project's open-source license compliance.
```markdown
---
## 📄 Open Source License
⚖️ License Information
This project follows open source license agreements. For detailed information, please check the license report above
---
```
--------------------------------
### HuLa Supported Platforms
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Details the operating systems and versions that the HuLa instant messaging system supports, highlighting its cross-platform compatibility.
```Windows
Windows 10, Windows 11
```
```macOS
macOS 10.5+
```
```Linux
Ubuntu 22.0+
```
```iOS/iPadOS
iOS 9.0+, iPadOS 9.0+
```
```Android
Android 8.0+
```
--------------------------------
### Fresh Database Migration
Source: https://github.com/hulaspark/hula/blob/master/src-tauri/migration/README.md
Drops all existing tables from the database and then reapplies all migrations. This is useful for setting up a clean database environment.
```sh
cargo run -- fresh
```
--------------------------------
### 使用默认上传方式
Source: https://github.com/hulaspark/hula/blob/master/docs/qiniu-upload.md
演示如何使用 HuLa 的 `useUpload` hook 使用默认的上传方式上传单个文件。包括获取上传 URL 和执行上传操作。
```typescript
import { useUpload, UploadProviderEnum } from '@/hooks/useUpload'
import { UploadSceneEnum } from '@/enums'
// 创建上传hook实例
const uploadHook = useUpload()
// 使用默认上传方式
async function uploadWithDefault(filePath: string) {
try {
// 获取上传和下载URL
const result = await uploadHook.getUploadAndDownloadUrl(filePath, {
provider: UploadProviderEnum.DEFAULT,
scene: UploadSceneEnum.CHAT
})
// 执行上传
await uploadHook.doUpload(filePath, result.uploadUrl, { downloadUrl: result.downloadUrl })
console.log('上传成功,下载地址:', result.downloadUrl)
return result.downloadUrl
} catch (error) {
console.error('上传失败:', error)
throw error
}
}
```
--------------------------------
### 使用七牛云分片上传大文件
Source: https://github.com/hulaspark/hula/blob/master/docs/qiniu-upload.md
演示如何使用 HuLa 的 `useUpload` hook 通过七牛云进行大文件的分片上传。支持配置分片大小和启用分片上传。
```typescript
import { useUpload, UploadProviderEnum } from '@/hooks/useUpload'
import { UploadSceneEnum } from '@/enums'
// 创建上传hook实例
const uploadHook = useUpload()
// 使用七牛云分片上传
async function uploadLargeFileToQiniu(filePath: string) {
try {
// 获取上传和下载URL
const result = await uploadHook.getUploadAndDownloadUrl(filePath, {
provider: UploadProviderEnum.QINIU,
scene: UploadSceneEnum.CHAT
})
// 执行分片上传,指定使用分片上传和分片大小(可选,默认4MB)
await uploadHook.doUpload(filePath, result.uploadUrl, {
...result,
useChunks: true,
chunkSize: 4 * 1024 * 1024 // 4MB,可根据需要调整
})
console.log('分片上传成功,下载地址:', result.downloadUrl)
return result.downloadUrl
} catch (error) {
console.error('分片上传失败:', error)
throw error
}
}
```
--------------------------------
### Social Management Features
Source: https://github.com/hulaspark/hula/blob/master/README.md
Details the social management features, including friend management, group management, online status, badges, blocking, message forwarding, and more.
```markdown
### 🤝 社交管理
| 功能 | 描述 | 状态 |
|------|------|------|
| ➕ | 好友添加与删除 |  |
| 🔍 | 好友搜索 |  |
| 🏢 | 群组创建与管理 |  |
| 🟢 | 好友在线状态 |  |
| 🎖️ | 好友徽章系统 |  |
| 🚫 | 屏蔽拉黑免打扰 |  |
| 📤 | 消息转发 |  |
| 📋 | 群公告功能 |  |
| 🏷️ | 备注昵称管理 |  |
```
--------------------------------
### User Authentication System Features
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Details the status of various user authentication features within the project, including username/password login, QR code scan login, and multi-device login management.
```APIDOC
User Authentication System:
Features:
- Username/Password Login: Status: Completed
- QR Code Scan Login: Status: Completed
- Multi-device Login Management: Status: Completed
```
--------------------------------
### Silver Sponsors
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Lists the silver sponsors of the HuLa project, including their contribution date, name, amount, and platform.
```markdown
### 🥈 Silver Sponsors ($8-14)
| 💝 Date | 👤 Sponsor | 💰 Amount | 🏷️ Platform |
|---------|----------|--------|---------|
| 2025-06-26 | **m udDy🐖** | `¥88` |  |
| 2025-05-09 | **犹豫,就会败北。** | `¥88` |  |
| 2025-04-01 | **墨** | `¥88.88` |  |
| 2025-02-8 | **邓伟** | `¥88` |  |
| 2025-02-7 | **dennis** | `¥80` |  |
| 2025-02-6 | **小二** | `¥62` |  |
| 2025-05-15 | **孤鸿影** | `¥56` |  |
```
--------------------------------
### 后端七牛云上传配置
Source: https://github.com/hulaspark/hula/blob/master/docs/qiniu-upload.md
后端服务需要提供的 API 接口,用于获取七牛云上传所需的凭证(Token)、域名和存储前缀。
```json
{
"token": "七牛云上传凭证",
"domain": "七牛云存储域名",
"storagePrefix": "存储前缀",
"region": "存储区域代码(可选,默认为z2)"
}
```
--------------------------------
### Bronze Sponsors
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Lists the bronze sponsors of the HuLa project, including their contribution date, name, amount, and platform.
```markdown
### 🥉 Bronze Sponsors ($3-7)
| 💝 Date | 👤 Sponsor | 💰 Amount | 🏷️ Platform |
|---------|----------|--------|---------|
| 2025-06-03 | **洪流** | `¥20` |  |
| 2025-05-27 | **刘启成** | `¥20` |  |
| 2025-05-20 | **匿名赞助者** | `¥20` |  |
```
--------------------------------
### Contact Information
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Provides contact details for inquiries and issue reporting, including GitHub, email, and WeChat.
```markdown
> 📝 **Friendly Reminder**
> This list is manually updated. If you have sponsored but are not listed, please contact us:
> 🐛 [GitHub Issue](https://github.com/HuLaSpark/HuLa/issues) | 📧 Email: `2439646234@qq.com` | 💬 WeChat: `cy2439646234`
```
--------------------------------
### Message Communication Features
Source: https://github.com/hulaspark/hula/blob/master/README.md
Outlines the features related to message communication, such as one-on-one chats, group chats, message recall, mentions, read status, emojis, and more.
```markdown
### 💬 消息通信
| 功能 | 描述 | 状态 |
|------|------|------|
| 👤 | 一对一私聊 |  |
| 👥 | 群组聊天 |  |
| ↩️ | 消息撤回 |  |
| 📢 | @提醒、回复功能 |  |
| 👁️ | 消息已读状态 |  |
| 😊 | 表情包功能 |  |
| 🖱️ | 消息右键菜单 |  |
| 🔗 | 链接预览卡片 |  |
| 👍 | 消息点赞互动 |  |
```
--------------------------------
### Generate New Migration
Source: https://github.com/hulaspark/hula/blob/master/src-tauri/migration/README.md
Generates a new migration file with the specified name. This is the first step in creating a new database schema change.
```sh
cargo run -- generate MIGRATION_NAME
```
--------------------------------
### 在消息策略中使用七牛云上传
Source: https://github.com/hulaspark/hula/blob/master/docs/qiniu-upload.md
演示如何在 HuLa 的消息策略中集成七牛云上传功能,用于上传图片消息,包括单文件和分片上传。
```typescript
import { messageStrategyMap } from '@/strategy/MessageStrategy'
import { MsgEnum } from '@/enums'
import { UploadProviderEnum } from '@/hooks/useUpload'
// 获取图片消息策略
const imageStrategy = messageStrategyMap[MsgEnum.IMAGE]
// 使用七牛云上传
async function uploadImageWithQiniu(path: string) {
const result = await imageStrategy.uploadFile(path, {
provider: UploadProviderEnum.QINIU
})
// 执行上传
await imageStrategy.doUpload(path, result.uploadUrl, result)
return result.downloadUrl
}
// 使用七牛云分片上传大图片
async function uploadLargeImageWithQiniu(path: string) {
const result = await imageStrategy.uploadFile(path, {
provider: UploadProviderEnum.QINIU
})
// 执行分片上传
await imageStrategy.doUpload(path, result.uploadUrl, {
...result,
useChunks: true,
chunkSize: 2 * 1024 * 1024 // 2MB分片
})
return result.downloadUrl
}
```
--------------------------------
### Apply Pending Migrations
Source: https://github.com/hulaspark/hula/blob/master/src-tauri/migration/README.md
Applies all pending database migrations. This command ensures the database schema is up-to-date with the latest migration files.
```sh
cargo run
```
```sh
cargo run -- up
```
--------------------------------
### Social Management Features
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Outlines the social management capabilities of the HuLa platform, including friend management, group management, online status, badges, blocking, message forwarding, announcements, and nicknames. Most features are completed, with Message Forwarding in progress.
```markdown
| Feature | Description | Status |
|---------|-------------|--------|
| ➕ | Add & Remove Friends |  |
| 🔍 | Friend Search |  |
| 🏢 | Group Creation & Management |  |
| 🟢 | Friend Online Status |  |
| 🎖️ | Friend Badge System |  |
| 🚫 | Block & Do Not Disturb |  |
| 📤 | Message Forwarding |  |
| 📋 | Group Announcements |  |
| 🏷️ | Nickname & Remark Management |  |
```
--------------------------------
### macOS Security Quarantine Bypass
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Instructions for macOS users to resolve potential 'damaged package' prompts by bypassing the quarantine attribute for downloaded applications.
```shell
sudo xattr -rd com.apple.quarantine path/to/your/downloaded/package
```
```shell
sudo xattr -r -d com.apple.quarantine /Applications/ApplicationName.app
```
--------------------------------
### Refresh Database Migrations
Source: https://github.com/hulaspark/hula/blob/master/src-tauri/migration/README.md
Rolls back all applied migrations and then reapplies them. This ensures all migrations are run in sequence, useful for testing migration logic.
```sh
cargo run -- refresh
```
--------------------------------
### Message Communication Features
Source: https://github.com/hulaspark/hula/blob/master/README.en.md
Details the features related to message communication within the HuLa platform, including one-on-one chat, group chat, message recall, mentions, read status, emojis, right-click menus, link previews, and likes. All listed features are completed.
```markdown
| Feature | Description | Status |
|---------|-------------|--------|
| 👤 | One-on-one Private Chat |  |
| 👥 | Group Chat |  |
| ↩️ | Message Recall |  |
| 📢 | @Mention & Reply Features |  |
| 👁️ | Message Read Status |  |
| 😊 | Emoji Features |  |
| 🖱️ | Message Right-click Menu |  |
| 🔗 | Link Preview Cards |  |
| 👍 | Message Like Interaction |  |
```
--------------------------------
### Check Migration Status
Source: https://github.com/hulaspark/hula/blob/master/src-tauri/migration/README.md
Checks and displays the status of all migrations, indicating which have been applied and which are pending.
```sh
cargo run -- status
```