【华夏OA项目实战】E2-20 创建微服务MIS子系统项目

【数字IC验证快速入门】26、SystemVerilog项目实践之AHB-SRAMC(6)(AHB-SRAMC SVTB Overview) 导读:作者有幸在中国电子信息领域的排头兵院校“电子科技大学”攻读研究生期间,接触到前沿的数字IC验证知识,旁听到诸如华为海思、清华紫光、联发科技等业界顶尖集成电路相关企业面授课程,对数字IC验证有了一些知识积累和学习心得。为帮助想入门前端IC验证的朋友,思忱一二后,特开此专栏,以期花最短的时间,走最少的弯路,学最多的IC验证技术知识。 文章目录一、内容概述二、AHB-SRAMC 验证计划 一、内容概述 AHB-SRAMC 验证计划 AHB-SRAMC 验证平台的架构图 AHB-SRAMC 验证平台的代. 阅读详情

本课程开发软件与项目初始代码可以通过云盘下载,答疑服务可以关注视频片头的二维码获取。
https://www.123912.com/s/A75eVv-27mod,提取码:yton

教学视频

目前我们已经有了Provider项目,这节课我们把Consumer项目创建出来。Consumer项目也就是BFF项目,它也是一个SpringMVC项目。由于创建项目的步骤比较繁琐,大家收看视频不要快进,否则将来要花十倍时间调试。

一、创建hxoa-mis项目

在hxoa-cloud根节点项目中,新建名为hxoa-mis的模块。

在下面的面板中不需要勾选任何依赖库,直接把项目创建出来即可。

项目创建出来之后,依旧需要我们删除一些文件与文件夹。

二、添加依赖库

覆盖该项目的pom.xml文件,在里面添加上必要的依赖库,例如Seata、RabbitMQ、SaToken这样的依赖库。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <parent>
        <groupId>com.example</groupId>
        <artifactId>hxoa-cloud</artifactId>
        <version>0.0.1-SNAPSHOT</version>
    </parent>
    <groupId>com.example</groupId>
    <artifactId>hxoa-mis</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>hxoa-mis</name>
    <description>hxoa-mis</description>
    <url/>
    <licenses>
        <license/>
    </licenses>
    <developers>
        <developer/>
    </developers>
    <scm>
        <connection/>
        <developerConnection/>
        <tag/>
        <url/>
    </scm>
    <properties>
        <java.version>23</java.version>
    </properties>
    <dependencies>
        <!--依赖公共模块-->
        <dependency>
            <groupId>com.example</groupId>
            <artifactId>hxoa-common</artifactId>
            <version>0.0.1-SNAPSHOT</version>
        </dependency>
        <!--SaToken-->
        <dependency>
            <groupId>cn.dev33</groupId>
            <artifactId>sa-token-spring-boot3-starter</artifactId>
            <version>1.37.0</version>
        </dependency>
        <dependency>
            <groupId>cn.dev33</groupId>
            <artifactId>sa-token-redis</artifactId>
            <version>1.37.0</version>
        </dependency>
        <dependency>
            <groupId>cn.dev33</groupId>
            <artifactId>sa-token-spring-aop</artifactId>
            <version>1.37.0</version>
        </dependency>
        <dependency>
            <groupId>cn.dev33</groupId>
            <artifactId>sa-token-alone-redis</artifactId>
            <version>1.37.0</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
            <version>2.11.1</version>
        </dependency>
        <!--Seata-->
        <dependency>
            <groupId>io.seata</groupId>
            <artifactId>seata-spring-boot-starter</artifactId>
            <version>2.0.0</version>
        </dependency>
        <!--RabbitMQ-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
            <version>3.3.5</version>
        </dependency>
        <!--Freemarker-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
            <version>3.3.5</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>

</project>

接下来要把该项目注册到根节点项目,在根节点项目的pom.xml文件中,找到<modules>标签填上内容。

