基于区块链的共享便捷城市图书借阅系统的设计与实现(源码+LW+远程调试)

PHP实现的文件上传系统实践教程 本文还有配套的精品资源,点击获取 简介:PHP作为一种服务器端脚本语言,在Web应用开发中具有重要作用,尤其在实现文件上传功能方面。本文介绍了如何利用PHP和MySQL构建一个基本的文件上传系统,包括文件上传的前端HTML表单设计、后端PHP脚本处理、以及如何将文件信息存储到MySQL数据库中。文章详细说明了文件上传过程中的关键步骤,包括文件存在性检查、文件类型和大小验证,... 阅读详情

 目录

博主介绍:  

程序视频演示:

系统技术介绍:

Mysql介绍

前后端分离架构介绍

功能截图:

代码参考:  

功能测试:

项目测试:

项目文档:

为什么选择我:

源码获取:


博主介绍:  

💗博主开发经历:全网拥有20W+粉丝、优快云作者、博客专家、全栈领域优质创作者、平台优质Java创作者、专注于Java、小程序、python、大数据、深度学习技术领域和毕业项目实战✌💟

Java精品实战案例《1000套》

2024-2026年最值得选择的Java毕业设计选题大全:1000个热门选题推荐✅✅✅

📲文章末尾源码+数据库📱
感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,博主免费解答、希望可以帮助更多人

​

视频演示:

文章底部名片,获取项目的完整演示视频,免费解答技术疑问

技术介绍:

Mysql介绍

   MySQL采用结构化查询语言SQL作为数据库操作的标准语言,具有高性能、高可靠性、易使用和跨平台等优点。MySQL支持多种存储引擎,如InnoDB、MyISAM等,其中InnoDB引擎支持事务处理、外键约束和崩溃恢复,适合对数据一致性要求较高的应用场景。MySQL遵循客户端-服务器架构,允许多个客户端同时访问同一个数据库,通过使用TCP/IP、Unix socket或命名管道等方式连接数据库。它提供了丰富的API接口,支持包括Java、Python、PHP、C++等多种编程语言,便于开发者进行二次开发。MySQL拥有强大的数据管理功能,支持视图、存储过程、触发器、事务、索引优化等高级特性,能够满足复杂的数据操作需求。

前后端分离架构介绍

  前后端分离架构是一种现代Web系统开发模式,其核心理念是将前端页面展示与后端业务逻辑进行解耦,从而实现职责划分更加清晰、开发协作更高效的开发流程。在该架构中,前端主要负责页面渲染、用户交互与界面展示,通常使用如Vue、React、Angular等前端框架来实现单页应用(SPA)或多页面应用;后端则使用Spring Boot、Node.js、Django等服务框架构建RESTful API或GraphQL接口,专注于处理业务逻辑、数据处理与权限控制。前后端通过HTTP协议或Ajax请求进行通信,采用JSON格式进行数据传输,实现数据与视图的分离。前后端分离架构的优势显著,一方面可以实现前端与后端并行开发,提高开发效率,降低模块间的耦合度,另一方面也便于系统的维护与扩展,例如前端页面可灵活替换为移动端App、小程序等不同形式,而无需改动后端接口。同时,该架构更适合于分布式与微服务架构的演进,有助于系统的模块化与服务化部署。

功能截图:

代码参考:  

