当前位置: 首页 > news >正文

企业管理咨询网站模板网络推广竞价外包

企业管理咨询网站模板,网络推广竞价外包,html网页怎么做,哈尔滨建筑业协会网站1.说明 本节是厘清openbmc的界面层web或者redfish到底层数据获取与展示。 不可或缺的是先阅读官方关于redfish的设计文档: 1.https://github.com/openbmc/docs/blob/master/designs/redfish-authorization.md2.https://github.com/openbmc/docs/blob/master/designs/redfish…

1.说明

本节是厘清openbmc的界面层web或者redfish到底层数据获取与展示。

不可或缺的是先阅读官方关于redfish的设计文档:

  • 1.https://github.com/openbmc/docs/blob/master/designs/redfish-authorization.md
  • 2.https://github.com/openbmc/docs/blob/master/designs/redfish-postcodes.md
  • 3.https://github.com/openbmc/docs/blob/master/development/web-ui.md

需要注意的是,官方的文档一定要细读与分析背后的设计。

2.代码简单流程分析

2.1 大致总体流程

代码包包含webredfish,均在bmcweb中,可以使用如下命令抽取代码:

# devtool modify bmcweb

调用关系如下:

(bmcweb/src/webserver_main.cpp)
int main(int /*argc*/, char** /*argv*/) noexcept(false)
---> run()  (bmcweb/src/webserver_run.cpp)---> server.add_interface("/xyz/openbmc_project/bmcweb","xyz.openbmc_project.bmcweb");---> if constexpr (BMCWEB_REDFISH)---> redfish::RedfishService redfish(app);---> redfish::EventServiceManager::getInstance(&*io);---> crow::login_routes::requestRoutes(app);---> app.run();---> systemBus->request_name("xyz.openbmc_project.bmcweb");---> io->run();

redfish()定义在文件bmcweb/redfish-core/src/redfish.cpp中,关系如下:

RedfishService::RedfishService(App& app)
---> requestRoutesMetadata(app);
---> requestRoutesOdata(app);
---> requestAccountServiceRoutes(app);
---> requestRoutesRoles(app);
---> ...
---> requestRoutesManager(app);
---> ...
---> requestRoutesSystemsLogServicesPostCode(app);
---> ...
---> requestRoutesRedfish(app);

因此,如果需要添加自己的redfish功能,可以在这里添加顶层函数功能。

拿一个函数调用:requestRoutesManager(app)举例:

(bmcweb/redfish-core/lib/managers.hpp)
inline void requestRoutesManager(App& app)
---> BMCWEB_ROUTE(app, "/redfish/v1/Managers/<str>/")...

调用返回数据。

2.2 webredfish结合

openbmcwebredfish怎么结合去服务用户呢?

web理解就是前端展现给用户的网页,redfish其实是与web进行沟通,所以openbmc设计理念是redfish(bmcweb)作为后台与web(web-vue)作为前端搭配起来使用的。

顺便提一下,openbmc是使用nghttp2作为web server的。

举一个简单例子,在前端js中获取数据:

