支付宝新年五福新玩法,我用Python百行代码来实现!

python模拟春节集五福_用Python分析支付宝红包和2018年集五福活动,你准备好了吗?... 想必各位对于支付宝“集五福”活动一定都有深入的了解,从2016年开始,中国网友们关于过年的记忆再次更新,除了看春晚,年夜饭以外,集“五福”突然成了一个全家参与的新年活动。从16年全民疯抢“敬业福”到17年的“AR”扫福,无一不是调动了全国人民的热情。随着春节的临近,和往年一样,支付宝每年的必备活动-支付宝集五福又来了!只要集齐五福,你就可以在除夕夜平分五亿现金红包。今年的五福依然是「富强福」「和谐... 阅读详情

公众号 “菜鸟学Python”

第441篇原创,设为 “星标”,一起学Python!

年关将近,支付宝又推出了一年一度的集五福的活动,今年的五福玩法相比于前几年有了很大的改变,其中的一个就是大家可以为自己的福字加上特定的图标和签上自己的名字。

但是小编只能生成一张这样的图片,还是觉得太少了,于是小编决定自己亲手动手,打造一款支付宝福字系统,给福字添加特定的图标和自己的签名。

01.效果展示

为了方便大家更好的对整个系统从整体上有一个了解,我们先来运行一下程序进行展示,教大家如何应用我们的这个系统。

02.程序讲解

看了我们上面的功能演示之后,是不是觉得非常有意思,接下来菜鸟哥就结合程序来进行一下详细讲解一下。

整个设计分下面几步:

  • 我们的界面利用的tkinter进行制作,包括了Button控件,负责对于函数的调用;

  • 下拉菜单控件OptionMenu负责对于名字的格式以及图标的选择;

  • 对于Entry控件的使用,则是用来让用户输入图标在福字上显示的位置以及输入用户的名字;

页面的整体布局如下图所示:

上图中,每个按钮都分别控制着不同的函数,我们来一一介绍每个按钮所控制的函数功能。

1).选择背景:

上述的函数中,首先读取福字图片,然后将图片调整到指定的大小后,显示在界面的中央。而函数在界面执行调用时,其效果如下。

2).效果合成

“效果合成”按钮所控制的函数是self.GetReuslt函数,也是我们整个程序的核心,函数如下图所示:

上述函数,首先读取福字图片和图标,将福字图片调整到1000x1000大小,然后创建一个和福字大小相同的ImageDraw对象。

接下来程序获取了姓名的格式、图标在福字上的位置以及姓名内容。并将姓名写到ImageDraw对象的指定位置,将图标粘贴到福字的指定位置。

最后,程序将ImageDraw对象和福字图片进行组合并保存到本地,同时在界面的中央会给出最终的合成效果。

总结

以上就是小编跟大家分享的内容,学习Python还是很有趣,功能太强大了!在爬虫,图像,视频,数据分析,机器学习,AI,自动化办公应用等等方方面面都能做,综合运用起来可以做很多有趣的事情,还等啥,小伙伴们操练起来!

目前代码的功能还是非常简陋的,我用tk快速开发做了一个原型,而且主要是在win测试的,linux和mac还没有调试过。准备开发第二版完善一下功能,心急的小伙伴可以后台直接找小助手,拿demo版本。

欢迎在留言区,提出建议。

想尝鲜的可以找小助手,公众号后台输入:小助手,暗号备注:(五福)

程序员GitHub,现已正式上线!

接下来我们将会在该公众号上,专注为大家分享GitHub上有趣的开源库包括Python,Java,Go,前端开发等优质的学习资源和技术,分享一些程序员圈的新鲜趣事。

年度爆款文案

点这里,获取新手福利!!
利用python写福字【弄个不一样的五福~】 前言: 马上到春节了,支付宝 2022集五福活动又正式开启开始啦!不出意外,这个星期你会主动找我说话。不为别的,就为了敬业福。 今天小编用python给你们展示一个不一样的五福!感兴趣的小伙伴点击这里哦! 一、头像福 这个福字是用微信好友的头像所组成。使用 itchat 和 PIL 库,详细方法和代码: 【第一步】 思路:我们自己输入汉字,根据字符串中汉字字符编码,去HZK16字库中获取点阵信息,拿到信息后根据16*16点阵每个点的数据,print 出不同字符。 #初始化16*1. 阅读详情

相关推荐

iOS仿支付宝集五福

觉得 作者仿的不错 ,可以给想开发类似的界面一个参考。

徽章合成功能(类似支付宝集五福)

抽奖,徽章合成

An_xiaowu的博客 851

微信小程序“摇一摇”的实例代码

微信小程序并没有提供摇一摇API接口,但是提供了一个重力感应的API,接下来我们可以用这个方法来模拟微信摇一摇功能,具体实现代码,大家参考下本

学习python,我使用代码悄悄集齐了五福~哎嘿嘿

