初始UML

1,UML是什么?

 

UML是一种标准的图形化建模语言;

 

标准:UML已经达成了一种标准,有更多的人去学习它和使用它;

 

图形化:UML用通过图示记录了对象,行为,属性,合作关系和关联,图形化的东西简单直观,准确,更有利于软件开发的整个生命周期所涉及到的人员之间进行交流;

 

建模:模型是通过用某种工具对事物的一种表达方式,通常会表达出事物最重要的方面而简化或忽略其他方面。模型在软件上主要的作用是,可以在一定的抽象层次上,使人们通过对模型的分析和研究,来制定出最终的软件结构和内部的关系;

 

语言:语言是用来交流的,UML语言,就是在软件开发的整个生命周期中所涉及到的人与人之间进行交流的语言;

 

2,UML有什么?

 

UML由视图构成,视图由图构成,图由图片构成,图片是模型元素的符号化。图是一个具体视图的组成部分,一种视图通常会包含多种图;

 

  • 视图,描述完整系统中的一个抽象,用来显示这个系统中的一个特定方面;
  • 图,用来表示系统的一个特殊部分或某个方面;
  • 模型元素,所有可以在图中使用的概念统称为模型元素;

3,UML视图和图例表

UML

 

UML2.0定义了13中图示:

 

  1. 活动图             活动图可以是概念上的,也可以是功能上的。这种图模型化了一个复杂的用例或者应用逻辑。
  2. 类图                类图列出了软件系统中的类。并且为每一个类详细注明了行为、属性和关系。
  3. 通信图             通信图描述了软件系统的动态部分。它记录了类在合作完成一项任务时所传递的消息(也就是通信)。
  4. 组件图             组件图描述了子系统或者组件组别之间的关系。它提供了一个对软件系统的总览。
  5. 复合结构图       复合结构图展示了一个分类器的内部架构。这个图由很多元素组成,例如部件、合作关系、还有端口。部件表示了分类器的组成。合作关系定义了贯穿部件以及分类器周围的行为。而端口则表示了一个部件所暴露出来的依赖,或是从外部环境引入的依赖。
  6. 部署图             部署图展示了要部署一个软件系统所必须的硬件配置,包括对硬件架构和软件系统之间的关系定义。
  7. 交互概述图       交互概述图是由活动图所衍生出来的,但是它显示了来自不同交互流的概览。在活动图里,交互概述图通常都是用节点来表示的。
  8. 对象图             对象图描述了软件系统在某个特定时刻,对象实例之间的关系。你还可以显示每个实例的状态快照。
  9. 包图                包图通过将相关的分类器组织在一起展示了一个对软件系统的总览。任何组别之间的关系和依赖都会在这个图里描述出来。
  10. 序列图             序列图是一个动态的图示,它展示了软件系统或者其子系统里消息的逻辑流。这可能是最重要也是最常用的图示之一。
  11. 状态机图          状态机图是一个动态的图示,它描述了状态和行为的汇集。这个图示根据在某一时刻特定对象实例的状态展示了软件系统的行为。
  12. 时间图             时间图描绘了时间线上一个或多个对象实例的行为和状态变化的结果。
  13. 用例图             用例图展示了参与者和用例之间的关系。

 

主要是参考《研磨设计模式》和http://www.uml.org.cn/上的资料,想和大家分享下!

一文吃透:从零到一开发一套 ABAP RAP 应用的完整路径 ABAP RAP开发实战摘要 本文系统介绍了ABAP RESTful Application Programming Model (RAP)在企业级应用开发中的实施路径。文章以出差申请业务场景为例,详细拆解了RAP开发的六步主线流程: 数据库表设计:规范主键、审计字段设计 CDS数据建模:通过视图定义业务对象实体及关联 行为定义与实现:使用BDEF声明事务规则,Behavior Pool类实现业务逻辑 业务对象投影:裁剪服务接口视图 服务定义与绑定:按OData协议暴露服务 UI集成测试:支持Fiori E 阅读详情

相关推荐

【紫光同创PG2L200H开发板】盘古200Pro+开发板(MES2L676-200HP)

开发板 SMA接口符合标准 SMA 接口规范,可使用”内螺旋+插针“的 SMA 线连接板卡”外螺旋+插孔”的 SMA 接口进行通信,板卡 SMA 接口与 FPGA 的 HSST 收发器的一路 RX/TX 相连,TX信号和 RX 信号都是以差分信号方式通过隔直电容连接 FPGA 和 SMA 接口, TX 发送和 RX 接收数据速率高达 6.6Gb/s。为了减轻带电插拔造成对 FPGA 芯片的损坏,在设计上在 JTAG 信号位置添加了保护二极管来保证信号的电压在 FPGA 接受的范围,避免 FPGA 的损坏。

MYMINIEYE的博客 2884

UML类图 新手入门

在UML 2.0的13种图形中,类图是使用频率最高的UML图之一。Martin Fowler在其著作《UML Distilled: A Brief Guide to the Standard Object Modeling Language, Third Edition》(《UML精粹:标准对象建模语言简明指南(第3版)》)中有这么一段:“If someone were to come up to...

