首页 文章 精选 留言 我的

精选列表

搜索[一键安装包],共10000篇文章
优秀的个人博客,低调大师

MinerU 上线网页解析功能,支持将 URL 一键变 Markdown

MinerU 是一款将 PDF 转化为机器可读格式的工具(如 markdown、json),可以很方便地抽取为任意格式。该项目近日宣布上线“网页解析”功能,只需输入链接或上传 HTML,即可实现网页到 Markdown 的完美转换。 解析成功后会看到左右分栏视图,左边是网页快照,右边是清晰的 Markdown 或 JSON。支持高质量缩放,对照查看,所见即所得。 技术报告链接:https://arxiv.org/pdf/2511.16397v1 模型链接:https://huggingface.co/opendatalab/MinerU-HTML 据介绍,这次更新的核心利器“MinerU HTML”网页解析系统具有以下核心亮点: 极致转化,秒变 Markdown。无需复杂操作,在统一输入框内粘贴网址,无论是图文并茂的深度长文,还是结构复杂的动态页面,MinerU 都能将其精准转化为逻辑严密、结构清晰的 Markdown 文档。 深度解析,继承技术优势。该功能充分继承了 MinerU 在公式、表格识别领域的领先优势。网页中嵌入的复杂科学公式、嵌套表格均能被精准还原,确保解析后的文档具备极高的可读性与专业性,完美适配学术研究与专业分析场景。 韧性解析,自带 “重试” 机制。如果动态加载出现问题,系统会自动切换重试。无论是复杂的交互页面还是难以提取信息的站点,在 MinerU 面前统统都要乖乖变回结构化的数据。 无惧动态渲染,深度兼容。针对现代网页常见的 React、Vue 等框架生成的动态内容,MinerU 展现了强大的解析能力。告别乱码与格式错位,让 “所见即所得” 成为现实。 纯净体验,去冗留精。系统会自动识别并过滤广告干扰、侧边栏杂讯及无关链接,剔除冗余信息,只为您提取最核心、最纯净的高价值内容。 目前,MinerU 网页端与桌面客户端提供了每人每日 100 次的免费配额。体验地址:https://mineru.net/OpenSourceTools/Extractor

优秀的个人博客,低调大师

快速入门 TinyVue 组件库一键换肤!get“多主题适配”技能

