mock.go 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319
  1. package model
  2. import (
  3. "fmt"
  4. "math/rand"
  5. )
  6. // 预先定义好设备名、位置、报警内容
  7. var DeviceNames = []string{"控制器", "温度传感器", "湿度传感器", "CO2传感器", "光照传感器", "烟雾探测器", "门禁控制器", "电动阀门", "执行机构", "智能电表", "水流量计", "视频监控摄像头", "新风机组控制器", "风机盘管控制器"}
  8. var Locations = []string{"B1停车场", "1F大厅", "2F办公室A区", "3F会议室", "4F数据中心机房", "5F行政办公区", "6F设备间", "7F技术层", "8F研发部", "9F控制室", "10F高管办公室", "11F员工休息区", "12F屋顶空调机房"}
  9. var AlarmContents = []string{"通信中断", "温度过高", "CO2浓度超标", "电源异常", "信号丢失", "非法入侵", "门磁状态异常", "数据采集失败", "电机过载", "湿度异常", "烟雾报警", "存储空间不足", "设备离线", "校准失败"}
  10. // 广播系统设备名称
  11. var GBDeviceName = []string{
  12. "主控主机", "数字音频处理器", "功率放大器", "扬声器终端", "消防联动控制器",
  13. "分区控制器", "远程控制终端", "背景音乐播放器", "紧急广播麦克风", "网络音频终端",
  14. }
  15. // 真实电梯设备名称列表
  16. var ElevatorDeviceNames = []string{
  17. "东侧客梯T1",
  18. "西侧货梯W2",
  19. "中央高速电梯C3",
  20. "北区员工专用梯B4",
  21. "南门观光电梯N5",
  22. "消防电梯E1",
  23. "无障碍电梯A2",
  24. "地下车库提升机G1",
  25. "办公楼主梯O1",
  26. "商业区扶梯M1",
  27. }
  28. // 电梯所在楼层列表
  29. var ElevatorFloors = []string{
  30. "B2",
  31. "B1",
  32. "1F",
  33. "2F",
  34. "3F",
  35. "4F",
  36. "5F",
  37. "6F",
  38. "7F",
  39. "8F",
  40. "9F",
  41. "10F",
  42. "11F",
  43. "12F",
  44. "13F",
  45. "14F",
  46. "15F",
  47. "16F",
  48. "17F",
  49. "18F",
  50. }
  51. // 终端日志内容
  52. var GBterminalLogs = []string{
  53. "系统启动成功", "设备已上线", "音频播放测试完成", "分区3扬声器无响应", "功率放大器过热警告",
  54. "接收到消防中心紧急广播信号", "背景音乐播放已暂停", "网络连接中断", "设备配置更新成功",
  55. "紧急广播已触发", "音频文件加载失败", "麦克风输入信号异常", "设备离线,请检查网络",
  56. "音量调节至75%", "定时任务执行完成",
  57. }
  58. // 姓名列表
  59. var Names = []string{
  60. "张伟", "王芳", "李强", "刘洋", "陈敏",
  61. "杨丽", "黄勇", "周杰", "徐娟", "吴斌",
  62. }
  63. // 大屏名称列表
  64. var LargeScreenNames = []string{
  65. "一楼大厅主显示屏",
  66. "二楼导引信息屏",
  67. "三楼会议中心显示屏",
  68. "四楼候梯厅信息屏",
  69. "五楼行政办公区公告屏",
  70. "六楼机房监控屏",
  71. "七楼研发部展示屏",
  72. "八楼高管会议室主屏",
  73. "九楼控制室监控大屏",
  74. "十楼展厅互动显示终端",
  75. }
  76. // 信息类型
  77. var InfoTypes = []string{
  78. "紧急通知",
  79. "天气预报",
  80. "新闻资讯",
  81. "活动公告",
  82. "失物招领",
  83. "寻人启事",
  84. "交通信息",
  85. "安全提示",
  86. "健康小贴士",
  87. "楼层导览图",
  88. "公司介绍",
  89. "产品广告",
  90. "会议议程",
  91. "欢迎词",
  92. "实时数据统计",
  93. }
  94. // 智能照明设备名称
  95. var IlluminatingDeviceNames = []string{
  96. "大厅主照明回路",
  97. "走廊应急照明回路",
  98. "办公区普通照明回路",
  99. "会议室调光控制模块",
  100. "楼梯间感应照明回路",
  101. "电梯厅常亮灯组",
  102. "地下车库LED照明组",
  103. "出入口门厅灯控",
  104. "安全出口指示灯回路",
  105. "景观装饰灯带控制器",
  106. }
  107. // 真实照明事件描述
  108. var LightingEvents = []string{
  109. "设备正常开启", "设备已关闭", "通信中断", "灯具故障报警",
  110. "过载保护触发", "电压异常警告", "传感器无信号", "自动模式启动",
  111. "手动操作执行", "定时任务完成", "夜间节能模式激活", "紧急照明切换成功",
  112. }
  113. var MonitorDeviceNames = []string{
  114. "前门摄像头",
  115. "后门监控器",
  116. "停车场入口摄像机",
  117. "停车场出口监控",
  118. "一楼大厅监控",
  119. "二楼走廊摄像头",
  120. "电梯内摄像头",
  121. "仓库监控点",
  122. "办公室监控",
  123. "紧急出口摄像头",
  124. }
  125. // 真实入侵报警系统设备名称列表
  126. var IntrusionDeviceNames = []string{
  127. "前门磁性传感器",
  128. "后门磁性传感器",
  129. "一楼窗户红外探测器",
  130. "二楼走廊运动传感器",
  131. "仓库玻璃破碎探测器",
  132. "紧急出口门磁开关",
  133. "电梯厅摄像头监控",
  134. "办公室烟雾探测器",
  135. "财务室震动传感器",
  136. "数据中心红外对射探测器",
  137. }
  138. // 真实巡查事件名称列表
  139. var InspectionEvents = []string{
  140. "设备巡检完成",
  141. "安全检查无异常",
  142. "发现可疑人员",
  143. "紧急出口畅通",
  144. "灭火器压力正常",
  145. "监控系统运行正常",
  146. "报警系统测试成功",
  147. "门禁系统工作正常",
  148. "走廊照明完好",
  149. "消防栓未被遮挡",
  150. }
  151. // 真实巡查位置列表
  152. var InspectionLocations = []string{
  153. "前门入口",
  154. "一楼大厅",
  155. "二楼办公室",
  156. "三楼会议室",
  157. "四楼休息区",
  158. "五楼机房",
  159. "地下停车场",
  160. "仓库区域",
  161. "紧急疏散通道",
  162. "屋顶平台",
  163. }
  164. // 真实巡更设备名称列表
  165. var RealInspectionDeviceNames = []string{
  166. "智能巡更棒X1",
  167. "RFID读卡器RC-200",
  168. "红外感应巡检点A3",
  169. "无线巡检按钮WB-5",
  170. "指纹识别巡检终端F9",
  171. "NFC近场通信模块N1",
  172. "防水巡检打卡器W10",
  173. "蓝牙信标巡检点B1",
  174. "二维码巡检标签Q7",
  175. "门磁联动巡检器D3",
  176. }
  177. // 真实访客姓名列表
  178. var VisitorNames = []string{
  179. "张伟", "王芳", "李强", "刘洋", "陈敏",
  180. "杨丽", "黄勇", "周杰", "徐娟", "吴斌",
  181. "孙磊", "胡静", "朱莉", "何涛", "罗红",
  182. "高翔", "林雪", "夏军", "崔健", "马莉",
  183. "郭峰", "于娜", "潘龙", "谢芳",
  184. }
  185. // 安全事件 & 位置
  186. var SecurityEvents = []string{
  187. "人群聚集预警", "出入口异常闯入", "儿童走失事件", "老人跌倒检测",
  188. "可疑人员徘徊", "物品遗留警报", "消防通道堵塞", "闸机故障报警",
  189. "人脸识别不匹配", "黑名单人员出现",
  190. }
  191. var LocationsADD = []string{
  192. "一楼主入口", "二楼扶梯口", "三楼休息区", "地下停车场A区",
  193. "东侧安检口", "西侧出站口", "中央服务台", "电梯间C座",
  194. "男厕入口", "女厕入口",
  195. }
  196. // 客群类型
  197. var CustomerGroups = []string{
  198. "普通消费者", "潜在客户", "回头客", "高价值客户", "带小孩家庭",
  199. "老年顾客", "情侣顾客", "商务人士", "学生群体", "游客群体",
  200. }
  201. var MJDeviceNames = []string{
  202. "前门读卡器",
  203. "后门指纹识别终端",
  204. "东侧闸机",
  205. "西侧人脸识别终端",
  206. "南侧紧急出口按钮",
  207. "北侧门禁控制器",
  208. "一楼大厅入口控制",
  209. "二楼会议室门禁",
  210. "三楼休息区入口",
  211. "四楼电梯口门禁",
  212. }
  213. var MJlocations = []string{
  214. "前门",
  215. "后门",
  216. "东侧通道",
  217. "西侧走廊",
  218. "南侧紧急出口",
  219. "北侧员工入口",
  220. "一楼大厅",
  221. "二楼会议室",
  222. "三楼休息区",
  223. "四楼电梯间",
  224. }
  225. var MJalarmContents = []string{
  226. "读卡失败,请重试。",
  227. "未授权访问尝试。",
  228. "设备离线,无法连接。",
  229. "传感器故障,需维护。",
  230. "非法闯入警告!",
  231. "门长时间未关闭。",
  232. "电池电量低,即将失效。",
  233. "门禁控制器异常重启。",
  234. "人脸识别失败,权限不足。",
  235. "紧急出口被激活。",
  236. }
  237. var EntranceExitDeviceNames = []string{
  238. "主入口闸机",
  239. "副出口读卡器",
  240. "东侧员工通道控制器",
  241. "西侧访客登记终端",
  242. "南门人脸识别闸机",
  243. "北侧紧急疏散控制面板",
  244. "一楼大厅出入口管理器",
  245. "二楼VIP通道门禁终端",
  246. "三楼办公区入口识别器",
  247. "四楼数据中心闸机",
  248. "地下停车场入口控制器",
  249. "地上一层出口感应器",
  250. "消防通道门磁控制器",
  251. "电梯厅出入口读卡器",
  252. "贵宾专用通道闸机",
  253. "无障碍通道升降平台控制器",
  254. "自动旋转门控制系统",
  255. "玻璃门电控锁装置",
  256. "人行通道翼闸机",
  257. "车辆道闸控制系统",
  258. }
  259. var ResidentToPropertyContents = []string{
  260. "广播系统今天早上启动后声音不稳定,请检查。",
  261. "公共区域广播设备好像没有上线,是否在维护中?",
  262. "背景音乐播放测试未完成,可能影响楼层氛围。",
  263. "3楼分区扬声器一直无响应,影响紧急通知传达。",
  264. "功率放大器出现过热警告,请注意消防安全。",
  265. "消防中心发出的广播信号未被接收,请排查故障。",
  266. "背景音乐频繁暂停,是否有设置问题?",
  267. "广播系统网络中断,已持续超过一小时。",
  268. "设备配置更新后广播仍无法正常使用。",
  269. "紧急广播触发后覆盖范围不全,存在盲区。",
  270. "音频文件加载失败,是否是服务器问题?",
  271. "麦克风输入异常,访客呼叫听不到声音。",
  272. "广播设备离线,请尽快恢复通讯。",
  273. "音量调节到75%,但实际声音偏小。",
  274. "定时广播任务未执行,请查看日志记录。",
  275. }
  276. // 生成随机电话号码
  277. func GeneratePhoneNumber() string {
  278. return fmt.Sprintf("1%010d", rand.Intn(1000000000))
  279. }
  280. // 随机生成车牌号
  281. func GenerateLicensePlate() string {
  282. province := []string{"京", "沪", "粤", "浙", "苏", "鲁", "湘", "鄂", "川"}
  283. cityLetter := "ABCDEFGHIJKLMNOPQRSTUVWXYZ"[rand.Intn(26)]
  284. return fmt.Sprintf("%s%c%s", province[rand.Intn(len(province))], cityLetter, RandomString(5))
  285. }
  286. // 生成固定长度的随机字符串(数字+字母)
  287. func RandomString(n int) string {
  288. const letters = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  289. b := make([]byte, n)
  290. for i := range b {
  291. b[i] = letters[rand.Intn(len(letters))]
  292. }
  293. return string(b)
  294. }
  295. func GetRandomItem(items []string) string {
  296. return items[rand.Intn(len(items))]
  297. }