el-upload 上传多个图片或多个文件,编辑,回显,删除操作

news2024/9/20 5:57:58

后端查询详情接口数据:

[
    {
        "id": 91,
        "name": "Default",
        "sort": 0,
        "fold": false,
        "deletable": false,
        "uniqueId": "machine_cabinet",
        "infoList": [
            {
                "id": 542,
                "name": "assets_number",
                "humpName": "assetsNumber",
                "label": "资产编号",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": "机柜A01",
                "valueAttribute": null
            },
            {
                "id": 548,
                "name": "cabinet_model",
                "humpName": "cabinetModel",
                "label": "机柜模型",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": "123",
                "valueAttribute": null
            },
            {
                "id": 549,
                "name": "cabinet_model_type",
                "humpName": "cabinetModelType",
                "label": "机柜模型类型",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": "123",
                "valueAttribute": null
            },
            {
                "id": 550,
                "name": "cabinet_type",
                "humpName": "cabinetType",
                "label": "机柜属性",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": "123",
                "valueAttribute": null
            },
            {
                "id": 543,
                "name": "category_id",
                "humpName": "categoryId",
                "label": "类别",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 540,
                "name": "create_time",
                "humpName": "createTime",
                "label": "创建时间",
                "dateType": 5,
                "typeValue": "date",
                "dateTypeValue": null,
                "dateTypeName": "日期",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": "2024-07-05",
                "valueAttribute": null
            },
            {
                "id": 544,
                "name": "device_category_id",
                "humpName": "deviceCategoryId",
                "label": "设备类别",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 551,
                "name": "electric_switch",
                "humpName": "electricSwitch",
                "label": "市电开关",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 491,
                "name": "example",
                "humpName": "example",
                "label": "实例名",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": null,
                "max": null,
                "regex": null,
                "required": false,
                "requiredDefault": null,
                "edit": false,
                "primaryKey": false,
                "hide": false,
                "hint": null,
                "uniquely": false,
                "deletable": false,
                "groupId": 91,
                "query": true,
                "queryOrder": 0,
                "show": true,
                "showDefault": false,
                "showOrder": 0,
                "uniqueId": null,
                "orderQuery": false,
                "value": "机柜A01",
                "valueAttribute": null
            },
            {
                "id": 492,
                "name": "example_department",
                "humpName": "exampleDepartment",
                "label": "所属科室",
                "dateType": 12,
                "typeValue": "isCascade",
                "dateTypeValue": "/sso-management/department/getDepById?",
                "dateTypeName": "组织",
                "sort": 1,
                "min": null,
                "max": null,
                "regex": null,
                "required": false,
                "requiredDefault": null,
                "edit": false,
                "primaryKey": false,
                "hide": false,
                "hint": null,
                "uniquely": false,
                "deletable": false,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": [],
                "valueAttribute": [
                    {
                        "child": [
                            {
                                "child": null,
                                "key": 100000023,
                                "key2": null,
                                "name": "测试部门",
                                "parent": null,
                                "pid": 100000022,
                                "value": "测试部门"
                            }
                        ],
                        "key": 100000022,
                        "key2": null,
                        "name": "测试公司",
                        "parent": null,
                        "pid": 0,
                        "value": "测试公司"
                    },
                    {
                        "child": [
                            {
                                "child": null,
                                "key": 100000080,
                                "key2": null,
                                "name": "二级部门",
                                "parent": null,
                                "pid": 100000079,
                                "value": "二级部门"
                            }
                        ],
                        "key": 100000079,
                        "key2": null,
                        "name": "一级部门",
                        "parent": null,
                        "pid": 0,
                        "value": "一级部门"
                    },
                    {
                        "child": [
                            {
                                "child": null,
                                "key": 100000083,
                                "key2": null,
                                "name": "a科室",
                                "parent": null,
                                "pid": 100000082,
                                "value": "a科室"
                            },
                            {
                                "child": null,
                                "key": 100000085,
                                "key2": null,
                                "name": "b科室",
                                "parent": null,
                                "pid": 100000082,
                                "value": "b科室"
                            },
                            {
                                "child": null,
                                "key": 100000123,
                                "key2": null,
                                "name": "c部门",
                                "parent": null,
                                "pid": 100000082,
                                "value": "c部门"
                            }
                        ],
                        "key": 100000082,
                        "key2": null,
                        "name": "科技科",
                        "parent": null,
                        "pid": 0,
                        "value": "科技科"
                    },
                    {
                        "child": null,
                        "key": 100000091,
                        "key2": null,
                        "name": "测试1",
                        "parent": null,
                        "pid": 0,
                        "value": "测试1"
                    },
                    {
                        "child": [
                            {
                                "child": [
                                    {
                                        "child": null,
                                        "key": 100000122,
                                        "key2": null,
                                        "name": "测试部门11111111",
                                        "parent": null,
                                        "pid": 100000120,
                                        "value": "测试部门11111111"
                                    }
                                ],
                                "key": 100000120,
                                "key2": null,
                                "name": "测试部门111",
                                "parent": null,
                                "pid": 100000106,
                                "value": "测试部门111"
                            }
                        ],
                        "key": 100000106,
                        "key2": null,
                        "name": "测试部门1",
                        "parent": null,
                        "pid": 0,
                        "value": "测试部门1"
                    },
                    {
                        "child": null,
                        "key": 100000107,
                        "key2": null,
                        "name": "测试部门2",
                        "parent": null,
                        "pid": 0,
                        "value": "测试部门2"
                    },
                    {
                        "child": null,
                        "key": 100000108,
                        "key2": null,
                        "name": "测试部门3",
                        "parent": null,
                        "pid": 0,
                        "value": "测试部门3"
                    },
                    {
                        "child": null,
                        "key": 100000109,
                        "key2": null,
                        "name": "测试部门4",
                        "parent": null,
                        "pid": 0,
                        "value": "测试部门4"
                    },
                    {
                        "child": null,
                        "key": 100000110,
                        "key2": null,
                        "name": "测试部门5",
                        "parent": null,
                        "pid": 0,
                        "value": "测试部门5"
                    }
                ]
            },
            {
                "id": 493,
                "name": "example_state",
                "humpName": "exampleState",
                "label": "实例状态",
                "dateType": 11,
                "typeValue": "select",
                "dateTypeValue": "/cmdb/dict/query?args=example_state&",
                "dateTypeName": "列表",
                "sort": 1,
                "min": null,
                "max": null,
                "regex": null,
                "required": false,
                "requiredDefault": null,
                "edit": false,
                "primaryKey": false,
                "hide": false,
                "hint": null,
                "uniquely": false,
                "deletable": false,
                "groupId": 91,
                "query": true,
                "queryOrder": 0,
                "show": true,
                "showDefault": false,
                "showOrder": 0,
                "uniqueId": null,
                "orderQuery": false,
                "value": [
                    "1"
                ],
                "valueAttribute": [
                    {
                        "id": 33,
                        "createTime": "2024-05-24 14:17:00",
                        "groups": "example_state",
                        "key": "1",
                        "value": "使用中",
                        "sort": 1,
                        "enable": true,
                        "defaulted": true,
                        "remark": "系统生成"
                    },
                    {
                        "id": 34,
                        "createTime": "2024-05-24 14:17:00",
                        "groups": "example_state",
                        "key": "2",
                        "value": "维护中",
                        "sort": 1,
                        "enable": true,
                        "defaulted": false,
                        "remark": "系统生成"
                    },
                    {
                        "id": 35,
                        "createTime": "2024-05-24 14:17:00",
                        "groups": "example_state",
                        "key": "3",
                        "value": "闲置",
                        "sort": 1,
                        "enable": true,
                        "defaulted": false,
                        "remark": "系统生成"
                    },
                    {
                        "id": 36,
                        "createTime": "2024-05-24 14:17:00",
                        "groups": "example_state",
                        "key": "4",
                        "value": "备用",
                        "sort": 1,
                        "enable": true,
                        "defaulted": false,
                        "remark": "系统生成"
                    },
                    {
                        "id": 37,
                        "createTime": "2024-05-24 14:17:00",
                        "groups": "example_state",
                        "key": "5",
                        "value": "报废",
                        "sort": 1,
                        "enable": true,
                        "defaulted": false,
                        "remark": "系统生成"
                    },
                    {
                        "id": 38,
                        "createTime": "2024-05-24 14:17:00",
                        "groups": "example_state",
                        "key": "6",
                        "value": "已出厂",
                        "sort": 1,
                        "enable": true,
                        "defaulted": false,
                        "remark": "系统生成"
                    },
                    {
                        "id": 39,
                        "createTime": "2024-05-24 14:17:00",
                        "groups": "example_state",
                        "key": "7",
                        "value": "送修",
                        "sort": 1,
                        "enable": true,
                        "defaulted": false,
                        "remark": "系统生成"
                    },
                    {
                        "id": 40,
                        "createTime": "2024-05-24 14:17:00",
                        "groups": "example_state",
                        "key": "8",
                        "value": "损坏待修",
                        "sort": 1,
                        "enable": true,
                        "defaulted": false,
                        "remark": "系统生成"
                    }
                ]
            },
            {
                "id": 558,
                "name": "h",
                "humpName": "h",
                "label": "高",
                "dateType": 3,
                "typeValue": "float",
                "dateTypeValue": null,
                "dateTypeName": "浮点",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 490,
                "name": "id",
                "humpName": "id",
                "label": "主键ID",
                "dateType": 0,
                "typeValue": "number",
                "dateTypeValue": null,
                "dateTypeName": null,
                "sort": 1,
                "min": null,
                "max": null,
                "regex": null,
                "required": false,
                "requiredDefault": null,
                "edit": false,
                "primaryKey": true,
                "hide": true,
                "hint": "隐藏主键ID",
                "uniquely": false,
                "deletable": false,
                "groupId": 91,
                "query": false,
                "queryOrder": 1,
                "show": false,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": 1,
                "valueAttribute": null
            },
            {
                "id": 556,
                "name": "l",
                "humpName": "l",
                "label": "长",
                "dateType": 3,
                "typeValue": "float",
                "dateTypeValue": null,
                "dateTypeName": "浮点",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 559,
                "name": "location",
                "humpName": "location",
                "label": "地理位置",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 560,
                "name": "model",
                "humpName": "model",
                "label": "规格型号",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 561,
                "name": "name",
                "humpName": "name",
                "label": "机柜名称",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": "机柜A01",
                "valueAttribute": null
            },
            {
                "id": 562,
                "name": "power_capacity",
                "humpName": "powerCapacity",
                "label": "电力容量",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 545,
                "name": "qr_code",
                "humpName": "qrCode",
                "label": "二维码",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 546,
                "name": "resource_category_id",
                "humpName": "resourceCategoryId",
                "label": "资源类别",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 563,
                "name": "room",
                "humpName": "room",
                "label": "所属机房",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": "1",
                "valueAttribute": null
            },
            {
                "id": 564,
                "name": "room_number",
                "humpName": "roomNumber",
                "label": "机房内部编号",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 547,
                "name": "style_type",
                "humpName": "styleType",
                "label": "标签样式",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 552,
                "name": "toward",
                "humpName": "toward",
                "label": "朝向",
                "dateType": 2,
                "typeValue": "number",
                "dateTypeValue": null,
                "dateTypeName": "数字",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 565,
                "name": "unumber",
                "humpName": "unumber",
                "label": "总U数",
                "dateType": 2,
                "typeValue": "number",
                "dateTypeValue": null,
                "dateTypeName": "数字",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": "42",
                "valueAttribute": null
            },
            {
                "id": 541,
                "name": "update_time",
                "humpName": "updateTime",
                "label": "更新时间",
                "dateType": 5,
                "typeValue": "date",
                "dateTypeValue": null,
                "dateTypeName": "日期",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 566,
                "name": "ups_switch",
                "humpName": "upsSwitch",
                "label": "UPS开关",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 567,
                "name": "vendor",
                "humpName": "vendor",
                "label": "机柜厂商",
                "dateType": 1,
                "typeValue": "input",
                "dateTypeValue": null,
                "dateTypeName": "短字符",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 557,
                "name": "w",
                "humpName": "w",
                "label": "宽",
                "dateType": 3,
                "typeValue": "float",
                "dateTypeValue": null,
                "dateTypeName": "浮点",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 553,
                "name": "x",
                "humpName": "x",
                "label": "横轴",
                "dateType": 3,
                "typeValue": "float",
                "dateTypeValue": null,
                "dateTypeName": "浮点",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 554,
                "name": "y",
                "humpName": "y",
                "label": "纵轴",
                "dateType": 3,
                "typeValue": "float",
                "dateTypeValue": null,
                "dateTypeName": "浮点",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 555,
                "name": "z",
                "humpName": "z",
                "label": "竖轴",
                "dateType": 3,
                "typeValue": "float",
                "dateTypeValue": null,
                "dateTypeName": "浮点",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 91,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            }
        ]
    },
    {
        "id": 95,
        "name": "文件",
        "sort": 1,
        "fold": false,
        "deletable": true,
        "uniqueId": "machine_cabinet",
        "infoList": [
            {
                "id": 673,
                "name": "file",
                "humpName": "file",
                "label": "文件",
                "dateType": 14,
                "typeValue": "file",
                "dateTypeValue": null,
                "dateTypeName": "文件",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 95,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": null,
                "valueAttribute": null
            },
            {
                "id": 671,
                "name": "img",
                "humpName": "img",
                "label": "图片",
                "dateType": 13,
                "typeValue": "image",
                "dateTypeValue": null,
                "dateTypeName": "图片",
                "sort": 1,
                "min": "",
                "max": "",
                "regex": null,
                "required": false,
                "requiredDefault": "",
                "edit": true,
                "primaryKey": false,
                "hide": false,
                "hint": "",
                "uniquely": null,
                "deletable": true,
                "groupId": 95,
                "query": true,
                "queryOrder": 1,
                "show": true,
                "showDefault": false,
                "showOrder": 1,
                "uniqueId": null,
                "orderQuery": false,
                "value": "[{\"name\":\"4\",\"url\":\"cmdb/20240711/11432589000952.png\"},{\"name\":\"1\",\"url\":\"cmdb/20240711/21296220514619.png\"},{\"name\":\"2\",\"url\":\"cmdb/20240711/4042956264619.png\"}]",
                "valueAttribute": null
            }
        ]
    }
]

