FISCO BCOS+Spring Boot+Vue区块链电商存证实战
简介这是一份面向 Java 全栈初学者的 FISCO BCOS 区块链电商项目入门文档将 Spring Boot 与 Vue 前后端分离架构和联盟链应用结合起来适合想了解区块链环境搭建、智能合约部署及链上业务集成的开发者。资源为 1 个 PDF 文件大小仅 3.5MB内容按“环境搭建—后端配置—前端联调”组织清晰展示单群组 4 节点联盟链、WeBASE-Front 部署、后端配置修改及前端跨域请求与 Tomcat 端口对齐等操作要点同时给出前后端源码获取方式和作者联系方式遇到代码问题可进一步沟通。全文聚焦实际落地步骤并兼顾常见排错提醒已有 3144 人学习可作为快速跑通区块链电商项目、降低入门门槛的实用参考。1. fiscobcosspringbootvue电商项目在解决什么先说清这不是去中心化商城看到“区块链电商项目”这个标题很多新人第一反应是做一个“去中心化淘宝”。真把 FISCO BCOSfiscobcos和 Spring Boot、Vue 拼起来跑一遍你会发现这个项目真正的价值不是去中心化交易而是“关键业务数据链上存证 全链路可验证”。订单照常在 MySQL 里存普通页面照常用 Vue 渲染只是订单摘要、积分流水这类敏感数据会同步写进联盟链节点任何人都篡改不了。对初学者来说它最难得的是一套完整闭环区块链环境部署、节点启动、合约上链、后端集成、前端展示全部在一个项目里串起来。适合两类人一是毕设或简历项目想落到区块链方向的开发者二是想搞懂联盟链和传统 Web 系统到底怎么合作的转型工程师。2. 区块链环境部署把 FISCO BCOS 节点和控制台跑起来的完整步骤标题里特意写了“包含区块链环境部署”说明作者知道这部分最容易劝退新人。FISCO BCOS 的环境部署不是装个软件就行它涉及节点二进制、脚本、证书、端口、控制台工具五样东西。先把这个流程走通后面 Spring Boot 集成才不会两眼一抹黑。2.1 版本选型入门项目为什么建议跟稳定版走FISCO BCOS 目前常见的有 2.x 和 3.x 两套体系两者差别不只是版本号。节点的二进制包、控制台命令、Java SDK 的依赖坐标、Solidity 编译器的版本要求都不一样。比如 2.x 的合约还停留在 Solidity 0.4/0.5 时代3.x 已经支持更高的编译器版本控制台从 2.x 的 applicationContext.xml 配置变成了 3.x 的 config.toml。如果你对着一个 2.x 的教程却装了 3.x 的节点基本是第一步就走不下去。我的建议是如果你手头有完整教程就先用教程锁定的版本如果自己从头探选 3.x 的稳定版。理由很简单3.x 的 Java SDK 设计更贴近主流 Web3 风格网上可参考的项目代码也更多。这里有个血泪经验不要一上来就追最新大版本。大版本刚发布时配套教程、SDK 示例、踩坑帖子都还没跟上你遇到问题连排查方向都没有。项目能跑起来比“用了最新版”重要得多。2.2 搭建单机联盟链节点build_chain.sh 从下载到日志确认FISCO BCOS 官方提供了一套构建脚本叫 build_chain.sh它会自动帮你生成节点目录、配置文件和证书。这是搭建开发环境最常用的方式比手动初始化节点省掉大量重复操作。整个流程可以拆成四步下载脚本、执行构建、启动节点、确认共识状态。# 进入工作目录建议用一个专门目录避免把节点文件散落各处 mkdir -p ~/fisco cd ~/fisco # 从开源仓库的 release 页面下载对应版本的 build_chain.sh然后加执行权限 curl -#LO build_chain.sh 的下载地址 chmod x build_chain.sh # 生成单机 1 节点开发链 # -l 指定 IP 和节点数127.0.0.1:1 表示本机 1 个节点 # -p 指定三个端口依次是 p2p 端口、channel 端口、json-rpc 端口用逗号分隔 bash build_chain.sh -l 127.0.0.1:1 -p 30300,20200,8545执行完脚本后工作目录下会多出一个 nodes 文件夹里面有 127.0.0.1 目录下面放着 node0 节点。启动命令是这个# 启动该机器上的全部节点 bash nodes/127.0.0.1/start_all.sh启动以后怎么判断节点真的起来了很多人只看进程在就当成功其实要走 consensus 才代表链在正常出块。用 tail 命令盯节点日志# 查看节点日志grep 出共识相关的输出 tail -f nodes/127.0.0.1/node0/log/log_*.log | grep 日志里出现 view1这样的信息说明节点已经进入正常共识状态。如果等了好几分钟什么都刷不出来大概率是端口被占用或者下载的二进制和系统不兼容。这一句“节点到底跑没跑起来以共识日志为准”是后面排查所有问题的第一判断依据。2.3 部署控制台并完成首个合约上链节点本身只是个链的运行载体真正要“操作链”还需要控制台。控制台是一个交互式命令行工具可以部署合约、调用合约、查询区块高度。下载控制台后需要配置它连接节点信息。3.x 版本改成了 config.toml里面要填节点 IP、channel 端口、群组 ID。# 解压后进入控制台目录启动控制台 ./start.sh启动成功后你会看到一个交互提示符。接下来做两件事一是查看链是否正常二是部署一个最简单的合约验证写入能力。# 查看区块高度能返回数字说明节点连接成功 getBlockNumber # 部署一个最简单合约返回合约地址就代表部署成功 deploy HelloWorld.sol这里的关键认知是控制台和后面的 Spring Boot Java SDK 用的是同一个 channel 端口默认 20200而不是 json-rpc 端口。不少教程里部署链时会提示“RPC 端口 8545”那个端口是给浏览器或外部工具用的。如果你的程序要写链上交易走的都是 channel 端口。记下这个区别后面避坑章节还会再提。3. Spring Boot 接入区块链后端的合约调用与存证服务设计环境部署完真正的工作才开始。一个电商项目不可能让所有业务都跑在链上那不现实。常见做法是MySQL 继续存订单明细区块链只负责存“订单摘要哈希”和“可验证记录”。Spring Boot 在这里的作用是充当业务系统和区块链之间的桥梁既要管好证书配置、SDK 初始化也要把合约调用封装成干净的 Service 接口让上层 Controller 根本感知不到链的存在。3.1 引入 Java SDK 并配置节点连接FISCO BCOS 的 3.x Java SDK 在设计上顺眼很多依赖坐标只需要在 pom.xml 里加一个包。但要注意SDK 的版本必须和节点版本匹配否则会出现握手失败或者交易序列化不兼容的怪问题。这一点没有其他技巧就是版本对齐。dependency groupIdorg.fisco-bcos.java.sdk/groupId artifactIdfisco-bcos-java-sdk/artifactId !-- 版本号保持和节点大版本一致比如节点是 v3.xSDK 就选对应 v3.x 版本 -- version${fisco-bcos-java-sdk.version}/version /dependency依赖引入后还需要把节点生成的证书放到后端项目的 resources 目录里。这些证书在搭建节点时就已经生成好了具体是 nodes/127.0.0.1/sdk 目录下的 ca.crt、sdk.crt、sdk.key 三个文件。放错一个启动时就是各种玄学报错。然后写一个配置类让 Spring 容器帮你初始化 SDK 和 Client。Configuration public class BcosConfig { Bean public BcosSDK bcosSDK() throws Exception { // 这里会读取 resources 下的 config.toml里面配置了节点 IP、channel 端口、证书位置 return new BcosSDK(config/bcos-config.toml); } Bean public Client bcosClient(BcosSDK bcosSDK) { // getClient 里的参数是群组 ID开发环境下通常就是 1 return bcosSDK.getClient(1); } Bean public CryptoKeyPair bcosKeyPair(Client client) { // 开发环境可以直接随机生成一个私钥对生产环境应该从配置文件读取固定私钥 return client.getCryptoSuite().generateKeyPair(); } }这段代码里的两个 Bean 要理解透Client 是对链的连接通道所有交易和查询都靠它CryptoKeyPair 是身份凭证链上合约方法里带 public 修饰的操作都需要这个私钥签名。随机生成私钥的问题是链重启后地址变了如果之前部署的合约权限绑定了某个发送者地址换私钥就会调用失败所以生产环境一定要把私钥持久化。3.2 设计电商订单存证合约并编译部署搞清楚了连接层接下来写真正的业务合约。电商项目里存证合约不复杂核心就两个能力写入订单哈希、读取订单哈希。这里的关键点在于链上不要存 JSON 全量快照一方面 gas 成本和存储成本高另一方面隐私也不好。聪明做法是把订单核心信息拼成一个固定格式字符串再做 SHA-256 哈希链上只存这个哈希值。pragma solidity ^0.6.10; contract OrderStore { // 订单 ID 到订单摘要哈希的映射mapping 是 Solidity 里最常用的键值存储结构 mapping(uint256 string) private orderHashes; // 写入事件方便 Java SDK 订阅也可以用来做链上日志追踪 event OrderStored(uint256 indexed orderId, string orderHash, uint256 timestamp); // 存证只有合约拥有者或授权地址能调用开发环境放开发者地址即可 function storeOrder(uint256 orderId, string memory orderHash) public { orderHashes[orderId] orderHash; emit OrderStored(orderId, orderHash, block.timestamp); } // 查询public view 表示不产生交易只是读取链上状态 function getOrderHash(uint256 orderId) public view returns (string memory) { return orderHashes[orderId]; } }编译部署时要注意 Solidity 版本和节点版本的匹配。拿 3.x 节点来说用 0.6.10 是比较稳的选择别直接用最新 0.8.x 编译器某些语法和节点内置编译器版本不对应会直接部署失败。部署方式有两种一种是在控制台里手动部署记录返回的合约地址然后写死在 Spring Boot 配置里另一种是用 SDK 生成 Java 包装类在项目里自动部署。入门阶段推荐第一种因为合约地址可控、出问题容易排查。等跑通了再去研究第二种的自动化方案。3.3 核心 Service订单上链与链上校验合约和 SDK 都就绪后后面写业务代码就很简单了。我把合约调用封装在一个独立 Service 里这样 OrderController 只需要调用orderChainService.storeOrderHash(orderId, hash)完全不用关心区块链相关细节。Service public class OrderChainService { Autowired private Client client; Autowired private CryptoKeyPair keyPair; Value(${fisco.order-contract-address}) private String contractAddress; /** * 订单摘要上链 */ public String storeOrderHash(Long orderId, String orderHash) { // load 是 Java SDK 加载已部署合约的入口三个参数分别是合约地址、Client、私钥对 OrderStore contract OrderStore.load(contractAddress, client, keyPair); // 调用合约的 storeOrder 方法发送一笔交易到链上 TransactionReceipt receipt contract.storeOrder(orderId, orderHash); // 回执状态是判断交易是否成功的核心依据 if (!receipt.isStatusOK()) { // 扣出具体错误状态码方便排查合约异常 throw new RuntimeException(订单上链失败, status: receipt.getStatus()); } // 返回交易哈希前端可以让用户看到存证凭据 return receipt.getTransactionHash(); } /** * 从链上读取订单哈希用于校验本地数据是否被篡改 */ public String getOrderHashFromChain(Long orderId) { OrderStore contract OrderStore.load(contractAddress, client, keyPair); // view 方法调用不产生交易很快 return contract.getOrderHash(orderId); } }这段代码有两个参数值得细看第一个是contractAddress从控制台部署时拿到配置到 application.yml 里第二个是TransactionReceipt它不只是“交易收据”还能告诉你交易在哪个块、状态码是什么、有没有触发日志。排查问题时第一眼就看它。写到这里一个完整的“业务数据上链”链路就通了Service 层接收订单 ID 和摘要哈希 → Java SDK 打包交易 → 节点共识 → 写入链上 mapping → 返回交易哈希。后面所有页面的“存证状态”展示都是基于这个 Service 的能力。4. Vue 前后端分离如何对接链上能力前后端分离是这个项目体验上最接近真实工程的地方。Vue 负责页面和交互Spring Boot 负责业务 API区块链在整套架构里对前端是“透明”的。怎么理解透明前端只需要知道“我提交订单后返回了一个 txHash我能在页面上展示它”至于 txHash 怎么来的Vue 不需要知道也不应该知道。4.1 为什么不让 Vue 直接连 FISCO BCOS 节点有过 Web3 开发经验的读者可能会问区块链不是有 json-rpc 接口吗我能不能让浏览器直接调节点技术上可以但要付出三个代价。第一节点地址和证书直接暴露在前端代码里相当于把链的管理权限交给了浏览器别人可以从前端拿到地址去扫你的节点。第二交易签名依赖私钥私钥放在前端那安全边界就彻底失守了这在电商这种有真实资金流场景的项目里绝对不能接受。第三浏览器直接连节点会增加联盟链的准入管理难度。所以哪怕 FISCO BCOS 提供了类似浏览器 SDK 的组件电商项目的正确姿态仍然是后端统一管链、前端只管展示。这个边界想通了整个项目结构就清晰了前端页面很干净没有任何区块链依赖只是多了几个字段如“链上存证哈希”“上链时间”。所有区块链相关逻辑都被隔离在 Spring Boot 的 Service 和配置层里。4.2 设计面向前端的存证 API后端要给前端暴露什么样的 API不要设计成“传合约地址”这种 Web3 味道很重的接口。前端看到的一定是业务语义比如创建订单、查看订单。订单创建后如果上链成功就把 txHash 和链上状态一起返回如果上链失败订单主流程也要能正常完成不能因为链的问题导致用户无法下单。下面这段 Controller 代码展示了这个设计思路RestController RequestMapping(/api/order) public class OrderController { Autowired private OrderService orderService; Autowired private OrderChainService orderChainService; PostMapping public Result createOrder(RequestBody OrderDTO dto) { // 第一步先落 MySQL保证业务主流程不受链的可用性影响 Order order orderService.create(dto); // 计算订单摘要哈希注意字段顺序要固定否则同一订单会算出不同哈希 String raw order.getId() | order.getTotalAmount() | order.getStatus(); String orderHash DigestUtils.sha256Hex(raw); try { // 第二步把哈希存到链上失败则记录状态不抛异常阻断业务 String txHash orderChainService.storeOrderHash(order.getId(), orderHash); orderService.markChainStored(order.getId(), txHash, orderHash); } catch (Exception e) { log.warn(订单上链失败, orderId: {}, order.getId(), e); } return Result.ok(order); } }这里有个很值得新手学习的设计业务的“可用性”和链的“一致性”被刻意解耦了。链挂了订单照常生成只是没有存证哈希后续可以靠定时任务补齐。这种思路比“链失败就整个下单失败”更贴近生产环境。你也可以反过来问那要不要链失败就让订单失败答案通常是不需要因为联盟链的核心价值是审计和溯源不是电商主流程的强依赖。4.3 前端页面里的存证展示与交互Vue 侧的改造量很小。订单列表页多出一列“链上存证”订单详情页加一个“链上验证”按钮。这块的具体交互设计是这样的页面加载时调用后端 API 拿到订单信息其中包含 txHash 和存证状态点击“链上验证”时向后端请求链上真实哈希与本地哈希的比对结果。// api/order.js import request from /utils/request // 创建订单响应里会带 txHash export function createOrder(data) { return request({ url: /api/order, method: post, data }) } // 查询订单的链上存证信息 export function getOrderChainInfo(orderId) { return request({ url: /api/order/${orderId}/chain, method: get }) }页面这边就不贴完整代码了核心动作就是从响应里把 txHash 渲染成一个可复制的哈希串存证成功显示绿色标签未存证显示灰色标签。这个设计虽然简单但给评审或面试时讲项目留了一个很好的切入点你的项目不是“做了个区块链”而是“业务系统里落了一个可验证的数据可信链路”。5. 区块链电商项目避坑指南环境、合约、SDK 的典型问题排查这一章是全文最值的部分。第一次配 FISCO BCOS 环境时我几乎把所有常见坑都踩了一遍很多问题在网上搜只能搜到零散帖子只能自己对着日志硬啃。我把最具代表性的五类问题按“现象 → 原因 → 解决”的结构写清楚你照着排查能少走很多弯路。5.1 节点进程在跑但控制台连不上节点现象start_all.sh 执行完进程列表里也能看到节点进程但控制台启动后执行 getBlockNumber 一直报连接失败。很多人会在这卡一整天。原因大概率不是节点没起来而是连错了端口。控制台和 Java SDK 连的是 channel 端口默认 20200不是 json-rpc 端口默认 8545。还有一些情况是节点只绑定了内网 IP或者防火墙没放行。解决第一步在节点机器上执行bash nodes/127.0.0.1/stop_all.sh再重新 start确认日志有 view输出第二步检查控制台 config.toml 里的节点 IP 和 channelPort第三步在另一台机器上 telnet 一下 20200 端口通不通一眼便知。5.2 合约部署失败编译版本冲突现象用 solc 最新版编译合约通过了但到控制台里 deploy 直接报错或者部署成功但调用方法时返回状态码异常。原因FISCO BCOS 控制台内置的编译器版本和你的本地 solc 版本不一致最常见的是本地用了 0.8.x而链上节点只兼容 0.6.x 或更早。这个是一个典型的“本地能编、链上不认”的坑。解决切到项目要求的 Solidity 版本最稳的办法是直接用控制台自带的编译能力它内部已经匹配好节点版本避免你本地装多个 solc 来回切。5.3 Java SDK 启动报证书相关错误现象Spring Boot 项目启动时BcosSDK 初始化抛异常日志里一堆 SSL 握手失败。原因很多新手把节点目录下的 ca.crt 随手拷进项目但 FISCO BCOS 的 Java SDK 需要的是nodes/127.0.0.1/sdk目录下那套证书而不是节点自身的证书。还有一种是 config.toml 里证书路径写错路径写成了 classpath 没有前缀。解决检查 resources 目录下是否放了 sdk 文件夹里面三个文件分别是 ca.crt、sdk.crt、sdk.key再确认 config.toml 里的 certPath 指向正确目录。这类问题如果你不熟悉证书体系有时真是“玄学”但只要打印出 SDK 实际读取路径就能定位。5.4 合约地址写在代码里链重启后找不到合约现象开发环境里每次启动 Spring Boot 都重新部署合约然后顺手把合约地址复制粘贴到常量类里跑了几天后突然调用合约失败提示 contract does not exist。原因最常见的做法是 “控制台部署 → 复制地址 → 写死到代码”但如果你重新部署过合约新地址会变旧的合约地址在新链上根本不存在。尤其链级别和链数据被重置时所有地址全部失效。解决把合约地址放到配置中心或数据库部署合约后自动更新或者用一个固定 key 在数据库里存合约地址Service 每次启动时读一次而不是写死。5.5 交易回执状态码异常但节点没报错现象调用合约方法返回的 TransactionReceipt 状态码不是 OK但节点控制台日志里也没有明显报错。原因常见于合约方法里抛出异常被回滚或者传参类型不匹配。比如 Solidity 的 uint256 对应 Java 的 BigInteger如果你传了 Long 超过 2^53 就会出问题还有 mapping 的 key 类型不一致导致的查询回退。解决把回执里的输出字段和日志字段都打出来然后去节点日志里搜索交易哈希节点会记录详细的 EVM 执行失败原因。这里记住一个习惯不要只看“成功/失败”两个状态要把回执里的所有字段打印出来跑一次这是定位链上问题最快的方式。6. 给项目加一层“可验证”能力链上链下对账与事件订阅项目跑通之后如果简历或答辩时只停留在“能上链、能查询”其实还不够。真正体现工程思考的是给系统加一层自动化的“可验证”能力。这块做好这个项目的含金量立刻和普通的 CRUD 项目拉开差距。第一个值得做的是“链上链下对账”。电商系统运行一段时间后由于网络抖动、节点维护、代码异常某些订单可能只写进了 MySQL但哈希没有真正落链或落链了但本地状态没更新。我习惯写一个定时任务每天凌晨扫描当天订单重新计算订单摘要哈希然后调用合约读链上哈希两者比对不一致的订单自动告警。这个任务不用跑得频繁一天一次足够因为存证的核心诉求是“事后可验证”而不是“实时强一致”。对账逻辑不复杂但价值非常大它让区块链从“展示品”变成了“审计工具”这也是区块链在电商场景里真正能落地的地方。第二个值得做的是事件订阅。我在设计 OrderStore 合约时特意加了一个event OrderStored这个事件可以实现非常漂亮的效果不用每笔订单都主动去查链上是否成功而是让 Java SDK 订阅合约事件一旦链上成功写入SDK 会异步收到回调然后在回调里把订单的存证状态置为“已存证”。核心代码可以这样写Component public class OrderStoredEventListener { EventListener(ApplicationReadyEvent.class) public void subscribe() throws Exception { // 订阅 OrderStored 事件第三个参数是回调 client.subscribeEvent( contractAddress, OrderStored, (status, logs) - { logs.forEach(log - { // 解析事件参数订单ID 和 订单哈希 Long orderId (Long) log.getParams().get(0); String orderHash (String) log.getParams().get(1); // 更新本地订单状态打上存证标记 orderService.markChainStored(orderId, log.getTransactionHash(), orderHash); }); }); } }事件订阅这个功能很多人会忽略但它恰恰是联盟链应用里最实用的特性它让链上行为可以反向驱动业务系统而不是只靠业务系统主动发交易。这样你的项目就形成了一个完整的闭环下单 → 摘要算哈希 → 写入链 → 链上出块 → 事件通知后端 → 更新存证状态 → 前端可见。回到最初的那个疑问fiscobcos springboot vue 这个组合到底值不值得做我的答案是值得。它不追求“用区块链重构电商”而是把联盟链当成一种可信基础设施嵌入到现有业务链路里。这种思考方式比单纯会写一个 Solidity 合约要值钱得多。我自己在带新人的时候也一直保持一个习惯凡是涉及链上操作代码里必须能落到“交易哈希 → 区块高度 → 事件日志”这条链上证据链否则我不会认为某个功能真的做完了。希望这套从环境部署到前后端联调、再到对账和订阅的完整流程能帮你在这个项目上少踩几个坑。本文还有配套的精品资源点击获取

