基于SpringBoot+Vue+数据可视化的共享自行车租赁系统设计和实现(源码+论文+部署讲解等)

用UDP协议在dos命令行里模拟一个聊天程序 /* 需求: 在dos命令行里模拟一个聊天程序 有收数据的部分,和发数据的部分,这两部分需要同时执行。 那就需要用到多线程技术。 一个线程控制收,一个线程控制发。 */ import java.io.*; import java.net.*; class C 阅读详情

 博主介绍:✌全网粉丝50W+,csdn特邀作者、博客专家、优快云新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌

技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等设计与开发。

主要内容:免费功能设计、开题报告、任务书、中期检查PPT、系统功能实现、代码编写、论文编写和辅导、论文降重、长期答辩答疑辅导、腾讯会议一对一专业讲解辅导答辩、模拟答辩演练、和理解代码逻辑思路。

🍅文末获取源码联系🍅

👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟

2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅

Java项目精品实战案例《100套》

Java微信小程序项目实战《100套》

大数据项目实战《100套》

Python项目实战《100套》

感兴趣的可以先收藏起来,还有大家在毕设选题,项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人​

 系统介绍:

 随着校园内出行需求的增加,传统的自行车租赁方式已经无法满足学生和教职工的需求。为此,我们设计并实现了一款基于Spring Boot的校园电动车租赁系统。该系统采用了前后端分离的设计模式,前端使用Vue.js框架进行开发,后端使用Spring Boot框架进行搭建。通过整合MySQL数据库等技术,实现了用户注册、登录、电动车租赁、还车以及报障反馈等功能。

在管理员端,管理员可以对用户信息、电动车信息、租赁信息等进行管理和监控。同时,系统还提供了丰富的数据统计功能,帮助管理员了解电动车的使用情况,以便进行合理的调度和维护。在用户端,用户可以方便地查看可租赁的电动车信息,包括电动车的类型、位置等。通过扫描二维码,用户可以轻松地完成电动车的租赁和还车操作。还可以提交报障反馈,及时解决在使用过程中遇到的问题。在前台页面,展示了电动车的相关信息和公告资讯,方便用户了解最新的租赁政策和活动信息。同时,在线客服功能为用户提供了实时的咨询和支持。

总之,该校园电动车租赁系统不仅提高了校园内的出行效率,还为学生和教职工提供了便捷的出行方式。通过不断优化和完善系统功能,我们相信该系统将在未来更好地服务于校园内的出行需求。

    程序上交给用户进行使用时,需要提供程序的操作流程图,这样便于用户容易理解程序的具体工作步骤,现如今程序的操作流程都有一个大致的标准,即先通过登录页面提交登录数据,通过程序验证正确之后,用户才能在程序功能操作区页面操作对应的功能。

​

程序操作流程图

      首先前端通过Vue和axios发送HTTP请求到后端的登录接口。在后端接收登录请求的Controller会使用`@RequestParam Map<String, Object> params`来接收前端传递的用户参数,用户名和密码。然后后端根据接收到的参数创建一个查询条件封装对象MyBatis的EntityWrapper用于构建查询条件。接着在业务层,调用相应的service方法来查询数据库中是否存在匹配的用户信息。这个查询方法Login()会将前端传递的对象参数传递到后台的DAO层,进行数据库的交互操作。如果存在符合条件的用户,则会返回相关的用户信息。最后在后端控制器中将查询结果封装成响应体,通过`return R.ok().put("data", userService.selecView(ew))`将用户信息返回给前端。前端收到响应后,可以通过调用Vue、ElementUI等组件来渲染登录结果,例如显示用户信息或者跳转到相应的页面。

详细视频演示

请联系我获取更详细的演示视频

功能截图:

      在系统前台首页,调用`$route(newValue)`方法监听路由变化,根据当前的路由地址来确定活动菜单的索引,并且根据路由的哈希部分(即URL的`#`后面的部分)来判断是否需要滚动页面到顶部或者某个特定元素的位置。如果不是首页,会将页面滚动到指定元素处,否则滚动到页面顶部。另外通过`headportrait()`方法用于更新组件渲染点前用户头像。在用户登录后,后端返回了新的用户信息,需要及时更新页面上的用户头像信息。

论文参考:

1 绪  论

1 绪  论

1.1研究背景与意义

1.2系统研究现状

1.3 论文主要工作内容

2 系统关键技术

2.1 java简介

2.2 MySQL数据库

2.3 B/S结构

2.4 SpringBoot框架

2.5 VUE框架

3 系统分析

3.1 系统可行性分析

