Files
sale/商品售卖网站技术文档.md

34 KiB
Raw Permalink Blame History

商品售卖网站技术文档

1. 项目概述

本项目是一个多功能商品售卖平台,支持管理员后台、供货商后台和用户前端,具备完整的商品管理、订单处理、库存管理、多语言支持等功能。

2. 技术栈选择

2.1 前端技术

  • 框架Vue 3 + Vite
  • 状态管理Pinia
  • 路由Vue Router
  • UI 库Element Plus
  • 样式SCSS
  • 国际化i18n
  • HTTP 客户端Axios

2.2 后端技术

  • 语言Go 1.20+
  • Web 框架Gin
  • 数据库SQLite(默认)/ MySQL / PostgreSQL
  • 缓存Redis
  • 认证JWT
  • ORMGORM
  • 邮件服务SMTP

3. 系统架构

3.1 架构图

┌─────────────────────────────────────────────────────────────────────┐
│                              前端层                               │
├─────────────────────┬─────────────────────┬───────────────────────┤
│     用户前端        │   管理员后台        │    供货商后台         │
└─────────┬──────────┴─────────┬──────────┴──────────┬──────────────┘
          │                    │                    │
┌─────────▼────────────────────▼────────────────────▼──────────────┐
│                              API 层                             │
└───────────────────────────────┬──────────────────────────────────┘
                                │
┌───────────────────────────────▼──────────────────────────────────┐
│                           服务层                                │
└───────────────────────────────┬──────────────────────────────────┘
                                │
┌───────────────────────────────▼──────────────────────────────────┐
│                          数据层                                 │
└───────────────────────────────────────────────────────────────────┘

4. 功能模块设计

4.1 核心模块

4.1.1 用户管理

  • 用户注册:支持邮箱注册,需验证邮箱,可通过邀请码注册获得额外购买资格
  • 用户登录:支持邮箱密码登录,可记住密码,登录失败次数限制
  • 忘记密码:通过邮箱验证码重置密码
  • 邮箱验证:注册和修改邮箱时需验证,确保邮箱有效性
  • 个人中心:展示用户基本信息、购买资格、订单历史、收藏夹等
  • 收货地址管理:支持添加、编辑、删除收货地址,设置默认地址
  • 密码修改:定期提醒用户修改密码,支持密码强度检测
  • 邀请系统:生成个人邀请码,邀请新用户注册可获得购买资格奖励

4.1.2 商品管理

  • 商品分类管理:支持多级分类,可设置分类图标、排序,支持分类购买限制
  • 品牌管理:支持品牌创建、编辑、删除,可设置品牌Logo、描述、排序
  • 商品信息管理:支持商品名称、描述、价格、库存、图片等基本信息管理
  • 自定义字段:支持为商品添加自定义字段,如颜色、尺寸、材质等属性
  • 商品价格设置:支持设置基础价格、促销价格、会员价格等
  • 购买资格设置:设置商品是否需要购买资格才能购买
  • 购买限制设置
    • 商品级限制:最低/最高购买数量、重量、金额
    • 分类级限制:最低/最高购买数量、重量、金额
  • 商品多分类归属:支持一个商品属于多个分类
  • 商品品牌关联:支持为商品关联品牌
  • 库存管理:实时库存监控,库存预警,支持供货商独立管理库存

4.1.3 订单管理

  • 购物车功能:支持添加/删除商品,调整数量,查看总价,保存购物车状态
  • 订单创建与支付:支持多种支付方式,订单创建后自动扣除购买资格
  • 订单状态跟踪:订单状态实时更新,包括待支付、待确认、待发货、已发货、已完成、已退款等
  • 订单导出:支持导出订单为Excel、CSV等格式
  • 订单确认与发货:供货商可确认订单,上传发货照片、快递单照片和报关清单
  • 物流信息管理:支持添加快递单号,实时跟踪物流状态
  • 订单退款
    • 未发货订单可申请退款
    • 已发货订单不允许退款
    • 退款时扣除管理员设置的通道费率
    • 退款状态跟踪与管理

