master
zhaotianci 2 months ago
parent 01e25093fe
commit 1889d39dfe

@ -74,3 +74,17 @@ export function userLogin(data) {
params: data
});
}
export function getDeviceInfo() {
return request({
url: `/get_device_info`,
method: 'get'
});
}
export function setSafetyInfo(device_id, params) {
return request({
url: `/device`,
method: 'get',
params
});
}

@ -84,6 +84,12 @@ const routes = [
name: 'changePassword',
title: '修改密码',
component: () => import('@/views/AccountManagement/changePassword.vue')
},
{
path: '/safeSetting',
name: 'safeSetting',
title: '安全设置',
component: () => import('@/views/AccountManagement/safeSetting.vue')
}
]
}

@ -19,16 +19,18 @@
<CommonButton
msg="返回"
size="default"
paddingLeft="45"
paddingRight="45"
paddingLeft="33"
paddingRight="33"
class="btn"
type="info"
@click="router.push('/home')"
></CommonButton>
<CommonButton
msg="保存"
size="default"
paddingLeft="45"
paddingRight="45"
paddingLeft="33"
paddingRight="33"
class="btn"
type="danger"
@click="save"
></CommonButton>
@ -115,8 +117,13 @@ const save = async () => {
}
}
}
.btn {
margin: 0;
width: 220PX;
font-size: 13px !important;
}
.footer_btn {
margin-top: 60px;
// margin-top: 60px;
display: flex;
justify-content: space-between;
}

