commit
a343bb4bec
@ -26,8 +26,9 @@ async def registerUser(ns):
|
|||||||
ns['username'] = ns['mobile']
|
ns['username'] = ns['mobile']
|
||||||
|
|
||||||
if ns.get('password'):
|
if ns.get('password'):
|
||||||
if len(ns.get('password')) < 6:
|
# 至少8位,包含大小写字母、特殊字符、数字
|
||||||
return {'status': False, 'msg': '密码必须6位数以上'}
|
if len(ns.get('password')) < 8 or not re.search(r'[a-zA-Z]', ns.get('password')) or not re.search(r'[0-9]', ns.get('password')) or not re.search(r'[!@#$%^&*()_+{}|:"<>?]', ns.get('password')):
|
||||||
|
return {'status': False, 'msg': '密码至少8位,包含大小写字母、特殊字符、数字'}
|
||||||
|
|
||||||
if not ns.get('codeid'):
|
if not ns.get('codeid'):
|
||||||
return {'status': False, 'msg': '验证码ID不能为空'}
|
return {'status': False, 'msg': '验证码ID不能为空'}
|
||||||
|
|||||||
@ -140,7 +140,7 @@ async def logintype(ns):
|
|||||||
async with db.sqlorContext('kboss') as sor:
|
async with db.sqlorContext('kboss') as sor:
|
||||||
|
|
||||||
domain_name = ns.get('domain_name')
|
domain_name = ns.get('domain_name')
|
||||||
if domain_name in ['www.opencomputing.cn', 'dev.opencomputing.cn', 'localhost:9527'] and ns.get('username') not in ['开元云(北京)科技有限公司', 'admin', 'kyy_root', 'kyy_kaiyuan', 'kyacloud', 'kyy_运营', 'kyy_销售', 'kyy_财务']:
|
if domain_name in ['www.opencomputing.cn', 'dev.opencomputing.cn', 'localhost:9527'] and ns.get('username') not in ['开元云(北京)科技有限公司', 'admin', 'kyy_root', 'kyy_kaiyuan', 'kyacloud', 'kyy_运营', 'kyy_销售', 'kyy_财务', '测试用户', 'kycloud']:
|
||||||
|
|
||||||
# 登录失败次数限制
|
# 登录失败次数限制
|
||||||
login_allowed = await check_login_allowed(ns.get('username'))
|
login_allowed = await check_login_allowed(ns.get('username'))
|
||||||
|
|||||||
@ -22,6 +22,8 @@
|
|||||||
<p @mouseleave="sildeOut" @mouseenter="sildeIn(product_service)">
|
<p @mouseleave="sildeOut" @mouseenter="sildeIn(product_service)">
|
||||||
<a>产品与服务</a>
|
<a>产品与服务</a>
|
||||||
</p>
|
</p>
|
||||||
|
<p class="nav-hover" @click="$router.push('/product')">模型广场</p>
|
||||||
|
<p class="nav-hover" @click="goYuanjing">元境</p>
|
||||||
<!-- 供需广场 -->
|
<!-- 供需广场 -->
|
||||||
<p :class="{ active: $route.path.includes('/supply') }">
|
<p :class="{ active: $route.path.includes('/supply') }">
|
||||||
<a @click="$router.push('/ncmatchHome/supplyAndDemandSquare')">供需广场</a>
|
<a @click="$router.push('/ncmatchHome/supplyAndDemandSquare')">供需广场</a>
|
||||||
@ -374,7 +376,10 @@ export default Vue.extend({
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
methods: {
|
methods: {
|
||||||
|
// 跳转元境 https://ai.opencomputing.cn/#/index
|
||||||
|
goYuanjing() {
|
||||||
|
window.open('https://ai.opencomputing.cn/#/index')
|
||||||
|
},
|
||||||
// 处理AI助手点击
|
// 处理AI助手点击
|
||||||
handleAIClick() {
|
handleAIClick() {
|
||||||
this.aiDialogVisible = true
|
this.aiDialogVisible = true
|
||||||
@ -1042,6 +1047,15 @@ export default Vue.extend({
|
|||||||
padding-right: 40px;
|
padding-right: 40px;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
|
&.nav-hover {
|
||||||
|
cursor: pointer;
|
||||||
|
transition: all 0.3s;
|
||||||
|
|
||||||
|
&:hover {
|
||||||
|
color: #1E6FFF;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
a {
|
a {
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
font-size: 18px !important;
|
font-size: 18px !important;
|
||||||
|
|||||||
@ -5,7 +5,7 @@
|
|||||||
<div class="category-nav">
|
<div class="category-nav">
|
||||||
<div v-for="category in panelData"
|
<div v-for="category in panelData"
|
||||||
:key="category.firTitle"
|
:key="category.firTitle"
|
||||||
class="nav-item"
|
class="nav-item"
|
||||||
:class="{ active: activeCategory === category.firTitle }"
|
:class="{ active: activeCategory === category.firTitle }"
|
||||||
@click="switchCategory(category)">
|
@click="switchCategory(category)">
|
||||||
{{ category.firTitle }}
|
{{ category.firTitle }}
|
||||||
|
|||||||
@ -162,7 +162,12 @@ export default {
|
|||||||
{ required: true, message: "请输入账户名", trigger: "blur" }
|
{ required: true, message: "请输入账户名", trigger: "blur" }
|
||||||
],
|
],
|
||||||
password: [
|
password: [
|
||||||
{ required: true, message: "请输入密码", trigger: "blur" }
|
{ required: true, message: "请输入密码", trigger: "blur" },
|
||||||
|
{
|
||||||
|
pattern: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[^A-Za-z\d]).{8,}$/,
|
||||||
|
message: "密码至少8位,且需包含大小写字母、数字和特殊字符",
|
||||||
|
trigger: "blur"
|
||||||
|
}
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
// 密码显示类型(password/text)
|
// 密码显示类型(password/text)
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user