4.1.4 供货商管理

  • 供货商注册与授权:管理员添加和授权供货商,设置供货商权限
  • 商品授权管理:管理员授权特定分类或商品给供货商管理
  • 库存管理:供货商可独立管理授权商品的库存数量,实时更新
  • 订单处理:供货商可查看分配给自己的订单,确认订单状态
  • 发货管理:供货商可上传发货照片、快递单照片和报关清单,添加快递单号
  • 销售统计:供货商可查看自己的销售数据和库存状态

4.1.5 管理员功能

  • 仪表盘统计:显示用户数、商品数、订单数、营收等统计数据
  • 系统设置
    • 网站基本信息设置
    • 验证码开关设置
    • 通道费率设置
  • SMTP 配置:配置邮件发送服务器,用于验证码、订单通知等
  • 支付通道配置:配置多种支付方式,如支付宝、微信支付等
  • 运费设置:设置首重、续重费用,支持不同地区运费设置
  • 服务费设置:设置服务费费率,支持按订单金额比例计算
  • 邀请奖励设置:设置邀请X人赠送X个购买资格
  • 抽奖系统:创建和管理抽奖活动,设置奖品和规则
  • 工单管理:查看、分配、处理用户提交的工单

4.1.6 资讯模块

  • 资讯发布:管理员可创建、编辑、删除资讯文章
  • 资讯置顶:支持设置资讯为置顶状态,置顶资讯优先显示
  • 资讯排序:支持自定义排序,置顶资讯按排序字段显示
  • 资讯封面:支持设置资讯封面图片
  • 资讯摘要:支持设置资讯摘要信息
  • 发布控制:支持设置资讯为草稿或已发布状态
  • 用户端浏览:用户可浏览已发布的资讯列表和详情

4.1.7 多语言支持

  • 语言切换:支持中文、日语、英语三种语言切换
  • 语言配置:管理员可配置各语言的翻译内容
  • 语言偏好:保存用户语言偏好,下次访问自动使用

4.2 特色功能

4.2.1 购买资格系统

  • 商品购买资格设置:设置商品是否需要购买资格,需要多少资格
  • 邀请赠送资格:邀请新用户注册可获得购买资格奖励
  • 抽奖获得资格:通过参与抽奖活动获得购买资格
  • 资格管理:用户可查看自己的购买资格数量和使用记录

4.2.2 抽奖系统

  • 自定义抽奖物品:支持设置实物奖品、虚拟奖品和购买资格
  • 购买权重抽奖:根据用户购买金额计算权重,权重越高中奖概率越大
  • 随机抽奖:完全随机抽取中奖用户
  • 周期抽奖:支持设置每日、每周、每月等周期抽奖
  • 报名有效期设置:设置用户报名一次,可参与多期抽奖的有效期
  • 抽奖结果公示:自动公示抽奖结果,保证公平透明

4.2.3 工单系统

  • 用户提交工单:用户可提交问题、建议、投诉等工单
  • 工单分类:支持多种工单类型,如订单问题、账户问题、商品问题等
  • 管理员处理工单:管理员可分配、处理、回复工单
  • 工单状态跟踪:实时更新工单状态,如待处理、处理中、已解决、已关闭等
  • 工单历史:用户可查看自己的工单历史和处理记录

5. 数据库设计

5.0 数据库配置

系统支持三种数据库,通过环境变量 DB_DRIVER 配置:

DB_DRIVER 值 数据库 说明
sqlite SQLite 默认,无需额外安装,文件存储在 DB_FILEPATH 指定路径
mysql MySQL 需配置 DB_HOSTDB_PORTDB_USERDB_PASSWORDDB_NAME
postgres PostgreSQL 需配置 DB_HOSTDB_PORTDB_USERDB_PASSWORDDB_NAMEDB_SSLMODE

环境变量配置示例

# SQLite(默认)
DB_DRIVER=sqlite
DB_FILEPATH=sale.db

# MySQL
DB_DRIVER=mysql
DB_HOST=localhost
DB_PORT=3306
DB_USER=root
DB_PASSWORD=password
DB_NAME=sale

