增加后端版本展示
This commit is contained in:
@@ -0,0 +1,30 @@
|
|||||||
|
package com.core.web.controller.system;
|
||||||
|
|
||||||
|
import com.core.common.config.CoreConfig;
|
||||||
|
import com.core.common.core.domain.AjaxResult;
|
||||||
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RequestMapping;
|
||||||
|
import org.springframework.web.bind.annotation.RestController;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 系统版本信息
|
||||||
|
*/
|
||||||
|
@RestController
|
||||||
|
@RequestMapping("/system")
|
||||||
|
public class SysVersionController {
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private CoreConfig coreConfig;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取后端版本号
|
||||||
|
*/
|
||||||
|
@GetMapping("/version")
|
||||||
|
public AjaxResult getVersion() {
|
||||||
|
AjaxResult ajax = AjaxResult.success();
|
||||||
|
ajax.put("backendVersion", coreConfig.getVersion());
|
||||||
|
return ajax;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
@@ -107,6 +107,9 @@ public class SecurityConfig {
|
|||||||
.permitAll()
|
.permitAll()
|
||||||
.antMatchers("/patientmanage/information/**")
|
.antMatchers("/patientmanage/information/**")
|
||||||
.permitAll()
|
.permitAll()
|
||||||
|
// 登录页展示用的系统版本信息,允许匿名访问
|
||||||
|
.antMatchers("/system/version")
|
||||||
|
.permitAll()
|
||||||
// 除上面外的所有请求全部需要鉴权认证
|
// 除上面外的所有请求全部需要鉴权认证
|
||||||
.anyRequest().authenticated();
|
.anyRequest().authenticated();
|
||||||
})
|
})
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ core:
|
|||||||
# 名称
|
# 名称
|
||||||
name: HEALTHLINK-HIS
|
name: HEALTHLINK-HIS
|
||||||
# 版本
|
# 版本
|
||||||
version: 0.0.1
|
version: ${CORE_VERSION:0.0.1}
|
||||||
# 版权年份
|
# 版权年份
|
||||||
copyrightYear: 2025
|
copyrightYear: 2025
|
||||||
# 文件路径
|
# 文件路径
|
||||||
|
|||||||
10
openhis-ui-vue3/src/api/system/info.js
Normal file
10
openhis-ui-vue3/src/api/system/info.js
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
import request from '@/utils/request'
|
||||||
|
|
||||||
|
export function getSystemVersion(options = {}) {
|
||||||
|
return request({
|
||||||
|
url: '/system/version',
|
||||||
|
method: 'get',
|
||||||
|
...options
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
@@ -100,12 +100,16 @@
|
|||||||
</div>
|
</div>
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
<div class="footer">
|
<div class="footer">
|
||||||
© 2025 {{ currentTenantName || settings.systemName }}信息管理系统 | 版本 {{ loginVersion }}
|
© 2025 {{ currentTenantName || settings.systemName }}信息管理系统
|
||||||
<!-- 公司版权信息(新增) -->
|
| 前端版本 {{ formattedFrontendVersion }}
|
||||||
<div class="company-copyright">
|
<span v-if="backendVersion">
|
||||||
技术支持:上海经创贺联信息技术有限公司
|
| 后端版本 {{ formattedBackendVersion }}
|
||||||
</div>
|
</span>
|
||||||
|
<!-- 公司版权信息(新增) -->
|
||||||
|
<div class="company-copyright">
|
||||||
|
技术支持:上海经创贺联信息技术有限公司
|
||||||
</div>
|
</div>
|
||||||
|
</div>
|
||||||
</el-form>
|
</el-form>
|
||||||
|
|
||||||
<!-- 底部 -->
|
<!-- 底部 -->
|
||||||
@@ -126,7 +130,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import {getCurrentInstance, onMounted, ref, watch, nextTick} from 'vue';
|
import {computed, getCurrentInstance, onMounted, ref, watch, nextTick} from 'vue';
|
||||||
import settings from '@/settings';
|
import settings from '@/settings';
|
||||||
import {getCodeImg, getUserBindTenantList, sign} from '@/api/login';
|
import {getCodeImg, getUserBindTenantList, sign} from '@/api/login';
|
||||||
import {invokeYbPlugin5001} from '@/api/public';
|
import {invokeYbPlugin5001} from '@/api/public';
|
||||||
@@ -134,6 +138,7 @@ import Cookies from 'js-cookie';
|
|||||||
import {decrypt, encrypt} from '@/utils/jsencrypt';
|
import {decrypt, encrypt} from '@/utils/jsencrypt';
|
||||||
import useUserStore from '@/store/modules/user';
|
import useUserStore from '@/store/modules/user';
|
||||||
import {ElMessage} from 'element-plus';
|
import {ElMessage} from 'element-plus';
|
||||||
|
import {getSystemVersion} from '@/api/system/info';
|
||||||
import logoNew from '@/assets/logo/LOGO.jpg';
|
import logoNew from '@/assets/logo/LOGO.jpg';
|
||||||
|
|
||||||
const userStore = useUserStore();
|
const userStore = useUserStore();
|
||||||
@@ -142,6 +147,30 @@ const router = useRouter();
|
|||||||
const { proxy } = getCurrentInstance();
|
const { proxy } = getCurrentInstance();
|
||||||
const env = import.meta.env.MODE;
|
const env = import.meta.env.MODE;
|
||||||
const loginVersion = import.meta.env.VITE_APP_BUILD_VERSION;
|
const loginVersion = import.meta.env.VITE_APP_BUILD_VERSION;
|
||||||
|
const backendVersion = ref('');
|
||||||
|
|
||||||
|
const formattedFrontendVersion = computed(() => {
|
||||||
|
if (!loginVersion) return '';
|
||||||
|
// 期望格式:YYYYMMDDHHmmss -> 显示 YYYY-MM-DD
|
||||||
|
if (loginVersion.length >= 8) {
|
||||||
|
const y = loginVersion.substring(0, 4);
|
||||||
|
const m = loginVersion.substring(4, 6);
|
||||||
|
const d = loginVersion.substring(6, 8);
|
||||||
|
return `${y}-${m}-${d}`;
|
||||||
|
}
|
||||||
|
return loginVersion;
|
||||||
|
});
|
||||||
|
|
||||||
|
const formattedBackendVersion = computed(() => {
|
||||||
|
if (!backendVersion.value) return '';
|
||||||
|
if (backendVersion.value.length >= 8) {
|
||||||
|
const y = backendVersion.value.substring(0, 4);
|
||||||
|
const m = backendVersion.value.substring(4, 6);
|
||||||
|
const d = backendVersion.value.substring(6, 8);
|
||||||
|
return `${y}-${m}-${d}`;
|
||||||
|
}
|
||||||
|
return backendVersion.value;
|
||||||
|
});
|
||||||
|
|
||||||
const loginForm = ref({
|
const loginForm = ref({
|
||||||
username: '',
|
username: '',
|
||||||
@@ -237,6 +266,15 @@ onMounted(() => {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// 获取后端版本号
|
||||||
|
getSystemVersion().then((res) => {
|
||||||
|
if (res && res.data && res.data.backendVersion) {
|
||||||
|
backendVersion.value = res.data.backendVersion;
|
||||||
|
}
|
||||||
|
}).catch(() => {
|
||||||
|
backendVersion.value = '';
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
function handleLogin() {
|
function handleLogin() {
|
||||||
|
|||||||
Reference in New Issue
Block a user