122 lines
3.0 KiB
Markdown
122 lines
3.0 KiB
Markdown
# 消息系统快速部署指南
|
||
|
||
## 概述
|
||
|
||
消息系统已完全集成到现有项目架构中,使用已有的 Supabase 配置和全局实例。
|
||
|
||
## 部署步骤
|
||
|
||
### 1. 数据库设置
|
||
|
||
运行以下 SQL 脚本之一来设置数据库:
|
||
|
||
- **如果是全新数据库**:运行 `message_system.sql`
|
||
- **如果表已存在**:运行 `insert_message_types_safe.sql` 或 `update_message_system.sql`
|
||
- **检查现有表**:运行 `check_message_tables.sql`
|
||
|
||
### 2. 验证 Supabase 配置
|
||
|
||
确保 `/ak/config.uts` 中的配置正确:
|
||
|
||
```typescript
|
||
export const SUPA_URL = 'https://your-project-id.supabase.co'
|
||
export const SUPA_KEY = 'your-actual-anon-key'
|
||
```
|
||
|
||
### 3. 系统初始化
|
||
|
||
消息系统会在应用启动时自动初始化(`App.uvue` 中已配置)。
|
||
|
||
## 使用消息系统
|
||
|
||
### 页面导航
|
||
|
||
```vue
|
||
<!-- 消息中心 -->
|
||
<navigator url="/pages/msg/index">消息中心</navigator>
|
||
|
||
<!-- 写消息 -->
|
||
<navigator url="/pages/msg/compose">写消息</navigator>
|
||
|
||
<!-- 消息详情(需要传参) -->
|
||
<navigator url="/pages/msg/detail?id=message-id">消息详情</navigator>
|
||
```
|
||
|
||
### 组件使用
|
||
|
||
```vue
|
||
<template>
|
||
<view>
|
||
<!-- 消息统计 -->
|
||
<msg-stats></msg-stats>
|
||
|
||
<!-- 消息列表 -->
|
||
<msg-list :messages="messages"></msg-list>
|
||
</view>
|
||
</template>
|
||
```
|
||
|
||
### 数据服务调用
|
||
|
||
```typescript
|
||
import { MsgDataServiceReal } from '@/utils/msgDataServiceReal.uts'
|
||
import supa from '@/components/supadb/aksupainstance.uts'
|
||
|
||
// 初始化(页面中自动处理)
|
||
MsgDataServiceReal.init(supa)
|
||
|
||
// 获取消息列表
|
||
const response = await MsgDataServiceReal.getMessages({
|
||
page: 1,
|
||
limit: 20,
|
||
receiver_id: 'user-id',
|
||
// ...其他参数
|
||
})
|
||
```
|
||
|
||
## 功能验证
|
||
|
||
### 运行集成测试
|
||
|
||
```typescript
|
||
import { runMessageSystemTests } from '@/utils/msgSystemTest.uts'
|
||
|
||
// 在任意页面中运行
|
||
const results = await runMessageSystemTests()
|
||
console.log('Test results:', results)
|
||
```
|
||
|
||
### 手动验证
|
||
|
||
1. 打开消息中心页面 (`/pages/msg/index`)
|
||
2. 检查消息类型筛选是否正常
|
||
3. 尝试发送一条测试消息
|
||
4. 验证消息详情页面显示正常
|
||
|
||
## 故障排查
|
||
|
||
### 常见问题
|
||
|
||
1. **表已存在错误**:使用 `insert_message_types_safe.sql`
|
||
2. **数据服务未初始化**:检查 `App.uvue` 中是否调用了 `initMessageSystem()`
|
||
3. **Supabase 连接失败**:检查 `/ak/config.uts` 中的配置
|
||
|
||
### 调试步骤
|
||
|
||
1. 查看控制台输出
|
||
2. 运行集成测试
|
||
3. 检查数据库表结构和数据
|
||
4. 验证 Supabase 连接
|
||
|
||
## 技术架构
|
||
|
||
- **数据层**:使用现有的 Supabase 实例 (`aksupainstance.uts`)
|
||
- **服务层**:`MsgDataServiceReal` 提供所有数据操作
|
||
- **页面层**:3个主要页面(列表、详情、写消息)
|
||
- **组件层**:5个可复用组件
|
||
- **工具层**:类型定义、工具函数、测试工具
|
||
|
||
## 总结
|
||
|
||
消息系统已完全集成到现有项目中,无需额外的配置管理。只需要设置好数据库表和数据,系统即可正常运行。所有代码都遵循 UTS Android 规范,具备生产环境的稳定性和性能要求。
|