# PostgreSQL
DB_DRIVER=postgres
DB_HOST=localhost
DB_PORT=5432
DB_USER=postgres
DB_PASSWORD=password
DB_NAME=sale
DB_SSLMODE=disable

5.1 用户表 (users)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 用户ID
username VARCHAR(50) UNIQUE NOT NULL 用户名
email VARCHAR(100) UNIQUE NOT NULL 邮箱
password_hash VARCHAR(255) NOT NULL 密码哈希
role VARCHAR(20) NOT NULL 角色(user/supplier/admin)
purchase_credits INTEGER DEFAULT 0 购买资格数量
invite_code VARCHAR(20) UNIQUE 邀请码
referred_by INTEGER REFERENCES users(id) 推荐人ID
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 更新时间

5.2 商品分类表 (categories)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 分类ID
name VARCHAR(100) NOT NULL 分类名称
description TEXT 分类描述
parent_id INTEGER REFERENCES categories(id) 父分类ID
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 更新时间

5.3 品牌表 (brands)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 品牌ID
name VARCHAR(255) UNIQUE NOT NULL 品牌名称
description TEXT 品牌描述
logo VARCHAR(500) 品牌Logo URL
sort_order INTEGER DEFAULT 0 排序
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 更新时间

5.4 商品表 (products)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 商品ID
name VARCHAR(255) NOT NULL 商品名称
description TEXT 商品描述
price DECIMAL(10,2) NOT NULL 商品价格
min_purchase INTEGER DEFAULT 1 最低购买数量
max_purchase INTEGER 最大购买数量
min_weight DECIMAL(10,2) 最低购买重量
max_weight DECIMAL(10,2) 最大购买重量
require_credit BOOLEAN DEFAULT FALSE 是否需要购买资格
credit_cost INTEGER DEFAULT 0 购买所需资格数量
credit_reward INTEGER DEFAULT 0 购买后赠送的资格数量
images TEXT 商品图片(JSON数组)
is_active BOOLEAN DEFAULT TRUE 是否上架
brand_id INTEGER REFERENCES brands(id) 品牌ID
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 更新时间

5.5 商品自定义字段表 (product_custom_fields)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 字段ID
product_id INTEGER REFERENCES products(id) 商品ID
field_name VARCHAR(100) NOT NULL 字段名称
field_value TEXT 字段值
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间

5.6 库存表 (inventory)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 库存ID
product_id INTEGER REFERENCES products(id) 商品ID
supplier_id INTEGER REFERENCES users(id) 供货商ID
quantity INTEGER DEFAULT 0 库存数量
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 更新时间

5.7 购物车表 (carts)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 购物车ID
user_id INTEGER REFERENCES users(id) 用户ID
product_id INTEGER REFERENCES products(id) 商品ID
quantity INTEGER NOT NULL 数量
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 更新时间

5.8 订单表 (orders)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 订单ID
user_id INTEGER REFERENCES users(id) 用户ID
supplier_id INTEGER REFERENCES users(id) 供货商ID
subtotal DECIMAL(10,2) NOT NULL 商品小计
shipping_fee DECIMAL(10,2) DEFAULT 0 运费
service_fee DECIMAL(10,2) DEFAULT 0 服务费
tax DECIMAL(10,2) DEFAULT 0 税费
total_amount DECIMAL(10,2) NOT NULL 订单总金额
refund_amount DECIMAL(10,2) 退款金额
refund_status VARCHAR(20) 退款状态
refund_reason TEXT 退款原因
status VARCHAR(20) NOT NULL 订单状态
shipping_address_id INTEGER REFERENCES addresses(id) 收货地址ID
tracking_number VARCHAR(100) 快递单号
shipping_photo TEXT 发货照片
express_photo TEXT 快递单照片
customs_photo TEXT 报关清单照片
payment_method VARCHAR(50) 支付方式
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 更新时间

5.9 订单商品表 (order_items)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 订单项ID
order_id INTEGER REFERENCES orders(id) 订单ID
product_id INTEGER REFERENCES products(id) 商品ID
quantity INTEGER NOT NULL 数量
price DECIMAL(10,2) NOT NULL 单价