<modules>
    <module>hxoa-common</module>
    <module>hxoa-oms</module>
    <module>hxoa-mis</module>
</modules>

三、定义配置信息

在hxoa命名空间中,新建<font style="color:rgb(51, 51, 51);">hxoa-mis-dev.yaml</font>配置,内容如下:

server:
  port: 5011

spring:
  servlet:
    multipart:
      #允许上传文件
      enabled: true
      #每个文件最大不能超过20M
      max-file-size: 20MB
      #HTTP请求不能超过20M
      max-request-size: 50MB

  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest
    
  freemarker:
    template-loader-path: classpath:/templates/

redisson:
  url: redis://localhost:6379
  password: 你的redis密码
  database: 0
  minIdleSize: 10
  poolSize: 100
  idleConnectionTimeout: 10000
  connectTimeout: 10000
dubbo:
  application:
    name: hxoa-mis
    serialize-check-status: WARN
    qos-port: 5012
    #关闭Dubbo本地缓存,避免负载均衡时候本地运行多个相同服务出现异常
    enable-file-cache: false
  reference: 
    check: false
  registry:
    #把服务注册到Nacos上面
    address: nacos://localhost:8848
    timeout: 50000
    username: nacos
    password: 你的Nacos密码
    parameters:
      namespace: 你的命名空间ID
  protocol:
    name: dubbo
    port: 5013
  scan:
    base-packages: com.example.hxoa.cloud.dubbo
  consumer:
    filter: DubboExceptionFilter,-exception
    timeout: 10000


sa-token:
  #HTTP请求头中哪个属性用来上传令牌
  token-name: token
  #过期时间(秒),设置为30天
  timeout: 2592000
  #临时有效期,设置为3天
  active-timeout: 259200
  #不允许相同账号同时在线,新登陆的账号会挤掉原来登陆的账号
  allow-concurrent-login: true
  #在登陆相同账号的时候,是否使用相同的Token
  is-share: false
  token-style: uuid
  #是否读取Cookie中的令牌
  isReadCookie: false
  #同端互斥
  isConcurrent: true
  #SaToken缓存令牌用其他的逻辑库,避免业务数据和令牌数据共用相同的Redis逻辑库
  alone-redis:
    database: 1
    host: localhost
    port: 6379
    password: 你的Redis密码
    timeout: 10s
    lettuce:
      pool:
        #连接池中的最小空闲连接
        min-idle: 4
        #连接池中的最大空闲连接
        max-idle: 8
        #连接池最大连接数
        max-active: 200
        #连接池最大阻塞等待时间(使用负值表示没有限制)
        max-wait: 10s

minio:
  endpoint: http://localhost:9000
  access-key: 你的Minio用户名
  secret-key: 你的Minio密码
  bucket: hxoa

seata:
  #当前应用的别名
  application-id: hxoa-mis
  #事务组名称
  tx-service-group: hxoa-cloud_group
  service:
    #是否开启服务降级
    enable-degrade: false
    vgroupMapping:
      #事务组关联哪个TC
      hxoa-cloud_group: hxoa-cloud_tc
    grouplist:
      #配置TC
      hxoa-cloud_tc: localhost:8091
  data-source-proxy-mode: AT

logging:
  level:
    #SpringBoot日志级别
    root: info
  pattern:
    console: "%d{HH:mm:ss}  %-5level  %msg%n"

wx:
  pay:
    appId: 课程提供的APPID
    mchId: 课程提供的商户号
    api-v3-key: 课程提供的秘钥
    keyPath: classpath:apiclient_cert.p12
    privateCertPath: classpath:apiclient_cert.pem
    privateKeyPath: classpath:apiclient_key.pem
    domain: http://s0.nsloop.com:123456

必须把hxoa-mis子系统中application.properties文件删掉,然后创建bootstrap.yml文件。