vue组件代码:(代码有点乱,只看上传有关的就行)

<template>
  <!-- 资源实例详情-- 属性页面 -->
  <div class="property">
    <el-form
      :inline="true"
      :model="formInline"
      label-width="130px"
      label-position="right"
      style="padding-left: 80px"
    >
      <div v-for="item in detailList" :key="item.id">
        <el-row
          ><div class="subName">{{ item.name }}</div></el-row
        >
        <div class="sunNameSpace">
          <el-form-item
            style="width: 40%"
            :label="v.label"
            v-for="(v, i) in item.infoList"
            v-if="v.name !== 'id'"
            :key="v.id"
          >
            <div @mouseleave="editModeButton = false">
              <!-- 非编辑状态 -->
              <span v-if="!editMode" @mouseenter="doEnter(v)">
                <span
                  v-if="
                    v.typeValue == 'select' &&
                    v[`valueAttribute${i}`] &&
                    v[`valueAttribute${i}`].length > 0
                  "
                >
                  <el-select v-model="v.value" clearable disabled>
                    <el-option
                      v-for="w in v[`valueAttribute${i}`]"
                      :key="w.key"
                      :label="w.value"
                      :value="w.key"
                    >
                    </el-option>
                  </el-select>
                </span>
                <span
                  v-else-if="
                    v.typeValue == 'isCascade' &&
                    v[`valueAttribute${i}`] &&
                    v[`valueAttribute${i}`].length > 0
                  "
                >
                  <el-cascader
                    v-model="v.value"
                    :options="v[`valueAttribute${i}`]"
                    :props="propsCascader"
                    disabled
                  ></el-cascader>
                </span>
                <span v-else-if="v.typeValue == 'bool'">
                  <el-switch v-model="v.value" disabled></el-switch>
                </span>
                <span v-else-if="v.typeValue == 'image'" style="display: flex">
                  <img
                    style="width: 148px; margin-right: 10px"
                    :src="item.url"
                    v-for="(item, index) in getImgListBase(v.value)"
                    :key="index"
                  />
                </span>
                <span v-else>{{ v.value }}</span>
              </span>
              <!-- 鼠标移入显示复制右边icon -->
              <span v-if="editModeButton && currnetField == v.id">
                <i
                  class="el-icon-document-copy colorStyle"
                  v-clipboard:copy="v.value"
                  v-clipboard:success="clipboardSuccess"
                ></i
              ></span>
              <!-- 编辑状态 -->
              <div v-if="editMode">
                <el-input
                  v-if="v.typeValue == 'input' || v.typeValue == 'textarea'"
                  v-model="v.value"
                  @change="changeInput(v)"
                  @blur="getDataListS(v)"
                ></el-input>
                <el-input
                  v-else-if="v.typeValue == 'number' || v.typeValue == 'float'"
                  type="number"
                  v-model="v.value"
                  @change="changeInput(v)"
                ></el-input>
                <el-date-picker
                  style="width: 202px"
                  v-else-if="v.typeValue == 'date'"
                  value-format="yyyy-MM-dd"
                  type="date"
                  v-model="v.value"
                  @change="changeInput(v)"
                ></el-date-picker>
                <el-date-picker
                  style="width: 202px"
                  v-else-if="v.typeValue == 'time'"
                  value-format="yyyy-MM-dd HH:mm:ss"
                  type="datetime"
                  v-model="v.value"
                  @change="changeInput(v)"
                ></el-date-picker>
                <el-switch
                  v-else-if="v.typeValue == 'bool'"
                  v-model="v.value"
                  @change="changeInput(v)"
                ></el-switch>
                <span
                  style="display: flex"
                  v-else-if="v.typeValue == 'image'"
                  @click="doChangeImg(v)"
                >
                  <el-upload
                    ref="upload"
                    action
                    multiple
                    list-type="picture-card"
                    :file-list="getImgListBase(v.value)"
                    :on-preview="handlePictureCardPreview"
                    :on-remove="handleRemoveImg"
                    :http-request="uploadFilesImg"
                    :on-change="changeFileImg"
                    :headers="headers"
                  >
                    <i class="el-icon-plus"></i>
                  </el-upload>
                  <el-dialog :visible.sync="dialogVisible">
                    <img width="100%" :src="dialogImageUrl" alt="" />
                  </el-dialog>
                </span>
                <span v-else-if="v.typeValue == 'file'">
                  <el-upload
                    ref="upload"
                    action
                    multiple
                    :file-list="getImgListBase(v.value)"
                    :on-preview="handlePictureCardPreview"
                    :on-remove="handleRemove"
                    :http-request="uploadFiles"
                    :on-change="changeFile"
                    :headers="headers"
                  >
                    <el-button size="small" type="primary" @click="doChange(v)"
                      >点击上传</el-button
                    >
                  </el-upload>
                </span>
                <el-select
                  style="width: 202px"
                  v-else-if="
                    v.typeValue == 'select' &&
                    v[`valueAttribute${i}`] &&
                    v[`valueAttribute${i}`].length > 0
                  "
                  v-model="v.value"
                  clearable
                  @change="changeInput(v)"
                >
                  <el-option
                    v-for="w in v[`valueAttribute${i}`]"
                    :key="w.key"
                    :label="w.value"
                    :value="w.key"
                  >
                  </el-option>
                </el-select>
                <el-cascader
                  style="width: 202px"
                  v-else-if="
                    v.typeValue == 'isCascade' &&
                    v[`valueAttribute${i}`] &&
                    v[`valueAttribute${i}`].length > 0
                  "
                  v-model="v.value"
                  :options="v[`valueAttribute${i}`]"
                  :props="propsCascader"
                  @change="changeInput(v)"
                ></el-cascader>
              </div>
            </div>
          </el-form-item>
        </div>
      </div>
    </el-form>
    <div style="float: right; margin-right: 50px">
      <el-button
        v-if="!editMode"
        type="primary"
        size="mini"
        @click="
          editMode = true;
          editModeButton = false;
        "
        >编辑</el-button
      >
      <el-button
        v-if="editMode"
        type="primary"
        size="mini"
        @click="handleSubmit"
        >保存</el-button
      >
      <el-button v-if="editMode" size="mini" @click="doCancel">取消</el-button>
    </div>
  </div>
