Python: Prim Algorithms and Kruskal Algorithms
项目结构本文展示了一个珠宝供应链物流规划的Python实现采用领域驱动设计(DDD)架构包含Prim和Kruskal两种最小生成树算法。系统主要包含领域模型LogisticsNode(实体)、LogisticsEdge(值对象)、LogisticsMST(聚合根)核心算法PrimAlgorithm(稠密图)、KruskalAlgorithm(稀疏图)应用服务层协调领域对象和算法示例演示了从缅甸矿区到各地门店的最低成本运输路线规划系统特点严格遵循DDD分层架构算法服务封装在领域层支持邻接矩阵(Prim)和边列表(Kruskal)两种输入输出格式化路线详情和总成本适用于珠宝等贵重物品的高效物流网络规划。# encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ ® # 许可信息查看言語成了邀功盡責的功臣還需要行爲每日來值班嗎 # 描述 Prim Algorithms and Kruskal Algorithms # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2024.3.6 python 3.11 # os : windows 10 # database : mysql 9.0 sql server 2019, postgreSQL 17.0 Oracle 21c Neo4j # Datetime : 2026/8/7 22:14 # User : geovindu # Product : PyCharm # Project : PyAlgorithms # File : AggregateRoot.py class AggregateRoot: 聚合根父类DDD聚合根顶层抽象 def __init__(self): self._domain_events [] def get_domain_events(self): :return: return self._domain_events.copy() def clear_domain_events(self): :return: self._domain_events.clear() # encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ ® # 许可信息查看言語成了邀功盡責的功臣還需要行爲每日來值班嗎 # 描述 Prim Algorithms and Kruskal Algorithms # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2024.3.6 python 3.11 # os : windows 10 # database : mysql 9.0 sql server 2019, postgreSQL 17.0 Oracle 21c Neo4j # Datetime : 2026/8/7 22:36 # User : geovindu # Product : PyCharm # Project : PyAlgorithms # File : Entity.py class Entity: 实体父类拥有唯一业务ID def __init__(self, node_id: int): self._id node_id property def id(self) - int: return self._id def __eq__(self, other): if not isinstance(other, Entity): return False return self.id other.id # encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ ® # 许可信息查看言語成了邀功盡責的功臣還需要行爲每日來值班嗎 # 描述 Prim Algorithms and Kruskal Algorithms # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2024.3.6 python 3.11 # os : windows 10 # database : mysql 9.0 sql server 2019, postgreSQL 17.0 Oracle 21c Neo4j # Datetime : 2026/8/7 22:36 # User : geovindu # Product : PyCharm # Project : PyAlgorithms # File : ValueObject.py class ValueObject: 值对象父类不可变基于属性判等 def __eq__(self, other): if not isinstance(other, ValueObject): return False return self.__dict__ other.__dict__ def __hash__(self): return hash(tuple(sorted(self.__dict__.items()))) # encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ ® # 许可信息查看言語成了邀功盡責的功臣還需要行爲每日來值班嗎 # 描述 Prim Algorithms and Kruskal Algorithms # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2024.3.6 python 3.11 # os : windows 10 # database : mysql 9.0 sql server 2019, postgreSQL 17.0 Oracle 21c Neo4j # Datetime : 2026/8/7 22:38 # User : geovindu # Product : PyCharm # Project : PyAlgorithms # File : DomainException.py class DomainException(Exception): 领域统一业务异常 def __init__(self, message: str): self.message message super().__init__(self.message) # encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ ® # 许可信息查看言語成了邀功盡責的功臣還需要行爲每日來值班嗎 # 描述 Prim Algorithms and Kruskal Algorithms # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2024.3.6 python 3.11 # os : windows 10 # database : mysql 9.0 sql server 2019, postgreSQL 17.0 Oracle 21c Neo4j # Datetime : 2026/8/7 22:38 # User : geovindu # Product : PyCharm # Project : PyAlgorithms # File : UnionFind.py class UnionFind: 并查集基础设施Kruskal算法专用路径压缩普通合并 def __init__(self, size: int): self.parent list(range(size)) def find(self, x: int) - int: 查找根节点路径压缩 :param x: :return: if self.parent[x] ! x: self.parent[x] self.find(self.parent[x]) return self.parent[x] def union(self, x: int, y: int) - bool: 合并两个集合 :return: True合并成功无环False同集合成环 root_x self.find(x) root_y self.find(y) if root_x root_y: return False self.parent[root_y] root_x return True # encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ ® # 许可信息查看言語成了邀功盡責的功臣還需要行爲每日來值班嗎 # 描述 Prim Algorithms and Kruskal Algorithms # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2024.3.6 python 3.11 # os : windows 10 # database : mysql 9.0 sql server 2019, postgreSQL 17.0 Oracle 21c Neo4j # Datetime : 2026/8/7 22:40 # User : geovindu # Product : PyCharm # Project : PyAlgorithms # File : LogisticsNode.py from PrimKruskal.Common.Entity import Entity class LogisticsNode(Entity): 物流网点【实体】 代表珠宝供应链节点矿区、加工厂、仓库、线下门店 def __init__(self, node_id: int, node_name: str, node_category: str): super().__init__(node_id) self._node_name node_name self._node_category node_category property def node_name(self) - str: return self._node_name property def node_category(self) - str: return self._node_category def __repr__(self): return fNode id{self.id}, name{self.node_name}, type{self.node_category} # encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ ® # 许可信息查看言語成了邀功盡責的功臣還需要行爲每日來值班嗎 # 描述 Prim Algorithms and Kruskal Algorithms # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2024.3.6 python 3.11 # os : windows 10 # database : mysql 9.0 sql server 2019, postgreSQL 17.0 Oracle 21c Neo4j # Datetime : 2026/8/7 22:41 # User : geovindu # Product : PyCharm # Project : PyAlgorithms # File : LogisticsEdge.py from PrimKruskal.Common.ValueObject import ValueObject class LogisticsEdge(ValueObject): 物流运输线路【值对象】 两个网点之间运输链路权重运输综合成本押运、损耗、路费、保险 不可变排序、判等基于起点、终点、成本 def __init__(self, start_id: int, end_id: int, cost: float): self.start_id start_id self.end_id end_id self.cost cost def __repr__(self): return fEdge {self.start_id}-{self.end_id}, cost{self.cost} # encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ ® # 许可信息查看言語成了邀功盡責的功臣還需要行爲每日來值班嗎 # 描述 Prim Algorithms and Kruskal Algorithms # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2024.3.6 python 3.11 # os : windows 10 # database : mysql 9.0 sql server 2019, postgreSQL 17.0 Oracle 21c Neo4j # Datetime : 2026/8/7 22:41 # User : geovindu # Product : PyCharm # Project : PyAlgorithms # File : LogisticsMST.py from PrimKruskal.Common.AggregateRoot import AggregateRoot from PrimKruskal.Domain.Model.LogisticsEdge import LogisticsEdge from PrimKruskal.Domain.Model.LogisticsNode import LogisticsNode from typing import List class LogisticsMST(AggregateRoot): 最小生成树【聚合根】 聚合包含全部网点、MST选中线路、总成本 封装领域结果统一对外输出结构化数据 def __init__(self): super().__init__() self.all_nodes: List[LogisticsNode] [] self.mst_edges: List[LogisticsEdge] [] self.total_cost: float 0.0 def set_nodes(self, nodes: List[LogisticsNode]): self.all_nodes nodes def set_mst_result(self, edges: List[LogisticsEdge], total_cost: float): self.mst_edges edges self.total_cost total_cost def get_edge_detail(self) - List[tuple]: 格式化线路详情用于打印展示 node_map {node.id: node.node_name for node in self.all_nodes} detail_list [] for edge in self.mst_edges: s_name node_map[edge.start_id] e_name node_map[edge.end_id] detail_list.append((s_name, e_name, edge.cost)) return detail_list # encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ ® # 许可信息查看言語成了邀功盡責的功臣還需要行爲每日來值班嗎 # 描述 Prim Algorithms and Kruskal Algorithms # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2024.3.6 python 3.11 # os : windows 10 # database : mysql 9.0 sql server 2019, postgreSQL 17.0 Oracle 21c Neo4j # Datetime : 2026/8/7 22:42 # User : geovindu # Product : PyCharm # Project : PyAlgorithms # File : PrimAlgorithm.py from PrimKruskal.Common.DomainException import DomainException from PrimKruskal.Domain.Model.LogisticsEdge import LogisticsEdge from PrimKruskal.Domain.Model.LogisticsNode import LogisticsNode from typing import List class PrimAlgorithm: 领域算法服务Prim最小生成树 适用场景珠宝密集网点加工厂、门店扎堆稠密图 入参邻接矩阵、节点集合出参MST线路列表、总成本 staticmethod def calculate(adj_matrix: List[List[float]], nodes: List[LogisticsNode]) - (List[LogisticsEdge], float): node_count len(nodes) if node_count 0: raise DomainException(网点集合不能为空无法生成物流路网) INF float(inf) in_mst [False] * node_count min_dist [INF] * node_count pre_node [-1] * node_count min_dist[0] 0 total_cost 0.0 mst_edge_list [] for _ in range(node_count): # 选取距离生成树最近节点 select_idx -1 min_val INF for i in range(node_count): if not in_mst[i] and min_dist[i] min_val: min_val min_dist[i] select_idx i if select_idx -1: raise DomainException(当前网点图不连通无法构建完整物流最小生成树) in_mst[select_idx] True total_cost min_val # 记录前驱边 pre_idx pre_node[select_idx] if pre_idx ! -1: edge LogisticsEdge(pre_idx, select_idx, adj_matrix[pre_idx][select_idx]) mst_edge_list.append(edge) # 松弛更新邻接点距离 for j in range(node_count): weight adj_matrix[select_idx][j] if not in_mst[j] and weight 0 and weight min_dist[j]: min_dist[j] weight pre_node[j] select_idx return mst_edge_list, total_cost # encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ ® # 许可信息查看言語成了邀功盡責的功臣還需要行爲每日來值班嗎 # 描述 Prim Algorithms and Kruskal Algorithms # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2024.3.6 python 3.11 # os : windows 10 # database : mysql 9.0 sql server 2019, postgreSQL 17.0 Oracle 21c Neo4j # Datetime : 2026/8/7 22:43 # User : geovindu # Product : PyCharm # Project : PyAlgorithms # File : KruskalAlgorithm.py from PrimKruskal.Common.UnionFind import UnionFind from PrimKruskal.Common.DomainException import DomainException from PrimKruskal.Domain.Model.LogisticsEdge import LogisticsEdge from PrimKruskal.Domain.Model.LogisticsNode import LogisticsNode from typing import List class KruskalAlgorithm: 领域算法服务Kruskal最小生成树 适用场景珠宝跨城分散门店、矿区稀疏图节点多直达线路少 staticmethod def calculate(edge_list: List[LogisticsEdge], nodes: List[LogisticsNode]) - (List[LogisticsEdge], float): node_count len(nodes) if node_count 0: raise DomainException(网点集合不能为空无法生成物流路网) # 边按成本升序排序 sorted_edges sorted(edge_list, keylambda e: e.cost) uf UnionFind(node_count) mst_edge_list [] total_cost 0.0 for edge in sorted_edges: if uf.union(edge.start_id, edge.end_id): mst_edge_list.append(edge) total_cost edge.cost if len(mst_edge_list) node_count - 1: break if len(mst_edge_list) ! node_count - 1: raise DomainException(当前网点图不连通无法构建完整物流最小生成树) return mst_edge_list, total_cost # encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ ® # 许可信息查看言語成了邀功盡責的功臣還需要行爲每日來值班嗎 # 描述 Prim Algorithms and Kruskal Algorithms # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2024.3.6 python 3.11 # os : windows 10 # database : mysql 9.0 sql server 2019, postgreSQL 17.0 Oracle 21c Neo4j # Datetime : 2026/8/7 22:44 # User : geovindu # Product : PyCharm # Project : PyAlgorithms # File : LogisticsRouteService.py from PrimKruskal.Domain.Algorithm.PrimAlgorithm import PrimAlgorithm from PrimKruskal.Domain.Algorithm.KruskalAlgorithm import KruskalAlgorithm from PrimKruskal.Domain.Model.LogisticsMST import LogisticsMST from PrimKruskal.Domain.Model.LogisticsNode import LogisticsNode from PrimKruskal.Domain.Model.LogisticsEdge import LogisticsEdge from typing import List class LogisticsRouteApplicationService: 应用服务珠宝物流路线规划应用用例 职责组装领域数据、调用领域算法、组装聚合根、对外提供统一业务接口 不写业务逻辑只做协调编排 staticmethod def build_mst_by_prim(adj_matrix: List[List[float]], nodes: List[LogisticsNode]) - LogisticsMST: 使用Prim算法生成物流最小生成树 edges, cost PrimAlgorithm.calculate(adj_matrix, nodes) mst LogisticsMST() mst.set_nodes(nodes) mst.set_mst_result(edges, cost) return mst staticmethod def build_mst_by_kruskal(edge_list: List[LogisticsEdge], nodes: List[LogisticsNode]) - LogisticsMST: 使用Kruskal算法生成物流最小生成树 edges, cost KruskalAlgorithm.calculate(edge_list, nodes) mst LogisticsMST() mst.set_nodes(nodes) mst.set_mst_result(edges, cost) return mst调用# encoding: utf-8 # 版权所有 2026 ©涂聚文有限公司™ ® # 许可信息查看言語成了邀功盡責的功臣還需要行爲每日來值班嗎 # 描述 Prim Algorithms and Kruskal Algorithms # Author : geovindu,Geovin Du 涂聚文. # IDE : PyCharm 2024.3.6 python 3.11 # os : windows 10 # database : mysql 9.0 sql server 2019, postgreSQL 17.0 Oracle 21c Neo4j # Datetime : 2026/8/7 22:44 # User : geovindu # Product : PyCharm # Project : PyAlgorithms # File : PrimKruskalBll.py from PrimKruskal.Application.LogisticsRouteService import LogisticsRouteApplicationService from PrimKruskal.Domain.Model.LogisticsNode import LogisticsNode from PrimKruskal.Domain.Model.LogisticsEdge import LogisticsEdge class PrimKruskalBll(object): def demo(self): :return: # 1. 构建珠宝供应链网点实体 node_list [ LogisticsNode(0, 缅甸翡翠矿区A, 原料矿区), LogisticsNode(1, 云南分拣加工厂, 加工中心), LogisticsNode(2, 深圳总仓储中心, 仓储中心), LogisticsNode(3, 广州旗舰门店, 线下门店), LogisticsNode(4, 上海门店, 线下门店), LogisticsNode(5, 北京门店, 线下门店), ] # 2. Prim使用邻接矩阵 单位千元0代表无直达线路 adj_matrix [ [0, 12, 28, 0, 0, 0], [12, 0, 8, 15, 0, 0], [28, 8, 0, 6, 18, 22], [0, 15, 6, 0, 25, 0], [0, 0, 18, 25, 0, 14], [0, 0, 22, 0, 14, 0] ] # 3. Kruskal使用原始边列表 raw_edges [ LogisticsEdge(0, 1, 12), LogisticsEdge(0, 2, 28), LogisticsEdge(1, 2, 8), LogisticsEdge(1, 3, 15), LogisticsEdge(2, 3, 6), LogisticsEdge(2, 4, 18), LogisticsEdge(2, 5, 22), LogisticsEdge(3, 4, 25), LogisticsEdge(4, 5, 14), ] # 4. 应用服务调用 print( Prim算法-稠密网点物流规划 ) prim_mst LogisticsRouteApplicationService.build_mst_by_prim(adj_matrix, node_list) prim_detail prim_mst.get_edge_detail() for start, end, cost in prim_detail: print(f{start} -- {end} 运输成本{cost}千元) print(f全网最低总成本{prim_mst.total_cost} 千元\n) print( Kruskal算法-稀疏跨城网点规划 ) krus_mst LogisticsRouteApplicationService.build_mst_by_kruskal(raw_edges, node_list) krus_detail krus_mst.get_edge_detail() for start, end, cost in krus_detail: print(f{start} -- {end} 运输成本{cost}千元) print(f全网最低总成本{krus_mst.total_cost} 千元)输出