5.10 收货地址表 (addresses)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 地址ID
user_id INTEGER REFERENCES users(id) 用户ID
name VARCHAR(50) NOT NULL 收件人姓名
phone VARCHAR(20) NOT NULL 联系电话
address TEXT NOT NULL 详细地址
is_default BOOLEAN DEFAULT FALSE 是否默认地址
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 更新时间

5.11 抽奖表 (lotteries)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 抽奖ID
name VARCHAR(100) NOT NULL 抽奖名称
description TEXT 抽奖描述
start_time TIMESTAMP NOT NULL 开始时间
end_time TIMESTAMP NOT NULL 结束时间
cycle VARCHAR(20) 周期类型
daily_quota INTEGER 每日限额
total_quota INTEGER 总限额
registration_validity INTEGER 报名有效期(天)
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 更新时间

5.12 抽奖奖品表 (lottery_prizes)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 奖品ID
lottery_id INTEGER REFERENCES lotteries(id) 抽奖ID
name VARCHAR(100) NOT NULL 奖品名称
type VARCHAR(20) NOT NULL 奖品类型
quantity INTEGER NOT NULL 奖品数量
weight INTEGER DEFAULT 1 权重
credit_reward INTEGER 赠送资格数量

5.13 抽奖参与表 (lottery_participants)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 参与ID
lottery_id INTEGER REFERENCES lotteries(id) 抽奖ID
user_id INTEGER REFERENCES users(id) 用户ID
purchase_weight INTEGER DEFAULT 0 购买权重
registered_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 报名时间

5.14 工单表 (tickets)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 工单ID
user_id INTEGER REFERENCES users(id) 用户ID
title VARCHAR(200) NOT NULL 工单标题
content TEXT NOT NULL 工单内容
status VARCHAR(20) NOT NULL 工单状态
assigned_to INTEGER REFERENCES users(id) 处理人ID
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 更新时间

5.15 系统设置表 (system_settings)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 设置ID
key VARCHAR(100) UNIQUE NOT NULL 设置键
value TEXT 设置值
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 更新时间

5.16 供应商授权表 (supplier_authorizations)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 授权ID
supplier_id INTEGER NOT NULL 供货商ID
type VARCHAR(20) NOT NULL 授权类型(category/product)
ref_id INTEGER NOT NULL 关联ID

5.17 资讯表 (articles)

字段名 数据类型 约束 描述
id SERIAL PRIMARY KEY 资讯ID
title VARCHAR(255) NOT NULL 标题
content TEXT NOT NULL 内容
summary VARCHAR(500) 摘要
cover_image VARCHAR(500) 封面图URL
is_pinned BOOLEAN DEFAULT FALSE 是否置顶
is_published BOOLEAN DEFAULT TRUE 是否发布
sort_order INTEGER DEFAULT 0 排序
author_id INTEGER REFERENCES users(id) 作者ID
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 创建时间
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 更新时间

6. API 接口设计

6.1 用户相关接口

API 路径 方法 模块 功能描述
/api/auth/register POST 认证 用户注册
/api/auth/login POST 认证 用户登录
/api/auth/forgot-password POST 认证 忘记密码
/api/auth/reset-password POST 认证 重置密码
/api/auth/verify-email GET 认证 邮箱验证
/api/users/profile GET 用户 获取个人资料
/api/users/profile PUT 用户 更新个人资料
/api/users/password PUT 用户 修改密码
/api/users/addresses GET 用户 获取收货地址列表
/api/users/addresses POST 用户 添加收货地址
/api/users/addresses/:id PUT 用户 更新收货地址
/api/users/addresses/:id DELETE 用户 删除收货地址
/api/users/addresses/:id/default PUT 用户 设置默认地址

6.2 商品相关接口