啊哈哈哈哈,我又又又来啦这不是快春节了吗,支付宝等一些集五福活动又又又又一次的到来今天呢,写一个啥呀············我也不晓得,啊哈哈哈哈哈今天写一个%90会出敬业福哦,啊哈哈哈哈。

阿玥的小博客 3748

新年福利来一波之Python轻松集齐五福(demo)

主要介绍了新年福利来一波之Python轻松集齐五福的小demo,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

新年快乐! python实现绚烂的烟花绽放效果

主要为大家详细介绍了python利用可视化技巧实现烟花绽放效果,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

Python100行代码搞定支付宝新年五福!

Python100行代码搞定支付宝新年五福!

一名正义的白帽黑客 977

减小伺服电机共振的方法(以松下伺服为例)

嘿 ! 我是【小黄】 , 我们又见面啦 !!! 毕竟技术只有大家交流才会进步嘛 ! 这博客是对自己学习的一点点记录和总结 ,如果您对自动控制感兴趣的话 ,可以关注一下我的动态 , 我们一起学习呀 ! 我们都还年轻 ,我们还有无限可能 。 YES ! 减小伺服电机共振的方法(以松下伺服为例)1. 准备工作:1.1.1 如何推定共振点:1.1.2 测定实操:1.1.3 总结:2. 下期预告: 在我们调试完伺服参数以后机器人运动到某个特定位置会产生振动或异响,我们要做的就是消除这个异响保..

在下小黄的博客 1万+

集五福(python)

以0和1组成的长度为5的字符串代表每个人所得到的福卡,每一位代表一种福卡,1表示已经获得该福卡,单类型福卡不超过1张,随机抽取一个小于10人团队,求该团队最多可以集齐多少套五福?

m0_46542229的博客 507

数模笔记_多变量最优化计算之牛顿法

Date: 2_22 Name: Guo Yehao Theme: Calculation in Optimality with multiple variables Reference: 数学建模方法与分析(华章) 在上一节中,我们讨论多变量最优化计算中的随机搜索算法,它的精度并不是众多算法中最高的。在精度问题上,有的时候问题本身就带有明显的误差性,以至于我们不能将其忽略,比如上一节消防站部署的问题,我们在区域划分时就有了误差,因此我们并不需要对结果要求很高的精确度,所以用一些比较粗略的算法就可以.

weixin_45358177的博客 2415

LIN总线从入门到精通:低成本汽车通信协议原理与实战

在汽车电子和嵌入式系统中,串行通信协议是实现分布式控制的关键技术。其中,LIN(Local Interconnect Network)总线作为一种专为低成本应用设计的单主多从网络协议,其核心原理在于通过简化的“领导-汇报”通信模式,在满足车身控制、传感器数据采集等场景需求的同时,将硬件与布线成本降至最低。LIN总线采用标准化的帧结构,包含间隔场、同步场和受保护标识符场,并依赖调度表来管理通信时序,确保了网络的确定性与可靠性。其技术价值在于为车窗、座椅、灯光等非安全关键系统提供了高性价比的解决方案,是构建分层

weixin_29185167的博客 260

python简单代码 春节集五福-新年福利来一波之Python轻松集齐五福(demo)

新的一年又要到来了,各个大的公司又在这年末为大家送上了新春的祝福,支付宝还是延续了这几年的传统,在年末为大家送上了集五福的活动,为了大家能更快更好的扫出来大大的“福”,今天就带领大家利用python做一个一“福”转“N”福的小demo。先看效果图首先,我们需要拿到一张大大的“福”字图片,然后,我们就可以对于这张图进行操作了。我们今天要实现的就是将一张“福”字转化为五种不同的风格,现为大家呈上效果图...

weixin_37988176的博客 2245

NE5532A与JRC4580在低噪声音频电路设计中的关键应用

本文深入探讨了经典运算放大器NE5532A与JRC4580在低噪声音频电路设计中的核心应用。文章从噪声模型分析入手,阐述了针对低阻抗信号源时,如何利用这两款BJT输入运放的低电流噪声特性进行优化设计。通过对比两者参数与实战守则,为设计高保真音频前级、耳机放大等电路提供了从原理图到PCB布局的完整低噪声解决方案。

weixin_29295541的博客 328

用python实现支付宝就推出了“集五福”这个活动

支付宝的“集五福”活动是一个春节期间的互动活动,用户通过扫描福字、参与游戏等方式收集五种不同的福卡(和谐福、爱国福、敬业福、友善福、富强福),并有机会在除夕夜兑换红包或其他奖品。由于这个活动的实现涉及到支付宝的后台系统、数据库、安全机制等多个方面,并且具体的实现细节是支付宝的商业机密,所以我们无法直接复制或实现整个活动。如果你想要开发一个类似的活动,你可以根据这个示例代码进行扩展和优化,添加更多的游戏环节、福卡获取方式、红包奖励等。

ducanwang的博客 599

4. PCIe 接口时序

在上一篇中,大致介绍IPcore接口。总的来说接口如下图数据的接收和发送通过transmitTLPinterface和ReceiveTLPinterface。收发数据的时序也只是描述这几个接口的关系。从手册上截取PCIex1的接口时序。

