YYDS!阿里技术官最新总结的分布式核心技术笔记已上线,堪称福音

ThinkTs:基于[ThinkPHP + Nestjs + SpringBoot]的启发,基于koa和typeorm,异步无阻塞React式编码和真实的MVC Web框架,它也是最快的开发速度和最快的性能 思想家 支持typeorm ,最好的Typescript ORM框架,并轻松编写各种Dao层逻辑 允许静态类型修改和类型推断以支持后端开发和维护 模块化开发使应用程序更易于分层,并提供了易于使用的模块化管理机制 AOP代码以低调的方式编写,但很容易实现日志,拦截器,过滤器等功能 MVC,API,websocket,微服务和其他系统的构建速度最快,性能良好且最强大 配置大于代码,并赋予优先级以自动执行添加,删除,修改和查询以及分页等五种方法,以促进权限后台系统的建立 借助现场级RBAC和可插拔的中间件装饰器,组装功能具有无限的可能性 支持无服务器,在控制器中引入路由器的方法,您可以轻松地更改后台 立即下载

众所周知,SpringBoot最大的一个优势就是可以进行自动化配置,简化配置,不需要编写太多的xml配置文件;基于Spring构建,使开发者快速入门,门槛很低;SpringBoot可以创建独立运行的应用而不需要依赖于容器;内置tomcat服务器,不需要打包成war包,可以直接放到tomcat中运行;提供maven极简配置,以及可视化的相关监控功能,比如性能监控,应用的健康程度等;为微服务SpringCloud奠定了基础,使得微服务的构建变得简单;Spring可以整合很多各式各样的框架,并能很好的集成。

所以今天为大家分享的就是一份基于SpringBoot2.0以上的版本的自学PDF,里面结合了大量是实例进行现场剖析!

第一篇

​

第二篇

​

第三篇

​

第四篇

​

第五篇

​

第六篇

​

第七篇

​

第八篇

​

Spring Data提供了基于这些层面的统一接口(如: CrudRepository、 PagingAndSorting-Repository),以实现持久化的存储。

Spring Data包含多个子模块,主要分为主模块和社区模块。

​

第九篇

​

第十篇

​

用Spring Security实现后台登录及权限认证功能

​

第十一篇

​

第十二篇

​

第十三篇

​

第十四篇

​

第十五篇

​

整合会员系统(Web、APP多端、多方式注册登录)和后台系统

需要获取的小伙伴可以直接转发+关注后私信(学习)即可免费获取!!!

thinkPHP框架员工管理系统 使用thinkPHP框架搭建员工管理系统,有增删改查功能,登录拦截,分页功能,index.php为入口文件加/home/login/index后缀即可访问(压缩包包含数据库文件) 立即下载

相关推荐

Windows升级保留个人文件和应用灰色?改注册表版本指纹

Windows 升级安装并非简单跳过下一步,安装程序会先读取注册表中 HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion 下的 EditionID、ProductName、CompositionEditionID 等版本指纹,与目标镜像 install.wim/esd 记录的版本类型做双向匹配。若当前系统被识别为 LTSC、精简版或跨版本降级,兼容性扫描会判定升级路径不可用,于是“保留个人文件和应用”变灰,只能全新安装。理解版本指纹与升级可行性表的匹配机制,可

weixin_31986143的博客 377

膜拜!阿里内部都在强力进阶学习springboot实战派文档

前言 对于大部分普通家庭的孩子来说, IT行业是一个单靠个人或者团队能力就能“最快实现人生小目标”的行业 。所以, 如果这本文可以帮助读者学会精通 Spring Boot ,并且能够进入一线大厂不断学习丰富自己的人生,那本文的价值就很大了。 本文基于Spring Boot 2.X版本,采用“知识点+实例”的形式编写,通过“58个基于知识的实例+2个综合性的项目”,全面深入地讲解了Spring Boot的主要技术原理和应用。 不仅如此,本文还对比讲解了多种同类技术的使用和区别,读者可以根据自己的喜好进行

程序员高级码农 750

Oracle19c时区升级实战:从32到42版本的数据泵TSTZ报错解决方案

本文详细介绍了Oracle19c时区版本从32升级到42的实战步骤,重点解决数据泵TSTZ报错问题。通过检查时区版本、下载补丁包、应用补丁及执行升级脚本等关键操作,确保数据库时区数据更新,避免夏令时转换错误和历史时区规则不匹配等问题。文章还提供了常见问题排查和升级后的注意事项,帮助DBA高效完成时区升级任务。

n7o8p的博客 285

框架安全(Laravel、thinkphp、struts2、springboot)

php、java常见框架漏洞

weixin_65049289的博客 1591

XTDrone平台FAST-LIO2与ego-planner结合路径规划部署

