管理应用程序数据

使用appdata目录管理应用程序数据(编程) 在本文中,我们将探讨如何在不同的编程语言中使用appdata目录,并提供一些示例代码。以上示例代码演示了如何在不同的编程语言中获取appdata目录的路径。appdata目录是用于管理应用程序数据的特殊目录,在不同的操作系统中位置不同。通过使用适当的编程语言和示例代码,我们可以轻松地获取appdata目录的路径,并进行相应的数据操作。在Linux平台上,appdata目录的位置可能因发行版而异,但通常位于用户的主目录下的隐藏文件夹中,命名为".config"或".local/share"。 阅读详情

管理应用程序数据

数据卷 volume

创建数据卷 datavol01
用卷创建容器c_nginx

docker volume create datavol01
docker run -itd --name c_nginx --mount src=datavol01,dst=/usr/local/nginx/html nginx:v1
ls /var/lib/docker/volumes/datavol01/_data/
50x.html  index.html

在这里插入图片描述
删除所有的容器

docker rm -f $(docker ps -q -a)

容器删除了,数据卷还在

docker run -itd --name c_nginx -p 666:80 --mount src=datavol01,dst=/usr/local/nginx/html nginx:v1
cd /var/lib/docker/volumes/datavol01/_data/
echo "<h1>HelloWorld</h1>" > test.html

浏览器访问 http://192.168.43.29:666/test.html
在这里插入图片描述

多个容器共享一个数据卷

docker run -itd --name c_nginx02 -p 999:80 --mount src=datavol01,dst=/usr/local/nginx/html nginx:v1
docker run -itd --name c_nginx03 -p 888:80 --mount src=datavol01,dst=/usr/local/nginx/html nginx:v1

没有指定卷

docker run -itd --name c_nginx04 -p 886:80 --mount src=,dst=/usr/local/nginx/html nginx:v1

在这里插入图片描述

Bind Mounts

将本地的目录挂载到容器中,本地的目录必须存在

docker run -itd --name c_nginx -p 1111:80 --mount type=bind,src=/app/wwwroot,dst=/usr/local/nginx/html nginx:v1

容器中已经有数据被隐藏
在这里插入图片描述

在本地创建一个文件,去容器中查看

echo "<h1>study</h1>" > /app/wwwroot/index.html

在这里插入图片描述

一、数学建模层次分析法(AHP)【清风数学建模个人笔记】 层次分析法: 层次分析法主要用于解决评价类问题(例如:选择哪种方案更好、哪位员工、运动员等表现得更优秀) 评价类问题: 分析问题得出评判问题的子标,分别给不同子标赋予权重(权重和要为1) ... 阅读详情

相关推荐

redhawk-sc(seascape)学习日志2

design view是主view,是所有seascape view中最root的部分,一个design view可以驱动多种类型分析比如静态IR drop,动态IR drop以及EM.这些分析可以在不同的PVT和翻转率下.Design view是一个必须的view对于redhawk中的任何类型分析来说。seascape view相当于一个容器,用于保存各种和设计相关的数据,类似于逻辑信息、物理信息等等,每个view都有其对应的输入件和依赖,这些view都是redhawk用于各种类型的分析所需。

qq_39493558的博客 3497

Docker数据管理

容器中的管理数据主要有两种方式 : 数据卷(Data Volumes): 容器内数据直接映射到本地主机环境; 数据卷容器(Data Volume Containers): 使用特定容器维护数据卷。 数据卷 数据卷 ( Data Volumes ) 是一个可供容器使用的特殊目录,它将主机操作系统目录直接映射进容器,类似于 Linux 中的 mount 行为 。 数据卷可以提供很多有用的特性 : 1.数据卷可以在容器之间共事和重用,容器间传递数据将变得高效与方便; 2.对数据卷内数据的修改会立马生效,无论

海盗船长y的博客 805

[官方培训]07-UE材质基础 孙丹璐 Epic 笔记

勾选允许自定义深度写入再在模型上勾选然后可以通过Scene Texture节点拿到渲染的自定义深度信息,有了自定义深度信息就可以与当前渲染的像素深度进行对比,自定义深度信息存放的是最靠近我们的深度,如果当前像素离自定义深度比较远我们就不要这个像素。效果如下这种方案的缺点也很明显,因为这样看不到第二层的透明了,如果是两层的半透明的裙摆,这样就看不到第二层的裙摆了。对于半透明排序问题最根本能解决的还是光线追踪,ue5中又加入了OIT(基于像素的排序)。官方透明材质的理解和应用。

Tcohneyn的博客 1562

05、应用程序数据操作(下)

1、DataChangedEvent 对于保存在云端的设置或者文件,应用程序需要知道什么时间数据发生了变化从而更改对应的用户 UI。在任何时间当云端的处理(handler)被触发时会同步触发 datachanged 事件。 这个示例将响应 datachanged 事件,并且更新 UI。 在两台登录的微软账号的机器上同时运行本示例会看到当云端的设置更新时...

