opt: add support to disable code verify

This commit is contained in:
RockYang 2024-01-07 17:31:26 +08:00
parent 8ec85e2829
commit ff22480d89
2 changed files with 15 additions and 23 deletions

View File

@ -8,11 +8,12 @@ import (
"chatplus/utils"
"chatplus/utils/resp"
"fmt"
"github.com/go-redis/redis/v8"
"github.com/golang-jwt/jwt/v5"
"strings"
"time"
"github.com/go-redis/redis/v8"
"github.com/golang-jwt/jwt/v5"
"github.com/gin-gonic/gin"
"github.com/lionsoul2014/ip2region/binding/golang/xdb"
"gorm.io/gorm"
@ -55,12 +56,16 @@ func (h *UserHandler) Register(c *gin.Context) {
}
// 检查验证码
key := CodeStorePrefix + data.Username
var key string
if utils.ContainsStr(h.App.SysConfig.RegisterWays, "email") ||
utils.ContainsStr(h.App.SysConfig.RegisterWays, "mobile") {
key = CodeStorePrefix + data.Username
code, err := h.redis.Get(c, key).Result()
if err != nil || code != data.Code {
resp.ERROR(c, "验证码错误")
return
}
}
// 验证邀请码
inviteCode := model.InviteCode{}

View File

@ -49,7 +49,7 @@
</el-input>
</div>
<div class="block">
<div class="block" v-if="enableMobile || enableEmail">
<el-row :gutter="10">
<el-col :span="12">
<el-input placeholder="验证码"
@ -122,7 +122,6 @@ import {ElMessage} from "element-plus";
import {useRouter} from "vue-router";
import FooterBar from "@/components/FooterBar.vue";
import SendMsg from "@/components/SendMsg.vue";
import {validateEmail, validateMobile} from "@/utils/validate";
import {arrayContains} from "@/utils/libs";
import {setUserToken} from "@/store/session";
@ -155,9 +154,6 @@ httpGet("/api/admin/config/get?key=system").then(res => {
ways.push("邮箱地址")
}
placeholder.value += ways.join("/")
if (ways.length === 0) {
enableRegister.value = false
}
}
}).catch(e => {
ElMessage.error("获取系统配置失败:" + e.message)
@ -173,15 +169,6 @@ const register = function () {
return ElMessage.error('请输入用户名');
}
if (!enableMobile.value && !validateEmail(formData.value.username)) {
return ElMessage.error('请输入合法的邮箱地址');
}
if (!enableEmail.value && !validateMobile(formData.value.username)) {
return ElMessage.error('请输入合法的手机号');
}
if (!validateMobile(formData.value.username) && !validateEmail(formData.value.username)) {
return ElMessage.error('请输入合法的手机号或者邮箱地址');
}
if (formData.value.password.length < 8) {
return ElMessage.error('密码的长度为8-16个字符');
}
@ -189,8 +176,8 @@ const register = function () {
return ElMessage.error('两次输入密码不一致');
}
if (formData.value.code === '') {
return ElMessage.error('请输入短信验证码');
if ((enableEmail.value || enableMobile.value) && formData.value.code === '') {
return ElMessage.error('请输入验证码');
}
httpPost('/api/user/register', formData.value).then((res) => {
setUserToken(res.data)