| | |
| | | 获取验证码</view> |
| | | </view> |
| | | </el-form-item> |
| | | <el-form-item label="新密码" prop="pass"> |
| | | <el-input v-model="resetDataPass.newPass"></el-input> |
| | | <el-form-item label="新密码" prop="newPass"> |
| | | <el-input type="password" v-model="resetDataPass.newPass"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="确认新密码" prop="checkPass"> |
| | | <el-input v-model="resetDataPass.checkPass"></el-input> |
| | | <el-input type="password" v-model="resetDataPass.checkPass"></el-input> |
| | | </el-form-item> |
| | | <el-form-item class="btn"> |
| | | <el-button class="font-family" |
| | |
| | | |
| | | <script> |
| | | import { |
| | | getRestPassword, |
| | | getverifyCode |
| | | } from '@/api/index.js' |
| | | import { |
| | | encryptAES |
| | | } from '@/utils/Crypto.js' |
| | | import { |
| | | nextTick |
| | | } from "vue"; |
| | | import Footer1 from '@/components/footer/footer.vue' |
| | | import { |
| | | Message |
| | | } from 'element-ui' |
| | | export default { |
| | | components: { |
| | | Footer1 |
| | |
| | | if (value === '') { |
| | | callback(new Error('请输入密码')); |
| | | } else { |
| | | if (this.registerData.checkPass !== '') { |
| | | if (this.resetDataPass.checkPass !== '') { |
| | | this.$nextTick(() => { |
| | | this.$refs.formLogin.validateField('checkPass'); |
| | | }); |
| | |
| | | var validatePass2 = (rule, value, callback) => { |
| | | if (value === '') { |
| | | callback(new Error('请再次输入密码')); |
| | | } else if (value !== this.registerData.pass) { |
| | | } else if (value !== this.resetDataPass.newPass) { |
| | | callback(new Error('两次输入密码不一致!')); |
| | | } else { |
| | | callback(); |
| | |
| | | message: '请输入登录账号', |
| | | trigger: 'blur' |
| | | }], |
| | | pass: [{ |
| | | newPass: [{ |
| | | required: true, |
| | | message: '请输入密码', |
| | | trigger: 'blur' |
| | | }, |
| | | { |
| | | min: 6, |
| | | max: 12, |
| | | max: 10, |
| | | message: '密码长度在 6 到 12 个字符', |
| | | trigger: 'blur' |
| | | }, |
| | |
| | | }], |
| | | cellphoneORmailbox: [{ |
| | | required: true, |
| | | message: '请输入邮箱地址', |
| | | message: '请输入手机号或邮箱', |
| | | trigger: 'blur' |
| | | }, |
| | | { |
| | | type: 'email', |
| | | message: '请输入正确的邮箱地址', |
| | | trigger: ['blur', 'change'] |
| | | validator: this.validateContact, |
| | | trigger: 'blur' |
| | | } |
| | | ], |
| | | verifyCode: [{ |
| | | required: true, |
| | | message: '请输入验证码', |
| | | trigger: 'blur' |
| | | }, |
| | | { |
| | | validator: (rule, value, callback) => this.validateVerificationCode(rule, value, callback), |
| | | trigger: 'blur' |
| | | } |
| | | ] |
| | | }, |
| | | // 登录注册框 |
| | | loginTrue: true, |
| | | Rtop1: 0, |
| | | value: 'sdfdsf', |
| | | // 注册用户对应的数据 |
| | | registerData: { |
| | | loginID: '', |
| | | pass: '', |
| | | checkPass: '', |
| | | cellphoneORmailbox: '', |
| | | verifyCode: '' |
| | | }, |
| | | // 登录用户账号 |
| | | loginData: { |
| | | // 账号 |
| | | loginID: '', |
| | | pass: '' |
| | | }] |
| | | }, |
| | | // 重置密码 |
| | | resetDataPass: { |
| | |
| | | newPass: "", |
| | | checkPass: "" |
| | | }, |
| | | // 修改密码 |
| | | amendDataPass: { |
| | | loginID: '', |
| | | originalPass: "", |
| | | newPass: "", |
| | | checkPass: "" |
| | | }, |
| | | // 书籍数据 |
| | | listData: [{ |
| | | name: '历代医家传记库', |
| | | id: 1, |
| | | }, { |
| | | name: '世医医家库', |
| | | id: 2, |
| | | }, { |
| | | name: '医学学术流派', |
| | | id: 3, |
| | | }, { |
| | | name: '中国地域医谱', |
| | | id: 4, |
| | | }, { |
| | | name: '中国医事制度', |
| | | id: 5, |
| | | }, |
| | | |
| | | ] |
| | | } |
| | | }, |
| | | onLoad() { |
| | |
| | | }) |
| | | }, |
| | | // 获取验证码 |
| | | verifyCodeClick() { |
| | | async verifyCodeClick() { |
| | | console.log('获取验证码'); |
| | | let Obj = { |
| | | communicateParam: this.resetDataPass.cellphoneORmailbox, |
| | | } |
| | | await getverifyCode(Obj).then(res => { |
| | | console.log(res, '验证码获取成功'); |
| | | }) |
| | | }, |
| | | // 列表项跳转 |
| | | listDataClick(item) { |
| | |
| | | }) |
| | | } |
| | | }, |
| | | // 验证码校验 |
| | | validateVerificationCode(rule, value, callback) { |
| | | console.log(value) |
| | | if (value !== '123456') { |
| | | callback(new Error('验证码错误')); |
| | | |
| | | // 手机号/或者邮箱 |
| | | validateContact(rule, value, callback) { |
| | | const regPhone = /^1[0-9]{10}$/; |
| | | const regEmail = /^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$/; |
| | | console.log(value, regPhone.test(value), regEmail.test(value)); |
| | | if (regPhone.test(value) || regEmail.test(value)) { |
| | | callback(); // 校验通过 |
| | | } else { |
| | | callback(); |
| | | callback(new Error('请输入正确的手机号或邮箱')); // 校验失败 |
| | | } |
| | | }, |
| | | getElementWidth() { |
| | |
| | | console.log('Element width:', width); |
| | | }) |
| | | }, |
| | | // 用户登录 |
| | | Login(formName) { |
| | | console.log('用户登录的登录按钮'); |
| | | this.$refs[formName].validate((valid) => { |
| | | // 忘记密码 |
| | | Login2(formName) { |
| | | let Obj = { |
| | | "communicateParam": this.resetDataPass.cellphoneORmailbox, //手机或邮箱 |
| | | "verifyCode": this.resetDataPass.verifyCode, //验证码 |
| | | "newPassword": encryptAES(this.resetDataPass.newPass) //新密码 |
| | | } |
| | | console.log(Obj); |
| | | this.$refs[formName].validate(async (valid) => { |
| | | if (valid) { |
| | | alert('submit!成功'); |
| | | await getRestPassword(Obj).then(res => { |
| | | console.log(res, '接口'); |
| | | if (res.success) { |
| | | console.log('忘记密码的接口拿到数据了'); |
| | | uni.navigateTo({ |
| | | url: '/pages/Login/Login' |
| | | }) |
| | | } else { |
| | | console.log('error submit!!失败'); |
| | | return false; |
| | | Message.error(res.errorText || '') |
| | | } |
| | | }); |
| | | }, |
| | | // 忘记密码 |
| | | Login2(formName) { |
| | | console.log('忘记密码的登录按钮'); |
| | | this.$refs[formName].validate((valid) => { |
| | | if (valid) { |
| | | alert('submit!成功'); |
| | | uni.redirectTo({ |
| | | url: '/pages/Login/Login' |
| | | }) |
| | | // alert('submit!成功'); |
| | | // uni.redirectTo({ |
| | | // url: '/pages/Login/Login' |
| | | // }) |
| | | } else { |
| | | console.log('error submit!!失败'); |
| | | return false; |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | @media screen and (min-width: 1920px) and (max-width:2560px){ |
| | | .LoginBg { |
| | | margin: 0 !important; |
| | |
| | | margin-bottom: .1rem !important; |
| | | } |
| | | } |
| | | |
| | | .LoginBg { |
| | | width: 1.2rem; |
| | | height: .37rem; |