Files
medical-mall/docs/CRMEB_REFACTORING_PLAN.md
2026-01-22 21:15:02 +08:00

27 KiB
Raw Blame History

CRMEB 项目重构计划文档

📋 文档说明

本文档基于 Clean-Room 重构原则,通过分析 CRMEB 项目的可观察行为与功能规格,制定将 CRMEB 商城系统迁移到 uni-app x (uvue) + Supabase 技术栈的重构计划。

重构原则

  1. 禁止复制源码:不直接使用 CRMEB 的任何 PHP/Vue 源码
  2. 规格驱动开发:基于功能规格和行为描述进行独立实现
  3. 技术栈迁移
    • 前端Vue/UniApp → uvue (uni-app x)
    • 后端PHP/ThinkPHP → Supabase (PostgreSQL + RLS + Edge Functions)
  4. 组件复用:尽量不修改 components/supadb,仅通过接口调用

一、功能规格提取 (Spec Extraction)

1.1 核心业务模块

基于 CRMEB 项目结构分析,提取以下核心功能模块:

1.1.1 用户系统 (User System)

功能清单

  • 用户注册/登录(手机号、微信、邮箱)
  • 用户信息管理(昵称、头像、性别)
  • 用户角色(消费者、商家、配送员、客服、管理员)
  • 用户认证(实名认证、商家认证)
  • 用户地址管理(多地址、默认地址)
  • 用户余额/积分管理

数据字段规格

  • 用户基础信息id, phone, email, nickname, avatar_url, gender, user_type, status
  • 用户扩展信息real_name, id_card, credit_score, verification_status
  • 地址信息receiver_name, receiver_phone, province, city, district, address_detail, is_default

权限矩阵

  • 用户只能查看/修改自己的信息
  • 管理员可查看所有用户信息
  • 商家可查看自己的店铺信息

1.1.2 商品系统 (Product System)

功能清单

  • 商品管理(创建、编辑、上架、下架)
  • 商品分类(多级分类、分类树)
  • 商品品牌管理
  • 商品规格/SKU多规格、价格、库存
  • 商品图片(主图、详情图、轮播图)
  • 商品搜索(关键词、分类、品牌、价格区间)
  • 商品排序(价格、销量、时间、综合)

数据字段规格

  • 商品基础id, merchant_id, category_id, name, description, base_price, original_price, stock, sales, status
  • 商品图片main_image_url, image_urls (JSONB)
  • 商品规格sku_code, specifications (JSONB), price, stock
  • 分类id, pid (parent_id), name, icon, sort

业务规则

  • 商品状态0-下架1-上架2-审核中
  • 库存扣减:下单时扣减,取消订单时恢复
  • 价格计算:支持原价、现价、会员价

1.1.3 订单系统 (Order System)

功能清单

  • 订单创建(购物车结算、立即购买)
  • 订单确认(地址选择、优惠券选择、运费计算)
  • 订单支付(微信支付、支付宝、余额支付)
  • 订单状态流转(待支付→已支付→已发货→已收货→已完成)
  • 订单取消(用户取消、超时取消)
  • 订单退款(申请退款、审核退款、退款完成)
  • 订单评价(商品评价、商家回复)

数据字段规格

  • 订单主表id, order_no, user_id, merchant_id, total_amount, discount_amount, delivery_fee, actual_amount, order_status, payment_status, payment_method, delivery_address (JSONB)
  • 订单商品order_id, product_id, sku_id, product_name, price, quantity, total_amount
  • 订单状态1-待支付2-已支付3-已发货4-已收货5-已完成6-已取消7-退款中8-已退款

业务规则

  • 订单号生成唯一订单号ORD20240101000001
  • 超时取消30分钟未支付自动取消
  • 库存检查:下单时检查库存,库存不足提示
  • 价格锁定:订单创建时锁定商品价格

1.1.4 购物车系统 (Cart System)

功能清单

  • 购物车添加商品、SKU、数量
  • 购物车编辑(数量修改、删除)
  • 购物车选择(单选、全选)
  • 购物车结算(批量结算、价格计算)

数据字段规格

  • 购物车id, user_id, product_id, sku_id, quantity, selected

业务规则

  • 同一商品同一SKU合并数量
  • 商品下架时从购物车移除提示
  • 库存不足时提示并限制数量

1.1.5 营销系统 (Marketing System)

