DeepSeek+Cursor实现零代码搞定实战项目开发
导入我试过界面的点击操作,都不太行。这里我选择的是直接拖入。生成的页面结构如果不对,可以根据情况编写提示词来进行调整。名称,我这里选择的是company 然后依次按图操作即可。注意:在编写是提前写入使用的数据库名称。
·
教程文档:黑马文档
一.数据库部署与开发
1.数据库安装
2024最新MySQL-8.0.4 超详细安装全指南 | 新手的入门教程-CSDN博客
2.通过DataGrip进行连接
3.通过deepseek生成数据库代码
CREATE TABLE dept (
id INT AUTO_INCREMENT PRIMARY KEY COMMENT '部门ID(唯一标识,自增主键)',
name VARCHAR(10) NOT NULL UNIQUE COMMENT '部门名称',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后操作时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门信息表';
CREATE TABLE emp (
id INT AUTO_INCREMENT PRIMARY KEY COMMENT '员工ID',
username VARCHAR(20) NOT NULL UNIQUE COMMENT '用户名(2-20位)',
password VARCHAR(64) DEFAULT '123456' COMMENT '登录密码',
name VARCHAR(10) NOT NULL COMMENT '姓名(2-10位)',
gender TINYINT COMMENT '性别, 1: 男, 2: 女',
phone CHAR(11) NOT NULL UNIQUE COMMENT '手机号(11位)',
position TINYINT COMMENT '职位, 1: 班主任, 2: 讲师, 3: 学工主管, 4: 教研主管, 5: 咨询师',
salary INT COMMENT '薪资(整数存储)',
image VARCHAR(255) COMMENT '头像路径',
hire_date DATE COMMENT '入职日期',
dept_id INT COMMENT '所属部门ID',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后操作时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工信息表';
CREATE TABLE emp_expr (
id INT AUTO_INCREMENT PRIMARY KEY COMMENT '经历ID',
emp_id INT COMMENT '关联员工ID',
company VARCHAR(50) COMMENT '公司名称',
position VARCHAR(50) COMMENT '担任职位',
start_date DATE COMMENT '开始日期',
end_date DATE COMMENT '结束日期'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工工作经历表';
-- 部门表测试数据(真实场景模拟)
INSERT INTO dept (name) VALUES
('学工部'), ('教研部'), ('就业部'), ('教务部'), ('产品部'),
('研发中心'), ('质量保障部'), ('市场拓展部'), ('客户成功部'),
('人力资源部'), ('财务审计部'), ('法务合规部'), ('行政后勤部'),
('品牌运营部'), ('战略投资部');
-- 员工表测试数据(符合原型展示特征)
INSERT INTO emp (username, name, gender, phone, position, salary, dept_id, hire_date) VALUES
('zhaomin', '赵敏', 2, '13810102001', 1, 4800, 1, '2020-03-15'),
('yangxiao', '杨逍', 1, '13921213002', 2, 6500, 2, '2019-07-22'),
('weiyixiao', '韦一笑', 1, '13632324003', 3, 8200, 3, '2021-11-01'),
('zhangwuji', '张无忌', 1, '15043435004', 4, 9500, 4, '2022-02-14'),
('zhouzhiruo', '周芷若', 2, '15156567005', 5, 7800, 5, '2020-08-30'),
('xiaozhao', '小昭', 2, '15267678006', 1, 5200, 6, '2023-01-05'),
('yinliting', '殷梨亭', 1, '15378789007', 2, 6800, 7, '2018-05-17'),
('songyuanqiao', '宋远桥', 1, '15489890008', 3, 8700, 8, '2017-09-10'),
('yulianzhou', '俞莲舟', 1, '15590901009', 4, 9900, 9, '2021-04-21'),
('daiyisi', '黛绮丝', 2, '15601011010', 5, 7300, 10, '2019-12-08'),
('xiexun', '谢逊', 1, '15712122011', 1, 5500, 11, '2022-07-19'),
('yinyesu', '殷野王', 1, '15823233012', 2, 7100, 12, '2020-06-25'),
('yangdingtian', '阳顶天', 1, '15934344013', 3, 8900, 13, '2016-08-14'),
('fanyao', '范遥', 1, '15045455014', 4, 10200, 14, '2015-11-30'),
('jixiaofu', '纪晓芙', 2, '15156566015', 5, 7600, 15, '2023-03-07');
-- 工作经历表测试数据(时间线逻辑验证)
INSERT INTO emp_expr (emp_id, company, position, start_date, end_date) VALUES
(1, '光明顶科技', '学员管理专员', '2018-04-01', '2020-02-28'),
(2, '武当山网络', '课程研发工程师', '2017-01-15', '2019-06-30'),
(3, '峨嵋云计算', '就业指导顾问', '2019-09-01', '2021-10-31'),
(4, '明教教育科技', '教务系统架构师', '2020-12-01', '2022-01-15'),
(5, '昆仑数据', '产品经理', '2018-11-01', '2020-07-31'),
(6, '波斯国际集团', '行政助理', '2021-03-01', '2022-12-31'),
(7, '少林科技学院', '质量保障专家', '2016-05-01', '2018-04-30'),
(8, '华山网络科技', '市场总监', '2015-02-01', '2017-08-31'),
(9, '崆峒人工智能', '客户成功经理', '2019-01-15', '2021-03-15'),
(10, '星宿派科技', 'HRBP', '2017-07-01', '2019-11-30'),
(11, '逍遥派金融', '财务分析师', '2020-09-01', '2022-05-31'),
(12, '丐帮物流科技', '法务顾问', '2018-03-01', '2020-04-30'),
(13, '古墓派科技', '品牌运营总监', '2014-06-01', '2016-07-31'),
(14, '全真教投资', '战略投资经理', '2013-08-01', '2015-10-31'),
(15, '桃花岛研究院', '教研主管', '2021-05-01', '2023-02-28');
4.通过DataGrip进行编写
注意:在编写是提前写入使用的数据库名称
USE fhhf;
5.通过DataGrip进行数据库导出
右键选择需要导出的数据库名称,我这里选择的是company 然后依次按图操作即可
选择好后会弹出一个窗口
第一个路径选择 mysql 根目录下的 /bin/mysqldump.exe 程序,根据自身情况选择
第二个路径为保存路径,我D盘下的mysql_File\DataGrip,名称默认为company.sql
导出是提示下图信息即为导出成功
然后可以在该目录下看到刚才导出的文件
6.通过DataGrip进行数据库导入
导入我试过界面的点击操作,都不太行。这里我选择的是直接拖入。
拖入数据库之后,跳出此页面,选择 “允许” 即可
二.后端java部署与开发
1.java环境安装
2.IntelliJ IDEA 项目搭建
3.cursor项目编写提示词
部门管理
请根据提供的部门表的表结构和接口文档,基于SpringBoot+Mybatis+PageHelper技术帮我完成部门管理功能的接口开发 (使用JDK1.8之后新语法)。
1. 要操作的表是 dept 部门表, 表结构如下:
CREATE TABLE dept (
id INT AUTO_INCREMENT PRIMARY KEY COMMENT '部门ID(唯一标识,自增主键)',
name VARCHAR(10) NOT NULL UNIQUE COMMENT '部门名称',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后操作时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='部门信息表';
2. 要操作的数据库的主机地址: test-zxyf-mysql.ns-w6hasfpj.svc, 端口号: 3306, 用户名: root , 密码: 6vqgnq5k, 数据库名: zxyf
3. 部门管理中一共有5个接口, 具体的接口信息如下:
3.1 部门列表查询
请求路径:/depts
请求方式:GET
请求参数: 无
响应数据:
{
"code": 1,
"msg": "success",
"data": [
{
"id": 1,
"name": "学工部",
"createTime": "2022-09-01T23:06:29",
"updateTime": "2022-09-01T23:06:29"
},
{
"id": 2,
"name": "教研部",
"createTime": "2022-09-01T23:06:29",
"updateTime": "2022-09-01T23:06:29"
}
]
}
备注: 响应效果中 code 代表是否操作成功, 1: 成功, 0: 失败; msg: 提示信息; data: 返回的数据
3.2 删除部门
请求路径:/depts/{id}
请求方式:DELETE
请求参数:id ,为路径参数
请求样例:/depts/1, /depts/2
响应数据格式:
{
"code":1,
"msg":"success",
"data":null
}
3.3 添加部门
请求路径:/depts
请求方式:POST
请求样例:{"name": "教研部"}
响应数据格式:
{
"code":1,
"msg":"success",
"data":null
}
3.4 根据ID查询
请求路径:/depts/{id}
请求方式:GET
请求参数:id ,为路径参数
请求样例:/depts/1, /depts/2
响应数据格式:
{
"code": 1,
"msg": "success",
"data": {
"id": 1,
"name": "学工部",
"createTime": "2022-09-01T23:06:29",
"updateTime": "2022-09-01T23:06:29"
}
}
3.5 修改部门
请求路径:/depts
请求方式:PUT
请求样例:
{
"id": 1,
"name": "教研部"
}
响应数据格式:
{
"code":1,
"msg":"success",
"data":null
}
员工管理
请提供的表结构、接口文档 以及页面原型和需求说明,基于 SpringBoot+Mybatis+PageHelper 帮我完成员工管理的功能接口开发(使用JDK1.8之后的新语法)。
1. 要操作的是员工表emp 以及员工的工作经历表 emp_expr,具体的表结构如下:
CREATE TABLE emp (
id INT AUTO_INCREMENT PRIMARY KEY COMMENT '员工ID',
username VARCHAR(20) NOT NULL UNIQUE COMMENT '用户名(2-20位)',
password VARCHAR(64) DEFAULT '123456' COMMENT '登录密码',
name VARCHAR(10) NOT NULL COMMENT '姓名(2-10位)',
gender TINYINT COMMENT '性别, 1: 男, 2: 女',
phone CHAR(11) NOT NULL UNIQUE COMMENT '手机号(11位)',
position TINYINT COMMENT '职位, 1: 班主任, 2: 讲师, 3: 学工主管, 4: 教研主管, 5: 咨询师',
salary INT COMMENT '薪资(整数存储)',
image VARCHAR(255) COMMENT '头像路径',
hire_date DATE COMMENT '入职日期',
dept_id INT COMMENT '所属部门ID',
create_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
update_time DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后操作时间'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工信息表';
CREATE TABLE emp_expr (
id INT AUTO_INCREMENT PRIMARY KEY COMMENT '经历ID',
emp_id INT COMMENT '关联员工的ID',
company VARCHAR(50) COMMENT '公司名称',
position VARCHAR(50) COMMENT '担任职位',
start_date DATE COMMENT '开始日期',
end_date DATE COMMENT '结束日期'
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='员工工作经历表';
2. 员工管理中一共包含6个接口,具体的接口信息如下:
2.1 员工列表查询
请求路径:/emps
请求方式:GET
请求参数:
name: 姓名,可选
gender: 性别,可选
begin: 入职日期的开始时间,可选
end: 入职日期的结束时间,可选
page: 页码,默认1
pageSize: 每页展示记录数,默认10
请求样例:
/emps?page=1&pageSize=10
/emps?name=张&page=1&pageSize=10
/emps?gender=1&page=1&pageSize=10
/emps?name=张&gender=1&page=1&pageSize=10
/emps?name=张&gender=1&begin=2007-09-01&end=2022-09-01&page=1&pageSize=10
响应数据格式:
{
"code": 1,
"msg": "success",
"data": {
"total": 2,
"rows": [
{
"id": 1,
"username": "jinyong",
"name": "金庸",
"gender": 1,
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
"position": 2,
"salary": 8000,
"hireDate": "2015-01-01",
"deptId": 2,
"deptName": "教研部",
"createTime": "2022-09-01T23:06:30",
"updateTime": "2022-09-02T00:29:04"
},
{
"id": 2,
"username": "zhangwuji",
"name": "张无忌",
"gender": 1,
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
"position": 2,
"salary": 6000,
"hireDate": "2015-01-01",
"deptId": 2,
"deptName": "教研部",
"createTime": "2022-09-01T23:06:30",
"updateTime": "2022-09-02T00:29:04"
}
]
}
}
2.2 删除员工
请求路径:/emps
请求方式:DELETE
请求参数:ids ,为路径参数
请求样例:/emps?ids=1,2,3
响应数据格式:
{
"code":1,
"msg":"success",
"data":null
}
2.3 添加员工
请求路径:/emps
请求方式:POST
请求样例:
{
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-03-07-37-38222.jpg",
"username": "linpingzhi",
"name": "林平之",
"gender": 1,
"position": 1,
"hireDate": "2022-09-18",
"deptId": 1,
"phone": "18809091234",
"salary": 8000,
"exprList": [
{
"company": "百度科技股份有限公司",
"position": "java开发",
"startDate": "2012-07-01",
"endDate": "2019-03-03"
},
{
"company": "阿里巴巴科技股份有限公司",
"position": "架构师",
"startDate": "2019-03-15",
"endDate": "2023-03-01"
}
]
}
响应数据格式:
{
"code":1,
"msg":"success",
"data":null
}
2.4 根据ID查询
请求路径:/emps/{id}
请求方式:GET
请求参数:id ,为路径参数
请求样例:/emps/1, /emps/2
响应数据格式:
{
"code": 1,
"msg": "success",
"data": {
"id": 2,
"username": "zhangwuji",
"name": "张无忌",
"gender": 1,
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
"position": 2,
"salary": 8000,
"hireDate": "2015-01-01",
"deptId": 2,
"createTime": "2022-09-01T23:06:30",
"updateTime": "2022-09-02T00:29:04",
"exprList": [
{
"id": 1,
"startDate": "2012-07-01",
"endDate": "2019-03-03"
"company": "百度科技股份有限公司"
"position": "java开发",
"empId": 2
},
{
"id": 2,
"startDate": "2019-3-15",
"endDate": "2023-03-01"
"company": "阿里巴巴科技股份有限公司"
"position": "架构师",
"empId": 2
}
]
}
}
2.5 修改员工
请求路径:/emps
请求方式:PUT
请求样例:
{
"id": 2,
"username": "zhangwuji",
"password": "123456",
"name": "张无忌",
"gender": 1,
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
"position": 2,
"salary": 8000,
"hireDate": "2015-01-01",
"deptId": 2,
"createTime": "2022-09-01T23:06:30",
"updateTime": "2022-09-02T00:29:04",
"exprList": [
{
"id": 1,
"startDate": "2012-07-01",
"endDate": "2015-06-20"
"company": "中软国际股份有限公司"
"position": "java开发",
"empId": 2
},
{
"id": 2,
"startDate": "2015-07-01",
"endDate": "2019-03-03"
"company": "百度科技股份有限公司"
"position": "java开发",
"empId": 2
},
{
"id": 3,
"startDate": "2019-3-15",
"endDate": "2023-03-01"
"company": "阿里巴巴科技股份有限公司"
"position": "架构师",
"empId": 2
}
]
}
响应数据格式:
{
"code":1,
"msg":"success",
"data":null
}
2.6 查询全部员工
请求路径:/emps/list
请求方式:GET
请求参数:无
响应数据格式:
{
"code": 1,
"msg": "success",
"data": [
{
"id": 21,
"username": "zcc",
"password": "123456",
"name": "周星驰",
"gender": 1,
"image": "https://web-65.oss-cn-beijing.aliyuncs.com/99c143e9-0241-41f3-bc55-dd5e4e0824f4.jpg",
"position": 1,
"salary": 8000,
"hireDate": "2023-04-23",
"deptId": 2,
"createTime": "2023-05-26T17:25:01",
"updateTime": "2023-06-04T19:25:15"
},
{
"id": 6,
"username": "xiaozhao",
"password": "123456",
"name": "小昭",
"gender": 2,
"image": "https://web-65.oss-cn-beijing.aliyuncs.com/da94dc38-f165-480c-b8b7-0b3f4bcd1602.jpg",
"position": 3,
"salary": 8000,
"hireDate": "2013-09-05",
"deptId": 1,
"createTime": "2023-04-07T11:16:00",
"updateTime": "2023-04-14T08:22:41"
}
]
}
文件上传
根据如下接口信息,完成文件上传的功能。
1. 文件上传的接口信息如下:
1.1 请求路径: /upload
1.2 请求方式: POST
1.3 请求参数名: file
1.4 响应结果样例(data: 表示文件的访问路径):
{
"code": 1,
"msg": "success",
"data": "http://aliyun.oss.com/1.jpg"
}
2. 文件使用对象存储服务存储,对象存储服务的信息:
Access Key:w6hasfpj
Secret Key:r674prz8pjjpbbnq
Internal:object-storage.objectstorage-system.svc.cluster.local
External:objectstorageapi.hzh.sealos.run
存储桶名: w6hasfpj-zxyf
对象存储服务操作指南:https://sealos.run/docs/guides/object-storage
登录
请根据提供的接口文档,帮我完成员工登录的功能接口开发,员工登录要操作的表结构就是员工表 emp 。
1. 登录接口的基本信息如下:
1.1 请求路径: /login
1.2 请求方式: POST
1.3 接口描述: 该接口用于员工登录智学云帆-教学管理系统,登录完毕后,系统下发JWT令牌。
1.4 请求参数样例:
{
"username": "songjiang",
"password": "123456"
}
1.5 响应数据样例:
1.5.1 登录成功
{
"code": 1,
"msg": "success",
"data": {
"id": 2,
"username": "songjiang",
"name": "宋江",
"token": "eyJhbGciOiJIUzI1NiJ9.eyJpZCI6MiwidXNlcm5hbWUiOiJzb25namlhbmciLCJleHAiOjE2OTg3MDE3NjJ9.w06EkRXTep6SrvMns3w5RKe79nxauDe7fdMhBLK-MKY"
}
}
1.5.2 登录失败
{
"code": 0,
"msg": "用户名或密码错误",
"data": null
}
1.6 备注说明: 用户登录成功后,系统会自动下发JWT令牌,然后在后续的每次请求中,都需要在请求头header中携带到服务端,请求头的名称为 token ,值为 登录时下发的JWT令牌。 如果检测到用户未登录,则直接响应 401 状态码 。
请根据上述登录接口的信息,帮我实现登录接口功能的开发。
4.java项目启动
启动路径
启动命令
5.java项目打包
打包命令
打包成功的路径
三.前端vue部署与开发
1.vue项目搭建
2.vue项目启动
3.cursor项目编写提示词
页面布局
请根据提供的页面原型的截图,基于Vue3 + ElementPlus帮我制作 “智学云帆-教学管理系统” 的页面,首先先完成页面的基本布局 。 具体要求如下:
1. 页面的顶部,要展示系统的标题,标题内容:“智学云帆-教学管理系统”,字体类型:楷体,字体大小:30,居左对齐。 在顶部标题栏的右侧,要展示 “退出登录【张三】” 的超链接,这里的张三,将来要展示的当前登录员工,目前可以先写死。
2. 左侧的侧边栏,展示出这个管理系统的菜单,具体的菜单结构为:
1. 首页
2. 班级学员管理
2.1 班级管理
2.2 学员管理
3. 系统信息管理
3.1 部门管理
3.2 员工管理
3. 右侧为核心展示区域,点击左侧菜单,在右侧要展示出对应的页面,比如点击 "首页",右侧核心展示区域就要展示首页的页面 。
生成的页面结构如果不对,可以根据情况编写提示词来进行调整。
部门管理
请根据提供的部门管理的页面原型图,和接口文档完成部门管理的功能开发,包括:增加、修改、删除、查询部门的功能。
1. 具体的接口信息如下:
1.1 部门列表查询
请求路径:/depts
请求方式:GET
请求参数:无
响应数据格式:
{
"code": 1,
"msg": "success",
"data": [
{
"id": 1,
"name": "学工部",
"createTime": "2022-09-01T23:06:29",
"updateTime": "2022-09-01T23:06:29"
},
{
"id": 2,
"name": "教研部",
"createTime": "2022-09-01T23:06:29",
"updateTime": "2022-09-01T23:06:29"
}
]
}
1.2 删除部门
请求路径:/depts/{id}
请求方式:DELETE
请求参数:id ,为路径参数
请求样例:/depts/1, /depts/2
响应数据格式:
{
"code":1,
"msg":"success",
"data":null
}
1.3 添加部门
请求路径:/depts
请求方式:POST
请求样例:{"name": "教研部"}
响应数据格式:
{
"code":1,
"msg":"success",
"data":null
}
1.4 根据ID查询
请求路径:/depts/{id}
请求方式:GET
请求参数:id ,为路径参数
请求样例:/depts/1, /depts/2
响应数据格式:
{
"code": 1,
"msg": "success",
"data": {
"id": 1,
"name": "学工部",
"createTime": "2022-09-01T23:06:29",
"updateTime": "2022-09-01T23:06:29"
}
}
1.5 修改部门
请求路径:/depts
请求方式:PUT
请求样例:
{
"id": 1,
"name": "教研部"
}
响应数据格式:
{
"code":1,
"msg":"success",
"data":null
}
2. 前端要访问的服务端的访问地址为: http://zxyf-management.ns-w6hasfpj.svc.cluster.local:8080
员工管理
请根据提供的员工管理的页面原型图 ,和接口文档完成员工管理的功能开发 ,包括:增加、修改、删除、查询员工的功能。
1. 具体的接口信息如下:
1.1 员工列表查询
请求路径:/emps
请求方式:GET
请求参数:
name: 姓名,可选
gender: 性别,可选
begin: 入职日期的开始时间,可选
end: 入职日期的结束时间,可选
page: 页码,默认1
pageSize: 每页展示记录数,默认10
请求样例:
/emps?page=1&pageSize=10
/emps?name=张&page=1&pageSize=10
/emps?gender=1&page=1&pageSize=10
/emps?name=张&gender=1&page=1&pageSize=10
/emps?name=张&gender=1&begin=2007-09-01&end=2022-09-01&page=1&pageSize=10
响应数据格式:
{
"code": 1,
"msg": "success",
"data": {
"total": 2,
"rows": [
{
"id": 1,
"username": "jinyong",
"name": "金庸",
"gender": 1,
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
"position": 2,
"salary": 8000,
"hireDate": "2015-01-01",
"deptId": 2,
"deptName": "教研部",
"createTime": "2022-09-01T23:06:30",
"updateTime": "2022-09-02T00:29:04"
},
{
"id": 2,
"username": "zhangwuji",
"name": "张无忌",
"gender": 1,
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
"position": 2,
"salary": 6000,
"hireDate": "2015-01-01",
"deptId": 2,
"deptName": "教研部",
"createTime": "2022-09-01T23:06:30",
"updateTime": "2022-09-02T00:29:04"
}
]
}
}
响应数据含义:
id: 员工ID
username: 用户名
name: 姓名
gender: 性别 , 1 男 ; 2 女
image: 图像
position: 职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管, 5 咨询师
salary: 薪资
hireDate: 入职日期
deptId: 部门ID
deptName: 部门名称
createTime: 创建时间
updateTime: 更新时间
1.2 删除员工
请求路径:/emps
请求方式:DELETE
请求参数:ids ,为路径参数
请求样例:
/emps?ids=1
/emps?ids=1,2,3
响应数据格式:
{
"code":1,
"msg":"success",
"data":null
}
1.3 添加员工
请求路径:/emps
请求方式:POST
请求样例:
{
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-03-07-37-38222.jpg",
"username": "linpingzhi",
"name": "林平之",
"gender": 1,
"position": 1,
"hireDate": "2022-09-18",
"deptId": 1,
"phone": "18809091234",
"salary": 8000,
"exprList": [
{
"company": "百度科技股份有限公司",
"position": "java开发",
"startDate": "2012-07-01",
"endDate": "2019-03-03"
},
{
"company": "阿里巴巴科技股份有限公司",
"position": "架构师",
"startDate": "2019-03-15",
"endDate": "2023-03-01"
}
]
}
请求数据说明:
username: 用户名
name: 姓名
phone: 手机号
gender: 性别 , 1 男 ; 2 女
image: 图像
position: 职位, 说明: 1 班主任,2 讲师, 3 学工主管, 4 教研主管, 5 咨询师
salary: 薪资
hireDate: 入职日期
deptId: 部门ID
exprList: 员工工作经历列表
company: 公司
position: 职位
startDate: 工作经历开始时间
endDate: 工作经历开始时间
响应数据格式:
{
"code":1,
"msg":"success",
"data":null
}
1.4 根据ID查询
请求路径:/emps/{id}
请求方式:GET
请求参数:id ,为路径参数
请求样例:/emps/1, /emps/2
响应数据格式:
{
"code": 1,
"msg": "success",
"data": {
"id": 2,
"username": "zhangwuji",
"name": "张无忌",
"gender": 1,
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
"position": 2,
"salary": 8000,
"hireDate": "2015-01-01",
"deptId": 2,
"createTime": "2022-09-01T23:06:30",
"updateTime": "2022-09-02T00:29:04",
"exprList": [
{
"id": 1,
"startDate": "2012-07-01",
"endDate": "2019-03-03"
"company": "百度科技股份有限公司"
"position": "java开发",
"empId": 2
},
{
"id": 2,
"startDate": "2019-3-15",
"endDate": "2023-03-01"
"company": "阿里巴巴科技股份有限公司"
"position": "架构师",
"empId": 2
}
]
}
}
1.5 修改员工
请求路径:/emps
请求方式:PUT
请求样例:
{
"id": 2,
"username": "zhangwuji",
"password": "123456",
"name": "张无忌",
"gender": 1,
"image": "https://web-framework.oss-cn-hangzhou.aliyuncs.com/2022-09-02-00-27-53B.jpg",
"position": 2,
"salary": 8000,
"hireDate": "2015-01-01",
"deptId": 2,
"createTime": "2022-09-01T23:06:30",
"updateTime": "2022-09-02T00:29:04",
"exprList": [
{
"id": 1,
"startDate": "2012-07-01",
"endDate": "2015-06-20"
"company": "中软国际股份有限公司"
"position": "java开发",
"empId": 2
},
{
"id": 2,
"startDate": "2015-07-01",
"endDate": "2019-03-03"
"company": "百度科技股份有限公司"
"position": "java开发",
"empId": 2
},
{
"id": 3,
"startDate": "2019-3-15",
"endDate": "2023-03-01"
"company": "阿里巴巴科技股份有限公司"
"position": "架构师",
"empId": 2
}
]
}
响应数据格式:
{
"code":1,
"msg":"success",
"data":null
}
2. 请严格根据员工管理的页面原型 和 接口文档开发 。
员工管理的基本页面布局已经有了,但是新增员工的表单需要调整,表单的宽度调整为800px。然后根据提供的页面原型图,调整新增员工表单的布局,表单的具体要求如下:
第一行, 展示 用户名 和 姓名。
第二行,展示 性别 和 手机号。
第三行,展示 职位 和 薪资。
第四行,展示 所属部门 和 入职日期。
第五行,展示 头像,是一个文件上传框。
第六行,展示工作经历,在工作经历这个表单项里展示的是一个 "新增工作经历" 的按钮。 每点击一次 新增工作经历, 就需要增加一条工作经历。 工作经历所有的表单项,设置的小一些,一共三个表单项:时间(包括开始时间和结束时间)、公司、职位,表单项的名字也需要展示出来。在每一个工作经历条目后面都有一个删除按钮,点击删除按钮之后,可以删除掉当前这条工作经历。
登录认证
请根据截图中的登录页面的原型 和 提供的接口文档,帮我完成员工登录功能的页面制作。
1. 登录接口的基本信息如下:
1.1 请求路径: /login
1.2 请求方式: POST
1.3 接口描述: 该接口用于员工登录智学云帆-教学管理系统,登录完毕后,系统下发JWT令牌。
1.4 请求参数样例:
{
"username": "songjiang",
"password": "123456"
}
1.5 响应数据样例:
1.5.1 登录成功
{
"code": 1,
"msg": "success",
"data": {
"id": 2,
"username": "songjiang",
"name": "宋江",
"token": "eyJhbGciOiJIUzI1NiJ9.eyJpZCI6MiwidXNlcm5hbWUiOiJzb25namlhbmciLCJleHAiOjE2OTg3MDE3NjJ9.w06EkRXTep6SrvMns3w5RKe79nxauDe7fdMhBLK-MKY"
}
}
1.5.2 登录失败
{
"code": 0,
"msg": "用户名或密码错误",
"data": null
}
1.6 备注说明: 用户登录成功后,系统会自动下发JWT令牌,然后在后续的每次请求中,都需要在请求头header中携带到服务端,请求头的名称为 token ,值为 登录时下发的JWT令牌。 如果服务端检测到用户未登录,则直接响应 401 状态码,如果服务端响应的状态码为 401,前端需要跳转到登录页面。
2. 请根据上述页面原型及接口文档的描述,帮我完成登录页面的开发。
4.vue项目打包
四.项目上线
1.数据库发布
2.后端java发布
3.前端vue发布
更多推荐
所有评论(0)