首页/新闻资讯/正文详情

IDURAR 开源 ERP/CRM 系统技术指南:基于 MERN 技术栈的功能架构、数据模型与部署实践

发布时间:2026/9/25 10:39:43 来源:云帆数科 栏目:资讯中心
IDURAR 开源 ERP/CRM 系统技术指南:基于 MERN 技术栈的功能架构、数据模型与部署实践
后端前端企业应用CRM【免费下载链接】idurar-erp-crmFree Open Source ERP CRM Software Accounting Invoicing | Node.Js React项目地址https://gitcode.com/gh_mirrors/id/idurar-erp-crm点击查看免费下载导读本文以 IDURARidurar-erp-crm开源仓库中的乌克兰语功能文档features/uk_ua_безкоштовне_відкрите_джерело_erp_crm_програмне_забезпечення.md为主体脉络系统讲解这套开源 ERP/CRM 系统的软件技术栈、十大核心业务模块、底层数据模型与 REST API 路由结构并结合仓库源码给出本地安装部署的完整步骤。读完本文你将掌握 IDURAR 的模块划分与调用关系理解 Client、Invoice、Payment 等核心数据模型如何支撑客户管理、开票、收款与报表统计并能在本地从零部署一套可运行的 ERP/CRM 环境。说明本文引用的版本、命令与配置均以当前仓库实际内容为准backend/frontend 均为 v4.1.0Node.js 20.9.0 / npm 10.2.4。一、软件技术栈基于 MERN AntD Redux原文档明确指出IDURAR 是基于MERN 技术栈的免费开源 ERP/CRM 应用核心组件为Node.js后端运行环境React.js前端界面框架Redux前端全局状态管理Express.js后端 Web 框架MongoDB文档型数据库配合 Mongoose ODMAnt DesignAntD企业级 UI 组件库仓库中的依赖声明可以印证这套技术栈。在 backend/package.json 中可以看到 Express^4.18.2、Mongoose^8.1.1、JWTjsonwebtoken ^9.0.2、bcryptjs密码哈希、joi参数校验、pugPDF 模板引擎等后端依赖在 frontend/package.json 中可以看到 React^18.3.1、Ant Designantd ^5.14.1、ant-design/pro-layout、reduxjs/toolkit、axios、Vite^5.4.8等前端依赖。后端应用入口 backend/src/app.js 展示了 Express 服务的装配方式启用corscredentials: true、cookie-parser、express.json()、compression等中间件按前缀挂载路由/api下先挂载核心认证路由 coreAuth.js再经adminAuth.isValidAuthToken认证中间件保护 coreApi.js 与 appApi.js另外提供/download下载路由与/public公开路由最后统一进入 errorHandlers 的 404 与生产错误处理。从源码结构看前端与后端分别位于仓库的frontend/与backend/目录属于典型的前后端分离单仓库monorepo布局。二、用户管理User Management原文档列出的用户管理能力包括管理员可创建、编辑、删除用户账户实现基于角色的访问控制RBAC以管理用户权限提供认证Authentication与授权Authorization机制保障安全访问。源码层面的实现证据管理员模型backend/src/models/coreModels/Admin.js包含email小写化、必填、name、surname、photo、role当前枚举仅owner默认值owner、enabled、removed等字段。认证控制器backend/src/controllers/coreControllers/adminAuth/index.js提供isValidAuthToken中间件在 app.js 中被用于保护所有核心 API 与应用 API 路由认证令牌使用jsonwebtoken签发与校验。密码管理密码使用bcryptjs哈希存储见后端依赖并提供忘记密码、重置密码、登录、登出等完整流程相关实现位于 createAuthMiddleware 目录含login.js、logout.js、forgetPassword.js、resetPassword.js、isValidAuthToken.js等。个人资料管理createUserController提供read、updatePassword、updateProfile、updateProfilePassword等接口前端 ProfileModule 对应实现个人资料查看、密码修改与头像上传。从源码结构看当前角色模型较精简enum: [owner]RBAC 的实现程度以仓库实际代码为准但登录态校验、令牌验证、密码重置等安全访问链路是完整且可运行的。三、客户关系管理CRM原文档描述的 CRM 能力包括创建并管理潜在客户、目标客户与正式客户的联系记录实现销售线索Lead的获取与资格认定跟踪潜在销售机会提供客户沟通历史管理工具邮件、电话、会议支持安排约会并向客户发送通知或提醒。客户数据模型客户Client实体定义在 backend/src/models/appModels/Client.js字段包括字段类型说明nameString必填客户名称phone/emailString联系方式country/addressString地址信息createdBy/assignedObjectIdref: Admin创建人 / 指派负责人removed/enabledBoolean软删除标记 / 启用状态created/updatedDate时间戳默认 Date.now该模型启用了mongoose-autopopulate插件并在 Invoice 等模型中通过client引用实现自动填充形成客户—单据的关联查询。前端的 CRM 页面前端 pages/Customer/index.jsx 配合 pages/Customer/config.js 定义客户列表的表格列、搜索与筛选配置表单由 forms/CustomerForm.jsx 提供。客户模块复用ErpPanelModule的通用增删改查骨架见 frontend/src/modules/ErpPanelModule/index.jsx。四、销售管理Sales Management原文档列出的销售管理能力创建并管理销售订单并与特定客户关联库存跟踪检查产品可用性并在每笔销售后更新库存水平生成发票Invoice并处理与主流支付网关的支付集成提供仪表盘与报表监控销售表现、分析趋势。发票数据模型Invoicebackend/src/models/appModels/Invoice.js 是销售管理的核心单据模型关键字段包括number/year发票编号与年份均必填date/expiredDate开票日期与到期日期client关联客户ObjectIdref: Clientautopopulate 自动填充items明细行数组每行包含itemName、description、quantity、price、totaltaxRate、subTotal、taxTotal、total税额与合计字段currency币种默认NA自动大写paymentStatus枚举unpaid/paid/partially默认unpaidstatus枚举draft/pending/sent/refunded/cancelled/on hold默认draftrecurring周期性枚举daily/weekly/monthly/annually/quarterconverted记录由报价quote或要约offer转换而来pdf/filesPDF 生成结果与附件isOverdue、approved、credit、discount、payment关联 Payment 数组等。发票的控制器与路由发票业务逻辑分布在 backend/src/controllers/appControllers/invoiceController 下create.js、read.js、update.js、remove.js、paginatedList.js、summary.js、sendMail.js、schemaValidate.js。其中sendMail.js对应向客户发送发票邮件的能力summary.js用于生成统计数据。通用 CRUD 路由backend/src/routes/appRoutes/appApi.js 通过 models/utils/index.js 自动扫描appModels目录生成 REST 路由每个实体自动获得方法路径用途POST/{entity}/create创建记录GET/{entity}/read/:id读取单条PATCH/{entity}/update/:id更新记录DELETE/{entity}/delete/:id删除记录GET/{entity}/search搜索GET/{entity}/list/listAll分页列表 / 全量列表GET/{entity}/filter过滤GET/{entity}/summary汇总统计对于invoice、quote、payment实体还会额外注册/{entity}/mail邮件发送quote额外注册/convert/:id报价转发票。五、采购管理Purchase Management原文档列出的采购能力创建并管理采购订单指定数量与所需商品跟踪供应商信息、管理供应商关系收货并相应更新库存水平处理采购发票与对供应商的付款。需要说明的是当前仓库 v4.1.0 的 appModels 目录仅包含 Client、Invoice、Payment 三个业务实体见 backend/src/models/appModels并没有独立的采购订单/供应商/商品模型文件。因此原文档中采购、库存、项目、财务总账等模块属于产品规划层面的能力描述其落地情况需以仓库实际模型为准。文章后续对这类模块的阐述将严格基于原文档功能描述 仓库中可验证的相关机制如库存编号生成中间件、设置系统、报表接口不做超出代码的虚构。六、库存管理Inventory Management原文档列出的库存能力管理并跟踪库存水平包括库存转移与调整设置低库存自动通知并在需要补货时生成采购订单提供条码扫描能力允许对产品进行分类、定义属性并设置定价信息。仓库中的相关机制仓库中与库存/编号相关的中件实现位于 backend/src/middlewares/inventorygenerateUniqueNumber.js为单据生成唯一编号的中件与前端设置里的Last Invoice Number / Last Quote Number / Last Payment Number见 frontend/src/locale/translation/en_us.js配合使用index.js库存相关中件入口。从源码结构看该中间件目录的存在说明系统在设计上预留了编号与库存联动能力例如每次销售后更新序号但完整的产品/库存实体并未包含在当前的 appModels 中具体以仓库代码为准。七、财务管理Financial Management原文档列出的财务能力实现总账系统跟踪财务交易支出与收入管理应收AR与应付AP包括开票与付款跟踪生成财务报表资产负债表、损益表与主流会计软件集成。付款数据模型Payment当前仓库中与财务直接相关的核心模型是 backend/src/models/appModels/Payment.js其配套控制器位于 backend/src/controllers/appControllers/paymentController含create.js、update.js、remove.js、sendMail.js、summary.js。在前端发票的记录付款功能由 InvoiceModule/RecordPaymentModule 实现付款列表与详情由 PaymentModule 提供付款表单为 forms/PaymentForm.jsx。收款后会同步更新发票的payment数组与paymentStatusunpaid/paid/partially。财务设置与货币货币与货币格式设置见 backend/src/setup/defaultSettings/financeSettings.json 与 moneyFormatSettings.json后端还提供 currency.js 与 currencyList.js 工具前端金额格式化通过 frontend/src/settings/useMoney.jsx 与 frontend/src/utils/calculate.js 完成财务设置页面前端 pages/Settings/FinanceSettings.jsx 与 FinanceSettingsModule 对应后端设置接口settings 中间件 与 settingController。发票的credit、discount、isOverdue字段以及付款状态机构成了应收管理的骨架应付AP、总账与资产负债表等能力属于原文档规划范围当前仓库未见独立模型实现。八、项目管理Project Management原文档列出的项目能力创建并跟踪项目向团队成员分配任务、设置截止日期并监控进度分配资源并跟踪项目支出提供文档共享与实时沟通等协作能力。从当前仓库源码结构看backend/src/models 与 frontend/src/modules 中均未发现独立的 Project / Task 模型与模块文件。因此项目管理属于原文档中描述的产品能力愿景当前版本尚未在代码层落地本文如实说明不做进一步发挥。九、报表与统计Reporting and Analytics原文档列出的报表能力针对业务各维度生成综合报表与分析提供可定制的仪表盘监控关键绩效指标KPI允许用户按特定需求定义自定义报表实现数据可视化技术以直观形式呈现信息。仓库中的可验证实现统一 summary 接口如通用 CRUD 路由一节所述每个实体自动获得GET /{entity}/summary汇总接口由 createCRUDController/summary.js 与各实体的summary.js实现。以发票为例invoiceController/summary.js 可统计应收总额、已收金额、逾期情况等。仪表盘页面前端 DashboardModule 由 SummaryCard.jsx、PreviewCard.jsx、CustomerPreviewCard.jsx 与 RecentTable 组成展示近期发票、报价、付款与客户预览。国际化文案佐证frontend/src/locale/translation/en_us.js 中包含dashboard、customer_preview、recent_invoices、recent_quotes、recent_payments、new_customer_this_month、active_customer、payment_status等键对应仪表盘上的 KPI 卡片与最近单据列表。原文档中自定义报表与数据可视化属于能力描述当前仓库以预设的仪表盘卡片与 summary 接口为主未发现可视化报表设计器一类的实现。十、集成与自定义Integration and Customization原文档列出的集成能力与主流第三方应用或 API 集成如邮件营销工具、CRM 平台根据业务需求自定义应用功能与外观提供 API 或 Webhook促进 ERP/CRM 与其他系统间的数据交换。仓库中的可验证实现邮件能力invoice、quote、payment三类单据均支持POST /{entity}/mail见 appApi.js后端依赖包含resend邮件发送服务与nodemailer生态邮件模板位于 backend/src/emailTemplate含 SendEmailTemplate.js 与邮箱验证模板。发送实现见 invoiceController/sendMail.js。PDF 生成后端依赖html-pdf与pugPDF 模板位于 backend/src/pdfInvoice.pug、Quote.pug、Offer.pug、Payment.pug下载路由见 backend/src/routes/coreRoutes/coreDownloadRouter.js 与 downloadHandler/downloadPdf.js。文件上传提供单文件上传中间件 backend/src/middlewares/uploadMiddleware含 LocalSingleStorage、DoSingleStorage、fileFilter 等支持 AWS S3依赖aws-sdk/client-s3与本地存储两种后端。AI 能力后端依赖包含openai^4.27.0从依赖声明可推断项目预留了 AI 辅助能力。设置系统公司信息、发票、报价、货币格式等均可通过 backend/src/settings 与 defaultSettingsappSettings、clientSettings、companySettings、financeSettings、invoiceSettings、moneyFormatSettings、quoteSettings配置前端对应 SettingModule 与 pages/Settings 各页面。公开 REST API如上文路由表所示每个实体均暴露完整 CRUD search/filter/list/summary REST 接口天然可作为与其他系统集成的 API 面。是否提供 Webhook 端点以仓库代码为准。自定义能力方面前端主题样式集中于 frontend/src/style含 partials 下的 erp.css、core.css 等可通过修改样式与 AntD 主题实现外观定制。十一、用户友好界面User-friendly Interface原文档列出的界面要求使用 React.js 与 Ant Design 设计直观、响应式、友好的界面实现易用的导航菜单、搜索功能与筛选器在不同设备与屏幕尺寸下保持一致、美观的视觉界面。仓库中的可验证实现布局体系前端 layout 目录提供 AuthLayout、CrudLayout、DashboardLayout、DefaultLayout、ErpLayout、ProfileLayout、SettingsLayout 等成套布局导航与页头apps/Navigation/NavigationContainer.jsx 与 apps/Header/HeaderContainer.jsx 实现主导航与顶部栏通用组件components 下提供 DataTable、SearchItem、SelectAsync、AutoCompleteAsync、MultiStepSelectAsync、MoneyInputFormItem、DeleteModal、CrudModal、Notification 等可复用组件其中 DataTablefrontend/src/components/DataTable/DataTable.jsx与 SearchItem 共同构成搜索 筛选 表格的核心交互模式响应式与无障碍hooks/useResponsive.jsx 处理响应式断点样式文件 style/partials 按模块拆分header.css、navigation.css、layout.css、sidePanel.css 等。十二、从零部署 IDURAR实战步骤以下步骤以仓库 INSTALLATION-INSTRUCTIONS.md 为基准结合当前仓库版本Node 20.9.0 / npm 10.2.4整理。步骤 1克隆仓库git clone https://gitcode.com/gh_mirrors/id/idurar-erp-crm.git cd idurar-erp-crm步骤 2准备 MongoDB注册 MongoDB 账号并创建数据库集群记录数据库的Connect to your application URI将password替换为真实密码将当前 IP 加入 MongoDB 数据库的 IP 白名单IP 变化时需重新添加。步骤 3编辑环境文件在backend/目录下准备.env文件其中最关键的一行是数据库连接串DATABASEyour-mongodb-uri将your-mongodb-uri替换为步骤 2 获取的真实 URI。前端开发模式下可用 frontend/temp.env 作为环境变量参考。步骤 4安装后端依赖并初始化cd backend npm install npm run setupnpm run setup会执行 backend/src/setup/setup.js完成数据库初始化并写入默认设置默认设置数据见 backend/src/setup/defaultSettings其他可用脚本见 backend/package.jsonnpm run devnodemon 开发模式、npm startnode 直接启动、npm run reset重置数据。步骤 5启动后端npm run dev后端 Express 服务开始监听请求路由挂载细节见 backend/src/app.js/api、/download、/public。步骤 6安装并启动前端新开一个终端cd frontend npm install npm run dev前端使用 Vite 开发服务器浏览器访问localhost:3000即可看到登录页。前端其他脚本见 frontend/package.jsonnpm run build生产构建、npm run preview预览构建产物、npm run dev:remote连接远程后端开发。步骤 7常见问题——OpenSSL 错误如果前端启动时出现 OpenSSL 相关报错Node.js V17 与 OpenSSL 的兼容问题可选择升级到 Node.js v20推荐与仓库 engines 声明一致启用 legacy OpenSSL providerUnix/Linux/macOS/Git Bashexport NODE_OPTIONS--openssl-legacy-providerWindows CMDset NODE_OPTIONS--openssl-legacy-providerPowerShell$env:NODE_OPTIONS --openssl-legacy-provider设置后重新执行npm run dev。结语综合原文档与仓库源码可以看出IDURAR 是一个以Client客户→ Invoice发票→ Payment付款为核心业务闭环的开源 ERP/CRM 系统前端由 React AntD Redux 提供统一的列表、搜索、表单与仪表盘体验后端由 Express Mongoose 提供自动化的 CRUD、summary、邮件与 PDF 能力二者通过 appApi.js 生成的 REST 路由衔接。原文档中采购、库存、项目、总账等模块属于产品能力规划当前仓库版本主要以发票、付款、报价、客户管理与设置系统为可运行的落地范围读者在二次开发时可结合 backend/src/models/appModels、backend/src/controllers/appControllers 与 frontend/src/modules 按相同模式扩展新实体。赞分享后端前端企业应用CRM【免费下载链接】idurar-erp-crmFree Open Source ERP CRM Software Accounting Invoicing | Node.Js React项目地址https://gitcode.com/gh_mirrors/id/idurar-erp-crm点击查看免费下载相关推荐Chili3D终极指南如何在浏览器中免费创建专业3D模型的完整教程Chili3D终极指南如何在浏览器中免费创建专业3D模型的完整教程 Chili3D是一款基于浏览器的开源3D CAD建模工具让用户无需安装任何软件就能在网页后端前端企业应用CRM网课视频存不下来猫抓资源嗅探扩展从安装到M3U8解析实操网课视频存不下来猫抓资源嗅探扩展从安装到M3U8解析实操 想留住一节讲了两遍还没听懂的网课播放页却连下载按钮都没有。猫抓cat catch是一个浏览器资后端前端企业应用CRMIDURAR ERP CRM 开源免费版技术全解析基于 MERN 技术栈的会计开票与客户关系管理系统IDURAR ERP CRM 开源免费版技术全解析基于 MERN 技术栈的会计开票与客户关系管理系统 IDURAR 是一款免费开源的 ERP/CRM 一体化应后端前端企业应用CRM上一篇go-osc52用 Go 语言通过 ANSI OSC52 终端序列实现剪贴板读写下一篇3分钟搞定Photoshop PNG优化SuperPNG免费插件完全指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

