|
|
@@ -3,11 +3,10 @@
|
|
|
<v-row justify="center">
|
|
|
<v-col cols="10">
|
|
|
<v-text-field
|
|
|
- v-model="registerUser.mail"
|
|
|
- placeholder="请输入你的邮箱"
|
|
|
- label="邮箱"
|
|
|
- :rules="[() => registerUser.mail != null || '邮箱不能为空']"
|
|
|
- type="email"
|
|
|
+ v-model="registerUser.username"
|
|
|
+ placeholder="请输入用户名"
|
|
|
+ label="用户名"
|
|
|
+ :rules="[() => registerUser.username != null || '用户名不能为空']"
|
|
|
clearable
|
|
|
/>
|
|
|
</v-col>
|
|
|
@@ -15,10 +14,11 @@
|
|
|
<v-row justify="center">
|
|
|
<v-col cols="10">
|
|
|
<v-text-field
|
|
|
- v-model="registerUser.phone"
|
|
|
- placeholder="请输入你的手机号(系统原因,此项选填)"
|
|
|
- label="手机号"
|
|
|
-
|
|
|
+ v-model="registerUser.email"
|
|
|
+ placeholder="请输入邮箱"
|
|
|
+ label="邮箱"
|
|
|
+ :rules="[() => registerUser.email != null || '邮箱不能为空']"
|
|
|
+ type="email"
|
|
|
clearable
|
|
|
/>
|
|
|
</v-col>
|
|
|
@@ -26,27 +26,27 @@
|
|
|
<v-row justify="center">
|
|
|
<v-col cols="10">
|
|
|
<v-text-field
|
|
|
- v-model="registerUser.username"
|
|
|
- placeholder="昵称"
|
|
|
- label="昵称"
|
|
|
- :rules="[() => registerUser.username != null || '昵称不能为空']"
|
|
|
+ v-model="registerUser.password"
|
|
|
+ placeholder="请输入密码"
|
|
|
+ label="密码"
|
|
|
+ :rules="[() => registerUser.password != null || '密码不能为空']"
|
|
|
clearable
|
|
|
+ type="password"
|
|
|
/>
|
|
|
</v-col>
|
|
|
</v-row>
|
|
|
- <v-row justify="center">
|
|
|
+ <!-- <v-row justify="center">
|
|
|
<v-col cols="10">
|
|
|
<v-text-field
|
|
|
- v-model="registerUser.password"
|
|
|
- placeholder="密码"
|
|
|
- label="密码"
|
|
|
- :rules="[() => registerUser.password != null || '密码不能为空']"
|
|
|
+ v-model="registerUser.mobile"
|
|
|
+ placeholder="请输入你的手机号(系统原因,此项选填)"
|
|
|
+ label="手机号"
|
|
|
+
|
|
|
clearable
|
|
|
- type="password"
|
|
|
/>
|
|
|
</v-col>
|
|
|
- </v-row>
|
|
|
- <v-row v-if="this.$store.state.webInfo.openInvitationRegister == 1" justify="center">
|
|
|
+ </v-row>-->
|
|
|
+ <!-- <v-row v-if="this.$store.state.webInfo.openInvitationRegister == 1" justify="center">
|
|
|
<v-col cols="10">
|
|
|
<v-text-field
|
|
|
v-model="registerUser.invitationCode"
|
|
|
@@ -56,17 +56,17 @@
|
|
|
:rules="[() => registerUser.invitationCode != null || '邀请码不能为空']"
|
|
|
/>
|
|
|
</v-col>
|
|
|
- </v-row>
|
|
|
+ </v-row>-->
|
|
|
<v-row justify="center">
|
|
|
<v-col cols="5">
|
|
|
- <img :src="verifyImageUrl" alt="验证码" title="点击刷新" style="cursor:pointer;" @click="getVerifyImage">
|
|
|
+ <img :src="captchaUrl" alt="验证码" title="点击刷新" style="cursor:pointer;" @click="getVerifyImage">
|
|
|
</v-col>
|
|
|
<v-col cols="5">
|
|
|
<v-text-field
|
|
|
- v-model="registerUser.verifyCode"
|
|
|
+ v-model="registerUser.captcha"
|
|
|
placeholder="验证码"
|
|
|
label="验证码"
|
|
|
- :rules="[() => registerUser.verifyCode != null || '验证码不能为空']"
|
|
|
+ :rules="[() => registerUser.captcha != null || '验证码不能为空']"
|
|
|
clearable
|
|
|
/>
|
|
|
</v-col>
|
|
|
@@ -82,47 +82,69 @@ export default {
|
|
|
name: 'Register',
|
|
|
data() {
|
|
|
return {
|
|
|
- verifyImageUrl: '/api/verifyImage',
|
|
|
+ captchaUrl: '/api/user/account/captcha',
|
|
|
registerUser: {
|
|
|
- mail: '',
|
|
|
- phone: '',
|
|
|
+ regType: 1,
|
|
|
+ username: '',
|
|
|
+ email: '',
|
|
|
password: '',
|
|
|
- invitationCode: '',
|
|
|
- verifyCode: '',
|
|
|
- username: ''
|
|
|
+ // mobile: '',
|
|
|
+ regVerifyCode: '',
|
|
|
+ captcha: ''
|
|
|
+ // invitationCode: ''
|
|
|
}
|
|
|
}
|
|
|
},
|
|
|
methods: {
|
|
|
submitRegister() {
|
|
|
+ console.log('用户注册')
|
|
|
+
|
|
|
var re = /^(([^()[\]\\.,;:\s@\"]+(\.[^()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
|
|
|
- if (!re.test(this.registerUser.mail)) {
|
|
|
+ if (!re.test(this.registerUser.email)) {
|
|
|
+ console.log('email 字段不符合要求')
|
|
|
return
|
|
|
- }
|
|
|
- console.log(123456)
|
|
|
- if (this.registerUser.password === '' || this.registerUser.password.length < 6 || this.registerUser.verifyCode === '' || this.registerUser.username === '') {
|
|
|
+ } else if (this.registerUser.password === '' || this.registerUser.password.length < 6) {
|
|
|
+ console.log('password 字段不符合要求')
|
|
|
+ return
|
|
|
+ } else if (this.registerUser.captcha === '' || this.registerUser.username === '') {
|
|
|
+ console.log('captcha 或 username 字段不符合要求')
|
|
|
return
|
|
|
}
|
|
|
- if (this.$store.state.webInfo.openInvitationRegister === 1 && this.registerUser.invitationCode === '' && this.registerUser.username !== 'admin') {
|
|
|
+
|
|
|
+ if (this.$store.state.webInfo.openInvitationRegister === 1 && this.registerUser.invitationCode === '') {
|
|
|
+ console.log('openInvitationRegister 或 invitationCode 字段不符合要求')
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- if (this.registerUser.phone !== '') {
|
|
|
+ /* if (this.registerUser.username !== 'admin') {
|
|
|
+ return
|
|
|
+ }*/
|
|
|
+
|
|
|
+ /* if (this.registerUser.mobile !== '') {
|
|
|
var myreg = /^[1][3,4,5,7,8][0-9]{9}$/
|
|
|
if (!myreg.test((this.registerUser.phone))) {
|
|
|
return
|
|
|
}
|
|
|
- }
|
|
|
- console.log(this.registerUser)
|
|
|
+ }*/
|
|
|
this.$emit('register', this.registerUser)
|
|
|
},
|
|
|
getVerifyImage() {
|
|
|
- this.verifyImageUrl = '/api/verifyImage?t=' + new Date().getTime()
|
|
|
+ this.captchaUrl = '/api/user/account/captcha?r=' + this.randomStr(10, 22)
|
|
|
+ },
|
|
|
+ randomStr(min, max) {
|
|
|
+ var returnStr = ''
|
|
|
+ var range = (max ? Math.round(Math.random() * (max - min)) + min : min)
|
|
|
+ var arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z']
|
|
|
+
|
|
|
+ for (var i = 0; i < range; i++) {
|
|
|
+ var index = Math.round(Math.random() * (arr.length - 1))
|
|
|
+ returnStr += arr[index]
|
|
|
+ }
|
|
|
+ return returnStr
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
|
|
|
<style>
|
|
|
-
|
|
|
</style>
|