3.1.1 技术可行性

3.1.2 操作可行性

3.1.3 经济可行性

3.1.4 法律可行性

3.2 系统性能分析

3.3 系统功能分析

3.4 系统流程分析

3.4.1 数据开发流程

3.4.2 用户登录流程

3.4.3 系统操作流程

3.4.4 添加信息流程

3.4.5 修改信息流程

3.4.6 删除信息流程

4 系统设计

4.1 系统概要

4.2 系统结构设计

4.3数据库设计

4.3.1 数据库设计原则

4.3.3 数据库表设计

4.4 系统时序图

4.4.1 注册时序图

4.4.2 登录时序图

4.4.3 管理员修改用户信息时序图

4.4.4 管理员管理系统信息时序图

5 系统的实现

5.1前台功能实现

5.1.1系统首页页面

5.1.2个人中心

5.2后台管理员功能实现

6 系统测试

6.1 测试环境

6.2 测试目的

6.3 测试概述

6.4 单元测试

6.4.1 注册测试

6.4.2 登录测试

6.5 集成测试

结  论

参考文献

致  谢

代码实现:

/**
 * 登录相关
 */
@RequestMapping("users")
@RestController
public class UserController{
    
    @Autowired
    private UserService userService;
    
    @Autowired
    private TokenService tokenService;

    /**
     * 登录
     */
    @IgnoreAuth
    @PostMapping(value = "/login")
    public R login(String username, String password, String role, HttpServletRequest request) {
        UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
        if(user != null){
            if(!user.getRole().equals(role)){
                return R.error("权限不正常");
            }
            if(user==null || !user.getPassword().equals(password)) {
                return R.error("账号或密码不正确");
            }
            String token = tokenService.generateToken(user.getId(),username, "users", user.getRole());
            return R.ok().put("token", token);
        }else{
            return R.error("账号或密码或权限不对");
        }

    }
    
    /**
     * 注册
     */
    @IgnoreAuth
    @PostMapping(value = "/register")
    public R register(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
            return R.error("用户已存在");
        }
        userService.insert(user);
        return R.ok();
    }

    /**
     * 退出
     */
    @GetMapping(value = "logout")
    public R logout(HttpServletRequest request) {
        request.getSession().invalidate();
        return R.ok("退出成功");
    }
    
    /**
     * 密码重置
     */
    @IgnoreAuth
    @RequestMapping(value = "/resetPass")
    public R resetPass(String username, HttpServletRequest request){
        UserEntity user = userService.selectOne(new EntityWrapper<UserEntity>().eq("username", username));
        if(user==null) {
            return R.error("账号不存在");
        }
        user.setPassword("123456");
        userService.update(user,null);
        return R.ok("密码已重置为:123456");
    }
    
    /**
     * 列表
     */
    @RequestMapping("/page")
    public R page(@RequestParam Map<String, Object> params,UserEntity user){
        EntityWrapper<UserEntity> ew = new EntityWrapper<UserEntity>();
        PageUtils page = userService.queryPage(params, MPUtil.sort(MPUtil.between(MPUtil.allLike(ew, user), params), params));
        return R.ok().put("data", page);
    }

    /**
     * 信息
     */
    @RequestMapping("/info/{id}")
    public R info(@PathVariable("id") String id){
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }
    
    /**
     * 获取用户的session用户信息
     */
    @RequestMapping("/session")
    public R getCurrUser(HttpServletRequest request){
        Integer id = (Integer)request.getSession().getAttribute("userId");
        UserEntity user = userService.selectById(id);
        return R.ok().put("data", user);
    }

    /**
     * 保存
     */
    @PostMapping("/save")
    public R save(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        if(userService.selectOne(new EntityWrapper<UserEntity>().eq("username", user.getUsername())) !=null) {
            return R.error("用户已存在");
        }
        userService.insert(user);
        return R.ok();
    }

    /**
     * 修改
     */
    @RequestMapping("/update")
    public R update(@RequestBody UserEntity user){
//        ValidatorUtils.validateEntity(user);
        userService.updateById(user);//全部更新
        return R.ok();
    }

    /**
     * 删除
     */
    @RequestMapping("/delete")
    public R delete(@RequestBody Integer[] ids){
        userService.deleteBatchIds(Arrays.asList(ids));
        return R.ok();
    }
}

推荐项目:

基于SpringBoot+Vue四川自驾游攻略管理系统设计和实现

基于SpringBoot+Vue+安卓APP计算机精品课程学习系统设计和实现

基于Python+大数据城市景观画像可视化系统设计和实现

