2.需求分析

飞一样的编程
飞一样的编程
擅长邻域:Java,MySQL,Linux,nginx,springboot,mongodb,微信小程序,vue

分类: springboot vue 专栏: 带小白springboot3+vue3+uniapp 标签: springboot3 vue3

2026-01-17 15:50:40 91浏览

springboot3+vue3+uniapp开发教程

功能点分析

我这个小程序做得是多个学校,这个工作量太大,我们就单独拿一个学校做,比如清华大学。

吐糟一下小白选择ai 编程

有些人为了流量是不择手段,害人不浅,说 什么小白能用 ai 开发出一个完整的系统的鬼话。

我见的太多了,我不是反对 ai, ai 是真的方便,我在写项目的时候也经常用 ai.但是 ai 真的不是给小白用的。

数据库表设计

1.用户表 userinfo

id

role管理员和普通用户 admin 就是管理员 user 就是普通用户

username账号

password 密码

create_time 注册时间

head_img 头像

email 邮箱

status 如果是 1 就是启用状态,如果是 0 就是拉黑

2.轮播图表

id

img 图片

create_time 添加时间

3.公告表

id

content 公告内容

title 公告标题

create_time 发布公告时间

3.贴子分类表

id

type_name 分类名称

icon 分类图标

create_time 创建时间

4.贴子表

id

type_id 贴子分类 id,外键

title 标题(从贴子内容抽出来的,如果内容超过 100 个字的话后面的字隐藏... )

content 贴子内容-纯文字

img 图片,最多是 9 张,多张图之间可以用 xxxx.jpg@yyy.jpg@zzz.jpg

video 视频 ,只能一个,且 30s 以内 3m 以内

create_time 发布时间

点赞数

收藏数

评论数

status 如果是 1 就是审核通过,0 就是待审核,-1 就是不通过

5.点赞表

id

user_id 用户 id

贴子 id

create_time 点赞时间

6.评论表

id

user_id 用户 id

贴子 id

create_time 评论时间

content 评论内容-纯文字

7.收藏表

id

user_id 用户 id

贴子 id

create_time 收藏时间

利用 ai 生成初始化 sql 语句

-- 创建用户表
CREATE TABLE `userinfo` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `role` varchar(20) NOT NULL DEFAULT 'user' COMMENT '角色:admin-管理员,user-普通用户',
  `username` varchar(50) NOT NULL COMMENT '账号',
  `password` varchar(255) NOT NULL COMMENT '密码',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '注册时间',
  `head_img` varchar(255) DEFAULT NULL COMMENT '头像',
  `email` varchar(100) DEFAULT NULL COMMENT '邮箱',
  `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态:1-启用,0-拉黑',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户表';

-- 创建轮播图表
CREATE TABLE `banner` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `img` varchar(255) NOT NULL COMMENT '图片地址',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '添加时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='轮播图表';

-- 创建公告表
CREATE TABLE `notice` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `content` text NOT NULL COMMENT '公告内容',
  `title` varchar(255) NOT NULL COMMENT '公告标题',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '发布公告时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='公告表';

-- 创建贴子分类表
CREATE TABLE `post_category` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `type_name` varchar(50) NOT NULL COMMENT '分类名称',
  `icon` varchar(255) DEFAULT NULL COMMENT '分类图标',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='贴子分类表';

-- 创建贴子表
CREATE TABLE `post` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `type_id` bigint NOT NULL COMMENT '贴子分类ID,关联post_category表',
  `title` varchar(255) DEFAULT NULL COMMENT '标题(从内容抽取的摘要)',
  `content` text NOT NULL COMMENT '贴子内容-纯文字',
  `img` varchar(1000) DEFAULT NULL COMMENT '图片,多张图之间用 @ 分隔',
  `video` varchar(255) DEFAULT NULL COMMENT '视频地址(限制30s以内,3m以内)',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '发布时间',
  `likes_count` int unsigned DEFAULT '0' COMMENT '点赞数',
  `favorites_count` int unsigned DEFAULT '0' COMMENT '收藏数',
  `comment_count` int unsigned DEFAULT '0' COMMENT '评论数',
  `status` tinyint NOT NULL DEFAULT '0' COMMENT '状态:1-审核通过,0-待审核,-1-不通过',
  PRIMARY KEY (`id`),
  KEY `idx_type_id` (`type_id`),
  CONSTRAINT `fk_post_category` FOREIGN KEY (`type_id`) REFERENCES `post_category` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='贴子表';

-- 创建点赞表
CREATE TABLE `likes` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `user_id` bigint NOT NULL COMMENT '用户ID,关联userinfo表',
  `post_id` bigint NOT NULL COMMENT '贴子ID,关联post表',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '点赞时间',
  PRIMARY KEY (`id`),
  KEY `idx_likes_user_post` (`user_id`, `post_id`),
  CONSTRAINT `fk_likes_user` FOREIGN KEY (`user_id`) REFERENCES `userinfo` (`id`),
  CONSTRAINT `fk_likes_post` FOREIGN KEY (`post_id`) REFERENCES `post` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='点赞表';

-- 创建评论表
CREATE TABLE `comment` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `user_id` bigint NOT NULL COMMENT '用户ID,关联userinfo表',
  `post_id` bigint NOT NULL COMMENT '贴子ID,关联post表',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '评论时间',
  `content` text NOT NULL COMMENT '评论内容-纯文字',
  PRIMARY KEY (`id`),
  KEY `idx_comment_post` (`post_id`),
  CONSTRAINT `fk_comment_user` FOREIGN KEY (`user_id`) REFERENCES `userinfo` (`id`),
  CONSTRAINT `fk_comment_post` FOREIGN KEY (`post_id`) REFERENCES `post` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='评论表';

-- 创建收藏表
CREATE TABLE `collect` (
  `id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
  `user_id` bigint NOT NULL COMMENT '用户ID,关联userinfo表',
  `post_id` bigint NOT NULL COMMENT '贴子ID,关联post表',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '收藏时间',
  PRIMARY KEY (`id`),
  KEY `idx_collect_user_post` (`user_id`, `post_id`),
  CONSTRAINT `fk_collect_user` FOREIGN KEY (`user_id`) REFERENCES `userinfo` (`id`),
  CONSTRAINT `fk_collect_post` FOREIGN KEY (`post_id`) REFERENCES `post` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='收藏表';

COMMIT;

下节课讲一下环境软件安装啥的。为了照顾有些小白连软件都没装的人。

好博客就要一起分享哦!分享海报

此处可发布评论

评论(0展开评论

暂无评论,快来写一下吧

展开评论

您可能感兴趣的博客

客服QQ 1913284695