[BlackBox项目]Plog用户操作分析

用户行为分析,指定操作顺序 用户行为表tracking_log 用户id 操作编号 操作时间 user_id opr_id log_time 计算每天的访客数和他们的平均操作次数。 select date(log_time), count(distinct user_id) as 访客数量, count(opr_id) as 操作次数, count(opr_id) / count(distinct user_id) as 平均操作次数 from tracking_log group by date(log_ 阅读详情
1、添加Plog用户
===============
Step 1: 检查用户是否存在

Step 2: 添加用户
$query = "INSERT INTO ".$this->getPrefix()."users(user,password,email,about) VALUES ('".Db::qstr($userName)."','".md5($password)."','".Db::qstr($email)."','');";


2、添加Blog
===============
Step 1: 检查用户是否存在

Step 2: 添加Blog
$query = "INSERT INTO ".$this->getPrefix()."blogs (blog,owner_id,about,settings) "."VALUES ('".Db::qstr($name)."',$ownerId,'', '".serialize($blogSettings)."');";

Step 3: 添加bayesian过滤器
$query = "INSERT INTO ".$this->getPrefix()."bayesian_filter_info (blog_id, total_spam, total_nonspam) VALUES ('$blogId', '0', '0');";

Step 4: 创建默认分类和文章

3、删除Plog用户
===============
Step 1: 收回权限
$query = "DELETE FROM ".$this->getPrefix()."users_permissions WHERE user_id = $userId";

Step 2: 删除用户
$query = "DELETE FROM ".$this->getPrefix()."users WHERE id = $userId;";


4、删除Blog
===============
Step 1: 删除文章
删除文章内容
$query = "DELETE FROM ".$this->getPrefix()."articles WHERE id = ".$artId." AND user_id = ".$userId." AND blog_id = ".$blogId.";";
逐个删除评论
$query = "DELETE FROM ".$this->getPrefix()."articles_comments WHERE id = ".$commentid." AND article_id = ".$artid.";";
$query = "UPDATE ".$this->getPrefix()."articles_comments SET parent_id = 0 WHERE parent_id = ".$commentid." AND article_id = ".$artid.";";
逐个删除Trackbacks
$query = "DELETE FROM ".$this->getPrefix()."trackbacks WHERE article_id = $artId";

Step 2: 删除文章分类
$query = "DELETE FROM ".$this->getPrefix()."articles_categories WHERE blog_id = $blogId";

Step 3: 删除连接和连接分类
删除连接
$query = "DELETE FROM ".$this->getPrefix()."mylinks WHERE blog_id = $blogId";
删除连接分类
$query = "DELETE FROM ".$this->getPrefix()."mylinks_categories WHERE blog_id = $blogId";

Step 4: 收回权限
$query = "DELETE FROM ".$this->getPrefix()."users_permissions WHERE blog_id = $blogId";

Step 5: 删除Blog
$query = "DELETE FROM ".$this->getPrefix()."blogs WHERE id = $blogId";

BU61580芯片实战:手把手教你配置1553B通信的BC端寄存器(含代码解析) 本文详细解析了BU61580芯片在1553B通信中的BC端寄存器配置方法,包括关键寄存器功能映射、初始化代码解析及回环测试实现。通过实战案例和代码示例,帮助开发者快速掌握1553B通信的核心技术,提升系统稳定性和通信质量。 阅读详情

相关推荐

小红书UID泄露风险揭秘:如何防止你的手机号被社工库关联(附防护指南)

本文揭示了小红书UID泄露的严重风险,详细解析了UID与手机号关联后被社工库利用的完整链条。通过分析黑产的数据整合技术,提供从基础到进阶的防护策略,包括密码管理、账号隔离和应急响应措施,帮助用户有效防范个人信息泄露风险。

ol789012345的博客 1504

用户行为数据分析

用户在你的产品内进行各种操作产生的数据通常有三种最基本的用户行为,分别是:访问、浏览和行为事件。每个访问事件可以由多个浏览事件和多个点击事件构成访问浏览行为。

Jarvan的博客 2541

【渗透工具】内网多级代理工具Venom详细使用教程

Venom是一款为渗透测试人员设计的使用Go开发的多级代理工具。Venom可将多个节点进行连接,然后以节点为跳板,构建多级代理。渗透测试人员可以使用Venom轻松地将网络流量代理到多层内网,并轻松地管理代理节点。

TT小子的博客 3757

如何科学进行用户分析?六大方法论了解一下!

  用户研究是用户中心的设计流程中的第一步。它是一种理解用户,将他们的目标、需求与商业宗旨相匹配的理想方法,能够帮助企业定义产品的目标用户群。在用户研究过程中,数据的使用及挖掘是非常重要的。那么,有哪些通用的用户分析方法?如何分析你的用户?本篇重点围绕七大用户分析方法论/模型,展开分享几个比较常见的用户运营实际案例。 六大用户分析方法论 1、行为事件分析 2、点击分析模型 3、用户行为路...

xinmei6的博客 3万+

高通量测序数据分析:RNA-seq

深度测序相关数据库与数据格式 SRA toolkit 一、NCBI 和EBI、DDBJ组成INSDC,数据内容相同所以找NCBI就行。 (一)NCBI常用数据库 GenBank:遗传序列数据库,收集了所有公开的DNA序列及其注释 GEO (Gene Expression Omnibus) :收集整理各种表达芯片数据,后来加入了甲基化、lncRNA、miRNA、CNV等其他芯片,还有高通量测序数据...

qq_41134363的博客 3万+

量化交易:如何在QMT中运行Python策略并在VSCode中高效调试?

哈喽,大家好,我是木头左!

木头大左的博客 3758

对于BlackBox jQuery 的对话框插件

1.引用项目文件 2.实例化

Xcollection的专栏 1130

2025年下半年网络工程师案例分析真题及答案解析

2025年下半年网络工程师案例分析真题及答案解析

鹿鸣天涯 1086

[BlackBox项目]Moodle用户分析

Moodle分析:    原本打算分析sql来做用户的同步操作,但后来发现Moodle的用户验证功能“过于”完善,甚至可以通过第三方数据库来做用户的验证。验证过程如下:1、用户第一次登陆,检查第三方数据表,如存在该用户名,并且密码匹配,则要求用户填写具体的用户信息资料;如不存在该用户,拒绝登录。2、将用户的资料连通第三方数据表的用户名和密码保存至Moodle用户表中。3、用户第二次登录,即直接从本

DigitalSonic的自留地 1268

手把手教你学Simulink--基于Simulink的移相全桥DC-DC变换器仿真建模

特点高效性:通过实现零电压开关(ZVS)减少开关损耗。电气隔离:使用变压器提供输入输出间的电气隔离。适用于中高功率应用:如服务器电源、工业电源等。挑战控制复杂度:精确控制相位差以实现软开关。元件选择:合适的电感、电容值对于性能至关重要。动态响应:快速响应负载变化,保持稳定的输出电压。首先明确要模拟的任务内容。设计一个能够支持特定输入输出电压比的PSFB变换器。根据工作频率和谐振元件值确定合适的电路参数。实现有效的控制策略来维持输出电压稳定,并实现软开关。

MHD0815的博客 518

华为MetaERP国资委语境下的 DRP(全域数字化资源管理平台/Digitalized Resource-management Platform)与传统 ERP(以 SAP、Oracle 为代表)的

【摘要】国资委推动的DRP(全域数字化资源管理平台)正在重构央国企数智化转型路径,其本质是通过"ERP管交易+DRP管管控"的双层架构实现升维替代。与传统ERP相比,DRP具有三大突破:采用国产分布式数据库实现全级次穿透监管、构建数据中台打破信息孤岛、以实时分析替代事后报表。当前政策明确2026-2030年分阶段建设目标,这将重塑产业格局——倒逼传统ERP厂商转型,为云原生/AI/信创企业创造新机遇。需注意DRP并非简单替代ERP,而是通过治理模式变革实现"交易系统做薄、管控中

金牌架构师 286

【昇腾CANN训练营】硬核调试:使用BlackBox与Exception Dump定位NPU死机与异常

2025年昇腾CANN训练营第二季推出系列课程,助力开发者提升算子开发技能,完成认证可获证书及华为产品奖励。针对NPU算子开发中的设备崩溃问题,文章详细介绍了昇腾芯片的异常诊断方法:通过ExceptionDump获取异常信息,分析错误代码和程序计数器;当设备完全死机时,使用ada工具提取黑匣子日志,重点检查MTE_ERR_STS等关键寄存器状态。文章总结了常见崩溃原因(内存越界、死锁、栈溢出)及排查思路,强调防御性编程和底层思维的重要性,帮助开发者快速定位致命错误。

2401_82857325的博客 1199

第八届传智杯微信小程序开发挑战赛练习题库

本文是微信小程序开发练习题库,包含单选题、多选题和判断题三种题型。单选题主要考察小程序开发基础知识,如数组方法、组件使用、API调用等;多选题涵盖样式属性、页面跳转、数据处理等综合知识;判断题则测试开发者对小程序特性、生命周期、功能限制等概念的理解。题目内容涉及小程序开发的各个方面,包括组件使用、API调用、数据绑定、页面配置等核心知识点,适合开发者进行自我测试和知识巩固。

qq_73044452的博客 505

【昇腾CANN训练营·黑客篇】硬核调试:使用BlackBox与Exception Dump定位NPU死机与异常

昇腾CANN训练营2025第二季推出0基础入门、开发者案例等课程,助力开发者提升算子开发技能。针对NPU算子开发中的致命错误问题,文章介绍了两种调试方法:通过ExceptionDump获取异常信息定位逻辑错误,以及使用黑匣子机制在芯片崩溃时提取寄存器状态。重点分析了常见错误类型(内存越界、死锁、栈溢出)及排查技巧,强调反汇编分析和防御性编程的重要性。训练营提供AscendC算子中级认证及丰厚奖品,报名链接见文中。

2401_82857325的博客 932

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

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

用户操作-用户详情查询流程分析

Leon_Jinhai_Sun的博客 376

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

Ubuntu 命令大全

Ubuntu 命令大全查看软件xxx安装内容#dpkg -L xxx查找软件#apt-cache search 正则表达式查找文件属于哪个包#dpkg -S filename apt-file search filename查询软件xxx依赖哪些包#apt-cache depends xxx查询软件xxx被哪些包依赖#apt-cache rdepends xxx增加一个光盘

wuxiaoming1733的专栏 2168

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

一个泛型Hibernate DAO实现

自己四处参考,写写抄抄折腾出来的一个泛型Hibernate DAO,用了Spring的HibernateDaoSupport。提供基本的CRUD操作,支持分页查询,可使用HQL、Criteria和DetachedCriteria。 废话不说了,上代码package sgf4web.dao;import java.io.Serializable;import java.util.*;impo

DigitalSonic的自留地 5106

JMeter小实验——JSP性能简单测试

        首先要做的当然是到Apache的站点下在一个最新的JMeter了,我下的版本是2.1.1。然后启动MySQL和Tomcat,按照原定的顺序,先测试有OSCache标签的页面,然后去掉OSCache标签,测试没有缓存的页面。        JMeter启动后,默认已经建立好了一个测试计划,右击测试计划标签,添加一个线程组,该线程组设置如下:线程数为5,Ramp-Up Period为5

DigitalSonic的自留地 4591

一些关于Liferay的使用心得

  Liferay是一个出色的Java开源Portal产品,其中整合了很多当今流行的开源框架,也被不少人使用在实际项目中。最近刚结束了一个基于Liferay Portal的项目,总结下使用中的一些心得,希望对正在使用Liferay的朋友有些帮助。 一、安装Liferay的安装十分容易,甚至都不能称其为安装,根据情况从Liferay官方网站下载合适的安装包(一般可以选择Tomcat的

DigitalSonic的自留地 1944

利用缓存提高小型站点性能

        最近结束了一个小型网站项目,主要功能就是一个文章系统,为了提升站点性能,我在首页上使用了OSCache,在访问首页时,性能的确有不小的提升(具体数据见《JMeter小实验——JSP性能简单测试》),但我对此并不满足,打算使用Hibernate的二级缓存来优化访问文章和栏目时的速度。        Hibernate的二级缓存有很多选择,我选择了默认的EHCache。它的配置十分简单

DigitalSonic的自留地 1709

从积木看项目

培训多少是有些枯燥的,印象中那些关于项目管理的培训大多是一个经验丰富的资深人士以授课或者讨论的方式向在座的学员传授知识、心得或者一些实践技巧。最近参加了一堂别开生面的项目开发实践课(乐高游戏体验),从名字上就能看出来,其实是在玩乐高积木,如果抛开游戏背后的东西,单纯玩玩积木也是很有意思的一件事,哈哈。课程开始后,讲师就道明了这次的两个主题——价值驱动和迭代,随后说明了游戏规则:每组有500

DigitalSonic的自留地 1554

Spring Framework 2.0 Reference翻译项目顺利完成

经过了差不多3个月的努力,我们的翻译项目终于接近尾声,10月1日凌晨经过一晚上的准备,Reference中文版正式发布了。本以为RC2的翻译就此结束,1号晚上收到了翻译组一位成员的邮件,部分章节的原文没有去掉……真是令人失望的消息,我立刻检查了原文件和CVS历史纪录,原来在二审快要结束时,小组在处理PDF生成时修正过XML文件,问题是提交时有部分文件不是最新的——这个意外告诉我们,update

DigitalSonic的自留地 1480

都是JDBC-ODBC惹得祸

前阵子的一个项目需要使用SQL2K作为后台数据库,本人一向认为Java配合MS SQL不是一个好选择,但往往也有不得不这么做的时候。一直听说MS的JDBC驱动不怎么样,所以我的第一反应是使用JDBC-ODBC桥,这样不用为项目添加额外的jar(其实是个很奇怪的理由,估计当时神游了,没怎么考虑)。系统使用了Hibernate 3.1.3和Spring Framework 2.0 RC2。考虑到减

DigitalSonic的自留地 1340

[BlackBox项目]Postnuke用户操作分析

1、添加用户(最简方法)=====================Step 1: 插入一条记录到nuke_users表,以下没有涉及的项目都有默认值,不用特别在INSERT语句中说明pn_uid    用户编号,会自增1,除非你想指定ID,否则别管它pn_name    用于显示的用户名,默认pn_uname    用户名pn_email    Emailpn_femail    假的Emai

DigitalSonic的自留地 1315
上一篇: FIFO、LRU、OPT的三个简单实现
下一篇: [BlackBox项目]Plog用户操作分析
dingx
博客等级 码龄24年 67粉丝 112原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值