基于大数据+Hadoop的豆瓣电子图书推荐系统设计和实现

基于微信小程序+Springboot线上租房平台设计和实现-三端

2022-2024年最全的计算机软件毕业设计选题大全

基于Java+SpringBoot+Vue前后端分离手机销售商城系统设计和实现

基于Java+SpringBoot+Vue前后端分离仓库管理系统设计实现

基于SpringBoot+uniapp微信小程序校园点餐平台详细设计和实现

基于Java+SpringBoot+Vue+echarts健身房管理系统设计和实现

基于JavaSpringBoot+Vue+uniapp微信小程序实现鲜花商城购物系统

基于Java+SpringBoot+Vue前后端分离摄影分享网站平台系统 

基于Java+SpringBoot+Vue前后端分离餐厅点餐管理系统设计和实现

基于Python热门旅游景点数据分析系统设计与实现

项目案例: 

 

为什么选择我

   博主本身从事开发软件开发、有丰富的编程能力和水平、累积给上千名同学进行辅导、全网累积粉丝超过50W。是优快云特邀作者、博客专家、新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流和合作。

源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻获取联系方式👇🏻

 精彩专栏推荐订阅:在下方专栏👇🏻

2022-2024年最全的计算机软件毕业设计选题大全:1000个热门选题推荐✅

Java项目精品实战案例《100套》

Java微信小程序项目实战《100套》

Python项目实战《100套》

手把手教你双目测距理论及生成视差图,深度图,点云图像 Stereo Vision, 也叫双目立体视觉,它的研究可以帮助我们更好的理解人类的双眼是如何进行深度感知的。双目视觉在许多领域得到了应用,例如城市三维重建、3D模型构建(如kinect fusion)、视角合成、3D跟踪、机器人导航(自动驾驶)、人类运动捕捉(Microsoft Kinect)等等。双目测距也属于双目立体视觉的一个应用领域,双目测距的基本原理主要是三角测量原理,即通过视差来判定物体的远近。 阅读详情

相关推荐

GraphSense介绍

GraphSense是一个跨账本加密货币分析平台 它的介绍在这里 代码也是开源的 graphsense-dashboard 用于交互式加密货币分析的Web仪表板。 可以看导进数据的情况 graphsense-transformation 基于spark/cassandra/java服务运行 GraphSense转换管道,用于将加密货币的区块/交易/标签等数据导入,可以看它指定的json格式: t...

幸福诗歌的博客 1083

基于微信小程序+SpringBoot+Vue+数据可视化的共享雨伞租赁系统设计和实现(源码+LW+部署讲解)

微信小程序的共享雨伞租赁系统是一种基于移动互联网和物联网技术的创新型服务应用。它通过在公共场所部署智能雨伞租赁设备,并通过微信小程序平台提供用户界面和服务接口,实现了便捷的雨伞租借和归还服务。用户只需在微信中扫描设备上的二维码,即可完成雨伞的租借操作,使用完毕后再将雨伞归还至租赁点,系统结算费用。微信小程序共享雨伞租赁系统的推出,不仅解决了城市居民在雨天出行的即时需求,也推动了共享经济的发展,体现了绿色环保的理念。

qq_39126426的博客 1197

模型量化必知:Per-Tensor和Per-Channel到底怎么选?

本文深入解析了模型量化中Per-Tensor与Per-Channel两种核心策略的抉择。Per-Tensor量化实现简单、硬件兼容性极佳,适合激活值或分布均匀的权重;而Per-Channel量化精度更高,能更好地处理权重分布不均的卷积层,是现代CNN权重量化的主流。文章提供了从硬件平台、数值分布到精度需求的实战决策框架,并推荐了“权重Per-Channel,激活Per-Tensor”的混合量化最佳实践。

assembly8low的博客 983

基于SpringBoot+Vue+数据可视化的校园电动车租赁系统设计和实现(源码+论文+部署讲解等)

随着校园内出行需求的增加,传统的自行车租赁方式已经无法满足学生和教职工的需求。为此,我们设计并实现了一款基于Spring Boot的校园电动车租赁系统。该系统采用了前后端分离的设计模式,前端使用Vue.js框架进行开发,后端使用Spring Boot框架进行搭建。通过整合MySQL数据库等技术,实现了用户注册、登录、电动车租赁、还车以及报障反馈等功能。在管理员端,管理员可以对用户信息、电动车信息、租赁信息等进行管理和监控。

java李阳勇的博客 1788

SAP ABAP实战:手把手教你用BAPI_BILLINGDOC_CREATEMULTIPLE批量开票(附完整代码与避坑指南)