nacos:
  url: localhost:8848
  namespace: 你的命名空间ID
  username: nacos
  password: 你的Nacos密码
  group: DEFAULT_GROUP
  prefix: ${spring.application.name}

sentinel:
  dashboard: localhost:8718
  port: 8719

spring:
  application:
    name: hxoa-mis
  cloud:
    inetutils:
      #设置当前项目注册到Nacos上面的IP地址
      preferred-networks: localhost
    nacos:
      discovery:
        server-addr: ${nacos.url}
        namespace: ${nacos.namespace}
        username: ${nacos.username}
        password: ${nacos.password}
      config:
        server-addr: ${nacos.url}
        username: ${nacos.username}
        password: ${nacos.password}
        file-extension: yaml
        refresh-enabled: true
        namespace: ${nacos.namespace}
        group: ${nacos.group}
        prefix: ${nacos.prefix}
    sentinel:
      web-context-unify: false
      transport:
        port: ${sentinel.port}
        dashboard: ${sentinel.dashboard}
      datasource:
        #读取Nacos上面的限流规则
        flow-rule:
          nacos:
            data-id: ${spring.application.name}_flow.json
            server-addr: ${nacos.url}
            username: ${nacos.username}
            password: ${nacos.password}
            namespace: ${nacos.namespace}
            group-id: ${nacos.group}
            #指定文件配置的是哪种规则 flow是流控,degrade是熔断,param-flow是热点参数
            rule-type: flow
        #读取Nacos上面的熔断规则
        degrade-rule:
          nacos:
            data-id: ${spring.application.name}_degrade.json
            server-addr: ${nacos.url}
            username: ${nacos.username}
            password: ${nacos.password}
            namespace: ${nacos.namespace}
            group-id: ${nacos.group}
            rule-type: degrade
        #读取Nacos上面的热点参数限流规则
        param-rule:
          nacos:
            data-id: ${spring.application.name}_param.json
            server-addr: ${nacos.url}
            username: ${nacos.username}
            password: ${nacos.password}
            namespace: ${nacos.namespace}
            group-id: ${nacos.group}
            rule-type: param-flow
  profiles:
    active: dev
YOLOv11全方位改进指南:卷积层、轻量化、注意力、损失函数等创新优化一览 YOLOv11通过八大核心模块的创新设计,在保持YOLO系列实时性的同时显著提升检测精度。本文提出的可变形卷积DCNv4多模态注意力动态解耦头等创新方案,已在工业质检、自动驾驶、无人机巡检等领域成功应用。完整项目地址预训练模型:包含从nano到x六个规格在线演示创新声明首次在YOLO系列集成DCNv4,小目标检测AP提升8.2%提出多模态混合注意力(MMAttention),兼顾通道与空间关系动态标签分配策略使训练效率提升40% 阅读详情

相关推荐

CentOS 9 Stream 上安装 MySQL 8.0+

根据提示进行设置,包括设置新的 root 密码、禁用远程 root 登录等。MySQL 在首次安装时会生成一个临时密码。这样就完成了 MySQL 8.0.37 的安装。这将安装最新的 MySQL 8.0 版本。

小强不是坑 1679

【华夏OA项目实战】E2-27 运行微服务MIS子系统

Alibaba Spring Cloud + Dubbo3.0架构的微服务在线办公OA系统实战开发。

qq_40379416的博客 347

【华夏OA项目实战】3-20 后端实现修改用户信息RESTful接口

Alibaba Spring Cloud + Dubbo3.0架构的微服务在线办公OA系统实战开发。

qq_40379416的博客 548

XGBoost原生接口和Sklearn接口参数详解

XGBoost原生接口和Sklearn接口参数详解

算法工程师 2654

图神经网络实战(6)——使用PyTorch构建图神经网络

