版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。
在工作中涉及到了web页面和底层交互问题,这里做下简单回顾。本文基于hisi方案分析web界面、服务器boa、配置管理模块cm之间的调用逻辑。
浏览器和服务器模型基本的流程是:浏览器向服务器发送请求,服务器接收请求,解析请求的URL,然后根据请求的数据调用底层设置或者获取等接口,接着向浏览器返回相关信息,最后浏览器把数据显示出来。
他们的关系如上图。可以分为以下五个步骤:
第一阶段:构建基本的web界面
第二阶段:web向服务器发起连接请求
第三阶段:boa服务器响应请求
第四阶段:配置管理CM
第五阶段:返回数据
以UPnP 举例分析。
第一阶段:构建基本的web界面
UPnP设置的Web界面如下,使能UPnP或者非使能UPnP。
在SDK中查找,搜索“启用UPnP”,找到“UPnPEnable_checkbox_label”。
去掉_label,继续搜索,在config.js中找到如下:
查看页面初始化函数initPage,在其中找到InitAppTag(Tags[j]),这个函数的作用是根据元素在config.js中定义的类型初始化当前页面。从上图可以看出,UPnP的type为simple_check。跟进去看,如下图所示:
继续跟下去就会发现,这里会把UPnP的web界面基本构建出来。
页面初始化函数initPage中最后会调用initAppFunction(tempTag,name),这是函数的主要作用是调用第三级菜单init属性对应的函数,如下图,这里会调用init_upnp_set()。