本文详细解析了SAP ABAP中BAPI_BILLINGDOC_CREATEMULTIPLE批量开票的全流程,包括参数配置、事务控制、错误处理及性能优化。通过实战案例和完整代码示例,帮助开发者高效处理大批量发票生成任务,避免常见陷阱,提升开发效率。

weixin_34101914的博客 267

LeGo-LOAM源码篇:源码分析(3)

mapOptmization.cpp,主要内容包括回环检测、scan-to-map位姿优化、因子图。

slamml 1383

基于SpringBoot+Vue+数据可视化的微信小程序的共享雨伞租赁系统设计和实现(源码+LW+部署讲解)

微信小程序的共享雨伞租赁系统是一种基于移动互联网和物联网技术的创新型服务应用。它通过在公共场所部署智能雨伞租赁设备,并通过微信小程序平台提供用户界面和服务接口,实现了便捷的雨伞租借和归还服务。用户只需在微信中扫描设备上的二维码,即可完成雨伞的租借操作,使用完毕后再将雨伞归还至租赁点,系统结算费用。微信小程序共享雨伞租赁系统的推出,不仅解决了城市居民在雨天出行的即时需求,也推动了共享经济的发展,体现了绿色环保的理念。

qq_39126426的博客 1316

手把手教你用DLP4500投影仪玩转结构光3D扫描(附固件烧录与序列设置避坑指南)

本文详细解析了如何使用DLP4500投影仪搭建结构光3D扫描系统,涵盖硬件组装、固件烧录、图案生成与优化等全流程。重点解决了固件烧录失败、图像格式错误等常见问题,并提供了实用的避坑指南和进阶技巧,帮助读者快速掌握DLP4500在3D扫描中的应用。

weixin_42662293的博客 302

基于SpringBoot+Vue的汽车共享租赁和交易平台设计和实现(2025最新项目-源码+论文+部署讲解等)

社区车共享平台是一个综合性的在线服务系统,旨在为用户提供便捷高效的汽车租赁体验。该平台涵盖了多种车型和品牌,以满足不同用户的需求。通过平台,用户可以进行车辆预约、创建交易订单,并在需要时取消已有的预约。平台还提供详尽的租赁订单管理功能,包括取车信息提示和车辆归还流程。为了提升服务质量,平台还引入了评价反馈机制,让用户在享受服务后能够分享自己的体验和建议。留言反馈功能确保了用户的任何疑问或问题都能得到及时的响应和处理。社区汽车共享平台通过集成多项实用功能,致力于打造一个无缝且用户友好的汽车共享环境。

java李阳勇的博客 9460

开关电源中的高频振荡噪声及其抑制方法

在开关电源的工作过程中,随着开关管的开关动作,电流和电压波形会出现剧烈的波动,尤其是在开关管切换的瞬间,往往会导致较强的过冲现象。开关电源中的高频振荡噪声是导致电磁兼容问题的主要源头之一,尤其是MOS管的通断和整流二极管的反向恢复过程中,会产生较强的高频振荡噪声。通过合理调节R和C的值,可以大大缓解高频振荡带来的EMC问题,从而有效提升电源的电磁兼容性。整流二极管反向恢复时的振荡会导致高频噪声产生,这些高频噪声源可被传导到电源的输出端,甚至可能通过电源的共地路径扩散到其他电路,影响系统的稳定性和可靠性。

硬核科技 1532

OpenHarmony Stage模型深度解剖:从Ability Kit到沙箱隔离的全链路底层原理

基于微内核架构,提供进程管理、内存管理、IPC通信等基础能力:包含V8引擎、ArkTS运行时、渲染引擎等核心组件:Ability Kit框架,提供应用生命周期管理、组件调度等能力:基于Stage模型的应用程序。

m0_67505153的博客 192

基于数据可视化+SpringBoot+Vue的车辆租赁综合管理平台设计和实现(源码+论文+部署讲解等)

在线车辆租赁信息管理系统的建设在现代社会中具有重要的现实意义和经济价值。随着共享经济模式的普及和人们对灵活出行需求的不断增加,车辆租赁业务日益成为城市交通的重要补充。然而,传统的车辆租赁方式存在信息分散、租赁手续繁琐、服务效率低下等问题,不仅增加了客户租赁车辆的时间成本和沟通成本,也限制了租赁公司的运营效率和市场竞争力。因此,在线车辆租赁信息管理系统的开发,可以通过数字化、智能化的手段,实现租赁服务的高效管理与资源优化配置,为用户和企业带来多重便利。