jjinl的专栏 6122

黑猫带你学UFS协议第8篇:UFS电气特性详解(Power、CLK、Reset等)

UFS强制支持secure mode。UFS设备可能会存储个人或者公司的信息,UFS提供把数据永久从设备上移除的功能,并且保证对存储介质进行逆向恢复数据也恢复不回来原有数据。安全模式是以逻辑单元为单位进行应用的,不同的逻辑单元可以有不同的安全模式。由于UFS设备的存储介质不同,所以把数据安全从存储介质上移除方式会有不同,spec提供了三种通用的移除方法,UFS设备至少支持其中一种。● 对存储的位置进行一次擦除操作。● 对存储的位置使用单一字符(比如0xAA)覆盖写,然后进行擦除。.........

黑猫奥利奥的博客 4076

python简单代码 春节集五福-我用 Python 集齐了五福

新的一年又要到来了,各个大的公司又在这年末为大家送上了新春的祝福,支付宝还是延续了这几年的传统,在年末为大家送上了集五福的活动,为了大家能更快更好的扫出来大大的“福”,今天小编就带领大家利用python做一个一“福”转“N”福的小demo。1、先看效果图首先,我们需要拿到一张大大的“福”字图片,然后,我们就可以对于这张图进行操作了。我们今天要实现的就是将一张“福”字转化为五种不同的风格,现为大家呈...

weixin_37988176的博客 1490

手把手教你学simulink(95.1)--PID控制实例:基于Simulink的PID控制温度控制系统建模与仿真

温度控制是工业自动化、家用电器、医疗设备以及航空航天等领域中常见的控制问题。通过精确的温度控制,可以提高生产效率、降低能耗并确保产品质量。PID(比例-积分-微分)控制器因其结构简单、性能稳定且易于实现而被广泛应用于各种温度控制系统。本项目旨在通过MATLAB/Simulink平台设计和验证一个基于PID控制的温度控制系统,重点研究PID参数调优方法、系统动态响应特性以及稳态误差消除能力。

MHD0815的博客 793

python模拟春节集五福_新年福利来一波之Python轻松集齐五福(demo)

这篇文章主要介绍了新年福利来一波之Python轻松集齐五福的小demo,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下新的一年又要到来了,各个大的公司又在这年末为大家送上了新春的祝福,支付宝还是延续了这几年的传统,在年末为大家送上了集五福的活动,为了大家能更快更好的扫出来大大的“福”,今天就带领大家利用python做一个一“福”转“N”福的小demo。先看效果图...

weixin_39968128的博客 815

交换机四种光互联技术:OIO、OBO、NPO与CPO

在过去几十年里,数据中心交换机主要依赖电信号通过铜线进行数据传输。然而,随着数据传输速率从100Gbps向400Gbps、800Gbps甚至1.6Tbps迈进,传统电互联(Electrical Input & Output, EIO)面临三大瓶颈:信号衰减、功耗激增和空间限制。例如,高速信号在长距离铜线传输中会产生严重的信号失真,迫使设计者加入数字信号处理器(DSP)来补偿信号衰减,这进一步推高了功耗和成本。此外,传统可插拔光模块的体积较大,限制了端口密度,难以满足现代数据中心对高带宽密度的需求。

网络技术联盟站 3134

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

测试分享之集五福 福卡的分享

分享福卡

谢智超的博客 1109

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

python简单代码 春节集五福-集五福活动又来了,不过这个价值几十亿的大项目也别错过...

原标题:集五福活动又来了,不过这个价值几十亿的大项目也别错过已经持续5年的支付宝集五福活动,终于在广大网友千呼万唤下,“下周一见”上线了! * 图片来源自网络截图,侵删不得不感慨,新年没有集五福这个价值几个亿的大项目,还真的就缺少了现代感的“年味儿”和仪式感。 * 图片来源自网络,侵删但对于希望申请国外顶尖名校的中国学子而言,这里有个价值几十亿的大项目也不要错过呀!这里先给大家卖个关子,我们先谈谈...

weixin_37988176的博客 538

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

globalmapper如何选取图像上的点_python 图像处理:一福变五福

快过年了,各种互联网产品都出来撒红包。某宝一年一度的集五福(shua hou)活动更是成为每年的必备活动。虽然到最后每人大概也就分个两块钱,但作为一个全民话题,大多数人还是愿意凑凑热闹。毕竟对于如今生活在大城市的人来说,集福领红包和空荡的地铁车厢或许已是最大的“年味”了。既然是凑热闹,怎么能少得了我。前年过年发过一篇:《一行代码扫出“敬业福”》,介绍的是 OCR 文字识别的使用。今年再来对“福”字...

weixin_39845347的博客 355
上一篇: 微信出硬件了!
下一篇: 手把手教你用Pycharm连接远程Python环境
菜鸟学Python
博客等级 码龄9年 8061粉丝 571原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值