相关新闻

macOS微信双开完整指南:复制应用包与多用户方案详解

macOS微信双开完整指南:复制应用包与多用户方案详解

1. 为什么会有“双开”这个需求1.1 一个账号不够用,是真实存在的痛点在macOS上使用微信的人,迟早会遇到一个尴尬的局面:工作一个号、生活一个号,或者主号之外还有一个专门用来对接客户、管理社群的小号。手机端早就可以通过系统自…

2026/10/11 12:47:50 阅读更多 →
产能算不准?MES+APS动态产能模型与闲置产能挖掘实战

产能算不准?MES+APS动态产能模型与闲置产能挖掘实战

1. 产能“算不准”的问题根源与破局思路制造业的朋友基本都遇到过这种场景:设备明明满负荷生产,订单交期还是不断后延;或者某台关键设备长期“看起来很忙”,但月底统计实际产出时,却发现和理论产能差了近四成。产能到底…

2026/10/11 10:58:22 阅读更多 →
华为交换机基础配置培训课件:从Console登录到VLAN、Trunk、静态路由与SNMP实操指南

华为交换机基础配置培训课件:从Console登录到VLAN、Trunk、静态路由与SNMP实操指南

简介:这份华为交换机基础配置培训课件面向网络管理员与网络技术初学者,聚焦华为交换机从登录到配置保存的完整基础操作链路,帮助读者快速建立设备管理与维护的入门能力。资源包共1个文件,为PPT格式,压缩包约863KB&…

