登录你的账户访问不同特色

忘记了您的密码?

忘记你的详情?

哈哈,等等,我现在记起来了!

筑云科技(BIMCC)

筑云科技(BIMCC)

多年项目历练,超大型项目实施经验,以人才和技术为基础,创造最佳产品和服务。

座机:023-68682379(工作日9:00-18:00请致电)
手机:18584713100(非工作时间请致电)

邮箱: info@bimcc.com

重庆市筑云科技有限责任公司
重庆市江北区南桥寺永辉总部大厦7楼

  • 首页
  • 技术服务
  • 产品与下载
    • 飞椽云零代码开发平台
    • BIMCC数字建造平台
    • BIMVR虚拟现实系统(Fuzor)
    • BIM集成运维系统
    • BIM全息投影系统
    • BIMVR3D大屏投影系统
  • BIM智慧工地
  • BIM教育培训
    • AIOB互动教学系统
    • AIOB教学资源建设
    • BIM与虚拟仿真实训室建设
    • 培训与考试
  • 资讯中心
    • 公司动态
    • 技术实践
      • 筑“见”-项目案例
      • 飞椽云
      • 数字建造平台
      • 技术分享
    • 行业资讯
  • 筑云学院
  • 关于我们
    • 公司简介
    • 公司业绩
    • 联系我们
    • 加入我们
点击咨询
  • 首页
  • 公司动态
  • 技术实践
  • 技术分享
  • 阿里图标自动化更新方案
2025年7月1日

阿里图标自动化更新方案

阿里图标自动化更新方案

作者: admin / 星期四, 28 9月 2023 / 发布在 技术分享

在开发的过程中,为了解决阿里图标更新和维护不便的问题,经过摸索和实践,我们大体可以总结为一下几个步骤:

自动化脚本:写一个自动化脚本来实现图标的下载和更新。利用Puppeteer的能力,自动访问阿里图标下载页面,定位下载链接,并下载新的图标。

Puppeteer是一个流行的Node.js库,在开发者中广泛使用的用于网页爬取和自动化任务的工具。它提供两种操作模式,即headfull和headless。在headfull模式下,Puppeteer控制的Chrome或Chromium浏览器是有界面的,也就是可以看到浏览器运行的情况。在此模式下,可以使用浏览器的开发者工具进行调试。这种模式非常适合在本地进行开发和调试。而在headless模式下,它在后台运行,没有用户界面,这种模式非常适合在服务器上运行,因为没有界面,所以可以节省资源减少页面加载时间并提高性能,后面我们将依赖持续集成工具打包上传,因此我们采用无界面模式。

代码示例:

页面就初始化完毕后,我们就可以利用puppeteer提供的API模拟键盘输入、表单自动提交登录网页、监听数据请求等操作,抓取所需数据。当然,获取数据的方法有很多种:我们采用的是监听数据接口的方式,分别获取图标分类信息以及图标分类列表数据。

 

依据这个思路,我们初始化页面完成和登录页面后跳转到我的项目,通过观察页面请求我们很容易得到左侧分类列表数据,右侧图标数据通过左侧分类id请求详情接口获取右侧展示图标数据,包括图标列表、font-family、图标前缀、生成的css文件、生成的js文件等具体信息。

通过监听页面元素的方法判断页面是否加载完毕后,加载完毕后再次调用跳转项目方法,直到左侧分类每一个页面都跳转加载完成并且通过上面的监听取得数据。

需要注意的是,通过puppeteer爬取完数据后必须关闭页面并退出浏览器。

图标管理:对于下载的图标,建立一个数据库或者使用文件系统来存储和管理这些图标。我们项目中将图标类别和图标列表分别存入数据仓库中。

测试验证:在更新图标后,进行测试以验证图标是否正确显示且符合预期。在验证的过程中,由于获取的图标类较多,而每个分类的图标又由单独的css文件以及js文件构成,因此在测试验证或者正式项目使用的过程中,我们需要在项目初始化之前动态引入多个阿里图标文件。

代码示例:

 

动态插入阿里图标数据后页面是这样的:

动态插入图标文件

显示效果

持续集成:使用持续集成工具Jenkins,将图标的更新流程集成到目前我们使用的jenkins中,配置自动更新参数,以保证每次代码更新后图标也能自动更新。

总结:阿里图标自动化更新的解决方案最核心的部分就是使用了puppeteer提供的API。 它不仅能操作DOM、缓存资源、支持JavaScript、支持代理,为自动化任务提供了更大的可能性。我们还可以用puppeteer进行UI测试、测试环境,运行测试用例,捕获站点的时间线,追踪和分析网站性能问题,生成PDF和图片,将网页内容转化为静态格式等等。

 

0

关于 admin

您可以读下面的

2023智能建造项目案例 | 中国建筑第六工程局有限公司花沟片区打捆路网道路及配套工程(含金渝公园)EPC总承包项目
前端截图功能实现
GIS-让轨迹线动起来

最新文章

  • 智能引擎 创新未来—重庆造价协会工程建设领域AI技术应用实践培训班圆满收官

    2024年7月5日,重庆市建设工程造价管理协会主办,重庆市筑云科技有限责任公司,国泰新点软件股...
  • 长江上游最大跨度悬索桥合龙|BIM技术赋能复兴长江大桥建设

    4月11日,长江上游最大跨度悬索桥–复兴长江大桥钢箱梁正式合龙!主桥合龙是整个复兴...
  • 喜讯 | 濮阳市第一个BIM施工全过程应用项目荣膺项目管理数字化竞赛一等奖

    近日,由中建协主办的首届项目管理数字化竞赛圆满完成,濮阳医专附属医院项目作为代表云南省建筑业协...
  • BIM赋能文旅云南人的私藏秘境—抚仙湖

    0...
  • 看国内某超大型机场是如何通过创新数字化应用实现超大工程整体管控的

    南宁吴圩国际机场T3航站区及配套设施建设工程——国家“十四五”规划的重大工程,国家面向东盟门户...

近期评论

    分类

    • 公司动态
    • 广深政策
    • 技术分享
    • 技术实践
    • 数字建造平台
    • 筑“见”-项目案例
    • 行业资讯
    • 飞椽云
    • 技术服务
      • BIM技术服务-基础服务
      • BIM专项技术服务
      • BIM技术服务-拓展服务
    • 筑云产品
      • 飞椽云零代码开发平台
      • BIMCC数字建造平台
      • BIMVR虚拟现实系统(Fuzor)
      • BIM软硬件整体解决方案
      • BIM集成运维系统
      • BIM智慧工地
    • 资讯中心
      • 公司动态
      • 技术实践
        • 筑“见”-项目案例
        • 飞椽云
        • 数字建造平台
        • 技术分享
      • 行业资讯
    • BIM教育培训
    • 关于我们
      • 公司业绩
      • 加入我们
      • 公司简介
      • 联系我们

    联系方式

    座机: 023-68682379(工作日9:00-18:00请致电)
    手机: 18584713100 (非工作时间请致电)
    重庆市江北区南桥寺永辉总部大厦7楼
    北京市丰台区诺德中心二期11号楼2103
    广东省深圳市宝安区福永意库13栋207
    浙江省杭州市临平区南苑发展大厦601-22

    • 社交网络
    筑云科技(BIMCC)

    © 2021 All rights reserved. 重庆市筑云科技有限责任公司.
    渝ICP备13004974号-2

    顶部