|
@@ -19,6 +19,12 @@
|
|
/>
|
|
/>
|
|
<MenuDivider v-if="getShowDoc" />
|
|
<MenuDivider v-if="getShowDoc" />
|
|
<MenuItem
|
|
<MenuItem
|
|
|
|
+ v-if="getShowApi"
|
|
|
|
+ key="api"
|
|
|
|
+ :text="t('layout.header.dropdownChangeApi')"
|
|
|
|
+ icon="ant-design:swap-outlined"
|
|
|
|
+ />
|
|
|
|
+ <MenuItem
|
|
v-if="getUseLockPage"
|
|
v-if="getUseLockPage"
|
|
key="lock"
|
|
key="lock"
|
|
:text="t('layout.header.tooltipLock')"
|
|
:text="t('layout.header.tooltipLock')"
|
|
@@ -33,6 +39,7 @@
|
|
</template>
|
|
</template>
|
|
</Dropdown>
|
|
</Dropdown>
|
|
<LockAction @register="register" />
|
|
<LockAction @register="register" />
|
|
|
|
+ <ChangeApi @register="registerApi" />
|
|
</template>
|
|
</template>
|
|
<script lang="ts">
|
|
<script lang="ts">
|
|
// components
|
|
// components
|
|
@@ -55,7 +62,7 @@
|
|
|
|
|
|
import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent';
|
|
import { createAsyncComponent } from '/@/utils/factory/createAsyncComponent';
|
|
|
|
|
|
- type MenuEvent = 'logout' | 'doc' | 'lock';
|
|
|
|
|
|
+ type MenuEvent = 'logout' | 'doc' | 'lock' | 'api';
|
|
|
|
|
|
export default defineComponent({
|
|
export default defineComponent({
|
|
name: 'UserDropdown',
|
|
name: 'UserDropdown',
|
|
@@ -65,6 +72,7 @@
|
|
MenuItem: createAsyncComponent(() => import('./DropMenuItem.vue')),
|
|
MenuItem: createAsyncComponent(() => import('./DropMenuItem.vue')),
|
|
MenuDivider: Menu.Divider,
|
|
MenuDivider: Menu.Divider,
|
|
LockAction: createAsyncComponent(() => import('../lock/LockModal.vue')),
|
|
LockAction: createAsyncComponent(() => import('../lock/LockModal.vue')),
|
|
|
|
+ ChangeApi: createAsyncComponent(() => import('../ChangeApi/index.vue')),
|
|
},
|
|
},
|
|
props: {
|
|
props: {
|
|
theme: propTypes.oneOf(['dark', 'light']),
|
|
theme: propTypes.oneOf(['dark', 'light']),
|
|
@@ -72,7 +80,7 @@
|
|
setup() {
|
|
setup() {
|
|
const { prefixCls } = useDesign('header-user-dropdown');
|
|
const { prefixCls } = useDesign('header-user-dropdown');
|
|
const { t } = useI18n();
|
|
const { t } = useI18n();
|
|
- const { getShowDoc, getUseLockPage } = useHeaderSetting();
|
|
|
|
|
|
+ const { getShowDoc, getUseLockPage, getShowApi } = useHeaderSetting();
|
|
const userStore = useUserStore();
|
|
const userStore = useUserStore();
|
|
|
|
|
|
const getUserInfo = computed(() => {
|
|
const getUserInfo = computed(() => {
|
|
@@ -81,11 +89,16 @@
|
|
});
|
|
});
|
|
|
|
|
|
const [register, { openModal }] = useModal();
|
|
const [register, { openModal }] = useModal();
|
|
|
|
+ const [registerApi, { openModal: openApiModal }] = useModal();
|
|
|
|
|
|
function handleLock() {
|
|
function handleLock() {
|
|
openModal(true);
|
|
openModal(true);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ function handleApi() {
|
|
|
|
+ openApiModal(true, {});
|
|
|
|
+ }
|
|
|
|
+
|
|
// login out
|
|
// login out
|
|
function handleLoginOut() {
|
|
function handleLoginOut() {
|
|
userStore.confirmLoginOut();
|
|
userStore.confirmLoginOut();
|
|
@@ -107,6 +120,9 @@
|
|
case 'lock':
|
|
case 'lock':
|
|
handleLock();
|
|
handleLock();
|
|
break;
|
|
break;
|
|
|
|
+ case 'api':
|
|
|
|
+ handleApi();
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
@@ -116,7 +132,9 @@
|
|
getUserInfo,
|
|
getUserInfo,
|
|
handleMenuClick,
|
|
handleMenuClick,
|
|
getShowDoc,
|
|
getShowDoc,
|
|
|
|
+ getShowApi,
|
|
register,
|
|
register,
|
|
|
|
+ registerApi,
|
|
getUseLockPage,
|
|
getUseLockPage,
|
|
};
|
|
};
|
|
},
|
|
},
|