/**
     * 查询
     */
    @RequestMapping("/query")
    public R query(ForumEntity forum){
        EntityWrapper< ForumEntity> ew = new EntityWrapper< ForumEntity>();
 		ew.allEq(MPUtil.allEQMapPre( forum, "forum")); 
		ForumView forumView =  forumService.selectView(ew);
		return R.ok("查询论坛交流成功").put("data", forumView);
    }
	
    /**
     * 后台详情
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") Long id){
        ForumEntity forum = forumService.selectById(id);
        Map<String, String> deSens = new HashMap<>();
        //给需要脱敏的字段脱敏
        DeSensUtil.desensitize(forum,deSens);
        return R.ok().put("data", forum);
    }

    /**
     * 前台详情
     */
	@IgnoreAuth
    @RequestMapping("/detail/{id}")
    public R detail(@PathVariable("id") Long id){
        ForumEntity forum = forumService.selectById(id);
        Map<String, String> deSens = new HashMap<>();
        //给需要脱敏的字段脱敏
        DeSensUtil.desensitize(forum,deSens);
        return R.ok().put("data", forum);
    }
    
	/**
     * 论坛详情
     */
	@IgnoreAuth
    @RequestMapping("/list/{id}")
    public R list(@PathVariable("id") String id){
        ForumEntity forum = forumService.selectById(id);
        getChilds(forum);
        return R.ok().put("data", forum);
    }

    /**
    *  获取子节点
    */
    private ForumEntity getChilds(ForumEntity forum) {
    	List<ForumEntity> childs = new ArrayList<ForumEntity>();
    	childs = forumService.selectList(new EntityWrapper<ForumEntity>().eq("parentid", forum.getId()));
    	if(childs == null || childs.size()==0) {
    		return null;
    	}
    	forum.setChilds(childs);
    	for(ForumEntity forumEntity : childs) {
    		getChilds(forumEntity);
    	}
    	return forum;
    }



    /**
     * 后台保存
     */
    @RequestMapping("/save")
    @SysLog("新增论坛交流") 
    public R save(@RequestBody ForumEntity forum, HttpServletRequest request){
        //ValidatorUtils.validateEntity(forum);
    	forum.setUserid((Long)request.getSession().getAttribute("userId"));
        forumService.insert(forum);
        return R.ok().put("data",forum.getId());
    }
    
    /**
     * 前台保存
     */
    @SysLog("新增论坛交流")
    @RequestMapping("/add")
    public R add(@RequestBody ForumEntity forum, HttpServletRequest request){
        //ValidatorUtils.validateEntity(forum);
    	forum.setUserid((Long)request.getSession().getAttribute("userId"));
        forumService.insert(forum);
        return R.ok().put("data",forum.getId());
    }



     /**
     * 获取用户密保
     */
    @RequestMapping("/security")
    @IgnoreAuth
    public R security(@RequestParam String username){
        ForumEntity forum = forumService.selectOne(new EntityWrapper<ForumEntity>().eq("", username));
        return R.ok().put("data", forum);
    }


    /**
     * 修改
     */
    @RequestMapping("/update")
    @Transactional
    @IgnoreAuth
    public R update(@RequestBody ForumEntity forum, HttpServletRequest request){
        //ValidatorUtils.validateEntity(forum);
        //全部更新
        forumService.updateById(forum);
        return R.ok();
    }



    

    /**
     * 删除
     */
    @RequestMapping("/delete")
    @SysLog("删除论坛交流")
    public R delete(@RequestBody Long[] ids){
        forumService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
    
	/**
     * 前台智能排序
     */
	@IgnoreAuth
    @RequestMapping("/autoSort")
    public R autoSort(@RequestParam Map<String, Object> params,ForumEntity forum, HttpServletRequest request,String pre){
        EntityWrapper<ForumEntity> ew = new EntityWrapper<ForumEntity>();
        Map<String, Object> newMap = new HashMap<String, Object>();
        Map<String, Object> param = new HashMap<String, Object>();
        // 组装参数
		Iterator<Map.Entry<String, Object>> it = param.entrySet().iterator();
		while (it.hasNext()) {
			Map.Entry<String, Object> entry = it.next();
			String key = entry.getKey();
			String newKey = entry.getKey();
			if (pre.endsWith(".")) {
				newMap.put(pre + newKey, entry.getValue());
			} else if (StringUtils.isEmpty(pre)) {
				newMap.put(newKey, entry.getValue());
			} else {
				newMap.put(pre + "." + newKey, entry.getValue());
			}
		}
		params.put("sort", "clicktime");
        params.put("order", "desc");

		PageUtils page = forumService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.likeOrEq(ew, forum), params), params));
        return R.ok().put("data", page);
    }

