初始上传

This commit is contained in:
2026-04-04 17:27:12 +08:00
parent 4d80d28eb4
commit b7e11774ee
11191 changed files with 1588469 additions and 0 deletions

View File

@@ -0,0 +1,303 @@
import {
rePass,
nextStep,
smsCode,
registerConfig
} from "@/api/auth/login"
import {
captcha
} from "@/api/website"
export default {
data() {
var isMobile = (rule, value, callback) => {
if (!value) {
return callback(new Error("手机号不能为空"))
} else {
if (/^\d{11}$/.test(value)) {
callback()
} else {
callback(new Error("请输入正确的手机号"))
}
}
}
let self = this
var setPass = function (rule, value, callback) {
let regConfig = self.registerConfig
if (!value) {
return callback(new Error("请输入新的登录密码"))
} else {
if (regConfig.pwd_len > 0) {
if (value.length < regConfig.pwd_len) {
return callback(new Error("密码长度不能小于" + regConfig.pwd_len + "位"))
} else {
callback()
}
} else {
if (regConfig.pwd_complexity != "") {
let passwordErrorMsg = "密码需包含",
reg = ""
if (regConfig.pwd_complexity.indexOf("number") != -1) {
reg += "(?=.*?[0-9])"
passwordErrorMsg += "数字"
} else if (regConfig.pwd_complexity.indexOf("letter") != -1) {
reg += "(?=.*?[a-z])"
passwordErrorMsg += "、小写字母"
} else if (regConfig.pwd_complexity.indexOf("upper_case") != -1) {
reg += "(?=.*?[A-Z])"
passwordErrorMsg += "、大写字母"
} else if (regConfig.pwd_complexity.indexOf("symbol") != -1) {
reg += "(?=.*?[#?!@$%^&*-])"
passwordErrorMsg += "、特殊字符"
} else {
reg += ""
passwordErrorMsg += ""
}
if (reg.test(value)) {
return callback(new Error(passwordErrorMsg))
} else {
callback()
}
}
}
}
}
var checkPass = function (rule, value, callback) {
if (!value) {
return callback(new Error("请输入确认密码"))
} else {
if (value !== self.formData.pass) {
callback(new Error("两次密码输入不一致"))
} else {
callback()
}
}
}
return {
formData: {
mobile: "",
vercode: "",
dynacode: "",
pass: "",
repass: "",
key: ""
},
step: 1,
activeName: "first",
isShowPhone: "",
captcha: {
id: "",
img: ""
},
// 验证码
dynacodeData: {
seconds: 120,
timer: null,
codeText: "获取动态码",
isSend: false
},
// 动态码
registerConfig: {},
rules: {
mobile: [{
required: true,
validator: isMobile,
trigger: "blur"
}],
vercode: [{
required: true,
message: "请输入验证码",
trigger: "blur"
}],
dynacode: [{
required: true,
message: "请输入短信动态码",
trigger: "blur"
}],
pass: [{
required: true,
validator: setPass,
trigger: "blur"
}],
repass: [{
required: true,
validator: checkPass,
trigger: "blur"
}]
}
}
},
created() {
this.getCaptcha()
this.getRegisterConfig()
},
head() {
return {
title: '找回密码-' + this.$store.state.site.siteInfo.site_name
}
},
watch: {
"dynacodeData.seconds": {
handler(newValue, oldValue) {
if (newValue == 0) {
clearInterval(this.dynacodeData.timer)
this.dynacodeData = {
seconds: 120,
timer: null,
codeText: "获取动态码",
isSend: false
}
}
},
immediate: true,
deep: true
}
},
methods: {
/**
* 下一步
*/
nextStep(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
nextStep({
mobile: this.formData.mobile
}).then(res => {
if (res.code == -1) {
this.step = 2
} else {
this.$message({
message: res.message,
type: "warning"
})
}
}).catch(err => {
if (err.code == 0) {
this.$message({
message: "该手机号未注册",
type: "warning"
})
} else {
this.$message.error(err.message)
}
})
} else {
return false
}
})
},
/**
* 获取动态验证码 下一步
*/
nextStepToSetPass(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
this.step = 3
} else {
return false
}
})
},
/**
* 重置密码
*/
resetPass(formName) {
this.$refs[formName].validate(valid => {
if (valid) {
rePass({
password: this.formData.pass,
code: this.formData.dynacode,
key: this.formData.key,
mobile: this.formData.mobile
}).then(res => {
if (res.code >= 0) {
this.step = 4
this.$message({
message: res.message,
type: "success"
})
}
}).catch(err => {
this.$message.error(err.message)
})
} else {
return false
}
})
},
/**
* 获取验证码
*/
getCaptcha() {
captcha({
captcha_id: this.captcha.id
}).then(res => {
if (res.code >= 0) {
this.captcha.id = res.data.id
this.captcha.img = res.data.img
this.captcha.img = this.captcha.img.replace(/\r\n/g, "")
}
}).catch(err => {
this.$message.error(err.message)
})
},
/**
* 发送手机动态码
*/
sendMobileCode(formName) {
if (this.dynacodeData.seconds != 120) return
this.$refs[formName].clearValidate("dynacode")
this.$refs[formName].validateField("vercode", valid => {
if (!valid) {
if (this.isSend) return
this.isSend = true
smsCode({
captcha_id: this.captcha.id,
captcha_code: this.formData.vercode,
mobile: this.formData.mobile
}).then(res => {
if (res.code >= 0) {
this.formData.key = res.data.key
if (this.dynacodeData.seconds == 120 && this.dynacodeData.timer == null) {
this.dynacodeData.timer = setInterval(() => {
this.dynacodeData.seconds--
this.dynacodeData.codeText = this.dynacodeData.seconds + "s后可重新获取"
}, 1000)
} else {
this.$message({
message: res.message,
type: "warning"
})
this.isSend = false
this.getCaptcha()
}
}
}).catch(err => {
this.isSend = false
this.getCaptcha()
this.$message.error(err.message)
})
} else {
return false
}
})
},
/**
* 获取注册配置
*/
getRegisterConfig() {
registerConfig().then(res => {
if (res.code >= 0) {
this.registerConfig = res.data.value
}
})
}
}
}