相关新闻

3.2V锂电池,在太阳能产品及消费品的升压芯片应用案例,支持样品测试!

3.2V锂电池,在太阳能产品及消费品的升压芯片应用案例,支持样品测试!

在追求绿色能源与便携供电的今天,磷酸铁锂软包电芯凭借其高安全性、长循环寿命、宽温域适应性以及优异的轻薄形态,已成为户外太阳能产品及诸多消费电子设备的理想电源解决方案。本文将聚焦其在太阳能户外照明领域的核心应用,并深入探讨如何为…

2026/8/8 1:08:02 阅读更多 →
推荐 3 款 GitHub 开源项目 ,真牛!

推荐 3 款 GitHub 开源项目 ,真牛!

今天又在GitHub上翻到三个口碑不错的项目,方向完全不搭界但都挺有意思,一个让写代码变成打字游戏,一个把文字变成有声书,一个帮你盯着服务器别出事。一、GitTypeGitType这东西挺好玩,它是个命令行打字游戏,…

2026/8/8 1:08:02 阅读更多 →
AKShare:终极免费金融数据接口实战指南,三步解决量化交易数据难题

AKShare:终极免费金融数据接口实战指南,三步解决量化交易数据难题

AKShare:终极免费金融数据接口实战指南,三步解决量化交易数据难题 【免费下载链接】akshare AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库 项目地址: https://gitcode…