</template>
  
  <script>
import { mapGetters } from "vuex";
import {
  details,
  updateResource,
  querySelectR,
  getAddress,
  upload,
} from "@/api/cmdb/model";
import UploadFile from "./UploadFile.vue";
export default {
  components: { UploadFile },
  computed: {
    ...mapGetters(["getActiveModel", "getResourceId"]),
  },
  data() {
    return {
      baseUrl:
        process.env.NODE_ENV === "development"
          ? "http://10.7.40.178:10180/file/"
          : window.location.protocol + "//" + window.location.host + "/file/",
      formInline: {},
      editModeButton: false,
      editMode: false,
      currnetField: "",
      detailList: [],
      options: [],
      propsCascader: {
        value: "key",
        label: "value",
        children: "child",
      },
      dialogImageUrl: "",
      dialogVisible: false,
      fileList: [], // 上传文件列表
      fileListImg: [], // 上传文件列表
      currnetFieldName: "",
      currnetFieldNameImg: "",
      imgList: "1.png,2.png",
      headers: { "Content-Type": "multipart/form-data" }, //必须加这个
      dataImgList: [],
      dataFileList: [],
    };
  },
  mounted() {
    this.getList();
    this.getSelect();
  },
  methods: {
    getReplaceAll(str, find, replace) {
      return str.replace(new RegExp(find, "g"), replace);
    },
    getImgListBase(data) {
      let arr = [];
      // eval 去掉数组外层的引号,转成数组
      if (data) {
        arr = eval(data);
        arr.forEach((v) => {
          v.url = this.baseUrl + v.url;
        });
      }
      return arr;
    },
    getImgList(data) {
      let arr = [];
      // eval 去掉数组外层的引号,转成数组
      if (data) {
        arr = eval(data);
        arr.forEach((v) => {
          v.url = v.url;
        });
      }
      return arr;
    },
    getDataListS(v) {
      if (v.regex) {
        /*这个正则表示的是输入框前后不得有空格*/
        let re = v.regex.replace("\n", "");
        // 将后端返回的正则字符串转为正则对象
        let reg = new Function("return " + re)();
        if (reg.test(v.value) == true) {
          /*所需要写的事件*/
        } else {
          /*空格的时候的提示语*/
          this.$message.error(`${v.label}正则校验不通过,请重新输入`);
        }
      }
    },

    /** 复制代码成功 */
    clipboardSuccess() {
      this.$modal.msgSuccess("复制成功");
    },
    doEnter(v) {
      this.editModeButton = true;
      this.currnetField = v.id;
    },
    // 获取下拉字段的下拉值
    getSelect() {
      // querySelectR({ args: "default" }).then((res) => {
      //   if (res.code == 0) {
      //     this.options = res.data;
      //   }
      // });
    },
    // 编辑-保存
    handleSubmit() {
      // console.log("编辑数据:", this.formInline);
      let params = {
        uniqueId: this.getActiveModel.uniqueId,
        id: this.getResourceId,
        args: this.formInline,
      };
      updateResource(params)
        .then((res) => {
          if (res.code == 0) {
            this.editMode = false;
            this.$message.success(res.desc);
            this.getList();
          } else {
            this.editMode = false;
            res.desc && this.$message.error(res.desc);
          }
        })
        .catch((err) => {
          this.editMode = false;
          err.desc && this.$message.error(err.desc);
        });
    },
    changeInput(v) {
      if (v.typeValue == "bool") {
        if (v.value) {
          this.formInline[v.name] = 1;
        } else {
          this.formInline[v.name] = 0;
        }
      } else if (v.typeValue == "isCascade") {
        this.formInline[v.name] = v.value.join();
      } else {
        this.formInline[v.name] = v.value;
      }
    },

    getList() {
      let params = {
        uniqueId: this.getActiveModel.uniqueId,
        id: this.getResourceId,
      };
      details(params)
        .then((res) => {
          if (res.code == 0) {
            this.detailList = res.data;
            this.detailList.forEach((v1) => {
              v1.infoList.forEach((v2, i2) => {
                if (v2.typeValue == "isCascade" || v2.typeValue == "select") {
                  getAddress(
                    process.env.NODE_ENV === "development"
                      ? "http://10.7.40.178:10176" + v2.dateTypeValue
                      : window.location.protocol +
                          "//" +
                          window.location.host +
                          v2.dateTypeValue,
                    {}
                  ).then((res2) => {
                    // v2[`valueAttribute${i2}`] = res2;
                    this.$set(v2, `valueAttribute${i2}`, res2); // 双向绑定,回显问题
                  });
                  if (v2.typeValue == "isCascade") {
                    v2.value = v2.value.map(Number); // 级联下拉转换成Number数组,编辑回显绑定
                  } else {
                    v2.value = v2.value.join();
                  }
                }

                // 图片文件格式数据处理
                if (v2.typeValue == "image") {
                  this.dataImgList = this.getImgList(v2.value);
                } else if (v2.typeValue == "file") {
                  this.dataFileList = this.getImgList(v2.value);
                }
              });
            });
          } else {
            res.desc && this.$message.error(res.desc);
          }
        })
        .catch((err) => {
          err.desc && this.$message.error(err.desc);
        });
    },
    doCancel() {
      this.editMode = false;
      this.getList();
    },
    handleRemoveImg(file, fileList) {
      console.log("删除img", file, fileList);
      this.formInline[this.currnetFieldNameImg] = fileList;
    },
    handleRemove(file, fileList) {
      console.log("删除", file, fileList);
      this.formInline[this.currnetFieldName] = fileList;
    },
    handlePictureCardPreview(file) {
      this.dialogImageUrl = file.url;
      this.dialogVisible = true;
    },
    //通过onchanne触发方法获得文件列表
    changeFileImg(file, fileList) {
      this.fileListImg = fileList;
    },
    changeFile(file, fileList) {
      this.fileList = fileList;
    },
    uploadFilesImg(file) {
      const _file = file.file;
      var formData = new FormData();
      // formData.append("files", _file);
      formData.append("args", "cmdb");
      this.fileListImg.forEach((v) => {
        formData.append("files", v.raw);
      });
      upload(formData)
        .then((res) => {
          if (res.code == 0) {
            // 如果dataImgList长度为零,说明之前没有图片,就直接赋值上传接口返回的数据,如果不为零,需要把之前的老数据也带上
            if (this.dataImgList.length == 0) {
              this.formInline[this.currnetFieldNameImg] = res.data;
            } else {
              this.formInline[this.currnetFieldNameImg] = [
                ...res.data,
                ...this.dataImgList,
              ];
            }
            this.$message.success("上传成功");
          } else {
            res.desc && this.$message.error(res.desc);
          }
        })
        .catch((err) => {
          err.desc && this.$message.error(err.desc);
        });
    },
    uploadFiles(file) {
      const _file = file.file;
      var formData = new FormData();
      // formData.append("files", _file);
      formData.append("args", "cmdb");
      this.fileList.forEach((v) => {
        formData.append("files", v.raw);
      });
      upload(formData)
        .then((res) => {
          if (res.code == 0) {
            // this.formInline[this.currnetFieldName] = res.data;
            if (this.dataFileList.length == 0) {
              this.formInline[this.currnetFieldName] = res.data;
            } else {
              this.formInline[this.currnetFieldName] = [
                ...res.data,
                ...this.dataFileList,
              ];
            }
            this.$message.success("上传成功");
          } else {
            res.desc && this.$message.error(res.desc);
          }
        })
        .catch((err) => {
          err.desc && this.$message.error(err.desc);
        });
    },
    doChangeImg(v) {
      this.currnetFieldNameImg = v.name;
    },
    doChange(v) {
      this.currnetFieldName = v.name;
    },
  },
};
</script>