Highlight.io 开源可观测平台开发指南:从 Monorepo 结构到全栈构建部署的实战手册
Highlight.io 开源可观测平台开发指南:从 Monorepo 结构到全栈构建部署的实战手册

可观测性后端 【免费下载链接】highlight highlight.io: The open source, full-stack monitoring platform. Error monitoring, session replay, logging, distributed tracing, and more. 项目地址: https://gitcode.com/gh_mirrors/hi/highlight 点击查看 免费下… · 2026/9/25 10:39:37

LLMs之HumanEval:HumanEval的简介、安装、使用方法之详细攻略——TaoToken统一API通道下的Python代码评测实战
LLMs之HumanEval:HumanEval的简介、安装、使用方法之详细攻略——TaoToken统一API通道下的Python代码评测实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 10:39:31

从行为克隆到ACT:Ventuno Q机器人模仿学习部署实践
从行为克隆到ACT:Ventuno Q机器人模仿学习部署实践

1. 为什么偏偏是ACT:从行为克隆到动作分块的进化1.1 行为克隆的瓶颈:平均动作陷阱第一次在Ventuno Q上尝试模仿学习时,我的第一反应其实是拿行为克隆(Behavior Cloning,BC)直接上。毕竟最朴素的做法&#x… · 2026/9/25 10:39:25