大乐哥的博客 2096

BlenderGis安装碰到问题,ImageIO、无法点击和地图不加载

BlenderGis安装碰到问题,ImageIO、无法点击和地图不加载问题

qq_45176349的博客 4964

UML| UML类图初识

本文要点 出于在学些设计模式时,我们会看到很多的书籍中都会画出UML类图,这里有必要就UML类图做一个简单的介绍以便在学习中能够更好的理解设计模式的思想. 这里我主要讲讲类图中各个类之间的关系.能看懂类图中各个类之间的线条,箭头代表什么意思后,也就足够应对日常的工作和交流.同时我们应该能将类图所表达的含义和最终的代码对应起来;有了这些知识学习设计模式结构图就会容易很多了. ...

YvesHe的专栏 575

功率电感的设计步骤

学习视频原链接截图1截图2。

qq_32419593的博客 4887

极简JEPA世界模型实战:低门槛复现LeWorldModel,CPU可跑

这次我们来看一个能让普通开发者真正上手跑起来的“世界模型”项目。如果你对Yann LeCun提出的JEPA(联合嵌入预测架构)框架感兴趣,但又苦于Meta官方实现过于庞大复杂,那么这个GitHub上4k star的项目就是为你准备的。它用极简的PyTorch代码(核心文件仅160-278行)完整复刻了包括LeWorldModel在内的五个JEPA核心变体,最大的亮点是: 门槛极低,普通笔记本甚至CPU就能跑,显存占用友好,非常适合学习和原理验证。 这个项目名为 keon/jepa ,完全开源。它剥离了工业级

weixin_29031161的博客 421

UML基础(类)

如先前所提到的,类图的目的是显示建模系统的类型。在大多数的 UML 模型中这些类型包括: 类 接口 数据类型 组件 UML 为这些类型起了一个特别的名字:“分类器”。通常地,你可以把分类器当做类,但在技术上,分类器是更为普遍的术语,它还是引用上面的其它三种类型为好。 ...

bangmaijian5405的博客 329

永磁同步电机矢量控制(十一)——基于损耗模型的PMSM效率优化策略

本文深入探讨了永磁同步电机(PMSM)基于损耗模型的效率优化策略,详细分析了铜损和铁损的构成与建模方法,并提出了最小损耗控制策略的实现方案。通过与传统MTPA控制的对比,展示了在不同工况下的效率提升效果,同时讨论了工程实现中的关键问题与解决方案,为PMSM的高效运行提供了理论支持和实践指导。

7z8x2c4v6b9的博客 231

UML学习笔记—基本概念和初始阶段

chpater1 1、什么是分析和设计 分析:对问题和需求的调查研究 设计:满足需求的概念上的解决方案 做正确的事(分析)和正确地做事(设计) 2、什么是Object-Oriented-Analysis (面向对象分析) 在问题领域发现和描述对象(或概念)*从问题发现需求然后从需求中抽象出对象 * finding and describing the** concepts in (not software object or class) **the problem domain 3、什么是Object-o

Misaki-Mei的博客 742

如何使用3D高斯分布进行环境建模

使用3D高斯分布来进行建模,关键在于通过引入不确定性描述来提高建图的鲁棒性和精度。与传统点云表示相比,3D高斯分布提供了一种更为灵活和有效的方式来处理空间数据,能够通过协方差矩阵表示点的空间不确定性,帮助优化SLAM过程中的定位和地图更新。

JaydenQ的博客 2355

rk3588 Android HDMI IN热插拔解决

1、公司在使用 别的厂商的板卡遇到一个问题,开机我们的app自启就会闪退,后来定位发现是camera 的open出错了,这个问题的出现是因为没有插HDMI IN输入的问题导致的,所以需要对HDMI IN的热插拔进行检测,后面我把这个问题也顺利解决了。下面是我的尝试和使用的解决办法。3、话不多说,我用的是读取系统文件实现的,但是这个方法,需要有status文件的系统读权限,可以修改设备下的/vendor/etc/init/hw/init.rk3588.rc文件修改的权限,这个问题交给自己或者厂家协商解决。

qq_54089476的博客 1919

[读书笔记]UML和模式应用 ---- 初始不是需求阶段

关键字: uml 读书笔记 初始阶段是建立项目共同设想和基本范围的比较简短的起始步骤。是为在随后的细化阶段能够开始编程,他将包括对10%的用例进行分析、关键的非功能性需求的分析、业务案例创建和开发环境的准备。 用一句话来概括初始阶段: 预见项目的范围、设想和业务案例。 用一句话来概括初始阶段要解决的主要问题: 涉众是否就项目设想基本达成一致、...

南村土人 177

一文搞定离线环境下的RAG引擎部署

在人工智能浪潮下,技术已成为构建智能问答、文档分析和代码助手等应用的核心。然而,在许多企业场景中,出于数据安全和性能的考虑,服务器往往部署在中,并要求极致的推理效率。这给依赖外部资源的应用部署带来了巨大挑战。如何在这种严苛的环境下,完整、可靠地部署一套包含向量数据库、**高性能推理服务(vLLM)**和Python后台的复杂RAG系统呢?本文将为你提供一个,手把手教你如何使用 Docker 技术,将一套基于 Weaviate 和的 Python RAG 应用完整打包,并在离线环境中一键部署。