2026/8/8 1:07:01 阅读更多 →

最新新闻

SQL分组求最值完整记录:从MIN函数到窗口函数实战指南

SQL分组求最值完整记录:从MIN函数到窗口函数实战指南

大家好,最近在数据库设计和业务开发中,一个看似简单却极易引发性能瓶颈和逻辑混乱的问题引起了我的注意,那就是“年龄最小的表主”这类查询。这背后涉及到的不仅仅是简单的MIN函数使用,更关联到数据库索引、子查询优化、窗口函数以…

2026/8/8 2:01:25 阅读更多 →
TinyCC极速C编译器:10倍编译速度的轻量级开发神器

TinyCC极速C编译器:10倍编译速度的轻量级开发神器

TinyCC极速C编译器:10倍编译速度的轻量级开发神器 【免费下载链接】tinycc Unofficial mirror of mob development branch 项目地址: https://gitcode.com/gh_mirrors/ti/tinycc TinyCC(简称TCC)是一款革命性的ANSI C编译器&#xff0…

2026/8/8 2:01:25 阅读更多 →
Go语言构建10万并发用户系统实战指南

Go语言构建10万并发用户系统实战指南

1. 后端学习日记1.29:从零构建高并发用户系统 今天想记录一个特别有成就感的实战项目——用Go语言搭建能支撑10万并发用户的简易系统。这个需求源于上周参加的技术沙龙,有位CTO提到"真正的后端工程师价值体现在并发处理能力",这句话…