@ -0,0 +1,205 @@
<template>
<div class="first_step">
<div class="step_title">{{ is_safety ? "安全设置" : "修改密码" }}</div>
<div class="form_part" v-if="!is_safety">
<!-- <div class="form_item">
<div class="form_title">原密码</div>
<CommonInput v-model="form_value.old_pwd" inputType="password" />
</div> -->
<div class="form_item">
<div class="form_title">新密码</div>
<CommonInput
v-model="form_value.new_pwd"
inputType="password"
width="600"
></CommonInput>
</div>
<div class="form_item">
<div class="form_title">确认密码</div>
<CommonInput
v-model="form_value.check_pwd"
inputType="password"
width="600"
></CommonInput>
</div>
</div>
<div class="form_part" v-else>
<div class="form_item">
<div class="form_title">是否双人登录</div>
<select v-model="form_value.need_two_face" style="font-size: 24px;">
<option value="1" class="ipt"></option>
<option value="2" class="ipt"></option>
</select>
</div>
</div>
<div class="footer_btn">
<CommonButton
msg="返回"
size="default"
type="info"
class="btn"
@click="router.push('/home')"
></CommonButton>
<CommonButton
v-if="!is_safety"
msg="保存"
size="default"
type="danger"
class="btn"
@click="save"
></CommonButton>
<CommonButton
v-else
msg="保存"
size="default"
class="btn"
type="danger"
@click="handleSet"
></CommonButton>
</div>
</div>
</template>
<script setup>
import { ref, reactive } from "vue";
import { useRouter, useRoute } from "vue-router";
import { isEmpty } from "@/utils/index";
import { notify } from "@/utils/message";
import { resetPwd, getDeviceInfo, setSafetyInfo } from "@/api/user";
const router = useRouter();
const { path } = useRoute();
let is_safety = ref(false);
const getDeviceInfoMethods = async () => {
let { data } = await getDeviceInfo();
if (data.status == 1) {
device_id.value = data.data.device_id;
form_value.value.need_two_face = data.data.need_two_face;
console.log(form_value.value.need_two_face, "11111111");
}
};
if (path !== "/changePassword") {
is_safety.value = true;
getDeviceInfoMethods();
}
let device_id = ref("");
const form_value = ref({
old_pwd: "",
new_pwd: "",
check_pwd: "",
need_two_face: "",
});
const save = async () => {
// if (form_value.value.old_pwd === '') {
// return notify('', 'danger');
// }
if (form_value.value.new_pwd === "") {
return notify("请输入新密码", "danger");
}
if (form_value.value.check_pwd === "") {
return notify("确认密码不能为空", "danger");
}
if (form_value.value.new_pwd !== form_value.value.check_pwd) {
return notify("新密码与确认密码不一致", "danger");
}
let useInfo = JSON.parse(sessionStorage.getItem("userInfo"));
let { userId } = useInfo;
let params = {
userId: userId,
userPwd: form_value.value.new_pwd,
};
let res = await resetPwd(params);
let { status, message } = res.data;
if (status) {
notify(message, "success");
router.push("/home");
} else {
return notify(message, "danger");
}
};
const handleSet = async () => {
if (!form_value.value.need_two_face) return notify("请填写验证人数!", "danger");
const regex = /^[1-9]\d*$/;
if (!regex.test(form_value.value.need_two_face)) {
return notify("请输入正确的数字!", "danger");
}
if (form_value.value.need_two_face == 0)
return notify("验证人员至少为一人!", "danger");
if (form_value.value.need_two_face > 2)
return notify("验证人数不能超过2人", "danger");
let { data } = await setSafetyInfo(device_id.value, {
need_two_face: Number(form_value.value.need_two_face),
device_id: "1",
});
if (data.status == 1) {
notify("设置成功", "success");
router.push("/home");
} else {
notify(data.desc);
}
};
</script>
<style lang="less" scoped>
@COOMSIZE: 16px;
.first_step {
padding: 16px;
background: linear-gradient(180deg, #ffffff 0%, #ececec 100%);
box-shadow: 0px 3px 6px 1px rgba(0, 0, 0, 0.26);
border-radius: 2px 2px 2px 2px;
width: 100%;
.step_title {
font-size: @COOMSIZE;
font-weight: bold;
color: #3a3a3a;
}
.suffix {
position: absolute;
right: 6px;
color: #b8b8b8;
}
.form_part {
margin-top: 36px;
display: flex;
justify-content: center;
flex-direction: column;
align-items: center;
.form_item {
font-size: @COOMSIZE;
display: flex;
align-items: center;
color: #666666;
margin-bottom: 12px;
.form_title {
margin-right: 8px;
min-width: 64px;
}
}
}
.btn {
margin: 0;
width: 80px;
font-size: 13px !important;
}
.footer_btn {
margin-top: 80px;
display: flex;
justify-content: space-between;
}
}
select {
width: 60px;
height: 30px;
// font-size: 16px;
margin-left: 2px;
border-radius: 5px;
padding: 0 10px;
}
</style>

@ -342,6 +342,7 @@ const stopExperiment = async (val) => {
.echart {
flex: 1;
background: #f6f6f6;
height: 80%;
// margin: 10px;
border-radius: 0.05456rem;
border: 1px solid #e6e6e6;

@ -153,6 +153,12 @@ const setSelectOption = reactive([
imgSrc: changePassword,
path: '/changePassword'
},
{
id: 5,
content: '安全设置',
imgSrc: changePassword,
path: '/safeSetting'
},
{
id: 4,
content: '退出登录',

@ -89,6 +89,8 @@ import { message, notify } from "@/utils/message.js";
import axios from "axios";
import { useUserStore } from "@/store/user";
import { Icon } from 'vant';
import { getDeviceInfo } from "@/api/user";
const userStore = useUserStore();
const router = useRouter();
@ -96,7 +98,14 @@ const useInfo = reactive({
username: "",
password: "",
});
let verify_num = ref(1);
const getDeviceInfoMethods = async () => {
let { data } = await getDeviceInfo();
if (data.status == 1) {
verify_num.value = data.data.need_two_face;
}
};
getDeviceInfoMethods();
const isFocused = ref(false);
const stopInput = (e) => {
@ -121,16 +130,35 @@ const userLogin = async () => {
notify("请输入用户名或密码");
return;
}
let { data } = await getDeviceInfo();
if (data.status == 1) {
verify_num.value = data.data.need_two_face;
}
const res = await useLogin(useInfo);
if (res.data.code == 200) {
let { user_id, user_name } = res.data.data;
notify(res.data.desc, "success");
let userInfo = {
notify(res.data.message, "success");
if (verify_num.value != 2) {
notify("验证成功!", "success");
sessionStorage.setItem(
"userInfo",
JSON.stringify({ ...res.data.data, userId: user_id, userName: user_name })
);
router.push("/home");
return;
}
let isDouble = doubleUserLogin({
...res.data.data,
userId: user_id,
userName: user_name,
};
sessionStorage.setItem("userInfo", JSON.stringify(userInfo));
});
if (isDouble) {
router.push("/home");
} else {
useInfo.userName = "";
useInfo.userPwd = "";
}
} else {
notify(res.data.desc, "danger");
}
@ -181,6 +209,12 @@ const getPhotoLocal = async () => {
let imgUrl = saveAsPNG(canvasface.value);
let newImg = imgUrl.split('base64,')[1];
try {
{
let { data } = await getDeviceInfo();
if (data.status == 1) {
verify_num.value = data.data.need_two_face;
}
}
const res = await userFaceLogin({ raw: newImg });
let data = res.data;
console.log(data,'MMMMMMMMMM');
@ -189,20 +223,38 @@ const getPhotoLocal = async () => {
status.value = false;
console.log('id=====', id);
let res2 = await useIdLogin({ id });
let resData = res2.data;
console.log('resCode===', resData.code);
if (resData.code == 1) {
console.log('2次认证成功===', res);
let { user_id, user_name } = resData.data;
notify(resData.desc, "success");
let userInfo = {
let status2 = res2.data.status;
if (status2) {
let { user_id, user_name } = res2.data.data;
notify(res2.data.message, "success");
if (verify_num.value != 2) {
notify("验证成功!", "success");
sessionStorage.setItem(
"userInfo",
JSON.stringify({
...res2.data.data,
userId: user_id,
userName: user_name,
})
);
router.push("/home");
return;
}
// userStore.faceLoginMethods(res.data);
let isDouble = doubleUserLogin({
...res2.data.data,
userId: user_id,
userName: user_name,
};
sessionStorage.setItem("userInfo", JSON.stringify(userInfo));
});
if (isDouble) {
router.push("/home");
fnClose();
return;
}
notify("欢迎登录", "success");
} else {
notify('人脸认证失败', 'danger');
notify("人脸认证失败", "danger");
}
fnClose();
} else {

File diff suppressed because one or more lines are too long
Loading…
Cancel
Save