Commit 50614499 authored by 李鹏 's avatar 李鹏

interface connection

parent 26e74d52
...@@ -28,16 +28,21 @@ ...@@ -28,16 +28,21 @@
<el-input disabled v-model="authorizeFormData.system_version" /> <el-input disabled v-model="authorizeFormData.system_version" />
</el-form-item> </el-form-item>
<el-form-item label="User" prop="system_user"> <el-form-item label="User" prop="system_user">
<el-input placeholder="统一管理用户认证平台" v-model="authorizeFormData.system_user" /> <el-input placeholder="统一管理用户认证平台" v-model="authorizeFormData.system_user" maxlength="30" />
</el-form-item> </el-form-item>
<el-form-item label="Key" prop="license"> <el-form-item label="Key" prop="license">
<el-input placeholder="请输入" rows="5" v-model="authorizeFormData.license" type="textarea" /> <el-input
placeholder="请输入"
rows="5"
v-model="authorizeFormData.license"
type="textarea"
@blur="getLicenseInfo" />
</el-form-item> </el-form-item>
<el-form-item label="有效期至" prop="license_dead_date"> <el-form-item label="有效期至" prop="license_dead_date">
<el-input disabled v-model="authorizeFormData.license_dead_date" /> <el-input disabled v-model="authorizeFormData.license_dead_date" />
</el-form-item> </el-form-item>
<el-form-item label="剩余有效期提醒" prop="license_inform_day"> <el-form-item label="剩余有效期提醒" prop="license_inform_day">
<el-input placeholder="请输入" v-model="authorizeFormData.license_inform_day"> <el-input placeholder="请输入" v-model.trim.number="authorizeFormData.license_inform_day">
<template #append></template> <template #append></template>
</el-input> </el-input>
<el-tooltip placement="top-start" effect="light"> <el-tooltip placement="top-start" effect="light">
...@@ -69,11 +74,11 @@ ...@@ -69,11 +74,11 @@
<br /> <br />
<span>密码长度应至少8位字符</span> <span>密码长度应至少8位字符</span>
<br /> <br />
<span>弱:包含两种或两种以下的组合。</span> <span>弱:至少包含一种组合。</span>
<br /> <br />
<span>中:包含三种的组合。</span> <span>中:至少包含两种组合。</span>
<br /> <br />
<span>强:包含四种的组合。</span> <span>强:至少包含三种及以上组合。</span>
</template> </template>
<div class="tip-image"></div> <div class="tip-image"></div>
</el-tooltip> </el-tooltip>
...@@ -86,7 +91,7 @@ ...@@ -86,7 +91,7 @@
</el-form-item> </el-form-item>
</div> </div>
<el-form-item label="密码有效期" prop="pwd_validity"> <el-form-item label="密码有效期" prop="pwd_validity">
<el-input placeholder="请输入" v-model.number="secureFormData.pwd_validity"> <el-input placeholder="请输入" v-model.trim.number="secureFormData.pwd_validity" maxlength="3">
<template #append></template> <template #append></template>
</el-input> </el-input>
<el-tooltip placement="top-start" effect="light"> <el-tooltip placement="top-start" effect="light">
...@@ -101,7 +106,7 @@ ...@@ -101,7 +106,7 @@
</el-tooltip> </el-tooltip>
</el-form-item> </el-form-item>
<el-form-item label="会话有效期" prop="session_validity"> <el-form-item label="会话有效期" prop="session_validity">
<el-input placeholder="请输入" v-model.number="secureFormData.session_validity"> <el-input placeholder="请输入" v-model.trim.number="secureFormData.session_validity">
<template #append>分钟</template> <template #append>分钟</template>
</el-input> </el-input>
<el-tooltip placement="top-start" effect="light"> <el-tooltip placement="top-start" effect="light">
...@@ -148,18 +153,35 @@ ...@@ -148,18 +153,35 @@
<div class="input_password_config" v-if="registerFormData.login_config_state == 1"> <div class="input_password_config" v-if="registerFormData.login_config_state == 1">
<span></span> <span></span>
<el-form-item prop="login_limit_time" label-width="0"> <el-form-item prop="login_limit_time" label-width="0">
<el-input placeholder="请输入小时数" v-model.number="registerFormData.login_limit_time"></el-input> <el-input
placeholder="请输入小时数"
v-model.trim.number="registerFormData.login_limit_time"
maxlength="3"></el-input>
</el-form-item> </el-form-item>
<span>小时内</span> <span>小时内</span>
<el-form-item prop="login_pwd_error" label-width="0"> <el-form-item prop="login_pwd_error" label-width="0">
<el-input placeholder="请输入密码输错次数" v-model.number="registerFormData.login_pwd_error"></el-input> <el-input
placeholder="请输入密码输错次数"
v-model.trim.number="registerFormData.login_pwd_error"
maxlength="3"></el-input>
</el-form-item> </el-form-item>
<span>次输错密码,自动锁定</span> <span>次输错密码,自动锁定</span>
<el-form-item prop="login_lock_time" label-width="0"> <el-form-item prop="login_lock_time" label-width="0">
<el-input placeholder="请输入分钟数" v-model.number="registerFormData.login_lock_time"></el-input> <el-input
placeholder="请输入分钟数"
v-model.trim.number="registerFormData.login_lock_time"
maxlength="3"></el-input>
</el-form-item> </el-form-item>
<span>分钟</span> <span>分钟</span>
<el-button type="primary" @click="restoreLimited">一键还原受限</el-button> <el-button type="primary" @click="restoreDialog = true">一键还原受限</el-button>
<el-tooltip placement="top-start" effect="light">
<template #content>
<span>必须为大于0的正整数且不能为空</span>
<br />
<span>一键还原按钮将所有锁定的账号解锁并将输错次数还原</span>
</template>
<div class="tip-image"></div>
</el-tooltip>
</div> </div>
<bg-form-gap title="注册配置"></bg-form-gap> <bg-form-gap title="注册配置"></bg-form-gap>
<el-form-item label="允许注册" prop="register_config_state"> <el-form-item label="允许注册" prop="register_config_state">
...@@ -174,11 +196,7 @@ ...@@ -174,11 +196,7 @@
</div> </div>
</div> </div>
</div> </div>
<el-dialog <el-dialog class="dialog_box" title="提示" v-model="restoreDialog" width="420px">
class="dialog_box"
title="提示"
v-model="restoreDialog"
width="420px">
<div>该操作将还原所有锁定账号和输错次数,是否继续?</div> <div>该操作将还原所有锁定账号和输错次数,是否继续?</div>
<template v-slot:footer> <template v-slot:footer>
<div class="apaas_button"> <div class="apaas_button">
...@@ -195,38 +213,7 @@ import { reactive, toRefs, onBeforeMount, ref } from "vue"; ...@@ -195,38 +213,7 @@ import { reactive, toRefs, onBeforeMount, ref } from "vue";
import bgBreadcrumb from "@/components/bg-breadcrumb.vue"; import bgBreadcrumb from "@/components/bg-breadcrumb.vue";
import { ElMessage } from "element-plus"; import { ElMessage } from "element-plus";
import axios from "@/request/http.js"; import axios from "@/request/http.js";
const check_time = (rule, value, callback) => {
let reg = /^(0|[1-9][0-9]*)$/;
setTimeout(() => {
if (!reg.test(value)) {
callback(new Error("请输入0到90以内的整数且不能以0开头"));
} else if (value > 90) {
callback(new Error("请输入0到90以内的整数且不能以0开头"));
} else {
callback();
}
});
};
const check_valid_time = (rule, value, callback) => {
let reg = /^(0|[1-9][0-9]*)$/;
setTimeout(() => {
if (!reg.test(value)) {
callback(new Error("请输入整数且不能以0开头"));
} else {
callback();
}
});
};
const check_value = (rule, value, callback) => {
let reg = /^([1-9][0-9]*)$/;
setTimeout(() => {
if (!reg.test(value)) {
callback(new Error("请输入正整数"));
} else {
callback();
}
});
};
const authorizeFormRef = ref(null); const authorizeFormRef = ref(null);
const secureFormRef = ref(null); const secureFormRef = ref(null);
const registerFormRef = ref(null); const registerFormRef = ref(null);
...@@ -242,7 +229,7 @@ const state = reactive({ ...@@ -242,7 +229,7 @@ const state = reactive({
}, },
//授权表单校验规则 //授权表单校验规则
authorizeRules: { authorizeRules: {
license_inform_day: [{ validator: check_time, trigger: "blur" }], license_inform_day: [{ type: "number", min: 0, max: 90, message: "请输入0~90的整数", trigger: "blur" }],
}, },
//安全相关信息表单 //安全相关信息表单
...@@ -259,19 +246,17 @@ const state = reactive({ ...@@ -259,19 +246,17 @@ const state = reactive({
secureRules: { secureRules: {
pwd_validity: [ pwd_validity: [
{ {
validator: check_valid_time, type: "number",
message: "请输入大于或等于0的整数",
trigger: "blur", trigger: "blur",
}, },
], ],
session_validity: [ session_validity: [
{ {
validator: (rule, value, callback) => { type: "number",
if (value >= 10 && value <= 30) { min: 10,
callback(); max: 30,
} else { message: "请输入10~30的整数",
callback(new Error("请输入正整数,且会话有效期范围为10分钟至30分钟"));
}
},
trigger: "blur", trigger: "blur",
}, },
], ],
...@@ -289,19 +274,25 @@ const state = reactive({ ...@@ -289,19 +274,25 @@ const state = reactive({
registerRules: { registerRules: {
login_limit_time: [ login_limit_time: [
{ {
validator: check_value, type: "number",
min: 1,
message: "请输入正整数",
trigger: "blur", trigger: "blur",
}, },
], ],
login_pwd_error: [ login_pwd_error: [
{ {
validator: check_value, type: "number",
min: 1,
message: "请输入正整数",
trigger: "blur", trigger: "blur",
}, },
], ],
login_lock_time: [ login_lock_time: [
{ {
validator: check_value, type: "number",
min: 1,
message: "请输入正整数",
trigger: "blur", trigger: "blur",
}, },
], ],
...@@ -346,6 +337,23 @@ const getPreferenceConfig = () => { ...@@ -346,6 +337,23 @@ const getPreferenceConfig = () => {
} }
}); });
}; };
//根据license获取授权信息
const getLicenseInfo = () => {
if (!state.authorizeFormData.license) return;
axios
.post("/apaas/system/v5/sysOptions/getLicenseInfo", {
license: state.authorizeFormData.license,
})
.then((res) => {
if (res.data.code == 200) {
const data = res.data.data || {};
state.authorizeFormData.system_version = data.version;
state.authorizeFormData.license_dead_date = data.deadDate;
} else {
ElMessage.error(res.data.data);
}
});
};
//保存表单项 //保存表单项
const save = () => { const save = () => {
let params = {}; let params = {};
...@@ -356,8 +364,6 @@ const save = () => { ...@@ -356,8 +364,6 @@ const save = () => {
...state.authorizeFormData, ...state.authorizeFormData,
}; };
postData("/apaas/system/v5/sysOptions/licenseOpts", params); postData("/apaas/system/v5/sysOptions/licenseOpts", params);
} else {
ElMessage.error("请先将表单填写完整");
} }
}); });
} else if (state.activeIndex == 2) { } else if (state.activeIndex == 2) {
...@@ -367,8 +373,6 @@ const save = () => { ...@@ -367,8 +373,6 @@ const save = () => {
...state.secureFormData, ...state.secureFormData,
}; };
postData("/apaas/system/v5/sysOptions/safeOpts", params); postData("/apaas/system/v5/sysOptions/safeOpts", params);
} else {
ElMessage.error("请先将表单填写完整");
} }
}); });
} else { } else {
...@@ -383,8 +387,6 @@ const save = () => { ...@@ -383,8 +387,6 @@ const save = () => {
params.login_lock_time = 0; params.login_lock_time = 0;
} }
postData("/apaas/system/v5/sysOptions/loginOpts", params); postData("/apaas/system/v5/sysOptions/loginOpts", params);
} else {
ElMessage.error("请先将表单填写完整");
} }
}); });
} }
...@@ -394,28 +396,22 @@ const postData = (url, params) => { ...@@ -394,28 +396,22 @@ const postData = (url, params) => {
axios.post(url, params).then((res) => { axios.post(url, params).then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
ElMessage.success(res.data.msg); ElMessage.success(res.data.msg);
getPreferenceConfig();
} else { } else {
ElMessage.error(res.data.data); ElMessage.error(res.data.data);
} }
}); });
}; };
// 一键还原受限
const restoreLimited = () => {
state.restoreDialog = true
}
const confirm = () => { const confirm = () => {
axios.post(`/apaas/system/v5/sysOptions/reStartConfig`).then(res => { axios.post(`/apaas/system/v5/sysOptions/reStartConfig`).then((res) => {
if (res.data.code == 200) { if (res.data.code == 200) {
ElMessage.success(res.data.msg) ElMessage.success(res.data.msg);
state.restoreDialog = false state.restoreDialog = false;
}else { } else {
ElMessage.error(res.data.data) ElMessage.error(res.data.data);
} }
}) });
} };
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
......
...@@ -129,7 +129,7 @@ const instanceData = reactive({ ...@@ -129,7 +129,7 @@ const instanceData = reactive({
status: [ status: [
{ {
required: true, required: true,
message: "请选择状态", message: "请选择",
}, },
], ],
}, },
......
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