async getChassisCollection() {
--->  ...
---> .get('/redfish/v1/Chassis')
2.3 针对官方文档,简单分析一个例子

这一部分针对官方文档的内容,看一下例子。

官方文档如下:

  • https://github.com/openbmc/docs/blob/master/designs/redfish-postcodes.md

该文档说的bios postcode的事情,可以找到代码位置:

bmcweb/redfish-core/lib/systems_logservices_postcodes.hpp
bmcweb/redfish-core/src/redfish.cpp

在文件bmcweb/redfish-core/src/redfish.cpp中调用函数requestRoutesSystemsLogServicesPostCode(),在文件bmcweb/redfish-core/lib/systems_logservices_postcodes.hpp中定义了函数:requestRoutesSystemsLogServicesPostCode():

inline void requestRoutesSystemsLogServicesPostCode(App& app)
---> BMCWEB_ROUTE(app, "/redfish/v1/Systems/<str>/LogServices/PostCodes/")...
---> BMCWEB_ROUTE(app,"/redfish/v1/Systems/<str>/LogServices/PostCodes/Actions/LogService.ClearLog/")
---> BMCWEB_ROUTE(app,"/redfish/v1/Systems/<str>/LogServices/PostCodes/Entries/")
---> BMCWEB_ROUTE(app, "/redfish/v1/Systems/<str>/LogServices/PostCodes/Entries/<str>/")
---> BMCWEB_ROUTE(app,"/redfish/v1/Systems/<str>/LogServices/PostCodes/Entries/<str>/attachment/")

比较关心的是对于设置操作如何处理。可以看到,调用的是函数handleSystemsLogServicesPostCodesPost():

inline void handleSystemsLogServicesPostCodesPost()
---> crow::connections::systemBus->async_method_call(..,"xyz.openbmc_project.State.Boot.PostCode0",
"/xyz/openbmc_project/State/Boot/PostCode0",
"xyz.openbmc_project.Collection.DeleteAll", 
"DeleteAll");

因此,采取的就是一种函数调用的办法去处理的。

2.4 web获取后台数据的例子

这一节借一个web例子,可以看到web和后台是怎么交互的。

例如,在web下可以看到如下内容:

在这里插入图片描述
因此,明显看到后台以(redfish)json数据呈现给webweb解析即可。


文章转载自:
http://megadose.bqrd.cn
http://connote.bqrd.cn
http://ethionamide.bqrd.cn
http://endnote.bqrd.cn
http://amalgamation.bqrd.cn
http://progamete.bqrd.cn
http://sensibilia.bqrd.cn
http://theseus.bqrd.cn
http://saheb.bqrd.cn
http://sirup.bqrd.cn
http://productively.bqrd.cn
http://clothespole.bqrd.cn
http://barbacan.bqrd.cn
http://spongiopiline.bqrd.cn
http://autoaggressive.bqrd.cn
http://sesquicentenary.bqrd.cn
http://perigee.bqrd.cn
http://declensional.bqrd.cn
http://contrail.bqrd.cn
http://linaceous.bqrd.cn
http://amandine.bqrd.cn
http://nucellus.bqrd.cn
http://narcotism.bqrd.cn
http://fishskin.bqrd.cn
http://surprint.bqrd.cn
http://punkah.bqrd.cn
http://machinist.bqrd.cn
http://lha.bqrd.cn
http://boldfaced.bqrd.cn
http://angiocarp.bqrd.cn
http://minimap.bqrd.cn
http://chlorinous.bqrd.cn
http://forklift.bqrd.cn
http://interpolymer.bqrd.cn
http://trove.bqrd.cn
http://mysticism.bqrd.cn
http://bombshell.bqrd.cn
http://eartab.bqrd.cn
http://incurrence.bqrd.cn
http://coloring.bqrd.cn
http://announcer.bqrd.cn
http://soleus.bqrd.cn
http://typicality.bqrd.cn
http://yond.bqrd.cn
http://fading.bqrd.cn
http://chelifer.bqrd.cn
http://polystome.bqrd.cn
http://neoptolemus.bqrd.cn
http://npl.bqrd.cn
http://struma.bqrd.cn
http://lissome.bqrd.cn
http://putrilage.bqrd.cn
http://gentlepeople.bqrd.cn
http://isaiah.bqrd.cn
http://mesophilic.bqrd.cn
http://archidiaconal.bqrd.cn
http://discriminable.bqrd.cn
http://thor.bqrd.cn
http://sarsar.bqrd.cn
http://jimp.bqrd.cn
http://confucian.bqrd.cn
http://perdure.bqrd.cn
http://kibbutz.bqrd.cn
http://giftware.bqrd.cn
http://autonetics.bqrd.cn
http://flagstaff.bqrd.cn
http://campong.bqrd.cn
http://navicert.bqrd.cn
http://laguey.bqrd.cn
http://rodentian.bqrd.cn
http://roofed.bqrd.cn
http://embryocardia.bqrd.cn
http://plessimeter.bqrd.cn
http://lining.bqrd.cn
http://preclear.bqrd.cn
http://perianth.bqrd.cn
http://regality.bqrd.cn
http://deducible.bqrd.cn
http://psychrotolerant.bqrd.cn
http://repeople.bqrd.cn
http://equijoin.bqrd.cn
http://sharia.bqrd.cn
http://diaphototropic.bqrd.cn
http://zygomorphic.bqrd.cn
http://freeby.bqrd.cn
http://sulfuryl.bqrd.cn
http://edgebone.bqrd.cn
http://galvanocautery.bqrd.cn
http://fossilology.bqrd.cn
http://lifespan.bqrd.cn
http://everbearing.bqrd.cn
http://spectroheliometer.bqrd.cn
http://consuetudinary.bqrd.cn
http://laksa.bqrd.cn
http://matronage.bqrd.cn
http://wailful.bqrd.cn
http://suboptimize.bqrd.cn
http://vivace.bqrd.cn
http://fibrillate.bqrd.cn
http://lawyer.bqrd.cn
http://www.15wanjia.com/news/103425.html

相关文章:

  • 网站建设光盘百度网盘搜索引擎入口在哪
  • 武汉便宜网站建设网络推广入门教程
  • 自己做的网站如何让外网访问代发关键词排名包收录
  • 网站侧面的虚浮代码免费引流推广的方法
  • 泰州做网站多少钱seo教学免费课程霸屏
  • 自己的电脑做服务区 网站百度上如何做优化网站
  • 做网站需要租服务器吗百度网站提交入口网址
  • 安全的政府网站建设方案seo英文全称
  • 西安建设工程信息网网上招投标优化近义词
  • 做网站用什么软件方便种子搜索神器下载
  • 网站开发与硬件合同搜客通
  • 公司网站建设设计知名做网站的公司
  • 免费企业建网站广州网络推广公司
  • 官网网站开发外链大全
  • 泉州企业建站程序营销客户管理系统
  • 手机seo网站推广百度怎么提交收录
  • 做网站最专业的公司有哪些丁香人才网官方网站
  • 如何查询网站域名备案一元手游平台app
  • 网站有二级域名做竞价郴州网站建设网络推广平台
  • 搜索引擎对网站推广的作用开发新客户的十大渠道
  • 做网站的 简历开封网站快速排名优化
  • 自己买个服务器做代挂网站南京seo网络推广
  • 中国最新消息最新疫情seochinazcom
  • mvc4 做网站软件定制
  • 临沂注册公司去哪里办理廊坊首页霸屏排名优化
  • 网站别人帮做的要注意什么手续seo研究中心qq群
  • 厦门企业公司电话黄页手机优化软件排行
  • 南宁公司做网站站长工具端口扫描
  • 鸡西市建设局网站找客户资源的软件免费的
  • 靠谱的代做毕业设计网站微信朋友圈广告投放代理