2026/10/11 10:58:24 阅读更多 →

最新新闻

向量数据库与图数据库协同检索:突破多跳关联推理瓶颈

向量数据库与图数据库协同检索:突破多跳关联推理瓶颈

做知识类应用的开发者,大概都经历过这样的场景:一开始把文档切片、做embedding、灌进向量数据库,接上大模型做检索增强生成,demo跑起来挺顺,问什么答什么。可一旦问题从"某功能怎么用"变成"A出问题会不…

2026/10/11 13:58:14 阅读更多 →
NodePy节点式自动化:从脚本到可视化数据流的办公提效实践

NodePy节点式自动化:从脚本到可视化数据流的办公提效实践

1. 为什么我放弃了"万能脚本",转向NodePy这类节点方案先说说我自己的情况。过去几年里,我的日常工作中有一大半是和数据打交道——不是那种需要建模型的高深数据,而是最朴素的:把几个Excel表合并、按某种规则给文件重新…

2026/10/11 13:58:14 阅读更多 →
视频分析算法60讲实战拆解:从数学公式到MATLAB源码落地

视频分析算法60讲实战拆解:从数学公式到MATLAB源码落地

简介:《视频分析算法60讲》配套PDF教程与MATLAB实现源码,面向图像与视频处理学习者、计算机视觉研究者及算法工程师,可用于系统掌握视频分析各环节核心算法。内容从去噪、增强、帧间插值等预处理展开,深入讲解光流法、卡尔曼滤波器…