之前做了XTDrone平台FAST-LIO2的部署现在将其结合ego-planner进行导航规划,之前查看教程是使用视觉进行定位导航的,现在重新学习。修改advanced_param_xtdrone.xml,这里有视觉信息,不修改会报错显示为输入视觉话题信息。怎么描述 ,感觉当时觉得很难的问题突然就给解决了,一顿复杂,最近勤更新吧,继续开始学习。还有一个想法就是两个rviz结合在一起启动,写了一个demo,融合的不太好感觉额。改为只使用雷达点云,这里仿真的话题是/scan。

m0_56093217的博客 1083

【MDC开发者课程】MDC功能软件-归控算法介绍

规控算法

博客标题不能为空我也没办法 1844

spring boot各层之间的作用与关系

搞了两年的Thinkphp。现在开始搞Java。把基础几下看完了,就开始搞SpringBoot,本来觉的很简单的,可是思维定式,学习springboot自己总是往tp上想。唉。。。。。。深刻感觉到,tp开发中小公司项目是真的快,容易上手。 SpringBoot . model层 model层即数据库实体层,也被称为entity层,pojo层。 一般数据库一张表对应一个实体类,类属性同表字段一一对应。 . dao层 dao层即数据持久层,也被称为mapper层。 dao层的作用为访问数据库,向数据库

奔跑的坏蜗牛 6019

AI Agent在智能投研中的实战:多智能体信息整合与策略生成

本文将带你从0到1完整搭建一套基于LangChain和AutoGen的多智能体AI投研系统首先,我们会一起梳理智能投研的核心痛点、金融数据的独特性,以及为什么传统AI Agent,尤其是多智能体协同架构,是破局的唯一最优解;RAG检索增强生成(但这次是金融领域定制化的,包括向量检索+时序数据检索+知识图谱检索的“三元检索增强”)、AutoGen多智能体协同框架。

软件工程实践的博客 381

PHP 转JAVA SpringBoot 心得

