教程文档:黑马文档

一.数据库部署与开发

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环境安装

JAVA17安装教程,环境配置-CSDN博客

Maven安装和配置详细教程-CSDN博客

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项目搭建

安装node.js-CSDN博客

安装Vue2--Vue CLI脚手架-CSDN博客

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发布

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