From 399b6b3bb52f24c03a5042c61cb74513b807f861 Mon Sep 17 00:00:00 2001 From: musteven <1009173794@qq.com> Date: Sun, 9 Mar 2025 11:43:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AD=A6=E7=94=9F=E6=B3=A8=E5=86=8C=E5=92=8C?= =?UTF-8?q?=E4=B8=AA=E4=BA=BA=E4=BF=A1=E6=81=AF=E4=BF=AE=E6=94=B9=E6=A8=A1?= =?UTF-8?q?=E5=9D=97=E5=AE=8C=E6=88=90=EF=BC=8C=E7=AE=80=E5=8C=96=E4=BA=86?= =?UTF-8?q?=E9=83=A8=E5=88=86=E4=B8=8D=E5=BF=85=E8=A6=81=E7=9A=84=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AES-front/src/api/user.js | 5 + .../src/components/person-setting/index.vue | 194 ++++++++++++++++++ AES-front/src/store/modules/user/index.js | 9 +- AES-front/src/views/user/route.js | 12 ++ AES-front/src/views/user/signup/index.vue | 21 -- .../global/config/HttpInterceptorConfig.java | 2 +- .../aes/user/controller/UserController.java | 30 +-- .../aes/user/dao/impl/UserDaoImpl.java | 2 +- .../aes/user/service/UserServiceI.java | 4 +- .../user/service/impl/UserServiceImpl.java | 8 +- 10 files changed, 224 insertions(+), 63 deletions(-) create mode 100644 AES-front/src/components/person-setting/index.vue diff --git a/AES-front/src/api/user.js b/AES-front/src/api/user.js index 2098de5..a472469 100644 --- a/AES-front/src/api/user.js +++ b/AES-front/src/api/user.js @@ -3,8 +3,13 @@ import { request, longRequest } from '@/utils' export default { login: (data) => request.post('/login/student', data, { noNeedToken: true }), getAccount: () => request.get('/account'), + findStudentByStudentNo: (data) => request.post('/user/findStudentByStudentNo', data, { noNeedToken: true }), + + findStudentByusername: (data) => //ÒÀ¾ÝÓû§Ãû»ñȡѧÉúÐÅϢ + request.post('/user/findStudentByusername', data, { noNeedToken: true }), + confirmQuestionAnswer: (data) => request.post('/user/confirmQuestionAnswer', data, { noNeedToken: true }), resetPassword: (data) => diff --git a/AES-front/src/components/person-setting/index.vue b/AES-front/src/components/person-setting/index.vue new file mode 100644 index 0000000..5576bdd --- /dev/null +++ b/AES-front/src/components/person-setting/index.vue @@ -0,0 +1,194 @@ + + + diff --git a/AES-front/src/store/modules/user/index.js b/AES-front/src/store/modules/user/index.js index cff8641..91cec88 100644 --- a/AES-front/src/store/modules/user/index.js +++ b/AES-front/src/store/modules/user/index.js @@ -23,21 +23,18 @@ export const useUserStore = defineStore('user', { getId() { return isAdminEnd() ? this.adminInfo.id : this.userInfo.id }, - getSchoolId() { - return isAdminEnd() ? this.adminInfo.schoolId : this.userInfo.schoolId - }, getRole() { return (isAdminEnd() ? this.adminInfo.role : this.userInfo.role) || [] }, // 获取包括User端用户和Admin端用户账户信息 async getAccountInfo() { const res = await api.getAccount() - const { username, name, role, id, schoolId } = res.data + const { username, name, role, id} = res.data try { if (isAdminEnd()) { - this.adminInfo = { username, name, role: [role], id, schoolId } + this.adminInfo = { username, name, role: [role], id} } else { - this.userInfo = { username, name, role: [role], id, schoolId } + this.userInfo = { username, name, role: [role], id} } return Promise.resolve(res.data) diff --git a/AES-front/src/views/user/route.js b/AES-front/src/views/user/route.js index a5c5b5c..27ddaca 100644 --- a/AES-front/src/views/user/route.js +++ b/AES-front/src/views/user/route.js @@ -100,5 +100,17 @@ export default { keepAlive: true, }, }, + { + name: 'PersonSetting', + path: 'person-setting', + component: () => import('./person-setting/index.vue'), + meta: { + title: '个人设置', + icon: 'ic:baseline-table-view', + role: ['student'], + requireAuth: true, + keepAlive: true, + }, + }, ], } diff --git a/AES-front/src/views/user/signup/index.vue b/AES-front/src/views/user/signup/index.vue index 693232b..0b07f51 100644 --- a/AES-front/src/views/user/signup/index.vue +++ b/AES-front/src/views/user/signup/index.vue @@ -10,15 +10,6 @@ label-width="300px" >
- - - { - const res = await api.getSchoolByschoolName({ - name: query, - }) - schoolOptions.value = res.data.map((item) => ({ - label: item.name, - value: item.id + '', - })) -} - const findExistUser = async () => { const { studentNo } = formValue.value const studentNoVal = studentNo.trim() diff --git a/AES/src/main/java/com/example/aes/global/config/HttpInterceptorConfig.java b/AES/src/main/java/com/example/aes/global/config/HttpInterceptorConfig.java index 8427bf4..a64c1a0 100644 --- a/AES/src/main/java/com/example/aes/global/config/HttpInterceptorConfig.java +++ b/AES/src/main/java/com/example/aes/global/config/HttpInterceptorConfig.java @@ -21,7 +21,7 @@ public class HttpInterceptorConfig extends WebMvcConfigurationSupport { .addPathPatterns("/api/**") //拦截所有请求,判断token是否合法决定是否需要登录 .excludePathPatterns("/api/login/student","/api/login/admin","/api/login","/api/user/signUser", "/api/user" + - "/findUserByStudentNoSchoolId","/api/school/getSchoolByName","/api/adminusers/findAdminuserByno","/api/adminusers/findAdminuserByAccountInRePwInfo", + "/findStudentByusername","/api/user/findStudentByStudentNo","/api/adminusers/findAdminuserByno","/api/adminusers/findAdminuserByAccountInRePwInfo", "/api/adminusers" + "/signTeacher", "/api/adminusers" + diff --git a/AES/src/main/java/com/example/aes/user/controller/UserController.java b/AES/src/main/java/com/example/aes/user/controller/UserController.java index a7f2d1a..db0bf9e 100644 --- a/AES/src/main/java/com/example/aes/user/controller/UserController.java +++ b/AES/src/main/java/com/example/aes/user/controller/UserController.java @@ -169,32 +169,6 @@ public class UserController { } } - @PostMapping("/findUserByStudentNoSchoolId") - public RespBean findUserByStudentNoSchoolId(@RequestBody Users user, HttpServletRequest request) // 根据学号学校Id获取学生的信息 - { - String studentNo = user.getStudentNo(); -// int schoolId = user.getSchoolId(); - DecodeToken decodeToken = null; - try { - decodeToken = new DecodeToken(request); - } catch (JWTDecodeException ignored) { - } - ; - if (decodeToken != null) { // 需要修改 - String role = decodeToken.getRole(); - if (role.equals("student") && !decodeToken.getStudentNo().equals(studentNo)) { - return RespBean.error("请尝试安全操作"); - } - user = userService.findUserByStudentNoSchoolId(studentNo); // 用户信息 - if (user != null) { - return RespBean.ok("获取学生信息成功", user); - } else { - return RespBean.error("学生学号不存在!"); - } - } else { - return RespBean.error("请先登录。"); - } - } // 通过学生学号查找学生信息 @PostMapping("/findStudentByStudentNo") @@ -219,12 +193,12 @@ public class UserController { Users pmuser = userService.findStudentByusername(user.getUsername()); if (pmuser == null) { - Users u = userService.findUserByStudentNoSchoolId(user.getStudentNo()); // 用户信息 + Users u = userService.findUserByStudentNo(user.getStudentNo()); // 用户信息 if (u != null) { if (StringUtils.isBlank(u.getUsername())) { user.setSessionId(user.getSessionId().substring(64)); // user.setPassword(getBCryptPassword(user.getPassword())); - boolean results = userService.updateSignStudent(user); + boolean results = userService.updateSignStudent(user);// 更新注册数据 if (results) { return RespBean.ok("修改学生注册信息成功"); } else { diff --git a/AES/src/main/java/com/example/aes/user/dao/impl/UserDaoImpl.java b/AES/src/main/java/com/example/aes/user/dao/impl/UserDaoImpl.java index e704268..38093ac 100644 --- a/AES/src/main/java/com/example/aes/user/dao/impl/UserDaoImpl.java +++ b/AES/src/main/java/com/example/aes/user/dao/impl/UserDaoImpl.java @@ -116,7 +116,7 @@ public class UserDaoImpl extends BaseDaoImpl implements UserDaoI { @Override public Users getUserByUsername(String username) { - String hql = "from Users where username= '" + username + "'"; + String hql = "from Users where username= '" + username + "'"; return this.get(hql); } diff --git a/AES/src/main/java/com/example/aes/user/service/UserServiceI.java b/AES/src/main/java/com/example/aes/user/service/UserServiceI.java index c811e29..47e55f6 100644 --- a/AES/src/main/java/com/example/aes/user/service/UserServiceI.java +++ b/AES/src/main/java/com/example/aes/user/service/UserServiceI.java @@ -6,7 +6,9 @@ import com.example.aes.user.model.Json; import com.example.aes.user.model.PMUser; import com.example.aes.user.model.Users; import org.springframework.security.core.userdetails.UserDetails; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.util.List; public interface UserServiceI { @@ -55,7 +57,7 @@ public interface UserServiceI { public List findStudentsByCondition(String studentNo, String chineseName, String stu_userName); - public Users findUserByStudentNoSchoolId(String studentNo); + public Users findUserByStudentNo(String studentNo); public boolean updateSignStudent(PMUser user);// 修改学生注册信息 diff --git a/AES/src/main/java/com/example/aes/user/service/impl/UserServiceImpl.java b/AES/src/main/java/com/example/aes/user/service/impl/UserServiceImpl.java index 8e09571..c2860c9 100644 --- a/AES/src/main/java/com/example/aes/user/service/impl/UserServiceImpl.java +++ b/AES/src/main/java/com/example/aes/user/service/impl/UserServiceImpl.java @@ -374,11 +374,10 @@ public class UserServiceImpl implements UserServiceI { } @Override - public Users findUserByStudentNoSchoolId(String studentNo) { + public Users findUserByStudentNo(String studentNo) { // TODO Auto-generated method stub // TODO Auto-generated method stub - String hql = "from Users where studentNo='" + studentNo - + "' and schoolId='" ; + String hql = "from Users where studentNo='" + studentNo + "'"; Users user = userDao.get(hql); if (user != null) { return user; @@ -415,8 +414,7 @@ public class UserServiceImpl implements UserServiceI { String time = dateFormat.format(createDate); // TODO Auto-generated method stub String hql = "update Users set banji='" + user.getBanji() - + "'where studentNo='" + user.getStudentNo() - + "' and schoolId='" ; + + "'where studentNo='" + user.getStudentNo(); int result = userDao.executeHql(hql); if (result == 1) return true;