功能测试:

测试编号

测试用例描述

预期结果

测试结果

1

输入正确的用户名和密码进行登录

登录成功,重定向至系统首页

通过

2

输入错误的用户名或密码进行登录

登录失败,显示错误提示信息

通过

3

连续多次输入错误的用户名或密码

账户被锁定,显示锁定提示信息

通过

4

输入已锁定的账户信息

登录失败,显示账户锁定提示信息

通过

5

点击“忘记密码”链接,按照流程重置密码

密码重置成功,可使用新密码登录

通过

测试总结:

   Spring Boot前后端分离项目功能测试是确保系统稳定性和用户体验的重要环节,通过对前端Vue页面与后端Spring Boot接口进行协同测试,可以有效验证各项功能是否按预期实现。首先需要进行接口测试,使用Postman或JMeter等工具对后端RESTful接口进行验证,检查接口的请求方法、参数、返回数据格式以及异常处理是否符合规范,其次是功能测试,结合用户角色进行完整的业务流程测试,例如用户注册、登录、数据查询、信息提交、权限控制等常见操作,通过手动或自动化测试工具确保各模块逻辑正确且交互顺畅。在前后端联调阶段,需要特别关注接口兼容性与前端展示效果,避免因接口变化导致前端功能异常或页面渲染错误,同时需关注跨域问题、接口超时、无权限访问等边界情况。测试过程中还应进行输入校验测试,包括前端表单校验与后端数据校验,避免非法输入引发系统崩溃。此外,功能测试还应涵盖异常路径测试、权限边界测试及数据一致性测试,确保系统在各种操作情况下都能稳定运行。

项目文档:

​

为什么选择我:

   博主自己就是程序员、避免中介对接:博主拥有多年java软件开发经验,累计开发或辅导多名同学。有程序需求的可以随时提问,博主可以免费解答疑问。(java、python、大数据、小程序和安卓等技术等可以)

   拥有丰富开发经验:所有程序博主都自己参与开发,能够解答所有Java程序的技术难题、包远程运行调试!

源码获取:

2025-2026年最值得选择的Java毕业设计选题大全:1000个热门选题推荐✅✅✅

Java精品实战案例《1000套》

文章下方名片联系我即可~
大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

Unity Animancer插件(一)基本使用 Animancer是什么?资源商店主页我们来通过Animancer实现一个最基本的动画播放效果。首先创建一个脚本,编写如下代码 很容易理解,就是在时播放一个指定的动画片段。接下来为角色添加、和刚刚编写的,并为字段赋值 接下来运行游戏就可以看到效果了 此时角色身上的组件可以看到当前动画的各项参数 下面我们来实现通过按键控制角色在于之间转换。新创建一个脚本。在代码中监听Y轴上的输入。然后根据监听到的数值判断角色状态,并播放相应的动画 给对应字段赋值后,启动游戏看下效果 下面来实现一个开枪效果。在默认状态下,角色 阅读详情

相关推荐

UE4-(蓝图)第五十五课图片九宫格拉伸的使用

一、为什么使用九宫格拉伸 在UI布局的时候,有时候使用的图片与我们要制作的UI大小有差距,如果图片是普通方式直接拉伸很可能造成图片四个角上的效果与原图片差距太大甚至是变形,这时候使用九宫格模式拉伸,可以保持图片四个角上的样式不发生改变,只对中间区域拉伸。 原始 正常拉伸: 九宫格拉伸: 二、图片参数设置 1.新建一个UI 控件蓝图,在CanvasPanel下拖入一个Image,选择一张...

Stone的博客 7889

基于大数据二手电子产品需求分析系统的设计与实现(源码+LW+讲解和调试)

💗博主开发经历:全网拥有20W+粉丝、优快云作者、博客专家、全栈领域优质创作者、平台优质Java创作者、专注于Java、小程序、python、大数据、深度学习技术领域和毕业项目实战✌💟Java精品实战案例《1000套》2024-2026年最值得选择的Java毕业设计选题大全:1000个热门选题推荐✅✅✅📲文章末尾源码+数据库📱MySQL采用结构化查询语言SQL作为数据库操作的标准语言,具有高性能、高可靠性、易使用和跨平台等优点。

