27 KiB
CRMEB 项目重构计划文档
📋 文档说明
本文档基于 Clean-Room 重构原则,通过分析 CRMEB 项目的可观察行为与功能规格,制定将 CRMEB 商城系统迁移到 uni-app x (uvue) + Supabase 技术栈的重构计划。
重构原则
- 禁止复制源码:不直接使用 CRMEB 的任何 PHP/Vue 源码
- 规格驱动开发:基于功能规格和行为描述进行独立实现
- 技术栈迁移:
- 前端:Vue/UniApp → uvue (uni-app x)
- 后端:PHP/ThinkPHP → Supabase (PostgreSQL + RLS + Edge Functions)
- 组件复用:尽量不修改
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-list→components/mall/ProductList.uvueorder-item→components/mall/OrderItem.uvueaddress-selector→components/mall/AddressSelector.uvuecoupon-selector→components/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 Service → Supabase 实现方式:
-
商品列表查询
- 原实现:
StoreProductServices::getSearchList() - 新实现:PostgREST 查询 + RLS 策略
// 前端调用 await supa.from('ml_products') .select('*') .eq('status', 1) .order('created_at', { ascending: false }) .limit(20) - 原实现:
-
订单创建
- 原实现:
StoreOrderCreateServices::createOrder() - 新实现:Edge Function 或 Database Function
-- Database Function CREATE FUNCTION create_order(...) RETURNS uuid AS $$ BEGIN -- 库存检查 -- 价格计算 -- 订单创建 -- 库存扣减 END; $$ LANGUAGE plpgsql; - 原实现:
-
权限控制
- 原实现: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_ 前缀):
-
用户相关
ml_user_profiles- 用户扩展信息ml_user_addresses- 用户地址
-
商品相关
ml_products- 商品主表ml_product_skus- 商品SKUml_categories- 商品分类ml_brands- 品牌表ml_product_specs- 商品规格模板
-
店铺相关
ml_shops- 店铺表
-
订单相关
ml_orders- 订单主表ml_order_items- 订单商品明细
-
购物车
ml_shopping_cart- 购物车
-
营销相关
ml_coupon_templates- 优惠券模板ml_user_coupons- 用户优惠券
-
配送相关
ml_delivery_drivers- 配送员ml_delivery_tasks- 配送任务
-
评价相关
ml_product_reviews- 商品评价
-
用户行为
ml_user_favorites- 收藏ml_browse_history- 浏览历史ml_search_history- 搜索记录
-
系统配置
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 允许的差异
-
UI 风格差异
- 可以重新设计 UI,不要求与 CRMEB 完全一致
- 遵循现代 UI 设计规范
-
交互细节差异
- 动画效果可以不同
- 页面布局可以优化
-
非核心功能差异
- 某些营销活动(如砍价、拼团)可以简化或延后实现
- 数据统计功能可以简化
5.2 不允许的差异
-
核心业务流程
- 订单流程必须完整(创建→支付→发货→收货→完成)
- 库存扣减逻辑必须正确
- 价格计算必须准确
-
数据一致性
- 订单金额必须准确
- 库存数据必须准确
- 用户余额必须准确
-
权限控制
- 用户权限必须正确
- 数据访问权限必须正确
六、反抄袭自证
6.1 参考资料说明
本文档仅参考以下公开资料:
-
CRMEB 项目 README.md
- 仅用于了解项目功能模块和业务范围
- 未参考任何 PHP 源码实现
-
Supabase 官方文档
- https://supabase.com/docs
- 用于了解 Supabase API 使用方式
-
uni-app x 官方文档
- https://uniapp.dcloud.net.cn/uni-app-x/
- 用于了解 uvue 语法和规范
-
PostgreSQL 官方文档
- https://www.postgresql.org/docs/
- 用于了解数据库功能和语法
6.2 实现方式说明
-
数据库设计
- 基于业务需求独立设计表结构
- 使用
ml_前缀区分商城模块 - 参考现有
doc_mall/database/中的设计
-
前端实现
- 使用 uvue 语法独立编写页面
- 通过
components/supadb调用 Supabase API - 不复制任何 Vue 组件代码
-
后端实现
- 使用 Supabase RLS + Edge Functions
- 不编写任何 PHP 代码
- 业务逻辑通过数据库函数和触发器实现
6.3 代码原创性声明
- 所有代码均为基于功能规格的独立实现
- 未复制 CRMEB 项目的任何源码
- 未复制任何第三方项目的实现代码
- 仅参考公开 API 文档和规范
七、参考资料列表
7.1 官方文档
-
Supabase
-
uni-app x
-
PostgreSQL
7.2 项目内部文档
doc_mall/MODULE_ANALYSIS.md- 模块分析报告doc_mall/database/- 数据库设计文档components/supadb/SIMPLIFIED_API_GUIDE.md- Supabase API 使用指南types/mall-types.uts- 类型定义
八、总结
本文档基于 Clean-Room 重构原则,通过分析 CRMEB 项目的功能规格,制定了完整的重构计划:
- 功能规格提取:明确了所有核心业务模块的功能需求
- 架构映射:完成了 Vue→uvue、PHP→Supabase 的技术栈映射
- 实现计划:制定了详细的开发里程碑和目录结构
- 验证清单:提供了完整的测试验证标准
所有实现将基于功能规格独立开发,不复制任何源码,确保代码的原创性和合规性。
文档版本: v1.0
创建时间: 2025-01-XX
状态: ✅ 待实施