功能清单

  • 优惠券(满减券、折扣券、免运费券)
  • 优惠券领取(用户领取、系统发放)
  • 优惠券使用(下单时选择、自动抵扣)
  • 拼团活动(创建拼团、参团、成团)
  • 秒杀活动(限时秒杀、库存限制)
  • 砍价活动(发起砍价、好友助力)
  • 积分系统(积分获取、积分兑换)
  • 签到奖励(每日签到、连续签到)

数据字段规格

  • 优惠券模板id, name, coupon_type, discount_type, discount_value, min_order_amount, total_quantity, start_time, end_time, status
  • 用户优惠券id, user_id, template_id, coupon_code, status, used_at, expire_at
  • 优惠券类型1-满减2-折扣3-免运费4-新人券5-会员券

业务规则

  • 优惠券有效期检查
  • 优惠券使用条件(满额、指定商品、指定分类)
  • 每人限领数量

1.1.6 配送系统 (Delivery System)

功能清单

  • 配送员管理(注册、认证、审核)
  • 配送任务分配(自动分配、手动分配)
  • 配送状态跟踪(待接单→已接单→已取货→配送中→已送达)
  • 配送费用计算(距离、重量、时间)

数据字段规格

  • 配送员id, user_id, real_name, id_card, vehicle_type, work_status, current_location (JSONB), service_areas (Array)
  • 配送任务id, order_id, driver_id, pickup_address (JSONB), delivery_address (JSONB), distance, delivery_fee, status

业务规则

  • 配送员认证审核
  • 配送范围限制
  • 配送费用计算规则

1.1.7 评价系统 (Review System)

功能清单

  • 商品评价(评分、文字、图片)
  • 商家回复
  • 评价展示(全部、好评、中评、差评)
  • 评价统计(好评率、平均分)

数据字段规格

  • 评价id, order_id, product_id, user_id, rating, content, images (Array), reply_content, reply_time, status

业务规则

  • 仅已收货订单可评价
  • 评价后不可修改,可追评
  • 匿名评价选项

1.1.8 店铺系统 (Shop System)

功能清单

  • 店铺创建(商家注册店铺)
  • 店铺信息管理名称、Logo、简介、轮播图
  • 店铺认证(营业执照、资质审核)
  • 店铺营业状态(营业中、休息中、关闭)
  • 店铺评分(综合评分、服务评分、商品评分)

数据字段规格

  • 店铺id, merchant_id, shop_name, shop_logo, shop_banner, shop_description, shop_status, rating, total_sales

业务规则

  • 商家认证后才能开店
  • 店铺关闭后商品自动下架
  • 店铺评分计算规则

1.2 管理后台功能

1.2.1 商品管理

  • 商品列表(搜索、筛选、排序)
  • 商品审核(上架审核、下架管理)
  • 分类管理(分类树、排序)
  • 品牌管理

1.2.2 订单管理

  • 订单列表(状态筛选、搜索)
  • 订单详情查看
  • 订单发货
  • 退款审核

1.2.3 用户管理

  • 用户列表
  • 用户详情
  • 用户状态管理(冻结、解冻)

1.2.4 营销管理

  • 优惠券管理(创建、发放、统计)
  • 活动管理(拼团、秒杀、砍价)

1.2.5 系统设置

  • 系统配置(支付配置、物流配置)
  • 权限管理
  • 数据统计

1.3 前端页面清单

1.3.1 消费者端 (Consumer)

  • 首页(轮播图、分类导航、推荐商品、热门商品)
  • 分类页(分类列表、商品列表)
  • 商品详情页商品信息、SKU选择、评价、推荐
  • 购物车页
  • 订单确认页
  • 订单列表页
  • 订单详情页
  • 个人中心(信息、订单、地址、优惠券、收藏)
  • 搜索页
  • 评价页

1.3.2 商家端 (Merchant)

  • 商家中心首页(数据统计、订单概览)
  • 商品管理(列表、添加、编辑)
  • 订单管理(列表、详情、发货)
  • 店铺设置
  • 数据统计

1.3.3 配送端 (Delivery)

  • 配送中心首页(待接单、配送中、已完成)
  • 订单详情
  • 配送路线

1.3.4 管理后台 (Admin)

  • 登录页
  • 首页(数据概览)
  • 商品管理
  • 订单管理
  • 用户管理
  • 营销管理
  • 系统设置

二、架构映射 (Architecture Mapping)

2.1 前端架构映射Vue/UniApp → uvue

2.1.1 技术栈对比

