最新要闻
- 首次10nm以下!三星研发全新4F2内存芯片:面积缩减30% 每日讯息
- 3199元 铭凡UM790 Pro迷你主机上架:锐龙9 7940HS_每日速讯
- OneUI 5.1确认存在锁屏Bug!三星:已进行修复
- 成都刮起剩菜盲盒风!便宜的临期食品供不应求 焦点播报
- 葫芦娃救爷爷 理想ONE陷车:拖车、飞度、一串越野车来救均动弹不得|环球快播报
- 如何改变孩子的坏脾气教育笔记-儿童教育
- 海通证券联合深交所走进广西开展金融帮扶专项活动-天天头条
- 天天快讯:缩减5G基站招标规模 大幅减少5G投资?中移动回应:外界误读
- 天天关注:又一个满血14GB/s!PCIe 5.0 SSD用上巨型风扇 太过分了
- 抗原检测盒优惠了!50人份到手19.9元
- 白玉兰奖入围名单揭晓 网友:正午阳光赢麻了
- 抛弃反人类半幅方向盘 特斯拉Cybertruck电动皮卡实车图:今年必交付 当前热门
- 武磊:客场也能感受球迷的热爱和支持 超越一切对立_天天最资讯
- 手机性价比被吐槽 HTC对元宇宙是真爱:不认同降温说、非常乐观
- Redmi性能王者!K60 Ultra工业设计图曝光 前沿资讯
- 《王者荣耀》体验服爆料:中单法师狂喜 斩杀史诗级优化
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
获取门禁记录方式-主动获取
主动获取
类似于获取门禁记录,通过代入的查询条件获取范围内的记录信息,使用该方式时需要注意时间范围不要重复或者获取数据后有查重操作,否则会出现重复的情况。
流程中的1,2,6,7的代码请参见《获取门禁记录方式-公用方法》
(资料图片)
流程
NET_DVR_Init
(初始化)NET_DVR_Login_V40
(登录获得UserId)NET_DVR_StartRemoteConfig
(获取查记录的句柄)引用方法
int NET_DVR_StartRemoteConfig(int lUserID, int dwCommand, IntPtr lpInBuffer, Int32 dwInBufferLen, RemoteConfigCallback cbStateCallback, IntPtr pUserData)
参数说明
参数 说明 lUserID 登录句柄 dwCommand 命令,该例子中为NET_DVR_GET_ACS_EVENT(2514) lpInBuffer NET_DVR_ACS_EVENT_COND类的实例,转换为IntPtr dwInBufferLen NET_DVR_ACS_EVENT_COND类的实例长度 cbStateCallback null pUserData IntPtr.Zero 返回值 该次查询的句柄,下一步需要使用 代码举例
//获得查询条件CHCNetSDK.NET_DVR_ACS_EVENT_COND cond = GetAcsEventCond(searchCond, isSearchAll);uint dwSize = cond.dwSize;// 声明cond实例大小的IntPtrIntPtr ptrCond = Marshal.AllocHGlobal((int)dwSize);// 将cond转换为IntPtrMarshal.StructureToPtr(cond, ptrCond, false);// 实例int recordCfgHandle = CHCNetSDK.NET_DVR_StartRemoteConfig(lUserID, CHCNetSDK.NET_DVR_GET_ACS_EVENT, ptrCond, (int)dwSize, null, IntPtr.Zero);// 如果userCfgHandle为-1时,则不能查询,原因可能是没有释放之前的查询句柄,可通过GetLastError来判断
GetAcsEventCond
方法代码///
/// 根据条件获得NET_DVR_ACS_EVENT_COND实例/// /// /// key 说明/// beginTime 查询记录的起时间/// endTime 查询记录的止时间/// /// 是否查询全部///private CHCNetSDK.NET_DVR_ACS_EVENT_COND GetAcsEventCond(Dictionary searchCond, bool isSearchAll){ CHCNetSDK.NET_DVR_ACS_EVENT_COND cond = new CHCNetSDK.NET_DVR_ACS_EVENT_COND(); cond.Init(); cond.dwSize = (uint)Marshal.SizeOf(cond); //报警主类型 cond.dwMajor = 5; //报警次类型,0为全部 cond.dwMinor = 0; //是否带图片,0-不带图片,1-带图片 cond.byPicEnable = 0; //归纳事件类型,全部都要 cond.wInductiveEventType = 65535; // 如果是全部信息,则不需要设置起始时间 if (!isSearchAll) { if (null != searchCond && searchCond.ContainsKey("beginTime")) { // 如果有beginTime,则获取 cond.struStartTime = CHCNetSDK.GetDvrStruTIme(searchCond["beginTime"]); } else { // 如果没有,则默认为当前的凌晨开始 cond.struStartTime = CHCNetSDK.GetDvrStruTIme(String.Format("%s 00:00:00", DateTime.Now.ToString("yyyy-MM-dd"))); } if (null != searchCond && searchCond.ContainsKey("endTime")) { // 同上 cond.struEndTime = CHCNetSDK.GetDvrStruTIme(searchCond["endTime"]); } else { // 同上 cond.struEndTime = CHCNetSDK.GetDvrStruTIme(String.Format("%s", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))); } } return cond;} GetDvrStruTIme
方法///
/// 根据时间获得NET_DVR_TIME类型/// /// yyyy-MM-dd HH:mm:ss形式的字符串///NET_DVR_TIME public static NET_DVR_TIME GetDvrStruTIme(String time) { DateTime dateTime = System.DateTime.Now; if (!String.IsNullOrEmpty(time)) { try { dateTime = Convert.ToDateTime(time); } catch (Exception ex) { } } NET_DVR_TIME condTime = new NET_DVR_TIME(); condTime.dwYear = dateTime.Year; condTime.dwMonth = dateTime.Month; condTime.dwDay = dateTime.Day; condTime.dwHour = dateTime.Hour; condTime.dwMinute = dateTime.Minute; condTime.dwSecond = dateTime.Second; return condTime;}
NET_DVR_GetNextRemoteConfig
(一条一条获取)注意:代码不变的情况下,有时会返回1000(成功),有时会返回1002,错误码为19(设备返回数据异常);原因可能是在调试的时候,时长过长导致的。
引用方法
int NET_DVR_GetNextRemoteConfig(int lHandle, ref CHCNetSDK.NET_DVR_ACS_EVENT_CFG lpOutBuff, int dwOutBuffSize);
参数说明
参数 说明 lHandle 查询句柄(NET_DVR_StartRemoteConfig返回值) lpOutBuff CUserInfoSearchCondCfg类的实例,检索条件 dwOutBuffSize CUserInfoSearchCondCfg类的实例长度 返回值 NET_SDK_GET_NEXT_STATUS_SUCCESS成功获取数据 代码举例
// 存储门禁记录的listList
acessLogEntities = new List ();// 状态表示int dwStatus = 0;// 循环使用Boolean flag = true;// 门禁记录的类CHCNetSDK.NET_DVR_ACS_EVENT_CFG struCFG = new CHCNetSDK.NET_DVR_ACS_EVENT_CFG();struCFG.dwSize = (uint)Marshal.SizeOf(struCFG);int dwOutBuffSize = (int)struCFG.dwSize;// 门禁类里面的byte数组初始化struCFG.init();while (flag){ // 调用下一条下一条的方法 dwStatus = CHCNetSDK.NET_DVR_GetNextRemoteConfig(recordCfgHandle, ref struCFG, dwOutBuffSize); switch (dwStatus) { case CHCNetSDK.NET_SDK_GET_NEXT_STATUS_SUCCESS://成功读取到数据,处理完本次数据后需调用next // 获得门禁记录 // 注:personDic为获取到人员列表的编号对应姓名,因为门禁记录中貌似没有人员名称。personDic的获取不在本文中体现,可参考人员列表获取的相关文章。 AcessLogEntity acessLog = GetAccessLog(personDic, ref struCFG); // 如果有 if (null != acessLog) { // 保存 acessLogEntities.Add(acessLog); } break; case CHCNetSDK.NET_SDK_GET_NEXT_STATUS_NEED_WAIT: Thread.Sleep(200); break; case CHCNetSDK.NET_SDK_GET_NEXT_STATUS_FAILED: case CHCNetSDK.NET_SDK_GET_NEXT_STATUS_FINISH: default: CHCNetSDK.NET_DVR_StopRemoteConfig(recordCfgHandle); flag = false; break; }} GetAccessLog
方法GetAccessLog的personDic参数为获取到人员列表的编号对应姓名,因为门禁记录中貌似没有人员名称。
personDic的获取不在本文中体现,可参考人员列表获取的相关文章。
///
/// 将NET_DVR_ACS_EVENT_CFG转换为AcessLogEntity/// /// 人员的编号和姓名对应的字典/// 门禁记录///private AcessLogEntity GetAccessLog(Dictionary personDic, ref CHCNetSDK.NET_DVR_ACS_EVENT_CFG eventCfg){ AcessLogEntity acessLog = new AcessLogEntity(); // 是什么记录,可通过对case的增减来选择性的获取记录 string minorType = AcessLogEntity.GetMinorType(eventCfg.dwMinor); // 如果没有则返回null if (minorType.Length < 1) { return null; } // 门禁的类型 acessLog.Verify = minorType; // 人员唯一编号,通过浏览器登录门禁,人员管理中现实的编号。 acessLog.Pin = Encoding.ASCII.GetString(eventCfg.struAcsEventInfo.byEmployeeNo).Replace("\0", ""); // 没有则跳过 if (personDic.ContainsKey(acessLog.Pin)) { acessLog.Name = personDic[acessLog.Pin]; } // 卡号 acessLog.Cardno = Encoding.ASCII.GetString(eventCfg.struAcsEventInfo.byCardNo); // 门禁产生的时间 acessLog.AccessTime = String.Format("{0}-{1:D2}-{2:D2} {3:D2}:{4:D2}:{5:D2}", eventCfg.struTime.dwYear, eventCfg.struTime.dwMonth, eventCfg.struTime.dwDay, eventCfg.struTime.dwHour, eventCfg.struTime.dwMinute, eventCfg.struTime.dwSecond); return acessLog;} AcessLogEntity.GetMinorType
方法可直接使用,如果想用“0x03 刷卡加密码认证通过”,只需要打开注释即可
public static string GetMinorType(uint seek) { switch (seek) { case 0x01: return "合法卡认证通过"; //case 0x02: return "刷卡加密码认证通过"; //case 0x03: return "刷卡加密码认证失败"; //case 0x04: return "数卡加密码认证超时"; //case 0x05: return "刷卡加密码超次"; //case 0x06: return "未分配权限"; //case 0x07: return "无效时段"; //case 0x08: return "卡号过期"; //case 0x09: return "无此卡号"; //case 0x0a: return "反潜回认证失败"; //case 0x0b: return "互锁门未关闭"; //case 0x0c: return "卡不属于多重认证群组"; //case 0x0d: return "卡不在多重认证时间段内"; //case 0x0e: return "多重认证模式超级权限认证失败"; //case 0x0f: return "多重认证模式远程认证失败"; case 0x10: return "多重认证成功"; //case 0x11: return "首卡开门开始"; //case 0x12: return "首卡开门结束"; //case 0x13: return "常开状态开始"; //case 0x14: return "常开状态结束"; //case 0x15: return "门锁打开"; //case 0x16: return "门锁关闭"; case 0x17: return "开门按钮打开"; //case 0x18: return "开门按钮放开"; //case 0x19: return "正常开门(门磁)"; //case 0x1a: return "正常关门(门磁)"; //case 0x1b: return "门异常打开(门磁)"; //case 0x1c: return "门打开超时(门磁)"; //case 0x1d: return "报警输出打开"; //case 0x1e: return "报警输出关闭"; //case 0x1f: return "常关状态开始"; //case 0x20: return "常关状态结束"; //case 0x21: return "多重多重认证需要远程开门"; //case 0x22: return "多重认证超级密码认证成功事件"; //case 0x23: return "多重认证重复认证事件"; //case 0x24: return "多重认证重复认证事件"; //case 0x25: return "门铃响"; case 0x26: return "指纹比对通过"; //case 0x27: return "指纹比对失败"; case 0x28: return "刷卡加指纹认证通过"; //case 0x29: return "刷卡加指纹认证失败"; //case 0x2a: return "刷卡加指纹认证超时"; case 0x2b: return "刷卡加指纹加密码认证通过"; //case 0x2c: return "刷卡加指纹加密码认证失败"; //case 0x2d: return "刷卡加指纹加密码认证超时"; case 0x2e: return "指纹加密码认证通过"; //case 0x2f: return "指纹加密码认证失败"; //case 0x30: return "指纹加密码认证超时"; //case 0x31: return "指纹不存在"; //case 0x32: return "刷卡平台认证"; //case 0x33: return "呼叫中心事件"; //case 0x34: return "消防继电器导通触发门常开"; //case 0x35: return "消防继电器恢复门恢复正常"; case 0x36: return "人脸加指纹认证通过"; //case 0x37: return "人脸加指纹认证失败"; //case 0x38: return "人脸加指纹认证超时"; case 0x39: return "人脸加密码认证通过"; //case 0x3a: return "人脸加密码认证失败"; //case 0x3b: return "人脸加密码认证超时"; case 0x3c: return "人脸加刷卡认证通过"; //case 0x3d: return "人脸加刷卡认证失败"; //case 0x3e: return "人脸加刷卡认证超时"; case 0x3f: return "人脸加密码加指纹认证通过"; //case 0x40: return "人脸加密码加指纹认证失败"; //case 0x41: return "人脸加密码加指纹认证超时"; case 0x42: return "人脸加刷卡加指纹认证通过"; //case 0x43: return "人脸加刷卡加指纹认证失败"; //case 0x44: return "人脸加刷卡加指纹认证超时"; case 0x45: return "工号加指纹认证通过"; //case 0x46: return "工号加指纹认证失败"; //case 0x47: return "工号加指纹认证超时"; case 0x48: return "工号加指纹加密码认证通过"; //case 0x49: return "工号加指纹加密码认证失败"; //case 0x4a: return "工号加指纹加密码认证超时"; case 0x4b: return "人脸认证通过"; //case 0x4c: return "人脸认证失败"; case 0x4d: return "工号加人脸认证通过"; //case 0x4e: return "工号加人脸认证失败"; //case 0x4f: return "工号加人脸认证超时"; //case 0x50: return "人脸识别失败"; //case 0x51: return "首卡授权开始"; //case 0x52: return "首卡授权结束"; //case 0x53: return "门锁输入短路报警"; //case 0x54: return "门锁输入断路报警"; //case 0x55: return "门锁输入异常报警"; //case 0x56: return "门磁输入短路报警"; //case 0x57: return "门磁输入断路报警"; //case 0x58: return "门磁输入异常报警"; //case 0x59: return "开门按钮输入短路报警"; //case 0x5a: return "开门按钮输入断路报警"; //case 0x5b: return "开门按钮输入异常报警"; //case 0x5c: return "门锁异常打开"; //case 0x5d: return "门锁打开超时"; //case 0x5e: return "首卡未授权开门失败"; //case 0x5f: return "呼梯继电器断开"; //case 0x60: return "呼梯继电器闭合"; //case 0x61: return "自动按键继电器断开"; //case 0x62: return "自动按键继电器闭合"; //case 0x63: return "按键梯控继电器断开"; //case 0x64: return "按键梯控继电器闭合"; case 0x65: return "工号加密码认证通过"; //case 0x66: return "工号加密码认证失败"; //case 0x67: return "工号加密码认证超时"; //case 0x68: return "真人检测失败"; case 0x69: return "人证比对通过"; //case 0x70: return "人证比对失败"; //case 0x71: return "黑名单事件"; //case 0x72: return "合法短信"; //case 0x73: return "非法短信"; //case 0x74: return "MAC侦测"; //case 0x75: return "门状态常闭或休眠状态认证失败"; //case 0x76: return "认证计划休眠模式认证失败"; //case 0x77: return "卡加密校验失败"; //case 0x78: return "反潜回服务器应答失败"; //case 0x85: return "尾随通行"; //case 0x86: return "反向闯入"; //case 0x87: return "外力冲撞"; //case 0x88: return "翻越"; //case 0x89: return "通行超时"; //case 0x8a: return "误闯报警"; //case 0x8b: return "闸机自由通行时未认证通过"; //case 0x8c: return "摆臂被阻挡"; //case 0x8d: return "摆臂阻挡消除"; //case 0x8e: return "设备升级本地人脸建模失败"; //case 0x8f: return "逗留事件"; //case 0x97: return "密码不匹配"; //case 0x98: return "工号不存在"; case 0x99: return "组合认证通过"; //case 0x9a: return "组合认证超时"; //case 0x9b: return "认证方式不匹配"; default: return ""; }}
AcessLogEntity
类可根据自己的实际情况进行声明
NET_DVR_StopRemoteConfig
(释放该次查询句柄)引用方法
int NET_DVR_StartRemoteConfig(int lUserID, int dwCommand, IntPtr lpInBuffer, Int32 dwInBufferLen, RemoteConfigCallback cbStateCallback, IntPtr pUserData)
参数说明
参数 说明 lUserID 登录句柄 dwCommand 命令,该例子中为NET_DVR_JSON_CONFIG(2550) lpInBuffer url转换的IntPtr dwInBufferLen url的长度 cbStateCallback null pUserData IntPtr.Zero 返回值 该次查询的句柄,下一步需要使用 代码举例
NET_DVR_Logout
(注销)NET_DVR_Cleanup
(结束)
关键词:
-
今日要闻!如何把数据从 TDengine 2.x 迁移到 3.x ?
一 迁移背景:随着时序数据库(TimeSeriesDatabase)& 160;TDengine3 0的发布至今,我们除了在持续地优化产
来源: 获取门禁记录方式-主动获取
软件开发全部文档下载(超过三百份)
天天观天下!一文看懂GPT风口,都有哪些创业机会?
今日要闻!如何把数据从 TDengine 2.x 迁移到 3.x ?
总结Vue3 的一些知识点:Vue3 计算属性
首次10nm以下!三星研发全新4F2内存芯片:面积缩减30% 每日讯息
3199元 铭凡UM790 Pro迷你主机上架:锐龙9 7940HS_每日速讯
OneUI 5.1确认存在锁屏Bug!三星:已进行修复
成都刮起剩菜盲盒风!便宜的临期食品供不应求 焦点播报
葫芦娃救爷爷 理想ONE陷车:拖车、飞度、一串越野车来救均动弹不得|环球快播报
如何改变孩子的坏脾气教育笔记-儿童教育
海通证券联合深交所走进广西开展金融帮扶专项活动-天天头条
最全iOS 上架指南_天天视讯
天天热头条丨Spring Boot + URule 规则引擎,可视化配置太爽了!
亚马逊平台API接口是什么?-全球头条
2 分钟,搞懂 SLO 最佳实践
全网最全Kubernetes(k8s)知识点,看着一篇就够了-当前热讯
【财经分析】推动“1到100”的跨越式发展 长三角崛起生物医药产业“新基建”高地
天天快讯:缩减5G基站招标规模 大幅减少5G投资?中移动回应:外界误读
天天关注:又一个满血14GB/s!PCIe 5.0 SSD用上巨型风扇 太过分了
抗原检测盒优惠了!50人份到手19.9元
白玉兰奖入围名单揭晓 网友:正午阳光赢麻了
抛弃反人类半幅方向盘 特斯拉Cybertruck电动皮卡实车图:今年必交付 当前热门
环球要闻:渗透测试之Payload
7个工程应用中数据库性能优化经验分享
焦点热议:Prometheus笔记-告警规则配置
北京市2023年新增地方政府债务限额1117亿元
收评:沪指午后反弹涨0.35% AI赛道股发力 新能源行业低迷_天天信息
武磊:客场也能感受球迷的热爱和支持 超越一切对立_天天最资讯
手机性价比被吐槽 HTC对元宇宙是真爱:不认同降温说、非常乐观
Redmi性能王者!K60 Ultra工业设计图曝光 前沿资讯
《王者荣耀》体验服爆料:中单法师狂喜 斩杀史诗级优化
全球热消息:导航出错驶入紧急停车带 驶出时被撞 科普:紧急停车带该怎么用
全球视点!内存连续三个季度暴跌 三大厂疯狂减产!想涨价?没门儿
快报:做数据分析的常用方法有哪些?
尚硅谷Hadoop的WordCount案例实操练习出现的bug-环球新视野
JS 里如何实现异步?
如何在上架App之前设置证书并上传应用|全球今头条
海贼王:“七武海”原型揭秘!居然来自30年前游戏《浪漫沙加2》
举报比亚迪排放不达标!长城汽车晒业绩:1-4月同比增长99.1% 买它还是比亚迪?_每日精选
焦点播报:16核R9 7945HX加持!联想公布新版拯救者R9000P参数
世界百事通!法拉第未来官宣:FF 91第一阶段交付5月31日开始 车主先培训
环球视讯!促进跨区域产业链、供应链、创新链、资金链、人才链深度融合,一大批长三角G60科创走廊跨区域合作重点项目签约
广州市花都区秀全中学:720分以上学生可以考虑秀中清北班-世界微头条
易基因:MeRIP-seq等揭示m6A reader YTHDF1在结直肠癌PD-1免疫治疗中的作用|Gut 全球实时
手把手教你在昇腾平台上搭建PyTorch训练环境_天天新要闻
今日上映!《小美人鱼》豆瓣评论:难以接受黑人鱼、强凑CP、毁童年-焦点热门
即时:宝德暴芯x86处理器现身GeekBench 5:坐实就是Intel i3-10105
知名演员罗京民去世 曾饰演许三多的爹:张译等人发文悼念 焦点速递
ST浩源:截至2023年5月20日,公司股东14658户,谢谢对公司的关注!|天天最新
每个.NET开发都应该知道的10个.NET库
关于AWS中VPC下的IGW-internet gateway的创建与说明
升级天玑8200处理器:vivo S17 Pro现身Geekbench
曝小米13 Ultra欧洲售价超1.1万元:比iPhone 14 Pro、华为P60 Pro都贵_世界今日讯
全球球精选!破首发仅7499元!华硕天选4游戏本配锐龙9与RTX4060:高性价比真香
热点!散了吧!特斯拉车顶维权女车主败诉:刹车失灵观点站不住脚 没任何证据证明
《变形金刚7:超能勇士崛起》超燃特辑出炉:保时捷964街头飞车_热资讯
Netty实战(三)
上市公司实控人离婚140亿归女方,盘点彤程新材投资版图
千元神机!荣耀X50首发骁龙6 Gen1:一亿像素加持
育碧再次背离玩家!《刺客信条:幻景》PC端Steam独不占_世界百事通
一眼假的诈骗短信是骗子智商不够吗?官方:这是极高效率筛选受害者
京东618大促攻略:iPhone 14 Pro系列直降1800元 多会员年卡探底|环球视点
百度文心大模型3.5版要来了!李彦宏:大模型将改变世界 环球热门
屹通新材:5月25日融资买入167.73万元,融资融券余额3877.74万元
统信UOS系统开发笔记(一):国产统信UOS系统搭建开发环境之虚拟机安装
揭秘百度IM消息中台的全量用户消息推送技术改造实践
Python工具箱系列(三十三)
海内外直播源码加密技术保障您的隐私安全 焦点快播
Windows下使用docker部署.Net Core 全球今热点
一天斩获3个冠军!全国花游冠军赛北京队“开门红”-快看点
DXO拍照全球第一!华为P60 Pro新增12GB+256GB版本 6488元
单价6.5亿 想坐吗?国产大飞机C919商业首航来了:5月28日、上海至北京_微头条
神操作 小汽车撞倒闯红灯三轮车后居然直接走了 无责变有责
糟糕!下一轮国内油价调整“由跌转涨”:当前上调75元/吨 今日快讯
牌面!福特CEO称特斯拉不是最大竞争对手 比亚迪才是 环球新消息
环球视讯!UE/虚幻 蓝图实现通过http获取数据(以高德地图API为例)&Json格式数据的读取
标准化考场时间同步系统(网络时钟系统)规划建设应用 每日快播
Java设计模式-策略模式|环球快资讯
焦点要闻:美联储加息预期升温 美元兑日元汇率再度站上140
计算机时代变了 NVIDIA黄仁勋:CPU用得越来越少 GPU才是关键|世界实时
【世界快播报】自研火箭发射8颗卫星 韩国表态已成航天强国:仅中美等7国做到
当前快报:跟比亚迪海豚争场子 五菱云朵8月上市:10万级大五座纯电新宠
焦点观察:优派推出新款27寸4K Mini LED显示器:支持96W反向充 2999元
山东一高速现天价救援费:20公里被收11000元 结局大快人心 观天下
世界热点!Fastjson 很快,但不适合我....
每日观点:干瘦肉炒什么配菜好吃?
一季度垃圾短信投诉5万件 官方揭秘:主要是这10家公司发的
18888元求票 五月天黄牛票涨回去了?29名黄牛被查处|当前简讯
你吃过没?商家回应淄博烧烤降温:再不降温我们也受不了|新消息
世界消息!成都一轿车冲进店铺撞坏16个骨灰盒 现场损坏严重:网友称是大众
遥遥领先!华为分布式存储斩获IO500榜全球第一:Intel看不见尾灯
裘皮是什么皮_裘皮的介绍 天天资讯
触达债务上限日期或在两周后 美债收益率延续上行_环球微头条
国际金融市场早知道:5月26日|焦点热讯
刘强东14年为宿迁投入超200亿!宿迁第一高楼启用 未来3年在当地新招上万人
世界热点评!《英雄联盟手游》今日更新:无限火力升级归来 英雄可达25级
刷新世界纪录!中国吊起142米、3068吨“巨无霸”大塔
选择商品的发布类目方式有_选择一款正确发布的商品
今日要闻!学系统集成项目管理工程师(中项)系列27_10大管理47过程、输入输出工具和技术(2版教材)