|
|
@ -13,8 +13,8 @@ |
|
|
ref="formElRef" |
|
|
ref="formElRef" |
|
|
:model="modelRef" |
|
|
:model="modelRef" |
|
|
:rules="formRules" |
|
|
:rules="formRules" |
|
|
:label-col="labelCol" |
|
|
:label-col="{ span: 6 }" |
|
|
:wrapper-col="wrapperCol" |
|
|
:wrapper-col="{ span: 18 }" |
|
|
> |
|
|
> |
|
|
<Tabs |
|
|
<Tabs |
|
|
v-model:activeKey="tabActivedKey" |
|
|
v-model:activeKey="tabActivedKey" |
|
|
@ -74,18 +74,18 @@ |
|
|
</span> |
|
|
</span> |
|
|
<template #overlay> |
|
|
<template #overlay> |
|
|
<Menu @click="handleClickUrlsMenu"> |
|
|
<Menu @click="handleClickUrlsMenu"> |
|
|
<MenuItem key="client-callback">{{ L('Client:CallbackUrl') }}</MenuItem> |
|
|
<MenuItem key="ClientCallback">{{ L('Client:CallbackUrl') }}</MenuItem> |
|
|
<MenuItem key="client-cors-origins">{{ |
|
|
<MenuItem key="ClientCorsOrigins">{{ |
|
|
L('Client:AllowedCorsOrigins') |
|
|
L('Client:AllowedCorsOrigins') |
|
|
}}</MenuItem> |
|
|
}}</MenuItem> |
|
|
<MenuItem key="client-logout-redirect-uris">{{ |
|
|
<MenuItem key="ClientLogoutRedirectUris">{{ |
|
|
L('Client:PostLogoutRedirectUri') |
|
|
L('Client:PostLogoutRedirectUri') |
|
|
}}</MenuItem> |
|
|
}}</MenuItem> |
|
|
</Menu> |
|
|
</Menu> |
|
|
</template> |
|
|
</template> |
|
|
</Dropdown> |
|
|
</Dropdown> |
|
|
</template> |
|
|
</template> |
|
|
<component :is="urlsComponent" :modelRef="modelRef" /> |
|
|
<component :is="componentsRef[urlsComponent]" :modelRef="modelRef" /> |
|
|
</TabPane> |
|
|
</TabPane> |
|
|
|
|
|
|
|
|
<!-- 资源 --> |
|
|
<!-- 资源 --> |
|
|
@ -98,13 +98,13 @@ |
|
|
</span> |
|
|
</span> |
|
|
<template #overlay> |
|
|
<template #overlay> |
|
|
<Menu @click="handleClickResourcesMenu"> |
|
|
<Menu @click="handleClickResourcesMenu"> |
|
|
<MenuItem key="client-api-resource">{{ L('Resource:Api') }}</MenuItem> |
|
|
<MenuItem key="ClientApiResource">{{ L('Resource:Api') }}</MenuItem> |
|
|
<MenuItem key="client-identity-resource">{{ L('Resource:Identity') }}</MenuItem> |
|
|
<MenuItem key="ClientIdentityResource">{{ L('Resource:Identity') }}</MenuItem> |
|
|
</Menu> |
|
|
</Menu> |
|
|
</template> |
|
|
</template> |
|
|
</Dropdown> |
|
|
</Dropdown> |
|
|
</template> |
|
|
</template> |
|
|
<component :is="resourcesComponent" :modelRef="modelRef" /> |
|
|
<component :is="componentsRef[resourcesComponent]" :modelRef="modelRef" /> |
|
|
</TabPane> |
|
|
</TabPane> |
|
|
|
|
|
|
|
|
<!-- 认证/注销 --> |
|
|
<!-- 认证/注销 --> |
|
|
@ -256,27 +256,28 @@ |
|
|
</span> |
|
|
</span> |
|
|
<template #overlay> |
|
|
<template #overlay> |
|
|
<Menu @click="handleClickAdvancedMenu"> |
|
|
<Menu @click="handleClickAdvancedMenu"> |
|
|
<MenuItem key="client-secret">{{ L('Secret') }}</MenuItem> |
|
|
<MenuItem key="ClientSecret">{{ L('Secret') }}</MenuItem> |
|
|
<MenuItem key="client-claim">{{ L('Claims') }}</MenuItem> |
|
|
<MenuItem key="ClientClaim">{{ L('Claims') }}</MenuItem> |
|
|
<MenuItem key="client-properties">{{ L('Propertites') }}</MenuItem> |
|
|
<MenuItem key="ClientProperties">{{ L('Propertites') }}</MenuItem> |
|
|
<MenuItem key="client-grant-type">{{ L('Client:AllowedGrantTypes') }}</MenuItem> |
|
|
<MenuItem key="ClientGrantType">{{ L('Client:AllowedGrantTypes') }}</MenuItem> |
|
|
<MenuItem key="client-identity-provider">{{ |
|
|
<MenuItem key="ClientIdentityProvider">{{ |
|
|
L('Client:IdentityProviderRestrictions') |
|
|
L('Client:IdentityProviderRestrictions') |
|
|
}}</MenuItem> |
|
|
}}</MenuItem> |
|
|
</Menu> |
|
|
</Menu> |
|
|
</template> |
|
|
</template> |
|
|
</Dropdown> |
|
|
</Dropdown> |
|
|
</template> |
|
|
</template> |
|
|
<component :is="advancedComponent" :modelRef="modelRef" /> |
|
|
<component :is="componentsRef[advancedComponent]" :modelRef="modelRef" /> |
|
|
</TabPane> |
|
|
</TabPane> |
|
|
</Tabs> |
|
|
</Tabs> |
|
|
</Form> |
|
|
</Form> |
|
|
</BasicModal> |
|
|
</BasicModal> |
|
|
</template> |
|
|
</template> |
|
|
|
|
|
|
|
|
<script lang="ts"> |
|
|
<script lang="ts" setup> |
|
|
import { defineComponent, ref } from 'vue'; |
|
|
import { ref, shallowRef } from 'vue'; |
|
|
import { useTabsStyle } from '/@/hooks/component/useStyles'; |
|
|
import { useTabsStyle } from '/@/hooks/component/useStyles'; |
|
|
|
|
|
import { useMessage } from '/@/hooks/web/useMessage'; |
|
|
import { useLocalization } from '/@/hooks/abp/useLocalization'; |
|
|
import { useLocalization } from '/@/hooks/abp/useLocalization'; |
|
|
import { DownOutlined } from '@ant-design/icons-vue'; |
|
|
import { DownOutlined } from '@ant-design/icons-vue'; |
|
|
import { Checkbox, Dropdown, Menu, Tabs, Form, Input, InputNumber, Select } from 'ant-design-vue'; |
|
|
import { Checkbox, Dropdown, Menu, Tabs, Form, Input, InputNumber, Select } from 'ant-design-vue'; |
|
|
@ -293,44 +294,36 @@ |
|
|
import ClientProperties from './ClientProperties.vue'; |
|
|
import ClientProperties from './ClientProperties.vue'; |
|
|
import ClientGrantType from './ClientGrantType.vue'; |
|
|
import ClientGrantType from './ClientGrantType.vue'; |
|
|
import ClientIdentityProvider from './ClientIdentityProvider.vue'; |
|
|
import ClientIdentityProvider from './ClientIdentityProvider.vue'; |
|
|
export default defineComponent({ |
|
|
|
|
|
name: 'ClientModal', |
|
|
const FormItem = Form.Item; |
|
|
components: { |
|
|
const MenuItem = Menu.Item; |
|
|
ClientCallback, |
|
|
const TabPane = Tabs.TabPane; |
|
|
ClientCorsOrigins, |
|
|
const TextArea = Input.TextArea; |
|
|
ClientLogoutRedirectUris, |
|
|
const Option = Select.Option; |
|
|
ClientApiResource, |
|
|
|
|
|
ClientIdentityResource, |
|
|
const componentsRef = shallowRef({ |
|
|
ClientSecret, |
|
|
'ClientCallback': ClientCallback, |
|
|
ClientClaim, |
|
|
'ClientCorsOrigins': ClientCorsOrigins, |
|
|
ClientProperties, |
|
|
'ClientLogoutRedirectUris': ClientLogoutRedirectUris, |
|
|
ClientGrantType, |
|
|
'ClientApiResource': ClientApiResource, |
|
|
ClientIdentityProvider, |
|
|
'ClientIdentityResource': ClientIdentityResource, |
|
|
BasicModal, |
|
|
'ClientSecret': ClientSecret, |
|
|
DownOutlined, |
|
|
'ClientClaim': ClientClaim, |
|
|
Form, |
|
|
'ClientProperties': ClientProperties, |
|
|
FormItem: Form.Item, |
|
|
'ClientGrantType': ClientGrantType, |
|
|
Dropdown, |
|
|
'ClientIdentityProvider': ClientIdentityProvider, |
|
|
Menu, |
|
|
}); |
|
|
MenuItem: Menu.Item, |
|
|
|
|
|
Tabs, |
|
|
const emits = defineEmits(['change', 'register']); |
|
|
TabPane: Tabs.TabPane, |
|
|
|
|
|
BInput, |
|
|
const { createMessage } = useMessage(); |
|
|
InputNumber, |
|
|
|
|
|
TextArea: Input.TextArea, |
|
|
|
|
|
Checkbox, |
|
|
|
|
|
Select, |
|
|
|
|
|
Option: Select.Option, |
|
|
|
|
|
}, |
|
|
|
|
|
emits: ['change', 'register'], |
|
|
|
|
|
setup(_, { emit }) { |
|
|
|
|
|
const { L } = useLocalization('AbpIdentityServer'); |
|
|
const { L } = useLocalization('AbpIdentityServer'); |
|
|
const formElRef = ref<any>(null); |
|
|
const formElRef = ref<any>(null); |
|
|
const modelIdRef = ref(''); |
|
|
const modelIdRef = ref(''); |
|
|
const tabActivedKey = ref('basic'); |
|
|
const tabActivedKey = ref('basic'); |
|
|
const advancedComponent = ref('client-secret'); |
|
|
const advancedComponent = ref('ClientSecret'); |
|
|
const urlsComponent = ref('client-callback'); |
|
|
const urlsComponent = ref('ClientCallback'); |
|
|
const resourcesComponent = ref('client-api-resource'); |
|
|
const resourcesComponent = ref('ClientApiResource'); |
|
|
const [registerModal, { changeOkLoading }] = useModalInner((val) => { |
|
|
const [registerModal, { changeOkLoading }] = useModalInner((val) => { |
|
|
modelIdRef.value = val.id; |
|
|
modelIdRef.value = val.id; |
|
|
}); |
|
|
}); |
|
|
@ -366,39 +359,13 @@ |
|
|
|
|
|
|
|
|
function handleOk() { |
|
|
function handleOk() { |
|
|
changeOkLoading(true); |
|
|
changeOkLoading(true); |
|
|
handleSubmit() |
|
|
handleSubmit().then(() => { |
|
|
.then(() => { |
|
|
createMessage.success(L('Successful')); |
|
|
emit('change'); |
|
|
emits('change'); |
|
|
}) |
|
|
}).finally(() => { |
|
|
.finally(() => { |
|
|
|
|
|
changeOkLoading(false); |
|
|
changeOkLoading(false); |
|
|
}); |
|
|
}); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
return { |
|
|
|
|
|
L, |
|
|
|
|
|
isEdit, |
|
|
|
|
|
formElRef, |
|
|
|
|
|
formRules, |
|
|
|
|
|
formTitle, |
|
|
|
|
|
tabsStyle, |
|
|
|
|
|
tabActivedKey, |
|
|
|
|
|
registerModal, |
|
|
|
|
|
modelRef, |
|
|
|
|
|
labelCol: { span: 6 }, |
|
|
|
|
|
wrapperCol: { span: 18 }, |
|
|
|
|
|
advancedComponent, |
|
|
|
|
|
urlsComponent, |
|
|
|
|
|
resourcesComponent, |
|
|
|
|
|
handleClickUrlsMenu, |
|
|
|
|
|
handleClickResourcesMenu, |
|
|
|
|
|
handleClickAdvancedMenu, |
|
|
|
|
|
handleChangeTab, |
|
|
|
|
|
handleVisibleModal, |
|
|
|
|
|
handleOk, |
|
|
|
|
|
}; |
|
|
|
|
|
}, |
|
|
|
|
|
}); |
|
|
|
|
|
</script> |
|
|
</script> |
|
|
|
|
|
|
|
|
<style lang="less" scoped> |
|
|
<style lang="less" scoped> |
|
|
|