木鱼时刻的专栏 1242

初始 — UML

UML(Unified Modeling Language )又称统一建模语言或标准建模语言,是始于1997年一个OMG标准,它是一个支持模型化和软件系统开发的图形化语言,为软件开发的所有阶段提供模型化和可视化支持,包括由需求分析到规格,到构造和配置。 面向对象的分析与设计(OOA&D,OOAD)方法的发展在80年代末至90年代中出现了一个高潮,UML是这个高潮的产物。它不仅统一了Booch、

凤凰涅槃 702

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

对UML和RUP的理解

前提:一次学习的机会又来了,重新学习了UML,在这个过程中对UML以及RUP进行一次总结,方便以后的继续学习。 一、什么是UML 对于UML大家都是很熟悉的,面向对象的统一建模语言,从多个方面对然间进行描述,更加全面而详细的以图的形式展现了软件的功能与全貌。 UML是一种可应用于软件开发的 非常优秀的建模语言,但是UML本身并没有告 诉人们怎样使用它,为了有效地使用UML,需 要有一种方法应

刘佳欢 2637

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

使用UML图进行白板作业面试中的常见错误

在设计工具中绘制统一建模语言图和在白板上描述设计之间有两个重要区别(i)通常,该工具可防止您在构建语法检查时遇到一些常见错误,并且(ii)您有更多时间查阅您的记录。 为了避免在面试和/或与下一个项目团队进行的设计会议中受辱,可能有必要在白板上培训设计。 以下是UML 2.x的基本知识。 如果您还不熟悉UML,那么OMG [ 1 ]的UML®资源页面将是一个很好的学习起点。 UML...

danpu0978的博客 415

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

UML/ROSE学习笔记系列一:建模原理、概念

一、建模原理    1、选择要创建什么模型,对如何动手解决问题和如何形成解决方案有着深远的影响。    2、每一种模型都可以在不同的精度级别上表示。    3、最好的模型是与现实相联系的。    4、单个模型是不充分的;对每个重要的系统,最好用一组几乎独立的模型去处理。 二、概念    1、统一建模语言(Unified Modeling Language,UM

GeneralXCK的专栏 641

初始UML建模语言

 uml建模对我个人的理解就是在设计软件的阶段为了让我们的软件在需求,分析,设计等过程提高效率,俗话说“千言万语顶不过一张图”。         提到建模,首先会想到“模型”,其实uml建模就是一种特殊的模型。 什么是模型?  ---模型就是对现实的简化,把复杂系统变成小的系统,采用“逐个击破”   我们为什么要使用模型? ---因为一张图顶过千言万语 什么是uml? ---Um...

立志欲坚不欲锐,成功在久不在速度 463

初始UML---主要内容

含义:             UML(Unified Modeling Language,统一建模语言),是一种面向对象的建模语言。主要作用是帮助用户对软件系统进行面向对象的描述和建模,其描述了软件开发过程从需求分析直到实现和测试的过程,使其中的模型元素及其关系可视化,让用户更清楚的理解模型。 UML内容大概有五部分:也就是其中的五类图。 用例图: 从用户角度描述系统功能

程金鹏(程利鹏) 1462

设计模式之初始设计模式和UML图

一、设计模式概述1、 软件设计模式的产生背景2、软件设计模式的概念3、学习设计模式的必要性4、设计模式分类二、UML图1、类图概述2、类图的作用3、图表示法3.1、类的表示方式3.2、类与类之间关系的表示方式3.2.1、关联关系3.2.2、聚合关系3.2.3、组合关系3.2.4、依赖关系3.2.5、继承关系3.2.6、实现关系"设计模式"最初并不是出现在软件设计中,而是被用于建筑领域的设计中。

哥的时代,为你保驾护航 2498

UML和模式设计中英文单词对照表,第二部分初始阶段,第4、5、6、7章

关注我,后续内容更精彩;关注我,内容更新第一时间提醒。

MrRice的博客 447

UML要点与应用

UML要点与应用王立福(本文转载自软件工程专家网www.21cmm.com)   ---- UML(Unified Modeling Language)伙伴组织于1996年由Rational公司创立。对象管理组织(OMG)于1997年11月采纳了它。此后,UML继续改进,目前最新的版本是UML1.3。 UML是多种方法相互借鉴、相互融合、趋于一致、走向标准化的产物。这样的统一建模语言将

透明思考@优快云 1943

UML-4-初始不是需求阶段

1、初始阶段到底做什么? 确定项目外包还是自研。成本多少。 系统边界 关键的10%的用例、非功能性需求分析,业务案例创建 开发环境准备 而需求分析是在细化阶段进行的。 2、初始阶段(或细化阶段早期)应该出的制品: 转载于:https://www.cnblogs.com/yaoyuan2/p/10709081.html...

weixin_30609331的博客 164
上一篇: Hibernate之分页
下一篇: XML快速起步
keithJava
博客等级 码龄16年 2粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值