leishencode的博客 1107

超实用!用 Ollama + DeepSeek + Dify 搭建本地知识库,提升企业效率

本文介绍了如何使用 Ollama + DeepSeek + Dify 搭建本地知识库,帮助企业高效管理信息。通过简单配置,可实现智能问答、文档检索等功能,提升效率并保障数据安全。

Happiness is everywhere 4294

【区块链 + 智慧政务】基于区块链的可信数据档案管理系统 | FISCO BCOS应用案例

基于区块链的可信数据档案管理系统,以 FISCO BCOS 为底层搭建档案联盟链,协同政务 OA 系统、数字档案管 理系统,运用区块链、云计算等现代信息技术,实现电子政务文件及电子档案的可信互通、存储归档及有效管理, 实现档案的单套归档和单套管理。

FISCO_BCOS的博客 2203

adb详细教程(四)-使用adb启动应用、关闭应用、清空应用数据、获取设备已安装应用列表

adb对于安卓移动端来说,是个非常重要的调试工具。通过ADB可以操作、管理设备上的应用。

公众号|软件测试老吴 3万+

博图V16与840D sl数控系统PLC编程实战指南

本文为西门子840D sl数控系统的PLC编程实战指南,详细介绍了如何使用博图V16软件配置编程环境。内容涵盖从项目创建、核心程序块(如DB、FB)解析到OB1主循环编程的完整流程,并提供了高级调试技巧与联调避坑指南,帮助工程师快速上手并高效完成系统集成与逻辑控制。

weixin_29193259的博客 527

基于SpringBoot的学生心理健康系统的设计与实现(源码+LW+报告+运行调试)

通过约定优于配置,减少了复杂的 XML 配置,提供了自动配置功能,让开发者可以快速上手。内置的启动器(Starter)和自动配置功能使得新项目的搭建变得非常简单,开发者可以专注于业务逻辑。Spring Boot 支持内嵌的 Tomcat、Jetty 或 Undertow,无需外部应用服务器,方便部署和开发。与 Spring Cloud 无缝集成,提供了构建微服务架构的便利,支持服务注册、配置管理等功能。活跃的社区和丰富的文档,使得开发者在遇到问题时能够快速找到解决方案。

java,python,小程序,大数据开发 1398

全面讲解电子齿轮比与脉冲数计算

什么是编码器分辨率。

viixin的博客 1万+

基于solidity的Dapp图书管理系统

区块链图书管理系统

sand_wich的博客 2548

Android T GPS 定位流程

Gps 定位

好记性不如烂笔头 1355

SAP BAPI调用避坑指南:处理MD61/MD62计划独立需求时,这些参数和返回值你必须检查

本文详细解析了SAP BAPI调用中处理MD61/MD62计划独立需求的关键参数和返回值检查要点,包括版本控制、日期类型和删除标记等核心参数设置,以及常见错误排查和高级调试技巧,帮助开发者高效管理需求计划数据。

weixin_30316097的博客 611

基于区块链的高校学生实习信息管理系统(源码+lw+部署文档+讲解等)

💗博主开发经历:全网拥有20W+粉丝、优快云作者、博客专家、全栈领域优质创作者、平台优质Java创作者、专注于Java、小程序、python、大数据、深度学习技术领域和毕业项目实战✌💟Java精品实战案例《1000套》2024-2026年最值得选择的Java毕业设计选题大全:1000个热门选题推荐✅✅✅📲文章末尾源码+数据库📱MySQL采用结构化查询语言SQL作为数据库操作的标准语言,具有高性能、高可靠性、易使用和跨平台等优点。

leishencode的博客 724

别再用第三方黑盒库了!从零手写C#+YOLOv12推理全流程,框位准、可定制、调试快10倍

