用于网络端设备远程管理
系统支持
网络浏览器管理设备
Node.js > = 6.9(最新稳定版首选)(服务器代码)
ADB正确设置(安卓相关测试adb)
RethinkDB > = 2.2(数据库)
GraphicsMagick(用于调整屏幕截图)(图像处理相关内容)安装
ZeroMQ库(消息)传递,一个为可伸缩的分布式或并发应用程序设计的高性能异步消息库。它提供一个消息队列,但是与面向消息的中间件不同,ZeroMQ的运行不需要专门的消息代理(消息代理)。库该设计分类中翻译常见的套接字风格的API)
协议缓冲器库安装(轻便高效的结构化数据存储格式)
YASM安装(用于编译嵌入的libjpeg涡轮增压)(汇编器和反汇编器)
pkg配置让Node.js的可以找到库(在源代码compile-时查询已安装的库的使用接口的计算机工具软件),
需要注意的是,你需要,即使你已经安装了STF直接从NPM这些依赖,因为他们不能包括在内。
Rethinkdb属于对象型数据库,使用的是json字符串格式保存数据。
/.tx #集成翻译平台Transifex的相关配置,用于语言翻译
/bin #启动文件,调用的是lib/cli/local/index.js
/docker #Docker的相关配置
/lib #后端代码
/res #前端代码
/doc #文档说明,包含VNC,部署,API
/test #状态检测
/vendor #安装到手机上的应用和服务,包括minirev,minitouch,STFService
前端资源
主要为服务服务和浏览页面两大部分
/app #前端web
- /components/stf #服务组件,用于与后端通讯
- /control-panes #页面,设备控制
- /device-list #页面,设备列表
- /docs #页面,帮助
- /layout #页面,布局
- /menu #页面,菜单
- /setting #页面,设置
- /terminal #页面,终端样式
- /user #页面,用户,暂未完成
- /views #页面,主视图
/auth #登录认证
- /ladp #页面,LADP认证
- /mock #页面,默认验证
/common #其他
- /lang #语言包
- /logo #页面,图标
- /status #页面,脚本
/test #登录,跳转
/web_modules #样式
后端LIB
/db #数据操作相关文件
/units #核心代码,用于功能实现
- /api #主要的RESTful APIs
- /app #提供主要HTTP服务,处理所有静态资源,包括图片,脚本和样式表
- /auth #授权验证,Mock auth,OAuth 2.0,LDAP,SAML 2.0
- /device #设备功能的具体实现.设备端底包,服务和STFservice.apk的安装
- /log #将设备事件log存储至数据库
- /notify #用于推送通知或到你的环境
- /poorxy #数据库代理相关
- /processer #设备和app之间的桥,几乎所有通讯都经过它
- /provider #管理设备相关、 设备提供和发收命令
- /reaper #接收heartbeat(心跳),处理设备异常断连,监听设备是否掉线、异常等
- /storage #截图,图像存储和调整,操作apk
- /triproxy #代理转发 用于接受和处理来自app和设备端的请求
- /websocket #用于客户端js和服务端(ZeroMQ,Protobuf )的通讯,所有action均由此发送
/util #内部方法
/wire #队列,路由,流相关方法
reaper/ heartbeat-interval 是指心跳时间,为了保证provider可用,每隔一段时间provider会发出一个heartbeat,reaper接收这个heartbeat,如果reaper在自己的超时时间内没有收到provider的heartbeat,会认为这个provider下线
作者:PreFU
链接:HTTPS://www.jianshu.com/p/b01ae1d29b44