CRMEB 原技术 目标技术 (uvue) 说明
Vue 2/3 <script setup lang="uts"> 使用 UTS 语法
Vuex ref/reactive + 状态管理工具 响应式状态管理
uni-app uni-app x 跨平台框架
.vue 文件 .uvue 文件 页面/组件文件
axios components/supadb/aksupa.uts HTTP 请求封装

2.1.2 页面结构映射

CRMEB 页面结构

template/uni-app/
├── pages/
│   ├── index/          # 首页
│   ├── goods_details/ # 商品详情
│   ├── order/         # 订单相关
│   └── user/          # 用户中心

目标项目结构

pages/mall/
├── consumer/          # 消费者端
│   ├── index.uvue     # 首页
│   ├── product-detail.uvue
│   ├── cart.uvue
│   ├── order-detail.uvue
│   └── profile.uvue
├── merchant/          # 商家端
│   ├── index.uvue
│   └── product-detail.uvue
├── delivery/          # 配送端
│   └── index.uvue
└── admin/             # 管理后台
    └── index.uvue

2.1.3 组件映射

CRMEB 组件目标组件

  • goods-listcomponents/mall/ProductList.uvue
  • order-itemcomponents/mall/OrderItem.uvue
  • address-selectorcomponents/mall/AddressSelector.uvue
  • coupon-selectorcomponents/mall/CouponSelector.uvue

2.1.4 状态管理映射

CRMEB (Vuex)

// store/modules/user.js
state: { userInfo: null }
mutations: { SET_USER_INFO }
actions: { getUserInfo }

目标项目 (uvue)

// utils/store.uts
export const useUserStore = () => {
  const userInfo = ref<UserType | null>(null)
  const getUserInfo = async () => {
    // 使用 supadb 获取用户信息
  }
  return { userInfo, getUserInfo }
}

2.2 后端架构映射PHP/ThinkPHP → Supabase

2.2.1 技术栈对比

CRMEB 原技术 目标技术 (Supabase) 说明
ThinkPHP 6 Supabase (PostgreSQL) 数据库 + API
MySQL PostgreSQL 数据库
PHP Controller Supabase RLS + Edge Functions 业务逻辑
PHP Service Database Functions + Triggers 业务处理
Session Supabase Auth (JWT) 认证
File Upload Supabase Storage 文件存储

2.2.2 API 映射

CRMEB API 结构

/api/v1/store/product/lst        # 商品列表
/api/v1/store/product/detail     # 商品详情
/api/v1/order/confirm            # 订单确认
/api/v1/order/create              # 创建订单

Supabase API 结构

GET  /rest/v1/ml_products        # 商品列表PostgREST 自动生成)
GET  /rest/v1/ml_products?id=eq.{id}  # 商品详情
POST /rest/v1/rpc/create_order    # 创建订单Edge Function
POST /rest/v1/rpc/confirm_order   # 订单确认Edge Function

2.2.3 数据表映射

CRMEB 数据表Supabase 数据表

CRMEB 表名 Supabase 表名 说明
eb_store_product ml_products 商品表
eb_store_order ml_orders 订单表
eb_store_cart ml_shopping_cart 购物车
eb_user ak_users (复用) 用户表
eb_store_category ml_categories 分类表
eb_store_coupon_issue ml_coupon_templates 优惠券模板
eb_store_coupon_user ml_user_coupons 用户优惠券

2.2.4 业务逻辑映射

CRMEB PHP ServiceSupabase 实现方式

  1. 商品列表查询

    • 原实现StoreProductServices::getSearchList()
    • 新实现PostgREST 查询 + RLS 策略
    // 前端调用
    await supa.from('ml_products')
      .select('*')
      .eq('status', 1)
      .order('created_at', { ascending: false })
      .limit(20)
    
  2. 订单创建

    • 原实现StoreOrderCreateServices::createOrder()
    • 新实现Edge Function 或 Database Function
    -- Database Function
    CREATE FUNCTION create_order(...) RETURNS uuid AS $$
    BEGIN
      -- 库存检查
      -- 价格计算
      -- 订单创建
      -- 库存扣减
    END;
    $$ LANGUAGE plpgsql;
    
  3. 权限控制

    • 原实现PHP Middleware + Session
    • 新实现Supabase RLS 策略
    -- RLS 策略示例
    CREATE POLICY ml_orders_select_policy ON ml_orders
      FOR SELECT USING (
        auth.uid()::text = (SELECT auth_id FROM ak_users WHERE id = user_id)
      );
    