2026/8/8 2:01:25 阅读更多 →
Cesium淹没分析实战:从原理到实现的三维GIS空间计算

Cesium淹没分析实战:从原理到实现的三维GIS空间计算

1. 从“看”到“算”:为什么我们需要淹没分析在三维地理信息领域,CesiumJS 凭借其强大的三维地球渲染能力,早已成为开发者构建数字孪生、智慧城市、应急指挥等系统的首选框架。我们用它加载倾斜摄影模型、展示动态路径、模拟日照阴影&#xf…

2026/8/8 2:01:25 阅读更多 →
Java char[]转String:原理、性能与安全实践全解析

Java char[]转String:原理、性能与安全实践全解析

1. 项目概述:从char[]到String,一个看似简单却暗藏玄机的操作在Java开发的日常里,char[]数组转String这个操作,就像吃饭喝水一样常见。无论是处理用户输入的密码、解析文本文件,还是进行字符串的构建与拼接&#xff0c…

2026/8/8 2:01:25 阅读更多 →
同步、异步与回调:三种调用机制的核心原理与实战应用

同步、异步与回调:三种调用机制的核心原理与实战应用

1. 从“等结果”到“通知我”:三种调用机制的实战拆解在软件开发,尤其是后端服务和前端交互的日常里,我们几乎每天都在和“调用”打交道。一个请求发出去,程序接下来该怎么走?是傻傻地等着对方回复,还是发完…

