update:登录心跳
This commit is contained in:
@@ -84,7 +84,7 @@ export const appList = [
|
|||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
name: 'spdmTaskSponsor',
|
name: 'spdmTaskSponsor',
|
||||||
zhCn: '我发起的',
|
zhCn: '新增待办',
|
||||||
en: 'I Initiated',
|
en: 'I Initiated',
|
||||||
path: '/spdm/task/sponsor',
|
path: '/spdm/task/sponsor',
|
||||||
component: () => import('/@/spdm/views/index.vue'),
|
component: () => import('/@/spdm/views/index.vue'),
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ export default {
|
|||||||
spdmProjectProjectList: '项目列表',
|
spdmProjectProjectList: '项目列表',
|
||||||
spdmProjectDataStatistics: '数据统计',
|
spdmProjectDataStatistics: '数据统计',
|
||||||
spdmProjectDashboard: '仿真闭环看板',
|
spdmProjectDashboard: '仿真闭环看板',
|
||||||
spdmTaskSponsor: '我发起的',
|
spdmTaskSponsor: '新增待办',
|
||||||
spdmTaskConfirm: '我确认的',
|
spdmTaskConfirm: '我确认的',
|
||||||
spdmTaskExecute: '我执行的',
|
spdmTaskExecute: '我执行的',
|
||||||
spdmTaskAttention: '我关注的',
|
spdmTaskAttention: '我关注的',
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
export const appMap = {
|
export const appMap = {
|
||||||
spdmProject: {"name":"moduleApps.spdmProject","zhCn":"项目管理","en":"Project Management","meta":{"icon":"ele-House"},"pages":[{"name":"spdmProjectProjectList","zhCn":"项目列表","en":"Project List","path":"/spdm/project/projectList","meta":{"icon":"ele-MessageBox"}},{"name":"spdmProjectDataStatistics","zhCn":"数据统计","en":"Data Statistics","path":"/spdm/project/statistics","meta":{"icon":"ele-PieChart"}},{"name":"spdmProjectDashboard","zhCn":"仿真闭环看板","en":"Simulation Dashboard","path":"/spdm/project/dashboard","meta":{"icon":"ele-DataBoard"}}]},
|
spdmProject: {"name":"moduleApps.spdmProject","zhCn":"项目管理","en":"Project Management","meta":{"icon":"ele-House"},"pages":[{"name":"spdmProjectProjectList","zhCn":"项目列表","en":"Project List","path":"/spdm/project/projectList","meta":{"icon":"ele-MessageBox"}},{"name":"spdmProjectDataStatistics","zhCn":"数据统计","en":"Data Statistics","path":"/spdm/project/statistics","meta":{"icon":"ele-PieChart"}},{"name":"spdmProjectDashboard","zhCn":"仿真闭环看板","en":"Simulation Dashboard","path":"/spdm/project/dashboard","meta":{"icon":"ele-DataBoard"}}]},
|
||||||
spdmTask: {"name":"moduleApps.spdmTask","zhCn":"任务管理","en":"Task Management","meta":{"icon":"ele-Calendar"},"pages":[{"name":"spdmTaskSponsor","zhCn":"我发起的","en":"I Initiated","path":"/spdm/task/sponsor","meta":{"icon":"ele-Warning"}},{"name":"spdmTaskConfirm","zhCn":"我确认的","en":"I confirmed","path":"/spdm/task/confirm","meta":{"icon":"ele-DocumentChecked"}},{"name":"spdmTaskExecute","zhCn":"我执行的","en":"I executed","path":"/spdm/task/execute","meta":{"icon":"ele-SetUp"}},{"name":"spdmTaskAttention","zhCn":"我关注的","en":"I Attention","path":"/spdm/task/attention","meta":{"icon":"ele-Bell"}},{"name":"spdmTaskAll","zhCn":"所有任务","en":"All Tasks","path":"/spdm/task/all","meta":{"icon":"ele-DocumentCopy"}},{"name":"spdmTaskExecution","zhCn":"任务执行","en":"Task execution","path":"/spdm/task/execution","meta":{"icon":"ele-Operation"}}]},
|
spdmTask: {"name":"moduleApps.spdmTask","zhCn":"任务管理","en":"Task Management","meta":{"icon":"ele-Calendar"},"pages":[{"name":"spdmTaskSponsor","zhCn":"新增待办","en":"I Initiated","path":"/spdm/task/sponsor","meta":{"icon":"ele-Warning"}},{"name":"spdmTaskConfirm","zhCn":"我确认的","en":"I confirmed","path":"/spdm/task/confirm","meta":{"icon":"ele-DocumentChecked"}},{"name":"spdmTaskExecute","zhCn":"我执行的","en":"I executed","path":"/spdm/task/execute","meta":{"icon":"ele-SetUp"}},{"name":"spdmTaskAttention","zhCn":"我关注的","en":"I Attention","path":"/spdm/task/attention","meta":{"icon":"ele-Bell"}},{"name":"spdmTaskAll","zhCn":"所有任务","en":"All Tasks","path":"/spdm/task/all","meta":{"icon":"ele-DocumentCopy"}},{"name":"spdmTaskExecution","zhCn":"任务执行","en":"Task execution","path":"/spdm/task/execution","meta":{"icon":"ele-Operation"}}]},
|
||||||
spdmData: {"name":"moduleApps.spdmData","zhCn":"数据管理","en":"Data Management","meta":{"icon":"ele-TakeawayBox"},"pages":[{"name":"spdmDataOverview","zhCn":"数据总览","en":"Data Overview","path":"/spdm/data/overview","meta":{"icon":"ele-DataAnalysis"}},{"name":"spdmDataAnalysis","zhCn":"数据查询","en":"Data Query","path":"/spdm/data/analysis","meta":{"icon":"ele-Search"}},{"name":"spdmDataPermission","zhCn":"数据权限","en":"Data Permission","path":"/spdm/data/permission","meta":{"icon":"ele-Warning"}},{"name":"spdmDataTrain","zhCn":"数据训练","en":"Data Training","path":"/spdm/data/train","meta":{"icon":"ele-Cpu"}},{"name":"spdmDataForecast","zhCn":"数据预测","en":"Data Prediction","path":"/spdm/data/forecast","meta":{"icon":"ele-Paperclip"}}]},
|
spdmData: {"name":"moduleApps.spdmData","zhCn":"数据管理","en":"Data Management","meta":{"icon":"ele-TakeawayBox"},"pages":[{"name":"spdmDataOverview","zhCn":"数据总览","en":"Data Overview","path":"/spdm/data/overview","meta":{"icon":"ele-DataAnalysis"}},{"name":"spdmDataAnalysis","zhCn":"数据查询","en":"Data Query","path":"/spdm/data/analysis","meta":{"icon":"ele-Search"}},{"name":"spdmDataPermission","zhCn":"数据权限","en":"Data Permission","path":"/spdm/data/permission","meta":{"icon":"ele-Warning"}},{"name":"spdmDataTrain","zhCn":"数据训练","en":"Data Training","path":"/spdm/data/train","meta":{"icon":"ele-Cpu"}},{"name":"spdmDataForecast","zhCn":"数据预测","en":"Data Prediction","path":"/spdm/data/forecast","meta":{"icon":"ele-Paperclip"}}]},
|
||||||
spdmSimulation: {"name":"moduleApps.spdmSimulation","zhCn":"流程管理","en":"Process Management","meta":{"icon":"ele-Finished"},"pages":[{"name":"spdmSimulationProcess","zhCn":"仿真流程库","en":"Process Library","path":"/spdm/simulation/process","meta":{"icon":"ele-FolderChecked"}}]},
|
spdmSimulation: {"name":"moduleApps.spdmSimulation","zhCn":"流程管理","en":"Process Management","meta":{"icon":"ele-Finished"},"pages":[{"name":"spdmSimulationProcess","zhCn":"仿真流程库","en":"Process Library","path":"/spdm/simulation/process","meta":{"icon":"ele-FolderChecked"}}]},
|
||||||
spdmCompetenceCenter: {"name":"moduleApps.spdmCompetenceCenter","zhCn":"能力中心","en":"Capability Center","meta":{"icon":"ele-Reading"},"pages":[{"name":"spdmCompetenceCenterCondition","zhCn":"仿真工况库","en":"Condition Library","path":"/spdm/competenceCenter/condition","meta":{"icon":"ele-Suitcase"}},{"name":"spdmCompetenceCenterIndicator","zhCn":"仿真指标库","en":"Indicator Library","path":"/spdm/competenceCenter/indicator","meta":{"icon":"ele-Money"}},{"name":"spdmCompetenceCenterKnowledge","zhCn":"仿真知识库","en":"Knowledge Library","path":"/spdm/competenceCenter/knowledge","meta":{"icon":"ele-Memo"}},{"name":"spdmCompetenceCenterParameter","zhCn":"仿真参数库","en":"Parameter Library","path":"/spdm/competenceCenter/parameter","meta":{"icon":"ele-Tickets"}}]},
|
spdmCompetenceCenter: {"name":"moduleApps.spdmCompetenceCenter","zhCn":"能力中心","en":"Capability Center","meta":{"icon":"ele-Reading"},"pages":[{"name":"spdmCompetenceCenterCondition","zhCn":"仿真工况库","en":"Condition Library","path":"/spdm/competenceCenter/condition","meta":{"icon":"ele-Suitcase"}},{"name":"spdmCompetenceCenterIndicator","zhCn":"仿真指标库","en":"Indicator Library","path":"/spdm/competenceCenter/indicator","meta":{"icon":"ele-Money"}},{"name":"spdmCompetenceCenterKnowledge","zhCn":"仿真知识库","en":"Knowledge Library","path":"/spdm/competenceCenter/knowledge","meta":{"icon":"ele-Memo"}},{"name":"spdmCompetenceCenterParameter","zhCn":"仿真参数库","en":"Parameter Library","path":"/spdm/competenceCenter/parameter","meta":{"icon":"ele-Tickets"}}]},
|
||||||
|
|||||||
@@ -104,7 +104,7 @@ export default {
|
|||||||
spdmProjectProjectList: '项目列表',
|
spdmProjectProjectList: '项目列表',
|
||||||
spdmProjectDataStatistics: '数据统计',
|
spdmProjectDataStatistics: '数据统计',
|
||||||
spdmProjectDashboard: '仿真闭环看板',
|
spdmProjectDashboard: '仿真闭环看板',
|
||||||
spdmTaskSponsor: '我发起的',
|
spdmTaskSponsor: '新增待办',
|
||||||
spdmTaskConfirm: '我确认的',
|
spdmTaskConfirm: '我确认的',
|
||||||
spdmTaskExecute: '我执行的',
|
spdmTaskExecute: '我执行的',
|
||||||
spdmTaskAttention: '我关注的',
|
spdmTaskAttention: '我关注的',
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ service.interceptors.request.use(
|
|||||||
|
|
||||||
service.interceptors.response.use(
|
service.interceptors.response.use(
|
||||||
(res) => {
|
(res) => {
|
||||||
if (res.data.code !== 200) {
|
if (!res.data.success) {
|
||||||
ElMessage.error(res.data.message);
|
ElMessage.error(res.data.message);
|
||||||
}
|
}
|
||||||
return res.data;
|
return res.data;
|
||||||
|
|||||||
6
src/spdm/api/spdm-log.ts
Normal file
6
src/spdm/api/spdm-log.ts
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
import { post } from './request';
|
||||||
|
|
||||||
|
// 登录成功记录日志
|
||||||
|
export const saveLogApi = (params: any) => {
|
||||||
|
return post(`/spdm-log/saveLog`, params);
|
||||||
|
};
|
||||||
6
src/spdm/api/spdm-user.ts
Normal file
6
src/spdm/api/spdm-user.ts
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
import { post } from './request';
|
||||||
|
|
||||||
|
// 发送心跳
|
||||||
|
export const heartbeatApi = (params: any) => {
|
||||||
|
return post(`/spdm-user/heartbeat`, params);
|
||||||
|
};
|
||||||
@@ -1,9 +0,0 @@
|
|||||||
import { get } from '../request';
|
|
||||||
import { PREFIX_SYSTEM } from '../../config';
|
|
||||||
|
|
||||||
const PREFIX = PREFIX_SYSTEM;
|
|
||||||
|
|
||||||
// 获取用户token
|
|
||||||
export const getUserTokenApi = (params: any) => {
|
|
||||||
return get(`${PREFIX}user/getUserToken`, params);
|
|
||||||
};
|
|
||||||
@@ -1,9 +1,7 @@
|
|||||||
// 测试环境
|
// 测试环境
|
||||||
export const SPDM_URL = 'http://192.168.65.161:3000'; // SPDM项目地址
|
export const SPDM_URL = 'http://192.168.65.161:3000'; // SPDM项目地址
|
||||||
export const PREFIX_SYSTEM = '/system/'; // system模块前缀
|
export const BASE_URL = '/spdmApi/honeycom-spdm'; // baseUrl
|
||||||
export const BASE_URL = '/spdmApi/simulation'; // baseUrl
|
|
||||||
|
|
||||||
// // 本地环境
|
// // 本地环境
|
||||||
// export const SPDM_URL = 'http://192.168.65.64:3001'; // SPDM项目地址
|
// export const SPDM_URL = 'http://192.168.65.64:3001'; // SPDM项目地址
|
||||||
// export const PREFIX_SYSTEM = '/system/'; // system模块前缀
|
// export const BASE_URL = '/spdmApi/honeycom-spdm'; // baseUrl
|
||||||
// export const BASE_URL = '/spdmApi/simulation'; // baseUrl
|
|
||||||
@@ -49,7 +49,7 @@ export const appList = [
|
|||||||
pages: [
|
pages: [
|
||||||
{
|
{
|
||||||
name: 'spdmTaskSponsor',
|
name: 'spdmTaskSponsor',
|
||||||
zhCn: '我发起的',
|
zhCn: '新增待办',
|
||||||
en: 'I Initiated',
|
en: 'I Initiated',
|
||||||
path: '/spdm/task/sponsor',
|
path: '/spdm/task/sponsor',
|
||||||
component: () => import('/@/spdm/views/index.vue'),
|
component: () => import('/@/spdm/views/index.vue'),
|
||||||
|
|||||||
19
src/spdm/utils/index.ts
Normal file
19
src/spdm/utils/index.ts
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
import { heartbeatApi } from '/@/spdm/api/spdm-user';
|
||||||
|
import Cookies from 'js-cookie';
|
||||||
|
|
||||||
|
const SET_TIME = 5 * 60 * 1000; // 5分钟发一次心跳
|
||||||
|
|
||||||
|
const heartbeatFun = () => {
|
||||||
|
const params = {
|
||||||
|
tenantId: Cookies.get('cid_tenant_id'),
|
||||||
|
userId: Cookies.get('cid_user_id'),
|
||||||
|
};
|
||||||
|
heartbeatApi(params);
|
||||||
|
};
|
||||||
|
|
||||||
|
export const loginHeartbeat = () => {
|
||||||
|
heartbeatFun();
|
||||||
|
setInterval(() => {
|
||||||
|
heartbeatFun();
|
||||||
|
}, SET_TIME);
|
||||||
|
};
|
||||||
@@ -49,6 +49,8 @@ import {useThemeConfig} from '/@/stores/themeConfig';
|
|||||||
import {useMessage} from '/@/hooks/message';
|
import {useMessage} from '/@/hooks/message';
|
||||||
import {LoginTypeEnum} from '/@/api/login';
|
import {LoginTypeEnum} from '/@/api/login';
|
||||||
import {formatAxis} from '/@/utils/formatTime';
|
import {formatAxis} from '/@/utils/formatTime';
|
||||||
|
import { saveLogApi } from '/@/spdm/api/spdm-log'; // SPDM CODE
|
||||||
|
import Cookies from 'js-cookie'; // SPDM CODE
|
||||||
import {isEmpty} from 'lodash';
|
import {isEmpty} from 'lodash';
|
||||||
|
|
||||||
// 引入组件
|
// 引入组件
|
||||||
@@ -103,8 +105,16 @@ const signInSuccess = async () => {
|
|||||||
// window.location.href = '/home';
|
// window.location.href = '/home';
|
||||||
// // router.push('/home');
|
// // router.push('/home');
|
||||||
// }
|
// }
|
||||||
window.location.href = '/home';
|
// SPDM CODE
|
||||||
// 登录成功提示
|
saveLogApi({
|
||||||
useMessage().success(`${currentTimeInfo},${t('signInText')}`);
|
title: '登录成功',
|
||||||
|
serviceId: 'simulation-system',
|
||||||
|
tenantId: Cookies.get('cid_tenant_id'),
|
||||||
|
createBy: Cookies.get('cid_user_id'),
|
||||||
|
}).then(() => {
|
||||||
|
window.location.href = '/home';
|
||||||
|
// 登录成功提示
|
||||||
|
useMessage().success(`${currentTimeInfo},${t('signInText')}`);
|
||||||
|
});
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
@@ -123,7 +123,7 @@ const viteConfig = defineConfig((mode: ConfigEnv) => {
|
|||||||
// rewrite: (path) => path.replace(/^\/file\/2D/, ''),
|
// rewrite: (path) => path.replace(/^\/file\/2D/, ''),
|
||||||
},
|
},
|
||||||
'/spdmApi': { // SPDM CODE
|
'/spdmApi': { // SPDM CODE
|
||||||
target: 'http://192.168.65.161:3000/api/', // 目标服务器地址
|
target: 'http://192.168.65.162:8989/', // 目标服务器地址
|
||||||
ws: true, // 是否启用 WebSocket
|
ws: true, // 是否启用 WebSocket
|
||||||
changeOrigin: true, // 是否修改请求头中的 Origin 字段
|
changeOrigin: true, // 是否修改请求头中的 Origin 字段
|
||||||
rewrite: (path) => path.replace(/^\/spdmApi/, ''),
|
rewrite: (path) => path.replace(/^\/spdmApi/, ''),
|
||||||
|
|||||||
Reference in New Issue
Block a user