导读:攻城狮们如今基于平台开发时,已不须要写不少原生代码了,取而代之的是在项目中使用各种平台框架,如:智慧园区应用框架MainPortal,基于它可以快速的将园区中各个子应用/子系统进行菜单集成,并在统一入口进行设置和展现,如智慧设施、资产管理…css
文末福利:新用户专享园区开发者账号免费试用html
在智慧园区的业务场景中有多个模块,例如智慧设施等。各个模块都有对应的管理页面和大屏页面,统一门户能够根据业务须要,在多个大屏界面或管理页面中进行切换,以提高操做体验。在智慧园区的业务场景中,也须要一个统一的门户来呈现智慧园区各模块的业务功能。json
统一门户可用于整合现有业务系统的访问控制,经过统一入口登陆实现对各业务的集中访问,登陆用户能够经过统一的门户在桌面上进行各项业务的处理,减小系统的使用复杂度。segmentfault
统一门户实现的功能包括统一入口登陆、个性化导航配置、系统导航、用户信息管理等功能,从而下降用户进入系统和获取各模块信息的难度,使用和获取信息更直接、方便。MainPortal即为实现统一门户功能的应用框架。框架
统一门户的功能很是丰富,以“显示用户菜单”为例,部分功能以下:异步
除了菜单配置等功能外,统一门户还提供了我的桌面设置的能力,在这里能够设置导航栏的展现风格,我的主页面等信息,下面几张图为统一门户的实际效果图:函数
我的桌面设置预览this
导航栏展现风格设置人工智能
我的首页设置spa
MainPortal基于AppCube的高级页面开发,由smartcampus_mainframe_widget组件构成,组件支持在线编辑,也能够下载后,在本地离线编辑。组件构成以下:
其中:
audio:音频文件的存放目录
image:组件内图标的存放目录
messages-en.json:当语言切换为英文时,组件英文展现信息
messages-zh.json:当语言切换为中文时,组件中文展现信息
packageinfo.json:该组件的名称,描述,依赖等基本信息
smartcampus_mainframe_widget.css:组件的样式代码
smartcampus_mainframe_widget.editor.js:组件的配置信息文件
smartcampus_mainframe_widget.ftl:组件的DOM文件
smartcampus_mainframe_widget.js:组件的JavaScript文件
smartcampus_mainframe_widget.png:组件的展现图标
(一)让咱们从显示用户菜单的逻辑流程图开始
(二)菜单展现的DOM结构代码解读
经过查看Smartcampus_mainframe_widget.ftl文件,能够看到菜单的展现绑定在Menulist上,其中DOM是经过VUE-ELEMENT实现的:
(三)菜单的查询逻辑代码解读:
经过查看Smartcampus_mainframe_widget.js文件,首先能够看到组件的js代码结构树:
其中,能够在render函数中,new一个Vue实例,挂载在DOM元素上: unified-portal。Vue实例的整个生命周期函数,能够在此实现。
而后,从created函数,找到菜单初始化的入口函数start():
Start函数的逻辑:
GetParams函数的逻辑:
RenderPage函数的逻辑:
getPortalProfile函数的逻辑:
CompareMenu函数的逻辑:
至此,咱们已经了解了“显示用户菜单”的基本代码结构。
在实际的园区智慧化项目中,只须要搭载此份应用框架MainPortal就可完成各个子应用/子系统的菜单集成,大幅提高开发效率。怎么样?快来试试吧。
新用户专享园区开发者账号免费试用,请戳:https://bbs.huaweicloud.com/f...
做为华为ICT基础设施业务面向全球开发者的年度盛会,华为开发者大会2021(Cloud)将于2021年4月24日-26日在深圳举行。本届大会以#每个开发者都了不得#为主题,将汇聚业界大咖、华为科学家、顶级技术专家、天才少年和众多开发者,共同探讨和分享云、计算、人工智能等最新ICT技术在行业的深度创新和应用。智能时代,每个开发者都在创造勇往直前的奔腾时代。世界有你,了不得!
了解更多华为智慧园区开发者资讯,欢迎访问:https://bbs.huaweicloud.com/f...