package com.e3.library.api;
import com.e3.library.model.library.Model;
import com.e3.library.util.Field;
import com.e3.library.util.FileField;
import com.e3.library.util.ImageField;
import com.e3.library.util.Option;
import com.e3.library.util.menus.Menu;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
public class AdminApi extends BaseApi{
@RequestMapping(value = "/system.api", method = RequestMethod.GET)
public Result index() {
Map<String, Object> data = new HashMap<>();
List<Menu> menus = new ArrayList<>();
//
Menu adminMenu = new Menu("管理员管理", "el-icon-s-custom", "/", false);
adminMenu.addChildMenu(new Menu("管理员列表", "/admin", "list","admin", false));
// adminMenu.addChildMenu(new Menu("角色列表", "/role", "list","role", false));
// adminMenu.addChildMenu(new Menu("普通用户列表", "/user", "list","user", false));
// adminMenu.addChildMenu(new Menu("用户组列表", "/group", "list","group", false));
menus.add(adminMenu);
Menu userMenu = new Menu("学生管理", "el-icon-s-custom", "/", false);
userMenu.addChildMenu(new Menu("学生列表", "/member", "list","member", false));
userMenu.addChildMenu(new Menu("学生课程列表", "/user_plain_course", "list","user_plain_course", false));
menus.add(userMenu);
Menu majorMenu = new Menu("专业管理", "el-icon-s-shop", "/", false);
majorMenu.addChildMenu(new Menu("专业列表", "/major", "list","major", false));
menus.add(majorMenu);
Menu classMenu = new Menu("班级管理", "el-icon-s-flag", "/", false);
classMenu.addChildMenu(new Menu("班级列表", "/classes", "list","class", false));
classMenu.addChildMenu(new Menu("课程列表", "/course", "list","course", false));
classMenu.addChildMenu(new Menu("课表列表", "/plain_course", "list","plain_course", false));
menus.add(classMenu);
Menu fileMenu = new Menu("考试管理", "el-icon-s-order", "/", false);
fileMenu.addChildMenu(new Menu("考场列表", "/plain_exam", "list","plain_exam", false));
fileMenu.addChildMenu(new Menu("成绩列表", "/exam_result", "list","exam_result", false));
fileMenu.addChildMenu(new Menu("普通话成绩列表", "/m_exam_result", "list","m_exam_result", false));
menus.add(fileMenu);
// Menu resultMenu = new Menu("成绩管理", "el-icon-s-order", "/", false);
// resultMenu.addChildMenu(new Menu("成绩列表", "/exam_result", "list","exam_result", false));
// menus.add(resultMenu);
Menu setMenu = new Menu("系统管理", "el-icon-s-shop", "/", false);
setMenu.addChildMenu(new Menu("系统设置", "/setting", "setting","setting", false));
// menus.add(setMenu);
data.put("menus", menus);
// Login Type
List<Option> loginTypes = new ArrayList<>();
loginTypes.add(new Option("管理员", "admin"));
// loginTypes.add(new Option("用户", "user"));
data.put("loginTypes", loginTypes);
data.put("title", "学生信息管理系统");
return this.ok(data);
}
@RequestMapping(value = "/login.api", method = RequestMethod.POST)
public Result index(HttpServletRequest request, @RequestBody Map<String, Object> data) {
Map<String, Object> query = new HashMap<>();
query.put("username", data.get("username"));
query.put("password", data.get("password"));
String table = (String) data.get("type");
Map<String,Object> admin = this.getModel(table).findByWhere(query);
if (admin != null) {
request.getSession().setAttribute("admin", admin);
// 以下字段为登录必须的
data.put("id", admin.get("id"));
data.put("username", admin.get("username"));
data.put("resource", table);
data.put("password", admin.get("password")+"xxx");
// 默认1为超级管理员
if (table.equals("admin")) {
data.put("is_super", true);
data.put("auth_id", 0);
data.put("name", admin.get("username") + "(管理员)");
} else {
data.put("name", admin.get("username"));
data.put("is_super", false);
// 认证ID 以这个ID来获取权限
data.put("auth_id", admin.get("group_id"));
}
data.put("avatar", "https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=2180936608,1480355193&fm=26&gp=0.jpg");
return this.ok(data);
} else {
return this.fail(401, "用户名或密码错误");
}
}
@RequestMapping(value = "/{table}/list.api", method = RequestMethod.GET)
public Result index(@PathVariable String table, HttpServletRequest request) {
int page = 1;
if (request.getParameter("page") != null) {
page = Integer.parseInt(request.getParameter("page"));
}
Model model = this.getModel(table, request);
if (!model.validate(request)) {
return fail(401, "认证未通过");
}
Map<String, Object> queries = new HashMap<>();
if (request.getParameter("name") != null && !request.getParameter("name").equals("")) {
queries.put("name", request.getParameter("name"));
}
Map<String, Object> data = new HashMap<>();
// fields
data.put("fields", model.getFields());
// addFields
data.put("addFields", model.getAddFields());
// editFields
data.put("editFields", model.getEditFields());
// searchFields
data.put("searchFields", model.getSearchFields());
// fullActions
data.put("fullActions", model.getFullActions());
// partActions
data.put("partActions", model.getPartActions());
// 数据
data.put("list", model.getVisitData(model.getByPage(queries, page)));
// 总数
data.put("total", model.countByWhere(queries));
return this.ok(data);
}
@RequestMapping(value = "/{table}/{id}.api", method = RequestMethod.GET)
public Result show(@PathVariable String table,@PathVariable Integer id,HttpServletRequest request) {
Model model = this.getModel(table, request);
if (!model.validate(request)) {
return fail(401, "认证未通过");
}
Map<String, Object> data = new HashMap<>();
data.put("fields", model.getAddFields());
data.put("data", model.find(id));
return this.ok(data);
}
@RequestMapping(value = "/{table}.api", method = RequestMethod.POST)
public Result store(@PathVariable String table, HttpServletRequest request, @RequestBody Map<String, Object> data) {
Model model = this.getModel(table, request);
if (!model.validate(request)) {
return fail(401, "认证未通过");
}
System.out.println(data);
model.create(this.getModel(table).getAddData(data));
return this.ok(data);
}
@RequestMapping(value = "/{table}/{id}.api", method = RequestMethod.POST)
public Result update(@PathVariable String table,@PathVariable Integer id, HttpServletRequest request, @RequestBody Map<String, Object> data) {
Model model = this.getModel(table, request);
if (!model.validate(request)) {
return fail(401, "认证未通过");
}
model.updateById(id, this.getModel(table).getEditData(data));
return this
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经过本地编译可运行的,下载完成之后配置相应环境即可使用。源码功能都是经过老师肯定的,都能满足要求,有需要放心下载即可。源码是经
资源推荐
资源详情
资源评论
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![thumb](https://img-home.csdnimg.cn/images/20210720083646.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
收起资源包目录
![package](https://csdnimg.cn/release/downloadcmsfe/public/img/package.f3fc750b.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
![file-type](https://csdnimg.cn/release/download/static_files/pc/images/minetype/UNKNOWN.png)
共 1679 条
- 1
- 2
- 3
- 4
- 5
- 6
- 17
资源评论
![avatar-default](https://csdnimg.cn/release/downloadcmsfe/public/img/lazyLogo2.1882d7f4.png)
![avatar](https://profile-avatar.csdnimg.cn/e8558fa8bb95418c99ef6cda2441b583_2301_77783312.jpg!1)
老歪不歪
- 粉丝: 32
- 资源: 4039
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
最新资源
- ensp构建一个小型校园网
- vbf2.2.0-2.2.3
- PTC Creo Illustrate 是一款专业的技术插图软件,帮助用户创建、管理和发布高质量的三维技术插图
- 最详细的python安装教程,跟着操作即可,最好保证电脑的网络稳定情况下安装.zip
- 在python开发环境下爬虫爬取手机App数据实战并存入MongoDB.zip
- 浅谈网文教程(91).zip
- 2024 年最新中国大学名单
- Indexea 搜索服务平台的 OpenAPI,用于描述平台的所有接口信息,可以通过这个页面来了解和在线验证平台的所有接口信息
- 利用powerworld软件进行电力系统故障仿真
- 大学生计算机网络基础教程PDF,打破计算机文盲的现象,通俗易懂上手快.zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback](https://img-home.csdnimg.cn/images/20220527035711.png)
![feedback-tip](https://img-home.csdnimg.cn/images/20220527035111.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)