OpenShell 内置 OCSF v1.8.0 架构清单:离线校验 Schema 与升级维护指南
OpenShell 内置 OCSF v1.8.0 架构清单:离线校验 Schema 与升级维护指南

【免费下载链接】OpenShell OpenShell is the safe, private runtime for autonomous AI agents. 项目地址: https://gitcode.com/gh_mirrors/op/OpenShell 点击查看 免费下载 OpenShell 为自治 AI Agent 沙箱提供结构化审计日志(OCSF JSON 导出&#x… · 2026/9/25 11:06:16

用 Turf.js 计算两点间地理方位角(Bearing):@turf/bearing 完全指南
用 Turf.js 计算两点间地理方位角(Bearing):@turf/bearing 完全指南

数据分析 【免费下载链接】turf A modular geospatial engine written in JavaScript and TypeScript 项目地址: https://gitcode.com/gh_mirrors/tu/turf 点击查看 免费下载 导读:turf/bearing 是 Turf.js 模块化地理引擎中用于计算两点间地理方位角&a… · 2026/9/25 11:06:10

山西广告标识源头生产厂家用户力荐:省心的本地靠谱服务机构排行榜
山西广告标识源头生产厂家用户力荐:省心的本地靠谱服务机构排行榜

找山西广告标识代加工?先避开这4个最常见踩坑坑作为广告行业的从业者,不管是承接了景区导视、建文化长廊还是商场标识项目,找靠谱的标识标牌厂家代加工时,总会遇到让人头疼的问题: 怕找的小作坊工艺差,拿到的成品和设… · 2026/9/25 11:06:10