API 路径 方法 模块 功能描述
/api/products GET 商品 获取商品列表
/api/products/:id GET 商品 获取商品详情
/api/admin/products GET 商品 获取商品列表(管理员)
/api/admin/products POST 商品 创建商品
/api/admin/products/:id PUT 商品 更新商品
/api/admin/products/:id DELETE 商品 删除商品
/api/admin/products/:id/custom-fields POST 商品 添加自定义字段
/api/categories GET 分类 获取分类列表
/api/admin/categories POST 分类 创建分类
/api/admin/categories/:id PUT 分类 更新分类
/api/admin/categories/:id DELETE 分类 删除分类
/api/brands GET 品牌 获取品牌列表
/api/admin/brands GET 品牌 获取品牌列表(管理员)
/api/admin/brands POST 品牌 创建品牌
/api/admin/brands/:id PUT 品牌 更新品牌
/api/admin/brands/:id DELETE 品牌 删除品牌

6.3 购物车与订单接口

API 路径 方法 模块 功能描述
/api/cart GET 购物车 获取购物车内容
/api/cart POST 购物车 添加商品到购物车
/api/cart/:id PUT 购物车 更新购物车商品数量
/api/cart/:id DELETE 购物车 删除购物车商品
/api/orders GET 订单 获取用户订单列表
/api/orders/:id GET 订单 获取订单详情
/api/orders POST 订单 创建订单
/api/supplier/orders GET 订单 获取供货商订单列表
/api/supplier/orders/:id/confirm PUT 订单 确认订单
/api/supplier/orders/:id/ship PUT 订单 确认发货
/api/admin/orders GET 订单 获取所有订单
/api/admin/orders/export GET 订单 导出订单表格

6.4 库存管理接口

API 路径 方法 模块 功能描述
/api/supplier/inventory GET 库存 获取供货商库存列表
/api/supplier/inventory/:id PUT 库存 更新库存数量
/api/admin/inventory GET 库存 获取所有库存

6.5 供货商管理接口

API 路径 方法 模块 功能描述
/api/admin/suppliers GET 供货商 获取供货商列表
/api/admin/suppliers POST 供货商 添加供货商
/api/admin/suppliers/:id PUT 供货商 更新供货商信息
/api/admin/suppliers/:id DELETE 供货商 删除供货商
/api/admin/suppliers/:id/authorize POST 供货商 授权商品/分类

6.6 抽奖系统接口

API 路径 方法 模块 功能描述
/api/lotteries GET 抽奖 获取抽奖列表
/api/lotteries/:id GET 抽奖 获取抽奖详情
/api/lotteries/:id/register POST 抽奖 报名抽奖
/api/admin/lotteries POST 抽奖 创建抽奖
/api/admin/lotteries/:id PUT 抽奖 更新抽奖
/api/admin/lotteries/:id DELETE 抽奖 删除抽奖
/api/admin/lotteries/:id/prizes POST 抽奖 添加奖品
/api/admin/lotteries/:id/draw POST 抽奖 执行抽奖

6.7 工单系统接口

API 路径 方法 模块 功能描述
/api/tickets GET 工单 获取用户工单列表
/api/tickets POST 工单 提交工单
/api/tickets/:id GET 工单 获取工单详情
/api/admin/tickets GET 工单 获取所有工单
/api/admin/tickets/:id PUT 工单 更新工单状态
/api/admin/tickets/:id/assign PUT 工单 分配工单

6.8 系统设置接口

API 路径 方法 模块 功能描述
/api/settings/public GET 设置 获取公共设置(费用费率等)
/api/admin/stats GET 统计 获取仪表盘统计数据
/api/admin/settings GET 设置 获取系统设置
/api/admin/settings PUT 设置 更新系统设置
/api/admin/settings/smtp PUT 设置 更新SMTP设置
/api/admin/settings/payment PUT 设置 更新支付通道设置

6.9 资讯模块接口

API 路径 方法 模块 功能描述
/api/articles GET 资讯 获取已发布资讯列表
/api/articles/:id GET 资讯 获取资讯详情
/api/admin/articles GET 资讯 获取所有资讯(含草稿)
/api/admin/articles POST 资讯 创建资讯
/api/admin/articles/:id PUT 资讯 更新资讯
/api/admin/articles/:id DELETE 资讯 删除资讯
/api/admin/articles/:id/pin PUT 资讯 切换置顶状态

7. 前端设计

7.1 设计风格