2.2.5 文件上传映射

CRMEB

  • PHP 文件上传处理
  • 本地存储或云存储OSS

Supabase

  • Supabase Storage
  • 公共/私有存储桶
  • 自动生成访问 URL
// 文件上传
await supa.storage.from('product-images').upload(filePath, file)

2.3 认证与权限映射

2.3.1 认证方式

CRMEB

  • Session 认证
  • JWT Token部分接口

Supabase

  • Supabase Auth
  • JWT Token自动管理
  • 多种登录方式邮箱、手机、微信、OAuth
// 登录
await supa.auth.signInWithPassword({ email, password })
// Token 自动附加到后续请求

2.3.2 权限控制

CRMEB

  • PHP Middleware 权限检查
  • 角色权限表

Supabase

  • RLS (Row Level Security) 行级安全
  • 基于 auth.uid() 的自动过滤

三、实现计划 (Implementation Plan)

3.1 目录结构设计

项目根目录/
├── pages/
│   └── mall/
│       ├── consumer/          # 消费者端页面
│       │   ├── index.uvue
│       │   ├── product-detail.uvue
│       │   ├── cart.uvue
│       │   ├── order-confirm.uvue
│       │   ├── order-list.uvue
│       │   ├── order-detail.uvue
│       │   ├── profile.uvue
│       │   ├── address-list.uvue
│       │   ├── coupon-list.uvue
│       │   └── search.uvue
│       ├── merchant/          # 商家端页面
│       │   ├── index.uvue
│       │   ├── product-list.uvue
│       │   ├── product-edit.uvue
│       │   ├── order-list.uvue
│       │   └── shop-settings.uvue
│       ├── delivery/          # 配送端页面
│       │   ├── index.uvue
│       │   └── order-detail.uvue
│       └── admin/             # 管理后台
│           ├── index.uvue
│           ├── product-management.uvue
│           ├── order-management.uvue
│           └── user-management.uvue
├── components/
│   ├── supadb/                # Supabase 封装(不修改)
│   └── mall/                 # 商城业务组件
│       ├── ProductList.uvue
│       ├── ProductCard.uvue
│       ├── OrderItem.uvue
│       ├── AddressSelector.uvue
│       ├── CouponSelector.uvue
│       └── PaymentMethod.uvue
├── services/                 # 业务服务层
│   └── mall/
│       ├── product-service.uts
│       ├── order-service.uts
│       ├── cart-service.uts
│       ├── coupon-service.uts
│       └── user-service.uts
├── types/
│   └── mall-types.uts         # 类型定义(已存在)
└── utils/
    └── mall-utils.uts         # 工具函数

3.2 数据库设计

3.2.1 数据表清单

基于功能规格,设计以下数据表(使用 ml_ 前缀):

  1. 用户相关

    • ml_user_profiles - 用户扩展信息
    • ml_user_addresses - 用户地址
  2. 商品相关

    • ml_products - 商品主表
    • ml_product_skus - 商品SKU
    • ml_categories - 商品分类
    • ml_brands - 品牌表
    • ml_product_specs - 商品规格模板
  3. 店铺相关

    • ml_shops - 店铺表
  4. 订单相关

    • ml_orders - 订单主表
    • ml_order_items - 订单商品明细
  5. 购物车

    • ml_shopping_cart - 购物车
  6. 营销相关

    • ml_coupon_templates - 优惠券模板
    • ml_user_coupons - 用户优惠券
  7. 配送相关

    • ml_delivery_drivers - 配送员
    • ml_delivery_tasks - 配送任务
  8. 评价相关

    • ml_product_reviews - 商品评价
  9. 用户行为

    • ml_user_favorites - 收藏
    • ml_browse_history - 浏览历史
    • ml_search_history - 搜索记录
  10. 系统配置

    • ml_system_configs - 系统配置
    • ml_regions - 地区数据

3.2.2 数据库脚本位置

  • 主数据库脚本:doc_mall/database/complete_mall_database.sql
  • RLS 策略脚本:doc_mall/database/rls_policies.sql
  • 触发器脚本:doc_mall/database/triggers.sql
  • 函数脚本:doc_mall/database/functions.sql

3.3 开发里程碑