扫描中断不用从头再来:Aliens Eye 的 --resume 断点续扫机制深度解析
扫描中断不用从头再来:Aliens Eye 的 --resume 断点续扫机制深度解析

扫描中断不用从头再来:Aliens Eye 的 --resume 断点续扫机制深度解析 【免费下载链接】Aliens_eye Hunt down 840 social media accounts using AI 项目地址: https://gitcode.com/gh_mirrors/al/Aliens_eye 为什么大规模扫描需要断点续扫 🕵️ … · 2026/9/25 11:06:10

如何打破60FPS上限:WarcraftHelper解锁帧率与300FPS锁帧实战教程
如何打破60FPS上限:WarcraftHelper解锁帧率与300FPS锁帧实战教程

如何打破60FPS上限:WarcraftHelper解锁帧率与300FPS锁帧实战教程 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper WarcraftHelper&#xff… · 2026/9/25 11:06:04

杭州西湖无痕凹陷修复前,先看清这几种不适合免喷漆的情况
杭州西湖无痕凹陷修复前,先看清这几种不适合免喷漆的情况

文章开篇以行业痛点从用户角度出发,列举本行业大众选择时最常见的4大踩坑难题、选购顾虑、普遍痛点,使用用户高频搜索口语,不植入品牌。车主遇到车身小凹陷,第一反应往往是是不是要钣金喷漆?,但实操中你可能会碰到这些… · 2026/9/25 11:06:04

数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)
数值优化(Numerical Optimization)学习系列-03-共轭梯度方法(Conjugate Gradient)

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31

MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码