优化登录注册流程,跑通注册登录、接口

This commit is contained in:
pengzhisheng
2025-03-12 16:56:51 +08:00
parent fc922e996c
commit 8f76db9e41
7 changed files with 33 additions and 16 deletions
@@ -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<Void>();
}
}
@@ -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}")
+6 -1
View File
@@ -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",
+2 -2
View File
@@ -7,9 +7,9 @@ import user from './module/user.js'
* 如果你想调用8002端口,就用'/xiaozhi-esp32-api/api/v1',请与vue.config.js的devServer配置相结合,方便跨域请求
*
*/
const DEV_API_SERVICE = 'https://apifoxmock.com/m1/5931378-5618560-default'
// 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
+3 -1
View File
@@ -75,7 +75,8 @@ export default {
form: {
username: '',
password: '',
captcha: ''
captcha: '',
captchaId: ''
},
captchaUuid: '',
captchaUrl: ''
@@ -114,6 +115,7 @@ export default {
return
}
this.form.captchaId = this.captchaUuid
Api.user.login(this.form, ({data}) => {
showSuccess('登陆成功!')
goToPage('/home')
+3 -3
View File
@@ -95,7 +95,7 @@ export default {
password: '',
confirmPassword: '',
captcha: '',
uuid: ''
captchaId: ''
},
captchaUrl: ''
}
@@ -106,8 +106,8 @@ export default {
methods: {
// 复用验证码获取方法
fetchCaptcha() {
this.form.uuid = Date.now().toString()
Api.user.getCaptcha(this.form.uuid, (res) => {
this.form.captchaId = Date.now().toString()
Api.user.getCaptcha(this.form.captchaId, (res) => {
if (res.status === 200) {
const blob = new Blob([res.data], {type: res.data.type});
this.captchaUrl = URL.createObjectURL(blob);
+14 -5
View File
@@ -1,14 +1,23 @@
const { defineConfig } = require('@vue/cli-service');
const dotenv = require('dotenv');
// 确保加载 .env 文件
dotenv.config();
module.exports = defineConfig({
devServer: {
// Bug 修复:将代理配置为环境变量中定义的 API 基础 URL
proxy: process.env.VUE_APP_API_BASE_URL,
client: {
overlay: false,
proxy: {
'/xiaozhi-esp32-api': {
target: process.env.VUE_APP_API_BASE_URL || 'http://localhost:8002', // 后端 API 的基础 URL
changeOrigin: true, // 允许跨域
// pathRewrite: {
// '^/api': '', // 路径重写
// },
},
},
client: {
overlay: false,
},
},
}
})
});