fix: 修改bug

This commit is contained in:
100011797 2023-07-06 18:15:40 +08:00
parent c4faec62c1
commit 42745b19a1
4 changed files with 74 additions and 37 deletions

View File

@ -16,7 +16,7 @@
</template>
<j-spin :spinning="loading">
<div class="content">
<j-scrollbar class="list" max-height="400" v-if="total">
<j-scrollbar class="list" :max-height="450" v-if="total">
<template v-for="i in list" :key="i.id">
<NoticeItem
:data="i"
@ -179,7 +179,7 @@ const onMore = (key: string) => {
.content {
.list {
max-height: 400px;
max-height: 450px;
overflow: auto;
padding: 0;
margin: 0;

View File

@ -84,33 +84,27 @@
</a>
</div>
<h1>1.概述</h1>
<div>钉钉企业内部应用适用于通过钉钉登录<span>物联网平台</span></div>
<div>配置成功后用户可以采用钉钉扫码授权的方式登录<span>物联网平台</span></div>
<div class="image">
<j-image width="100%" :src="img4" />
</div>
<h1>2.接入方式说明</h1>
<div>1单点登录</div>
<div>通过钉钉账号登录到物联网平台</div>
</div>
<div v-show="props.type === 'wechat-webapp'">
<div class="url">
微信开放平台
<a
href="https://open.weixin.qq.com"
href="https://open.weixin.qq.com/cgi-bin/frame?t=home/web_tmpl&lang=zh_CN"
target="_blank"
rel="noopener noreferrer"
>
https://open.weixin.qq.com
https://open.weixin.qq.com/cgi-bin/frame?t=home/web_tmpl&lang=zh_CN
</a>
</div>
<h1>1.概述</h1>
<div>微信网站应用适用于通过微信授权登录<span>物联网平台</span></div>
<div>配置成功后用户可以采用微信扫码授权的方式登录<span>物联网平台</span></div>
<div class="image">
<j-image width="100%" :src="img3" />
</div>
<h1>2.接入方式说明</h1>
<div>1单点登录</div>
<div>通过微信账号登录到物联网平台</div>
</div>
<div v-show="props.type === 'third-party'">
<h1>1. 概述</h1>
@ -157,7 +151,21 @@
<div>通过<span>第三方平台账号</span>登录到物联网平台</div>
</div>
<div v-show="props.type === 'wechat-miniapp'">
暂未开发
<div class="url">
小程序开放平台:
<a
href="https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-login/code2Session.html"
target="_blank"
rel="noopener noreferrer"
>
https://developers.weixin.qq.com/miniprogram/dev/OpenApiDoc/user-login/code2Session.html
</a>
</div>
<h1>1.概述</h1>
<div>配置成功后平台用户可以在微信小程序中授权登录<span>物联网平台</span></div>
<div class="image">
<j-image width="100%" :src="img3" />
</div>
</div>
</div>
</template>
@ -180,6 +188,7 @@ const img5 = getImage('/apply/5.png');
.does-container {
padding: 24px;
overflow-y: auto;
height: 100%;
color: rgba(#000, 0.8);
font-size: 14px;
background-color: #fafafa;
@ -188,6 +197,7 @@ const img5 = getImage('/apply/5.png');
padding: 8px 16px;
color: #2f54eb;
background-color: rgba(#a7bdf7, 0.2);
word-wrap: break-word;
}
h1 {

View File

@ -67,6 +67,7 @@
<j-collapse-panel
v-for="(item, index) in form.data.integrationModes"
:key="item + index"
:forceRender="true"
>
<template #header>
<span>
@ -1226,11 +1227,7 @@
<!-- 钉钉 + 微信 -->
<j-form-item
v-if="
form.data.provider === 'wechat-webapp' ||
form.data.provider === 'dingtalk-ent-app' ||
'wechat-miniapp'
"
v-if="['wechat-miniapp', 'wechat-webapp', 'dingtalk-ent-app'].includes(form.data?.provider)"
class="resetLabel"
:name="['sso', 'configuration', 'appSecret']"
:rules="[
@ -1297,14 +1294,17 @@
required: true,
message: '请输入默认密码',
},
// {
// min: 8,
// message: '8',
// },
// {
// max: 64,
// message: '64',
// },
{
min: 8,
message: '最少输入8个字符',
},
{
max: 64,
message: '最多可输入64个字符',
},
validator: checkPassword,
}
]"
>
<j-input
@ -1408,7 +1408,7 @@
</template>
<script setup lang="ts">
import { testIP } from '@/utils/validate';
import { passwordRegEx, testIP } from '@/utils/validate';
import {
getDepartmentList_api,
@ -1590,6 +1590,19 @@ onMounted(async () => {
}
});
const checkPassword = (_rule: Rule, value: string) => {
return new Promise((resolve, reject) => {
if (!value) return resolve('');
else if (value.length > 64) return reject('最多可输入64个字符');
else if (value.length < 8) return reject('密码不能少于8位');
else if (!passwordRegEx(value)) {
return reject('密码必须包含大小写英文和数字');
} else {
resolve('')
}
})
}
//
const joinOptions = computed(() => {
return (
@ -1756,7 +1769,7 @@ function clickSave() {
params.integrationModes.includes('apiServer') &&
params.integrationModes.length === 2)
) {
return message.warning('配置单点登录需同时配置API客端');
return message.warning('配置单点登录需同时配置API客端');
}
}

View File

@ -1,13 +1,15 @@
<template>
<page-container>
<full-page>
<div class="save-container">
<j-row :gutter="24">
<j-col :span="14">
<EditForm @change-apply-type="chengeType" />
</j-col>
<j-col :span="10"><Does :type="rightType" /></j-col>
</j-row>
<div class="left">
<j-scrollbar>
<EditForm @change-apply-type="changeType" />
</j-scrollbar>
</div>
<div class="right"><Does :type="rightType" /></div>
</div>
</full-page>
</page-container>
</template>
@ -17,14 +19,26 @@ import EditForm from './components/EditForm.vue';
import type { applyType } from './typing';
const rightType = ref<applyType>('internal-standalone');
const chengeType = (newType: applyType) => {
const changeType = (newType: applyType) => {
rightType.value = newType;
};
</script>
<style lang="less" scoped>
.save-container {
background-color: #fff;
padding: 24px;
display: flex;
gap: 24px;
min-height: 100%;
.left {
flex: 1;
height: calc(100vh - 166px);
}
.right {
min-width: 410px;
width: 33.33333%;
}
}
</style>