package model import ( "fmt" "math/rand" ) // 预先定义好设备名、位置、报警内容 var DeviceNames = []string{"控制器", "温度传感器", "湿度传感器", "CO2传感器", "光照传感器", "烟雾探测器", "门禁控制器", "电动阀门", "执行机构", "智能电表", "水流量计", "视频监控摄像头", "新风机组控制器", "风机盘管控制器"} var Locations = []string{"B1停车场", "1F大厅", "2F办公室A区", "3F会议室", "4F数据中心机房", "5F行政办公区", "6F设备间", "7F技术层", "8F研发部", "9F控制室", "10F高管办公室", "11F员工休息区", "12F屋顶空调机房"} var AlarmContents = []string{"通信中断", "温度过高", "CO2浓度超标", "电源异常", "信号丢失", "非法入侵", "门磁状态异常", "数据采集失败", "电机过载", "湿度异常", "烟雾报警", "存储空间不足", "设备离线", "校准失败"} // 广播系统设备名称 var GBDeviceName = []string{ "主控主机", "数字音频处理器", "功率放大器", "扬声器终端", "消防联动控制器", "分区控制器", "远程控制终端", "背景音乐播放器", "紧急广播麦克风", "网络音频终端", } // 终端日志内容 var GBterminalLogs = []string{ "系统启动成功", "设备已上线", "音频播放测试完成", "分区3扬声器无响应", "功率放大器过热警告", "接收到消防中心紧急广播信号", "背景音乐播放已暂停", "网络连接中断", "设备配置更新成功", "紧急广播已触发", "音频文件加载失败", "麦克风输入信号异常", "设备离线,请检查网络", "音量调节至75%", "定时任务执行完成", } // 姓名列表 var Names = []string{ "张伟", "王芳", "李强", "刘洋", "陈敏", "杨丽", "黄勇", "周杰", "徐娟", "吴斌", } // 大屏名称列表 var LargeScreenNames = []string{ "一楼大厅主显示屏", "二楼导引信息屏", "三楼会议中心显示屏", "四楼候梯厅信息屏", "五楼行政办公区公告屏", "六楼机房监控屏", "七楼研发部展示屏", "八楼高管会议室主屏", "九楼控制室监控大屏", "十楼展厅互动显示终端", } // 信息类型 var InfoTypes = []string{ "紧急通知", "天气预报", "新闻资讯", "活动公告", "失物招领", "寻人启事", "交通信息", "安全提示", "健康小贴士", "楼层导览图", "公司介绍", "产品广告", "会议议程", "欢迎词", "实时数据统计", } // 智能照明设备名称 var IlluminatingDeviceNames = []string{ "大厅主照明回路", "走廊应急照明回路", "办公区普通照明回路", "会议室调光控制模块", "楼梯间感应照明回路", "电梯厅常亮灯组", "地下车库LED照明组", "出入口门厅灯控", "安全出口指示灯回路", "景观装饰灯带控制器", } // 真实照明事件描述 var LightingEvents = []string{ "设备正常开启", "设备已关闭", "通信中断", "灯具故障报警", "过载保护触发", "电压异常警告", "传感器无信号", "自动模式启动", "手动操作执行", "定时任务完成", "夜间节能模式激活", "紧急照明切换成功", } var MonitorDeviceNames = []string{ "前门摄像头", "后门监控器", "停车场入口摄像机", "停车场出口监控", "一楼大厅监控", "二楼走廊摄像头", "电梯内摄像头", "仓库监控点", "办公室监控", "紧急出口摄像头", } // 真实入侵报警系统设备名称列表 var IntrusionDeviceNames = []string{ "前门磁性传感器", "后门磁性传感器", "一楼窗户红外探测器", "二楼走廊运动传感器", "仓库玻璃破碎探测器", "紧急出口门磁开关", "电梯厅摄像头监控", "办公室烟雾探测器", "财务室震动传感器", "数据中心红外对射探测器", } // 真实巡查事件名称列表 var InspectionEvents = []string{ "设备巡检完成", "安全检查无异常", "发现可疑人员", "紧急出口畅通", "灭火器压力正常", "监控系统运行正常", "报警系统测试成功", "门禁系统工作正常", "走廊照明完好", "消防栓未被遮挡", } // 真实巡查位置列表 var InspectionLocations = []string{ "前门入口", "一楼大厅", "二楼办公室", "三楼会议室", "四楼休息区", "五楼机房", "地下停车场", "仓库区域", "紧急疏散通道", "屋顶平台", } // 真实巡更设备名称列表 var RealInspectionDeviceNames = []string{ "智能巡更棒X1", "RFID读卡器RC-200", "红外感应巡检点A3", "无线巡检按钮WB-5", "指纹识别巡检终端F9", "NFC近场通信模块N1", "防水巡检打卡器W10", "蓝牙信标巡检点B1", "二维码巡检标签Q7", "门磁联动巡检器D3", } // 真实访客姓名列表 var VisitorNames = []string{ "张伟", "王芳", "李强", "刘洋", "陈敏", "杨丽", "黄勇", "周杰", "徐娟", "吴斌", "孙磊", "胡静", "朱莉", "何涛", "罗红", "高翔", "林雪", "夏军", "崔健", "马莉", "郭峰", "于娜", "潘龙", "谢芳", } // 安全事件 & 位置 var SecurityEvents = []string{ "人群聚集预警", "出入口异常闯入", "儿童走失事件", "老人跌倒检测", "可疑人员徘徊", "物品遗留警报", "消防通道堵塞", "闸机故障报警", "人脸识别不匹配", "黑名单人员出现", } var LocationsADD = []string{ "一楼主入口", "二楼扶梯口", "三楼休息区", "地下停车场A区", "东侧安检口", "西侧出站口", "中央服务台", "电梯间C座", "男厕入口", "女厕入口", } // 客群类型 var CustomerGroups = []string{ "普通消费者", "潜在客户", "回头客", "高价值客户", "带小孩家庭", "老年顾客", "情侣顾客", "商务人士", "学生群体", "游客群体", } var MJDeviceNames = []string{ "前门读卡器", "后门指纹识别终端", "东侧闸机", "西侧人脸识别终端", "南侧紧急出口按钮", "北侧门禁控制器", "一楼大厅入口控制", "二楼会议室门禁", "三楼休息区入口", "四楼电梯口门禁", } var MJlocations = []string{ "前门", "后门", "东侧通道", "西侧走廊", "南侧紧急出口", "北侧员工入口", "一楼大厅", "二楼会议室", "三楼休息区", "四楼电梯间", } var MJalarmContents = []string{ "读卡失败,请重试。", "未授权访问尝试。", "设备离线,无法连接。", "传感器故障,需维护。", "非法闯入警告!", "门长时间未关闭。", "电池电量低,即将失效。", "门禁控制器异常重启。", "人脸识别失败,权限不足。", "紧急出口被激活。", } // 生成随机电话号码 func GeneratePhoneNumber() string { return fmt.Sprintf("1%010d", rand.Intn(1000000000)) } // 随机生成车牌号 func GenerateLicensePlate() string { province := []string{"京", "沪", "粤", "浙", "苏", "鲁", "湘", "鄂", "川"} cityLetter := "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[rand.Intn(26)] return fmt.Sprintf("%s%c%s", province[rand.Intn(len(province))], cityLetter, RandomString(5)) } // 生成固定长度的随机字符串(数字+字母) func RandomString(n int) string { const letters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" b := make([]byte, n) for i := range b { b[i] = letters[rand.Intn(len(letters))] } return string(b) } func GetRandomItem(items []string) string { return items[rand.Intn(len(items))] }