weixin_30865427的博客 113

黑暗中的爆破(船讯网Ais爬虫暨爬虫实战js逆向学习经验分享)

船讯网 爬虫 js逆向 python

returnadsss的博客 1575

手把手教你用GPIO模拟MDIO时序,搞定Linux下那些‘不听话’的PHY芯片

本文详细介绍了如何利用Linux内核的`virtual,mdio-gpio`驱动,通过GPIO模拟MDIO时序来解决特殊PHY芯片的驱动调试问题。从硬件准备、设备树配置到驱动实现,提供了完整的解决方案和实战案例,帮助开发者应对非标准时序的PHY芯片挑战。

weixin_29188043的博客 269

Linux动态链接库劫持原理与安全运维实践

动态链接库是现代操作系统中实现代码复用和模块化的重要机制,它允许程序在运行时加载共享代码库,从而提升软件开发的灵活性和效率。其核心原理在于操作系统通过动态链接器,按照预设的搜索路径顺序(如RPATH、LD_LIBRARY_PATH、系统缓存等)来定位并加载所需的库文件。理解这一机制不仅对软件开发至关重要,更是系统安全与稳定运维的基石。在安全领域,攻击者可能利用库加载路径的优先级,通过植入恶意共享库文件实施“劫持”,从而窃取信息、维持权限或绕过安全机制,这构成了“DLL劫持”或Linux下“So劫持”攻击的基

weixin_33912246的博客 434

PHP与Node.js的对比及优缺点分析

PHP和Node.js是两种常用的服务器端编程语言,它们在不同的应用场景下各有优势和劣势。本文将全方位比较PHP和Node.js的特点,以及它们在编程中的优缺点,并提供相应的源代码示例供参考。需要注意的是,本文只是对PHP和Node.js的一些优缺点进行了简要介绍,实际应用中还需要考虑其他因素,如团队经验、项目规模和预算等。最终的选择应该基于全面的评估和需求分析。PHP:PHP是一种同步阻塞的编程语言,它的处理方式是一次只处理一个请求。Node.js:Node.js的性能较高,特别适合处理高并发的请求。

ByteSparkX的博客 887

Android应用程序的数据存放目录解说

原创文章,如有转载,请注明出处:http://blog.youkuaiyun.com/yihui823/article/details/6722456 Android的每个应用程序,都有自己的可控的目录。 在Setting/Application info里面,可以看到每个应用程序,都有Clear data和Clear cache选项。 具体这些目录在哪里呢? 用adb连接上设备。如果是连接真...

helpbs 671

STM32嵌入式标准化封装五层架构设计与工程实践

在嵌入式系统开发中,代码封装是保障可维护性、可复用性与可靠性的核心工程能力。其本质是通过分层抽象(硬件抽象层→设备驱动层→应用逻辑层)解耦硬件依赖与业务逻辑,实现跨芯片移植、多任务安全及确定性实时响应。关键技术包括HAL库重构以消除硬编码初始化、驱动层提供同步/异步/事件驱动三类UART接口、中断优先级矩阵管理确保响应确定性、双阶段时钟配置兼顾启动鲁棒性与运行能效,以及面向Modbus等工业协议的语义化API封装。这些实践直击STM32项目中引脚变更难、HAL裸调风险高、中断处理不安全、时钟配置僵化等典型痛

weixin_35019679的博客 67

手把手教你学Simulink——基于Simulink的PR(比例谐振)控制器在单相整流中的应用

本文详细介绍了基于Simulink的PR(比例谐振)控制器在单相整流系统中的应用。通过与传统PI控制器的对比,阐述了PR控制器在交流信号跟踪中的优势:可实现50Hz正弦电流的无静差跟踪,THD低于2%,功率因数接近1。文章从PR控制器原理出发,提供了Simulink建模的具体步骤,包括主电路搭建、电压外环设计、PR控制器实现方法(推荐MATLAB Function方式)以及SPWM调制。通过仿真验证了PR控制在稳态和负载突变情况下的优越性能,并探讨了工程实践中的电网频率自适应、多谐振PR等关键技术。该教程为

MHD0815的博客 123

docker管理应用程序数据

将数据从宿主机挂载到容器中的三种方式 1. Docker提供三种方式将数据从宿主机挂载到容器中: volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。保存数据的最佳方式。 bind mounts:将宿主机上的任意位置的文件或者目录挂载到容器中。 tmpfs:挂载存储在主机系统的内存中,而不会写入主机的文件系统。如果不希望将数据持久存储在任何位...

love8753的博客 249

STM实战开发(13):STM32开发:使用光敏电阻检测光照强度

光敏电阻(LDR)是一种电阻值受光照强度影响的半导体材料。当光照强度增大时,光敏电阻的电阻值降低;而当光照强度减小时,电阻值则增大。光敏电阻的电阻变化与入射光的强度之间并不是线性关系,而是呈对数型的变化。LDR通常由硫化镉(CdS)或其他半导体材料构成,材料对不同波长的光有不同的响应特性。一般而言,光照强度越强,光敏电阻的电阻值越低,反之则越高。本文介绍了如何使用STM32与光敏电阻(LDR)结合,进行光照强度检测的实现方法。通过配置STM32的ADC模块,读取光敏电阻的电压信号,并根据电压计算光照强度。

