fix: 修改bug
This commit is contained in:
parent
c4faec62c1
commit
42745b19a1
|
@ -16,7 +16,7 @@
|
||||||
</template>
|
</template>
|
||||||
<j-spin :spinning="loading">
|
<j-spin :spinning="loading">
|
||||||
<div class="content">
|
<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">
|
<template v-for="i in list" :key="i.id">
|
||||||
<NoticeItem
|
<NoticeItem
|
||||||
:data="i"
|
:data="i"
|
||||||
|
@ -179,7 +179,7 @@ const onMore = (key: string) => {
|
||||||
|
|
||||||
.content {
|
.content {
|
||||||
.list {
|
.list {
|
||||||
max-height: 400px;
|
max-height: 450px;
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
padding: 0;
|
padding: 0;
|
||||||
margin: 0;
|
margin: 0;
|
||||||
|
|
|
@ -84,33 +84,27 @@
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<h1>1.概述</h1>
|
<h1>1.概述</h1>
|
||||||
<div>钉钉企业内部应用适用于通过钉钉登录<span>物联网平台</span></div>
|
<div>配置成功后,用户可以采用钉钉扫码授权的方式登录<span>物联网平台</span></div>
|
||||||
<div class="image">
|
<div class="image">
|
||||||
<j-image width="100%" :src="img4" />
|
<j-image width="100%" :src="img4" />
|
||||||
</div>
|
</div>
|
||||||
<h1>2.接入方式说明</h1>
|
|
||||||
<div>1、单点登录</div>
|
|
||||||
<div>通过钉钉账号登录到物联网平台。</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div v-show="props.type === 'wechat-webapp'">
|
<div v-show="props.type === 'wechat-webapp'">
|
||||||
<div class="url">
|
<div class="url">
|
||||||
微信开放平台:
|
微信开放平台:
|
||||||
<a
|
<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"
|
target="_blank"
|
||||||
rel="noopener noreferrer"
|
rel="noopener noreferrer"
|
||||||
>
|
>
|
||||||
https://open.weixin.qq.com
|
https://open.weixin.qq.com/cgi-bin/frame?t=home/web_tmpl&lang=zh_CN
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
<h1>1.概述</h1>
|
<h1>1.概述</h1>
|
||||||
<div>微信网站应用适用于通过微信授权登录<span>物联网平台</span></div>
|
<div>配置成功后,用户可以采用微信扫码授权的方式登录<span>物联网平台</span></div>
|
||||||
<div class="image">
|
<div class="image">
|
||||||
<j-image width="100%" :src="img3" />
|
<j-image width="100%" :src="img3" />
|
||||||
</div>
|
</div>
|
||||||
<h1>2.接入方式说明</h1>
|
|
||||||
<div>1、单点登录</div>
|
|
||||||
<div>通过微信账号登录到物联网平台。</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div v-show="props.type === 'third-party'">
|
<div v-show="props.type === 'third-party'">
|
||||||
<h1>1. 概述</h1>
|
<h1>1. 概述</h1>
|
||||||
|
@ -157,7 +151,21 @@
|
||||||
<div>通过<span>第三方平台账号</span>登录到物联网平台。</div>
|
<div>通过<span>第三方平台账号</span>登录到物联网平台。</div>
|
||||||
</div>
|
</div>
|
||||||
<div v-show="props.type === 'wechat-miniapp'">
|
<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>
|
||||||
</div>
|
</div>
|
||||||
</template>
|
</template>
|
||||||
|
@ -180,6 +188,7 @@ const img5 = getImage('/apply/5.png');
|
||||||
.does-container {
|
.does-container {
|
||||||
padding: 24px;
|
padding: 24px;
|
||||||
overflow-y: auto;
|
overflow-y: auto;
|
||||||
|
height: 100%;
|
||||||
color: rgba(#000, 0.8);
|
color: rgba(#000, 0.8);
|
||||||
font-size: 14px;
|
font-size: 14px;
|
||||||
background-color: #fafafa;
|
background-color: #fafafa;
|
||||||
|
@ -188,6 +197,7 @@ const img5 = getImage('/apply/5.png');
|
||||||
padding: 8px 16px;
|
padding: 8px 16px;
|
||||||
color: #2f54eb;
|
color: #2f54eb;
|
||||||
background-color: rgba(#a7bdf7, 0.2);
|
background-color: rgba(#a7bdf7, 0.2);
|
||||||
|
word-wrap: break-word;
|
||||||
}
|
}
|
||||||
|
|
||||||
h1 {
|
h1 {
|
||||||
|
|
|
@ -67,6 +67,7 @@
|
||||||
<j-collapse-panel
|
<j-collapse-panel
|
||||||
v-for="(item, index) in form.data.integrationModes"
|
v-for="(item, index) in form.data.integrationModes"
|
||||||
:key="item + index"
|
:key="item + index"
|
||||||
|
:forceRender="true"
|
||||||
>
|
>
|
||||||
<template #header>
|
<template #header>
|
||||||
<span>
|
<span>
|
||||||
|
@ -1226,11 +1227,7 @@
|
||||||
|
|
||||||
<!-- 钉钉 + 微信 -->
|
<!-- 钉钉 + 微信 -->
|
||||||
<j-form-item
|
<j-form-item
|
||||||
v-if="
|
v-if="['wechat-miniapp', 'wechat-webapp', 'dingtalk-ent-app'].includes(form.data?.provider)"
|
||||||
form.data.provider === 'wechat-webapp' ||
|
|
||||||
form.data.provider === 'dingtalk-ent-app' ||
|
|
||||||
'wechat-miniapp'
|
|
||||||
"
|
|
||||||
class="resetLabel"
|
class="resetLabel"
|
||||||
:name="['sso', 'configuration', 'appSecret']"
|
:name="['sso', 'configuration', 'appSecret']"
|
||||||
:rules="[
|
:rules="[
|
||||||
|
@ -1297,14 +1294,17 @@
|
||||||
required: true,
|
required: true,
|
||||||
message: '请输入默认密码',
|
message: '请输入默认密码',
|
||||||
},
|
},
|
||||||
|
// {
|
||||||
|
// min: 8,
|
||||||
|
// message: '最少输入8个字符',
|
||||||
|
// },
|
||||||
|
// {
|
||||||
|
// max: 64,
|
||||||
|
// message: '最多可输入64个字符',
|
||||||
|
// },
|
||||||
{
|
{
|
||||||
min: 8,
|
validator: checkPassword,
|
||||||
message: '最少输入8个字符',
|
}
|
||||||
},
|
|
||||||
{
|
|
||||||
max: 64,
|
|
||||||
message: '最多可输入64个字符',
|
|
||||||
},
|
|
||||||
]"
|
]"
|
||||||
>
|
>
|
||||||
<j-input
|
<j-input
|
||||||
|
@ -1408,7 +1408,7 @@
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
import { testIP } from '@/utils/validate';
|
import { passwordRegEx, testIP } from '@/utils/validate';
|
||||||
|
|
||||||
import {
|
import {
|
||||||
getDepartmentList_api,
|
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(() => {
|
const joinOptions = computed(() => {
|
||||||
return (
|
return (
|
||||||
|
@ -1756,7 +1769,7 @@ function clickSave() {
|
||||||
params.integrationModes.includes('apiServer') &&
|
params.integrationModes.includes('apiServer') &&
|
||||||
params.integrationModes.length === 2)
|
params.integrationModes.length === 2)
|
||||||
) {
|
) {
|
||||||
return message.warning('配置单点登录需同时配置API客服端');
|
return message.warning('配置单点登录需同时配置API客户端');
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1,13 +1,15 @@
|
||||||
<template>
|
<template>
|
||||||
<page-container>
|
<page-container>
|
||||||
<div class="save-container">
|
<full-page>
|
||||||
<j-row :gutter="24">
|
<div class="save-container">
|
||||||
<j-col :span="14">
|
<div class="left">
|
||||||
<EditForm @change-apply-type="chengeType" />
|
<j-scrollbar>
|
||||||
</j-col>
|
<EditForm @change-apply-type="changeType" />
|
||||||
<j-col :span="10"><Does :type="rightType" /></j-col>
|
</j-scrollbar>
|
||||||
</j-row>
|
</div>
|
||||||
</div>
|
<div class="right"><Does :type="rightType" /></div>
|
||||||
|
</div>
|
||||||
|
</full-page>
|
||||||
</page-container>
|
</page-container>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
|
@ -17,14 +19,26 @@ import EditForm from './components/EditForm.vue';
|
||||||
import type { applyType } from './typing';
|
import type { applyType } from './typing';
|
||||||
|
|
||||||
const rightType = ref<applyType>('internal-standalone');
|
const rightType = ref<applyType>('internal-standalone');
|
||||||
const chengeType = (newType: applyType) => {
|
const changeType = (newType: applyType) => {
|
||||||
rightType.value = newType;
|
rightType.value = newType;
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="less" scoped>
|
<style lang="less" scoped>
|
||||||
.save-container {
|
.save-container {
|
||||||
background-color: #fff;
|
|
||||||
padding: 24px;
|
padding: 24px;
|
||||||
|
display: flex;
|
||||||
|
gap: 24px;
|
||||||
|
min-height: 100%;
|
||||||
|
|
||||||
|
.left {
|
||||||
|
flex: 1;
|
||||||
|
height: calc(100vh - 166px);
|
||||||
|
}
|
||||||
|
|
||||||
|
.right {
|
||||||
|
min-width: 410px;
|
||||||
|
width: 33.33333%;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
|
|
Loading…
Reference in New Issue