从零手写YOLO推理框架,不是为了造轮子,而是为了完全掌控代码,工业现场的需求千变万化,第三方黑盒库根本没法满足所有需求。这套代码我已经在东莞长安的3家PCB厂、深圳南山的2家3C电子厂落地了,稳定运行6个月,没有出过任何问题。如果有什么问题或者需要扩展的功能,都可以在评论区交流。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 328

基于区块链的数字身份认证系统设计与实现

摘要:本文研究基于区块链的数字身份认证系统,旨在解决传统中心化身份认证存在的安全风险与隐私问题。通过分析区块链技术的去中心化、不可篡改特性,设计包含智能合约层、身份管理层等五层架构的系统方案。研究采用以太坊平台,运用零知识证明等密码学技术实现隐私保护,开发支持多级验证、可选择性披露的创新功能。系统预期实现用户自主管理数字身份,提升安全性和隐私保护水平,可应用于政务、金融、医疗等领域。研究表明区块链技术为构建可信数字身份体系提供了有效解决方案,对推动数字经济发展具有重要意义。

laoman456的博客 1430

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

基于SpringBoot校园闲置物品交易网站的设计与实现(源码+LW+调试文档+讲解等)

​ 💗博主介绍:✌全网粉丝10W+,优快云作者、博客专家、全栈领域优质创作者,博客之星、平台优质作者、专注于Java、小程序技术领域和毕业项目实战✌💗 Java精品实战案例《1000套》 2025-2026年最值得选择的Java毕业设计选题大全:1000个热门选题推荐✅✅✅ 🌟文末获取源码+数据库🌟 感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人

java全包开发,java辅导 1368

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Electron太重?试试用Tauri重构你的聊天应用:HuLa性能优化全记录

本文详细记录了将Electron聊天应用HuLa迁移到Tauri框架的全过程,展示了Tauri在跨平台应用开发中的性能优势。通过架构重构、内存优化和通信协议改进,实现了内存占用降低82.6%、安装包体积减少85.4%的显著提升,为开发者提供了从Electron迁移到Tauri的实用指南。

725

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

基于SpringBoot校园失物招领平台详细设计实现(源码+LW+调试文档+讲解等)

Java的主要特点是简单性、面向对象、分布式、健壮性、安全性和可移植性。Java的设计初衷是让程序员能够以优雅的方式编写复杂的程序。它支持 Internet 应用的开发,并内建了网络应用编程接口,极大地便利了网络应用的开发。同时,Java的强类型机制和异常处理功能确保了程序的健壮性。Java分为三个主要版本:Java SE(标准版),主要用于桌面应用程序开发;Java EE(企业版),用于开发企业级应用;Java ME(微型版),专门用于嵌入式系统和移动设备应用开发。

全网粉丝10W+、全栈领域优质创作者、阿里云等社区博客专家、专注于全栈领域和毕业项目实战 1961

基于区块链技术的仓库管理系统的设计与实现(源码+LW+讲解和调试)

💟博主:程序员gelei:全网拥有20W+粉丝、优快云作者、博客专家、全栈领域优质创作者、平台优质Java创作者、专注于Java、小程序、python、安卓技术领域和毕业项目实战✌💟Java精品实战案例《1000套》2024-2026年最值得选择的Java毕业设计选题大全:1000个热门选题推荐✅✅✅📲文章末尾获取源码+数据库📱Java的主要特点是简单性、面向对象、分布式、健壮性、安全性和可移植性。Java的设计初衷是让程序员能够以优雅的方式编写复杂的程序。

java全包开发,java辅导 1285

基于springboot高校毕业生就业信息管理系统

基于SpringBoot的高校毕业生就业信息管理系统通过整合毕业生档案、企业招聘、就业数据分析等功能,显著提升了就业管理的效率与透明度。其模块化设计、高扩展性与成本效益,使其成为高校就业指导中心、企业招聘方的理想选择。未来,随着AI、区块链等技术的深入应用,系统将进一步向智能化、全球化方向发展,为毕业生就业与企业招聘创造更大价值。

