Commit 1a7f5bc0 authored by 13841799530's avatar 13841799530

bug修复

20220927
parent a017932f
Pipeline #8871 passed with stage
in 4 minutes and 58 seconds
...@@ -49,7 +49,7 @@ export default { ...@@ -49,7 +49,7 @@ export default {
"confirmNote", "confirmNote",
], ],
// 不需要展示底部tabbar的页面 // 不需要展示底部tabbar的页面
noTab:["login", "login2", "choose-people","scan",'success','fail','warn','center'], noTab:["login", "login2", "choose-people","scan",'success','fail','warn','center','reset-pas-two'],
// cachePage预先定义的缓存页面 // cachePage预先定义的缓存页面
otherCache: [], otherCache: [],
// 专门处理列表缓存的页面,这些页面缓存逻辑与其他缓存不一样去详情返回列表缓存,但是进入列表必须刷新,如何有需要缓存的列表请放到这里来。 // 专门处理列表缓存的页面,这些页面缓存逻辑与其他缓存不一样去详情返回列表缓存,但是进入列表必须刷新,如何有需要缓存的列表请放到这里来。
......
...@@ -791,13 +791,13 @@ const routes = [{ ...@@ -791,13 +791,13 @@ const routes = [{
component: () => import('@/views/my/resetPas') component: () => import('@/views/my/resetPas')
}, },
{ {
path: '/my-reset-pas-two', path: '/reset-pas-two',
name: 'my-reset-pas-two', name: 'reset-pas-two',
meta: { meta: {
title: '修改密码', title: '修改密码',
index: 1 index: 1
}, },
component: () => import('@/views/my/resetPasTwo') component: () => import('@/views/resetPasTwo')
}, },
{ {
path: '/matrix-grad', path: '/matrix-grad',
......
...@@ -110,6 +110,7 @@ export default { ...@@ -110,6 +110,7 @@ export default {
getFun('check/token',obj).then((Response)=>{ getFun('check/token',obj).then((Response)=>{
if(Response.code==0){ if(Response.code==0){
this.$toast.clear() this.$toast.clear()
setToken(Response.data)
postFun('mobile/user').then((Response2)=>{ postFun('mobile/user').then((Response2)=>{
var userInfo={ var userInfo={
avatar:Response2.data.avatar, avatar:Response2.data.avatar,
...@@ -122,12 +123,15 @@ export default { ...@@ -122,12 +123,15 @@ export default {
} }
/* 存储用户信息 */ /* 存储用户信息 */
setUserInfo(userInfo) setUserInfo(userInfo)
localStorage.setItem('pwd',encrypt(this.password))
localStorage.setItem('username',this.username)
if(!Response2.data.initializePassword){
this.$router.push('/save-workbench')
}else{
this.$router.push('/reset-pas-two')
}
}) })
localStorage.setItem('pwd',encrypt(this.password))
localStorage.setItem('username',this.username)
setToken(Response.data)
this.$router.push('/my-reset-pas-two')
// this.$router.push('/save-workbench')
}else if(Response.code==301){ }else if(Response.code==301){
this.$toast.clear() this.$toast.clear()
this.$toast.fail({ this.$toast.fail({
......
<template>
<div>
<!-- 修改密码页面 -->
<!-- 头部标签 -->
<LHeader :text="$route.meta.title"></LHeader>
<van-form
@submit="onSubmit"
:scroll-to-error="true"
:show-error="false"
validate-trigger="onSubmit"
>
<van-field
v-model="form.oldPassword"
required
type="text"
name="oldPassword"
label="旧密码"
placeholder="请输入旧密码"
:rules="[{ required: true, message: '请填写密码' }]"
/>
<van-field
required
v-model="form.newPassword"
type="password"
name="newPassword"
label="新密码"
@input="checkPassword()"
placeholder="请输入新密码"
:rules="[
{ required: true, message: '请填写密码' },
{
message: '密码必须大于8个字符小于30个字符',
validator: (val) => {
return val['length'] >= 8 && val['length'] < 30;
},
},
]"
/>
<!-- 密码等级提示 -->
<van-cell-group>
<div class="intensity">
<div style="width: 8.2em;"></div>
<div>
<div class="pass-level">
<span class="psdText">密码强度</span>
<span class="line" :class="[level.includes('low') ? 'low' : '']"></span>
<span class="line" :class="[level.includes('middle') ? 'middle' : '']" ></span>
<span class="line" :class="[level.includes('high') ? 'high' : '']" ></span>
</div>
</div>
</div>
</van-cell-group>
<van-field
required
v-model="form.confirm"
type="password"
name="confirm"
label="再次输入"
placeholder="再次输入新密码"
:rules="[
{ validator, required: true, message: '二次密码输入不一致' },
{
message: '密码必须大于等于8个字符小于30个字符',
validator: (val) => {
return val['length'] >= 8 && val['length'] < 30;
},
},
]"
/>
<div style="margin: 16px">
<van-button round block type="info" native-type="submit"
>提交
</van-button>
</div>
</van-form>
</div>
</template>
<script>
import LHeader from "@/components/header.vue";
import { encrypt, decrypt } from '@/utils/jsencrypt'
import { getFun, postFun } from "@/service/table.js";
import { getUserInfo } from "@/utils/userInfo";
import { removeToken } from "@/utils/auth"; // get token from cookie
export default {
components: {
LHeader,
},
data() {
return {
form: {
oldPassword: "",
newPassword: "",
confirm: "",
},
level : []
};
},
mounted() {
console.log(getUserInfo());
},
methods: {
validator(val) {
return this.form.newPassword == val;
},
onSubmit(val) {
// 判断level数组是否含有middle
let isMiddleLevel = this.level.includes('high')
if(!isMiddleLevel){
this.$toast.fail("密码等级较低")
return
}
this.$toast.loading({
message: "请求中...",
forbidClick: true,
loadingType: "spinner",
duration: 0,
});
postFun("/mobile/resetPwd", this.obj2formdata(val)).then((data) => {
if (data.code == 0) {
this.$toast.clear();
this.$toast.success("密码修改成功!");
localStorage.setItem('pwd',encrypt(this.form.newPassword))
this.$router.push('/save-workbench')
}
});
},
obj2formdata(data) {
console.log(data, "fasfasdfsd");
let fd = new FormData();
for (let k in data) {
if (data[k]) {
fd.append(k, data[k]);
}
}
return fd;
},
// 密码等级校验
checkPassword() {
this.level = [];
// 校验是数字
const regex1 = /^\d+$/;
// 校验字母
const regex2 = /^[A-Za-z]+$/;
// 校验符号
const regex3 =
/^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、]+$/;
if (regex1.test(this.form.newPassword)) {
this.level.push("low");
} else if (regex2.test(this.form.newPassword)) {
this.level.push("low");
} else if (regex3.test(this.form.newPassword)) {
this.level.push("low");
} else if (/^[A-Za-z\d]+$/.test(this.form.newPassword)) {
this.level.push("low");
this.level.push("middle");
} else if (
/^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、\d]+$/.test(
this.form.newPassword
)
) {
this.level.push("low");
this.level.push("middle");
} else if (
/^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、A-Za-z]+$/.test(
this.form.newPassword
)
) {
this.level.push("low");
this.level.push("middle");
} else if (
/^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]·~!@#¥%……&*()——\-+={}|《》?:“”【】、;‘',。、A-Za-z\d]+$/.test(
this.form.newPassword
)
) {
this.level.push("low");
this.level.push("middle");
this.level.push("high");
}
},
},
};
</script>
<style lang="less" scoped>
.intensity {
display: flex;
padding: 0.26667rem 0.42667rem;
line-height: 0.64rem;
.psdText {
font-size: 14px;
margin-right: 10px;
}
.line {
display: inline-block;
width: 48px;
height: 4px;
background: #d8d8d8;
border-radius: 3px;
margin-right: 8px;
}
.low {
background: #f4664a;
}
.middle {
background: #ffb700;
}
.high {
background: #2cbb79;
}
}
</style>
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment