├── .gitattributes ├── .gitignore ├── README.md ├── campus-gang-api-master ├── .gitattributes ├── .gitignore ├── pom.xml └── src │ ├── .DS_Store │ ├── main │ ├── .DS_Store │ ├── java │ │ └── com │ │ │ └── yqn │ │ │ ├── CampusGangApplication.java │ │ │ ├── common │ │ │ ├── config │ │ │ │ └── CorsConfig.java │ │ │ ├── constant │ │ │ │ ├── Constants.java │ │ │ │ └── HttpStatus.java │ │ │ ├── core │ │ │ │ ├── controller │ │ │ │ │ └── BaseController.java │ │ │ │ ├── domain │ │ │ │ │ ├── AjaxResult.java │ │ │ │ │ ├── BaseEntity.java │ │ │ │ │ └── TreeEntity.java │ │ │ │ ├── page │ │ │ │ │ ├── PageDomain.java │ │ │ │ │ ├── TableDataInfo.java │ │ │ │ │ └── TableSupport.java │ │ │ │ └── text │ │ │ │ │ ├── CharsetKit.java │ │ │ │ │ ├── Convert.java │ │ │ │ │ └── StrFormatter.java │ │ │ ├── exception │ │ │ │ └── UtilException.java │ │ │ ├── tools │ │ │ │ ├── MessageTools.java │ │ │ │ └── PocketMoney.java │ │ │ └── utils │ │ │ │ ├── DateUtils.java │ │ │ │ ├── PageUtils.java │ │ │ │ ├── ServletUtils.java │ │ │ │ ├── StringUtils.java │ │ │ │ └── sql │ │ │ │ └── SqlUtil.java │ │ │ ├── controller │ │ │ ├── AdminController.java │ │ │ ├── ClassController.java │ │ │ ├── DeptController.java │ │ │ ├── NoticeController.java │ │ │ ├── SchoolController.java │ │ │ ├── SxcRemarkController.java │ │ │ ├── SxcStudentController.java │ │ │ ├── TaskController.java │ │ │ └── UserController.java │ │ │ ├── mapper │ │ │ ├── AdminMapper.java │ │ │ ├── ClassMapper.java │ │ │ ├── DeptMapper.java │ │ │ ├── NoticeMapper.java │ │ │ ├── SchoolMapper.java │ │ │ ├── SxcRemarkMapper.java │ │ │ ├── SxcStudentMapper.java │ │ │ ├── TaskMapper.java │ │ │ └── UserMapper.java │ │ │ ├── pojo │ │ │ ├── Admin.java │ │ │ ├── Class.java │ │ │ ├── Dept.java │ │ │ ├── Notice.java │ │ │ ├── School.java │ │ │ ├── SxcRemark.java │ │ │ ├── SxcStudent.java │ │ │ ├── Task.java │ │ │ └── User.java │ │ │ └── service │ │ │ ├── AdminService.java │ │ │ ├── ClassService.java │ │ │ ├── DeptService.java │ │ │ ├── INoticeService.java │ │ │ ├── ISxcRemarkService.java │ │ │ ├── ISxcStudentService.java │ │ │ ├── SchoolService.java │ │ │ ├── TaskService.java │ │ │ ├── UserService.java │ │ │ └── impl │ │ │ ├── AdminServiceImpl.java │ │ │ ├── ClassServiceImpl.java │ │ │ ├── DeptServiceImpl.java │ │ │ ├── NoticeServiceImpl.java │ │ │ ├── SchoolServiceImpl.java │ │ │ ├── SxcRemarkServiceImpl.java │ │ │ ├── SxcStudentServiceImpl.java │ │ │ ├── TaskServiceImpl.java │ │ │ └── UserServiceImpl.java │ └── resources │ │ ├── .DS_Store │ │ ├── application.yml │ │ └── mapper │ │ ├── .DS_Store │ │ ├── ClassMapper.xml │ │ ├── DeptMapper.xml │ │ ├── NoticeMapper.xml │ │ ├── SchoolMapper.xml │ │ ├── SxcRemarkMapper.xml │ │ ├── SxcStudentMapper.xml │ │ ├── TaskMapper.xml │ │ └── UserMapper.xml │ └── test │ ├── .DS_Store │ └── java │ └── com │ └── yqn │ └── CampusGangApplicationTests.java ├── campus-gang-web-master ├── .DS_Store ├── babel.config.js ├── dist │ ├── css │ │ ├── app.aae5a3eb.css │ │ ├── chunk-20b35483.bd29ace4.css │ │ ├── chunk-2e311dd1.a3eabaa5.css │ │ ├── chunk-2f332787.6a6949a2.css │ │ ├── chunk-34f7bdf8.3ff883e2.css │ │ ├── chunk-45509e9a.e80a047b.css │ │ ├── chunk-456c0af6.ff414791.css │ │ ├── chunk-5134eb08.2bee33ab.css │ │ ├── chunk-5a3ced12.f258d8d8.css │ │ ├── chunk-6001c293.cd02a59d.css │ │ ├── chunk-6d6e6aac.92d0cb50.css │ │ ├── chunk-6f4367ca.d993bcae.css │ │ ├── chunk-719f6a8e.43e8c503.css │ │ ├── chunk-73c45eb6.81f05af9.css │ │ ├── chunk-80ab89ea.7d3d2055.css │ │ ├── chunk-96c2ae54.354e07ac.css │ │ ├── chunk-acfc86ba.e97e7574.css │ │ ├── chunk-aeea6ece.1f525576.css │ │ ├── chunk-ba0bcef4.76d58cee.css │ │ ├── chunk-c45fdd3a.b982b77d.css │ │ ├── chunk-e80f0790.a17a5862.css │ │ ├── chunk-f3012990.d30436cd.css │ │ ├── chunk-f93b7708.0ea5063a.css │ │ └── chunk-vendors.2f4369db.css │ ├── favicon.ico │ ├── fonts │ │ ├── element-icons.535877f5.woff │ │ └── element-icons.732389de.ttf │ ├── img │ │ ├── emoji.e7af79dc.png │ │ ├── icon.a2c3b2d4.png │ │ ├── logo_transparent.64b63582.png │ │ ├── pic01.01f236ea.png │ │ ├── pic02.a54e9e96.png │ │ ├── pic03.91612c0b.png │ │ └── test1.6426eb0a.jpg │ ├── index.html │ └── js │ │ ├── app.78c018da.js │ │ ├── app.78c018da.js.map │ │ ├── chunk-20b35483.c072bb67.js │ │ ├── chunk-20b35483.c072bb67.js.map │ │ ├── chunk-2e311dd1.698c97e0.js │ │ ├── chunk-2e311dd1.698c97e0.js.map │ │ ├── chunk-2f332787.3cd0cf0f.js │ │ ├── chunk-2f332787.3cd0cf0f.js.map │ │ ├── chunk-34f7bdf8.e3b56426.js │ │ ├── chunk-34f7bdf8.e3b56426.js.map │ │ ├── chunk-45509e9a.90bae94c.js │ │ ├── chunk-45509e9a.90bae94c.js.map │ │ ├── chunk-456c0af6.2670b733.js │ │ ├── chunk-456c0af6.2670b733.js.map │ │ ├── chunk-5134eb08.04fd76c4.js │ │ ├── chunk-5134eb08.04fd76c4.js.map │ │ ├── chunk-5a3ced12.2794c15c.js │ │ ├── chunk-5a3ced12.2794c15c.js.map │ │ ├── chunk-6001c293.c8ac167b.js │ │ ├── chunk-6001c293.c8ac167b.js.map │ │ ├── chunk-6d6e6aac.410e3eb2.js │ │ ├── chunk-6d6e6aac.410e3eb2.js.map │ │ ├── chunk-6f4367ca.2632252b.js │ │ ├── chunk-6f4367ca.2632252b.js.map │ │ ├── chunk-719f6a8e.4a573e75.js │ │ ├── chunk-719f6a8e.4a573e75.js.map │ │ ├── chunk-73c45eb6.fe52d9d6.js │ │ ├── chunk-73c45eb6.fe52d9d6.js.map │ │ ├── chunk-80ab89ea.1d6bc902.js │ │ ├── chunk-80ab89ea.1d6bc902.js.map │ │ ├── chunk-96c2ae54.6eca6771.js │ │ ├── chunk-96c2ae54.6eca6771.js.map │ │ ├── chunk-acfc86ba.233eacc3.js │ │ ├── chunk-acfc86ba.233eacc3.js.map │ │ ├── chunk-aeea6ece.6cae7f96.js │ │ ├── chunk-aeea6ece.6cae7f96.js.map │ │ ├── chunk-ba0bcef4.a521f20d.js │ │ ├── chunk-ba0bcef4.a521f20d.js.map │ │ ├── chunk-c45fdd3a.2518c487.js │ │ ├── chunk-c45fdd3a.2518c487.js.map │ │ ├── chunk-e80f0790.081df99c.js │ │ ├── chunk-e80f0790.081df99c.js.map │ │ ├── chunk-f3012990.786c234d.js │ │ ├── chunk-f3012990.786c234d.js.map │ │ ├── chunk-f93b7708.6e298148.js │ │ ├── chunk-f93b7708.6e298148.js.map │ │ ├── chunk-vendors.90169287.js │ │ └── chunk-vendors.90169287.js.map ├── package-lock.json ├── package.json ├── public │ ├── favicon.ico │ └── index.html ├── src │ ├── .DS_Store │ ├── App.vue │ ├── api │ │ ├── notice │ │ │ └── advise.js │ │ ├── remark │ │ │ └── remark.js │ │ └── student │ │ │ └── stuage.js │ ├── assets │ │ ├── .DS_Store │ │ ├── icon.png │ │ ├── images │ │ │ ├── pic.jpg │ │ │ ├── pic01.png │ │ │ ├── pic02.png │ │ │ └── pic03.png │ │ ├── img │ │ │ ├── bg.jpg │ │ │ ├── emoji.png │ │ │ ├── test.jpg │ │ │ └── test1.jpg │ │ ├── logo.jpg │ │ ├── logo.png │ │ ├── logo_transparent.png │ │ ├── logo_transparent1.png │ │ └── z_logo.png │ ├── main.js │ ├── plugin │ │ ├── index.js │ │ └── myPlugin.js │ ├── router │ │ └── index.js │ ├── store │ │ ├── index.js │ │ └── module │ │ │ ├── admin.js │ │ │ ├── theme.js │ │ │ └── user.js │ ├── util │ │ ├── date.js │ │ ├── request.js │ │ └── util.js │ └── views │ │ ├── .DS_Store │ │ ├── Error.vue │ │ ├── admin │ │ ├── Home.vue │ │ ├── Login.vue │ │ └── student │ │ │ └── index.vue │ │ └── notice │ │ ├── advise.vue │ │ └── adviseuser.vue └── vue.config.js └── picture ├── picture1.png ├── picture10.png ├── picture11.png ├── picture12.png ├── picture13.png ├── picture14.png ├── picture15.png ├── picture16.png ├── picture17.png ├── picture18.png ├── picture19.png ├── picture2.png ├── picture20.png ├── picture21.png ├── picture22.png ├── picture23.png ├── picture3.png ├── picture4.png ├── picture5.png ├── picture6.png ├── picture7.png ├── picture8.png └── picture9.png /.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=java 2 | *.css linguist-language=java 3 | *.html linguist-language=java 4 | *.vue linguist-language=java 5 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /out/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | *.zip 4 | *.docs 5 | /campus-gang-api-master/target/ 6 | /campus-gang-web-master/node_modules/ 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | .mvn 22 | mvnw 23 | mvnw.cmd 24 | 25 | ### NetBeans ### 26 | /nbproject/private/ 27 | /build/ 28 | /nbbuild/ 29 | /dist/ 30 | /nbdist/ 31 | /.nb-gradle/ 32 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ## 基于Java+Springboot+Vue的校园跑腿系统(源码+数据库)105 2 | 3 | ## 一、系统介绍 4 | 本系统前后端分离 5 | 6 | 本系统分为管理员和用户两个角色 7 | 8 | - 用户: 9 | 登录,注册,余额充值,密码修改,发布任务,接受任务,订单管理,查看公告,我的评价,个人信息修改。 10 | 11 | - 管理后台: 12 | 登录,首页统计,学校管理,任务管理,用户管理,评价管理,系统公告管理。 13 | 14 | ## 二、所用技术 15 | 后端技术栈: 16 | - Springboot 17 | - SpringMvc 18 | - mybatisPlus 19 | - mysql 20 | 21 | 前端技术栈: 22 | - Vue 23 | - elementui 24 | - vue-router 25 | - axios 26 | 27 | ## 三、环境介绍 28 | 基础环境 :IDEA/eclipse, JDK 1.8, Mysql5.7及以上, Node.js(14.21), Maven3.6, Vscode 29 | 30 | 所有项目以及源代码本人均调试运行无问题 可支持远程调试运行 31 | 32 | ## 四、页面截图 33 | ### 1、用户功能 34 | ![contents](./picture/picture1.png) 35 | ![contents](./picture/picture2.png) 36 | ![contents](./picture/picture3.png) 37 | ![contents](./picture/picture4.png) 38 | ![contents](./picture/picture5.png) 39 | ![contents](./picture/picture6.png) 40 | ![contents](./picture/picture7.png) 41 | ![contents](./picture/picture8.png) 42 | ![contents](./picture/picture9.png) 43 | ![contents](./picture/picture10.png) 44 | ![contents](./picture/picture11.png) 45 | ![contents](./picture/picture12.png) 46 | ![contents](./picture/picture13.png) 47 | ![contents](./picture/picture14.png) 48 | 49 | ### 2、管理员功能 50 | ![contents](./picture/picture15.png) 51 | ![contents](./picture/picture16.png) 52 | ![contents](./picture/picture17.png) 53 | ![contents](./picture/picture18.png) 54 | ![contents](./picture/picture19.png) 55 | ![contents](./picture/picture20.png) 56 | ![contents](./picture/picture21.png) 57 | ![contents](./picture/picture22.png) 58 | ![contents](./picture/picture23.png) 59 | 60 | ## 五、浏览地址 61 | 62 | - 前台访问路径:http://localhost:8848/#/login 63 | 用户名密码:20200102/123456 学校选择湖南大学 64 | - 后台访问路径:http://localhost:8848/#/admin 65 | 用户名密码:admin/123456 66 | 67 | ## 六、安装教程 68 | 69 | 1. 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并执行项目的sql 70 | 71 | 2. 使用IDEA/Eclipse导入campus-gang-api-master项目,导入时,若为maven项目请选择maven; 等待依赖下载完成 72 | 73 | 3. 修改resources目录下面application.yml里面的数据库配置 74 | 75 | 4. com/yqn/CampusGangApplication.java启动后端项目 76 | 77 | 5. vscode或idea打开campus-gang-web-master项目 78 | 79 | 6. 在编译器中打开terminal,执行npm install 依赖下载完成后执行 npm run serve,执行成功后会显示前台访问地址 80 | 81 | -------------------------------------------------------------------------------- /campus-gang-api-master/.gitattributes: -------------------------------------------------------------------------------- 1 | *.js linguist-language=java 2 | *.css linguist-language=java 3 | *.html linguist-language=java 4 | *.vue linguist-language=java 5 | -------------------------------------------------------------------------------- /campus-gang-api-master/.gitignore: -------------------------------------------------------------------------------- 1 | /out/ 2 | !.mvn/wrapper/maven-wrapper.jar 3 | *.zip 4 | *.docs 5 | /campus-gang-api-master/target/ 6 | /campus-gang-web-master/node_modules/ 7 | ### STS ### 8 | .apt_generated 9 | .classpath 10 | .factorypath 11 | .project 12 | .settings 13 | .springBeans 14 | .sts4-cache 15 | 16 | ### IntelliJ IDEA ### 17 | .idea 18 | *.iws 19 | *.iml 20 | *.ipr 21 | .mvn 22 | mvnw 23 | mvnw.cmd 24 | 25 | ### NetBeans ### 26 | /nbproject/private/ 27 | /build/ 28 | /nbbuild/ 29 | /dist/ 30 | /nbdist/ 31 | /.nb-gradle/ 32 | -------------------------------------------------------------------------------- /campus-gang-api-master/pom.xml: -------------------------------------------------------------------------------- 1 | 2 | 4 | 4.0.0 5 | 6 | org.springframework.boot 7 | spring-boot-starter-parent 8 | 2.5.0 9 | 10 | 11 | com.yqn 12 | campus_gang 13 | 0.0.1-SNAPSHOT 14 | campus_gang 15 | Demo project for Spring Boot 16 | 17 | 1.8 18 | 8.0.18 19 | 20 | 21 | 22 | 23 | 24 | org.springframework.boot 25 | spring-boot-starter-web 26 | 27 | 28 | 29 | org.springframework.boot 30 | spring-boot-starter-logging 31 | 32 | 33 | 34 | org.springframework.boot 35 | spring-boot-starter-data-redis 36 | 37 | 38 | 39 | 40 | com.baomidou 41 | mybatis-plus-boot-starter 42 | 3.4.3 43 | 44 | 45 | 46 | org.projectlombok 47 | lombok 48 | true 49 | 50 | 51 | 52 | org.springframework.boot 53 | spring-boot-starter-test 54 | test 55 | 56 | 57 | 58 | 59 | mysql 60 | mysql-connector-java 61 | 62 | 63 | 64 | com.alibaba 65 | druid-spring-boot-starter 66 | 1.2.6 67 | 68 | 69 | 70 | org.springframework.boot 71 | spring-boot-configuration-processor 72 | true 73 | 74 | 75 | 76 | 77 | org.apache.commons 78 | commons-lang3 79 | 80 | 81 | 82 | 83 | com.github.pagehelper 84 | pagehelper 85 | 5.1.10 86 | 87 | 88 | 89 | 90 | io.jsonwebtoken 91 | jjwt 92 | 0.9.1 93 | 94 | 95 | 96 | 97 | commons-io 98 | commons-io 99 | 2.6 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | org.springframework.boot 111 | spring-boot-maven-plugin 112 | 113 | 114 | 115 | org.projectlombok 116 | lombok 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-api-master/src/.DS_Store -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-api-master/src/main/.DS_Store -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/CampusGangApplication.java: -------------------------------------------------------------------------------- 1 | package com.yqn; 2 | 3 | import org.mybatis.spring.annotation.MapperScan; 4 | import org.springframework.boot.SpringApplication; 5 | import org.springframework.boot.autoconfigure.SpringBootApplication; 6 | 7 | @MapperScan("com.yqn.mapper") 8 | @SpringBootApplication 9 | public class CampusGangApplication { 10 | 11 | public static void main(String[] args) { 12 | SpringApplication.run(CampusGangApplication.class, args); 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/config/CorsConfig.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.config; 2 | 3 | import org.springframework.context.annotation.Configuration; 4 | import org.springframework.web.servlet.config.annotation.CorsRegistry; 5 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; 6 | 7 | /** 8 | * @author sxc 9 | */ 10 | @Configuration 11 | public class CorsConfig implements WebMvcConfigurer { 12 | @Override 13 | public void addCorsMappings(CorsRegistry registry) { 14 | registry.addMapping("/**") 15 | .allowCredentials(true) 16 | .allowedOriginPatterns("*") 17 | .allowedMethods("GET", "POST", "PUT", "DELETE") 18 | .allowedHeaders("*") 19 | .exposedHeaders("*"); 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/constant/Constants.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.constant; 2 | 3 | import io.jsonwebtoken.Claims; 4 | 5 | /** 6 | * 通用常量信息 7 | * 8 | * @author ruoyi 9 | */ 10 | public class Constants 11 | { 12 | /** 13 | * UTF-8 字符集 14 | */ 15 | public static final String UTF8 = "UTF-8"; 16 | 17 | /** 18 | * GBK 字符集 19 | */ 20 | public static final String GBK = "GBK"; 21 | 22 | /** 23 | * http请求 24 | */ 25 | public static final String HTTP = "http://"; 26 | 27 | /** 28 | * https请求 29 | */ 30 | public static final String HTTPS = "https://"; 31 | 32 | /** 33 | * 通用成功标识 34 | */ 35 | public static final String SUCCESS = "0"; 36 | 37 | /** 38 | * 通用失败标识 39 | */ 40 | public static final String FAIL = "1"; 41 | 42 | /** 43 | * 登录成功 44 | */ 45 | public static final String LOGIN_SUCCESS = "Success"; 46 | 47 | /** 48 | * 注销 49 | */ 50 | public static final String LOGOUT = "Logout"; 51 | 52 | /** 53 | * 注册 54 | */ 55 | public static final String REGISTER = "Register"; 56 | 57 | /** 58 | * 登录失败 59 | */ 60 | public static final String LOGIN_FAIL = "Error"; 61 | 62 | /** 63 | * 验证码 redis key 64 | */ 65 | public static final String CAPTCHA_CODE_KEY = "captcha_codes:"; 66 | 67 | /** 68 | * 登录用户 redis key 69 | */ 70 | public static final String LOGIN_TOKEN_KEY = "login_tokens:"; 71 | 72 | /** 73 | * 防重提交 redis key 74 | */ 75 | public static final String REPEAT_SUBMIT_KEY = "repeat_submit:"; 76 | 77 | /** 78 | * 限流 redis key 79 | */ 80 | public static final String RATE_LIMIT_KEY = "rate_limit:"; 81 | 82 | /** 83 | * 验证码有效期(分钟) 84 | */ 85 | public static final Integer CAPTCHA_EXPIRATION = 2; 86 | 87 | /** 88 | * 令牌 89 | */ 90 | public static final String TOKEN = "token"; 91 | 92 | /** 93 | * 令牌前缀 94 | */ 95 | public static final String TOKEN_PREFIX = "Bearer "; 96 | 97 | /** 98 | * 令牌前缀 99 | */ 100 | public static final String LOGIN_USER_KEY = "login_user_key"; 101 | 102 | /** 103 | * 用户ID 104 | */ 105 | public static final String JWT_USERID = "userid"; 106 | 107 | /** 108 | * 用户名称 109 | */ 110 | public static final String JWT_USERNAME = Claims.SUBJECT; 111 | 112 | /** 113 | * 用户头像 114 | */ 115 | public static final String JWT_AVATAR = "avatar"; 116 | 117 | /** 118 | * 创建时间 119 | */ 120 | public static final String JWT_CREATED = "created"; 121 | 122 | /** 123 | * 用户权限 124 | */ 125 | public static final String JWT_AUTHORITIES = "authorities"; 126 | 127 | /** 128 | * 参数管理 cache key 129 | */ 130 | public static final String SYS_CONFIG_KEY = "sys_config:"; 131 | 132 | /** 133 | * 字典管理 cache key 134 | */ 135 | public static final String SYS_DICT_KEY = "sys_dict:"; 136 | 137 | /** 138 | * 资源映射路径 前缀 139 | */ 140 | public static final String RESOURCE_PREFIX = "/profile"; 141 | 142 | /** 143 | * RMI 远程方法调用 144 | */ 145 | public static final String LOOKUP_RMI = "rmi:"; 146 | 147 | /** 148 | * LDAP 远程方法调用 149 | */ 150 | public static final String LOOKUP_LDAP = "ldap:"; 151 | 152 | /** 153 | * LDAPS 远程方法调用 154 | */ 155 | public static final String LOOKUP_LDAPS = "ldaps:"; 156 | 157 | /** 158 | * 定时任务白名单配置(仅允许访问的包名,如其他需要可以自行添加) 159 | */ 160 | public static final String[] JOB_WHITELIST_STR = { "com.ruoyi" }; 161 | 162 | /** 163 | * 定时任务违规的字符 164 | */ 165 | public static final String[] JOB_ERROR_STR = { "java.net.URL", "javax.naming.InitialContext", "org.yaml.snakeyaml", 166 | "org.springframework", "org.apache", "com.ruoyi.common.utils.file" }; 167 | } 168 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/constant/HttpStatus.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.constant; 2 | 3 | /** 4 | * 返回状态码 5 | * 6 | * @author ruoyi 7 | */ 8 | public class HttpStatus 9 | { 10 | /** 11 | * 操作成功 12 | */ 13 | public static final int SUCCESS = 200; 14 | 15 | /** 16 | * 对象创建成功 17 | */ 18 | public static final int CREATED = 201; 19 | 20 | /** 21 | * 请求已经被接受 22 | */ 23 | public static final int ACCEPTED = 202; 24 | 25 | /** 26 | * 操作已经执行成功,但是没有返回数据 27 | */ 28 | public static final int NO_CONTENT = 204; 29 | 30 | /** 31 | * 资源已被移除 32 | */ 33 | public static final int MOVED_PERM = 301; 34 | 35 | /** 36 | * 重定向 37 | */ 38 | public static final int SEE_OTHER = 303; 39 | 40 | /** 41 | * 资源没有被修改 42 | */ 43 | public static final int NOT_MODIFIED = 304; 44 | 45 | /** 46 | * 参数列表错误(缺少,格式不匹配) 47 | */ 48 | public static final int BAD_REQUEST = 400; 49 | 50 | /** 51 | * 未授权 52 | */ 53 | public static final int UNAUTHORIZED = 401; 54 | 55 | /** 56 | * 访问受限,授权过期 57 | */ 58 | public static final int FORBIDDEN = 403; 59 | 60 | /** 61 | * 资源,服务未找到 62 | */ 63 | public static final int NOT_FOUND = 404; 64 | 65 | /** 66 | * 不允许的http方法 67 | */ 68 | public static final int BAD_METHOD = 405; 69 | 70 | /** 71 | * 资源冲突,或者资源被锁 72 | */ 73 | public static final int CONFLICT = 409; 74 | 75 | /** 76 | * 不支持的数据,媒体类型 77 | */ 78 | public static final int UNSUPPORTED_TYPE = 415; 79 | 80 | /** 81 | * 系统内部错误 82 | */ 83 | public static final int ERROR = 500; 84 | 85 | /** 86 | * 接口未实现 87 | */ 88 | public static final int NOT_IMPLEMENTED = 501; 89 | } 90 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/core/controller/BaseController.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.core.controller; 2 | 3 | import com.github.pagehelper.PageHelper; 4 | import com.github.pagehelper.PageInfo; 5 | import com.yqn.common.constant.HttpStatus; 6 | import com.yqn.common.core.domain.AjaxResult; 7 | import com.yqn.common.core.page.PageDomain; 8 | import com.yqn.common.core.page.TableDataInfo; 9 | import com.yqn.common.core.page.TableSupport; 10 | import com.yqn.common.utils.DateUtils; 11 | import com.yqn.common.utils.PageUtils; 12 | import com.yqn.common.utils.StringUtils; 13 | import com.yqn.common.utils.sql.SqlUtil; 14 | import org.slf4j.Logger; 15 | import org.slf4j.LoggerFactory; 16 | import org.springframework.web.bind.WebDataBinder; 17 | import org.springframework.web.bind.annotation.InitBinder; 18 | 19 | import java.beans.PropertyEditorSupport; 20 | import java.util.Date; 21 | import java.util.List; 22 | 23 | /** 24 | * web层通用数据处理 25 | * 26 | * @author ruoyi 27 | */ 28 | public class BaseController 29 | { 30 | protected final Logger logger = LoggerFactory.getLogger(this.getClass()); 31 | 32 | /** 33 | * 将前台传递过来的日期格式的字符串,自动转化为Date类型 34 | */ 35 | @InitBinder 36 | public void initBinder(WebDataBinder binder) 37 | { 38 | // Date 类型转换 39 | binder.registerCustomEditor(Date.class, new PropertyEditorSupport() 40 | { 41 | @Override 42 | public void setAsText(String text) 43 | { 44 | setValue(DateUtils.parseDate(text)); 45 | } 46 | }); 47 | } 48 | 49 | /** 50 | * 设置请求分页数据 51 | */ 52 | protected void startPage() 53 | { 54 | PageUtils.startPage(); 55 | } 56 | 57 | /** 58 | * 设置请求排序数据 59 | */ 60 | protected void startOrderBy() 61 | { 62 | PageDomain pageDomain = TableSupport.buildPageRequest(); 63 | if (StringUtils.isNotEmpty(pageDomain.getOrderBy())) 64 | { 65 | String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); 66 | PageHelper.orderBy(orderBy); 67 | } 68 | } 69 | 70 | /** 71 | * 清理分页的线程变量 72 | */ 73 | protected void clearPage() 74 | { 75 | PageUtils.clearPage(); 76 | } 77 | 78 | /** 79 | * 响应请求分页数据 80 | */ 81 | @SuppressWarnings({ "rawtypes", "unchecked" }) 82 | protected TableDataInfo getDataTable(List list) 83 | { 84 | TableDataInfo rspData = new TableDataInfo(); 85 | rspData.setCode(HttpStatus.SUCCESS); 86 | rspData.setMsg("查询成功"); 87 | rspData.setRows(list); 88 | rspData.setTotal(new PageInfo(list).getTotal()); 89 | return rspData; 90 | } 91 | 92 | /** 93 | * 返回成功 94 | */ 95 | public AjaxResult success() 96 | { 97 | return AjaxResult.success(); 98 | } 99 | 100 | /** 101 | * 返回失败消息 102 | */ 103 | public AjaxResult error() 104 | { 105 | return AjaxResult.error(); 106 | } 107 | 108 | /** 109 | * 返回成功消息 110 | */ 111 | public AjaxResult success(String message) 112 | { 113 | return AjaxResult.success(message); 114 | } 115 | 116 | /** 117 | * 返回失败消息 118 | */ 119 | public AjaxResult error(String message) 120 | { 121 | return AjaxResult.error(message); 122 | } 123 | 124 | /** 125 | * 响应返回结果 126 | * 127 | * @param rows 影响行数 128 | * @return 操作结果 129 | */ 130 | protected AjaxResult toAjax(int rows) 131 | { 132 | return rows > 0 ? AjaxResult.success() : AjaxResult.error(); 133 | } 134 | 135 | /** 136 | * 响应返回结果 137 | * 138 | * @param result 结果 139 | * @return 操作结果 140 | */ 141 | protected AjaxResult toAjax(boolean result) 142 | { 143 | return result ? success() : error(); 144 | } 145 | 146 | /** 147 | * 页面跳转 148 | */ 149 | public String redirect(String url) 150 | { 151 | return StringUtils.format("redirect:{}", url); 152 | } 153 | 154 | 155 | 156 | } 157 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/core/domain/AjaxResult.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.core.domain; 2 | 3 | import com.yqn.common.constant.HttpStatus; 4 | import com.yqn.common.utils.StringUtils; 5 | import java.util.HashMap; 6 | 7 | /** 8 | * 操作消息提醒 9 | * 10 | * @author ruoyi 11 | */ 12 | public class AjaxResult extends HashMap 13 | { 14 | private static final long serialVersionUID = 1L; 15 | 16 | /** 状态码 */ 17 | public static final String CODE_TAG = "code"; 18 | 19 | /** 返回内容 */ 20 | public static final String MSG_TAG = "msg"; 21 | 22 | /** 数据对象 */ 23 | public static final String DATA_TAG = "data"; 24 | 25 | /** 26 | * 初始化一个新创建的 AjaxResult 对象,使其表示一个空消息。 27 | */ 28 | public AjaxResult() 29 | { 30 | } 31 | 32 | /** 33 | * 初始化一个新创建的 AjaxResult 对象 34 | * 35 | * @param code 状态码 36 | * @param msg 返回内容 37 | */ 38 | public AjaxResult(int code, String msg) 39 | { 40 | super.put(CODE_TAG, code); 41 | super.put(MSG_TAG, msg); 42 | } 43 | 44 | /** 45 | * 初始化一个新创建的 AjaxResult 对象 46 | * 47 | * @param code 状态码 48 | * @param msg 返回内容 49 | * @param data 数据对象 50 | */ 51 | public AjaxResult(int code, String msg, Object data) 52 | { 53 | super.put(CODE_TAG, code); 54 | super.put(MSG_TAG, msg); 55 | if (StringUtils.isNotNull(data)) 56 | { 57 | super.put(DATA_TAG, data); 58 | } 59 | } 60 | 61 | /** 62 | * 返回成功消息 63 | * 64 | * @return 成功消息 65 | */ 66 | public static AjaxResult success() 67 | { 68 | return AjaxResult.success("操作成功"); 69 | } 70 | 71 | /** 72 | * 返回成功数据 73 | * 74 | * @return 成功消息 75 | */ 76 | public static AjaxResult success(Object data) 77 | { 78 | return AjaxResult.success("操作成功", data); 79 | } 80 | 81 | /** 82 | * 返回成功消息 83 | * 84 | * @param msg 返回内容 85 | * @return 成功消息 86 | */ 87 | public static AjaxResult success(String msg) 88 | { 89 | return AjaxResult.success(msg, null); 90 | } 91 | 92 | /** 93 | * 返回成功消息 94 | * 95 | * @param msg 返回内容 96 | * @param data 数据对象 97 | * @return 成功消息 98 | */ 99 | public static AjaxResult success(String msg, Object data) 100 | { 101 | return new AjaxResult(HttpStatus.SUCCESS, msg, data); 102 | } 103 | 104 | /** 105 | * 返回错误消息 106 | * 107 | * @return 108 | */ 109 | public static AjaxResult error() 110 | { 111 | return AjaxResult.error("操作失败"); 112 | } 113 | 114 | /** 115 | * 返回错误消息 116 | * 117 | * @param msg 返回内容 118 | * @return 警告消息 119 | */ 120 | public static AjaxResult error(String msg) 121 | { 122 | return AjaxResult.error(msg, null); 123 | } 124 | 125 | /** 126 | * 返回错误消息 127 | * 128 | * @param msg 返回内容 129 | * @param data 数据对象 130 | * @return 警告消息 131 | */ 132 | public static AjaxResult error(String msg, Object data) 133 | { 134 | return new AjaxResult(HttpStatus.ERROR, msg, data); 135 | } 136 | 137 | /** 138 | * 返回错误消息 139 | * 140 | * @param code 状态码 141 | * @param msg 返回内容 142 | * @return 警告消息 143 | */ 144 | public static AjaxResult error(int code, String msg) 145 | { 146 | return new AjaxResult(code, msg, null); 147 | } 148 | 149 | /** 150 | * 方便链式调用 151 | * 152 | * @param key 键 153 | * @param value 值 154 | * @return 数据对象 155 | */ 156 | @Override 157 | public AjaxResult put(String key, Object value) 158 | { 159 | super.put(key, value); 160 | return this; 161 | } 162 | } 163 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/core/domain/BaseEntity.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.core.domain; 2 | 3 | import com.fasterxml.jackson.annotation.JsonFormat; 4 | 5 | import java.io.Serializable; 6 | import java.util.Date; 7 | import java.util.HashMap; 8 | import java.util.Map; 9 | 10 | /** 11 | * Entity基类 12 | * 13 | * @author ruoyi 14 | */ 15 | public class BaseEntity implements Serializable 16 | { 17 | private static final long serialVersionUID = 1L; 18 | 19 | /** 搜索值 */ 20 | private String searchValue; 21 | 22 | /** 创建者 */ 23 | private String createBy; 24 | 25 | /** 创建时间 */ 26 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") 27 | private Date createTime; 28 | 29 | /** 更新者 */ 30 | private String updateBy; 31 | 32 | /** 更新时间 */ 33 | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") 34 | private Date updateTime; 35 | 36 | /** 备注 */ 37 | private String remark; 38 | 39 | /** 请求参数 */ 40 | private Map params; 41 | 42 | public String getSearchValue() 43 | { 44 | return searchValue; 45 | } 46 | 47 | public void setSearchValue(String searchValue) 48 | { 49 | this.searchValue = searchValue; 50 | } 51 | 52 | public String getCreateBy() 53 | { 54 | return createBy; 55 | } 56 | 57 | public void setCreateBy(String createBy) 58 | { 59 | this.createBy = createBy; 60 | } 61 | 62 | public Date getCreateTime() 63 | { 64 | return createTime; 65 | } 66 | 67 | public void setCreateTime(Date createTime) 68 | { 69 | this.createTime = createTime; 70 | } 71 | 72 | public String getUpdateBy() 73 | { 74 | return updateBy; 75 | } 76 | 77 | public void setUpdateBy(String updateBy) 78 | { 79 | this.updateBy = updateBy; 80 | } 81 | 82 | public Date getUpdateTime() 83 | { 84 | return updateTime; 85 | } 86 | 87 | public void setUpdateTime(Date updateTime) 88 | { 89 | this.updateTime = updateTime; 90 | } 91 | 92 | public String getRemark() 93 | { 94 | return remark; 95 | } 96 | 97 | public void setRemark(String remark) 98 | { 99 | this.remark = remark; 100 | } 101 | 102 | public Map getParams() 103 | { 104 | if (params == null) 105 | { 106 | params = new HashMap<>(); 107 | } 108 | return params; 109 | } 110 | 111 | public void setParams(Map params) 112 | { 113 | this.params = params; 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/core/domain/TreeEntity.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.core.domain; 2 | 3 | import java.util.ArrayList; 4 | import java.util.List; 5 | 6 | /** 7 | * Tree基类 8 | * 9 | * @author ruoyi 10 | */ 11 | public class TreeEntity extends BaseEntity 12 | { 13 | private static final long serialVersionUID = 1L; 14 | 15 | /** 父菜单名称 */ 16 | private String parentName; 17 | 18 | /** 父菜单ID */ 19 | private Long parentId; 20 | 21 | /** 显示顺序 */ 22 | private Integer orderNum; 23 | 24 | /** 祖级列表 */ 25 | private String ancestors; 26 | 27 | /** 子部门 */ 28 | private List children = new ArrayList<>(); 29 | 30 | public String getParentName() 31 | { 32 | return parentName; 33 | } 34 | 35 | public void setParentName(String parentName) 36 | { 37 | this.parentName = parentName; 38 | } 39 | 40 | public Long getParentId() 41 | { 42 | return parentId; 43 | } 44 | 45 | public void setParentId(Long parentId) 46 | { 47 | this.parentId = parentId; 48 | } 49 | 50 | public Integer getOrderNum() 51 | { 52 | return orderNum; 53 | } 54 | 55 | public void setOrderNum(Integer orderNum) 56 | { 57 | this.orderNum = orderNum; 58 | } 59 | 60 | public String getAncestors() 61 | { 62 | return ancestors; 63 | } 64 | 65 | public void setAncestors(String ancestors) 66 | { 67 | this.ancestors = ancestors; 68 | } 69 | 70 | public List getChildren() 71 | { 72 | return children; 73 | } 74 | 75 | public void setChildren(List children) 76 | { 77 | this.children = children; 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/core/page/PageDomain.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.core.page; 2 | 3 | import com.yqn.common.utils.StringUtils; 4 | 5 | /** 6 | * 分页数据 7 | * 8 | * @author ruoyi 9 | */ 10 | public class PageDomain 11 | { 12 | /** 当前记录起始索引 */ 13 | private Integer pageNum; 14 | 15 | /** 每页显示记录数 */ 16 | private Integer pageSize; 17 | 18 | /** 排序列 */ 19 | private String orderByColumn; 20 | 21 | /** 排序的方向desc或者asc */ 22 | private String isAsc = "asc"; 23 | 24 | /** 分页参数合理化 */ 25 | private Boolean reasonable = true; 26 | 27 | public String getOrderBy() 28 | { 29 | if (StringUtils.isEmpty(orderByColumn)) 30 | { 31 | return ""; 32 | } 33 | return StringUtils.toUnderScoreCase(orderByColumn) + " " + isAsc; 34 | } 35 | 36 | public Integer getPageNum() 37 | { 38 | return pageNum; 39 | } 40 | 41 | public void setPageNum(Integer pageNum) 42 | { 43 | this.pageNum = pageNum; 44 | } 45 | 46 | public Integer getPageSize() 47 | { 48 | return pageSize; 49 | } 50 | 51 | public void setPageSize(Integer pageSize) 52 | { 53 | this.pageSize = pageSize; 54 | } 55 | 56 | public String getOrderByColumn() 57 | { 58 | return orderByColumn; 59 | } 60 | 61 | public void setOrderByColumn(String orderByColumn) 62 | { 63 | this.orderByColumn = orderByColumn; 64 | } 65 | 66 | public String getIsAsc() 67 | { 68 | return isAsc; 69 | } 70 | 71 | public void setIsAsc(String isAsc) 72 | { 73 | if (StringUtils.isNotEmpty(isAsc)) 74 | { 75 | // 兼容前端排序类型 76 | if ("ascending".equals(isAsc)) 77 | { 78 | isAsc = "asc"; 79 | } 80 | else if ("descending".equals(isAsc)) 81 | { 82 | isAsc = "desc"; 83 | } 84 | this.isAsc = isAsc; 85 | } 86 | } 87 | 88 | public Boolean getReasonable() 89 | { 90 | if (StringUtils.isNull(reasonable)) 91 | { 92 | return Boolean.TRUE; 93 | } 94 | return reasonable; 95 | } 96 | 97 | public void setReasonable(Boolean reasonable) 98 | { 99 | this.reasonable = reasonable; 100 | } 101 | } 102 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/core/page/TableDataInfo.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.core.page; 2 | 3 | import java.io.Serializable; 4 | import java.util.List; 5 | 6 | /** 7 | * 表格分页数据对象 8 | * 9 | * @author ruoyi 10 | */ 11 | public class TableDataInfo implements Serializable 12 | { 13 | private static final long serialVersionUID = 1L; 14 | 15 | /** 总记录数 */ 16 | private long total; 17 | 18 | /** 列表数据 */ 19 | private List rows; 20 | 21 | /** 消息状态码 */ 22 | private int code; 23 | 24 | /** 消息内容 */ 25 | private String msg; 26 | 27 | /** 28 | * 表格数据对象 29 | */ 30 | public TableDataInfo() 31 | { 32 | } 33 | 34 | /** 35 | * 分页 36 | * 37 | * @param list 列表数据 38 | * @param total 总记录数 39 | */ 40 | public TableDataInfo(List list, int total) 41 | { 42 | this.rows = list; 43 | this.total = total; 44 | } 45 | 46 | public long getTotal() 47 | { 48 | return total; 49 | } 50 | 51 | public void setTotal(long total) 52 | { 53 | this.total = total; 54 | } 55 | 56 | public List getRows() 57 | { 58 | return rows; 59 | } 60 | 61 | public void setRows(List rows) 62 | { 63 | this.rows = rows; 64 | } 65 | 66 | public int getCode() 67 | { 68 | return code; 69 | } 70 | 71 | public void setCode(int code) 72 | { 73 | this.code = code; 74 | } 75 | 76 | public String getMsg() 77 | { 78 | return msg; 79 | } 80 | 81 | public void setMsg(String msg) 82 | { 83 | this.msg = msg; 84 | } 85 | } 86 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/core/page/TableSupport.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.core.page; 2 | 3 | import com.yqn.common.utils.ServletUtils; 4 | 5 | /** 6 | * 表格数据处理 7 | * 8 | * @author ruoyi 9 | */ 10 | public class TableSupport 11 | { 12 | /** 13 | * 当前记录起始索引 14 | */ 15 | public static final String PAGE_NUM = "pageNum"; 16 | 17 | /** 18 | * 每页显示记录数 19 | */ 20 | public static final String PAGE_SIZE = "pageSize"; 21 | 22 | /** 23 | * 排序列 24 | */ 25 | public static final String ORDER_BY_COLUMN = "orderByColumn"; 26 | 27 | /** 28 | * 排序的方向 "desc" 或者 "asc". 29 | */ 30 | public static final String IS_ASC = "isAsc"; 31 | 32 | /** 33 | * 分页参数合理化 34 | */ 35 | public static final String REASONABLE = "reasonable"; 36 | 37 | /** 38 | * 封装分页对象 39 | */ 40 | public static PageDomain getPageDomain() 41 | { 42 | PageDomain pageDomain = new PageDomain(); 43 | pageDomain.setPageNum(ServletUtils.getParameterToInt(PAGE_NUM)); 44 | pageDomain.setPageSize(ServletUtils.getParameterToInt(PAGE_SIZE)); 45 | pageDomain.setOrderByColumn(ServletUtils.getParameter(ORDER_BY_COLUMN)); 46 | pageDomain.setIsAsc(ServletUtils.getParameter(IS_ASC)); 47 | pageDomain.setReasonable(ServletUtils.getParameterToBool(REASONABLE)); 48 | return pageDomain; 49 | } 50 | 51 | public static PageDomain buildPageRequest() 52 | { 53 | return getPageDomain(); 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/core/text/CharsetKit.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.core.text; 2 | 3 | import com.yqn.common.utils.StringUtils; 4 | 5 | import java.nio.charset.Charset; 6 | import java.nio.charset.StandardCharsets; 7 | 8 | /** 9 | * 字符集工具类 10 | * 11 | * @author ruoyi 12 | */ 13 | public class CharsetKit 14 | { 15 | /** ISO-8859-1 */ 16 | public static final String ISO_8859_1 = "ISO-8859-1"; 17 | /** UTF-8 */ 18 | public static final String UTF_8 = "UTF-8"; 19 | /** GBK */ 20 | public static final String GBK = "GBK"; 21 | 22 | /** ISO-8859-1 */ 23 | public static final Charset CHARSET_ISO_8859_1 = Charset.forName(ISO_8859_1); 24 | /** UTF-8 */ 25 | public static final Charset CHARSET_UTF_8 = Charset.forName(UTF_8); 26 | /** GBK */ 27 | public static final Charset CHARSET_GBK = Charset.forName(GBK); 28 | 29 | /** 30 | * 转换为Charset对象 31 | * 32 | * @param charset 字符集,为空则返回默认字符集 33 | * @return Charset 34 | */ 35 | public static Charset charset(String charset) 36 | { 37 | return StringUtils.isEmpty(charset) ? Charset.defaultCharset() : Charset.forName(charset); 38 | } 39 | 40 | /** 41 | * 转换字符串的字符集编码 42 | * 43 | * @param source 字符串 44 | * @param srcCharset 源字符集,默认ISO-8859-1 45 | * @param destCharset 目标字符集,默认UTF-8 46 | * @return 转换后的字符集 47 | */ 48 | public static String convert(String source, String srcCharset, String destCharset) 49 | { 50 | return convert(source, Charset.forName(srcCharset), Charset.forName(destCharset)); 51 | } 52 | 53 | /** 54 | * 转换字符串的字符集编码 55 | * 56 | * @param source 字符串 57 | * @param srcCharset 源字符集,默认ISO-8859-1 58 | * @param destCharset 目标字符集,默认UTF-8 59 | * @return 转换后的字符集 60 | */ 61 | public static String convert(String source, Charset srcCharset, Charset destCharset) 62 | { 63 | if (null == srcCharset) 64 | { 65 | srcCharset = StandardCharsets.ISO_8859_1; 66 | } 67 | 68 | if (null == destCharset) 69 | { 70 | destCharset = StandardCharsets.UTF_8; 71 | } 72 | 73 | if (StringUtils.isEmpty(source) || srcCharset.equals(destCharset)) 74 | { 75 | return source; 76 | } 77 | return new String(source.getBytes(srcCharset), destCharset); 78 | } 79 | 80 | /** 81 | * @return 系统字符集编码 82 | */ 83 | public static String systemCharset() 84 | { 85 | return Charset.defaultCharset().name(); 86 | } 87 | } 88 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/core/text/StrFormatter.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.core.text; 2 | 3 | import com.yqn.common.utils.StringUtils; 4 | 5 | /** 6 | * 字符串格式化 7 | * 8 | * @author ruoyi 9 | */ 10 | public class StrFormatter 11 | { 12 | public static final String EMPTY_JSON = "{}"; 13 | public static final char C_BACKSLASH = '\\'; 14 | public static final char C_DELIM_START = '{'; 15 | public static final char C_DELIM_END = '}'; 16 | 17 | /** 18 | * 格式化字符串
19 | * 此方法只是简单将占位符 {} 按照顺序替换为参数
20 | * 如果想输出 {} 使用 \\转义 { 即可,如果想输出 {} 之前的 \ 使用双转义符 \\\\ 即可
21 | * 例:
22 | * 通常使用:format("this is {} for {}", "a", "b") -> this is a for b
23 | * 转义{}: format("this is \\{} for {}", "a", "b") -> this is \{} for a
24 | * 转义\: format("this is \\\\{} for {}", "a", "b") -> this is \a for b
25 | * 26 | * @param strPattern 字符串模板 27 | * @param argArray 参数列表 28 | * @return 结果 29 | */ 30 | public static String format(final String strPattern, final Object... argArray) 31 | { 32 | if (StringUtils.isEmpty(strPattern) || StringUtils.isEmpty(argArray)) 33 | { 34 | return strPattern; 35 | } 36 | final int strPatternLength = strPattern.length(); 37 | 38 | // 初始化定义好的长度以获得更好的性能 39 | StringBuilder sbuf = new StringBuilder(strPatternLength + 50); 40 | 41 | int handledPosition = 0; 42 | int delimIndex;// 占位符所在位置 43 | for (int argIndex = 0; argIndex < argArray.length; argIndex++) 44 | { 45 | delimIndex = strPattern.indexOf(EMPTY_JSON, handledPosition); 46 | if (delimIndex == -1) 47 | { 48 | if (handledPosition == 0) 49 | { 50 | return strPattern; 51 | } 52 | else 53 | { // 字符串模板剩余部分不再包含占位符,加入剩余部分后返回结果 54 | sbuf.append(strPattern, handledPosition, strPatternLength); 55 | return sbuf.toString(); 56 | } 57 | } 58 | else 59 | { 60 | if (delimIndex > 0 && strPattern.charAt(delimIndex - 1) == C_BACKSLASH) 61 | { 62 | if (delimIndex > 1 && strPattern.charAt(delimIndex - 2) == C_BACKSLASH) 63 | { 64 | // 转义符之前还有一个转义符,占位符依旧有效 65 | sbuf.append(strPattern, handledPosition, delimIndex - 1); 66 | sbuf.append(Convert.utf8Str(argArray[argIndex])); 67 | handledPosition = delimIndex + 2; 68 | } 69 | else 70 | { 71 | // 占位符被转义 72 | argIndex--; 73 | sbuf.append(strPattern, handledPosition, delimIndex - 1); 74 | sbuf.append(C_DELIM_START); 75 | handledPosition = delimIndex + 1; 76 | } 77 | } 78 | else 79 | { 80 | // 正常占位符 81 | sbuf.append(strPattern, handledPosition, delimIndex); 82 | sbuf.append(Convert.utf8Str(argArray[argIndex])); 83 | handledPosition = delimIndex + 2; 84 | } 85 | } 86 | } 87 | // 加入最后一个占位符后所有的字符 88 | sbuf.append(strPattern, handledPosition, strPattern.length()); 89 | 90 | return sbuf.toString(); 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/exception/UtilException.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.exception; 2 | 3 | /** 4 | * 工具类异常 5 | * 6 | * @author ruoyi 7 | */ 8 | public class UtilException extends RuntimeException 9 | { 10 | private static final long serialVersionUID = 8247610319171014183L; 11 | 12 | public UtilException(Throwable e) 13 | { 14 | super(e.getMessage(), e); 15 | } 16 | 17 | public UtilException(String message) 18 | { 19 | super(message); 20 | } 21 | 22 | public UtilException(String message, Throwable throwable) 23 | { 24 | super(message, throwable); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/tools/MessageTools.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.tools; 2 | 3 | import org.springframework.stereotype.Component; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | /** 9 | * @author sxc 10 | */ 11 | // @Configuration 12 | @Component 13 | public class MessageTools { 14 | // 返回json信息 15 | /*public Map message(boolean status, Object o) { 16 | Map map = new HashMap<>(); 17 | map.put("status", status); 18 | map.put("msg", o); 19 | return map; 20 | }*/ 21 | 22 | public Map message(boolean status, String msg, String oMsg, Object o) { 23 | Map map = new HashMap<>(); 24 | map.put("status", status); 25 | map.put("msg", msg); 26 | if (!msg.equals("") && o != null) { 27 | map.put(oMsg, o); 28 | } 29 | return map; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/tools/PocketMoney.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.tools; 2 | 3 | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; 4 | import com.yqn.pojo.User; 5 | import com.yqn.service.UserService; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Component; 8 | 9 | import java.util.Map; 10 | 11 | /** 12 | * @author sxc 13 | */ 14 | @Component 15 | public class PocketMoney { 16 | @Autowired 17 | private UserService userService; 18 | @Autowired 19 | private MessageTools tools; 20 | 21 | // 零钱通用方法 22 | public Map transfer(String condition, Double balance, String studentId) { 23 | UpdateWrapper wrapper = new UpdateWrapper<>(); 24 | wrapper.setSql(condition + balance) 25 | .eq("student_id", studentId); 26 | boolean update = userService.update(wrapper); 27 | if (update) { 28 | return tools.message(true, "success", "", null); 29 | } 30 | return tools.message(false, "error", "", null); 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/utils/DateUtils.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.utils; 2 | 3 | import org.apache.commons.lang3.time.DateFormatUtils; 4 | 5 | import java.lang.management.ManagementFactory; 6 | import java.text.ParseException; 7 | import java.text.SimpleDateFormat; 8 | import java.time.*; 9 | import java.util.Date; 10 | 11 | /** 12 | * 时间工具类 13 | * 14 | * @author ruoyi 15 | */ 16 | public class DateUtils extends org.apache.commons.lang3.time.DateUtils 17 | { 18 | public static String YYYY = "yyyy"; 19 | 20 | public static String YYYY_MM = "yyyy-MM"; 21 | 22 | public static String YYYY_MM_DD = "yyyy-MM-dd"; 23 | 24 | public static String YYYYMMDDHHMMSS = "yyyyMMddHHmmss"; 25 | 26 | public static String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss"; 27 | 28 | private static String[] parsePatterns = { 29 | "yyyy-MM-dd", "yyyy-MM-dd HH:mm:ss", "yyyy-MM-dd HH:mm", "yyyy-MM", 30 | "yyyy/MM/dd", "yyyy/MM/dd HH:mm:ss", "yyyy/MM/dd HH:mm", "yyyy/MM", 31 | "yyyy.MM.dd", "yyyy.MM.dd HH:mm:ss", "yyyy.MM.dd HH:mm", "yyyy.MM"}; 32 | 33 | /** 34 | * 获取当前Date型日期 35 | * 36 | * @return Date() 当前日期 37 | */ 38 | public static Date getNowDate() 39 | { 40 | return new Date(); 41 | } 42 | 43 | /** 44 | * 获取当前日期, 默认格式为yyyy-MM-dd 45 | * 46 | * @return String 47 | */ 48 | public static String getDate() 49 | { 50 | return dateTimeNow(YYYY_MM_DD); 51 | } 52 | 53 | public static final String getTime() 54 | { 55 | return dateTimeNow(YYYY_MM_DD_HH_MM_SS); 56 | } 57 | 58 | public static final String dateTimeNow() 59 | { 60 | return dateTimeNow(YYYYMMDDHHMMSS); 61 | } 62 | 63 | public static final String dateTimeNow(final String format) 64 | { 65 | return parseDateToStr(format, new Date()); 66 | } 67 | 68 | public static final String dateTime(final Date date) 69 | { 70 | return parseDateToStr(YYYY_MM_DD, date); 71 | } 72 | 73 | public static final String parseDateToStr(final String format, final Date date) 74 | { 75 | return new SimpleDateFormat(format).format(date); 76 | } 77 | 78 | public static final Date dateTime(final String format, final String ts) 79 | { 80 | try 81 | { 82 | return new SimpleDateFormat(format).parse(ts); 83 | } 84 | catch (ParseException e) 85 | { 86 | throw new RuntimeException(e); 87 | } 88 | } 89 | 90 | /** 91 | * 日期路径 即年/月/日 如2018/08/08 92 | */ 93 | public static final String datePath() 94 | { 95 | Date now = new Date(); 96 | return DateFormatUtils.format(now, "yyyy/MM/dd"); 97 | } 98 | 99 | /** 100 | * 日期路径 即年/月/日 如20180808 101 | */ 102 | public static final String dateTime() 103 | { 104 | Date now = new Date(); 105 | return DateFormatUtils.format(now, "yyyyMMdd"); 106 | } 107 | 108 | /** 109 | * 日期型字符串转化为日期 格式 110 | */ 111 | public static Date parseDate(Object str) 112 | { 113 | if (str == null) 114 | { 115 | return null; 116 | } 117 | try 118 | { 119 | return parseDate(str.toString(), parsePatterns); 120 | } 121 | catch (ParseException e) 122 | { 123 | return null; 124 | } 125 | } 126 | 127 | /** 128 | * 获取服务器启动时间 129 | */ 130 | public static Date getServerStartDate() 131 | { 132 | long time = ManagementFactory.getRuntimeMXBean().getStartTime(); 133 | return new Date(time); 134 | } 135 | 136 | /** 137 | * 计算相差天数 138 | */ 139 | public static int differentDaysByMillisecond(Date date1, Date date2) 140 | { 141 | return Math.abs((int) ((date2.getTime() - date1.getTime()) / (1000 * 3600 * 24))); 142 | } 143 | 144 | /** 145 | * 计算两个时间差 146 | */ 147 | public static String getDatePoor(Date endDate, Date nowDate) 148 | { 149 | long nd = 1000 * 24 * 60 * 60; 150 | long nh = 1000 * 60 * 60; 151 | long nm = 1000 * 60; 152 | // long ns = 1000; 153 | // 获得两个时间的毫秒时间差异 154 | long diff = endDate.getTime() - nowDate.getTime(); 155 | // 计算差多少天 156 | long day = diff / nd; 157 | // 计算差多少小时 158 | long hour = diff % nd / nh; 159 | // 计算差多少分钟 160 | long min = diff % nd % nh / nm; 161 | // 计算差多少秒//输出结果 162 | // long sec = diff % nd % nh % nm / ns; 163 | return day + "天" + hour + "小时" + min + "分钟"; 164 | } 165 | 166 | /** 167 | * 增加 LocalDateTime ==> Date 168 | */ 169 | public static Date toDate(LocalDateTime temporalAccessor) 170 | { 171 | ZonedDateTime zdt = temporalAccessor.atZone(ZoneId.systemDefault()); 172 | return Date.from(zdt.toInstant()); 173 | } 174 | 175 | /** 176 | * 增加 LocalDate ==> Date 177 | */ 178 | public static Date toDate(LocalDate temporalAccessor) 179 | { 180 | LocalDateTime localDateTime = LocalDateTime.of(temporalAccessor, LocalTime.of(0, 0, 0)); 181 | ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); 182 | return Date.from(zdt.toInstant()); 183 | } 184 | } 185 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/utils/PageUtils.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.utils; 2 | 3 | import com.github.pagehelper.PageHelper; 4 | import com.yqn.common.core.page.PageDomain; 5 | import com.yqn.common.core.page.TableSupport; 6 | import com.yqn.common.utils.sql.SqlUtil; 7 | 8 | /** 9 | * 分页工具类 10 | * 11 | * @author ruoyi 12 | */ 13 | public class PageUtils extends PageHelper 14 | { 15 | /** 16 | * 设置请求分页数据 17 | */ 18 | public static void startPage() 19 | { 20 | PageDomain pageDomain = TableSupport.buildPageRequest(); 21 | Integer pageNum = pageDomain.getPageNum(); 22 | Integer pageSize = pageDomain.getPageSize(); 23 | if (StringUtils.isNotNull(pageNum) && StringUtils.isNotNull(pageSize)) 24 | { 25 | String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); 26 | Boolean reasonable = pageDomain.getReasonable(); 27 | PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable); 28 | } 29 | } 30 | 31 | /** 32 | * 清理分页的线程变量 33 | */ 34 | public static void clearPage() 35 | { 36 | PageHelper.clearPage(); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/utils/ServletUtils.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.utils; 2 | 3 | import com.yqn.common.core.text.Convert; 4 | import org.springframework.web.context.request.RequestAttributes; 5 | import org.springframework.web.context.request.RequestContextHolder; 6 | import org.springframework.web.context.request.ServletRequestAttributes; 7 | 8 | import javax.servlet.http.HttpServletRequest; 9 | import javax.servlet.http.HttpServletResponse; 10 | import javax.servlet.http.HttpSession; 11 | import java.io.IOException; 12 | 13 | /** 14 | * 客户端工具类 15 | * 16 | * @author ruoyi 17 | */ 18 | public class ServletUtils 19 | { 20 | /** 21 | * 获取String参数 22 | */ 23 | public static String getParameter(String name) 24 | { 25 | return getRequest().getParameter(name); 26 | } 27 | 28 | /** 29 | * 获取String参数 30 | */ 31 | public static String getParameter(String name, String defaultValue) 32 | { 33 | return Convert.toStr(getRequest().getParameter(name), defaultValue); 34 | } 35 | 36 | /** 37 | * 获取Integer参数 38 | */ 39 | public static Integer getParameterToInt(String name) 40 | { 41 | return Convert.toInt(getRequest().getParameter(name)); 42 | } 43 | 44 | /** 45 | * 获取Integer参数 46 | */ 47 | public static Integer getParameterToInt(String name, Integer defaultValue) 48 | { 49 | return Convert.toInt(getRequest().getParameter(name), defaultValue); 50 | } 51 | 52 | /** 53 | * 获取Boolean参数 54 | */ 55 | public static Boolean getParameterToBool(String name) 56 | { 57 | return Convert.toBool(getRequest().getParameter(name)); 58 | } 59 | 60 | /** 61 | * 获取Boolean参数 62 | */ 63 | public static Boolean getParameterToBool(String name, Boolean defaultValue) 64 | { 65 | return Convert.toBool(getRequest().getParameter(name), defaultValue); 66 | } 67 | 68 | /** 69 | * 获取request 70 | */ 71 | public static HttpServletRequest getRequest() 72 | { 73 | return getRequestAttributes().getRequest(); 74 | } 75 | 76 | /** 77 | * 获取response 78 | */ 79 | public static HttpServletResponse getResponse() 80 | { 81 | return getRequestAttributes().getResponse(); 82 | } 83 | 84 | /** 85 | * 获取session 86 | */ 87 | public static HttpSession getSession() 88 | { 89 | return getRequest().getSession(); 90 | } 91 | 92 | public static ServletRequestAttributes getRequestAttributes() 93 | { 94 | RequestAttributes attributes = RequestContextHolder.getRequestAttributes(); 95 | return (ServletRequestAttributes) attributes; 96 | } 97 | 98 | /** 99 | * 将字符串渲染到客户端 100 | * 101 | * @param response 渲染对象 102 | * @param string 待渲染的字符串 103 | */ 104 | public static void renderString(HttpServletResponse response, String string) 105 | { 106 | try 107 | { 108 | response.setStatus(200); 109 | response.setContentType("application/json"); 110 | response.setCharacterEncoding("utf-8"); 111 | response.getWriter().print(string); 112 | } 113 | catch (IOException e) 114 | { 115 | e.printStackTrace(); 116 | } 117 | } 118 | 119 | /** 120 | * 是否是Ajax异步请求 121 | * 122 | * @param request 123 | */ 124 | public static boolean isAjaxRequest(HttpServletRequest request) 125 | { 126 | String accept = request.getHeader("accept"); 127 | if (accept != null && accept.contains("application/json")) 128 | { 129 | return true; 130 | } 131 | 132 | String xRequestedWith = request.getHeader("X-Requested-With"); 133 | if (xRequestedWith != null && xRequestedWith.contains("XMLHttpRequest")) 134 | { 135 | return true; 136 | } 137 | 138 | String uri = request.getRequestURI(); 139 | if (StringUtils.inStringIgnoreCase(uri, ".json", ".xml")) 140 | { 141 | return true; 142 | } 143 | 144 | String ajax = request.getParameter("__ajax"); 145 | return StringUtils.inStringIgnoreCase(ajax, "json", "xml"); 146 | } 147 | } 148 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/common/utils/sql/SqlUtil.java: -------------------------------------------------------------------------------- 1 | package com.yqn.common.utils.sql; 2 | 3 | import com.yqn.common.exception.UtilException; 4 | import com.yqn.common.utils.StringUtils; 5 | 6 | /** 7 | * sql操作工具类 8 | * 9 | * @author ruoyi 10 | */ 11 | public class SqlUtil 12 | { 13 | /** 14 | * 定义常用的 sql关键字 15 | */ 16 | public static String SQL_REGEX = "select |insert |delete |update |drop |count |exec |chr |mid |master |truncate |char |and |declare "; 17 | 18 | /** 19 | * 仅支持字母、数字、下划线、空格、逗号、小数点(支持多个字段排序) 20 | */ 21 | public static String SQL_PATTERN = "[a-zA-Z0-9_\\ \\,\\.]+"; 22 | 23 | /** 24 | * 检查字符,防止注入绕过 25 | */ 26 | public static String escapeOrderBySql(String value) 27 | { 28 | if (StringUtils.isNotEmpty(value) && !isValidOrderBySql(value)) 29 | { 30 | throw new UtilException("参数不符合规范,不能进行查询"); 31 | } 32 | return value; 33 | } 34 | 35 | /** 36 | * 验证 order by 语法是否符合规范 37 | */ 38 | public static boolean isValidOrderBySql(String value) 39 | { 40 | return value.matches(SQL_PATTERN); 41 | } 42 | 43 | /** 44 | * SQL关键字检查 45 | */ 46 | public static void filterKeyword(String value) 47 | { 48 | if (StringUtils.isEmpty(value)) 49 | { 50 | return; 51 | } 52 | String[] sqlKeywords = StringUtils.split(SQL_REGEX, "\\|"); 53 | for (String sqlKeyword : sqlKeywords) 54 | { 55 | if (StringUtils.indexOfIgnoreCase(value, sqlKeyword) > -1) 56 | { 57 | throw new UtilException("参数存在SQL注入风险"); 58 | } 59 | } 60 | } 61 | } 62 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/controller/AdminController.java: -------------------------------------------------------------------------------- 1 | package com.yqn.controller; 2 | 3 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 4 | import com.yqn.pojo.Admin; 5 | import com.yqn.service.AdminService; 6 | import com.yqn.common.tools.MessageTools; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.web.bind.annotation.*; 9 | 10 | import javax.servlet.http.HttpSession; 11 | import java.util.Map; 12 | 13 | /** 14 | * @author sxc 15 | */ 16 | @RestController 17 | @RequestMapping("/admin") 18 | public class AdminController { 19 | @Autowired 20 | private AdminService adminService; 21 | 22 | @Autowired 23 | private MessageTools message; 24 | 25 | @GetMapping 26 | public Map checkAdminLogin(String account, String password, HttpSession session) { 27 | QueryWrapper wrapper = new QueryWrapper<>(); 28 | wrapper.eq("account", account); 29 | wrapper.eq("password", password); 30 | 31 | Admin admin = adminService.getOne(wrapper); 32 | if (admin != null) { 33 | session.setAttribute("admin", admin); 34 | // return message.message(true, admin); 35 | return message.message(true, "请求成功", "admin", admin); 36 | } 37 | 38 | // return message.message(false, "账号或密码错误"); 39 | return message.message(false, "账号或密码错误", "", null); 40 | } 41 | 42 | @PostMapping 43 | public Map saveAdmin(Admin admin) { 44 | boolean result = adminService.save(admin); 45 | if (result) { 46 | return message.message(true, "Admin,添加成功", "", null); 47 | } 48 | return message.message(false, "Admin已存在,添加失败", "", null); 49 | } 50 | 51 | @DeleteMapping("/{id}") 52 | public Map delAdmin(@PathVariable Long id) { 53 | boolean b = adminService.removeById(id); 54 | if (b) { 55 | return message.message(true, "Admin,删除成功", "", null); 56 | } 57 | return message.message(false, "Admin,删除失败", "", null); 58 | } 59 | 60 | @PutMapping 61 | public Map putadmin(Admin admin) { 62 | boolean b = adminService.updateById(admin); 63 | if (b) { 64 | return message.message(true, "Admin,更新信息成功", "", null); 65 | } 66 | return message.message(false, "Admin,更新信息失败", "", null); 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/controller/ClassController.java: -------------------------------------------------------------------------------- 1 | package com.yqn.controller; 2 | 3 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 4 | import com.yqn.pojo.Class; 5 | import com.yqn.service.ClassService; 6 | import com.yqn.common.tools.MessageTools; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.web.bind.annotation.*; 9 | 10 | import java.util.List; 11 | import java.util.Map; 12 | 13 | /** 14 | * @author sxc 15 | */ 16 | @RestController 17 | @RequestMapping("/class") 18 | public class ClassController { 19 | @Autowired 20 | private ClassService classService; 21 | @Autowired 22 | private MessageTools message; 23 | 24 | // 获取全部class 25 | @GetMapping 26 | public Map myClass() { 27 | List c = classService.list(); 28 | return message.message(true, "请求成功", "class", c); 29 | } 30 | 31 | // 根据id获取myClass 32 | @GetMapping("/{id}") 33 | public Map myClass(@PathVariable Long id) { 34 | Class c = classService.getById(id); 35 | return message.message(true, "请求成功", "class", c); 36 | } 37 | 38 | // 添加myClass 39 | @PostMapping 40 | public Map saveClass(Class c) { 41 | QueryWrapper wrapper = new QueryWrapper<>(); 42 | wrapper.eq("school_id", c.getSchoolId()) 43 | .eq("dept_id", c.getDeptId()) 44 | .eq("name", c.getName()); 45 | 46 | Class one = classService.getOne(wrapper); 47 | if (one == null) { 48 | classService.save(c); 49 | return message.message(true, "添加班级成功", "", null); 50 | } 51 | 52 | return message.message(true, "error, 班级已存在", "", null); 53 | } 54 | 55 | // 删除 56 | @DeleteMapping("/{id}") 57 | public Map delClass(@PathVariable Long id) { 58 | boolean remove = classService.removeById(id); 59 | if (remove) { 60 | return message.message(true, "删除成功", "", null); 61 | } 62 | return message.message(true, "error, 删除失败", "", null); 63 | } 64 | } 65 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/controller/DeptController.java: -------------------------------------------------------------------------------- 1 | package com.yqn.controller; 2 | 3 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 4 | import com.yqn.pojo.Dept; 5 | import com.yqn.service.DeptService; 6 | import com.yqn.common.tools.MessageTools; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.web.bind.annotation.*; 9 | 10 | import java.util.List; 11 | import java.util.Map; 12 | 13 | /** 14 | * @author sxc 15 | */ 16 | @RestController 17 | @RequestMapping("/dept") 18 | public class DeptController { 19 | @Autowired 20 | private DeptService deptService; 21 | @Autowired 22 | private MessageTools message; 23 | 24 | // 获取全部dept 25 | @GetMapping 26 | public Map depts() { 27 | List depts = deptService.list(); 28 | return message.message(true, "请求成功", "dept", depts); 29 | } 30 | 31 | // 根据id获取dept 32 | @GetMapping("/{id}") 33 | public Map dept(@PathVariable Long id) { 34 | Dept dept = deptService.getById(id); 35 | return message.message(true, "请求成功", "dept", dept); 36 | } 37 | 38 | // 添加dept 39 | @PostMapping 40 | public Map saveDept(Dept dept) { 41 | QueryWrapper wrapper = new QueryWrapper<>(); 42 | wrapper.eq("school_id", dept.getSchoolId()) 43 | .eq("name", dept.getName()); 44 | 45 | Dept one = deptService.getOne(wrapper); 46 | if (one == null) { 47 | deptService.save(dept); 48 | return message.message(true, "添加系别成功", "", null); 49 | } 50 | 51 | return message.message(true, "error, 该系已存在", "", null); 52 | } 53 | 54 | // 删除 55 | @DeleteMapping("/{id}") 56 | public Map delDept(@PathVariable Long id) { 57 | boolean remove = deptService.removeById(id); 58 | if (remove) { 59 | return message.message(true, "删除成功", "", null); 60 | } 61 | return message.message(true, "error, 删除失败", "", null); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/controller/NoticeController.java: -------------------------------------------------------------------------------- 1 | package com.yqn.controller; 2 | 3 | import com.yqn.common.core.controller.BaseController; 4 | import com.yqn.common.core.domain.AjaxResult; 5 | import com.yqn.common.core.page.TableDataInfo; 6 | import com.yqn.pojo.Notice; 7 | import com.yqn.service.INoticeService; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.web.bind.annotation.*; 10 | 11 | import java.util.List; 12 | 13 | 14 | 15 | /** 16 | * 通知公告公告Controller 17 | * 18 | * @author sxc 19 | * @date 2022-05-13 20 | */ 21 | @RestController 22 | @RequestMapping("/notice/advise") 23 | public class NoticeController extends BaseController 24 | { 25 | @Autowired 26 | private INoticeService noticeService; 27 | 28 | /** 29 | * 查询通知公告公告列表 30 | */ 31 | @GetMapping("/list") 32 | public TableDataInfo list(Notice notice) 33 | { 34 | startPage(); 35 | List list = noticeService.selectNoticeList(notice); 36 | return getDataTable(list); 37 | } 38 | 39 | 40 | /** 41 | * 获取通知公告公告详细信息 42 | */ 43 | @GetMapping(value = "/{noticeId}") 44 | public AjaxResult getInfo(@PathVariable("noticeId") Integer noticeId) 45 | { 46 | return AjaxResult.success(noticeService.selectNoticeByNoticeId(noticeId)); 47 | } 48 | 49 | /** 50 | * 新增通知公告公告 51 | */ 52 | @PostMapping 53 | public AjaxResult add(@RequestBody Notice notice) 54 | { 55 | 56 | return toAjax(noticeService.insertNotice(notice)); 57 | } 58 | 59 | /** 60 | * 修改通知公告公告 61 | */ 62 | @PutMapping 63 | public AjaxResult edit(@RequestBody Notice notice) 64 | { 65 | return toAjax(noticeService.updateNotice(notice)); 66 | } 67 | 68 | /** 69 | * 删除通知公告公告 70 | */ 71 | @DeleteMapping("/{noticeIds}") 72 | public AjaxResult remove(@PathVariable Integer[] noticeIds) 73 | { 74 | return toAjax(noticeService.deleteNoticeByNoticeIds(noticeIds)); 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/controller/SchoolController.java: -------------------------------------------------------------------------------- 1 | package com.yqn.controller; 2 | 3 | import com.yqn.common.tools.MessageTools; 4 | import com.yqn.pojo.School; 5 | import com.yqn.service.SchoolService; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.web.bind.annotation.*; 8 | 9 | import java.util.List; 10 | import java.util.Map; 11 | 12 | /** 13 | * @author sxc 14 | */ 15 | @RestController 16 | @RequestMapping("/school") 17 | public class SchoolController { 18 | @Autowired 19 | private SchoolService schoolService; 20 | @Autowired 21 | private MessageTools message; 22 | 23 | // 获取全部school 24 | @GetMapping 25 | public Map schools() { 26 | List schools = schoolService.list(); 27 | return message.message(true, "请求成功", "school", schools); 28 | } 29 | 30 | // 根据id获取school 31 | @GetMapping("/{id}") 32 | public Map findSchoolsById(@PathVariable String id) { 33 | School school = schoolService.getById(id); 34 | return message.message(true, "请求成功", "school", school); 35 | } 36 | 37 | // 添加school 38 | @PostMapping 39 | public Map saveSchool(School school) { 40 | boolean save = schoolService.save(school); 41 | if (save) { 42 | return message.message(true, "添加学校成功", "", null); 43 | } 44 | return message.message(false, "error,学校已存在", "", null); 45 | } 46 | 47 | 48 | // 删除school 49 | @DeleteMapping("/{id}") 50 | public Map delSchool(@PathVariable Long id) { 51 | boolean remove = schoolService.removeById(id); 52 | if (remove) { 53 | return message.message(true, "删除学校成功", "", null); 54 | } 55 | return message.message(false, "error,删除学校失败", "", null); 56 | } 57 | 58 | // 更新school 59 | @PutMapping 60 | public Map putSchool(School school) { 61 | boolean update = schoolService.updateById(school); 62 | if (update) { 63 | return message.message(true, "更新学校信息成功", "", null); 64 | } 65 | return message.message(false, "error,更新学校信息失败", "", null); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/controller/SxcRemarkController.java: -------------------------------------------------------------------------------- 1 | package com.yqn.controller; 2 | 3 | import com.yqn.common.core.controller.BaseController; 4 | import com.yqn.common.core.domain.AjaxResult; 5 | import com.yqn.common.core.page.TableDataInfo; 6 | import com.yqn.pojo.SxcRemark; 7 | import com.yqn.service.ISxcRemarkService; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.web.bind.annotation.*; 10 | import java.util.List; 11 | 12 | /** 13 | * remarkController 14 | * 15 | * @author sxc 16 | * @date 2022-05-16 17 | */ 18 | @RestController 19 | @RequestMapping("/student/remark") 20 | public class SxcRemarkController extends BaseController 21 | { 22 | @Autowired 23 | private ISxcRemarkService sxcRemarkService; 24 | 25 | /** 26 | * 查询remark列表 27 | */ 28 | @GetMapping("/list") 29 | public TableDataInfo list(SxcRemark sxcRemark) 30 | { 31 | startPage(); 32 | List list = sxcRemarkService.selectSxcRemarkList(sxcRemark); 33 | return getDataTable(list); 34 | } 35 | 36 | /** 37 | * 获取remark详细信息 38 | */ 39 | @GetMapping(value = "/{id}") 40 | public AjaxResult getInfo(@PathVariable("id") Long id) 41 | { 42 | return AjaxResult.success(sxcRemarkService.selectSxcRemarkById(id)); 43 | } 44 | 45 | /** 46 | * 新增remark 47 | */ 48 | @PostMapping 49 | public AjaxResult add(@RequestBody SxcRemark sxcRemark) 50 | { 51 | return toAjax(sxcRemarkService.insertSxcRemark(sxcRemark)); 52 | } 53 | 54 | /** 55 | * 修改remark 56 | */ 57 | @PutMapping 58 | public AjaxResult edit(@RequestBody SxcRemark sxcRemark) 59 | { 60 | return toAjax(sxcRemarkService.updateSxcRemark(sxcRemark)); 61 | } 62 | 63 | /** 64 | * 删除remark 65 | */ 66 | @DeleteMapping("/{ids}") 67 | public AjaxResult remove(@PathVariable Long[] ids) 68 | { 69 | return toAjax(sxcRemarkService.deleteSxcRemarkByIds(ids)); 70 | } 71 | } 72 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/controller/SxcStudentController.java: -------------------------------------------------------------------------------- 1 | package com.yqn.controller; 2 | 3 | import com.yqn.common.core.controller.BaseController; 4 | import com.yqn.common.core.domain.AjaxResult; 5 | import com.yqn.common.core.page.TableDataInfo; 6 | import com.yqn.common.tools.MessageTools; 7 | import com.yqn.pojo.SxcStudent; 8 | import com.yqn.service.ISxcStudentService; 9 | import org.springframework.beans.factory.annotation.Autowired; 10 | import org.springframework.web.bind.annotation.*; 11 | 12 | import java.util.List; 13 | import java.util.Map; 14 | 15 | /** 16 | * 学生管理Controller 17 | * 18 | * @author sxc 19 | * @date 2022-05-05 20 | */ 21 | @RestController 22 | @RequestMapping("/student/stuage") 23 | public class SxcStudentController extends BaseController 24 | { 25 | @Autowired 26 | private ISxcStudentService sxcStudentService; 27 | 28 | @Autowired 29 | private MessageTools message; 30 | 31 | /** 32 | * 查询学生管理列表 33 | */ 34 | @GetMapping("/list") 35 | public TableDataInfo list(SxcStudent sxcStudent) 36 | { 37 | startPage(); 38 | List list = sxcStudentService.selectSxcStudentList(sxcStudent); 39 | return getDataTable(list); 40 | } 41 | 42 | /** 43 | * 获取学生管理详细信息 44 | */ 45 | // @GetMapping("/{id}") 46 | // public AjaxResult getInfo(@PathVariable("id") Long id) 47 | // { 48 | // return AjaxResult.success(sxcStudentService.selectSxcStudentById(id)); 49 | // } 50 | 51 | @GetMapping("/{id}") 52 | public Map findSxcStudentById(@PathVariable Long id) { 53 | SxcStudent student = sxcStudentService.selectSxcStudentById(id); 54 | return message.message(true, "请求成功", "student", student); 55 | } 56 | 57 | /** 58 | * 新增学生管理 59 | */ 60 | @PostMapping 61 | public AjaxResult add(@RequestBody SxcStudent sxcStudent) 62 | { 63 | return toAjax(sxcStudentService.insertSxcStudent(sxcStudent)); 64 | } 65 | 66 | /** 67 | * 修改学生管理 68 | */ 69 | @PutMapping 70 | public AjaxResult edit(@RequestBody SxcStudent sxcStudent) 71 | { 72 | return toAjax(sxcStudentService.updateSxcStudent(sxcStudent)); 73 | } 74 | 75 | /** 76 | * 删除学生管理 77 | */ 78 | @DeleteMapping("/{ids}") 79 | public AjaxResult remove(@PathVariable Long[] ids) 80 | { 81 | return toAjax(sxcStudentService.deleteSxcStudentByIds(ids)); 82 | } 83 | } 84 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/controller/UserController.java: -------------------------------------------------------------------------------- 1 | package com.yqn.controller; 2 | 3 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 4 | import com.yqn.pojo.User; 5 | import com.yqn.service.UserService; 6 | import com.yqn.common.tools.MessageTools; 7 | import com.yqn.common.tools.PocketMoney; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.web.bind.annotation.*; 10 | import javax.servlet.http.HttpSession; 11 | import java.util.List; 12 | import java.util.Map; 13 | 14 | /** 15 | * @author sxc 16 | */ 17 | @RestController 18 | @RequestMapping("/user") 19 | public class UserController { 20 | @Autowired 21 | private UserService userService; 22 | @Autowired 23 | private MessageTools message; 24 | @Autowired 25 | private PocketMoney money; 26 | 27 | // 检查登录 28 | @GetMapping("/login") 29 | public Map checkUserLogin(User checkUser, HttpSession session) { 30 | QueryWrapper wrapper = new QueryWrapper<>(); 31 | wrapper.eq("student_id", checkUser.getStudentId()) 32 | .eq("password", checkUser.getPassword()) 33 | .eq("school_id", checkUser.getSchoolId()); 34 | User user = userService.getOne(wrapper); 35 | 36 | if (user != null) { 37 | session.setAttribute("user", user); 38 | return message.message(true, "请求成功", "user", user); 39 | } 40 | return message.message(false, "账号或密码错误", "", null); 41 | } 42 | 43 | // 获取全部User 44 | @GetMapping 45 | public Map users(String studentId, String username) { 46 | QueryWrapper wrapper = new QueryWrapper<>(); 47 | if (studentId != null) { 48 | wrapper.eq("student_id", studentId); 49 | return message.message(true, "请求成功", "user", userService.list(wrapper)); 50 | } 51 | if (username != null) { 52 | wrapper.like("username", username); 53 | return message.message(true, "请求成功", "user", userService.list(wrapper)); 54 | } 55 | List users = userService.list(); 56 | return message.message(true, "请求成功", "user", users); 57 | } 58 | 59 | // 根据id获取User 60 | @GetMapping("/{id}") 61 | public Map user(@PathVariable String id) { 62 | User user = userService.getById(id); 63 | return message.message(true, "请求成功", "user", user); 64 | } 65 | 66 | // 添加User 67 | @PostMapping 68 | public Map saveUser( User user) { 69 | QueryWrapper wrapper = new QueryWrapper<>(); 70 | wrapper.eq("school_id", user.getSchoolId()) 71 | .eq("student_id", user.getStudentId()); 72 | User one = userService.getOne(wrapper); 73 | if (one == null) { 74 | userService.save(user); 75 | return message.message(true, "注册成功", "", null); 76 | } 77 | return message.message(false, "error, 该学号已被注册", "", null); 78 | } 79 | 80 | // 更新信息 81 | @PutMapping 82 | public Map putUser(User user) { 83 | boolean update = userService.updateById(user); 84 | if (update) { 85 | return message.message(true, "更新信息成功", "", null); 86 | } 87 | return message.message(false, "error, 更新信息失败", "", null); 88 | } 89 | 90 | // 删除学生 91 | @DeleteMapping("/{id}") 92 | public Map delUser(@PathVariable Long id) { 93 | boolean remove = userService.removeById(id); 94 | if (remove) { 95 | return message.message(true, "删除学生成功", "", null); 96 | } 97 | return message.message(false, "error,删除学生失败", "", null); 98 | } 99 | 100 | // 零钱转入 101 | @PutMapping("rollIn") 102 | public Map rollIn(String studentId, Double balance) { 103 | return money.transfer("balance=balance+", balance, studentId); 104 | } 105 | 106 | // 零钱转出 107 | @PutMapping("rollOut") 108 | public Map rollOut(String studentId, Double balance) { 109 | return money.transfer("balance=balance-", balance, studentId); 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/mapper/AdminMapper.java: -------------------------------------------------------------------------------- 1 | package com.yqn.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import com.yqn.pojo.Admin; 5 | 6 | /** 7 | * @author sxc 8 | */ 9 | public interface AdminMapper extends BaseMapper { 10 | } 11 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/mapper/ClassMapper.java: -------------------------------------------------------------------------------- 1 | package com.yqn.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import com.yqn.pojo.Class; 5 | 6 | /** 7 | * @author sxc 8 | */ 9 | public interface ClassMapper extends BaseMapper { 10 | } 11 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/mapper/DeptMapper.java: -------------------------------------------------------------------------------- 1 | package com.yqn.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import com.yqn.pojo.Dept; 5 | 6 | /** 7 | * @author sxc 8 | */ 9 | public interface DeptMapper extends BaseMapper { 10 | 11 | } 12 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/mapper/NoticeMapper.java: -------------------------------------------------------------------------------- 1 | package com.yqn.mapper; 2 | 3 | import com.yqn.pojo.Notice; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * 通知公告公告Mapper接口 9 | * 10 | * @author sxc 11 | * @date 2022-05-13 12 | */ 13 | public interface NoticeMapper 14 | { 15 | /** 16 | * 查询通知公告公告 17 | * 18 | * @param noticeId 通知公告公告主键 19 | * @return 通知公告公告 20 | */ 21 | public Notice selectNoticeByNoticeId(Integer noticeId); 22 | 23 | /** 24 | * 查询通知公告公告列表 25 | * 26 | * @param notice 通知公告公告 27 | * @return 通知公告公告集合 28 | */ 29 | public List selectNoticeList(Notice notice); 30 | 31 | /** 32 | * 新增通知公告公告 33 | * 34 | * @param notice 通知公告公告 35 | * @return 结果 36 | */ 37 | public int insertNotice(Notice notice); 38 | 39 | /** 40 | * 修改通知公告公告 41 | * 42 | * @param notice 通知公告公告 43 | * @return 结果 44 | */ 45 | public int updateNotice(Notice notice); 46 | 47 | /** 48 | * 删除通知公告公告 49 | * 50 | * @param noticeId 通知公告公告主键 51 | * @return 结果 52 | */ 53 | public int deleteNoticeByNoticeId(Integer noticeId); 54 | 55 | /** 56 | * 批量删除通知公告公告 57 | * 58 | * @param noticeIds 需要删除的数据主键集合 59 | * @return 结果 60 | */ 61 | public int deleteNoticeByNoticeIds(Integer[] noticeIds); 62 | } 63 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/mapper/SchoolMapper.java: -------------------------------------------------------------------------------- 1 | package com.yqn.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import com.yqn.pojo.School; 5 | 6 | /** 7 | * @author sxc 8 | */ 9 | public interface SchoolMapper extends BaseMapper { 10 | } 11 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/mapper/SxcRemarkMapper.java: -------------------------------------------------------------------------------- 1 | package com.yqn.mapper; 2 | 3 | import com.yqn.pojo.SxcRemark; 4 | import java.util.List; 5 | 6 | /** 7 | * remarkMapper接口 8 | * 9 | * @author sxc 10 | * @date 2022-05-16 11 | */ 12 | public interface SxcRemarkMapper 13 | { 14 | /** 15 | * 查询remark 16 | * 17 | * @param id remark主键 18 | * @return remark 19 | */ 20 | public SxcRemark selectSxcRemarkById(Long id); 21 | 22 | /** 23 | * 查询remark列表 24 | * 25 | * @param sxcRemark remark 26 | * @return remark集合 27 | */ 28 | public List selectSxcRemarkList(SxcRemark sxcRemark); 29 | 30 | /** 31 | * 新增remark 32 | * 33 | * @param sxcRemark remark 34 | * @return 结果 35 | */ 36 | public int insertSxcRemark(SxcRemark sxcRemark); 37 | 38 | /** 39 | * 修改remark 40 | * 41 | * @param sxcRemark remark 42 | * @return 结果 43 | */ 44 | public int updateSxcRemark(SxcRemark sxcRemark); 45 | 46 | /** 47 | * 删除remark 48 | * 49 | * @param id remark主键 50 | * @return 结果 51 | */ 52 | public int deleteSxcRemarkById(Long id); 53 | 54 | /** 55 | * 批量删除remark 56 | * 57 | * @param ids 需要删除的数据主键集合 58 | * @return 结果 59 | */ 60 | public int deleteSxcRemarkByIds(Long[] ids); 61 | } 62 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/mapper/SxcStudentMapper.java: -------------------------------------------------------------------------------- 1 | package com.yqn.mapper; 2 | 3 | 4 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 5 | import com.yqn.pojo.SxcStudent; 6 | 7 | import java.util.List; 8 | 9 | /** 10 | * 学生管理Mapper接口 11 | * 12 | * @author sxc 13 | * @date 2022-05-05 14 | */ 15 | public interface SxcStudentMapper extends BaseMapper 16 | { 17 | /** 18 | * 查询学生管理 19 | * 20 | * @param id 学生管理主键 21 | * @return 学生管理 22 | */ 23 | public SxcStudent selectSxcStudentById(Long id); 24 | 25 | /** 26 | * 查询学生管理列表 27 | * 28 | * @param sxcStudent 学生管理 29 | * @return 学生管理集合 30 | */ 31 | public List selectSxcStudentList(SxcStudent sxcStudent); 32 | 33 | /** 34 | * 新增学生管理 35 | * 36 | * @param sxcStudent 学生管理 37 | * @return 结果 38 | */ 39 | public int insertSxcStudent(SxcStudent sxcStudent); 40 | 41 | /** 42 | * 修改学生管理 43 | * 44 | * @param sxcStudent 学生管理 45 | * @return 结果 46 | */ 47 | public int updateSxcStudent(SxcStudent sxcStudent); 48 | 49 | /** 50 | * 删除学生管理 51 | * 52 | * @param id 学生管理主键 53 | * @return 结果 54 | */ 55 | public int deleteSxcStudentById(Long id); 56 | 57 | /** 58 | * 批量删除学生管理 59 | * 60 | * @param ids 需要删除的数据主键集合 61 | * @return 结果 62 | */ 63 | public int deleteSxcStudentByIds(Long[] ids); 64 | } 65 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/mapper/TaskMapper.java: -------------------------------------------------------------------------------- 1 | package com.yqn.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import com.yqn.pojo.Task; 5 | 6 | /** 7 | * @author sxc 8 | */ 9 | public interface TaskMapper extends BaseMapper { 10 | } 11 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/mapper/UserMapper.java: -------------------------------------------------------------------------------- 1 | package com.yqn.mapper; 2 | 3 | import com.baomidou.mybatisplus.core.mapper.BaseMapper; 4 | import com.yqn.pojo.User; 5 | 6 | /** 7 | * @author sxc 8 | */ 9 | public interface UserMapper extends BaseMapper { 10 | } 11 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/pojo/Admin.java: -------------------------------------------------------------------------------- 1 | package com.yqn.pojo; 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType; 4 | import com.baomidou.mybatisplus.annotation.TableId; 5 | import lombok.Data; 6 | import lombok.ToString; 7 | 8 | import java.util.Date; 9 | 10 | /** 11 | * @author sxc 12 | */ 13 | @Data 14 | @ToString 15 | public class Admin { 16 | 17 | @TableId(value = "id",type = IdType.AUTO) 18 | private Long id; 19 | private String account; 20 | private String password; 21 | private String username; 22 | private Date createTime; 23 | private Integer state; 24 | 25 | } 26 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/pojo/Class.java: -------------------------------------------------------------------------------- 1 | package com.yqn.pojo; 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType; 4 | import com.baomidou.mybatisplus.annotation.TableField; 5 | import com.baomidou.mybatisplus.annotation.TableId; 6 | import com.baomidou.mybatisplus.annotation.TableName; 7 | import lombok.Data; 8 | import lombok.ToString; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * @author sxc 14 | */ 15 | @ToString 16 | @Data 17 | @TableName(resultMap = "classResultMap") 18 | public class Class { 19 | @TableId(value = "id",type = IdType.AUTO) 20 | private Long id; 21 | private String name; 22 | private Integer schoolId; 23 | private Integer deptId; 24 | 25 | @TableField(exist = false) 26 | private List users; 27 | } 28 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/pojo/Dept.java: -------------------------------------------------------------------------------- 1 | package com.yqn.pojo; 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType; 4 | import com.baomidou.mybatisplus.annotation.TableField; 5 | import com.baomidou.mybatisplus.annotation.TableId; 6 | import com.baomidou.mybatisplus.annotation.TableName; 7 | import lombok.Data; 8 | import lombok.ToString; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * @author sxc 14 | */ 15 | @ToString 16 | @Data 17 | @TableName(resultMap = "deptResultMap") 18 | public class Dept { 19 | @TableId(value = "id", type = IdType.AUTO) 20 | private Long id; 21 | private String name; 22 | private Integer schoolId; 23 | 24 | @TableField(exist = false) 25 | private List classes; 26 | } 27 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/pojo/Notice.java: -------------------------------------------------------------------------------- 1 | package com.yqn.pojo; 2 | 3 | import com.yqn.common.core.domain.BaseEntity; 4 | import org.apache.commons.lang3.builder.ToStringBuilder; 5 | import org.apache.commons.lang3.builder.ToStringStyle; 6 | 7 | /** 8 | * 通知公告公告对象 notice 9 | * 10 | * @author sxc 11 | * @date 2022-05-13 12 | */ 13 | public class Notice extends BaseEntity 14 | { 15 | private static final long serialVersionUID = 1L; 16 | 17 | /** 公告ID */ 18 | private Integer noticeId; 19 | 20 | /** 公告标题 */ 21 | private String noticeTitle; 22 | 23 | /** 公告内容 */ 24 | private String noticeContent; 25 | 26 | public void setNoticeId(Integer noticeId) 27 | { 28 | this.noticeId = noticeId; 29 | } 30 | 31 | public Integer getNoticeId() 32 | { 33 | return noticeId; 34 | } 35 | public void setNoticeTitle(String noticeTitle) 36 | { 37 | this.noticeTitle = noticeTitle; 38 | } 39 | 40 | public String getNoticeTitle() 41 | { 42 | return noticeTitle; 43 | } 44 | public void setNoticeContent(String noticeContent) 45 | { 46 | this.noticeContent = noticeContent; 47 | } 48 | 49 | public String getNoticeContent() 50 | { 51 | return noticeContent; 52 | } 53 | 54 | @Override 55 | public String toString() { 56 | return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) 57 | .append("noticeId", getNoticeId()) 58 | .append("noticeTitle", getNoticeTitle()) 59 | .append("noticeContent", getNoticeContent()) 60 | .append("createBy", getCreateBy()) 61 | .append("createTime", getCreateTime()) 62 | .append("remark", getRemark()) 63 | .toString(); 64 | } 65 | } 66 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/pojo/School.java: -------------------------------------------------------------------------------- 1 | package com.yqn.pojo; 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType; 4 | import com.baomidou.mybatisplus.annotation.TableField; 5 | import com.baomidou.mybatisplus.annotation.TableId; 6 | import com.baomidou.mybatisplus.annotation.TableName; 7 | import lombok.Data; 8 | import lombok.ToString; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * @author sxc 14 | */ 15 | @ToString 16 | @Data 17 | @TableName(resultMap = "schoolResultMap") 18 | public class School { 19 | @TableId(value = "id", type = IdType.AUTO) 20 | private Long id; 21 | private String name; 22 | 23 | @TableField(exist = false) 24 | private List depts; 25 | 26 | } 27 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/pojo/SxcRemark.java: -------------------------------------------------------------------------------- 1 | package com.yqn.pojo; 2 | 3 | import com.yqn.common.core.domain.BaseEntity; 4 | import org.apache.commons.lang3.builder.ToStringBuilder; 5 | import org.apache.commons.lang3.builder.ToStringStyle; 6 | 7 | /** 8 | * remark对象 sxc_remark 9 | * 10 | * @author sxc 11 | * @date 2022-05-16 12 | */ 13 | public class SxcRemark extends BaseEntity 14 | { 15 | private static final long serialVersionUID = 1L; 16 | 17 | /** 评价id */ 18 | private Long id; 19 | 20 | /** 星级 */ 21 | private Long star; 22 | 23 | /** 任务id */ 24 | private Long taskId; 25 | 26 | /** 送货人id */ 27 | private Long acceptId; 28 | 29 | /** 评价人id */ 30 | private Long publishId; 31 | 32 | public void setId(Long id) 33 | { 34 | this.id = id; 35 | } 36 | 37 | public Long getId() 38 | { 39 | return id; 40 | } 41 | public void setStar(Long star) 42 | { 43 | this.star = star; 44 | } 45 | 46 | public Long getStar() 47 | { 48 | return star; 49 | } 50 | public void setTaskId(Long taskId) 51 | { 52 | this.taskId = taskId; 53 | } 54 | 55 | public Long getTaskId() 56 | { 57 | return taskId; 58 | } 59 | public void setAcceptId(Long acceptId) 60 | { 61 | this.acceptId = acceptId; 62 | } 63 | 64 | public Long getAcceptId() 65 | { 66 | return acceptId; 67 | } 68 | public void setPublishId(Long publishId) 69 | { 70 | this.publishId = publishId; 71 | } 72 | 73 | public Long getPublishId() 74 | { 75 | return publishId; 76 | } 77 | 78 | @Override 79 | public String toString() { 80 | return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) 81 | .append("id", getId()) 82 | .append("star", getStar()) 83 | .append("remark", getRemark()) 84 | .append("taskId", getTaskId()) 85 | .append("acceptId", getAcceptId()) 86 | .append("publishId", getPublishId()) 87 | .toString(); 88 | } 89 | } 90 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/pojo/SxcStudent.java: -------------------------------------------------------------------------------- 1 | package com.yqn.pojo; 2 | 3 | import org.apache.commons.lang3.builder.ToStringBuilder; 4 | import org.apache.commons.lang3.builder.ToStringStyle; 5 | 6 | import java.io.Serializable; 7 | 8 | /** 9 | * 学生管理对象 sxc_student 10 | * 11 | * @author sxc 12 | * @date 2022-05-05 13 | */ 14 | public class SxcStudent implements Serializable 15 | { 16 | // private static final long serialVersionUID = 1L; 17 | 18 | /** 学生编号 */ 19 | private Long id; 20 | 21 | /** 姓名 */ 22 | private String name; 23 | 24 | /** 年龄 */ 25 | private Long age; 26 | 27 | public void setId(Long id) 28 | { 29 | this.id = id; 30 | } 31 | 32 | public Long getId() 33 | { 34 | return id; 35 | } 36 | public void setName(String name) 37 | { 38 | this.name = name; 39 | } 40 | 41 | public String getName() 42 | { 43 | return name; 44 | } 45 | public void setAge(Long age) 46 | { 47 | this.age = age; 48 | } 49 | 50 | public Long getAge() 51 | { 52 | return age; 53 | } 54 | 55 | @Override 56 | public String toString() { 57 | return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) 58 | .append("id", getId()) 59 | .append("name", getName()) 60 | .append("age", getAge()) 61 | .toString(); 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/pojo/Task.java: -------------------------------------------------------------------------------- 1 | package com.yqn.pojo; 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType; 4 | import com.baomidou.mybatisplus.annotation.TableField; 5 | import com.baomidou.mybatisplus.annotation.TableId; 6 | import com.baomidou.mybatisplus.annotation.TableName; 7 | import lombok.Data; 8 | import lombok.ToString; 9 | 10 | import java.util.Date; 11 | 12 | /** 13 | * @author sxc 14 | */ 15 | @Data 16 | @ToString 17 | @TableName(resultMap = "taskResultMap") 18 | public class Task { 19 | @TableId(value = "id", type = IdType.AUTO) 20 | private Long id; 21 | @TableField(value = "publish_user_id") 22 | private Long publishId; 23 | @TableField(value = "accept_user_id") 24 | private Long acceptId; 25 | @TableField(value = "user_school_id") 26 | private Long schoolId; 27 | private Double reward; 28 | private Date createTime; 29 | private Date orderTime; 30 | private Date endTime; 31 | private String taskTitle; 32 | private String taskContext; 33 | private Integer state; 34 | 35 | @TableField(exist = false) 36 | private User publish; 37 | @TableField(exist = false) 38 | private User accept; 39 | @TableField(exist = false) 40 | private School school; 41 | } 42 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/pojo/User.java: -------------------------------------------------------------------------------- 1 | package com.yqn.pojo; 2 | 3 | import com.baomidou.mybatisplus.annotation.IdType; 4 | import com.baomidou.mybatisplus.annotation.TableField; 5 | import com.baomidou.mybatisplus.annotation.TableId; 6 | import com.baomidou.mybatisplus.annotation.TableName; 7 | import lombok.Data; 8 | import lombok.ToString; 9 | 10 | import java.util.Date; 11 | 12 | /** 13 | * @author sxc 14 | */ 15 | @ToString 16 | @Data 17 | @TableName(resultMap = "userResultMap") 18 | public class User { 19 | @TableId(value = "id", type = IdType.AUTO) 20 | private Long id; 21 | private String studentId; 22 | private String password; 23 | private String phone; 24 | private Long schoolId; 25 | private Long deptId; 26 | private Long classId; 27 | private Integer sex; 28 | private String username; 29 | private Date createTime; 30 | private Double balance; 31 | private Integer state; 32 | 33 | @TableField(exist = false) 34 | private School school; 35 | @TableField(exist = false) 36 | private Dept dept; 37 | @TableField(exist = false) 38 | private Class aClass; 39 | } 40 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/AdminService.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service; 2 | 3 | import com.baomidou.mybatisplus.extension.service.IService; 4 | import com.yqn.pojo.Admin; 5 | 6 | /** 7 | * @author sxc 8 | */ 9 | public interface AdminService extends IService { 10 | } 11 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/ClassService.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service; 2 | 3 | import com.baomidou.mybatisplus.extension.service.IService; 4 | import com.yqn.pojo.Class; 5 | 6 | /** 7 | * @author sxc 8 | */ 9 | public interface ClassService extends IService { 10 | } 11 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/DeptService.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service; 2 | 3 | import com.baomidou.mybatisplus.extension.service.IService; 4 | import com.yqn.pojo.Dept; 5 | 6 | /** 7 | * @author sxc 8 | */ 9 | public interface DeptService extends IService { 10 | } 11 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/INoticeService.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service; 2 | 3 | import com.yqn.pojo.Notice; 4 | import java.util.List; 5 | 6 | /** 7 | * 通知公告公告Service接口 8 | * 9 | * @author sxc 10 | * @date 2022-05-13 11 | */ 12 | public interface INoticeService 13 | { 14 | /** 15 | * 查询通知公告公告 16 | * 17 | * @param noticeId 通知公告公告主键 18 | * @return 通知公告公告 19 | */ 20 | public Notice selectNoticeByNoticeId(Integer noticeId); 21 | 22 | /** 23 | * 查询通知公告公告列表 24 | * 25 | * @param notice 通知公告公告 26 | * @return 通知公告公告集合 27 | */ 28 | public List selectNoticeList(Notice notice); 29 | 30 | /** 31 | * 新增通知公告公告 32 | * 33 | * @param notice 通知公告公告 34 | * @return 结果 35 | */ 36 | public int insertNotice(Notice notice); 37 | 38 | /** 39 | * 修改通知公告公告 40 | * 41 | * @param notice 通知公告公告 42 | * @return 结果 43 | */ 44 | public int updateNotice(Notice notice); 45 | 46 | /** 47 | * 批量删除通知公告公告 48 | * 49 | * @param noticeIds 需要删除的通知公告公告主键集合 50 | * @return 结果 51 | */ 52 | public int deleteNoticeByNoticeIds(Integer[] noticeIds); 53 | 54 | /** 55 | * 删除通知公告公告信息 56 | * 57 | * @param noticeId 通知公告公告主键 58 | * @return 结果 59 | */ 60 | public int deleteNoticeByNoticeId(Integer noticeId); 61 | } 62 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/ISxcRemarkService.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service; 2 | 3 | import com.yqn.pojo.SxcRemark; 4 | import java.util.List; 5 | 6 | /** 7 | * remarkService接口 8 | * 9 | * @author sxc 10 | * @date 2022-05-16 11 | */ 12 | public interface ISxcRemarkService 13 | { 14 | /** 15 | * 查询remark 16 | * 17 | * @param id remark主键 18 | * @return remark 19 | */ 20 | public SxcRemark selectSxcRemarkById(Long id); 21 | 22 | /** 23 | * 查询remark列表 24 | * 25 | * @param sxcRemark remark 26 | * @return remark集合 27 | */ 28 | public List selectSxcRemarkList(SxcRemark sxcRemark); 29 | 30 | /** 31 | * 新增remark 32 | * 33 | * @param sxcRemark remark 34 | * @return 结果 35 | */ 36 | public int insertSxcRemark(SxcRemark sxcRemark); 37 | 38 | /** 39 | * 修改remark 40 | * 41 | * @param sxcRemark remark 42 | * @return 结果 43 | */ 44 | public int updateSxcRemark(SxcRemark sxcRemark); 45 | 46 | /** 47 | * 批量删除remark 48 | * 49 | * @param ids 需要删除的remark主键集合 50 | * @return 结果 51 | */ 52 | public int deleteSxcRemarkByIds(Long[] ids); 53 | 54 | /** 55 | * 删除remark信息 56 | * 57 | * @param id remark主键 58 | * @return 结果 59 | */ 60 | public int deleteSxcRemarkById(Long id); 61 | } 62 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/ISxcStudentService.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service; 2 | 3 | import com.yqn.pojo.SxcStudent; 4 | 5 | import java.util.List; 6 | 7 | /** 8 | * 学生管理Service接口 9 | * 10 | * @author sxc 11 | * @date 2022-05-05 12 | */ 13 | public interface ISxcStudentService 14 | { 15 | /** 16 | * 查询学生管理 17 | * 18 | * @param id 学生管理主键 19 | * @return 学生管理 20 | */ 21 | public SxcStudent selectSxcStudentById(Long id); 22 | 23 | /** 24 | * 查询学生管理列表 25 | * 26 | * @param sxcStudent 学生管理 27 | * @return 学生管理集合 28 | */ 29 | public List selectSxcStudentList(SxcStudent sxcStudent); 30 | 31 | /** 32 | * 新增学生管理 33 | * 34 | * @param sxcStudent 学生管理 35 | * @return 结果 36 | */ 37 | public int insertSxcStudent(SxcStudent sxcStudent); 38 | 39 | /** 40 | * 修改学生管理 41 | * 42 | * @param sxcStudent 学生管理 43 | * @return 结果 44 | */ 45 | public int updateSxcStudent(SxcStudent sxcStudent); 46 | 47 | /** 48 | * 批量删除学生管理 49 | * 50 | * @param ids 需要删除的学生管理主键集合 51 | * @return 结果 52 | */ 53 | public int deleteSxcStudentByIds(Long[] ids); 54 | 55 | /** 56 | * 删除学生管理信息 57 | * 58 | * @param id 学生管理主键 59 | * @return 结果 60 | */ 61 | public int deleteSxcStudentById(Long id); 62 | } 63 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/SchoolService.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service; 2 | 3 | import com.baomidou.mybatisplus.extension.service.IService; 4 | import com.yqn.pojo.School; 5 | 6 | /** 7 | * @author sxc 8 | */ 9 | public interface SchoolService extends IService { 10 | } 11 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/TaskService.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service; 2 | 3 | import com.baomidou.mybatisplus.extension.service.IService; 4 | import com.yqn.pojo.Task; 5 | 6 | /** 7 | * @author sxc 8 | */ 9 | public interface TaskService extends IService { 10 | } 11 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/UserService.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service; 2 | 3 | import com.baomidou.mybatisplus.extension.service.IService; 4 | import com.yqn.pojo.User; 5 | 6 | /** 7 | * @author sxc 8 | */ 9 | public interface UserService extends IService { 10 | } 11 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/impl/AdminServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service.impl; 2 | 3 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 4 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 5 | import com.yqn.mapper.AdminMapper; 6 | import com.yqn.pojo.Admin; 7 | import com.yqn.service.AdminService; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.stereotype.Service; 10 | 11 | /** 12 | * @author sxc 13 | */ 14 | @Service 15 | public class AdminServiceImpl extends ServiceImpl implements AdminService { 16 | @Autowired 17 | private AdminMapper adminMapper; 18 | 19 | @Override 20 | public boolean save(Admin entity) { 21 | QueryWrapper wrapper = new QueryWrapper<>(); 22 | wrapper.eq("account", entity.getAccount()); 23 | 24 | Admin admin = adminMapper.selectOne(wrapper); 25 | if (admin == null) { 26 | adminMapper.insert(entity); 27 | return true; 28 | } 29 | return false; 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/impl/ClassServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service.impl; 2 | 3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 4 | import com.yqn.mapper.ClassMapper; 5 | import com.yqn.pojo.Class; 6 | import com.yqn.service.ClassService; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | * @author sxc 11 | */ 12 | @Service 13 | public class ClassServiceImpl extends ServiceImpl implements ClassService { 14 | } 15 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/impl/DeptServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service.impl; 2 | 3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 4 | import com.yqn.mapper.DeptMapper; 5 | import com.yqn.pojo.Dept; 6 | import com.yqn.service.DeptService; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | * @author sxc 11 | */ 12 | @Service 13 | public class DeptServiceImpl extends ServiceImpl implements DeptService { 14 | } 15 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/impl/NoticeServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service.impl; 2 | 3 | import com.yqn.pojo.Notice; 4 | import com.yqn.common.utils.DateUtils; 5 | import com.yqn.mapper.NoticeMapper; 6 | import com.yqn.service.INoticeService; 7 | import org.springframework.beans.factory.annotation.Autowired; 8 | import org.springframework.stereotype.Service; 9 | 10 | import java.util.List; 11 | 12 | /** 13 | * 通知公告公告Service业务层处理 14 | * 15 | * @author sxc 16 | * @date 2022-05-13 17 | */ 18 | @Service 19 | public class NoticeServiceImpl implements INoticeService 20 | { 21 | @Autowired 22 | private NoticeMapper noticeMapper; 23 | 24 | /** 25 | * 查询通知公告公告 26 | * 27 | * @param noticeId 通知公告公告主键 28 | * @return 通知公告公告 29 | */ 30 | @Override 31 | public Notice selectNoticeByNoticeId(Integer noticeId) 32 | { 33 | return noticeMapper.selectNoticeByNoticeId(noticeId); 34 | } 35 | 36 | /** 37 | * 查询通知公告公告列表 38 | * 39 | * @param notice 通知公告公告 40 | * @return 通知公告公告 41 | */ 42 | @Override 43 | public List selectNoticeList(Notice notice) 44 | { 45 | return noticeMapper.selectNoticeList(notice); 46 | } 47 | 48 | /** 49 | * 新增通知公告公告 50 | * 51 | * @param notice 通知公告公告 52 | * @return 结果 53 | */ 54 | @Override 55 | public int insertNotice(Notice notice) 56 | { 57 | notice.setCreateTime(DateUtils.getNowDate()); 58 | return noticeMapper.insertNotice(notice); 59 | } 60 | 61 | /** 62 | * 修改通知公告公告 63 | * 64 | * @param notice 通知公告公告 65 | * @return 结果 66 | */ 67 | @Override 68 | public int updateNotice(Notice notice) 69 | { 70 | return noticeMapper.updateNotice(notice); 71 | } 72 | 73 | /** 74 | * 批量删除通知公告公告 75 | * 76 | * @param noticeIds 需要删除的通知公告公告主键 77 | * @return 结果 78 | */ 79 | @Override 80 | public int deleteNoticeByNoticeIds(Integer[] noticeIds) 81 | { 82 | return noticeMapper.deleteNoticeByNoticeIds(noticeIds); 83 | } 84 | 85 | /** 86 | * 删除通知公告公告信息 87 | * 88 | * @param noticeId 通知公告公告主键 89 | * @return 结果 90 | */ 91 | @Override 92 | public int deleteNoticeByNoticeId(Integer noticeId) 93 | { 94 | return noticeMapper.deleteNoticeByNoticeId(noticeId); 95 | } 96 | } 97 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/impl/SchoolServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service.impl; 2 | 3 | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; 4 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 5 | import com.yqn.mapper.SchoolMapper; 6 | import com.yqn.pojo.School; 7 | import com.yqn.service.SchoolService; 8 | import org.springframework.beans.factory.annotation.Autowired; 9 | import org.springframework.stereotype.Service; 10 | 11 | /** 12 | * @author sxc 13 | */ 14 | @Service 15 | public class SchoolServiceImpl extends ServiceImpl implements SchoolService { 16 | @Autowired 17 | private SchoolMapper schoolMapper; 18 | 19 | @Override 20 | public boolean save(School entity) { 21 | QueryWrapper wrapper = new QueryWrapper<>(); 22 | wrapper.eq("name", entity.getName()); 23 | 24 | School school = schoolMapper.selectOne(wrapper); 25 | if (school == null) { 26 | schoolMapper.insert(entity); 27 | return true; 28 | } 29 | 30 | return false; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/impl/SxcRemarkServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service.impl; 2 | 3 | import com.yqn.mapper.SxcRemarkMapper; 4 | import com.yqn.pojo.SxcRemark; 5 | import com.yqn.service.ISxcRemarkService; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.stereotype.Service; 8 | 9 | import java.util.List; 10 | 11 | /** 12 | * remarkService业务层处理 13 | * 14 | * @author sxc 15 | * @date 2022-05-16 16 | */ 17 | @Service 18 | public class SxcRemarkServiceImpl implements ISxcRemarkService 19 | { 20 | @Autowired 21 | private SxcRemarkMapper sxcRemarkMapper; 22 | 23 | /** 24 | * 查询remark 25 | * 26 | * @param id remark主键 27 | * @return remark 28 | */ 29 | @Override 30 | public SxcRemark selectSxcRemarkById(Long id) 31 | { 32 | return sxcRemarkMapper.selectSxcRemarkById(id); 33 | } 34 | 35 | /** 36 | * 查询remark列表 37 | * 38 | * @param sxcRemark remark 39 | * @return remark 40 | */ 41 | @Override 42 | public List selectSxcRemarkList(SxcRemark sxcRemark) 43 | { 44 | return sxcRemarkMapper.selectSxcRemarkList(sxcRemark); 45 | } 46 | 47 | /** 48 | * 新增remark 49 | * 50 | * @param sxcRemark remark 51 | * @return 结果 52 | */ 53 | @Override 54 | public int insertSxcRemark(SxcRemark sxcRemark) 55 | { 56 | return sxcRemarkMapper.insertSxcRemark(sxcRemark); 57 | } 58 | 59 | /** 60 | * 修改remark 61 | * 62 | * @param sxcRemark remark 63 | * @return 结果 64 | */ 65 | @Override 66 | public int updateSxcRemark(SxcRemark sxcRemark) 67 | { 68 | return sxcRemarkMapper.updateSxcRemark(sxcRemark); 69 | } 70 | 71 | /** 72 | * 批量删除remark 73 | * 74 | * @param ids 需要删除的remark主键 75 | * @return 结果 76 | */ 77 | @Override 78 | public int deleteSxcRemarkByIds(Long[] ids) 79 | { 80 | return sxcRemarkMapper.deleteSxcRemarkByIds(ids); 81 | } 82 | 83 | /** 84 | * 删除remark信息 85 | * 86 | * @param id remark主键 87 | * @return 结果 88 | */ 89 | @Override 90 | public int deleteSxcRemarkById(Long id) 91 | { 92 | return sxcRemarkMapper.deleteSxcRemarkById(id); 93 | } 94 | } 95 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/impl/SxcStudentServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service.impl; 2 | 3 | import com.yqn.mapper.SxcStudentMapper; 4 | import com.yqn.pojo.SxcStudent; 5 | import com.yqn.service.ISxcStudentService; 6 | import org.springframework.stereotype.Service; 7 | 8 | import javax.annotation.Resource; 9 | import java.util.List; 10 | 11 | /** 12 | * 学生管理Service业务层处理 13 | * 14 | * @author sxc 15 | * @date 2022-05-05 16 | */ 17 | @Service 18 | public class SxcStudentServiceImpl implements ISxcStudentService 19 | { 20 | @Resource 21 | private SxcStudentMapper sxcStudentMapper; 22 | 23 | /** 24 | * 查询学生管理 25 | * 26 | * @param id 学生管理主键 27 | * @return 学生管理 28 | */ 29 | @Override 30 | public SxcStudent selectSxcStudentById(Long id) 31 | { 32 | return sxcStudentMapper.selectSxcStudentById(id); 33 | } 34 | 35 | /** 36 | * 查询学生管理列表 37 | * 38 | * @param sxcStudent 学生管理 39 | * @return 学生管理 40 | */ 41 | @Override 42 | public List selectSxcStudentList(SxcStudent sxcStudent) 43 | { 44 | return sxcStudentMapper.selectSxcStudentList(sxcStudent); 45 | // return sxcStudentMapper.selectList(null); 46 | } 47 | 48 | /** 49 | * 新增学生管理 50 | * 51 | * @param sxcStudent 学生管理 52 | * @return 结果 53 | */ 54 | @Override 55 | public int insertSxcStudent(SxcStudent sxcStudent) 56 | { 57 | return sxcStudentMapper.insertSxcStudent(sxcStudent); 58 | } 59 | 60 | /** 61 | * 修改学生管理 62 | * 63 | * @param sxcStudent 学生管理 64 | * @return 结果 65 | */ 66 | @Override 67 | public int updateSxcStudent(SxcStudent sxcStudent) 68 | { 69 | return sxcStudentMapper.updateSxcStudent(sxcStudent); 70 | } 71 | 72 | /** 73 | * 批量删除学生管理 74 | * 75 | * @param ids 需要删除的学生管理主键 76 | * @return 结果 77 | */ 78 | @Override 79 | public int deleteSxcStudentByIds(Long[] ids) 80 | { 81 | return sxcStudentMapper.deleteSxcStudentByIds(ids); 82 | } 83 | 84 | /** 85 | * 删除学生管理信息 86 | * 87 | * @param id 学生管理主键 88 | * @return 结果 89 | */ 90 | @Override 91 | public int deleteSxcStudentById(Long id) 92 | { 93 | return sxcStudentMapper.deleteSxcStudentById(id); 94 | } 95 | } 96 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/impl/TaskServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service.impl; 2 | 3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 4 | import com.yqn.mapper.TaskMapper; 5 | import com.yqn.pojo.Task; 6 | import com.yqn.service.TaskService; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | * @author sxc 11 | */ 12 | @Service 13 | public class TaskServiceImpl extends ServiceImpl implements TaskService { 14 | } 15 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/java/com/yqn/service/impl/UserServiceImpl.java: -------------------------------------------------------------------------------- 1 | package com.yqn.service.impl; 2 | 3 | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; 4 | import com.yqn.mapper.UserMapper; 5 | import com.yqn.pojo.User; 6 | import com.yqn.service.UserService; 7 | import org.springframework.stereotype.Service; 8 | 9 | /** 10 | * @author sxc 11 | */ 12 | @Service 13 | public class UserServiceImpl extends ServiceImpl implements UserService { 14 | } 15 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/resources/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-api-master/src/main/resources/.DS_Store -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/resources/application.yml: -------------------------------------------------------------------------------- 1 | spring: 2 | datasource: 3 | driver-class-name: com.mysql.cj.jdbc.Driver 4 | url: jdbc:mysql://localhost:3306/campus_help?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 5 | username: root 6 | password: root 7 | 8 | druid: 9 | aop-patterns: com.yqn.* 10 | filters: stat,wall 11 | 12 | stat-view-servlet: 13 | enabled: true 14 | login-username: admin 15 | login-password: admin 16 | 17 | web-stat-filter: 18 | enabled: true 19 | url-pattern: /* 20 | logging: 21 | level: 22 | com.yqn.mapper: debug 23 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/resources/mapper/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-api-master/src/main/resources/mapper/.DS_Store -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/resources/mapper/ClassMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/resources/mapper/DeptMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/resources/mapper/NoticeMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | select notice_id, notice_title, notice_content, create_by, create_time, remark from notice 18 | 19 | 20 | 27 | 28 | 32 | 33 | 34 | insert into notice 35 | 36 | notice_title, 37 | notice_content, 38 | create_by, 39 | create_time, 40 | remark, 41 | 42 | 43 | #{noticeTitle}, 44 | #{noticeContent}, 45 | #{createBy}, 46 | #{createTime}, 47 | #{remark}, 48 | 49 | 50 | 51 | 52 | update notice 53 | 54 | notice_title = #{noticeTitle}, 55 | notice_content = #{noticeContent}, 56 | create_by = #{createBy}, 57 | create_time = #{createTime}, 58 | remark = #{remark}, 59 | 60 | where notice_id = #{noticeId} 61 | 62 | 63 | 64 | delete from notice where notice_id = #{noticeId} 65 | 66 | 67 | 68 | delete from notice where notice_id in 69 | 70 | #{noticeId} 71 | 72 | 73 | 74 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/resources/mapper/SchoolMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 15 | 16 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/resources/mapper/SxcRemarkMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | select id, star, remark, task_id, accept_id, publish_id from sxc_remark 18 | 19 | 20 | 29 | 30 | 34 | 35 | 36 | insert into sxc_remark 37 | 38 | star, 39 | remark, 40 | task_id, 41 | accept_id, 42 | publish_id, 43 | 44 | 45 | #{star}, 46 | #{remark}, 47 | #{taskId}, 48 | #{acceptId}, 49 | #{publishId}, 50 | 51 | 52 | 53 | 54 | update sxc_remark 55 | 56 | star = #{star}, 57 | remark = #{remark}, 58 | task_id = #{taskId}, 59 | accept_id = #{acceptId}, 60 | publish_id = #{publishId}, 61 | 62 | where id = #{id} 63 | 64 | 65 | 66 | delete from sxc_remark where id = #{id} 67 | 68 | 69 | 70 | delete from sxc_remark where id in 71 | 72 | #{id} 73 | 74 | 75 | 76 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/resources/mapper/SxcStudentMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | select id, name, age from sxc_student 16 | 17 | 18 | 25 | 26 | 30 | 31 | 32 | insert into sxc_student 33 | 34 | name, 35 | age, 36 | 37 | 38 | #{name}, 39 | #{age}, 40 | 41 | 42 | 43 | 44 | update sxc_student 45 | 46 | name = #{name}, 47 | age = #{age}, 48 | 49 | where id = #{id} 50 | 51 | 52 | 53 | delete from sxc_student where id = #{id} 54 | 55 | 56 | 57 | delete from sxc_student where id in 58 | 59 | #{id} 60 | 61 | 62 | 63 | 64 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/resources/mapper/TaskMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 21 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/main/resources/mapper/UserMapper.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 17 | 18 | 21 | 22 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /campus-gang-api-master/src/test/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-api-master/src/test/.DS_Store -------------------------------------------------------------------------------- /campus-gang-api-master/src/test/java/com/yqn/CampusGangApplicationTests.java: -------------------------------------------------------------------------------- 1 | package com.yqn; 2 | 3 | import org.junit.jupiter.api.Test; 4 | import org.springframework.boot.test.context.SpringBootTest; 5 | 6 | 7 | @SpringBootTest 8 | class CampusGangApplicationTests { 9 | 10 | @Test 11 | void contextLoads() { 12 | 13 | } 14 | 15 | } 16 | -------------------------------------------------------------------------------- /campus-gang-web-master/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/.DS_Store -------------------------------------------------------------------------------- /campus-gang-web-master/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/app.aae5a3eb.css: -------------------------------------------------------------------------------- 1 | *{margin:0;padding:0;box-sizing:border-box}body,html{font-family:Open Sans,Helvetica,Arial,sans-serif;background:#f5f7f9;overflow-x:hidden}#app,body,html{height:100%;width:100%}.el-menu{border-right:none!important}.el-message{min-width:300px!important}.el-message,.el-notification{z-index:9999!important} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-20b35483.bd29ace4.css: -------------------------------------------------------------------------------- 1 | .content[data-v-0d1a9972]{background:#fff;margin:0 15px;padding:15px}.content .box_center table[data-v-0d1a9972]{margin:0 auto;width:100%;border-top:1px solid #ebeef5;border-left:1px solid #ebeef5}.content .box_center th[data-v-0d1a9972],.content td[data-v-0d1a9972]{padding:15px 20px;border-right:1px solid #ebeef5;border-bottom:1px solid #ebeef5} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-2e311dd1.a3eabaa5.css: -------------------------------------------------------------------------------- 1 | [data-v-649f1cc2] .box-card{width:60%;margin:0 auto}[data-v-649f1cc2] .el-card__body{padding:0 20px!important}[data-v-649f1cc2] .el-collapse{border-top:none!important}[data-v-649f1cc2] .el-collapse-item__content{padding-bottom:15px!important} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-2f332787.6a6949a2.css: -------------------------------------------------------------------------------- 1 | .content[data-v-fdfc5f64]{background:#fff;margin:0 15px;padding:15px}.content .card h2[data-v-fdfc5f64]{font-weight:400;font-size:18px}.content .card h2 span[data-v-fdfc5f64]{font-size:12px;display:inline-block;border:1px solid red;padding:1px 3px}[data-v-fdfc5f64] .el-alert--info.is-light{height:50px}[data-v-fdfc5f64] .el-select .el-input{width:130px}[data-v-fdfc5f64] .input-with-select .el-input-group__prepend{background-color:#fff}[data-v-fdfc5f64] .el-card{margin-bottom:20px} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-34f7bdf8.3ff883e2.css: -------------------------------------------------------------------------------- 1 | [data-v-2ff9136e] .van-field__left-icon{margin-right:15px!important}.van-cell[data-v-2ff9136e]{padding:15px 0}.van-button[data-v-2ff9136e]{background:#8a97f6;color:#fff}.van-checkbox[data-v-2ff9136e]{justify-content:center}[data-v-2ff9136e] .van-checkbox__icon{font-size:16px}[data-v-2ff9136e] .van-checkbox__icon a{color:red}[data-v-49bdaa0a] .van-nav-bar__content{background:#7584ed}[data-v-49bdaa0a] .van-nav-bar .van-icon,[data-v-49bdaa0a] .van-nav-bar__title{color:#fff}.registered[data-v-49bdaa0a]{height:100vh;background:#fff}.module[data-v-49bdaa0a]{padding:10px 20px}.module p[data-v-49bdaa0a]{margin:30px 0;font-size:12px} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-45509e9a.e80a047b.css: -------------------------------------------------------------------------------- 1 | [data-v-4a93af42]{box-sizing:border-box}body[data-v-4a93af42]{padding:0;margin:0}#notfound[data-v-4a93af42]{position:relative;height:100vh}#notfound .notfound[data-v-4a93af42]{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}.notfound[data-v-4a93af42]{max-width:560px;width:100%;padding-left:160px;line-height:1.1}.notfound .notfound-404[data-v-4a93af42]{position:absolute;left:0;top:0;display:inline-block;width:140px;height:140px;background-image:url(../img/emoji.e7af79dc.png);background-size:cover}.notfound .notfound-404[data-v-4a93af42]:before{content:"";position:absolute;width:100%;height:100%;transform:scale(2.4);border-radius:50%;background-color:#f2f5f8;z-index:-1}.notfound h1[data-v-4a93af42]{font-size:65px;font-weight:700;margin-top:0;margin-bottom:10px}.notfound h1[data-v-4a93af42],.notfound h2[data-v-4a93af42]{font-family:Nunito,sans-serif;color:#151723;text-transform:uppercase}.notfound h2[data-v-4a93af42]{font-size:21px;font-weight:400;margin:0}.notfound p[data-v-4a93af42]{font-family:Nunito,sans-serif;color:#999fa5;font-weight:400}.notfound a[data-v-4a93af42]{font-family:Nunito,sans-serif;display:inline-block;font-weight:700;border-radius:40px;text-decoration:none;color:#388dbc}@media only screen and (max-width:767px){.notfound .notfound-404[data-v-4a93af42]{width:110px;height:110px}.notfound[data-v-4a93af42]{padding-left:15px;padding-right:15px;padding-top:110px}} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-456c0af6.ff414791.css: -------------------------------------------------------------------------------- 1 | .perfectInformation[data-v-3505bf07]{height:100vh;background:#fff}.perfectInformation h3[data-v-3505bf07]{text-align:center;background:#fff;padding:15px;font-weight:400;border-bottom:1px solid rgb(237 237 237)}[data-v-3505bf07] .van-field__label{width:3.5em} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-5134eb08.2bee33ab.css: -------------------------------------------------------------------------------- 1 | .content[data-v-70773ed5]{padding:0 1%}.center[data-v-70773ed5]{width:80%;margin-bottom:30px}[data-v-70773ed5] .el-select .el-input{width:200px}[data-v-70773ed5] .input-with-select .el-input-group__prepend{background-color:#fff}.form[data-v-70773ed5]{margin:0 22px} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-5a3ced12.f258d8d8.css: -------------------------------------------------------------------------------- 1 | .swipe img{height:33vh;width:100%}[class*=van-hairline]:after{border:none}.van-steps--horizontal{padding:0}.van-cell:after{left:0;right:0;border-bottom:1px solid #ccc}.piece{margin:10px;padding:10px 10px 20px 10px;border-radius:10px;background:#fff}.piece .van-cell{padding:5px 0}.van-search__action{padding:0 12px 0 8px!important} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-6001c293.cd02a59d.css: -------------------------------------------------------------------------------- 1 | [data-v-2ff9136e] .van-field__left-icon{margin-right:15px!important}.van-cell[data-v-2ff9136e]{padding:15px 0}.van-button[data-v-2ff9136e]{background:#8a97f6;color:#fff}.van-checkbox[data-v-2ff9136e]{justify-content:center}[data-v-2ff9136e] .van-checkbox__icon{font-size:16px}[data-v-2ff9136e] .van-checkbox__icon a{color:red}.login_top[data-v-c5bf3544]{position:relative;height:26.5vh}.login_ba[data-v-c5bf3544]{height:100%;background:#8a97f6;border-radius:50%;transform:scale(2);justify-content:center;align-items:center;display:flex}.login_nav[data-v-c5bf3544]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;text-align:center}.login_nav .pic[data-v-c5bf3544]{height:15vh;border-radius:10px}.login_window[data-v-c5bf3544]{box-sizing:border-box;padding:15px 15px 25px 15px;position:absolute;width:90vw;left:5vw;background:#fff;border-radius:10px}.login_window p[data-v-c5bf3544]{margin:30px 0;font-size:12px} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-6d6e6aac.92d0cb50.css: -------------------------------------------------------------------------------- 1 | .content[data-v-c92244a0]{background:#fff;margin:0 15px;height:100%;padding:15px}.content .title[data-v-c92244a0]{margin:15px 0;width:100%;display:flex;height:100px;justify-content:space-between}.content .title div[data-v-c92244a0]{border-radius:5px;padding:15px;color:#fff}.content .title div p[data-v-c92244a0]{font-size:12px;margin-top:10px}.content .title .title_left[data-v-c92244a0]{width:32.5%;background:#e64242}.content .title .title_center[data-v-c92244a0]{width:32.5%;background:#11b95c}.content .title .title_right[data-v-c92244a0]{width:32.5%;background:#1f2d3d}.content .card[data-v-c92244a0]{display:flex;margin-bottom:25px;justify-content:space-between}.content .card[data-v-c92244a0] .el-card.is-always-shadow{width:32.4%}.content .bottom_txt p[data-v-c92244a0]:first-child{margin-top:10px}.content .bottom_txt p[data-v-c92244a0]:nth-child(2){margin:15px 0}.content .bottom_txt span[data-v-c92244a0]{float:right}.content[data-v-c92244a0] .el-card__body{padding:10px 20px!important}[data-v-c92244a0] .el-alert--info.is-light{height:50px} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-6f4367ca.d993bcae.css: -------------------------------------------------------------------------------- 1 | [class*=van-hairline][data-v-a1ba64e4]:after{border:none}.van-steps--horizontal[data-v-a1ba64e4]{padding:0}.van-cell[data-v-a1ba64e4]:after{left:0;right:0;border-bottom:1px solid #ccc}.piece[data-v-a1ba64e4]{margin:10px;padding:10px 10px 10px 10px;border-radius:10px;background:#fff}.piece .van-cell[data-v-a1ba64e4]{padding:5px 0}.task_icon[data-v-a1ba64e4]{display:flex;justify-content:space-between;align-items:center}[data-v-a1ba64e4] .van-step--horizontal .van-step__title{font-size:14px!important} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-719f6a8e.43e8c503.css: -------------------------------------------------------------------------------- 1 | .van-tabbar--fixed[data-v-46ed7c89]{z-index:99} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-73c45eb6.81f05af9.css: -------------------------------------------------------------------------------- 1 | .main[data-v-4308ab78]{display:flex;height:90%}.main .left[data-v-4308ab78]{position:fixed;height:100%}.main .left .logo[data-v-4308ab78]{width:90%;font-size:16px;text-align:center;padding:8px 0;margin:9.1px auto 0 auto}.main .right[data-v-4308ab78]{transition:all .3s ease 0s;position:relative}.main .right .top[data-v-4308ab78]{transition:all .3s ease 0s;position:fixed;display:flex;align-items:center;justify-content:space-between;z-index:9}.main .right .top .icon[data-v-4308ab78]{font-size:20px;cursor:pointer;margin-left:10px}.main .right .bottom[data-v-4308ab78]{width:100%;height:100%;margin-top:65px}.main .right .bottom .bottom_top[data-v-4308ab78]{padding:20px}.main .ruleform[data-v-4308ab78] .el-input{width:80%!important}.main[data-v-4308ab78] .el-cascader{width:100%!important} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-80ab89ea.7d3d2055.css: -------------------------------------------------------------------------------- 1 | .top[data-v-15065252]{height:30vh;color:#fff;background:#8a97f6;display:flex;flex-direction:column;align-items:center;justify-content:center}.top .avatar[data-v-15065252]{box-sizing:border-box;width:22vw;border-radius:50%;border:1px solid hsla(0,0%,100%,.2)}.top .character[data-v-15065252]{margin:10px 0;text-align:center}.top .character h3[data-v-15065252]{font-weight:400;margin-bottom:5px}.top .character p[data-v-15065252]{font-size:14px}.content[data-v-15065252]{padding:10px 16px;font-size:14px;line-height:24px;background-color:#f4f5f8;border-bottom:1px solid #ebedf0;display:flex;align-items:center}@-webkit-keyframes mymove-data-v-15065252{0%{padding:0}50%{padding:5px}to{padding:0}}@keyframes mymove-data-v-15065252{0%{padding:0}50%{padding:5px}to{padding:0}}.van-cell[data-v-15065252]:after{border-bottom:1px solid #cacaca!important} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-96c2ae54.354e07ac.css: -------------------------------------------------------------------------------- 1 | .main[data-v-7bca1cd6]{display:flex;justify-content:center;align-items:center;height:100vh}.main .warp[data-v-7bca1cd6]{padding:55px 85px;width:560px;background:#fff;border-radius:10px;position:relative}.main .warp h2[data-v-7bca1cd6]{font-weight:400;font-family:Raleway-Medium;font-size:30px;color:#555;margin-bottom:20px}.main .warp[data-v-7bca1cd6] .input input{height:50px}.main .warp[data-v-7bca1cd6] .btn{font-size:16px;color:#fff;padding:0 20px;min-width:150px;height:55px;background-color:#333;border-radius:27px;transition:all .4s}.main .warp[data-v-7bca1cd6] .btn:hover{background:#57b846}@-webkit-keyframes move-data-v-7bca1cd6{25%{transform:rotate(-1deg)}75%{transform:rotate(2deg)}}@keyframes move-data-v-7bca1cd6{25%{transform:rotate(-1deg)}75%{transform:rotate(2deg)}} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-acfc86ba.e97e7574.css: -------------------------------------------------------------------------------- 1 | .main[data-v-515b9467]{display:flex;height:100%}.main .left[data-v-515b9467]{background:#fff;position:fixed;height:100%}.main .left .logo[data-v-515b9467]{width:90%;font-size:16px;text-align:center;padding:8px 0;margin:9.1px auto}.main .right[data-v-515b9467]{position:relative}.main .right .top[data-v-515b9467]{display:flex;align-items:center;justify-content:space-between;background:#fff}.main .right .top .icon[data-v-515b9467]{font-size:20px;cursor:pointer;margin-left:10px}.main .right .bottom[data-v-515b9467]{width:100%}.main .right .bottom .bottom_top[data-v-515b9467]{padding:20px} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-aeea6ece.1f525576.css: -------------------------------------------------------------------------------- 1 | .title[data-v-8737d8e6]{background-color:#f4f4f5;color:#909399;padding:5px 16px;font-size:13px} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-ba0bcef4.76d58cee.css: -------------------------------------------------------------------------------- 1 | .content[data-v-35cca588]{padding:0 1%}.center[data-v-35cca588]{width:70%;margin-bottom:30px}[data-v-35cca588] .el-select .el-input{width:80px}[data-v-35cca588] .input-with-select .el-input-group__prepend{background-color:#fff}.form[data-v-35cca588]{margin:0 22px} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-c45fdd3a.b982b77d.css: -------------------------------------------------------------------------------- 1 | .content[data-v-443870a6]{padding:0 1%} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-e80f0790.a17a5862.css: -------------------------------------------------------------------------------- 1 | [data-v-8d670c0c],[data-v-8d670c0c]:after,[data-v-8d670c0c]:before{box-sizing:border-box}button[data-v-8d670c0c],input[data-v-8d670c0c]{border:none;outline:none;background:none;font-family:Open Sans,Helvetica,Arial,sans-serif}.tip[data-v-8d670c0c]{font-size:20px;margin:40px auto 50px;text-align:center}.content[data-v-8d670c0c]{overflow:hidden;position:absolute;left:50%;top:50%;width:900px;height:550px;margin:-300px 0 0 -450px;background:#fff}.form[data-v-8d670c0c]{position:relative;width:640px;height:100%;transition:transform .6s ease-in-out;padding:50px 30px 0}.sub-cont[data-v-8d670c0c]{overflow:hidden;position:absolute;left:640px;top:0;width:900px;height:100%;padding-left:260px;background:#fff;transition:transform .6s ease-in-out}.content.s--signup .sub-cont[data-v-8d670c0c]{transform:translate3d(-640px,0,0)}button[data-v-8d670c0c]{display:block;margin:0 auto;width:260px;height:36px;border-radius:30px;color:#fff;font-size:15px;cursor:pointer}.img[data-v-8d670c0c]{overflow:hidden;z-index:2;position:absolute;left:0;top:0;width:260px;height:100%;padding-top:360px}.img[data-v-8d670c0c]:before{content:"";position:absolute;right:0;top:0;width:900px;height:100%;background-image:url(../img/test1.6426eb0a.jpg);background-size:cover;transition:transform .6s ease-in-out}.img[data-v-8d670c0c]:after{content:"";position:absolute;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.6)}.content.s--signup .img[data-v-8d670c0c]:before{transform:translate3d(640px,0,0)}.img__text[data-v-8d670c0c]{z-index:2;position:absolute;left:0;top:50px;width:100%;padding:0 20px;text-align:center;color:#fff;transition:transform .6s ease-in-out}.img__text h2[data-v-8d670c0c]{margin-bottom:10px;font-weight:400}.img__text p[data-v-8d670c0c]{font-size:14px;line-height:1.5}.content.s--signup .img__text.m--up[data-v-8d670c0c]{transform:translateX(520px)}.img__text.m--in[data-v-8d670c0c]{transform:translateX(-520px)}.content.s--signup .img__text.m--in[data-v-8d670c0c]{transform:translateX(0)}.img__btn[data-v-8d670c0c]{overflow:hidden;z-index:2;position:relative;width:100px;height:36px;margin:0 auto;background:transparent;color:#fff;text-transform:uppercase;font-size:15px;cursor:pointer}.img__btn[data-v-8d670c0c]:after{content:"";z-index:2;position:absolute;left:0;top:0;width:100%;height:100%;border:2px solid #fff;border-radius:30px}.img__btn span[data-v-8d670c0c]{position:absolute;left:0;top:0;display:flex;justify-content:center;align-items:center;width:100%;height:100%;transition:transform .6s}.img__btn span.m--in[data-v-8d670c0c]{transform:translateY(-72px)}.content.s--signup .img__btn span.m--in[data-v-8d670c0c]{transform:translateY(0)}.content.s--signup .img__btn span.m--up[data-v-8d670c0c]{transform:translateY(72px)}h2[data-v-8d670c0c]{width:100%;font-size:26px;text-align:center}label[data-v-8d670c0c]{display:block;width:260px;margin:25px auto 0;text-align:center}label span[data-v-8d670c0c]{font-size:12px;color:#909399;text-transform:uppercase}input[data-v-8d670c0c]{display:block;width:100%;margin-top:5px;padding-bottom:5px;font-size:14px;border-bottom:1px solid rgba(0,0,0,.4);text-align:center}.forgot-pass[data-v-8d670c0c]{margin-top:15px;text-align:center;font-size:12px;color:#cfcfcf}.forgot-pass a[data-v-8d670c0c]{color:#cfcfcf}.submit[data-v-8d670c0c]{margin-top:40px;margin-bottom:20px;background:#d4af7a;text-transform:uppercase}.fb-btn[data-v-8d670c0c]{border:2px solid #d3dae9;color:#8fa1c7}.fb-btn span[data-v-8d670c0c]{font-weight:700;color:#455a81}.sign-in[data-v-8d670c0c]{transition-timing-function:ease-out}.content.s--signup .sign-in[data-v-8d670c0c]{transition-timing-function:ease-in-out;transition-duration:.6s;transform:translate3d(640px,0,0)}.sign-up[data-v-8d670c0c]{transform:translate3d(-900px,0,0)}.content.s--signup .sign-up[data-v-8d670c0c]{transform:translateZ(0)}[data-v-8d670c0c] .el-select{display:block!important;margin:0 auto!important;width:260px!important}[data-v-8d670c0c] .el-menu{border-right:NONE!important}[data-v-8d670c0c] .el-input__inner{border:none!important;border-bottom:1px solid rgba(0,0,0,.4)!important;border-radius:0!important} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-f3012990.d30436cd.css: -------------------------------------------------------------------------------- 1 | .content[data-v-6ba1e4f0]{background:#fff;margin:0 15px;padding:15px} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/css/chunk-f93b7708.0ea5063a.css: -------------------------------------------------------------------------------- 1 | .content[data-v-89d0babc]{background:#fff;margin:0 15px;padding:15px}.content .card[data-v-89d0babc]{margin-top:20px}.content .card .input[data-v-89d0babc]{margin-top:10px;width:100%;height:40px;display:flex;justify-content:space-between;align-items:center}.content .card .input .append[data-v-89d0babc]{border:1px solid #dcdfe6;border-right:none;width:150px;font-size:14px;line-height:40px;height:100%;text-align:center}.content .card .input .select[data-v-89d0babc],.content .card .input[data-v-89d0babc] .el-input{flex:1}.content .card .box-card[data-v-89d0babc]{margin-top:10px}.content .card .box-card[data-v-89d0babc] .el-textarea__inner{font-family:微软雅黑!important}.content .card .box-card[data-v-89d0babc] .el-card__header{border-bottom:none}.content .card .box-card[data-v-89d0babc] .el-card__body{padding:0!important}.content .content_drawer[data-v-89d0babc]{padding:0 20px}.content .content_drawer p[data-v-89d0babc]{margin:10px 0}.content .content_drawer span[data-v-89d0babc]{font-size:14px} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/dist/favicon.ico -------------------------------------------------------------------------------- /campus-gang-web-master/dist/fonts/element-icons.535877f5.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/dist/fonts/element-icons.535877f5.woff -------------------------------------------------------------------------------- /campus-gang-web-master/dist/fonts/element-icons.732389de.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/dist/fonts/element-icons.732389de.ttf -------------------------------------------------------------------------------- /campus-gang-web-master/dist/img/emoji.e7af79dc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/dist/img/emoji.e7af79dc.png -------------------------------------------------------------------------------- /campus-gang-web-master/dist/img/icon.a2c3b2d4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/dist/img/icon.a2c3b2d4.png -------------------------------------------------------------------------------- /campus-gang-web-master/dist/img/logo_transparent.64b63582.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/dist/img/logo_transparent.64b63582.png -------------------------------------------------------------------------------- /campus-gang-web-master/dist/img/pic01.01f236ea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/dist/img/pic01.01f236ea.png -------------------------------------------------------------------------------- /campus-gang-web-master/dist/img/pic02.a54e9e96.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/dist/img/pic02.a54e9e96.png -------------------------------------------------------------------------------- /campus-gang-web-master/dist/img/pic03.91612c0b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/dist/img/pic03.91612c0b.png -------------------------------------------------------------------------------- /campus-gang-web-master/dist/img/test1.6426eb0a.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/dist/img/test1.6426eb0a.jpg -------------------------------------------------------------------------------- /campus-gang-web-master/dist/index.html: -------------------------------------------------------------------------------- 1 | campus_help
-------------------------------------------------------------------------------- /campus-gang-web-master/dist/js/chunk-34f7bdf8.e3b56426.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-34f7bdf8"],{"0732":function(t,e,s){"use strict";s.r(e);var n=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"registered"},[s("van-nav-bar",{attrs:{title:"注册","left-arrow":""},on:{"click-left":t.comeBack}}),s("div",{staticClass:"module"},[s("login-input",{attrs:{btn:"注册"},scopedSlots:t._u([{key:"prompt",fn:function(){return[s("p",[s("span",{on:{click:function(e){return t.$router.push({name:"mlogin"})}}},[t._v("已有帐号?去登录")])])]},proxy:!0}])})],1)],1)},o=[],a=s("1d5d"),r={name:"Registered",components:{LoginInput:a["a"]},methods:{comeBack:function(){window.history.back()}}},c=r,i=(s("a383"),s("2877")),u=Object(i["a"])(c,n,o,!1,null,"49bdaa0a",null);e["default"]=u.exports},"1d5d":function(t,e,s){"use strict";var n=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("van-form",{on:{submit:t.onSubmit}},[s("van-field",{attrs:{name:"学号","left-icon":"friends-o",placeholder:"请输入学号",rules:[{required:!0,message:"请填写用户名"}]},model:{value:t.studentId,callback:function(e){t.studentId=e},expression:"studentId"}}),s("van-field",{attrs:{type:"password",name:"密码","left-icon":"closed-eye",placeholder:"请输入密码",rules:[{required:!0,message:"请填写密码"}]},model:{value:t.password,callback:function(e){t.password=e},expression:"password"}}),s("van-field",{attrs:{readonly:"",clickable:"",name:"picker",value:t.value,"left-icon":"newspaper-o",placeholder:"点击选择学校"},on:{click:function(e){t.showPicker=!0}}}),s("van-popup",{attrs:{position:"bottom"},model:{value:t.showPicker,callback:function(e){t.showPicker=e},expression:"showPicker"}},[s("van-picker",{attrs:{"show-toolbar":"",columns:t.school,"value-key":"name"},on:{confirm:t.onConfirm,cancel:function(e){t.showPicker=!1}}})],1),t._t("prompt"),s("div",{staticStyle:{margin:"16px 0"}},[s("van-button",{attrs:{round:"",block:"","native-type":"submit"}},[t._v(" "+t._s(t.btn)+" ")])],1),s("van-checkbox",{staticStyle:{"font-size":"10px"},model:{value:t.checked,callback:function(e){t.checked=e},expression:"checked"}},[t._v("已同意"),s("a",{staticStyle:{color:"red"},attrs:{href:"#"}},[t._v("《平台登陆协议》")]),t._v("及"),s("a",{staticStyle:{color:"red"},attrs:{href:"#"}},[t._v("《隐私政策》")])])],2)},o=[],a=(s("b0c0"),{name:"LoginInput",props:["btn"],data:function(){return{studentId:"",password:"",value:"",schoolId:"",school:[],showPicker:!1,checked:!0}},methods:{onConfirm:function(t){this.value=t.name,this.schoolId=t.id,this.showPicker=!1},onSubmit:function(){var t=this;""!=this.value&&this.checked?"登录"===this.btn?this.$get("/user/login",{studentId:this.studentId,password:this.$md5(this.password),schoolId:this.schoolId}).then((function(e){if(e.data.status)if(0==e.data.user.state){var s=e.data.user.username?e.data.user.username:e.data.user.studentId;sessionStorage.setItem("user",JSON.stringify(e.data.user)),t.$msg(s+",登录成功","success"),t.$router.push("/m/home")}else t.$msg("该用户已被冻结,请联系管理员","error");else t.$msg(e.data.msg,"error")})):this.$post("/user",{studentId:this.studentId,password:this.$md5(this.password),schoolId:this.schoolId}).then((function(e){e.data.status?(t.$msg(e.data.msg,"success"),t.$router.push("/m/login")):t.$msg(e.data.msg,"error")})):""==this.value?this.$msg("请选择学校","error"):this.$msg("请勾选用户协议","error")}},created:function(){var t=this;this.$get("/school").then((function(e){t.school=e.data.school}))}}),r=a,c=(s("d9a2"),s("2877")),i=Object(c["a"])(r,n,o,!1,null,"2ff9136e",null);e["a"]=i.exports},"63c3":function(t,e,s){},a383:function(t,e,s){"use strict";s("63c3")},b0c0:function(t,e,s){var n=s("83ab"),o=s("9bf2").f,a=Function.prototype,r=a.toString,c=/^\s*function ([^ (]*)/,i="name";n&&!(i in a)&&o(a,i,{configurable:!0,get:function(){try{return r.call(this).match(c)[1]}catch(t){return""}}})},d9a2:function(t,e,s){"use strict";s("e329")},e329:function(t,e,s){}}]); 2 | //# sourceMappingURL=chunk-34f7bdf8.e3b56426.js.map -------------------------------------------------------------------------------- /campus-gang-web-master/dist/js/chunk-45509e9a.90bae94c.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-45509e9a"],{"63c0":function(t,e,o){"use strict";o.r(e);var n=function(){var t=this,e=t.$createElement,o=t._self._c||e;return o("div",{attrs:{id:"notfound"}},[o("div",{staticClass:"notfound"},[o("div",{staticClass:"notfound-404"}),o("h1",[t._v("404")]),o("h2",[t._v("Oops! Page Not Be Found")]),o("p",[t._v("Sorry but the page you are looking for does not exist, have been removed. name changed or is temporarily unavailable")]),o("a",{staticStyle:{cursor:"pointer"},on:{click:t.exit}},[t._v("Back to homepage")])])])},a=[],i={name:"Error",methods:{exit:function(){window.history.back()}}},c=i,r=(o("933c"),o("2877")),s=Object(r["a"])(c,n,a,!1,null,"4a93af42",null);e["default"]=s.exports},"933c":function(t,e,o){"use strict";o("b819")},b819:function(t,e,o){}}]); 2 | //# sourceMappingURL=chunk-45509e9a.90bae94c.js.map -------------------------------------------------------------------------------- /campus-gang-web-master/dist/js/chunk-45509e9a.90bae94c.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"sources":["webpack:///./src/views/PC/Error.vue?7968","webpack:///src/views/PC/Error.vue","webpack:///./src/views/PC/Error.vue?f216","webpack:///./src/views/PC/Error.vue?7831","webpack:///./src/views/PC/Error.vue?2e58"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","staticClass","_v","staticStyle","on","exit","staticRenderFns","component"],"mappings":"yHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,MAAM,CAAC,GAAK,aAAa,CAACF,EAAG,MAAM,CAACG,YAAY,YAAY,CAACH,EAAG,MAAM,CAACG,YAAY,iBAAiBH,EAAG,KAAK,CAACJ,EAAIQ,GAAG,SAASJ,EAAG,KAAK,CAACJ,EAAIQ,GAAG,6BAA6BJ,EAAG,IAAI,CAACJ,EAAIQ,GAAG,0HAA0HJ,EAAG,IAAI,CAACK,YAAY,CAAC,OAAS,WAAWC,GAAG,CAAC,MAAQV,EAAIW,OAAO,CAACX,EAAIQ,GAAG,2BACjeI,EAAkB,GCYtB,GACE,KAAF,QACE,QAAF,CACI,KADJ,WAEM,OAAN,kBCjB8V,I,wBCQ1VC,EAAY,eACd,EACAd,EACAa,GACA,EACA,KACA,WACA,MAIa,aAAAC,E,6CCnBf,W","file":"js/chunk-45509e9a.90bae94c.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"notfound\"}},[_c('div',{staticClass:\"notfound\"},[_c('div',{staticClass:\"notfound-404\"}),_c('h1',[_vm._v(\"404\")]),_c('h2',[_vm._v(\"Oops! Page Not Be Found\")]),_c('p',[_vm._v(\"Sorry but the page you are looking for does not exist, have been removed. name changed or is temporarily unavailable\")]),_c('a',{staticStyle:{\"cursor\":\"pointer\"},on:{\"click\":_vm.exit}},[_vm._v(\"Back to homepage\")])])])}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Error.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Error.vue?vue&type=script&lang=js&\"","import { render, staticRenderFns } from \"./Error.vue?vue&type=template&id=4a93af42&scoped=true&\"\nimport script from \"./Error.vue?vue&type=script&lang=js&\"\nexport * from \"./Error.vue?vue&type=script&lang=js&\"\nimport style0 from \"./Error.vue?vue&type=style&index=0&id=4a93af42&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4a93af42\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--6-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--6-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--6-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./Error.vue?vue&type=style&index=0&id=4a93af42&scoped=true&lang=css&\""],"sourceRoot":""} -------------------------------------------------------------------------------- /campus-gang-web-master/dist/js/chunk-6001c293.c8ac167b.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-6001c293"],{"1d5d":function(t,s,e){"use strict";var n=function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("van-form",{on:{submit:t.onSubmit}},[e("van-field",{attrs:{name:"学号","left-icon":"friends-o",placeholder:"请输入学号",rules:[{required:!0,message:"请填写用户名"}]},model:{value:t.studentId,callback:function(s){t.studentId=s},expression:"studentId"}}),e("van-field",{attrs:{type:"password",name:"密码","left-icon":"closed-eye",placeholder:"请输入密码",rules:[{required:!0,message:"请填写密码"}]},model:{value:t.password,callback:function(s){t.password=s},expression:"password"}}),e("van-field",{attrs:{readonly:"",clickable:"",name:"picker",value:t.value,"left-icon":"newspaper-o",placeholder:"点击选择学校"},on:{click:function(s){t.showPicker=!0}}}),e("van-popup",{attrs:{position:"bottom"},model:{value:t.showPicker,callback:function(s){t.showPicker=s},expression:"showPicker"}},[e("van-picker",{attrs:{"show-toolbar":"",columns:t.school,"value-key":"name"},on:{confirm:t.onConfirm,cancel:function(s){t.showPicker=!1}}})],1),t._t("prompt"),e("div",{staticStyle:{margin:"16px 0"}},[e("van-button",{attrs:{round:"",block:"","native-type":"submit"}},[t._v(" "+t._s(t.btn)+" ")])],1),e("van-checkbox",{staticStyle:{"font-size":"10px"},model:{value:t.checked,callback:function(s){t.checked=s},expression:"checked"}},[t._v("已同意"),e("a",{staticStyle:{color:"red"},attrs:{href:"#"}},[t._v("《平台登陆协议》")]),t._v("及"),e("a",{staticStyle:{color:"red"},attrs:{href:"#"}},[t._v("《隐私政策》")])])],2)},o=[],a=(e("b0c0"),{name:"LoginInput",props:["btn"],data:function(){return{studentId:"",password:"",value:"",schoolId:"",school:[],showPicker:!1,checked:!0}},methods:{onConfirm:function(t){this.value=t.name,this.schoolId=t.id,this.showPicker=!1},onSubmit:function(){var t=this;""!=this.value&&this.checked?"登录"===this.btn?this.$get("/user/login",{studentId:this.studentId,password:this.$md5(this.password),schoolId:this.schoolId}).then((function(s){if(s.data.status)if(0==s.data.user.state){var e=s.data.user.username?s.data.user.username:s.data.user.studentId;sessionStorage.setItem("user",JSON.stringify(s.data.user)),t.$msg(e+",登录成功","success"),t.$router.push("/m/home")}else t.$msg("该用户已被冻结,请联系管理员","error");else t.$msg(s.data.msg,"error")})):this.$post("/user",{studentId:this.studentId,password:this.$md5(this.password),schoolId:this.schoolId}).then((function(s){s.data.status?(t.$msg(s.data.msg,"success"),t.$router.push("/m/login")):t.$msg(s.data.msg,"error")})):""==this.value?this.$msg("请选择学校","error"):this.$msg("请勾选用户协议","error")}},created:function(){var t=this;this.$get("/school").then((function(s){t.school=s.data.school}))}}),i=a,r=(e("d9a2"),e("2877")),c=Object(r["a"])(i,n,o,!1,null,"2ff9136e",null);s["a"]=c.exports},"891d":function(t,s,e){"use strict";e.r(s);var n=function(){var t=this,s=t.$createElement,e=t._self._c||s;return e("div",{staticClass:"login"},[e("div",{staticClass:"login_top"},[e("div",{staticClass:"login_ba"}),t._m(0),e("div",{staticClass:"login_window"},[e("login-input",{attrs:{btn:"登录"},scopedSlots:t._u([{key:"prompt",fn:function(){return[e("p",[e("span",{on:{click:function(s){return t.$router.push({name:"mRegistered"})}}},[t._v("去注册")]),e("span",{staticStyle:{float:"right"}},[t._v("忘记密码")])])]},proxy:!0}])})],1)])])},o=[function(){var t=this,s=t.$createElement,n=t._self._c||s;return n("div",{staticClass:"login_nav"},[n("img",{staticClass:"pic",attrs:{src:e("c2fb")}})])}],a=e("1d5d"),i={name:"Login",components:{LoginInput:a["a"]},data:function(){return{}},methods:{}},r=i,c=(e("d443"),e("2877")),u=Object(c["a"])(r,n,o,!1,null,"c5bf3544",null);s["default"]=u.exports},b0c0:function(t,s,e){var n=e("83ab"),o=e("9bf2").f,a=Function.prototype,i=a.toString,r=/^\s*function ([^ (]*)/,c="name";n&&!(c in a)&&o(a,c,{configurable:!0,get:function(){try{return i.call(this).match(r)[1]}catch(t){return""}}})},c2fb:function(t,s,e){t.exports=e.p+"img/logo_transparent.64b63582.png"},d443:function(t,s,e){"use strict";e("e5a7")},d9a2:function(t,s,e){"use strict";e("e329")},e329:function(t,s,e){},e5a7:function(t,s,e){}}]); 2 | //# sourceMappingURL=chunk-6001c293.c8ac167b.js.map -------------------------------------------------------------------------------- /campus-gang-web-master/dist/js/chunk-96c2ae54.6eca6771.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-96c2ae54"],{"2d75":function(e,t,r){},"8e55":function(e,t,r){"use strict";r("2d75")},bfd6:function(e,t,r){"use strict";r.r(t);var o=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"main"},[r("div",{staticClass:"warp"},[r("h2",[e._v("ADMIN LOGIN")]),r("el-form",{ref:"ruleForm",staticClass:"demo-ruleForm",attrs:{model:e.ruleForm,"status-icon":"",rules:e.rules,"label-width":"100px","label-position":"top",size:"medium"}},[r("el-form-item",{staticClass:"input",attrs:{label:"ACCOUND",prop:"account"}},[r("el-input",{attrs:{type:"text",autocomplete:"off"},model:{value:e.ruleForm.account,callback:function(t){e.$set(e.ruleForm,"account",t)},expression:"ruleForm.account"}})],1),r("el-form-item",{staticClass:"input",attrs:{label:"PASSWORD",prop:"password"}},[r("el-input",{attrs:{type:"password",autocomplete:"off"},nativeOn:{keydown:function(t){return!t.type.indexOf("key")&&e._k(t.keyCode,"enter",13,t.key,"Enter")?null:e.submitForm("ruleForm")}},model:{value:e.ruleForm.password,callback:function(t){e.$set(e.ruleForm,"password",t)},expression:"ruleForm.password"}})],1),r("el-form-item",[r("el-checkbox",{model:{value:e.checked,callback:function(t){e.checked=t},expression:"checked"}},[e._v("Remember me")])],1),r("el-form-item",[r("el-button",{staticClass:"btn",attrs:{type:"primary"},on:{click:function(t){return e.submitForm("ruleForm")}}},[e._v("Login")])],1)],1)],1)])},a=[],s={name:"Login",data:function(){var e=function(e,t,r){""===t?r(new Error("请输入帐号")):r()},t=function(e,t,r){""===t?r(new Error("请输入密码")):r()};return{checked:!1,ruleForm:{account:"",password:""},rules:{account:[{validator:e,trigger:"blur"}],password:[{validator:t,trigger:"blur"}]}}},methods:{submitForm:function(e){var t=this;this.$refs[e].validate((function(e){if(!e)return!1;t.$get("/admin",t.ruleForm).then((function(e){e.data.status?(t.checked&&localStorage.setItem("remember",JSON.stringify(t.ruleForm)),t.$msg("".concat(e.data.admin.username," ,登陆成功"),"success"),sessionStorage.setItem("admin",JSON.stringify(e.data.admin)),t.$router.push("/admin/home")):t.$msg(e.data.msg,"error")}))}))}},created:function(){if(localStorage.getItem("remember")){var e=JSON.parse(localStorage.getItem("remember"));this.ruleForm.account=e.account,this.ruleForm.password=e.password}}},n=s,c=(r("8e55"),r("2877")),l=Object(c["a"])(n,o,a,!1,null,"7bca1cd6",null);t["default"]=l.exports}}]); 2 | //# sourceMappingURL=chunk-96c2ae54.6eca6771.js.map -------------------------------------------------------------------------------- /campus-gang-web-master/dist/js/chunk-ba0bcef4.a521f20d.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-ba0bcef4"],{"00b4":function(t,e,n){"use strict";n.r(e);var l=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"content"},[n("div",{staticClass:"center"},[n("el-input",{staticClass:"input-with-select",attrs:{placeholder:"请输入内容"},nativeOn:{keydown:function(e){return!e.type.indexOf("key")&&t._k(e.keyCode,"enter",13,e.key,"Enter")?null:t.clickSearch(e)}},model:{value:t.input,callback:function(e){t.input=e},expression:"input"}},[n("el-select",{attrs:{slot:"prepend",placeholder:"请选择",value:"1"},slot:"prepend",model:{value:t.select,callback:function(e){t.select=e},expression:"select"}},[n("el-option",{attrs:{label:"学号",value:"1"}}),n("el-option",{attrs:{label:"姓名",value:"2"}})],1),n("el-button",{attrs:{slot:"append",icon:"el-icon-search"},on:{click:t.clickSearch},slot:"append"})],1)],1),n("div",{staticClass:"bottom"},[n("el-table",{staticStyle:{width:"100%"},attrs:{data:t.users,resizable:!1}},[n("el-table-column",{attrs:{prop:"studentId",label:"学号","min-width":"140"}}),n("el-table-column",{attrs:{prop:"username",label:"姓名","min-width":"140"}}),n("el-table-column",{attrs:{prop:"phone",label:"手机号","min-width":"110"}}),n("el-table-column",{attrs:{label:"性别","min-width":"60"},scopedSlots:t._u([{key:"default",fn:function(e){return[t._v(" "+t._s(0==e.row.sex?"男":"女")+" ")]}}])}),n("el-table-column",{attrs:{prop:"school.name",label:"学校","min-width":"200"}}),n("el-table-column",{attrs:{prop:"dept.name",label:"所在系","min-width":"140"}}),n("el-table-column",{attrs:{prop:"aclass.name",label:"班级","min-width":"220"}}),n("el-table-column",{attrs:{prop:"balance",label:"余额","min-width":"100"}}),n("el-table-column",{attrs:{label:"禁用用户","min-width":"90"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-switch",{attrs:{value:1==e.row.state,"active-color":"#13ce66","inactive-color":"#ff4949"},on:{change:function(n){return t.edit(e.row)}}})]}}])}),n("el-table-column",{attrs:{label:"操作",width:"100"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-popconfirm",{attrs:{"confirm-button-text":"好的","cancel-button-text":"不用了",icon:"el-icon-info","icon-color":"red",title:"确定删除该学生吗?"},on:{confirm:function(n){return t.del(e.row.id)}}},[n("el-button",{attrs:{slot:"reference",type:"text",size:"small"},slot:"reference"},[n("i",{staticClass:"el-icon-delete",staticStyle:{color:"red"}})])],1)]}}])})],1)],1)])},s=[],a={name:"Student",methods:{clickSearch:function(){var t=this,e={};this.input?(e=1==this.select?{studentId:this.input}:{username:this.input},this.$get("/user",e).then((function(e){t.users=e.data.user,t.input=""}))):this.newList()},del:function(t){var e=this;this.$del("/user",{id:t}).then((function(t){e.$notifyMsg("成功",t.data.msg,"success"),e.newList()}))},edit:function(t){var e=this;0==t.state?t.state=1:t.state=0,this.$put("/user",{id:t.id,state:t.state}).then((function(t){e.$notifyMsg("成功",t.data.msg,"success"),e.newList()})).catch((function(t){e.$notifyMsg("失败",res.data.msg,"error")}))},newList:function(){var t=this;this.$get("/user").then((function(e){t.users=e.data.user}))}},data:function(){return{users:[],input:"",select:"1"}},created:function(){this.newList()}},i=a,c=(n("c715"),n("2877")),o=Object(c["a"])(i,l,s,!1,null,"35cca588",null);e["default"]=o.exports},"0898":function(t,e,n){},c715:function(t,e,n){"use strict";n("0898")}}]); 2 | //# sourceMappingURL=chunk-ba0bcef4.a521f20d.js.map -------------------------------------------------------------------------------- /campus-gang-web-master/dist/js/chunk-c45fdd3a.2518c487.js: -------------------------------------------------------------------------------- 1 | (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-c45fdd3a"],{"03a7":function(t,e,n){"use strict";n("85b6")},"1dde":function(t,e,n){var r=n("d039"),a=n("b622"),o=n("2d00"),i=a("species");t.exports=function(t){return o>=51||!r((function(){var e=[],n=e.constructor={};return n[i]=function(){return{foo:1}},1!==e[t](Boolean).foo}))}},"25f0":function(t,e,n){"use strict";var r=n("6eeb"),a=n("825a"),o=n("d039"),i=n("ad6d"),s="toString",c=RegExp.prototype,u=c[s],l=o((function(){return"/a/b"!=u.call({source:"a",flags:"b"})})),d=u.name!=s;(l||d)&&r(RegExp.prototype,s,(function(){var t=a(this),e=String(t.source),n=t.flags,r=String(void 0===n&&t instanceof RegExp&&!("flags"in c)?i.call(t):n);return"/"+e+"/"+r}),{unsafe:!0})},"65f0":function(t,e,n){var r=n("861d"),a=n("e8b5"),o=n("b622"),i=o("species");t.exports=function(t,e){var n;return a(t)&&(n=t.constructor,"function"!=typeof n||n!==Array&&!a(n.prototype)?r(n)&&(n=n[i],null===n&&(n=void 0)):n=void 0),new(void 0===n?Array:n)(0===e?0:e)}},"85b6":function(t,e,n){},b0c0:function(t,e,n){var r=n("83ab"),a=n("9bf2").f,o=Function.prototype,i=o.toString,s=/^\s*function ([^ (]*)/,c="name";r&&!(c in o)&&a(o,c,{configurable:!0,get:function(){try{return i.call(this).match(s)[1]}catch(t){return""}}})},b727:function(t,e,n){var r=n("0366"),a=n("44ad"),o=n("7b0b"),i=n("50c4"),s=n("65f0"),c=[].push,u=function(t){var e=1==t,n=2==t,u=3==t,l=4==t,d=6==t,f=7==t,p=5==t||d;return function(h,b,m,v){for(var g,y,w=o(h),x=a(w),k=r(b,m,3),S=i(x.length),E=0,A=v||s,_=e?A(h,S):n||f?A(h,0):void 0;S>E;E++)if((p||E in x)&&(g=x[E],y=k(g,E,w),t))if(e)_[E]=y;else if(y)switch(t){case 3:return!0;case 5:return g;case 6:return E;case 2:c.call(_,g)}else switch(t){case 4:return!1;case 7:c.call(_,g)}return d?-1:u||l?l:_}};t.exports={forEach:u(0),map:u(1),filter:u(2),some:u(3),every:u(4),find:u(5),findIndex:u(6),filterOut:u(7)}},d638:function(t,e,n){"use strict";n.r(e);var r=function(){var t=this,e=t.$createElement,n=t._self._c||e;return n("div",{staticClass:"content"},[n("el-table",{staticStyle:{width:"100%","margin-bottom":"20px"},attrs:{data:t.dataList,"row-key":"uuid",border:"","default-expand-all":!1,"tree-props":{children:"children",hasChildren:"hasChildren"}}},[n("el-table-column",{attrs:{prop:"name",label:"学校",sortable:"",width:"230"}}),n("el-table-column",{attrs:{prop:"deptname",label:"系",sortable:"",width:"180"}}),n("el-table-column",{attrs:{prop:"classesname",label:"班级"}}),n("el-table-column",{attrs:{label:"操作"},scopedSlots:t._u([{key:"default",fn:function(e){return[n("el-button",{attrs:{size:"mini"},on:{click:function(n){return t.handleEdit(e.$index,e.row)}}},[t._v("编辑 ")]),n("el-button",{attrs:{size:"mini",type:"danger"},on:{click:function(n){return t.handleDelete(e.$index,e.row)}}},[t._v("删除 ")]),n("el-button",{attrs:{size:"mini"},on:{click:function(n){return t.handleEdit(e.$index,e.row)}}},[t._v("增加 ")])]}}])})],1)],1)},a=[],o=(n("d3b7"),n("25f0"),n("d81d"),n("b0c0"),{name:"School",data:function(){return{schools:[]}},methods:{guid2:function(){function t(){return(65536*(1+Math.random())|0).toString(16).substring(1)}return t()+t()+"-"+t()+"-"+t()+"-"+t()+"-"+t()+t()+t()}},created:function(){var t=this;this.$get("/school").then((function(e){t.schools=e.data.school}))},computed:{dataList:function(){var t=this;return this.schools.map((function(e){for(var n=[],r=0;r1?arguments[1]:void 0)}})},e8b5:function(t,e,n){var r=n("c6b6");t.exports=Array.isArray||function(t){return"Array"==r(t)}}}]); 2 | //# sourceMappingURL=chunk-c45fdd3a.2518c487.js.map -------------------------------------------------------------------------------- /campus-gang-web-master/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "campus_help", 3 | "version": "0.1.0", 4 | "private": true, 5 | "scripts": { 6 | "serve": "vue-cli-service serve", 7 | "build": "vue-cli-service build" 8 | }, 9 | "dependencies": { 10 | "axios": "^0.21.1", 11 | "boqii-modal": "^1.1.4", 12 | "core-js": "^3.6.5", 13 | "element-ui": "^2.15.8", 14 | "js-md5": "^0.7.3", 15 | "nprogress": "^0.2.0", 16 | "vant": "^2.12.18", 17 | "vue": "^2.6.11", 18 | "vue-quill-editor": "^3.0.6", 19 | "vue-router": "^3.2.0", 20 | "vuex": "^3.4.0" 21 | }, 22 | "devDependencies": { 23 | "@vue/cli-plugin-babel": "~4.5.0", 24 | "@vue/cli-plugin-router": "~4.5.0", 25 | "@vue/cli-plugin-vuex": "~4.5.0", 26 | "@vue/cli-service": "~4.5.0", 27 | "less": "^3.0.4", 28 | "less-loader": "^5.0.0", 29 | "vue-template-compiler": "^2.6.11" 30 | }, 31 | "browserslist": [ 32 | "> 1%", 33 | "last 2 versions", 34 | "not dead" 35 | ] 36 | } 37 | -------------------------------------------------------------------------------- /campus-gang-web-master/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/public/favicon.ico -------------------------------------------------------------------------------- /campus-gang-web-master/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <%= htmlWebpackPlugin.options.title %> 9 | 10 | 11 | 14 |
15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /campus-gang-web-master/src/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/.DS_Store -------------------------------------------------------------------------------- /campus-gang-web-master/src/App.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 31 | 58 | -------------------------------------------------------------------------------- /campus-gang-web-master/src/api/notice/advise.js: -------------------------------------------------------------------------------- 1 | import request from '@/util/request' 2 | 3 | // 查询通知公告公告列表 4 | export function listAdvise(query) { 5 | return request({ 6 | url: '/notice/advise/list', 7 | method: 'get', 8 | params: query 9 | }) 10 | } 11 | 12 | // 查询通知公告公告详细 13 | export function getAdvise(noticeId) { 14 | return request({ 15 | url: '/notice/advise/' + noticeId, 16 | method: 'get' 17 | }) 18 | } 19 | 20 | // 新增通知公告公告 21 | export function addAdvise(data) { 22 | return request({ 23 | url: '/notice/advise', 24 | method: 'post', 25 | data: data 26 | }) 27 | } 28 | 29 | // 修改通知公告公告 30 | export function updateAdvise(data) { 31 | return request({ 32 | url: '/notice/advise', 33 | method: 'put', 34 | data: data 35 | }) 36 | } 37 | 38 | // 删除通知公告公告 39 | export function delAdvise(noticeId) { 40 | return request({ 41 | url: '/notice/advise/' + noticeId, 42 | method: 'delete' 43 | }) 44 | } 45 | -------------------------------------------------------------------------------- /campus-gang-web-master/src/api/remark/remark.js: -------------------------------------------------------------------------------- 1 | import request from '@/util/request' 2 | 3 | // 查询remark列表 4 | export function listRemark(query) { 5 | return request({ 6 | url: '/student/remark/list', 7 | method: 'get', 8 | params: query 9 | }) 10 | } 11 | 12 | // 查询remark详细 13 | export function getRemark(id) { 14 | return request({ 15 | url: '/student/remark/' + id, 16 | method: 'get' 17 | }) 18 | } 19 | 20 | // 新增remark 21 | export function addRemark(data) { 22 | return request({ 23 | url: '/student/remark', 24 | method: 'post', 25 | data: data 26 | }) 27 | } 28 | 29 | // 修改remark 30 | export function updateRemark(data) { 31 | return request({ 32 | url: '/student/remark', 33 | method: 'put', 34 | data: data 35 | }) 36 | } 37 | 38 | // 删除remark 39 | export function delRemark(id) { 40 | return request({ 41 | url: '/student/remark/' + id, 42 | method: 'delete' 43 | }) 44 | } 45 | -------------------------------------------------------------------------------- /campus-gang-web-master/src/api/student/stuage.js: -------------------------------------------------------------------------------- 1 | import request from '@/util/request' 2 | 3 | // 查询学生管理列表 4 | export function listStuage(query) { 5 | return request({ 6 | url: '/student/stuage/list', 7 | method: 'get', 8 | params: query 9 | }) 10 | } 11 | 12 | // 查询学生管理详细 13 | export function getStuage(id) { 14 | return request({ 15 | url: '/student/stuage/' + id, 16 | method: 'get' 17 | }) 18 | } 19 | 20 | // 新增学生管理 21 | export function addStuage(data) { 22 | return request({ 23 | url: '/student/stuage', 24 | method: 'post', 25 | data: data 26 | }) 27 | } 28 | 29 | // 修改学生管理 30 | export function updateStuage(data) { 31 | return request({ 32 | url: '/student/stuage', 33 | method: 'put', 34 | data: data 35 | }) 36 | } 37 | 38 | // 删除学生管理 39 | export function delStuage(id) { 40 | return request({ 41 | url: '/student/stuage/' + id, 42 | method: 'delete' 43 | }) 44 | } 45 | -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/.DS_Store -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/icon.png -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/images/pic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/images/pic.jpg -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/images/pic01.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/images/pic01.png -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/images/pic02.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/images/pic02.png -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/images/pic03.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/images/pic03.png -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/img/bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/img/bg.jpg -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/img/emoji.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/img/emoji.png -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/img/test.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/img/test.jpg -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/img/test1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/img/test1.jpg -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/logo.jpg -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/logo.png -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/logo_transparent.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/logo_transparent.png -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/logo_transparent1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/logo_transparent1.png -------------------------------------------------------------------------------- /campus-gang-web-master/src/assets/z_logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/assets/z_logo.png -------------------------------------------------------------------------------- /campus-gang-web-master/src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | import router from './router' 4 | import store from './store' 5 | import md5 from 'js-md5' 6 | 7 | import'./plugin' // plugins 8 | 9 | //引入element ui 10 | import ElementUI from 'element-ui' 11 | import 'element-ui/lib/theme-chalk/index.css' 12 | Vue.use(ElementUI) 13 | 14 | //将request注册到全局 15 | import request from '@/util/request' 16 | Vue.prototype.$request = request; 17 | 18 | // 富文本组件 19 | import VueQuillEditor from 'vue-quill-editor' 20 | import 'quill/dist/quill.core.css' 21 | import 'quill/dist/quill.snow.css' 22 | import 'quill/dist/quill.bubble.css' 23 | Vue.use(VueQuillEditor) 24 | 25 | 26 | 27 | //阻止启动生产消息 28 | 29 | Vue.prototype.$md5 = md5; 30 | new Vue({ 31 | router, 32 | store, 33 | render: h => h(App), 34 | methods: { 35 | getData(){ 36 | var param = { 37 | params:{ 38 | devid:'8479593759372', 39 | user:'akdi', 40 | key:'8aad46f68c77e83ee2bcc3d9f9ec818a' 41 | } 42 | } 43 | this.$http.get('/campus-gang-web-master',param).then(res=>{ 44 | console.log(res) 45 | }) 46 | } 47 | } 48 | }).$mount('#app') 49 | 50 | 51 | 52 | 53 | 54 | -------------------------------------------------------------------------------- /campus-gang-web-master/src/plugin/index.js: -------------------------------------------------------------------------------- 1 | // 注册element-ui组件库 2 | import Vue from 'vue' 3 | import ElementUI from 'element-ui' 4 | import 'element-ui/lib/theme-chalk/index.css' 5 | import Vant from 'vant' 6 | import 'vant/lib/index.css' 7 | Vue.use(ElementUI); 8 | Vue.use(Vant) 9 | 10 | // 注册myPlugin插件 11 | import myPlugin from "./myPlugin"; 12 | 13 | Vue.use(myPlugin) -------------------------------------------------------------------------------- /campus-gang-web-master/src/plugin/myPlugin.js: -------------------------------------------------------------------------------- 1 | //加载自己开发的插件 2 | import {del, get, post, put} from "../util/request"; 3 | import th from "element-ui/src/locale/lang/th"; 4 | 5 | export default { 6 | // 插件中,必须包含一个install方法 7 | install: function (Vue) { 8 | //注入组件选项 9 | Vue.mixin({ 10 | methods: { 11 | //get方法 12 | $get(url, params) { 13 | return get(url, params); 14 | }, 15 | //post方法 16 | $post(url, params) { 17 | return post(url, params); 18 | }, 19 | $put(url, params) { 20 | return put(url, params); 21 | }, 22 | $del(url, params) { 23 | return del(url, params) 24 | }, 25 | $msg(message, type, duration = 2000) { 26 | this.$message({ 27 | message: message, 28 | type: type, 29 | duration: duration, 30 | showClose: true 31 | }); 32 | }, 33 | $notifyMsg(title, message, type, duration = 2500) { 34 | this.$notify({ 35 | title: title, 36 | message: message, 37 | type: type, 38 | duration: duration 39 | }) 40 | } 41 | } 42 | }) 43 | } 44 | } -------------------------------------------------------------------------------- /campus-gang-web-master/src/router/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import VueRouter from 'vue-router' 3 | 4 | Vue.use(VueRouter) 5 | 6 | const routes = [ 7 | { 8 | path: "*", 9 | component: () => import("@v/Error.vue") 10 | }, 11 | 12 | //用户 13 | { 14 | path: "/", 15 | redirect: "/login" 16 | }, 17 | 18 | { 19 | path: "/login", 20 | component: () => import("@v/user/Login.vue") 21 | }, 22 | 23 | { 24 | path: "/home", 25 | component: () => import("@v/user/Home.vue"), 26 | children: [ 27 | { 28 | path: "/", 29 | meta: {title: '首页'}, 30 | component: () => import("@v/user/children/Index.vue") 31 | }, 32 | { 33 | path: "task", 34 | meta: {title: "发布任务"}, 35 | component:()=>import('@v/user/children/Task.vue') 36 | }, 37 | { 38 | path: "published", 39 | meta: {title: "已发布任务"}, 40 | component:()=>import('@v/user/children/Published.vue') 41 | }, 42 | { 43 | path: "accepted", 44 | meta: {title: "已接收任务"}, 45 | component:()=>import('@v/user/children/Accepted.vue') 46 | }, 47 | { 48 | path: "accept", 49 | meta: {title: "已接收任务"}, 50 | component:()=>import('@v/user/children/Accept.vue') 51 | }, 52 | { 53 | path: "myProfile", 54 | meta: {title: "个人信息"}, 55 | component:()=>import('@v/user/children/MyProfile.vue') 56 | }, 57 | { 58 | path: "noticeu", 59 | meta: {title: "查看公告"}, 60 | component:()=>import('@v/notice/adviseuser.vue') 61 | }, 62 | { 63 | name:"myremark", 64 | path:"myremark", 65 | meta:{title:"我的评价"}, 66 | component:() => import("@v/remark/myremark.vue") 67 | }, 68 | { 69 | name:"userremark", 70 | path:"userremark", 71 | meta:{title:"评价我的"}, 72 | component:() => import("@v/remark/userremark.vue") 73 | }, 74 | ] 75 | }, 76 | 77 | //管理员 78 | { 79 | path: "/admin", 80 | component: () => import("@v/admin/Login.vue"), 81 | }, 82 | { 83 | path: "/admin/home", 84 | component: () => import("@v/admin/Home.vue"), 85 | children:[ 86 | { 87 | path: "/", 88 | meta:{title:"首页"}, 89 | component:()=>import("@v/admin/children/Index.vue") 90 | }, 91 | { 92 | name: "adminSchool", 93 | path:"school", 94 | meta:{title:"学校信息"}, 95 | component:() => import("@v/admin/children/School.vue") 96 | }, 97 | { 98 | name:"adminStudent", 99 | path:"student", 100 | meta:{title:"用户信息"}, 101 | component:() => import("@v/admin/children/Student.vue") 102 | }, 103 | { 104 | name:"task", 105 | path:"task", 106 | meta:{title:"任务信息"}, 107 | component:() => import("@v/admin/children/Task.vue") 108 | }, 109 | { 110 | name:"notice", 111 | path:"notice", 112 | meta:{title:"公告管理"}, 113 | component:() => import("@v/notice/advise.vue") 114 | }, 115 | { 116 | name:"remark", 117 | path:"remark", 118 | meta:{title:"评价信息"}, 119 | component:() => import("@v/remark/remark.vue") 120 | }, 121 | ] 122 | }, 123 | ] 124 | 125 | const router = new VueRouter({ 126 | routes 127 | }) 128 | 129 | export default router 130 | -------------------------------------------------------------------------------- /campus-gang-web-master/src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | 4 | Vue.use(Vuex) 5 | 6 | import admin from "./module/admin"; 7 | import user from "./module/user"; 8 | import theme from "./module/theme"; 9 | export default new Vuex.Store({ 10 | // state中存放的就是全局共享的数据 11 | // state提供唯一的公共数据源,所有共享的数据都要统一放到Store的State中进行存储 12 | state: { 13 | active:0 14 | }, 15 | // Mutation用于变更Store中的数据 16 | // 只能通过mutation变更store数据,不可以直接操作store中的数据 17 | mutations: { 18 | setActive(state,val){ 19 | state.active = val 20 | } 21 | }, 22 | // Action用于处理异步任务 23 | // 如果通过异步操作变更数据,必须通过Action,而不能使用mutations,但是在action中还是要通过触发 24 | // Mutation的方式间接变更数据 25 | actions: { 26 | }, 27 | modules: { 28 | admin,user,theme 29 | }, 30 | //相当于 31 | getters:{ 32 | 33 | } 34 | }) 35 | -------------------------------------------------------------------------------- /campus-gang-web-master/src/store/module/admin.js: -------------------------------------------------------------------------------- 1 | export default { 2 | namespaced:true, 3 | state:{ 4 | admin:{ 5 | 6 | } 7 | }, 8 | // Mutation用于变更Store中的数据 9 | // 只能通过mutation变更store数据,不可以直接操作store中的数据 10 | mutations:{ 11 | // 该方法用于对admin对象赋值 12 | // state是当前的state val是传递过来的值 13 | setAdmin(state,val){ 14 | state.admin = val 15 | } 16 | } 17 | } -------------------------------------------------------------------------------- /campus-gang-web-master/src/store/module/theme.js: -------------------------------------------------------------------------------- 1 | export default { 2 | // 设置为私有命名空间 3 | namespaced:true, 4 | state:{ 5 | /*theme:{ 6 | blue:"#101f30", 7 | gley:"#2b333e", 8 | red :"#7c1823", 9 | black:"#000000", 10 | green:"#15231b" 11 | }*/ 12 | theme:[ 13 | { 14 | name: "白色主题", 15 | value: "#FFFFFF", 16 | color: '#000' 17 | }, 18 | { 19 | name:"蓝色主题", 20 | value:"#101f30", 21 | color:"#fff" 22 | }, 23 | { 24 | name:"灰色主题", 25 | value:"#2b333e", 26 | color:"#fff" 27 | }, 28 | { 29 | name:"黑色主题", 30 | value:"#000000", 31 | color:"#fff" 32 | }, 33 | { 34 | name:"绿色主题", 35 | value:"#314a43", 36 | color:"#fff" 37 | } 38 | ] 39 | } 40 | } -------------------------------------------------------------------------------- /campus-gang-web-master/src/store/module/user.js: -------------------------------------------------------------------------------- 1 | export default { 2 | namespaced:true, 3 | state:{ 4 | user:{ 5 | } 6 | }, 7 | mutations:{ 8 | // 该方法用于对admin对象赋值 9 | setUser(state,val){ 10 | state.user = val 11 | } 12 | } 13 | } -------------------------------------------------------------------------------- /campus-gang-web-master/src/util/date.js: -------------------------------------------------------------------------------- 1 | export function formatDate(date, fmt) { 2 | if (/(y+)/.test(fmt)) { 3 | fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 - RegExp.$1.length)); 4 | } 5 | let o = { 6 | 'M+': date.getMonth() + 1, 7 | 'd+': date.getDate(), 8 | 'h+': date.getHours(), 9 | 'm+': date.getMinutes(), 10 | 's+': date.getSeconds() 11 | }; 12 | for (let k in o) { 13 | if (new RegExp(`(${k})`).test(fmt)) { 14 | let str = o[k] + ''; 15 | fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? str : padLeftZero(str)); 16 | } 17 | } 18 | return fmt; 19 | }; 20 | 21 | function padLeftZero(str) { 22 | return ('00' + str).substr(str.length); 23 | } -------------------------------------------------------------------------------- /campus-gang-web-master/src/util/request.js: -------------------------------------------------------------------------------- 1 | // 工具包 2 | import axios from "axios" 3 | import NProgress from 'nprogress' 4 | import 'nprogress/nprogress.css' 5 | 6 | const Qs = require("querystring"); 7 | 8 | /** 9 | * instance封装axios 10 | */ 11 | var instance = axios.create({ 12 | // 本地測試 13 | baseURL: 'http://localhost:8080', 14 | // 超时时间 15 | timeout: 20000 16 | }); 17 | 18 | // 添加请求拦截器 19 | instance.interceptors.request.use(function (config) { 20 | NProgress.start();//开启 21 | // 在发送请求之前做些什么 22 | return config; 23 | }, function (error) { 24 | NProgress.done();//关闭 25 | // 对请求错误做些什么 26 | return Promise.reject(error); 27 | }); 28 | 29 | // 添加响应拦截器 30 | instance.interceptors.response.use(function (response) { 31 | NProgress.done();//关闭 32 | // 对响应数据做点什么 33 | return response; 34 | }, function (error) { 35 | NProgress.done();//关闭 36 | // 对响应错误做点什么 37 | return Promise.reject(error); 38 | }); 39 | 40 | /** 41 | * service封装axios 42 | */ 43 | var service = axios.create({ 44 | // 本地測試 45 | baseURL: 'http://localhost:8080', 46 | // headers:{ 47 | // 'Content-Type':'application/json;charset=UTF-8' 48 | // }, 49 | // 超时时间 50 | timeout: 20000 51 | }); 52 | 53 | // 添加响应拦截器 54 | service.interceptors.response.use(function (response) { 55 | NProgress.done();//关闭 56 | // 对响应数据做点什么 57 | return response; 58 | }, function (error) { 59 | NProgress.done();//关闭 60 | // 对响应错误做点什么 61 | return Promise.reject(error); 62 | }); 63 | 64 | // 添加请求拦截器 65 | service.interceptors.request.use(function (config) { 66 | NProgress.start();//开启 67 | // 在发送请求之前做些什么 68 | return config; 69 | }, function (error) { 70 | NProgress.done();//关闭 71 | // 对请求错误做些什么 72 | return Promise.reject(error); 73 | }); 74 | 75 | 76 | 77 | let get = function (url, params) { 78 | return instance.get(url, {params}); 79 | } 80 | let post = function (url, params) { 81 | //form 82 | return instance.post(url, Qs.stringify(params)); 83 | } 84 | let put = function (url, params) { 85 | return instance.put(url, Qs.stringify(params)); 86 | } 87 | let del = function (url, params) { 88 | return instance.delete(url, {params}); 89 | } 90 | 91 | // 导出get和post方法 92 | export { 93 | get, put, del, post 94 | } 95 | 96 | export default service 97 | 98 | -------------------------------------------------------------------------------- /campus-gang-web-master/src/util/util.js: -------------------------------------------------------------------------------- 1 | export { 2 | setCookie, 3 | getCookie, 4 | delCookie, 5 | } 6 | 7 | /** 8 | * 設置Cookie 9 | * 固定30天 10 | * @param value 11 | * @param name 12 | */ 13 | function setCookie(name, value) { 14 | var days = 30; 15 | var date = new Date(); 16 | date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 17 | var expires = "; expires=" + date.toGMTString(); 18 | document.cookie = name + "=" + value + expires + "; path=/"; 19 | } 20 | 21 | /** 22 | * 獲取Cookie 23 | * @param name 24 | */ 25 | function getCookie(name) { 26 | var nameEQ = name + "="; 27 | var ca = document.cookie.split(';'); 28 | for (var i = 0; i < ca.length; i++) { 29 | var c = ca[i]; 30 | while (c.charAt(0) === ' ') c = c.substring(1, c.length); 31 | if (c.indexOf(nameEQ) === 0) return c.substring(nameEQ.length, c.length); 32 | } 33 | return null; 34 | } 35 | 36 | /** 37 | * 清除Cookie 38 | * @param name 39 | */ 40 | function delCookie(name) { 41 | var days = 0; 42 | var date = new Date(); 43 | date.setTime(date.getTime() + days); 44 | var expires = "; expires=" + date.toGMTString(); 45 | 46 | document.cookie = name + "=" + expires + "; path=/"; 47 | } -------------------------------------------------------------------------------- /campus-gang-web-master/src/views/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/campus-gang-web-master/src/views/.DS_Store -------------------------------------------------------------------------------- /campus-gang-web-master/src/views/Error.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 23 | 24 | -------------------------------------------------------------------------------- /campus-gang-web-master/src/views/admin/Login.vue: -------------------------------------------------------------------------------- 1 | 32 | 33 | 102 | 103 | -------------------------------------------------------------------------------- /campus-gang-web-master/vue.config.js: -------------------------------------------------------------------------------- 1 | // 添加全局配置文件 2 | 3 | //引入path 4 | const path = require('path'); 5 | module.exports = { 6 | publicPath: './', 7 | // 输出文件目录 8 | outputDir: 'dist', 9 | //关闭esList语法检测功能 10 | lintOnSave: false, 11 | // 开发服务器相关的配置 12 | devServer:{ 13 | // 配置静态资源目录 14 | contentBase : path.join(__dirname,'public'), 15 | //默认启动打开浏览器 16 | open: true, 17 | // 设置开发服务器的端口号 18 | port: 8848 19 | }, 20 | // 配置webpack相关 21 | configureWebpack:{ 22 | // 解析 23 | resolve:{ 24 | // 配置路径别名 25 | alias:{ 26 | // 全部视图 __dirname当前项目 27 | '@v': path.resolve(__dirname,'src/views'), 28 | // 全部组件 29 | "@c": path.resolve(__dirname,'src/components'), 30 | //src路径 31 | "@s": path.resolve(__dirname,'src'), 32 | 33 | "@a": path.resolve(__dirname,'src/assets'), 34 | } 35 | } 36 | } 37 | } -------------------------------------------------------------------------------- /picture/picture1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture1.png -------------------------------------------------------------------------------- /picture/picture10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture10.png -------------------------------------------------------------------------------- /picture/picture11.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture11.png -------------------------------------------------------------------------------- /picture/picture12.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture12.png -------------------------------------------------------------------------------- /picture/picture13.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture13.png -------------------------------------------------------------------------------- /picture/picture14.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture14.png -------------------------------------------------------------------------------- /picture/picture15.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture15.png -------------------------------------------------------------------------------- /picture/picture16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture16.png -------------------------------------------------------------------------------- /picture/picture17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture17.png -------------------------------------------------------------------------------- /picture/picture18.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture18.png -------------------------------------------------------------------------------- /picture/picture19.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture19.png -------------------------------------------------------------------------------- /picture/picture2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture2.png -------------------------------------------------------------------------------- /picture/picture20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture20.png -------------------------------------------------------------------------------- /picture/picture21.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture21.png -------------------------------------------------------------------------------- /picture/picture22.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture22.png -------------------------------------------------------------------------------- /picture/picture23.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture23.png -------------------------------------------------------------------------------- /picture/picture3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture3.png -------------------------------------------------------------------------------- /picture/picture4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture4.png -------------------------------------------------------------------------------- /picture/picture5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture5.png -------------------------------------------------------------------------------- /picture/picture6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture6.png -------------------------------------------------------------------------------- /picture/picture7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture7.png -------------------------------------------------------------------------------- /picture/picture8.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture8.png -------------------------------------------------------------------------------- /picture/picture9.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/giteecode/campusRunningPublic/7465f91981ef8a66aa85380f0af5f20704bdf824/picture/picture9.png --------------------------------------------------------------------------------