diff --git a/src/common/ClientConnection.ts b/src/common/ClientConnection.ts index a512d2d..91e6af8 100644 --- a/src/common/ClientConnection.ts +++ b/src/common/ClientConnection.ts @@ -15,6 +15,7 @@ import TimingTaskEntity from "src/entities/TimingTaskEntity"; import JointActionEquipmentTableEntity from "src/entities/JointActionEquipmentTableEntity"; import { CustomProtocol } from "src/entities/WSProtocolCustom"; import ClientConnectionCustom from "./ClientConnectionCustom"; +import MagicWallConfig from "src/entities/MagicWallConfig"; class _RpcInfo { send_timestamp: number; @@ -1232,6 +1233,36 @@ export default class ClientConnection { } } + public async getMagicWallConfig() { + try { + return await this.doRpc( + new Protocol.RpcGetMagicWallConfigRequestEntity() + ); + } catch (e) { + console.error(e); + } + } + + public async setMagicWallConfig(config: MagicWallConfig) { + try { + return await this.doRpc( + new Protocol.RpcSetMagicWallConfigRequestEntity(config) + ); + } catch (e) { + console.error(e); + } + } + + public async testA() { + try { + return await this.doRpc( + new Protocol.RpcTestARequestEntity() + ); + } catch (e) { + console.error(e); + } + } + public async setHdmiInDecodeType(index: number, type: string) { try { return await this.doRpc( diff --git a/src/components/EditJointActionEquipmentDialog.vue b/src/components/EditJointActionEquipmentDialog.vue index 41c5b12..f8d9466 100644 --- a/src/components/EditJointActionEquipmentDialog.vue +++ b/src/components/EditJointActionEquipmentDialog.vue @@ -92,7 +92,10 @@ (val) => (val && val.length > 0) || $t('Please type something'), (val) => - isIpAddress(val) || $t('Please input vaild ip address'), + isHost(val) || + $t( + 'Please input vaild host. example: 192.168.1.1 or 192.168.1.1:8080' + ), ]" lazy-rules /> @@ -182,6 +185,15 @@ export default defineComponent({ connect_type: "network", }, }, + { + key: "CX_MISP3000", + label: $t.t("CX_MISP3000"), + value: { + protocol: "CX_MISP3000", + protocol_version: "Normal", + connect_type: "network", + }, + }, // { // key: "VTRON2", // label: $t.t("VTRON2"), @@ -305,7 +317,8 @@ export default defineComponent({ message: (is_add.value ? $t.t("add") : $t.t("edit")) + $t.t(" ") + - $t.t(" equipment data") + + $t.t(" ") + + $t.t("equipment data") + (success ? $t.t("success") : $t.t("fail")) + "!", position: "top", @@ -316,7 +329,7 @@ export default defineComponent({ show_dialog.value = false; } }, - isIpAddress(str: string) { + isHost(str: string) { return ( str == "localhost" || /^(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])\.(\d{1,2}|1\d\d|2[0-4]\d|25[0-5])$/.test( diff --git a/src/components/FileManageDialog.vue b/src/components/FileManageDialog.vue index 50d1c7b..5b198bb 100644 --- a/src/components/FileManageDialog.vue +++ b/src/components/FileManageDialog.vue @@ -228,6 +228,30 @@ }} {{ props.value }} +
+ + + + {{ + (props.row.file_size / 1024 / 1024 / 1024).toFixed(2) + }}GB + + + {{ (props.row.file_size / 1024 / 1024).toFixed(2) }}MB + + + {{ (props.row.file_size / 1024).toFixed(2) }} KB + + +
{{ props.value }}
@@ -554,7 +578,7 @@ export default defineComponent({ align: "center", label: $t.t("file size"), field: (val: FileEntity) => - val.is_directory ? null : Math.ceil((val ? val.file_size : 0) / 1000), + val.is_directory ? null : Math.ceil((val ? val.file_size : 0) / 1024), format: (val: any) => (val != null ? `${val} KB` : ""), sortable: true, }, diff --git a/src/components/SystemSettingDialog.vue b/src/components/SystemSettingDialog.vue index 07ad765..8a51d81 100644 --- a/src/components/SystemSettingDialog.vue +++ b/src/components/SystemSettingDialog.vue @@ -1166,9 +1166,7 @@
@@ -1361,8 +1359,6 @@ import { EWeekDays } from "src/entities/EWeekDays"; import SystenSettingAdvancedNetworkDialog from "src/components/SystenSettingAdvancedNetworkDialog.vue"; import { AdvancedIpAddressEntity } from "src/entities/AdvancedIpAddressEntity"; -import { EDeviceAttribute } from "src/entities/EDeviceAttribute"; - import version from "../../package.json"; import { Md5 } from "ts-md5"; @@ -1521,7 +1517,7 @@ export default defineComponent({ const timing_tasks: Ref = ref([]); let click_count = ref(0); - const target_click_count = ref(30); + const target_click_count = ref(20); let client_version = ref(version); let server_version = ref("unknow"); let server_commit_hash = ref("unknow"); @@ -1990,7 +1986,7 @@ export default defineComponent({ Cookies.remove("auto_login"); SessionStorage.clear(); try { - $q.fullscreen.exit(); + $q.fullscreen.exit(); } catch {} window.location.reload(); } diff --git a/src/entities/MagicWallConfig.ts b/src/entities/MagicWallConfig.ts new file mode 100644 index 0000000..8917983 --- /dev/null +++ b/src/entities/MagicWallConfig.ts @@ -0,0 +1,8 @@ +import RotatedRectF from "./RectF"; + +export default class MagicWallConfig { + magic_wall_enable = false; + row = 0; + col = 0; + windows: RotatedRectF[] = []; +} diff --git a/src/entities/RectF.ts b/src/entities/RectF.ts new file mode 100644 index 0000000..d84612e --- /dev/null +++ b/src/entities/RectF.ts @@ -0,0 +1,34 @@ +export default class RectF { + lt: PointF = new PointF(0, 0); + w: number = 0; + h: number = 0; + + constructor(lt: PointF = new PointF(0, 0), h: number = 0, w: number = 0) { + this.lt = lt; + this.h = h; + this.w = w; + } +} + +export class PointF { + constructor(x: number = 0, y: number = 0) { + this.x = x; + this.y = y; + } + x: number = 0; + y: number = 0; +} + +export class RotatedRectF extends RectF { + angle: number = 0; + + constructor( + lt: PointF = new PointF(0, 0), + h: number = 0, + w: number = 0, + angle: number = 0 + ) { + super(lt, h, w); + this.angle = angle; + } +} diff --git a/src/entities/WSProtocol.ts b/src/entities/WSProtocol.ts index ade9141..db26a97 100644 --- a/src/entities/WSProtocol.ts +++ b/src/entities/WSProtocol.ts @@ -12,6 +12,7 @@ import { SerialPortConfigEntity } from "./SerialPortConfigEntity"; import { ConnectTableEntity } from "./ConnectTableEntity"; import TimingTaskEntity from "./TimingTaskEntity"; import JointActionEquipmentTableEntity from "./JointActionEquipmentTableEntity"; +import MagicWallConfig from "./MagicWallConfig"; export namespace Protocol { export class Commands { @@ -474,6 +475,18 @@ export namespace Protocol { return Commands.PROTOCOL_PREFIX + "SetHDMIRotation"; } + public static get kRpcSetMagicWallConfig() { + return Commands.PROTOCOL_PREFIX + "RpcSetMagicWallConfig"; + } + + public static get kRpcGetMagicWallConfig() { + return Commands.PROTOCOL_PREFIX + "RpcGetMagicWallConfig"; + } + + public static get kRpcTestA() { + return Commands.PROTOCOL_PREFIX + "RpcTestA"; + } + static _all_commands = new Set([ Commands.kUnKnowCommand, Commands.kSearchDevice, @@ -590,6 +603,9 @@ export namespace Protocol { Commands.kRpcDeleteJointActionEquipment, Commands.kCleanBrowserCache, Commands.kSetHDMIRotation, + Commands.kRpcGetMagicWallConfig, + Commands.kRpcSetMagicWallConfig, + Commands.kRpcTestA, ]); public static get AllCommands() { return this._all_commands; @@ -3036,4 +3052,70 @@ export namespace Protocol { this.rotation = rotation; } } + + export class RpcGetMagicWallConfigRequestEntity extends PacketEntity { + constructor(rpc_id = 0) { + super(); + super.command = Commands.kRpcGetMagicWallConfig; + super.flag = PacketEntity.FLAG_REQUEST; + super.rpc_id = rpc_id; + } + timestamp = Date.now(); + } + + export class RpcGetMagicWallConfigResponseEntity extends PacketEntity { + constructor() { + super(); + super.flag = PacketEntity.FLAG_RESPONSE; + } + + config: MagicWallConfig = new MagicWallConfig(); + success = false; + } + + export class RpcSetMagicWallConfigRequestEntity extends PacketEntity { + constructor(config: MagicWallConfig, rpc_id = 0) { + super(); + super.command = Commands.kRpcSetMagicWallConfig; + super.flag = PacketEntity.FLAG_REQUEST; + super.rpc_id = rpc_id; + + this.config = config ?? new MagicWallConfig(); + } + config: MagicWallConfig = new MagicWallConfig(); + } + + export class RpcSetMagicWallConfigResponseEntity extends PacketEntity { + constructor() { + super(); + super.flag = PacketEntity.FLAG_RESPONSE; + } + config: MagicWallConfig = new MagicWallConfig(); + success = false; + } + + export class RpcTestARequestEntity extends PacketEntity { + constructor(rpc_id = 0) { + super(); + super.command = Commands.kRpcTestA; + super.flag = PacketEntity.FLAG_REQUEST; + super.rpc_id = rpc_id; + } + timestamp = 0; + } + + export class RpcTestAResponseEntity extends PacketEntity { + constructor() { + super(); + super.flag = PacketEntity.FLAG_RESPONSE; + } + lt_t = 0; + lt_l = 0; + rt_t = 0; + rt_r = 0; + rb_b = 0; + rb_r = 0; + lb_b = 0; + lb_l = 0; + } } diff --git a/src/i18n/en-US/index.ts b/src/i18n/en-US/index.ts index 1f0690d..67747fc 100644 --- a/src/i18n/en-US/index.ts +++ b/src/i18n/en-US/index.ts @@ -398,6 +398,9 @@ export default { "server commit hash": "Server Commit Hash", "edit user or password": "Edit User Or Password", "old password error": "Old Password Error", + "Please input vaild host. example: 192.168.1.1 or 192.168.1.1:8080": + "Please Input Vaild Host. Example: 192.168.1.1 or 192.168.1.1:8080", + "equipment data": "Equipment Data", "magic wall":"Magic Wall", "angle":"Angle", "topology diagram":"Topology Diagram", diff --git a/src/i18n/zh-CN/index.ts b/src/i18n/zh-CN/index.ts index 2a607d5..378f89d 100644 --- a/src/i18n/zh-CN/index.ts +++ b/src/i18n/zh-CN/index.ts @@ -668,9 +668,13 @@ export default { "new password": "新密码", "edit user or password": "修改用户名和密码", "old password error": "旧密码不匹配", + "magic wall":"魔墙", "angle":"角度", "topology diagram":"拓扑图", "physical central location":"物理中心位置", "monitors list":"显示器", + "Please input vaild host. example: 192.168.1.1 or 192.168.1.1:8080": + "请输入合法地址. 例: 192.168.1.1 或 192.168.1.1:8080", + "equipment data": "联动设备", }; diff --git a/src/pages/TopToolBar.vue b/src/pages/TopToolBar.vue index 9399e19..c0a8aec 100644 --- a/src/pages/TopToolBar.vue +++ b/src/pages/TopToolBar.vue @@ -462,7 +462,8 @@ - + + {{ $store.state.fan_temp.toFixed(1) }} ℃ @@ -496,7 +497,7 @@ /> -