本文由体验技术团队 TinyVue 项目成员岑灌铭创作,欢迎大家实操体验,本实操内容通过实现 TinyVue 中 Button 组件和 Alert 的类 element 主题适配,让开发者感受到 TinyVue 跨设计规范的亮点特性,同时对 TinyVue 组件库多主题的实现原理有个初步的了解。 知识背景 1. TinyVue 组件库简介 OpenTiny 是一套企业级前端开发解决方案,其中包含了组件库、低代码、中后台模板、CLI 命令行等丰富的效率提升工具。其中 TinyVue 是其中一款支持跨端、跨框架以及跨设计规范的组件库。 本次实操内容通过实现 TinyVue 中 Button 组件和 Alert 的类 element 主题适配,让开发者感受到 TinyVue 跨设计规范的亮点特性,同时对 TinyVue 组件库多主题的实现原理有个初步的了解。 代码托管 GitHub:https://github.com/opentiny/tiny-vue (欢迎大家 Star 和 提Issue、PR 进行反馈) TinyVue 官网:https://opentiny.design/tiny-vue/zh-CN/smb-theme/overview 2.环境基本要求 node.js v16+ npm v8+ 代码编辑器 VsCode 以及 Chrome/Edge 浏览器 代码实战 1.使用Vite创建一个Vue3项目 1.1 打开 VSCode 软件,使用 Ctrl+~快捷键打开终端。执行以下命令安装Vite npm install -g vite 1.2 使用 Vite 创建一个 Vue3 工程 npm create vite[@latest](https://my.oschina.net/u/4418429) tinyvue-multi-theme -- --template vue 命令行提示是否安装 create-vite@latest,输入y后回车,安装并创建 cd tinyvue-multi-theme npm install npm run dev 创建工程完毕后,依次输入以上命名 进入工程文件夹 安装依赖 执行命令启动项目 出现以下界面,则说明项目启动成功,Ctrl+鼠标左边单击 http://127.0.0.1:5173/ 从浏览器启动项目 浏览器打开会出现以上界面,说明一切正常,到此为止,Vue3项目已经完成创建。 2.安装 TinyVue,使用 button 以及 alert 组件 安装@opentiny/vue,在 vscode 终端下执行以下命名,安装 TinyVue 组件库 npm install @opentiny/vue@3.16.0 打开 OpenTiny 官网 https://opentiny.design/tiny-vue/zh-CN/overview 找到 Button 组件和 Alert 组件,可以参考官网 demo 的写法新增本次实验所需代码。 在 components 文件夹下,新建ButtonDemo.vue文件, 使用 Button 组件,新增6个类型的朴素按钮。 <template> <tiny-button plain> 朴素按钮 </tiny-button> <tiny-button type="primary" plain> 主要按钮 </tiny-button> <tiny-button type="success" plain> 成功按钮 </tiny-button> <tiny-button type="info" plain> 信息按钮 </tiny-button> <tiny-button type="warning" plain> 警告按钮 </tiny-button> <tiny-button type="danger" plain> 危险按钮 </tiny-button> </template> <script> import { Button } from "@opentiny/vue"; export default { components: { TinyButton: Button, }, }; </script> 在 components 文件夹下,新建AlertDemo.vue文件, 使用 Alert 组件,新增4个类型 alert。 <template> <div> <tiny-alert type="success" description="type 为 success"></tiny-alert> <tiny-alert type="simple" description="type 为默认值 info"></tiny-alert> <tiny-alert type="warning" description="type 为 warning"></tiny-alert> <tiny-alert type="error" description="type 为 error"></tiny-alert> </div> </template> <script> import { Alert } from "@opentiny/vue"; export default { components: { TinyAlert: Alert, }, }; </script> 删除无关文件HelloWorld.vue ,修改App.vue文件,引入ButtonDemo.vue和AlertDemo.vue组件。 import ButtonDemo from "./components/ButtonDemo.vue"; import AlertDemo from "./components/AlertDemo.vue"; 修改模板代码,删除 vite 初始 demo 代码,使用引入的 Button 和 Alert。 <template> <div class="theme-app"> <div class="container"> <button-demo></button-demo> </div> <div class="container"> <alert-demo></alert-demo> </div> </div> </template> 删除原本 vite 初始 demo 代码样式代码,新增本次实验所需的样式代码,使其看起来更美观一些。 <style scoped> .container { width: 650px; padding: 20px 24px; border-radius: 5px; border: 1px solid #ddd; margin-top: 24px; } </style> 完成以上步骤,就已经掌握了 TinyVue 组件的基本用法了,打开页面查看,如果显示以下页面,那么准备工作就完毕了~ 3.实现样式切换 下面来准备第三步,实现样式上的切换,开始实现之前,首先简单介绍一下 TinyVue 主题适配的原理。 原理: 在页面打开控制台,查看 button 的样式,可以看到样式属性值都是使用的 css var 变量。这些变量都以 ti-button 开头,这些可以称之为组件级变量。 通常情况下,相同类型(成功类型)的背景色、文本色等在不同组件中属性值相同,因此组件库定义了这部分常用到公共变量。而绝大多数组件级变量也都是使用的公共变量。 本次实验中 Button 和 Alert 的组件级变量的背景色正是使用的同一个公共变量ti-common-color-success-bg 主题适配的原理就是覆盖这些 css var 变量的值,去达到改变样式的效果。了解了原理后,就可以开始实现样式切换了。 实战: 在 components 文件夹下,新建ChangeTheme.vue文件, 编写切换样式逻辑。 这里使用 TinyVue 内置的 theme-tool 切换主题工具,只需要定义好相应主题变量的值即可,工具就会自动完成覆盖变量值的操作。 然后引入 Radio 组件,选中不同值时切换不同的主题,引入 theme-tool 工具,尝试修改上文提到的公共变量ti-common-color-success-bg,这里先设置为测试值 green 查看效果。 <script setup> import { Radio as TinyRadio, RadioGroup as TinyRadioGroup, } from "@opentiny/vue"; import TinyThemeTool from "@opentiny/vue-theme/theme-tool"; import { ref } from "vue"; const theme = ref("tiny-vue"); const themeTool = new TinyThemeTool(); const elementTheme = { id: "element-theme", name: "elementTheme", cnName: "饿了么主题", data: { "ti-common-color-success-bg": "green", }, }; const emit = defineEmits(["change-theme"]); const changeTheme = (theme) => { themeTool.changeTheme(theme === "element" ? elementTheme : null); emit("change-theme", theme); }; </script> <template> <tiny-radio-group v-model="theme" @change="changeTheme"> <tiny-radio label="tiny-vue"></tiny-radio> <tiny-radio label="element"></tiny-radio> </tiny-radio-group> </template> 在App.vue中引入并使用ChangeTheme组件 // script下新增 import ChangeTheme from "./components/ChangeTheme.vue"; // template下新增 <change-theme></change-theme> 接着打开页面查看效果,切换主题时,成功按钮和成功类型的 alert 背景颜色都变为 green 了~ 然后可以对比 element 组件样式差异:https://element-plus.org/zh-CN/component/button.html 将背景色、文字色等 css 属性修改为与 element 一致,当然也可以自己发挥,DIY 自己的主题。以下是一份参考配置: const elementTheme = { id: "element-theme", name: "elementTheme", cnName: "饿了么主题", data: { // 设置公共变量 "ti-common-color-primary-bg": "#409eff", "ti-common-color-primary-normal": "#409eff", "ti-common-color-success-bg": "#f0f9eb", "ti-common-color-success-normal": "#67c23a", "ti-common-color-info-bg": "#f4f4f5", "ti-common-color-info-normal": "#909399", "ti-common-color-warn-bg": "#fdf6ec", "ti-common-color-warn-normal": "#e6a23c", "ti-common-color-danger-bg": "#fef0f0", "ti-common-color-danger-normal": "#f56c6c", // 设置button相关样式属性 "ti-button-size-normal-height": "32px", "ti-button-border-radius": "4px", "ti-button-font-size": "14px", // 设置alert相关样式属性 "ti-alert-border-radius": "6px", "ti-alert-close-font-size": "14px", "ti-alert-description-font-size": "14px", "ti-alert-success-close-icon-color": "#a8abb2", "ti-alert-simple-close-icon-color": "#a8abb2", "ti-alert-error-close-icon-color": "#a8abb2", "ti-alert-warning-close-icon-color": "#a8abb2", "ti-alert-success-title-text-color": "#67c23a", "ti-alert-simple-title-text-color": "#909399", "ti-alert-warning-title-text-color": "#e6a23c", "ti-alert-error-title-text-color": "#f56c6c", "ti-alert-border-weight": "0px", }, }; 4.图标的适配 完成以上三步,此时 css 样式部分已经适配完毕。但是和 element 主题还是会有差别,仔细对比发现,element 主题是没有图标的。 而对于图标的隐藏,其实也可以通过 css var 变量的方式去实现,但是只能控制图标的显示和隐藏,无法实现不同主题下展示不同的图标,因此对于图标的适配,组件库采用配置的方式去实现。 以下是组件库代码截图,组件库对于图标,预留了配置项,组件库提供 ConfigProvider 组件来实现适配不同设计规范之间的图标和逻辑。 在App.vue文件下,引入 ConfigProvider,定义 designConfig,因为 element 是没有图标,因此配置为返回 null。定义切换方法 changeDesign,在切换样式的同时切换主题配置。 import { ConfigProvider } from "@opentiny/vue"; import { ref } from "vue"; const elementConfig = { name: "elementConfig", // 自定义规范名称 components: { Alert: { icons: { warning: () => null, success: () => null, error: () => null, }, }, }, }; const designConfig = ref({}); const changeDesign = (val) => { console.log(val === "element"); designConfig.value = val === "element" ? elementConfig : {}; }; 在模板中使用 ConfigProvider,传入主题配置。因为主题配置为非响应式更新,因此需要配置一下 key,切换配置后重新加载一下。 <template> <change-theme @change-theme="changeDesign"></change-theme> <config-provider :design="designConfig" :key="designConfig.name"> <div class="theme-app"> <div class="container"> <button-demo></button-demo> </div> <div class="container"> <alert-demo></alert-demo> </div> </div> </config-provider> </template> 配置完 designConfig 后,图标问题也解决了~ 5.交互的适配 完成以上4点,已经完成了 Button 组件和 Alert 组件的类 element 主题适配了,第5点属于拓展内容,试想一下,如果 element 主题在关闭 alert 前,需要弹出确认框确认,应该如何适配? 得益于 TinyVue 的 renderless 架构,可以很轻易地实现逻辑的替换,从而适配不同交互规范。对原理感兴趣的话,可以查看往期文章《手把手教你实现 miniTinyVue 版组件库》 这里直接贴实现方式,在 elementConfig 中新增替换 handleClose 的配置。 const elementConfig = { name: "elementConfig", // 自定义规范名称 components: { Alert: { icons: { warning: () => null, success: () => null, error: () => null, }, // 可以通过renderless重写某个方法,自定义交互逻辑 renderless: (props, hooks, { emit }, api) => { const state = api.state; return { handleClose() { const isClose = confirm("是否确认关闭?"); if (isClose) { state.show = false; } }, }; }, }, }, }; 打开页面,尝试关闭其中一个 alert,发现关闭前会弹出确认框。至此,样式、图标以及交互的适配都完成了~ 总结 至此,本次实操体验已全部完成。相信通过本次实操体验,你已经对 TinyVue 跨设计规范的原理以及相关工具有一个初步了解了~ 如果你感兴趣,完全通过theme-tool和config-provider打造一套属于自己的主题 ~ 关于OpenTiny OpenTiny 是一套企业级 Web 前端开发解决方案,提供跨端、跨框架、跨版本的 TinyVue 组件库,包含基于 Angular+TypeScript 的 TinyNG 组件库,拥有灵活扩展的低代码引擎 TinyEngine,具备主题配置系统TinyTheme / 中后台模板 TinyPro/ TinyCLI 命令行等丰富的效率提升工具,可帮助开发者高效开发 Web 应用。 欢迎加入 OpenTiny 开源社区。添加微信小助手:opentiny-official 一起参与交流前端技术~ OpenTiny 官网:https://opentiny.design/ OpenTiny 代码仓库:https://github.com/opentiny/ TinyVue 源码:https://github.com/opentiny/tiny-vue TinyEngine 源码: https://github.com/opentiny/tiny-engine 欢迎进入代码仓库 Star?*TinyEngine、TinyVue、TinyNG、TinyCLI~ 如果你也想要共建,可以进入代码仓库,找到 good first issue标签,一起参与开源贡献~

