当前位置: 首页 > article >正文

基于SpringBoot + Vue的眼科患者随访管理系统(角色:患者、医生、管理员)

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言博主介绍大家好我是码趣猪仔一名拥有4年码龄的全栈程序员Java/Python/Node 三系驾照SpringCloud Vue3 小程序 DevOps一条龙能自己跑通也是一位计算机老学长本科专业计算机科学与技术。从 0 到 1 写过 200 商业项目代码量 100w 行大二靠卖校园小程序赚到第一桶金 20w大四毕业 3 个月拉起 10 人远程团队年流水 7 位数。正在创办「星码绘梦」商标已进实审——目标是把技术做成浪漫且值钱的事。十佳歌手季军、街拍摄影师、半程马拉松完赛技术只是我的硬实力生活才是我的野心。我的目标是让技术学习变得更高效、更有趣。欢迎关注一起在计算机科学的海洋中乘风破浪⛵️共创辉煌。精选专栏推荐订阅计算机毕业设计最强指南✅计算机毕业设计答辩秘籍✅计算机最全毕设项目推荐✅✨文末附上源码✨欢迎各位同学在评论区或通过私信提出关于毕业设计的问题我将尽我所能为大家提供有价值的建议和指导帮助每位学生在毕业设计的道路上少走弯路更高效地完成毕设一、详细操作演示视频承诺所发文章的项目皆有视频和源码若发现任何不实之处我将无条件为您提供完全免费的技术支持涵盖软件开发等各项服务❗️❗️❗️二、具体实现截图三、技术栈请留意技术选型应依据实际项目需求而定以下内容仅供参考1.前端-Vue.jsVue.js 是由尤雨溪在 2014 年推出的轻量级前端 JavaScript 框架以其易学易用和高效的数据绑定机制而广受欢迎。它专注于视图层易于与其他库或现有项目集成特别适合中小型项目。Vue.js 的响应式数据绑定是其核心特性之一它允许开发者通过声明式的数据绑定自动更新 DOM从而简化了前端开发流程使开发者能够更专注于业务逻辑。此外Vue.js 提供了强大的组件系统支持单文件组件使得开发者能够以模块化方式构建复杂的用户界面提高了代码的可复用性和可维护性。Vue.js 的生态系统包括 Vuex 状态管理和 Vue Router 路由管理等工具这些工具极大地方便了单页应用SPA的开发。Vue 3 的推出引入了 Composition API、改进的响应式系统和性能优化进一步提升了开发体验和应用性能。2.后端-SpringBootSpring Boot 是 Spring 框架的扩展旨在简化 Spring 应用的创建和开发。它通过提供“Starters”来简化依赖管理和配置使得开发者能够快速启动和运行应用。Spring Boot 遵循“约定优于配置”的原则自动配置了许多常见的设置如内嵌的 Tomcat 服务器从而减少了手动配置的需要。Spring Boot 的自动配置功能能够根据项目依赖自动调整应用配置如数据库连接和实体管理极大地提高了开发效率。此外它还包含了 Actuator 模块用于监控和管理应用提供应用健康状态、度量信息和环境信息等这对于生产环境中的监控和问题诊断至关重要。Spring Boot 也支持微服务架构与 Spring Cloud 集成使得构建分布式系统变得简单。Spring Cloud 提供了服务发现、配置管理、断路器等微服务组件帮助开发者构建和管理复杂的微服务系统。3.数据库-MySQLMySQL 是一种广泛使用的开源关系型数据库管理系统RDBMS基于 SQLStructured Query Language进行数据管理。它最初由瑞典的 MySQL AB 开发后来被 Sun Microsystems 收购最终成为 Oracle 公司的产品。MySQL 是最流行的数据库技术之一特别适用于 Web 应用开发因其高性能、可靠性和易用性而受到青睐。MySQL 的核心特性包括支持多种操作系统平台、提供强大的数据安全和备份功能、以及拥有一个活跃的社区支持。它支持广泛的应用程序从小型应用到大型企业级应用都能够提供有效的数据存储解决方案。作为一个关系型数据库MySQL 使用表格来组织数据并通过索引来优化查询性能。它支持多种数据类型包括数值、日期和时间、字符串等能够满足不同应用场景的需求。MySQL 还提供了事务处理、子查询、触发器和存储过程等高级数据库功能这些功能使得开发者能够构建复杂的数据库逻辑。4.系统架构-B/SB/SBrowser/Server架构是现代网络应用开发中的主流模型它将用户界面集中在浏览器端而服务器端则负责处理业务逻辑和数据存储。这种架构的优势在于其跨平台性和易维护性用户无需在本地安装软件只需通过浏览器即可访问应用无论其操作系统如何。在 B/S 架构中前端技术如 HTML、CSS 和 JavaScript 用于构建用户界面而后端则处理数据和业务逻辑。前后端通过 HTTP 或 HTTPS 协议通信通常使用 JSON 或 XML 格式交换数据。这种分离的模式促进了前后端独立开发提高了开发效率和应用性能。随着技术进步B/S 架构不断演进单页应用SPA的流行使得用户体验更加流畅。同时前后端分离的开发模式允许团队独立工作加速了开发流程。为了优化性能B/S 架构广泛应用了缓存、负载均衡和 CDN 等技术而容器化和微服务架构的兴起如 Docker 和 Kubernetes进一步推动了应用的高效部署和管理。四、系统测试1.系统测试概述系统测试通常按照功能模块来组织包括用户界面测试、管理员界面测试以及用户功能测试等关键环节。这些测试针对不同的用户群体或角色目的是验证系统内各个功能模块的运行情况并确保它们能够满足用户的期望和需求。用户界面测试包括新用户注册、登录、参与考试、观看视频、发表评论、浏览错题集等操作。管理员界面测试则关注于系统管理功能如视频内容管理、用户账户管理、发布公告等任务。通过细致地测试不同的功能模块可以从多个角度评估系统的表现这包括功能性、特性、稳定性以及用户交互体验等方面。识别并解决潜在的问题有助于确保系统的质量和可靠性。2.系统功能测试1用户端功能测试表4-1 用户测试表编号测试功能测试用例预测结果测试结果是否通过1注册输入用户名1的用户信息注册成功注册成功是2登录输入用户名1的账号密码登录成功登录成功是3在线考试点击开始考试添加答案提交成功提交成功提交是4视频信息点击视频标题1开始播放成功播放成功播放是5论坛点击论坛标题1并且评论评论成功评论成功是6错题本点击我的错题本查看成功查看成功是2管理端功能测试表4-2管理员测试表编号测试功能测试用例预测结果测试结果是否通过1登录输入管理员账号密码登录成功登录成功是2查询用户搜索用户名1成功搜索成功搜索是3新增公告点击新增论坛填写标题和内容并提交添加成功添加成功是4修改视频1的备课详情点击视频1的信息页面修改内容点击提交修改成功修改成功是5删除试题点开试题管理和点击试题1的删除按钮并确定删除成功删除成功是3.系统测试结论本系统主要采用黑盒测试方法通过模拟用户操作来构建测试用例并对系统的各项功能进行验证。这种测试方法旨在确保系统流程的准确性和完整性。系统测试是提升系统质量的关键环节它有助于提高系统的可用性和用户满意度。进行系统测试的目的是为了检验系统的功能模块是否达到了设计初衷以及这些模块的逻辑是否准确无误。本系统追求简洁易用避免复杂的逻辑处理以便用户能够轻松操作。测试的焦点始终是用户体验确保所有测试场景都紧密贴合用户的实际需求不偏离既定目标。在遇到问题时测试团队需从用户的角度出发深入思考解决方案。通过这一系列的测试流程我们能够获得最终的测试结果这些结果将展示系统在功能和性能上是否达到了预期的设计标准。五、项目代码参考IgnoreAuthPostMapping(value/login)publicRlogin(Stringusername,Stringpassword,Stringcaptcha,HttpServletRequestrequest){UsersEntityuseruserService.selectOne(newEntityWrapperUsersEntity().eq(username,username));if(usernull||!user.getPassword().equals(password)){returnR.error(账号或密码不正确);}StringtokentokenService.generateToken(user.getId(),username,users,user.getRole());returnR.ok().put(token,token);}OverridepublicStringgenerateToken(Longuserid,Stringusername,StringtableName,Stringrole){TokenEntitytokenEntitythis.selectOne(newEntityWrapperTokenEntity().eq(userid,userid).eq(role,role));StringtokenCommonUtil.getRandomString(32);CalendarcalCalendar.getInstance();cal.setTime(newDate());cal.add(Calendar.HOUR_OF_DAY,1);if(tokenEntity!null){tokenEntity.setToken(token);tokenEntity.setExpiratedtime(cal.getTime());this.updateById(tokenEntity);}else{this.insert(newTokenEntity(userid,username,tableName,role,token,cal.getTime()));}returntoken;}/** * 权限(Token)验证 */ComponentpublicclassAuthorizationInterceptorimplementsHandlerInterceptor{publicstaticfinalStringLOGIN_TOKEN_KEYToken;AutowiredprivateTokenServicetokenService;OverridepublicbooleanpreHandle(HttpServletRequestrequest,HttpServletResponseresponse,Objecthandler)throwsException{//支持跨域请求response.setHeader(Access-Control-Allow-Methods,POST, GET, OPTIONS, DELETE);response.setHeader(Access-Control-Max-Age,3600);response.setHeader(Access-Control-Allow-Credentials,true);response.setHeader(Access-Control-Allow-Headers,x-requested-with,request-source,Token, Origin,imgType, Content-Type, cache-control,postman-token,Cookie, Accept,authorization);response.setHeader(Access-Control-Allow-Origin,request.getHeader(Origin));// 跨域时会首先发送一个OPTIONS请求这里我们给OPTIONS请求直接返回正常状态if(request.getMethod().equals(RequestMethod.OPTIONS.name())){response.setStatus(HttpStatus.OK.value());returnfalse;}IgnoreAuthannotation;if(handlerinstanceofHandlerMethod){annotation((HandlerMethod)handler).getMethodAnnotation(IgnoreAuth.class);}else{returntrue;}//从header中获取tokenStringtokenrequest.getHeader(LOGIN_TOKEN_KEY);/** * 不需要验证权限的方法直接放过 */if(annotation!null){returntrue;}TokenEntitytokenEntitynull;if(StringUtils.isNotBlank(token)){tokenEntitytokenService.getTokenEntity(token);}if(tokenEntity!null){request.getSession().setAttribute(userId,tokenEntity.getUserid());request.getSession().setAttribute(role,tokenEntity.getRole());request.getSession().setAttribute(tableName,tokenEntity.getTablename());request.getSession().setAttribute(username,tokenEntity.getUsername());returntrue;}PrintWriterwriternull;response.setCharacterEncoding(UTF-8);response.setContentType(application/json; charsetutf-8);try{writerresponse.getWriter();writer.print(JSONObject.toJSONString(R.error(401,请先登录)));}finally{if(writer!null){writer.close();}}// throw new EIException(请先登录, 401);returnfalse;}}六、数据库代码参考-- MySQL dump 10.13 Distrib 5.7.31, for Linux (x86_64) -- -- Host: localhost Database: springbootm3ord -- ------------------------------------------------------ -- Server version 5.7.31 /*!40101 SET OLD_CHARACTER_SET_CLIENTCHARACTER_SET_CLIENT */; /*!40101 SET OLD_CHARACTER_SET_RESULTSCHARACTER_SET_RESULTS */; /*!40101 SET OLD_COLLATION_CONNECTIONCOLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; /*!40103 SET OLD_TIME_ZONETIME_ZONE */; /*!40103 SET TIME_ZONE00:00 */; /*!40014 SET OLD_UNIQUE_CHECKSUNIQUE_CHECKS, UNIQUE_CHECKS0 */; /*!40014 SET OLD_FOREIGN_KEY_CHECKSFOREIGN_KEY_CHECKS, FOREIGN_KEY_CHECKS0 */; /*!40101 SET OLD_SQL_MODESQL_MODE, SQL_MODENO_AUTO_VALUE_ON_ZERO */; /*!40111 SET OLD_SQL_NOTESSQL_NOTES, SQL_NOTES0 */; -- -- Current Database: springbootm3ord -- /*!40000 DROP DATABASE IF EXISTS springbootm3ord*/; CREATE DATABASE /*!32312 IF NOT EXISTS*/ springbootm3ord /*!40100 DEFAULT CHARACTER SET utf8mb4 */; USE springbootm3ord; -- -- Table structure for table aboutus -- DROP TABLE IF EXISTS aboutus; /*!40101 SET saved_cs_client character_set_client */; /*!40101 SET character_set_client utf8 */; CREATE TABLE aboutus ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, addtime timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间, title varchar(200) NOT NULL COMMENT 标题, subtitle varchar(200) DEFAULT NULL COMMENT 副标题, content longtext NOT NULL COMMENT 内容, picture1 longtext COMMENT 图片1, picture2 longtext COMMENT 图片2, picture3 longtext COMMENT 图片3, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT2 DEFAULT CHARSETutf8 COMMENT关于我们; /*!40101 SET character_set_client saved_cs_client */; -- -- Dumping data for table aboutus -- LOCK TABLES aboutus WRITE; /*!40000 ALTER TABLE aboutus DISABLE KEYS */; INSERT INTO aboutus VALUES (1,2023-03-05 09:51:25,关于我们,ABOUT US,不管你想要怎样的生活你都要去努力争取不多尝试一些事情怎么知道自己适合什么、不适合什么呢?\n你说你喜欢读书让我给你列书单你还问我哪里有那么多时间看书;你说自己梦想的职业是广告文案问我如何成为一个文案应该具备哪些素质;你说你计划晨跑但总是因为学习、工作辛苦或者身体不舒服第二天起不了床;你说你一直梦想一个人去长途旅行但是没钱父母觉得危险。其实我已经厌倦了你这样说说而已的把戏我觉得就算我告诉你如何去做你也不会照做因为你根本什么都不做。,upload/aboutus_picture1.jpg,upload/aboutus_picture2.jpg,upload/aboutus_picture3.jpg); /*!40000 ALTER TABLE aboutus ENABLE KEYS */; UNLOCK TABLES; -- -- Table structure for table config -- DROP TABLE IF EXISTS config; /*!40101 SET saved_cs_client character_set_client */; /*!40101 SET character_set_client utf8 */; CREATE TABLE config ( id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 主键, name varchar(100) NOT NULL COMMENT 配置参数名称, value varchar(100) DEFAULT NULL COMMENT 配置参数值, PRIMARY KEY (id) ) ENGINEInnoDB AUTO_INCREMENT4 DEFAULT CHARSETutf8 COMMENT配置文件; /*!40101 SET character_set_client saved_cs_client */; -- -- Dumping data for table config -- LOCK TABLES config WRITE; /*!40000 ALTER TABLE config DISABLE KEYS */; INSERT INTO config VALUES (1,picture1,upload/picture1.jpg),(2,picture2,upload/picture2.jpg),(3,picture3,upload/picture3.jpg); /*!40000 ALTER TABLE config ENABLE KEYS */; UNLOCK TABLES;七、项目论文示例结语撰写不易请大家多多点赞、收藏、关注、评论文章下方名片联系我即可~多多关注谢谢啦精选专栏推荐订阅计算机毕业设计最强指南✅计算机毕业设计答辩秘籍✅计算机最全毕设项目推荐✅

相关文章:

基于SpringBoot + Vue的眼科患者随访管理系统(角色:患者、医生、管理员)

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 💛博主介绍&#…...

基于SpringBoot + Vue的知识产权管理系统(角色:用户、知识产权人、管理员)

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 💛博主介绍&#…...

OpenClaw安全指南:Qwen3.5-9B执行权限管控与操作审计

OpenClaw安全指南:Qwen3.5-9B执行权限管控与操作审计 1. 为什么需要OpenClaw安全防护 上周我在调试一个自动整理财务报表的OpenClaw任务时,差点酿成大祸。当时AI助手误将包含客户隐私的临时文件同步到了公开目录,幸亏我提前配置了文件操作审…...

基于Uniapp + SpringBoot + Vue的智能停车场管理系统(角色:用户、员工、管理员)

文章目录前言一、详细操作演示视频二、具体实现截图三、技术栈1.前端-Vue.js2.后端-SpringBoot3.数据库-MySQL4.系统架构-B/S四、系统测试1.系统测试概述2.系统功能测试3.系统测试结论五、项目代码参考六、数据库代码参考七、项目论文示例结语前言 💛博主介绍&#…...

在PHP中处理字符串连接和插值的多种方法

一、字符串连接方法1. 点号运算符(.)语法:通过.连接字符串或变量。示例:123$str1 "Hello";$str2 "World";echo $str1 . " " . $str2; // 输出 "Hello World"特点:简单直接&…...

PHP获取当前IP地址的方法

想象一下,你在寄信时需要填写收件人的地址(IP 地址)。在 PHP 中,我们可以通过读取 HTTP 请求中的信息来获取用户的 IP 地址。(1) 获取 IP 的方法$_SERVER 超全局变量:$_SERVER[REMOTE_ADDR]:直接获取客户端…...

PHP序列化数据格式的示例详解

PHP序列化是将PHP变量(包括对象)转换为可存储或传输的字符串表示形式的过程。了解这些序列化格式对于数据处理、调试和安全性分析非常重要。本文将详细介绍PHP中各种数据类型的序列化表示方式。基本数据类型序列化格式布尔值(Boolean&#xf…...

PHP短信发送功能的实现与优化指南

在现代Web应用中,短信通知是用户认证、营销推送和安全预警的重要渠道。本文将深入解析一个PHP短信发送函数的实现原理,并通过代码优化展示如何提升其安全性、可靠性和性能。核心实现原理短信发送的基本原理是通过HTTP请求调用第三方短信服务API。以下是一…...

macOS上OpenClaw排错指南:Qwen2.5-VL-7B连接失败解决方案

macOS上OpenClaw排错指南:Qwen2.5-VL-7B连接失败解决方案 1. 问题背景与现象描述 上周我在自己的MacBook Pro(M1芯片,macOS Ventura 13.5)上尝试部署OpenClaw并连接本地运行的Qwen2.5-VL-7B模型时,遭遇了一系列连接问…...

OpenClaw备份自动化:用SecGPT-14B识别关键数据并同步加密

OpenClaw备份自动化:用SecGPT-14B识别关键数据并同步加密 1. 为什么需要智能备份系统 作为一个长期在本地开发项目的程序员,我经历过太多次"误删文件后追悔莫及"的时刻。传统的定时全量备份虽然简单,但存在三个致命问题&#xff…...

LeetCode(16/100)

灵神的方法,采用教室坐座位类比,将在1~n范围的数排到他们应在的位置,然后分为都在自己的位置上和有位置没人坐的情况遍历找出缺失的第一个正数。非常形象容易理解,时间效率最优。 class Solution {public int firstMissingPositiv…...

LeetCode(15/100)

数组中除当前数外所有数乘积。不许用除法,时间复杂度O(N),左右指针求前缀乘积和后缀乘积,还能u空间。 class Solution {public int[] productExceptSelf(int[] nums) {int len nums.length;// L 和 R 分别表示左右两侧的乘积列表int[] L ne…...

2024丨时间序列预测(Time Series Prediction)前沿技术解析与论文精要

1. 2024年时间序列预测技术全景图 时间序列预测就像给数据装上"时光望远镜",让我们能够窥见未来的趋势和变化。从股票价格到天气变化,从设备故障预警到疫情传播预测,这项技术正在深刻改变各行各业的决策方式。2024年,这…...

避坑指南:YOLOv5单目测距项目里,为什么你的距离值总是不准?

YOLOv5单目测距实战:五大误差源深度解析与精准优化方案 当你兴奋地跑通了YOLOv5单目测距代码,却发现测量结果与实际距离相差甚远时,这种挫败感我深有体会。本文将带你系统排查那些容易被忽视的关键误差源,并提供可直接落地的解决方…...

手把手教你用蓝莲花XSS平台玩转CTFHub Web XSS题目

蓝莲花XSS平台实战指南:攻克CTFHub Web安全挑战 在网络安全竞赛和实战演练中,跨站脚本攻击(XSS)始终是Web安全领域的重要考点。不同于传统的漏洞利用,XSS攻击需要建立有效的数据回传机制,这对CTF选手提出了更高要求。蓝莲花(BLUE-…...

手把手教你复现ownCloud高危漏洞CVE-2023-49103:从环境搭建到信息泄露验证

从零构建ownCloud漏洞靶场:CVE-2023-49103深度复现指南 当开源云存储系统ownCloud的graphapi组件暴露出PHP环境信息时,意味着什么?想象一下,攻击者通过一个未公开的URL路径,就能获取数据库密码、邮件服务器凭证甚至加密…...

从漏洞复现到修复:手把手教你用ModHeader测试和防御HTTP Host头攻击

HTTP Host头攻击实战:从漏洞复现到Nginx防御全解析 当你在浏览器地址栏输入一个网址时,很少有人会注意到背后那个看似普通的Host头字段。正是这个不起眼的HTTP头部,却可能成为攻击者撬开系统大门的杠杆。想象一下,攻击者只需修改这…...

给STM32L5和LPC55S6x加把锁:手把手配置ARMv8-M TrustZone的SAU与内存分区

给STM32L5和LPC55S6x加把锁:手把手配置ARMv8-M TrustZone的SAU与内存分区 在物联网设备爆炸式增长的今天,安全已经从"可有可无"变成了"必不可少"。想象一下,你设计的智能门锁固件被轻易破解,或者医疗设备的敏…...

OpenClaw配置优化:Qwen2.5-VL-7B任务执行的3个性能技巧

OpenClaw配置优化:Qwen2.5-VL-7B任务执行的3个性能技巧 1. 为什么需要优化OpenClaw的多模态任务性能 上周我尝试用OpenClaw自动处理一批图文混合的电商产品描述,结果发现简单的20条数据竟然花了47分钟。看着日志里频繁出现的"Waiting for model r…...

OpenClaw安全加固:Qwen3-14B镜像操作权限精细控制方案

OpenClaw安全加固:Qwen3-14B镜像操作权限精细控制方案 1. 为什么需要安全加固? 去年我在尝试用OpenClaw自动整理财务报告时,差点酿成大错——脚本误删了原始Excel文件。这次经历让我意识到:当AI能直接操作系统时,安全…...

Si7021温湿度传感器I²C驱动开发与FreeRTOS工程实践

1. Si7021温湿度传感器驱动库深度解析与工程实践Si7021是由Silicon Labs(芯科科技)推出的一款高精度、低功耗数字式温湿度传感器,采用CMOS工艺集成电容式湿度传感单元与带隙温度传感单元,通过IC接口输出经过校准的12位湿度和14位温…...

嵌入式代码阅读方法论:从新手到高效能工程师

1. 嵌入式代码阅读方法论:从新手到高效能工程师的进阶之路刚接触嵌入式开发的新人常会遇到这样的困境:打开一个项目代码库,面对成千上万行代码和复杂的模块关系,完全不知从何入手。作为一名在嵌入式领域摸爬滚打多年的工程师&…...

Jupyter Notebook机器学习避坑指南:为什么你的泰坦尼克号预测模型准确率虚高?

Jupyter Notebook机器学习避坑指南:为什么你的泰坦尼克号预测模型准确率虚高? 在数据科学竞赛和实际业务场景中,泰坦尼克号数据集堪称机器学习界的"Hello World"。但正是这个看似简单的数据集,却暗藏诸多陷阱。许多学习…...

神经结构搜索(NAS)编码策略解析:从邻接矩阵到路径优化的实战指南

1. 神经结构搜索(NAS)编码策略入门指南 第一次接触神经结构搜索(NAS)时,我被那些晦涩的术语搞得一头雾水。直到在真实项目中踩过几次坑才明白,编码策略的选择直接影响着整个搜索过程的效率。简单来说,NAS编码就像给神经网络结构设计"身份…...

OpenClaw+百川2-13B-4bits量化模型:个人知识管理自动化方案

OpenClaw百川2-13B-4bits量化模型:个人知识管理自动化方案 1. 为什么需要自动化知识管理 作为一个长期与技术文档打交道的开发者,我的知识库在过去三年膨胀到了2000篇杂乱无章的Markdown文件。每次查找资料时,要么记不清文件名,…...

OpenClaw会议小助手:Qwen3.5-9B实时转录与待办项提取

OpenClaw会议小助手:Qwen3.5-9B实时转录与待办项提取 1. 为什么需要会议自动化助手 作为经常参加跨时区会议的技术从业者,我长期被两个问题困扰:一是会议录音整理耗时耗力,二是行动项经常在后续执行中被遗漏。传统解决方案要么需…...

OpenClaw技能组合:千问3.5-35B-A3B-FP8驱动的自动化工作流设计

OpenClaw技能组合:千问3.5-35B-A3B-FP8驱动的自动化工作流设计 1. 从零到一的自动化工作流实践 去年夏天,我接手了一个临时项目:需要每天处理上百封客户邮件,提取会议需求并安排日程,会后还要生成纪要同步给团队。手…...

OpenClaw成本优化方案:千问3.5-9B本地部署省下90%API费用

OpenClaw成本优化方案:千问3.5-9B本地部署省下90%API费用 1. 为什么我开始关注OpenClaw的成本问题 去年冬天,我第一次用OpenClaw自动整理全年会议纪要时,被月底的API账单吓了一跳——单月调用GPT-4的费用竟然超过了300美元。作为一个坚持用…...

OpenClaw+千问3.5-27B代码助手:自动生成Python脚本并测试运行

OpenClaw千问3.5-27B代码助手:自动生成Python脚本并测试运行 1. 为什么需要代码生成与执行的自动化? 作为开发者,我经常遇到这样的场景:脑子里有个想法需要快速验证,比如抓取某个网站的数据做分析。传统流程是手动写…...

OpenClaw自动化测试方案:Phi-3-vision-128k-instruct实现UI截图比对

OpenClaw自动化测试方案:Phi-3-vision-128k-instruct实现UI截图比对 1. 为什么需要自动化UI测试 在个人项目开发中,每次代码提交后手动检查页面样式是否错乱,是最容易被忽视却又最耗费精力的环节。我曾经历过一个典型场景:深夜修…...