@tianqing123
2017-09-20T11:48:15.000000Z
字数 1222
阅读 758
boss
1.激活
2.签到,此时运行定时任务
3.建立长连接
4.前端接收到服务端的数据(发布的频道),并通知app端更新。
5.app端根据(频道数据?康和沈定数据格式)去下载、更新资源,处理完成后通知前端
6.前端接收到app通知,告诉服务端已完成该次处理。
7.前端过滤出符合播放的频道和节目(同一时间有且只有一个频道和一个节目,定时节目优先于普通节目播放)
8.前端处理数据发送给app端,开始播放
其他:
定时任务执行,前端重新过滤数据,发送给app端,重新播放
APP端接收到播放的数据
{
id:'频道ID',
name:'频道名字',
timing:[ // 定时节目
{
name:'节目名称',
id:'节目id',
startTime:'开始时间',
endTime:'失效时间',
cron:'定时触发',
time:'播放时长',
layout:{ // 画布
width:'宽',
height:'高',
background:'背景'
},
plugins:[ // 控件
{ // 视频控件
id:'控件唯一标识GUID', // 前端生成
type:'video', // 控件类型: 视频
w:'宽',
h:'高',
x:'左偏移',
y:'上偏移',
zIndex:'层级',
text:'视频控件',
bg:'控件背景色',
css:'后台页面展示css', // 终端忽略
curr:'是否当前操作',// 终端忽略
res:[ // 资源
{
name:'资源名称',
url:'资源下载路径',
size:'资源大小',
id:'资源唯一标识GUID', // 前端生成
time:'播放时长,默认8s',
qrcode:{
w:'宽',
h:'高',
x:'左偏移',
y:'上偏移',
img:'二维码中的图片',
url:'扫码路径'
}
}
]
},{ // 图片控件 同视频控件
type:'pic',
text:'图片控件'
},{ // 直播控件 同视频控件
type:'live_stream',
text:'直播控件',
opts:{
url:'直播链接'
},
res:null // 没有资源这个东西
},{ // 文本控件 同视频控件
type:'text',
text:'文本控件',
opts:{
"color": "#fff", // 文字颜色
"fontsize": "16",// 文字大小
"bg": "rgba(0, 0, 0, 0.3)",// 文本背景
"fontweight": "常规",// 字体粗细
"font": "微软雅黑",// 字体类型
"time": "1",// 间隔时间
"direction": "自左向右"// 跑马灯方向
},
res:[
{
没有qrcode
}
]
},{ // 应用控件 同视频控件
type:'app',
text:'应用控件',
opts:{
type:'应用类型', //[在线,离线][online,offline]
url:'在线链接、离线包链接'
},
res:null // 没有资源这个东西
}
]
}
],
default:[ // 常规节目 同定时节目
{
没有cron 定时触发这一项
}
]
}