2026/8/8 2:00:24 阅读更多 →

日新闻

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

AI多智能体时代来临,读懂MCP与A2A架构,抢占企业数字化新风口

当下AI应用飞速普及,无数企业下场搭建智能体系统,可落地阶段难题接踵而至:上下文无限堆积频繁爆栈、AI工具调用准确率低下、Token成本居高不下、企业数据权限混乱暗藏安全隐患……很多团队卡在架构搭建环节,空有前沿技术概念&…

2026/8/8 0:00:07 阅读更多 →
PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码

PHP二维码生成终极指南:用chillerlan/php-qrcode打造专业级二维码 【免费下载链接】php-qrcode A PHP QR Code generator and reader with a user-friendly API. 项目地址: https://gitcode.com/gh_mirrors/ph/php-qrcode 在当今数字时代,二维码已…

2026/8/8 0:00:08 阅读更多 →
UniApp微信小程序隐私保护组件开发:从原理到实战

UniApp微信小程序隐私保护组件开发:从原理到实战

1. 项目缘起:为什么我们需要一个隐私保护通用组件?最近在维护一个基于uniapp开发的微信小程序矩阵时,我遇到了一个非常棘手的问题。随着平台对用户隐私保护的要求越来越严格,几乎每一个新版本发布,或者在某些特定机型&…

2026/8/8 0:00:08 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/6 22:02:27 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/6 22:02:27 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/7 23:24:08 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/7 17:02:37 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/7 23:54:54 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/7 17:02:36 阅读更多 →