草庐IT

plugin-architecture

全部标签

vite-plugin-pages实现路由权限和组件权限

项目基本架构跟 vite实现element-plus按需配置,自定义主题和读取/修改系统主题色 相同。项目地址。目标:在vite-plugin-pages自动读取文件夹配置下,设置前端路由权限和单组件权限。权限模块后台返回数据假设:返回与前端文件夹匹配的路径数据,并包含权限信息。假设,无权限数据为:{"code":200,"data":[{"menu":[{"label":"面板1","key":"index","meta":{"isAdmin":false,"requiresAuth":false}},{"label":"统计分析","key":"index-analysis","meta"

基于jib-maven-plugin快速构建微服务docker镜像

一、说明本文介绍基于Maven插件jib-maven-plugin实现快速构建SpringBoot程序镜像,并推送到远程仓库中,且无需安装Docker环境。Jib是Google开发的一个无需Docker守护进程,也无需深入掌握Docker最佳实践的情况下,为Java应用程序构建Docker和OCI镜像,以Maven和Gradle插件形式提供。 二、插件使用下图为插件的配置样例,构建后的镜像发布到阿里云仓库中(免费):阿里云仓库配置以及用户名密码需要按照自己注册的信息进行修改注册地址:https://cr.console.aliyun.com/插件详细的配置可查看:https://github.

基于jib-maven-plugin快速构建微服务docker镜像

一、说明本文介绍基于Maven插件jib-maven-plugin实现快速构建SpringBoot程序镜像,并推送到远程仓库中,且无需安装Docker环境。Jib是Google开发的一个无需Docker守护进程,也无需深入掌握Docker最佳实践的情况下,为Java应用程序构建Docker和OCI镜像,以Maven和Gradle插件形式提供。 二、插件使用下图为插件的配置样例,构建后的镜像发布到阿里云仓库中(免费):阿里云仓库配置以及用户名密码需要按照自己注册的信息进行修改注册地址:https://cr.console.aliyun.com/插件详细的配置可查看:https://github.

Architecture Design of MQTT Message Platform for Ten-million-level IoV

​Aswementionedinthe ​​previousarticle​​​ ofthisseries,the ​​MQTTprotocol​​ iscurrentlythemostsuitablecommunicationprotocolforbuildingthedataplatformforIoV.Basedonthis,thisarticlewillcontinuetodiscusstheacquisitionandtransmissionofMQTTmessagesfortheIoVandhowtobuildaten-million-levelIoVMQTTmessageplat

Architecture Design of MQTT Message Platform for Ten-million-level IoV

​Aswementionedinthe ​​previousarticle​​​ ofthisseries,the ​​MQTTprotocol​​ iscurrentlythemostsuitablecommunicationprotocolforbuildingthedataplatformforIoV.Basedonthis,thisarticlewillcontinuetodiscusstheacquisitionandtransmissionofMQTTmessagesfortheIoVandhowtobuildaten-million-levelIoVMQTTmessageplat

Xcode12 执行 pod lib lint 报错:building for iOS Simulator, not found for architecture arm64

前言之前打包机升级Xcode12之后发现私有库发版时执行podliblint命令报错,一开始看报错信息提示以为是Xcode12或者CocoaPods的锅,想着蹲个新版本出来也许就好了,就暂时没管,打包机仍旧使用Xcode11发版。后来因为另外的需求需要我们升级Xcode12,要优先解决组件发版报错问题,所以就仔细排查了下这个问题。复现随便找一个简单的开源库,以HoloTableView为例,在其podsepc里随便依赖一个静态库,以AppsFlyerFramework为例:s.dependency'AppsFlyerFramework's.static_framework=true执行lint

Xcode12 执行 pod lib lint 报错:building for iOS Simulator, not found for architecture arm64

前言之前打包机升级Xcode12之后发现私有库发版时执行podliblint命令报错,一开始看报错信息提示以为是Xcode12或者CocoaPods的锅,想着蹲个新版本出来也许就好了,就暂时没管,打包机仍旧使用Xcode11发版。后来因为另外的需求需要我们升级Xcode12,要优先解决组件发版报错问题,所以就仔细排查了下这个问题。复现随便找一个简单的开源库,以HoloTableView为例,在其podsepc里随便依赖一个静态库,以AppsFlyerFramework为例:s.dependency'AppsFlyerFramework's.static_framework=true执行lint

Undefined symbols for architecture arm64

在项目开发过程中,遇到Undefinedsymbolsforarchitecturearm64错误的概率还是比较高的,出现这样的错误,意味着项目某些地方不支持arm64指令集解决问题之前,先了解清晰涉及到的知识点:iOS支持的指令集包含:armv6、armv7、armv7s、arm64,在项目TARGETS---->BuildSettings--->Architecturs可以修改对应的指令集,目前StandardArchitectures(arm64,armv7) XCode中可设置:1、Architectures将制定项目将支持哪些指令集2、BuildActiveArchitectureO

Undefined symbols for architecture arm64

在项目开发过程中,遇到Undefinedsymbolsforarchitecturearm64错误的概率还是比较高的,出现这样的错误,意味着项目某些地方不支持arm64指令集解决问题之前,先了解清晰涉及到的知识点:iOS支持的指令集包含:armv6、armv7、armv7s、arm64,在项目TARGETS---->BuildSettings--->Architecturs可以修改对应的指令集,目前StandardArchitectures(arm64,armv7) XCode中可设置:1、Architectures将制定项目将支持哪些指令集2、BuildActiveArchitectureO

SystemUI Plugin 简介及使用

一、技术背景SystemUI结构复杂,模块数量众多,最重要的是SystemUI属于常驻进程是一个系统的门面,且不能自升级,如果定制功能对主项目做复杂的修改,首先会造成适配压力,如果对主框架不甚理解,有可能会造成很多隐藏的Bug,且不易修复,一旦崩溃对整个系统的影响很大,那么怎么才能在不修改主结构的基础上定制我们自己的功能呢?Google的SystemUI团队对该模块做了插件化的功能,可以动态实现对SystemUI的修改,一方面在一定程度上解决了不能自升级造成的问题,另一方面也解决了定制功能和原生主框架的解耦,再者,即便使用Plugin实现的功能crash了,也不影响SystemUI的运行,保证