From 27f267cb3dcf609240b1cfb53b3e5942ba229462 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AC=A3=E5=8D=97=E7=A7=91=E6=8A=80?= Date: Wed, 12 Mar 2025 21:57:53 +0800 Subject: [PATCH 1/6] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E6=95=99=E7=A8=8B?= =?UTF-8?q?=E8=A7=86=E9=A2=91.md=20(#300)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 57c8241a..793994ad 100644 --- a/README.md +++ b/README.md @@ -233,7 +233,7 @@ server: 本项目支持以下三种部署方式,您可根据实际需求选择。 本项目的文档主要是`文字版本`的教程,如果你想要`视频版本` -的教程,您可以学习一下[这个大佬的手把手教程](https://www.bilibili.com/video/BV1gePuejEvT)。 +的教程,您可以学习一下[这个大佬的手把手教程](https://www.bilibili.com/video/BV1GvQWYZEd2)。 如果你能把`文字版本的教程`和`视频版本的教程`结合起来一起看,可以让你更快上手。 @@ -378,4 +378,4 @@ VAD: Star History Chart - \ No newline at end of file + From 29d59b3974d793367bedbd90afb332817370e3a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AC=A3=E5=8D=97=E7=A7=91=E6=8A=80?= Date: Wed, 12 Mar 2025 22:12:33 +0800 Subject: [PATCH 2/6] Main add video (#301) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 更新教程视频.md * Update README.md --- README.md | 9 ++------- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index 793994ad..652b97bd 100644 --- a/README.md +++ b/README.md @@ -232,14 +232,9 @@ server: 本项目支持以下三种部署方式,您可根据实际需求选择。 -本项目的文档主要是`文字版本`的教程,如果你想要`视频版本` -的教程,您可以学习一下[这个大佬的手把手教程](https://www.bilibili.com/video/BV1GvQWYZEd2)。 - -如果你能把`文字版本的教程`和`视频版本的教程`结合起来一起看,可以让你更快上手。 - 1. [Docker 快速部署](./docs/Deployment.md) -适合快速体验的普通用户,不需过多环境配置。缺点是,拉取镜像有点慢。 +适合快速体验的普通用户,不需过多环境配置。缺点是,拉取镜像有点慢。视频教程可参考[美女大佬教你Docker部署](https://www.bilibili.com/video/BV1RNQnYDE5t) 2. [借助 Docker 环境运行部署](./docs/Deployment.md#%E6%96%B9%E5%BC%8F%E4%BA%8C%E5%80%9F%E5%8A%A9docker%E7%8E%AF%E5%A2%83%E8%BF%90%E8%A1%8C%E9%83%A8%E7%BD%B2) @@ -249,7 +244,7 @@ server: 适合熟悉`Conda` 环境或希望从零搭建运行环境的用户。 -对于对响应速度要求较高的场景,推荐使用本地源码运行方式以降低额外开销。 +对于对响应速度要求较高的场景,推荐使用本地源码运行方式以降低额外开销。视频教程可参考[帅哥大佬教你源码部署](https://www.bilibili.com/video/BV1GvQWYZEd2) ### 二、[固件编译](./docs/firmware-build.md) From c458a1b59a8571e4ad578a41d629e2f11676bdf6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=AC=A3=E5=8D=97=E7=A7=91=E6=8A=80?= Date: Wed, 12 Mar 2025 23:31:59 +0800 Subject: [PATCH 3/6] Test login api (#304) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 优化登录注册流程,跑通注册登录、接口 (#297) * fix manager-api bug * 优化登录注册流程,跑通注册登录、接口 * update package * update:第一个注册的用户是超级管理员 --------- Co-authored-by: zhisheng Co-authored-by: hrz <1710360675@qq.com> --- .../security/controller/LoginController.java | 7 +-- .../modules/security/dto/LoginDTO.java | 2 +- .../sys/controller/SysUserController.java | 1 - .../modules/sys/service/SysUserService.java | 18 ------- .../sys/service/impl/SysUserServiceImpl.java | 51 ++++++------------- .../resources/i18n/messages_en_US.properties | 2 +- .../resources/i18n/messages_zh_CN.properties | 4 +- .../resources/i18n/messages_zh_TW.properties | 2 +- .../main/resources/mapper/sys/SysUserDao.xml | 11 ---- main/manager-web/package-lock.json | 7 ++- main/manager-web/package.json | 3 +- main/manager-web/src/apis/api.js | 2 +- main/manager-web/src/views/login.vue | 16 ++++-- main/manager-web/src/views/register.vue | 12 +++-- main/manager-web/vue.config.js | 19 +++++-- 15 files changed, 65 insertions(+), 92 deletions(-) diff --git a/main/manager-api/src/main/java/xiaozhi/modules/security/controller/LoginController.java b/main/manager-api/src/main/java/xiaozhi/modules/security/controller/LoginController.java index 3f549ffb..85c5952b 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/security/controller/LoginController.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/security/controller/LoginController.java @@ -51,7 +51,7 @@ public class LoginController { throw new RenException("验证码错误,请重新获取"); } // 按照用户名获取用户 - SysUserDTO userDTO = sysUserService.getByUsername(login.getMobile()); + SysUserDTO userDTO = sysUserService.getByUsername(login.getUsername()); // 判断用户是否存在 if (userDTO == null) { throw new RenException("请检测用户和密码是否输入错误"); @@ -72,15 +72,16 @@ public class LoginController { throw new RenException("验证码错误,请重新获取"); } // 按照用户名获取用户 - SysUserDTO userDTO = sysUserService.getByUsername(login.getMobile()); + SysUserDTO userDTO = sysUserService.getByUsername(login.getUsername()); if (userDTO != null){ throw new RenException("此手机号码已经注册过"); } userDTO = new SysUserDTO(); - userDTO.setUsername(login.getMobile()); + userDTO.setUsername(login.getUsername()); userDTO.setPassword(login.getPassword()); sysUserService.save(userDTO); return new Result(); + } } \ No newline at end of file diff --git a/main/manager-api/src/main/java/xiaozhi/modules/security/dto/LoginDTO.java b/main/manager-api/src/main/java/xiaozhi/modules/security/dto/LoginDTO.java index 076324ef..2fc0d3b2 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/security/dto/LoginDTO.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/security/dto/LoginDTO.java @@ -15,7 +15,7 @@ public class LoginDTO implements Serializable { @Schema(description = "手机号码") @NotBlank(message = "{sysuser.username.require}") - private String mobile; + private String username; @Schema(description = "密码") @NotBlank(message = "{sysuser.password.require}") diff --git a/main/manager-api/src/main/java/xiaozhi/modules/sys/controller/SysUserController.java b/main/manager-api/src/main/java/xiaozhi/modules/sys/controller/SysUserController.java index 2f030fff..ea3e6f82 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/sys/controller/SysUserController.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/sys/controller/SysUserController.java @@ -80,7 +80,6 @@ public class SysUserController { //效验数据 ValidatorUtils.validateEntity(dto); String newPassword = dto.getNewPassword(); - String password = dto.getPassword(); //密码的强度 if (newPassword == null || newPassword.length() < 8) { diff --git a/main/manager-api/src/main/java/xiaozhi/modules/sys/service/SysUserService.java b/main/manager-api/src/main/java/xiaozhi/modules/sys/service/SysUserService.java index 288c4cc0..8427fd09 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/sys/service/SysUserService.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/sys/service/SysUserService.java @@ -38,23 +38,6 @@ public interface SysUserService extends BaseService { */ void updatePassword(Long id, String newPassword); - /** - * 根据部门ID,查询用户数 - */ - int getCountByDeptId(Long deptId); - - /** - * 根据部门ID,查询用户Id列表 - */ - List getUserIdListByDeptId(List deptIdList); - - /** - * 删除用户缓存 - * - * @param userId - */ - void deleteUserCache(Long userId); - /** * 验证密码强度 * @@ -63,5 +46,4 @@ public interface SysUserService extends BaseService { */ boolean isStrongPassword(String newPassword); - String getName(Long creator); } diff --git a/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysUserServiceImpl.java b/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysUserServiceImpl.java index c9960b07..1828039b 100644 --- a/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysUserServiceImpl.java +++ b/main/manager-api/src/main/java/xiaozhi/modules/sys/service/impl/SysUserServiceImpl.java @@ -1,25 +1,23 @@ package xiaozhi.modules.sys.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import lombok.AllArgsConstructor; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import xiaozhi.common.exception.ErrorCode; import xiaozhi.common.exception.RenException; import xiaozhi.common.page.PageData; -import xiaozhi.common.redis.RedisKeys; import xiaozhi.common.redis.RedisUtils; import xiaozhi.common.service.impl.BaseServiceImpl; -import xiaozhi.common.user.UserDetail; import xiaozhi.common.utils.ConvertUtils; import xiaozhi.modules.security.password.PasswordUtils; -import xiaozhi.modules.security.user.SecurityUser; import xiaozhi.modules.sys.dao.SysUserDao; import xiaozhi.modules.sys.dto.SysUserDTO; import xiaozhi.modules.sys.entity.SysUserEntity; import xiaozhi.modules.sys.enums.SuperAdminEnum; import xiaozhi.modules.sys.service.SysUserService; -import lombok.AllArgsConstructor; -import org.apache.commons.lang3.StringUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; import java.util.List; @@ -86,7 +84,13 @@ public class SysUserServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); + return baseDao.selectCount(queryWrapper); } - @Override - public List getUserIdListByDeptId(List deptIdList) { - return baseDao.getUserIdListByDeptId(deptIdList); - } - - @Override - public void deleteUserCache(Long userId) { - // 删除缓存 - redisUtils.delete(RedisKeys.getUserInfoKey(userId)); - redisUtils.delete(RedisKeys.getDataScopeListKey(userId)); - redisUtils.delete(RedisKeys.getSysUserName(userId)); - } @Override public boolean isStrongPassword(String password) { @@ -165,17 +157,4 @@ public class SysUserServiceImpl extends BaseServiceImpl - - - - \ No newline at end of file diff --git a/main/manager-web/package-lock.json b/main/manager-web/package-lock.json index cbfc40df..5af654f0 100644 --- a/main/manager-web/package-lock.json +++ b/main/manager-web/package-lock.json @@ -14,7 +14,8 @@ "vue": "^2.6.14", "vue-axios": "^3.5.2", "vue-router": "^3.6.5", - "vuex": "^3.6.2" + "vuex": "^3.6.2", + "xiaozhi": "file:" }, "devDependencies": { "@vue/cli-plugin-router": "~5.0.0", @@ -9157,6 +9158,10 @@ } } }, + "node_modules/xiaozhi": { + "resolved": "", + "link": true + }, "node_modules/y18n": { "version": "5.0.8", "resolved": "https://registry.npmmirror.com/y18n/-/y18n-5.0.8.tgz", diff --git a/main/manager-web/package.json b/main/manager-web/package.json index e1423d6a..fddf19aa 100644 --- a/main/manager-web/package.json +++ b/main/manager-web/package.json @@ -13,7 +13,8 @@ "vue": "^2.6.14", "vue-axios": "^3.5.2", "vue-router": "^3.6.5", - "vuex": "^3.6.2" + "vuex": "^3.6.2", + "xiaozhi": "file:" }, "devDependencies": { "@vue/cli-plugin-router": "~5.0.0", diff --git a/main/manager-web/src/apis/api.js b/main/manager-web/src/apis/api.js index ebe36f49..bb6ec96b 100755 --- a/main/manager-web/src/apis/api.js +++ b/main/manager-web/src/apis/api.js @@ -9,7 +9,7 @@ import user from './module/user.js' */ const DEV_API_SERVICE = 'https://apifoxmock.com/m1/5931378-5618560-default' // 8002开发完成完成后使用这个 -// const DEV_API_SERVICE = '/xiaozhi-esp32-api/api/v1' +// const DEV_API_SERVICE = '/xiaozhi-esp32-api' /** * 根据开发环境返回接口url diff --git a/main/manager-web/src/views/login.vue b/main/manager-web/src/views/login.vue index 12c74ca4..d52d2c9b 100644 --- a/main/manager-web/src/views/login.vue +++ b/main/manager-web/src/views/login.vue @@ -25,7 +25,7 @@
- +
@@ -63,7 +63,7 @@