图数据集通常比简单的连接集合更加丰富,因为节点和边可以具有表示分数、颜色、单词等特征。包含这些额外信息在输入数据中对于生成最佳嵌入至关重要。在本节中,我们将使用 Cora 和 Facebook Page-Page 数据集,首先将它们视为表格数据集,观察香草神经网络在节点特征上的表现如何。然后,尝试在神经网络中加入拓扑信息,实现图神经网络 (Graph Neural Networks, GNN) 架构:一个同时考虑节点特征和边的简单模型。最后,我们将比较两种架构的性能。

盼小辉丶的博客 2万+

【华夏OA项目实战】3-15 后端实现添加人员的RESTful接口

Alibaba Spring Cloud + Dubbo3.0架构的微服务在线办公OA系统实战开发。

qq_40379416的博客 400

《SOC架构-ARM架构-文档导读》-目录

小白请看“Armv8/Armv9架构从入门到精通”专栏。以翻译为主的,深度深度深度深度/深入深入深入 学习ARM架构的文章。

baron-周贺贺-代码改变世界ctw 2085

深入操作系统原理:从《操作系统导论》看微服务网关限流熔断机

在现代分布式系统中,微服务架构已经成为了主流,而微服务网关作为整个系统的第一道防线,承担着流量控制、路由转发、鉴权等核心功能。在实际开发中,我们常常会遇到“服务雪崩”“请求超时”“服务器资源耗尽”等异常情况。这些问题的根源往往与操作系统的调度机制、资源管理以及网络通信的底层实现息息相关。本文将结合经典技术书籍《操作系统导论》中的核心理论知识,从底层系统原理出发,深入探讨微服务网关中的限流与熔断机制,帮助读者建立起系统化的知识图谱。

wuchangjian的专栏 243

[RK3568 Android11] 开发之默认授予系统预置的APP权限

目录 一、系统预置的APP权限 二、默认授予系统预置的APP权限 一、系统预置的APP权限 1、在打开系统预置的APP时,都会弹窗提示,并且需要人工确定授予权限; 2、有些客户对定制有需求,需要系统预置的APP自动默认授予权限; 二、默认授予系统预置的APP权限 注意此方法只对系统预置的APP起效果,后期手动安装的APP无效; 修改文件: frameworks/base/services/core/java/com/android/server/pm/per...

~未来可期~ 5059

Diffusion Models扩散模型与深度学习(数学原理和代码解读)

​ 此前GANs霸占各大顶会很多年,DDPM的出现让人耳目一新!经过这两年的发展,Diffusion Models能在图像生成、超分辨率重建、点云生成、语音生成等领域达到SOTA。这篇文章旨在帮助没有了解过的读者入门,《Diffusion Models与深度学习专栏》已经写了将近三十篇文章,既有原理公式和必备基础知识的讲解,也有代码详细实战解读,还有前沿热门应用,欢迎读者订阅。

沉迷单车的追风少年 4万+

VortMall微服务商城系统v1.3.26 供应链后台菜单优化与供应商代发流程说明

在 VortMall 微服务商城系统中,供应商提供货源并维护库存,店铺选货铺货并向消费者销售。供应商代发时,供货方处理发货,消费者通过订单查看物流;发生退换货时,店铺、平台和供应商按业务规则协作。v1.3.26 调整了供应链后台“采购管理”“供应商管理”和“设置”三个分组的图标。本文结合这次界面调整,梳理系统已有的供销与履约流程。

VortMall的博客 399

YOLOv8改进-利用图像去雾网络UnfogNet提升检测精度的探索【附核心模块代码】

YOLOv8-UnfogNet联合模型的提出为目标检测和图像去雾领域提供了一个新的思路。通过将图像去雾网络和目标检测网络结合,不仅可以提升在恶劣天气下的目标检测精度,还能够为实际应用中的自动驾驶、监控安防等领域带来更强的鲁棒性和适应性。随着去雾技术和目标检测算法的不断发展,我们相信,这种联合方法将在多个领域中获得更加广泛的应用,并为进一步提升图像质量和检测精度做出重要贡献。