优秀的个人博客,低调大师

静态照片一键动态化,教你如何集成人像复活能力

有趣的静态照片动态化是如何实现的? 华为视频编辑服务(Video Editor Kit)全新上线的“人像复活”能力,利用人脸检测、人脸关键点检测、表情特征提取、目标人物表情驱动等AI算法,只需上传一张静态人物照片,就可以生成人物微笑等动作,轻松实现静态照片动态化,让照片更加鲜活生动。 想要实现此功能也很简单,一起看下集成步骤吧! 集成代码 1 开发准备 详细准备步骤可参考华为开发者联盟官网: https://developer.huawei.com/consumer/cn/doc/development/Media-Guides/config-agc-0000001101108580?ha_source=hms1 2 编辑工程集成 2.1 设置应用的鉴权信息 可以通过api_key或者Access Token来设置应用鉴权信息。 通过setAccessToken方法设置Access Token,在应用启动时初始化设置一次即可,无需多次设置。 MediaApplication.getInstance().setAccessToken("your access token"); 通过setApiKey方法设置api_key,在应用启动时初始化设置一次即可,无需多次设置。 MediaApplication.getInstance().setApiKey("your ApiKey"); 2.2设置唯一标识ID,即License ID。 License ID是进行管控的有效凭证,您要保证设置License ID的唯一性。 MediaApplication.getInstance().setLicenseId("License ID"); 2.2.1初始化Editor运行环境 创建编辑工程,需要首先创建Editor对象并初始化其运行环境。当离开编辑工程时,应释放Editor实例。 (1) 创建Editor对象 HuaweiVideoEditor editor = HuaweiVideoEditor.create(getApplicationContext()); (2) 指定预览窗口的布局位置 预览窗口负责视频图像画面的渲染,由视频编辑原子能力SDK内部创建SurfaceView来实现。在创建窗口之前,需要在您的App中指定预览窗口的布局位置。 <LinearLayout android:id="@+id/video_content_layout" android:layout_width="0dp" android:layout_height="0dp" android:background="@color/video_edit_main_bg_color" android:gravity="center" android:orientation="vertical" /> // 指定预览窗口 LinearLayout mSdkPreviewContainer = view.findViewById(R.id.video_content_layout); // 设置预览窗口承载的布局 editor.setDisplay(mSdkPreviewContainer); (3) 初始化运行环境,如果License鉴权失败,会抛出LicenseException。 当Editor对象创建之后,此时还没有占用实际的系统资源,需要手动选择其环境初始化的时机,此时视频编辑原子能力SDK内部会创建必须的线程和定时器等。 try { editor.initEnvironment(); } catch (LicenseException error) { SmartLog.e(TAG, "initEnvironment failed: " + error.getErrorMsg()); finish(); return; } 2.2.2添加视频、图片 创建一条视频泳道,然后往泳道上添加图片或者视频素材。图片和视频素材需要通过文件路径添加到泳道上。 // 获取时间线对象 HVETimeLine timeline = editor.getTimeLine(); // 创建视频泳道 HVEVideoLane videoLane = timeline.appendVideoLane(); // 在视频泳道的末尾,添加视频资源 HVEVideoAsset videoAsset = vidoeLane.appendVideoAsset("test.mp4"); // 在视频泳道的末尾,添加图片资源 HVEImageAsset imageAsset = vidoeLane.appendImageAsset("test.jpg"); 3 人像复活集成 // 添加人像复活特效 videoAsset.addFaceReenactAIEffect(new HVEAIProcessCallback() { @Override public void onProgress(int progress) { // 人像复活处理进度 } @Override public void onSuccess() { // 人像复活处理成功 } @Override public void onError(int errorCode, String errorMessage) { // 人像复活处理失败 } }); // 移除人像复活特效 videoAsset.removeFaceReenactAIEffect(); Demo演示 了解更多详情>> 访问华为开发者联盟官网 获取开发指导文档 华为移动服务开源仓库地址:GitHub、Gitee 关注我们,第一时间了解 HMS Core 最新技术资讯~