qq_1039692211的博客 1126

基于JSP实现简单学生成绩信息管理系统

【请注意,这个只是部分功能,还有功能未截图出亦或截图并不能表示全部含义,请转至演示站查看具体效果】学生角色教师角色管理员角色学生登录教师登录管理员登录修改密码按专业排名查询学生信息管理查看课程名单按课程排名查询按专业查询成绩查询他人成绩修改密码按课程查询成绩查询自己成绩查看学生信息教师信息管理添加学生添加教师添加课程修改密码课程信息管理。

codes_su的博客 1754

成绩录入系统( 1.录入成绩 2.修改成绩 3. 查看最高成绩 4. 查看平均成绩 5. 退出)

成绩录入系统(java):1.录入成绩 2.修改成绩 3. 查看最高成绩 4. 查看平均成绩 5. 退出

qq_46703281的博客 1124

【源码+文档】基于区块链的物流信息存储系统

根据该项的状态机,我们从创世纪状态开始,当交易被执后,这个创世纪状态就会转变成最终状态。在任何时刻,这个最终状态都代表着当前的状态,在项中指针 Bptr永远指向最新的状态。每个状态可能包含数个物流信息。这些信息都被“组团”到个区块中。个区块包含了系列的物流信息,每个区块都与它的前个区块链接起来。该项本质就是个基于交易的状态机(transaction-based state machine)。在计算机科学中,个状态机是指可以读取系列的输,然后根据这些输,会转换成个新的状态出来的东。

yuxibdd的博客 451

PHP毕业设计课题选题(16)基于web网页网站PHP文件共享网站系统设计与实现

通过这个PHP在线文件管理系统,前端网站用户可以自由上传一些文件,包括文档、图片、压缩文件等;可以对外分享,提供给其他会员查看和下载,也可以设置为私密只有自己可以查看和下载。

杭州.黄老师 2387

基于区块链技术的供应链管理系统:重塑信任与效率

在当今全球化的商业环境中,供应链管理面临着诸多挑战,如信息不透明、数据易篡改、流程复杂等。区块链技术以其去中心化、不可篡改、可追溯的特性,为解决这些问题提供了新的思路。本文将深入探讨基于区块链技术的供应链管理系统的概念、架构设计、开发实践、应用场景以及开发过程中需要注意的关键问题。通过详细的代码示例、架构图、流程图和数据流图,帮助读者全面理解区块链技术在供应链管理中的应用,并展望其未来的发展趋势。区块链是一种分布式账本技术,通过加密算法和共识机制,确保数据的不可篡改和可追溯性。去中心化。

加入“Super Entity”,与全能开发团队共探AI智能体与数字人项目,开启前沿技术之旅。 1386

从零构建一个基于PHP和MySQL的文件管理系统

本系统是一个典型的Web应用,由PHP脚本、MySQL数据库和HTML/CSS前端组件构成。PHP用于处理文件的上传、下载和展示,MySQL用于存储文件的元信息,前端组件提供用户界面。主界面- 用于展示文件列表和操作按钮。数据库配置- 配置MySQL数据库连接信息。文件上传API- 提供文件上传接口,处理文件存储和防重复上传。本文详细分析了如何从零构建一个基于PHP和MySQL的文件管理系统,涉及文件上传、数据库配置和文件列表展示等关键模块的实现。

个人博客:www.1042.net 2931

编写jsp、javaBean、Servlet管理三门学生成绩Mysql

要求给出源文件的程序代码,程序运行结果截图,数据库的建库,建表等的SQL命令及实验总结。给出建库studentDB,建表student,并插入3条记录的SQL命令代码。给出Javabean代码。给出Servlet代码。给出web.xml代码。

2302_79748208的博客 608
上一篇: 基于区块链的果蔬供应链信息管理平台系统的设计与实现(源码+LW+远程调试)
下一篇: 基于区块链的高校学术报告管理系统的设计与实现(源码+LW+远程调试)
雷神定制开发
博客等级 码龄1年 1322粉丝 548原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值