由于PHP后台项目准备转换JAVA ,由于项目较急,本文不涉及如何搭建环境以及基础配置,只说明开发流程。具体配置请查看其他文章。项目开发 分两步 先把PHP项目 涉及查询数据库 部分转化为调用服务接口,后把PHP项目web部分转成Spring+VUE.JS一 接口服务项目目录结构1.对外接口  2.接口实现先说API目录结构其中 common为封装的基础模块(分页类,一些静态变量(区域,属性,温控...

sd3929374的博客 9997

BeikeShop跨境电商独立站系统V1.5.0免授权全开源版

BeikeShop 一款开源好用的跨境电商系统,BeikeShop 是基于 Laravel 开发的一款开源商城系统,主要面向外贸/跨境电商行业提供商品管理、订单管理、会员管理、支付、物流、系统管理等功能。BeikeShop商城 Beike多语言商城 多货币商城B2C商城系统 代码100%开源 PHP商城系统 H5/PC商城 跨境电商系统 跨境商城系统 电商商城系统 Laravel 9 框架插件化开发,MVC架构 支持插件市场。Event 机制实现Hook功能,自定义可视化装修。

820

静态时序分析(STA)基本概念

静态时序分析中常见概念(fasle Path,multicycle path等)

m0_61544122的博客 2256

基于SpringBoot的快速开发框架分享

首先Github:https://github.com/sheypang/ysframework 介绍一下我的这个项目,这个项目我是去年开始做的,断断续续写了差不多4、5个月;而完善功能之后,也是很久没有修改过了。这个框架基于REST风格开发,适合做前后端分离的项目,用到的技术也特别注重开发效率,都是选择了一些可以高效开发并且使用简单的技术。前段时间使用过ThinkPHP,自认为SpringBo...

sheypang的博客 2398

最新Python爬虫实战(入门爬虫篇)——案例20:某股票数据采集(详细爬虫思路截图+抓包动图演示+完整爬虫代码+详细注释)

本次案例针对某股票行情网的静态HTML页面,实现了全市场股票数据的全自动化爬取,覆盖了从抓包分析、请求模拟、数据解析到数据存储的完整爬虫流程,非常适合入门学习者巩固基础,核心知识点和实现要点总结如下:首先是页面分析的核心逻辑,静态HTML页面的数据爬取,核心在于通过浏览器开发者工具,完成完整的抓包分析和标签结构定位。我们不需要像动态页面那样找隐藏的API接口,只需要确认数据在主文档的HTML源码中,然后通过元素选择器,精准找到每个字段对应的标签,总结出统一的标签结构规律,就能实现批量数据提取。

努力让自己发光,对的人才能迎着光而来 19万+

YYDS 阿里技术官最新总结的分布式核心技术笔记已上线,堪称福音

分布式作为当前后端技术中的重难点,相信有很多小伙伴还没有掌握。为了更好地帮助各位粉丝朋友,今天就来分享一份阿里技术官最新总结的分布式核心技术笔记。

jjc4261的博客 151

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

PHP框架和springboot区别,Spring和SpringBoot的区别

一.啥是spring?Spring是一个分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。简而言之,Spring框架为开发Java应用程序提供了全面的基础架构支持。它包含了一些很好的功能,如依赖注入和开箱即用的模块,如:Spring JDBCSpring MVCSpring SecuritySpring AOPSpring ORMSpring Test这些模块可以大大缩短应用程...

weixin_35598854的博客 2606

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

Spring Boot 和 PHP选哪个?

如果用公司类比的话,PHP像小公司,简单暴力高效,Spring像大企业,臃肿缓慢稳定。 小公司的好处容易理解,大公司的好处在于稳定。这里说的稳定不是运行过程的稳定,而是修改过程的稳定。 大的系统有很多功能,数个功能又组成模块,甚至数个模块还会组成模组,最大的麻烦来自模块间相互依赖。 模块依赖的问题这里就不展开,我们讨论一下带来的麻烦。 一个系统不是万古长存的,旧的需求会不断改进,新的需求会一直增加...

u012565113的博客 1万+

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

thinkphp6实现redis连接池_SpringBoot2.1.5 集成Redis

SpringBoot2.1.5 集成Redis1.jedis和lettuce介绍Lettuce 和 Jedis 的定位都是Redis的clientJedis在实现上是直接连接的redis server,如果在多线程环境下是非线程安全的,这个时候只有使用连接池,为每个Jedis实例增加物理连接Lettuce的连接是基于Netty的,连接实例(StatefulRedisConnection)可以在多个...

weixin_40006965的博客 445

THINKPHP框架的优秀开源系统推荐

THINKPHP框架的优秀开源系统推荐 众所周知,国内众多优秀的开源框架,ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性。并且拥有众多的原创功能和特性,在社区团队的积极参与下,在易用性、扩展性和性能方面不断优化和改进,众多的典型案例确保可以稳定用于商业以及门户级的开发。在thinkphp发展的同时也诞生了一批基于thinkp...

连锁收银系统 8712

基于thinkphp的框架视图框架,实现后台框架(适合程序员的后台框架)

我觉得呢,我写程序那么久了,我自己不怎么喜欢写html因为我的美感比较差,但是呢我写的程序除了功能比较完善外,还必须的美观! 以前老师教学的项目在我看来界面真心丑,所以每次自己都不想做成他那样。于是后来就为了自己方便,基于thinkphp写了一个比较简单的html封装的框架,基本上实现了常用的控件的封装。 通过这么一个简单的封装,现在实现一个简单的系统再也不用自己苦心的写html了 只需要这

超纯的小白兔 7685

基于SpringBoot+Bootstrap的极速后台开发框架

├─1、项目概述 │ 1、项目概述.mp4 │ ├─2、环境部署 │ 环境部署.mp4 │ ├─3、项目介绍 │ 文件结构介绍.mp4 │ 配置文件介绍.mp4 │ ├─4、Springboot相关 │ 1.SpringBoot简介.mp4 │ 2.服务器配置.mp4 │ 3.多环境使用.mp4...

tq55557的博客 2950

推荐快速上手的ThinkPHP + 使用一周体验

Cover 前言 这几天接了几个外包的活,为了快速开发,也顺便了解一下ThinkPHP (以下简称TP),我大都选择了使用TP作为开发框架。使用几天之后,我便不想再使用VUE + iView + PhalAPI 的架构模式了。 只能说在快速开发这个方面,ThinkPHP绝对是最好之一。 所以我来写这篇文章,介绍这几天我在使用过程中的体验,以及我推荐它的理由。 由于我使用TP时间也只有一周,所以没...

iimT的独立博客 2564

thinkphp5集成H-ui后台(序)

计划使用tp5和H-ui开发一个简单的博客管理系统。在集成的过程中发现使用到的一些插件都比较的实用,其中包括datatables、ztree、layer、ueditor、webuploader等,而且H-ui样式个人也觉得很实用,做中小型项目的后台是没有问题的。这里先上集成后的效果,之后会记录下具体集成的过程(大约分五篇文章)。真心感谢那些默默奉献开源代码的大神们。 如果使用比较急,可以到里

timbrown1119的专栏 2325

ElasticSearch(一)API的使用

elasticsearch的API使用

qq_40358025的博客 203

企业如何同时管理用电安全、电能质量和节能降碳?从异常溯源看施耐德电气EEO的协同管理价值

通过整合电力运行信息,并结合EEO资产健康模块、EEO电能质量模块与EEO能碳管理模块,企业可以围绕设备、回路和负荷建立更连续的分析流程,使不同专业人员能够基于相互关联的数据开展判断。企业需要进一步核对异常出现的时间、涉及的配电回路、生产负荷变化以及设备运行状态,才能判断问题来自正常的生产调整、设备运行异常,还是需要采取措施的电能质量问题。从关键回路的异常排查入手,逐步完善设备数据、专业分析和治理验证流程,企业可以让用电安全、电能质量与节能降碳从分散的管理任务,转变为相互关联的日常运营工作。

科技,技术,行业类博主 181
上一篇: 字节半天*3面/5天拿offer,全凭自身硬实力和这份Java面试笔记
下一篇: 都年末了!你竟然还没有康过这份清华大佬整理的多线程并发手册?
javaYY_
博客等级 码龄4年 148粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值