java李阳勇的博客 1346

反激电源及其变压器计算与绕制

本内容以一个宽电压输入 24V3A 输出的 72W 反激电源为例来计算电路的各个参数和器件选型,包含反激变压器的计算与绕制方法。

让你爱上电路设计 1940

微信小程序毕业设计-基于springboot+vue的共享雨伞租赁系统设计和实现,基于springboot的在线共享雨伞租赁服务平台设计和实现(源码+LW+部署文档+远程调试+代码讲解等)

基于springboot+vue的共享雨伞租赁系统设计和实现,基于springboot的在线共享雨伞租赁服务平台设计和实现

项目帮 2307

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

微信小程序毕业设计-基于springboot+vue的共享雨伞租赁系统设计和实现,基于springboot的在线共享雨具雨伞租赁服务平台设计和实现(源码+LW+部署文档+远程调试+代码讲解等)

微信小程序毕业设计-基于springboot+vue的共享雨伞租赁系统设计和实现,基于springboot的在线共享雨具雨伞租赁服务平台设计和实现(源码+LW+部署文档+远程调试+代码讲解等)

我的个人博客:https://bishe666.top 1033

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

java毕业设计-基于springboot+vue的社区汽车共享管理系统设计和实现,基于springboot的汽车共享租赁和交易线上平台设计和实现(源码+LW+部署文档+远程调试+代码讲解等)

java毕业设计-基于springboot+vue的社区汽车共享管理系统设计和实现,基于springboot的汽车共享租赁和交易线上平台设计和实现(源码+LW+部署文档+远程调试+代码讲解等)

我的个人博客:https://bishe666.top 1223

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

基于java(ssm)共享充电宝管理系统设计与实现(源码+lw+部署文档+讲解等)

共享充电宝管理系统是一个综合性的Web应用程序,主要面向用户、维护人员和管理员三个角色。通过该系统,用户可以方便地租赁、归还充电宝,维护人员负责充电宝的投放和维护,管理员则管理整个系统的运行。

2401_82770201的博客 2072

基于SpringBoot+Vue的共享汽车租赁平台设计与实现(源码+lw+部署+讲解)

博主介绍:✌优快云特邀作者、全栈领域优质创作者、10年IT从业经验、码云/掘金/知乎/B站/华为云/阿里云等平台优质作者,计算机毕设实战导师,目前专注于大学生项目实战开发,讲解,毕业答疑辅导,欢迎高校老师/同行前辈交流合作✌技术栈范围:SpringBoot、Vue、SSM、HLML、Nodejs、Python、PHP、爬虫、数据可视化、小程序、安卓app、大数据等设计与开发。主要服务内容免费功能设计、选题定题、开题报告、任务书、程序开发、论文编写和辅导、论文降重、程序讲解、答辩辅导等,欢迎咨询~

qq_33638415的博客 1244

基于协同过滤推荐算法+SpringBoot的社区汽车共享平台设计和实现(2025最新项目-源码+论文+部署讲解等)

社区汽车共享平台是一个综合性的在线服务系统,旨在为用户提供便捷高效的汽车租赁体验。该平台涵盖了多种车型和品牌,以满足不同用户的需求。通过平台,用户可以进行车辆预约、创建交易订单,并在需要时取消已有的预约。平台还提供详尽的租赁订单管理功能,包括取车信息提示和车辆归还流程。为了提升服务质量,平台还引入了评价反馈机制,让用户在享受服务后能够分享自己的体验和建议。留言反馈功能确保了用户的任何疑问或问题都能得到及时的响应和处理。社区汽车共享平台通过集成多项实用功能,致力于打造一个无缝且用户友好的汽车共享环境。

java李阳勇的博客 9177

微信小程序毕业设计-基于springboot+vue的共享雨伞租赁系统设计和实现,基于springboot的在线共享雨伞租赁服务平台设计和实现推荐(源码+LW+部署文档+远程调试+代码讲解等)

微信小程序毕业设计-基于springboot+vue的共享雨伞租赁系统设计和实现,基于springboot的在线共享雨伞租赁服务平台设计和实现推荐(源码+LW+部署文档+远程调试+代码讲解等)

项目帮 935
上一篇: 基于SpringBoot+Vue+数据可视化的校园电动车租赁系统设计和实现(源码+论文+部署讲解等)
下一篇: 基于SpringBoot+Vue+数据可视化的校园研招网平台设计和实现(源码+论文+部署讲解等)
奥斯卡1号
博客等级 码龄5年 1万+粉丝 1134原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值