合并分支

This commit is contained in:
miao 2022-12-13 14:56:36 +08:00
parent a43188c3a1
commit 2b1ab68d29
10 changed files with 217 additions and 15 deletions

View File

@ -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<Protocol.RpcGetMagicWallConfigResponseEntity>(
new Protocol.RpcGetMagicWallConfigRequestEntity()
);
} catch (e) {
console.error(e);
}
}
public async setMagicWallConfig(config: MagicWallConfig) {
try {
return await this.doRpc<Protocol.RpcSetMagicWallConfigResponseEntity>(
new Protocol.RpcSetMagicWallConfigRequestEntity(config)
);
} catch (e) {
console.error(e);
}
}
public async testA() {
try {
return await this.doRpc<Protocol.RpcTestAResponseEntity>(
new Protocol.RpcTestARequestEntity()
);
} catch (e) {
console.error(e);
}
}
public async setHdmiInDecodeType(index: number, type: string) {
try {
return await this.doRpc<Protocol.SetHdmiInDecodeTypeResponseEntity>(

View File

@ -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(

View File

@ -228,6 +228,30 @@
}}
<q-tooltip> {{ props.value }} </q-tooltip>
</div>
<div v-else-if="props.col.name == 'file_size'">
<span v-if="props.row.is_directory"> </span>
<span v-else>
<span
v-if="
Math.floor(props.row.file_size / 1024 / 1024 / 1024) > 0
"
>
{{
(props.row.file_size / 1024 / 1024 / 1024).toFixed(2)
}}GB
</span>
<span
v-else-if="
Math.floor(props.row.file_size / 1024 / 1024) > 0
"
>
{{ (props.row.file_size / 1024 / 1024).toFixed(2) }}MB
</span>
<span v-else>
{{ (props.row.file_size / 1024).toFixed(2) }} KB
</span>
</span>
</div>
<div v-else-if="props.col.name != 'operator'">
{{ props.value }}
</div>
@ -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,
},

View File

@ -1166,9 +1166,7 @@
<div
v-if="
(click_count >= target_click_count &&
(click_count % target_click_count == 0 ||
click_count % target_click_count == 1)) ||
click_count >= target_click_count ||
$store.state.advanced_debug
"
>
@ -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<TimingTaskEntity[]> = 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");

View File

@ -0,0 +1,8 @@
import RotatedRectF from "./RectF";
export default class MagicWallConfig {
magic_wall_enable = false;
row = 0;
col = 0;
windows: RotatedRectF[] = [];
}

34
src/entities/RectF.ts Normal file
View File

@ -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;
}
}

View File

@ -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;
}
}

View File

@ -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",

View File

@ -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": "联动设备",
};

View File

@ -462,7 +462,8 @@
<q-item>
<q-item-section avatar style="margin-right: 0px; padding-right: 0px">
<!-- <q-icon class="text-white rotate" name="img:svgs/fan.svg" /> -->
<q-icon class="text-white rotate" name="img:new_icon/fan.png" />
<!-- <q-icon class="text-white rotate" name="img:new_icon/fan.png" /> -->
<q-icon class="text-white" :style="{'animation':fan}" name="img:new_icon/fan.png" />
</q-item-section>
<q-item-section style="margin-left: -25px">
{{ $store.state.fan_temp.toFixed(1) }}
@ -496,7 +497,7 @@
/>
</template>
<style scoped>
<style >
@keyframes rotate {
0% {
transform: rotate(0);
@ -596,7 +597,13 @@ export default defineComponent({
const plan_running = computed(
() => $store.state.current_running_plan.trim() != ""
);
const fan = computed(
() => {
let wendu:any=($store.state.fan_temp).toFixed(1)
let sulv:any=(1-(wendu/150))
return 'rotate '+sulv+'s linear infinite'
}
);
const checkRegistered = () => {
if (
GlobalData.getInstance().getCurrentClient()?.is_connected &&
@ -670,7 +677,7 @@ export default defineComponent({
window_rect_edit_dialog,
show_device_list,
power_flag,
fan,
async backupDB() {
let client = GlobalData.getInstance().getCurrentClient();
if (client) {