一键难忘的博客 3202

微服务与单体的取舍

微服务非技术升级,而是组织与运维能力的变现。收益(故障隔离、独立扩展、发布、边界清晰)随规模放大,成本却一次性支付。拆分需满足团队超十人、负载差异大、发布互阻、领域稳定四条件。否则应优先采用模块化单体——代码分层、接口约束,边界清晰,未来可平滑拆分。避免按技术层划分服务,坚持“一服务一数据所有权”。拆分前确保基础设施完备,且以具体痛点为信号,逐步推进,先拆最痛处,验证后再行扩展。

2401_89855466的博客 280

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

微服务网关中的安全风险与限流熔断策略深度解析

在现代的微服务架构中,网关作为系统的第一道防线,承担了请求路由、鉴权、限流与熔断等核心功能。然而,随着业务复杂度的提升,安全风险也随之增加,尤其是在没有合理配置限流和熔断机制的情况下,网关可能成为攻击者渗透系统的入口。本文将从渗透测试的角度出发,深入剖析微服务网关在安全防护方面的常见问题,并结合限流与熔断的实际场景,提供可操作的安全加固方案。

后台模板 182

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【C++ 基于微服务的即时通讯系统】用户管理子服务架构设计与MySQL ODB数据层落地

前面我们陆续落地了语音识别、文件存储两个独立子服务,把微服务的标准开发流程完整跑通了一遍。从这篇开始,我们正式进入核心业务模块的开发,第一个要啃的就是用户管理子服务。用户服务是整个IM系统的账号基石,所有业务都依赖用户身份体系。它也是目前为止依赖最复杂的服务:既要用MySQL存用户元数据,用Redis存会话和验证码,用ES做用户搜索,还要跨服务调用文件服务管理头像。内容比较多,我们分两篇来写,这一篇先讲整体架构设计,再重点拆解最基础的MySQL数据层,基于ODB框架完成完整的ORM封装和测试验证。

会当凌绝顶,一览众山小 2351

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

从微服务到 AI Agent 全栈实战笔记

基础框架:Spring Boot 3.3.x / 3.4.x微服务组件:Spring Cloud 2023.0.x / Spring Cloud Alibaba 2023.0.xAI 框架:Spring AI 1.0.x + Spring AI Alibaba (DashScope)核心中间件:Nacos (注册/配置中心)、MySQL、MyBatis-Plus服务注册与发现:所有服务启动时向 Nacos 报到,互相调用时通过服务名(如 )去 Nacos 查询真实 IP。配置中心:废弃 ,统一使用 中的

2503_93626619的博客 171

【C++ 基于微服务的即时通讯系统】文件存储子服务实战:UUID生成、文件IO封装与全接口单元测试

上一篇我们落地了第一个业务子服务——语音识别,把微服务的标准开发流程完整走了一遍。这一篇趁热打铁,落地第二个独立服务:文件存储子服务。之所以第二个选它,原因和语音服务一样:它和其他子服务的业务交叉最少,职责单一闭环,只需要管好文件的上传下载。更重要的是,开发它的过程中能沉淀出两个通用公共组件:UUID 唯一ID生成器和二进制文件读写封装,后面用户、消息、好友等所有服务都能直接复用。本文顺着「设计思想 → 框架搭建 → 公共工具 → 业务实现 → 单元测试 → 踩坑修复」的完整开发路径,一步步拆解文件存储子服

会当凌绝顶,一览众山小 2047

基于Spring Boot 2.x开发的微服务访问Redis的方案

回到最初的问题:Spring Boot 2.x 微服务该用哪个 Redis 客户端?默认选 Lettuce:Boot 2.x 官方默认,Netty 异步模型,线程安全,单连接高并发,是绝大多数场景的最优解。Jedis 不是不能用:历史项目、简单同步场景依然可靠,但要把连接池参数调好,并清楚它的阻塞模型限制。Redisson 是能力补充:分布式锁、限流、布隆过滤器等开箱即用,建议与 Lettuce 共存而非替换。客户端选型只是起点,真正决定线上稳定性的,是序列化统一、连接池合理、超时可控、监控到位。