方案一:现代化科技感(推荐)

  • 风格特点:采用简洁、现代的设计风格,类似于科技企业网站
  • 配色方案:以蓝色为主色调,搭配白色和浅灰色,营造专业、科技的氛围
  • 字体:使用无衬线字体,如 Roboto、Inter 等
  • 布局:响应式设计,适配不同设备屏幕
  • 动画效果:适度的过渡动画,提升用户体验
  • 特色:简洁明了的界面,突出商品信息,操作流程顺畅

方案二:简约商务风

  • 风格特点:简约、专业的商务风格,注重信息的清晰展示
  • 配色方案:以灰色为主色调,搭配深蓝和白色,营造稳重、专业的氛围
  • 字体:使用无衬线字体,如 Helvetica、Arial 等
  • 布局:网格布局,信息层次分明
  • 动画效果:轻微的过渡效果,保持界面稳定感
  • 特色:信息密度高,适合商务用户,操作流程清晰

方案三:时尚活力风

  • 风格特点:时尚、活力的设计风格,吸引年轻用户群体
  • 配色方案:以橙色和白色为主色调,搭配浅蓝和浅灰,营造活力、时尚的氛围
  • 字体:使用现代无衬线字体,如 Poppins、Montserrat 等
  • 布局:卡片式布局,视觉层次丰富
  • 动画效果:活泼的微动画,增强用户互动
  • 特色:视觉冲击力强,适合时尚商品,用户体验愉悦