<style lang="scss" scoped>
.property {
  margin-top: 20px;
  .subName {
    font-size: 16px;
    padding-left: 10px;
    border-left: 3px solid #ccc;
  }
  .colorStyle {
    color: #409eff;
    cursor: pointer;
    margin-left: 5px;
  }
}
</style>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1917986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Qt打包软件

打包 基础打包 要配置好qt的环境变量 在编译好的release目录下面执行 windeployqt myapp.exe复杂打包 下载软件:http://www.jrsoftware.org/isdl.php#stable &#xff08;1&#xff09;打开 Inno Setup Complier&#xff0c;点击 【file】→【new】&#xff0c;新建一个脚…

鸿蒙Navigation的页面跳转官方代码

星河版本 文章部分代码来源于官方 文章部分代码来源于官方只是自己改了容易理解 与API4不同的Navigation 新版本使用的思路是 1、创建页面栈 pageInfos: NavPathStack new NavPathStack();2、resources/base/profile创建 router_map.json 文件 {"routerMap":…

视频监控汇聚平台LntonCVS视频集中存储平台解决负载均衡的方案

随着技术的进步和企业对监控需求的增加&#xff0c;视频监控系统规模不断扩大&#xff0c;接入大量设备已成常态化挑战。为应对这一挑战&#xff0c;视频汇聚系统LntonCVS视频融合平台凭借其卓越的高并发处理能力&#xff0c;为企业视频监控管理系统提供可靠的负载均衡服务保障…

公司网站建站模板源码系统 响应式网站模版 随心自定义 带完整的代码包以及搭建部署教程

系统概述 公司网站建站模板源码系统是一套基于最新技术开发的网站建设解决方案。该系统集成了众多先进的网站开发工具和功能模块&#xff0c;旨在帮助企业快速构建出美观、实用的公司网站。通过采用模块化设计&#xff0c;系统实现了高度可定制性&#xff0c;企业可以根据自身…

一文读懂:RHEL如何通过control-center建立安全的IPsec VPN连接

大家好&#xff0c;这里是G-LAB IT实验室。虚拟专用网络(VPN)是一种通过互联网连接到本地网络的方法。Libreswan 提供的 IPsec 是创建 VPN 的首选方法。libreswan 是 VPN 的用户空间 IPsec 实现。VPN 通过在中间网络&#xff08;如互联网&#xff09;设置一个隧道来启用 LAN 和…

【Ubuntu-18.04.6 LTS (Bionic Beaver)】串口无法root登录解决方案

root用户无法再窗口登录 用户界面登录提示 soory that didnot work 解决方案 GDM 配置 /etc/gdm3/custom.conf 中增加或删除注释 [security] AllowRoottrue重启服务 service gdm restart确认 PAM 配置 GDM 使用 PAM 进行认证&#xff0c;可能 PAM 配置中限制了 root 登录…

22_单阶段目标检测-SSD算法理论

1.1 简介 SSD&#xff08;Single Shot MultiBox Detector&#xff09;是一种在深度学习领域广泛使用的对象检测算法&#xff0c;由Wei Liu等人在2015年提出。它是“单阶段”&#xff08;one-stage&#xff09;检测器的一个典型代表&#xff0c;与之相对的是像R-CNN系列这样的“…

【精简教程】VSCode 连接 Remix

初始化 Node.js 项目 yarn init v1.22.19安装 Remix yarn add remix-project/remixd -g⚠️ 此时如果直接敲 remix&#xff0c;显示找不到这个命令。 使用 Node.js 来直接执行 remixd.js 文件 node node_modules\remix-project\remixd\src\bin\remixd.js&#x1f604; 连接上了…

软件供应链安全:如何防范潜在的攻击?

来源&#xff1a;https://thehackernews.com/2024/06/practical-guidance-for-securing-your.html 软件生产组织面临越来越大的监管和法律压力&#xff0c;要求其保护供应链并确保软件的完整性&#xff0c;这不足为奇。在过去几年里&#xff0c;软件供应链已经成为攻击者越来越…

【漏洞复现】docassemble——interview——任意文件读取

声明&#xff1a;本文档或演示材料仅供教育和教学目的使用&#xff0c;任何个人或组织使用本文档中的信息进行非法活动&#xff0c;均与本文档的作者或发布者无关。 文章目录 漏洞描述漏洞复现测试工具 漏洞描述 docassemble 是一款强大的开源工具&#xff0c;它让自动化生成和…

泛微e-cology getFileViewUrl接口存在SSRF漏洞复现 [附POC]

文章目录 泛微e-cology getFileViewUrl接口存在SSRF漏洞复现 [附POC]0x01 前言0x02 漏洞描述0x03 影响版本0x04 漏洞环境0x05 漏洞复现1.访问漏洞环境2.构造POC3.复现0x06 修复建议泛微e-cology getFileViewUrl接口存在SSRF漏洞复现 [附POC] 0x01 前言 免责声明:请勿利用文章…

运维圈都在“卷”的可观测性,还有这些要点运维人必须知道

在信息技术的快速发展下&#xff0c;IT运维领域在2018年迎来了一个全新的概念——“可观测性”&#xff08;Observability&#xff09;&#xff0c;并迅速成为云原生技术领域的热点话题&#xff0c;被Gartner列为“2023年十大战略技术趋势”之一。Gartner预测&#xff0c;到202…

ipv4和ipv6的兼容性问题

ipv4和ipv6的兼容 现今大多知名网站都是同时支持ipv6和ipv4&#xff0c;这种可以分为两种情况讨论&#xff1a; 一个IPv4的网络和一个IPv6的网络通信;一个IPv6的网络和一一个IPv6的网络通信&#xff0c;但是中间需要经过一一个IPv4的网络。 先以第一种为例&#xff1a; 若一…

好玩的卡牌游戏推荐:堆叠大陆 Stacklands(Win/Mac)中文版

《堆叠大陆》是一款非常有趣和富有创造力的游戏&#xff0c;玩家可以在游戏中通过堆叠不同种类的方块来创建自己的世界。 在游戏中&#xff0c;玩家可以探索广阔的地图&#xff0c;发现各种不同的方块和资源。这些方块可以被堆叠在一起&#xff0c;形成各种建筑、结构和其他创…

单链表--续(C语言详细版)

2.6 在指定位置之前插入数据 // 在指定位置之前插入数据 void SLTInsert(SLTNode** pphead, SLTNode* pos, SLTDataType x); 分为两种情况&#xff1a;1. 插入的数据在链表中间&#xff1b;2. 插入的数据在链表的前面。 // 在指定位置之前插入数据 void SLTInsert(SLTNode** …

Python实战演练——羊了个羊抓包通关教程及无限套娃通关次数!

1. 需求 最近热门的羊了个羊&#xff0c;听说通关率不到0.1% 第一关超级简单&#xff0c;第二关可就难倒了太多的小伙伴&#xff0c;往往是你以为快没了&#xff0c;结果还有好多层&#xff0c;有朋友分析过&#xff0c;地狱有十八层&#xff0c;而它有十九层。 博主也曾熬夜…

可视化传输机房设计方案

建筑可视化机房可视化&#xff08;3D&#xff09;机房可视化&#xff08;2D&#xff09;多机柜可视化单机柜可视化&#xff08;3D&#xff09;单机柜可视化&#xff08;2D&#xff09;设备与插槽可视化端口连线及链路可视化

栈和队列题目详解

前言&#xff1a; 在前面我们学习了栈和队列&#xff0c;栈的特性是后进先出&#xff0c;队列的特性是先进先出&#xff0c;当我们了解了这些之后&#xff0c;我们就可以用到栈和队列的特性来简单的做一些题目了。 1. 有效的括号 有效的括号&#xff1a;. - 力扣&#xff08…

ESP32驱动摄像头:1.驱动OV2640模块(待验证)

一、装ArduCam库和ESPAsyncWebServer库 二、参考代码 #include <Wire.h> #include <ArduCAM.h> #include <SPI.h> #include <WiFi.h> #include <ESPAsyncWebServer.h>#define CAM_CS 32 // modify according to your own wiring #define OV2640…

昇思25天训练营Day11 - 基于 MindSpore 实现 BERT 对话情绪识别

模型简介 BERT全称是来自变换器的双向编码器表征量&#xff08;Bidirectional Encoder Representations from Transformers&#xff09;&#xff0c;它是Google于2018年末开发并发布的一种新型语言模型。与BERT模型相似的预训练语言模型例如问答、命名实体识别、自然语言推理、…