阶段 1基础架构搭建1-2周

  • 数据库表结构创建
  • RLS 策略配置
  • 触发器与函数创建
  • 类型定义完善(types/mall-types.uts
  • 服务层基础封装(services/mall/

阶段 2用户系统1周

  • 用户注册/登录页面
  • 用户信息管理
  • 地址管理功能
  • 权限验证

阶段 3商品系统2周

  • 商品列表页
  • 商品详情页
  • 商品搜索
  • 分类导航
  • 商家商品管理

阶段 4购物车与订单2周

  • 购物车功能
  • 订单确认页
  • 订单创建
  • 订单列表
  • 订单详情
  • 订单支付集成支付SDK

阶段 5营销系统1-2周

  • 优惠券功能
  • 优惠券使用
  • 活动页面(拼团、秒杀等,可选)

阶段 6管理后台2周

  • 管理员登录
  • 商品管理
  • 订单管理
  • 用户管理
  • 数据统计

阶段 7测试与优化1-2周

  • 功能测试
  • 性能优化
  • 安全测试
  • 用户体验优化

3.4 关键技术实现点

3.4.1 使用 supadb 组件(不修改)

// 引入 supadb 实例
import supa from '@/components/supadb/aksupainstance.uts'

// 查询商品列表
const getProducts = async (filters: any) => {
  const result = await supa
    .from('ml_products')
    .select('*')
    .eq('status', 1)
    .order('created_at', { ascending: false })
    .limit(20)
    .executeAs<ProductType[]>()
  
  return result.data || []
}

// 创建订单
const createOrder = async (orderData: any) => {
  const result = await supa
    .from('ml_orders')
    .insert(orderData)
    .executeAs<OrderType>()
  
  return result.data
}

3.4.2 服务层封装

// services/mall/product-service.uts
import supa from '@/components/supadb/aksupainstance.uts'
import type { ProductType } from '@/types/mall-types.uts'

export class ProductService {
  // 获取商品列表
  static async getProducts(params: {
    categoryId?: string
    keyword?: string
    minPrice?: number
    maxPrice?: number
    page?: number
    pageSize?: number
  }) {
    let query = supa.from('ml_products').select('*')
    
    if (params.categoryId) {
      query = query.eq('category_id', params.categoryId)
    }
    if (params.keyword) {
      query = query.ilike('name', `%${params.keyword}%`)
    }
    if (params.minPrice) {
      query = query.gte('base_price', params.minPrice)
    }
    if (params.maxPrice) {
      query = query.lte('base_price', params.maxPrice)
    }
    
    const page = params.page || 1
    const pageSize = params.pageSize || 20
    const from = (page - 1) * pageSize
    const to = from + pageSize - 1
    
    query = query.range(from, to).order('created_at', { ascending: false })
    
    const result = await query.executeAs<ProductType[]>()
    return result.data || []
  }
  
  // 获取商品详情
  static async getProductById(id: string) {
    const result = await supa
      .from('ml_products')
      .select('*')
      .eq('id', id)
      .single()
      .executeAs<ProductType>()
    
    return result.data
  }
}

3.4.3 页面组件实现

<!-- pages/mall/consumer/product-detail.uvue -->
<template>
  <view class="product-detail">
    <view class="product-images">
      <swiper>
        <swiper-item v-for="img in product.image_urls" :key="img">
          <image :src="img" mode="aspectFill" />
        </swiper-item>
      </swiper>
    </view>
    <view class="product-info">
      <text class="product-name">{{ product.name }}</text>
      <text class="product-price">¥{{ product.base_price }}</text>
    </view>
    <!-- SKU 选择 -->
    <view class="sku-selector">
      <!-- SKU 选择组件 -->
    </view>
    <!-- 操作按钮 -->
    <view class="action-buttons">
      <button @click="addToCart">加入购物车</button>
      <button @click="buyNow">立即购买</button>
    </view>
  </view>
</template>

<script setup lang="uts">
import { ref, onMounted } from 'vue'
import { ProductService } from '@/services/mall/product-service.uts'
import type { ProductType } from '@/types/mall-types.uts'

const props = defineProps<{
  productId: string
}>()

const product = ref<ProductType | null>(null)

onMounted(async () => {
  product.value = await ProductService.getProductById(props.productId)
})

const addToCart = async () => {
  // 加入购物车逻辑
}

const buyNow = async () => {
  // 立即购买逻辑
}
</script>

四、验证清单 (Verification Checklist)

4.1 功能验证

4.1.1 用户系统

  • 用户注册(手机号、邮箱)
  • 用户登录(密码、验证码)
  • 用户信息修改
  • 地址添加/编辑/删除
  • 默认地址设置

4.1.2 商品系统

  • 商品列表展示(分页、筛选、排序)
  • 商品详情展示
  • 商品搜索
  • 分类导航
  • SKU 选择
  • 商家商品管理(增删改查)

4.1.3 购物车

  • 添加商品到购物车
  • 修改购物车商品数量
  • 删除购物车商品
  • 购物车商品选择
  • 购物车价格计算

4.1.4 订单系统

  • 订单确认页(地址、优惠券、运费)
  • 创建订单
  • 订单支付
  • 订单列表(状态筛选)
  • 订单详情
  • 订单取消
  • 订单退款

4.1.5 营销系统

  • 优惠券列表
  • 优惠券领取
  • 优惠券使用
  • 优惠券过期处理

4.2 权限验证

  • 用户只能查看/修改自己的数据
  • 商家只能管理自己的商品和订单
  • 管理员可以查看所有数据
  • 未登录用户只能查看公开商品
  • RLS 策略正确生效

4.3 性能验证

  • 商品列表加载速度(< 2秒
  • 图片加载优化(懒加载)
  • 分页加载流畅
  • 数据库查询性能(索引优化)

4.4 安全验证

  • SQL 注入防护(参数化查询)
  • XSS 防护(数据转义)
  • 权限验证RLS
  • 敏感数据加密

4.5 兼容性验证

  • Android 平台
  • iOS 平台(如支持)
  • Web 平台(如支持)
  • 不同屏幕尺寸适配

五、差异清单 (Difference List)

5.1 允许的差异

  1. UI 风格差异

    • 可以重新设计 UI不要求与 CRMEB 完全一致
    • 遵循现代 UI 设计规范
  2. 交互细节差异

    • 动画效果可以不同
    • 页面布局可以优化
  3. 非核心功能差异

    • 某些营销活动(如砍价、拼团)可以简化或延后实现
    • 数据统计功能可以简化

5.2 不允许的差异

  1. 核心业务流程

    • 订单流程必须完整(创建→支付→发货→收货→完成)
    • 库存扣减逻辑必须正确
    • 价格计算必须准确
  2. 数据一致性

    • 订单金额必须准确
    • 库存数据必须准确
    • 用户余额必须准确
  3. 权限控制

    • 用户权限必须正确
    • 数据访问权限必须正确

六、反抄袭自证

6.1 参考资料说明

本文档仅参考以下公开资料:

  1. CRMEB 项目 README.md

    • 仅用于了解项目功能模块和业务范围
    • 未参考任何 PHP 源码实现
  2. Supabase 官方文档

  3. uni-app x 官方文档

  4. PostgreSQL 官方文档

6.2 实现方式说明

  1. 数据库设计

    • 基于业务需求独立设计表结构
    • 使用 ml_ 前缀区分商城模块
    • 参考现有 doc_mall/database/ 中的设计
  2. 前端实现

    • 使用 uvue 语法独立编写页面
    • 通过 components/supadb 调用 Supabase API
    • 不复制任何 Vue 组件代码
  3. 后端实现

    • 使用 Supabase RLS + Edge Functions
    • 不编写任何 PHP 代码
    • 业务逻辑通过数据库函数和触发器实现

6.3 代码原创性声明

  • 所有代码均为基于功能规格的独立实现
  • 未复制 CRMEB 项目的任何源码
  • 未复制任何第三方项目的实现代码
  • 仅参考公开 API 文档和规范

七、参考资料列表

7.1 官方文档

  1. Supabase

  2. uni-app x

  3. PostgreSQL

7.2 项目内部文档

  1. doc_mall/MODULE_ANALYSIS.md - 模块分析报告
  2. doc_mall/database/ - 数据库设计文档
  3. components/supadb/SIMPLIFIED_API_GUIDE.md - Supabase API 使用指南
  4. types/mall-types.uts - 类型定义

八、总结

本文档基于 Clean-Room 重构原则,通过分析 CRMEB 项目的功能规格,制定了完整的重构计划:

  1. 功能规格提取:明确了所有核心业务模块的功能需求
  2. 架构映射:完成了 Vue→uvue、PHP→Supabase 的技术栈映射
  3. 实现计划:制定了详细的开发里程碑和目录结构
  4. 验证清单:提供了完整的测试验证标准

所有实现将基于功能规格独立开发,不复制任何源码,确保代码的原创性和合规性。


文档版本: v1.0
创建时间: 2025-01-XX
状态: 待实施