优秀的个人博客,低调大师

Angular UI组件库Kendo UI for Angular添加新组件,一键了解

Kendo UI for Angular R2 2021最新版下载 Kendo UI for Angular是专业级的Angular UI组件库,不仅是将其他供应商提供的现有组件封装起来,telerik致力于提供纯粹高性能的Angular UI组件,而无需任何jQuery依赖关系。无论您是使用TypeScript还是JavaScript开发Angular应用程序,Kendo UI for Angular都能为Angular项目提供专业的、企业级UI组件。 新组件:Angular BottomNavigation Angular BottomNavigation 组件充当任何 Web 应用程序的直观导航元素。 最常见于移动应用程序、响应式 Web 应用程序或渐进式 Web 应用程序 (PWA) 中,BottomNavigation 组件显示在屏幕底部,为用户突出显示导航选项。 可以自定义单个项目以仅显示文本、图标或两者的组合,当然还可以进行额外的 CSS 或 Sass 自定义以适合您可能需要的任何设计。 该组件可以与 Angular Router 集成,使 Angular BottomNavigation 成为任何 Angular 应用程序的直观导航组件。 新组件:Angular MultiSelectTree 继续为 Angular DropDowns 包添加越来越多的场景化趋势,在 R2 2021 中引入了 Angular MultiSelectTree 组件。 该组件的核心是在 MultiSelect 下拉列表中结合了 TreeView 的层次结构,这意味着用户可以从包含 TreeView 的下拉列表中选择多个值。 这类似于之前版本中引入的 Angular DropDownTree,但最大的不同在于 MultiSelect 操作,选定的值将显示为文本或标记,只需将光标放在组件的输入元素内即可添加、修改或删除。 新组件:Angular Circular Gauge 新的 Angular Circular Gauge 组件采用已经流行的 Angular Arc Gauge 组件,并创建了一个新的数据可视化,它覆盖了一个完整的圆而不是任意的弧。 这包括对中心标签、刻度等的支持,以确保这个新的数据可视化组件可以适合您投入的任何设计。 新组件:Angular Skeleton 通过全新的Kendo UI for Angular Skeleton组件,开发人员可以通过创建代表即将加载的内容占位符元素和形状来提高其应用程序的感知性能。 这让用户感觉以很少甚至没有成本的方式加载东西,因为这只是 HTML 和 CSS 的任何将要显示的形状。 对于这个初始版本,我们涵盖了一些形状,如线条、矩形和圆形,为 Angular 开发人员创建自己的加载元素奠定了坚实的基础。 了解最新Kendo UI最新资讯,请关注Telerik中文网!