2026/10/11 13:58:14 阅读更多 →
校园互助平台Java毕设:全栈开发与部署避坑指南

校园互助平台Java毕设:全栈开发与部署避坑指南

1. 选题与整体方案设计:这个题目为什么值得做 每年到毕设季,Java方向的同学问得最多的就是“做什么题能保证过且工作量合适”。校园互助平台这个题目,我的评价是:看着不起眼,实际是个标准的“小闭环、深纵向”题目&…

2026/10/11 13:58:14 阅读更多 →
棉花病害目标检测实战:YOLO格式数据训练与避坑指南

棉花病害目标检测实战:YOLO格式数据训练与避坑指南

简介:这份数据集聚焦棉花主要病害图像的目标检测任务,已标注约4,600张现场图像,采用YOLO标注格式,类别涵盖枯萎病、卷曲、灰霉、健康、叶斑病等6类,可直接用于YOLOv5等模型训练与农业病害识别研究。包体共2000个文件&a…

2026/10/11 13:58:14 阅读更多 →
广工操作系统实验:Linux内核模块实操指南

广工操作系统实验:Linux内核模块实操指南

简介:本资源是广东工业大学操作系统课程配套的完整实验实践包,面向计算机专业本科生及操作系统初学者,聚焦进程调度、作业调度、主存管理与文件系统四大核心模块,助力理解内核级机制并提升系统编程能力。压缩包共12个文件&#xf…

2026/10/11 13:57:13 阅读更多 →

日新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/11 0:00:27 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/11 0:00:27 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/11 10:45:37 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/9 21:32:20 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/10 10:38:42 阅读更多 →