2201_76125393的博客 3017

Docker之管理应用程序数据

将Docker主机数据挂载到容器方法 Docker提供三种不同的方式将数据从宿主机挂载到容器中: volumes: Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes) bind mounts: 可以存储在宿主机系统的任意位置 tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统 数据卷形式(volume) 数据卷可以将相关数据共享不同的...

Mwyldnje2003的博客 272

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

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

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

Docker 管理应用程序数据

1、将Docker主机数据挂载到容器 Docker提供三种不同的方式将数据从宿主机挂载到容器中:volumes , bind mounts 和tmpfs volumes:  Docker管理宿主机文件系统的一步分(/var/lib/docker/volumes) bind mounts:  可以存储在宿主机系统的任意位置 tmpfs:  挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系统  ...

weixin_34198762的博客 141

深度学习工具包 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")

Docker管理应用程序数据

说明 命令的操作关注点有以下几方面: 有哪些命令 命令的语法 执行命令后,命令做了什么 命令是否有返回结果,如果有,返回的是什么 存储概述 docker提供了两种方式来实现将文件持久存储在宿主机中:卷(volume)和绑定挂载(bind mount)。 卷(volumes) docker把文件系统的某个目录作为卷(在Linux系统中是/var/lib/docker/volumes/)。...

Sweeneys的博客 539

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

docker-管理应用程序数据

1. docker-将数据从宿主机挂载到容器中的三种方式 1) docker提供三种方式将数据从宿主机挂载到容器中: volumes:docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。保存数据的最佳方式 bind mounts:将宿主机上的任意位置的文件或者目录挂载到容器中。 tmpfs:挂载存储在主机系统的内存中,而不会写入主机的文件系统,如果不希...

七月流星雨 82

Docker第四章:管理应用程序数据卷

Docker主机数据挂载到容器 最好使用volumes和bind mounts这两种 命令集: 删除所有容器 [root@omsdev ~]# docker rm -f $(docker ps -q -a) 一、创建volume数据卷 1、在此“~/var/lib/docker/volumes/”目录下创建volume数据卷名为nginx-vol [root@omsdev ...

阿偶灬的专栏 219

Docker使用tmpfs挂载管理应用程序数据

和允许您在主机和容器之间共享文件,这样即使在容器停止后也可以持久存储数据。tmpfs挂载。当您创建带有tmpfs挂载的容器时,容器可以在容器的可写层之外创建文件。与卷和绑定挂载不同,tmpfs挂载是临时的,只存留在主机内存中。当容器停止时,tmpfs挂载将被删除,在那里写入的文件不会被持久化。这对于临时存储您不想在主机或容器可写层中持久存储的敏感文件非常有用。

L08130421的博客 1378

docker管理应用程序数据、容器网络

管理应用程序数据 Docker提供三种方式将数据从宿主机挂载到容器中: • volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)。保存数据的最佳方式。 • bind mounts:将宿主机上的任意位置的文件或者目录挂载到容器中。 • tmpfs:挂载存储在主机系统的内存中,而不会写入主机的文件系统。如果不希望将数据持久存储在任何位置,可以使用 ...

weixin_34399060的博客 99

第四章 Docker管理应用程序数据

4-1 Volume和Bind Mount容器删除后里面的数据会丢,怎么才能保持删除之后数据不丢呢?这就需要用到数据卷去管理。Docker提供三种不同的方式将数据从宿主机挂载到容器中:Volumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumes)Bind mounts:可以存储在宿主机系统的任意位置。相当于软连接的概念Tmpfs:挂载...

135

docker数据卷管理 |管理应用程序数据

Volume、Bind、Mount将docker主机数据挂载到容器中Docker提供三种不同的方式将数据从宿主机挂载到容器中:volumes、bind mounts和tmpfsvolumes:Docker管理宿主机文件系统的一部分(/var/lib/docker/volumus)bind mounts:可以存储在宿主机系统的任意位置tmpfs:挂载存储在宿主机系统的内存中,而不会写入宿主机的文件系...

不负韶华梦为马 425

【Docker】第五章 管理应用程序数据

Docker提供三种不同的方式将数据从宿主机挂载到容器中:volumes,bind mounts和tmpfs。 用卷创建一个容器: 清理: 注意: 如果没有指定卷,自动创建。 建议使用—mount,更通用。 https://docs.docker.com/engine/admin/volumes/volumes/#start-a-container-with-a-volume 验证绑定: 清理: 注意: 如果源文件/目录没

ladymorgana的博客 603
上一篇: Dockerfile
下一篇: 初始化系统脚本
studywinwin
博客等级 码龄7年 18粉丝 116原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值