流水账 726

单体与微服务取舍

微服务适合所有项目吗?什么时候应该用单体?

SCscHero的博客 174

Rust如何实现微服务网关的高并发与限流熔断机制

在现代互联网系统中,微服务架构已成为主流,而微服务网关则是整个系统的重要组成部分。当面对高并发、高可用性需求时,很多开发者对如何用 Rust 实现一个稳定可靠的网关存在疑惑,尤其是处理请求的幂等性、限流和熔断机制。本文将以 Rust 的实际案例为基础,结合生产环境中的具体经验,讲解如何设计和实现一个具备限流与熔断能力的微服务网关。

wuchangjian的专栏 101

C++ 微服务 IM 骨架开箱:目录规划、架构分层与全量接口清单

梳理 C++ 即时通讯微服务的开箱骨架:先回顾服务分层与调用链,再给出单仓目录规划、proto 契约与 CMake 装配,附全量接口表和冒烟排错清单。

2301_78967866的博客 202

带着小白学习-微服务-5 实战:配置中心-为server-store配置数据库连接

如前所述,服务治理主要包含注册中心,前面所有的微服务子工程均已注册到nacos,然后由相应的应用到nacos进行拉取。接下来,我们将使用nacos的配置中心,用于保存和分发应用运行所需的动态配置。比如数据库的各类信息等。

wdyan297的博客 224

RPC与网络通信:如何让微服务之间“顺畅对话”?

本文从真实故障出发,剖析微服务间RPC通信的五大核心陷阱:超时配置缺失导致雪崩、重试策略放大请求压力、注册中心缓存引发发布期报错、序列化兼容性问题及异常类型混淆。通过可落地的配置示例(如gRPC默认超时拦截器、关闭LoadBalancer缓存)与实践原则(超时逐层递减、仅幂等接口重试),揭示如何构建稳定可靠的远程调用链路,适合正在被调用链稳定性困扰的后端开发者与SRE。

2302_80138126的博客 748

微服务大全

Cancel阶段就是在有参与者Try失败时,回滚之前的操作,释放预留的资源,这样就保证了事务最终一致性,适合那些业务流程异步化成都高、对实时性要求没那么强的场景,比如电商系统里下单后发送通知消息这类操作。它通过Try、Confirm、Cancel三个阶段来保证事务的最终一致性,适合业务逻辑中数据一致性要求强,并且业务操作有补偿机制的场景。基于消息队列的方案:一般会把事务提交分成两步,先发送消息到消息队列,等消息被正常消费后,再正式提交事务。如果消费失败,就会进行重试或者补偿操作,从而保证事务的一致性。

qq_39326137的博客 173

微服务体系下DevOps运维岗位面试方案设计

建立岗位题库与评分卡:把本文的考察点固化为结构化评分表,减少面试官主观漂移。面试官认证与校准:定期做「同候选人多人评分」校准,提升一致性。持续迭代题库:每季度根据真实招聘结果回看,淘汰区分度低的问题。候选人侧:把 STAR 案例当成工程资产来维护,每次项目结束就沉淀一份,面试时自然从容。微服务下的 DevOps 与运维岗位,考察的核心不是「你会不会用某个工具」,而是面对复杂系统时,能否用工程化手段持续降低不确定性。用 STAR 原则把这一点问出来、讲出来,面试双方都能少走弯路。

流水账 635
上一篇: 【华夏OA项目实战】E2-19 设置微服务OMS子系统持久层
下一篇: 【华夏OA项目实战】E2-21 创建@Value值注入封装类
神思者I
博客等级 码龄9年 166粉丝 77原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值