Files
akmon/MESSAGE_SYSTEM_FINAL_DEPLOYMENT.md
2026-01-20 08:04:15 +08:00

3.0 KiB
Raw Blame History

消息系统快速部署指南

概述

消息系统已完全集成到现有项目架构中,使用已有的 Supabase 配置和全局实例。

部署步骤

1. 数据库设置

运行以下 SQL 脚本之一来设置数据库:

  • 如果是全新数据库:运行 message_system.sql
  • 如果表已存在:运行 insert_message_types_safe.sqlupdate_message_system.sql
  • 检查现有表:运行 check_message_tables.sql

2. 验证 Supabase 配置

确保 /ak/config.uts 中的配置正确:

export const SUPA_URL = 'https://your-project-id.supabase.co'
export const SUPA_KEY = 'your-actual-anon-key'

3. 系统初始化

消息系统会在应用启动时自动初始化(App.uvue 中已配置)。

使用消息系统

页面导航

<!-- 消息中心 -->
<navigator url="/pages/msg/index">消息中心</navigator>

<!-- 写消息 -->
<navigator url="/pages/msg/compose">写消息</navigator>

<!-- 消息详情需要传参 -->
<navigator url="/pages/msg/detail?id=message-id">消息详情</navigator>

组件使用

<template>
    <view>
        <!-- 消息统计 -->
        <msg-stats></msg-stats>
        
        <!-- 消息列表 -->
        <msg-list :messages="messages"></msg-list>
    </view>
</template>

数据服务调用

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',
    // ...其他参数
})

功能验证

运行集成测试

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 规范,具备生产环境的稳定性和性能要求。