优秀的个人博客,低调大师

SpringBlade 3.0.3 发布,新增 kuboard-k8s 一键部署方案

简介: SpringBlade 是由一个商业级项目升级优化而来的 SpringCloud 微服务架构,采用 Java8 API 重构了业务代码,完全遵循阿里巴巴编码规范。采用 Spring Boot 2.4 、Spring Cloud 2020 、Mybatis 等核心技术,用于快速搭建企业级的 SaaS 微服务系统平台。 SpringBlade 同时提供 SpringBoot 单体架构版本,为中小型项目保驾护航,可与两套分别基于 React 和 Vue 的前端框架无缝对接。 SpringBlade 致力于创造新颖的开发模式,将开发中遇到的痛点、生产中所踩的坑整理归纳,并将解决方案都融合到框架中。 版本更新信息: 新增blade-develop的dockerfile 新增blade-develop推送docker配置 新增saber的dockerfile 新增kuboard k8s部署脚本 新增kuboard k8s部署方案 优化pom配置适配新版部署方案 优化swagger加载逻辑默认开启knife4j K8s部署文档 k8s部署文档请见:点击查看 Kubord简介 Kuboard 是一款基于 Kubernetes 的微服务管理界面。目的是帮助用户快速在 Kubernetes 上落地微服务。在https://kuboard.cn上,您可以获得: 最新版本的 Kubernetes 安装文档 免费的 Kubernetes 中文教程 免费的 Kubernetes 图形化管理界面 Kuboard 在 Kubernetes 上部署 Spring Cloud 的实战分享 SpringBlade 系列项目地址: 前端 UI 项目地址(基于 React):Sword 前端 UI 项目地址(基于 Vue):Saber 核心框架项目地址:BladeTool 后端框架项目地址:SpringBlade 后端 SpringBoot 版本地址:BladeBoot 发行版地址:https://gitee.com/smallc/SpringBlade/releases 官网演示地址: Blade 官网地址:Blade Sword 演示地址:Sword 演示 Saber 演示地址:Saber 演示 Archer 演示地址:Archer 演示 Caster 演示地址:Caster 演示 系统界面一览

