uni-app集成海康视频回放功能实战避坑指南
最近在项目中遇到一个需求:需要在uni-app中集成海康威视的视频回放功能。本以为按照官方文档一步步操作就能顺利完成,没想到在实际开发过程中遇到了几个令人头疼的问题。今天就把这些"坑"和解决方案分享给大家,希望能帮助遇到同样问题的开发者少走弯路。
1. 时间格式的时区陷阱
第一个坑出现在时间格式处理上。海康威视的回放接口要求传入UTC时间格式,而我们在前端通常使用的是本地时间。这里就出现了一个8小时的时差问题。
问题现象 :当用户选择"2023-01-26 12:36:33"作为回放时间时,实际传到服务器的却是"2023-01-26T04:36:33Z",少了整整8小时。
原因分析 :
- JavaScript的Date对象toJSON()方法会自动将日期转换为ISO 8601格式
- 这个格式末尾的"Z"表示UTC时间
- 中国处于UTC+8时区,所以转换时会自动减去8小时
解决方案 :
function formatTime(time) {
if (!time) return null;
let date = new Date(time);
let timezoneOffset = date.getTimezoneOffset();
let offsetMilliseconds = timezoneOffset * 60 * 1000;
date.setTime(date.getTime() - offsetMilliseconds);
return date.toISOString();
}
关键点 :
- 获取当前时区与UTC的偏移量(分钟)

&spm=1001.2101.3001.5002&articleId=100481552&d=1&t=3&u=5d87b52f892b47989ad8c2e8adb8e4eb)
142

被折叠的 条评论
为什么被折叠?