方案四:豆包飞书风(暗色毛玻璃)

  • 风格特点:暗色主题、毛玻璃效果、大字排版,类似豆包/飞书演示风格
  • 配色方案:以深蓝紫渐变为主色调(#1a1a2e → #16213e → #0f3460),搭配半透明白色毛玻璃卡片,强调色为亮紫/亮蓝
  • 字体:使用现代无衬线字体,如 Inter、SF Pro Display 等,标题大号加粗
  • 布局:全屏渐变背景 + 毛玻璃卡片悬浮布局,Hero区域大字标题居中
  • 动画效果:渐变背景微动、卡片悬浮阴影变化、淡入淡出过渡
  • 特色
    • 深色渐变背景营造沉浸感
    • 毛玻璃(backdrop-filter: blur)卡片效果
    • 大字标题 + 简洁描述的Hero布局
    • 圆角卡片 + 微光边框
    • 适合高端产品展示,科技感与品质感并存

7.2 页面结构

7.2.1 用户前端

  • 首页:商品展示、分类导航、抽奖活动
  • 商品列表页:筛选、排序、分页
  • 商品详情页:商品信息、自定义字段、购买选项
  • 购物车页:商品列表、数量调整、结算
  • 订单确认页:收货地址选择、支付方式选择
  • 个人中心:订单管理、收货地址、账户设置、购买资格
  • 抽奖页面:抽奖活动列表、报名入口
  • 工单页面:工单提交、工单列表
  • 资讯页面:资讯列表、资讯详情

7.2.2 管理员后台

  • 仪表盘:系统概览、统计数据(用户数、商品数、订单数、营收)
  • 用户管理:用户列表、权限管理
  • 商品管理:商品列表、分类管理、品牌管理、库存管理
  • 订单管理:订单列表、订单详情、导出功能、退款管理
  • 供货商管理:供货商列表、授权管理
  • 抽奖管理:抽奖活动创建、奖品管理、抽奖执行
  • 工单管理:工单列表、工单处理
  • 系统设置:SMTP设置、支付通道设置、运费设置、服务费设置、税费设置、通道费率设置
  • 资讯管理:资讯发布、编辑、删除、置顶

7.2.3 供货商后台

  • 仪表盘:订单统计、库存概览
  • 订单管理:订单列表、订单确认、发货管理
  • 库存管理:库存列表、库存更新
  • 商品管理:授权商品列表

7.3 多语言支持

  • 使用 Vue i18n 实现多语言切换
  • 支持中文、日语、英语三种语言
  • 语言文件采用 JSON 格式存储
  • 实现语言切换功能,保存用户语言偏好

8. 安全考虑

8.1 前端安全

  • 使用 HTTPS 协议
  • 实现 CSRF 保护
  • 输入验证和 sanitization
  • 密码强度检查
  • 防止 XSS 攻击

8.2 后端安全

  • 密码哈希存储
  • JWT 认证机制
  • 权限控制
  • 防止 SQL 注入
  • 速率限制
  • 日志记录

8.3 数据安全

  • 数据库加密
  • 敏感数据保护
  • 定期数据备份

9. 部署方案

9.1 开发环境

  • 前端Vite 开发服务器
  • 后端Go 本地开发服务器
  • 数据库PostgreSQL 本地实例
  • 缓存Redis 本地实例

9.2 生产环境

  • 前端Nginx 静态文件服务
  • 后端Go 应用服务器
  • 数据库PostgreSQL 数据库集群
  • 缓存Redis 集群
  • 负载均衡Nginx 或云服务负载均衡
  • 容器化Docker + Kubernetes

10. 项目结构

10.1 前端项目结构

frontend/
├── public/              # 静态资源
├── src/
│   ├── assets/          # 图片、样式等
│   ├── components/      # 通用组件
│   ├── views/           # 页面组件
│   │   ├── user/        # 用户前端页面
│   │   ├── admin/       # 管理员后台页面
│   │   └── supplier/    # 供货商后台页面
│   ├── router/          # 路由配置
│   ├── store/           # Pinia 状态管理
│   ├── i18n/            # 国际化文件
│   ├── api/             # API 调用
│   ├── utils/           # 工具函数
│   ├── App.vue          # 根组件
│   └── main.ts          # 入口文件
├── .env                 # 环境变量
├── vite.config.ts       # Vite 配置
└── package.json         # 依赖管理

10.2 后端项目结构

backend/
├── cmd/
│   └── server/          # 应用入口
├── internal/
│   ├── api/             # API 处理
│   │   ├── handlers/    # 请求处理器
│   │   ├── middlewares/ # 中间件
│   │   └── routes/      # 路由配置
│   ├── services/        # 业务逻辑
│   ├── models/          # 数据模型
│   ├── schemas/         # 数据校验
│   ├── utils/           # 工具函数
│   └── config/          # 配置管理
├── migrations/          # 数据库迁移
├── go.mod               # Go 模块文件
└── .env                 # 环境变量

11. 开发计划

11.1 阶段一:基础架构搭建

  • 前端项目初始化
  • 后端项目初始化
  • 数据库设计与迁移
  • 基础 API 实现

11.2 阶段二:核心功能实现

  • 用户认证系统
  • 商品管理系统
  • 购物车与订单系统
  • 库存管理系统

11.3 阶段三:特色功能实现

  • 购买资格系统
  • 抽奖系统
  • 工单系统
  • 多语言支持

11.4 阶段四:后台管理

  • 管理员后台
  • 供货商后台
  • 系统设置

11.5 阶段五:测试与部署

  • 功能测试
  • 性能测试
  • 安全测试
  • 生产环境部署

12. 技术挑战与解决方案

12.1 多语言支持

  • 挑战:确保所有界面元素和数据都能正确翻译
  • 解决方案:使用 Vue i18n 管理翻译文件,实现语言切换功能

12.2 购买资格系统

  • 挑战:实现复杂的购买资格逻辑
  • 解决方案:设计专门的资格管理模块,记录和验证用户购买资格

12.3 抽奖系统

  • 挑战:实现公平、透明的抽奖机制
  • 解决方案:使用随机数生成器,结合购买权重计算中奖概率

12.4 订单处理流程

  • 挑战:协调用户、供货商和管理员的订单处理流程
  • 解决方案:设计清晰的订单状态流转,实现自动化通知

12.5 性能优化

  • 挑战:确保系统在高并发情况下的性能
  • 解决方案:使用 Redis 缓存热点数据,优化数据库查询

13. 总结

本技术文档详细描述了商品售卖网站的设计与实现方案,包括系统架构、功能模块、数据库设计、API 接口、前端设计等方面。通过采用现代化的技术栈和合理的架构设计,系统能够满足用户的各种需求,提供良好的用户体验。

项目将按照开发计划分阶段实施,确保系统的质量和稳定性。同时,系统设计考虑了未来的扩展性,为后续功能的添加和优化预留了空间。