mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-04 00:10:25 +08:00
release: v1.9.1
This commit is contained in:
@@ -59,7 +59,7 @@
|
||||
"eslint": "^8.35.0",
|
||||
"eslint-plugin-vue": "^9.28.0",
|
||||
"prettier": "^3.2.5",
|
||||
"sass": "^1.80.6",
|
||||
"sass": "^1.81.0",
|
||||
"typescript": "^5.6.3",
|
||||
"vite": "^5.4.11",
|
||||
"vue-eslint-parser": "^9.4.3"
|
||||
|
||||
@@ -15,7 +15,7 @@ const config = {
|
||||
baseWsUrl: `${(window as any).globalConfig.BaseWsUrl || `${location.protocol == 'https:' ? 'wss:' : 'ws:'}//${getBaseApiUrl()}`}/api`,
|
||||
|
||||
// 系统版本
|
||||
version: 'v1.9.0',
|
||||
version: 'v1.9.1',
|
||||
};
|
||||
|
||||
export default config;
|
||||
|
||||
@@ -44,10 +44,10 @@ export default {
|
||||
testConn: 'Test Connection',
|
||||
usernameExist: 'The username already exists in the account list',
|
||||
publicAc: 'Public credentials',
|
||||
acTypeEnumPublic: 'Public credentials',
|
||||
acTypeEnumPrivate: 'Ordinary certificate',
|
||||
acTypeEnumPrivileged: 'Privilege credentials',
|
||||
acTypeEnumPrivateDefault: 'Default credentials',
|
||||
acTypeEnumPublic: 'Public',
|
||||
acTypeEnumPrivate: 'Ordinary',
|
||||
acTypeEnumPrivileged: 'Privilege',
|
||||
acTypeEnumPrivateDefault: 'Default',
|
||||
ciphertextTypeEnumPassword: 'Password',
|
||||
ciphertextTypeEnumPrivateKey: 'Private key',
|
||||
ciphertextTypeEnumPublic: 'Public credentials',
|
||||
|
||||
@@ -5,7 +5,6 @@
|
||||
<img :src="themeConfig.logoIcon" />
|
||||
<div class="login-left-logo-text">
|
||||
<span>{{ themeConfig.globalViceTitle }}</span>
|
||||
<!-- <span class="login-left-logo-text-msg">mayfly-go</span> -->
|
||||
</div>
|
||||
</div>
|
||||
<div class="login-left-img">
|
||||
@@ -13,12 +12,49 @@
|
||||
</div>
|
||||
<img :src="loginBgSplitImg" class="login-left-waves" />
|
||||
</div>
|
||||
|
||||
<div class="login-right flex">
|
||||
<div class="login-right-warp flex-margin">
|
||||
<span class="login-right-warp-one"></span>
|
||||
<span class="login-right-warp-one"> </span>
|
||||
<span class="login-right-warp-two"></span>
|
||||
|
||||
<div class="login-right-warp-mian">
|
||||
<div class="login-right-warp-main-title">{{ themeConfig.globalViceTitle }}</div>
|
||||
<div class="login-right-warp-main-title">
|
||||
{{ themeConfig.globalViceTitle }}
|
||||
|
||||
<el-dropdown
|
||||
:show-timeout="70"
|
||||
:hide-timeout="50"
|
||||
trigger="click"
|
||||
@command="
|
||||
(lang: string) => {
|
||||
themeConfig.globalI18n = lang;
|
||||
}
|
||||
"
|
||||
>
|
||||
<div>
|
||||
<SvgIcon
|
||||
:size="16"
|
||||
:name="EnumValue.getEnumByValue(I18nEnum, themeConfig.globalI18n)?.extra.icon"
|
||||
:title="$t('layout.user.langSwitch')"
|
||||
style="margin-top: 50px; margin-left: 20px"
|
||||
/>
|
||||
</div>
|
||||
<template #dropdown>
|
||||
<el-dropdown-menu>
|
||||
<el-dropdown-item
|
||||
v-for="item in I18nEnum"
|
||||
:key="item.value"
|
||||
:command="item.value"
|
||||
:disabled="themeConfig.globalI18n === item.value"
|
||||
>
|
||||
{{ item.label }}
|
||||
</el-dropdown-item>
|
||||
</el-dropdown-menu>
|
||||
</template>
|
||||
</el-dropdown>
|
||||
</div>
|
||||
|
||||
<div class="login-right-warp-main-form">
|
||||
<div v-if="!state.isScan">
|
||||
<el-tabs v-model="state.tabsActiveName">
|
||||
@@ -27,9 +63,9 @@
|
||||
</el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
<div class="mt20" v-show="state.oauth2LoginConfig.enable">
|
||||
<el-button link size="small">{{ $t('login.thirdPartyLogin') }}: </el-button>
|
||||
<el-tooltip :content="state.oauth2LoginConfig.name" placement="top-start">
|
||||
<div class="mt20" v-if="state.oauth2LoginConfig.enable">
|
||||
<el-text size="small">{{ $t('login.thirdPartyLogin') }}: </el-text>
|
||||
<el-tooltip :content="state.oauth2LoginConfig.name" placement="bottom-start">
|
||||
<el-button link size="small" type="primary" @click="oauth2Login">
|
||||
<el-icon :size="18">
|
||||
<Link />
|
||||
@@ -53,6 +89,8 @@ import openApi from '@/common/openApi';
|
||||
import config from '@/common/config';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import EnumValue from '../../common/Enum';
|
||||
import { I18nEnum } from '../../common/commonEnum';
|
||||
|
||||
// 引入组件
|
||||
const Account = defineAsyncComponent(() => import('./component/AccountLogin.vue'));
|
||||
|
||||
@@ -214,7 +214,6 @@ import ResourceTags from '../component/ResourceTags.vue';
|
||||
import { sleep } from '@/common/utils/loading';
|
||||
import { DbGetDbNamesMode } from './enums';
|
||||
import { DbInst } from './db';
|
||||
import { ElMessage, ElMessageBox } from 'element-plus';
|
||||
import DrawerHeader from '@/components/drawer-header/DrawerHeader.vue';
|
||||
import { useI18nCreateTitle, useI18nDeleteConfirm, useI18nDeleteSuccessMsg, useI18nEditTitle, useI18nSaveSuccessMsg } from '@/hooks/useI18n';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
@@ -241,10 +240,10 @@ const columns = ref([
|
||||
TableColumn.new('name', 'common.name'),
|
||||
TableColumn.new('authCertName', 'db.acName'),
|
||||
TableColumn.new('getDatabaseMode', 'db.getDbMode').typeTag(DbGetDbNamesMode),
|
||||
TableColumn.new('database', 'DB').isSlot().setMinWidth(80),
|
||||
TableColumn.new('database', 'DB').isSlot().setMinWidth(90),
|
||||
TableColumn.new('remark', 'common.remark'),
|
||||
TableColumn.new('code', 'common.code'),
|
||||
TableColumn.new('action', 'common.operation').isSlot().setMinWidth(210).fixedRight().alignCenter(),
|
||||
TableColumn.new('action', 'common.operation').isSlot().setMinWidth(210).fixedRight().noShowOverflowTooltip().alignCenter(),
|
||||
]);
|
||||
|
||||
const perms = {
|
||||
|
||||
@@ -128,7 +128,7 @@ const columns = ref([
|
||||
|
||||
// 该用户拥有的的操作列按钮权限
|
||||
const actionBtns: any = hasPerms(Object.values(perms));
|
||||
const actionColumn = TableColumn.new('action', 'common.operation').isSlot().setMinWidth(180).fixedRight().alignCenter();
|
||||
const actionColumn = TableColumn.new('action', 'common.operation').isSlot().setMinWidth(180).fixedRight().noShowOverflowTooltip().alignCenter();
|
||||
const pageTableRef: Ref<any> = ref(null);
|
||||
|
||||
const state = reactive({
|
||||
|
||||
@@ -73,7 +73,7 @@ const columns = ref([
|
||||
TableColumn.new('saveExecResType', 'machine.execResRecordType').typeTag(CronJobSaveExecResTypeEnum),
|
||||
TableColumn.new('remark', 'common.remark'),
|
||||
TableColumn.new('codePaths', 'machine.relateMachine').isSlot().setMinWidth('250px'),
|
||||
TableColumn.new('action', 'common.operation').isSlot().setMinWidth(180).fixedRight().alignCenter(),
|
||||
TableColumn.new('action', 'common.operation').isSlot().setMinWidth(180).fixedRight().noShowOverflowTooltip().alignCenter(),
|
||||
]);
|
||||
|
||||
const pageTableRef: Ref<any> = ref(null);
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
<el-table-column prop="remark" :label="$t('common.remark')" show-overflow-tooltip width="120px"> </el-table-column>
|
||||
<el-table-column prop="creator" :label="$t('common.creator')" show-overflow-tooltip width="100px"> </el-table-column>
|
||||
|
||||
<el-table-column :label="$t('common.operation')" min-wdith="100px">
|
||||
<el-table-column :label="$t('common.operation')" min-width="120px">
|
||||
<template #header>
|
||||
<el-text tag="b">{{ $t('common.operation') }}</el-text>
|
||||
<el-button v-auth="'cmdconf:save'" class="ml5" type="primary" circle size="small" icon="Plus" @click="openFormDialog(false)"> </el-button>
|
||||
@@ -95,16 +95,12 @@
|
||||
import { ref, toRefs, reactive, onMounted, nextTick } from 'vue';
|
||||
import TagTreeCheck from '../../component/TagTreeCheck.vue';
|
||||
import { TagResourceTypeEnum } from '@/common/commonEnum';
|
||||
import { ElMessage, ElMessageBox } from 'element-plus';
|
||||
import { cmdConfApi } from '../api';
|
||||
import DrawerHeader from '@/components/drawer-header/DrawerHeader.vue';
|
||||
import TagCodePath from '../../component/TagCodePath.vue';
|
||||
import _ from 'lodash';
|
||||
import { useI18n } from 'vue-i18n';
|
||||
import { useI18nDeleteConfirm, useI18nDeleteSuccessMsg, useI18nFormValidate, useI18nPleaseInput, useI18nSaveSuccessMsg } from '@/hooks/useI18n';
|
||||
|
||||
const { t } = useI18n();
|
||||
|
||||
const rules = {
|
||||
tags: [
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user