优秀的个人博客,低调大师

京东猎户座发布开源,配置化一键生成 cms 系统

猎户座核心配置化功能开源啦! 在降本提效的大环境下,猎户座系统为了扩展更多应用场景,近期完成了第一阶段的开源工作。此次开源的代码内容涉及两个代码库,内容为CCMS管理系统核心配置化功能以及包含表格列与表单项在内的常用组件。 配置化核心业务逻辑(开源地址) UI实现代码库(开源地址) 希望通过开源吸引更多贡献者参与共建,完善对各类表单项、列表项的展示、校验需求的覆盖,促进产品的长期发展。收集Issue以及社区的反馈,不断优化功能的同时全面掌握用户诉求。 开源介绍 1、简介 猎户座是一套完善、通用的可配置化中后台一站式解决平台,包含快速创建系统、可视化搭建、配置界面、权限控制等能力。本次开源内容为核心配置化功能(CCMS),通过配置化自动生成中后台(CMS)界面,可将内容管理系统页面抽象为若干API进行流转,并对后台API的请求按照逻辑类型划分为表单提交、列表展示、查询数据等,通过JSON描述各API请求的接口信息以及常见校验和简单逻辑,动态渲染前端页面,最终实现零开发搭建内容管理系统。 2、特点 通过配置文件自动生成CMS后台管理界面。 1.核心配置化功能包含5种步骤,超过15种包含表格列与表单项在内的各种组件等内容。 2.通过组合式配置步骤。可覆盖16种以上不同中后台系统功能与页面交互形式。 3.规范:面向对象的方式对基类统一管理;项目目录与代码统一标准化、规范化。 4.文档:提供了完善的使用文档(https://oriondoc.jd.com/),便于开发者参与贡献与快速使用。 5.质量:核心组件的单元测试覆盖率达到100%,确保核心组件的开发质量。 3、架构 1)整体架构 基于猎户座接入的业务应用场景,以用户为中心,进行调研,收集实际的业务需求,扩展项目的功能。主要目的是让产品配置更灵活、更便捷、易上手、功能覆盖更全面。我们首先对整体架构进行分层。下图是开源代码的整体架构思路 2)组件设计 以面向对象的方式在基类实现业务逻辑,通过继承基类实现UI的快速切换和接入。 3)数据流转 每个页面步骤提供对输入、输出数据的传输与存储,在不同页面步骤中实现各自的业务逻辑。最终在页面中通过对步骤排列组合实现完整的业务功能。 4)无缝对接外部系统 以中间件的形式抽离权限配置,配置文件存储,UI框架等模块实现在不同系统间的快速切换。 4、接入与使用 完整demo可参照(http://coding.jd.com/publicdemo/ccms-demo/) 快速使用:安装ccms 和ccms-antd npm install ccms-antd ccms 在项目中引入和及配置 import { CCMS } from 'ccms-antd'; const App = () => ( <> <CCMS checkPageAuth={async () => true} loadPageURL={async (id) => `/url?id=${id}&type=page`} loadPageFrameURL={async (id) => `/url?id=${id}&type=open`} // 界面操作更新CCMS config loadPageConfig={async (page) => newConfig } sourceData={{}} callback={() => { if (window.history.length > 1) { window.history.back() } else { window.close() } }} //config的demo 详见api文档 config={config} /> </> ); ——京东零售-平台业务中心-平台业务研发部-基础业务研发部——

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册