Rails中时间类型字段跟数据库保存的时间不一致问题

课程1:认识Asp.net Core Web API 本文是《.Net Core从零学习搭建权限管理系统》教程专栏的导航站(点击链接,跳转到专栏主页,欢迎订阅,持续更新…)专栏介绍:以实战为线索,基于.Net 7 + REST + Vue、前后端分离,不依赖任何第三方框架,从零一步一步讲解权限管理系统搭建。专栏适用于人群:Web后端开发人员Web API是一个很广泛的概念,Asp.net Core Web API是.NET框架用于创建RESTful风格的项目、用于轻松构建可供多个客户端访问的HTTP服务。1、支持RestFul风格编程; 阅读详情

最近遇到一个问题,有的字段用到了datetime类型,是用户表单填写的,发现保存了之后rails取出的时间跟数据库中保存的时间不一致,解决方法如下:

1、配置rails config/application.rb文件,设置时区

    config.time_zone = 'Beijing'
    config.active_record.default_timezone = :local

2、获取时间的代码

    time = Time.parse(params[:time]).localtime

fuck一下,rails console中打印出来的time不对,要使用object.created_at去查看。。。

芒果YOLOv11改进175:DCNv4卷积,全网首发纯Pytorch实现代码,无需cuda编译|即插即用,一键运行:高效可变形卷积网络:重新思考视觉应用的动态和稀疏算子 芒果YOLOv11改进:DCNv4卷积,全网首发纯Pytorch实现代码,无需cuda编译|即插即用,一键运行:高效可变形卷积网络:重新思考视觉应用的动态和稀疏算子 阅读详情

相关推荐

Windows下Delft3D安装全攻略:从申请许可到编译运行(避坑指南)

本文详细解析了Windows系统下Delft3D的完整安装流程,涵盖环境准备、许可获取、源码编译到性能调优的全过程。针对中国用户常见的网络问题和系统兼容性痛点,提供了经过验证的解决方案,特别强调Intel Fortran编译器匹配、环境变量配置等关键步骤,帮助水利工程师高效完成这一水动力学模拟工具的部署。

weixin_28736355的博客 548

Ruby on Rails 开发环境容器化:Docker Compose 实战指南

容器化是现代 Web 应用开发的基础能力,其核心在于通过声明式配置实现环境一致性与可复现性。Docker Compose 作为轻量级多容器编排工具,天然适配 Rails 的约定优于配置哲学,能有效解决 Ruby 生态长期存在的‘本地能跑、容器报错’‘在我机器上是好的’等协作熵增问题。它不替代本地开发流,而是构建一个按需启用、隔离可靠、与生产高度对齐的开发沙盒——支持代码热重载、数据库持久化、服务依赖编排及一键启停。本文聚焦 Rails 开发阶段的 Containerizing 实践,涵盖 Alpine 镜像

weixin_30808693的博客 410

MAX3232芯片引脚功能详解与外围电路设计避坑指南(从电荷泵到静电防护)

本文详细解析了MAX3232芯片的引脚功能与外围电路设计,重点介绍了其电荷泵架构和RS232通信接口的应用。通过实际案例和参数对比,提供了电路设计中的常见问题解决方案和静电防护建议,帮助工程师优化工业控制与嵌入式系统中的通信可靠性。

weixin_30596165的博客 433

rails创建表可用字段类型及限制。

合法的字段类型有以下这些: binary, boolean, date, datetime, decimal, float, integer, string, time, 以及 timestamp。可用的选项有:limit, default, and null. 比方说 :null => false 用来指定该字段不能为空。这非常容易理解。...

幻想樂章 422

Power BI财销一体分析——KPI分析应用实践

第九步:插入三个散点图,行拖入分销商表分销商字段,将度量值中的销量拖入X轴,将利润拖入Y轴,大小拖入度量值总销售额,将分销商表业务类型字段作为筛选条件添加给散点图,分别选择专业自行车店、增值经销商、仓库,使视觉对象固定显示不同业务类型的散点分布。这个公式其实是不需要我们自己写的,依赖于快度量值功能星级评分,基值选择度量值总销售额,星数选择5,最低星值评分选择0,最高星级评分值选择100,点击添加,星级评分度量值就建立好了,接下来我们理解一下公式。好的,今天的讲解就到这里。

BI瓶子的博客 1553

海康威视摄像头网线连接笔记本电脑,客户端提示:1连接设备失败。设备不在线或网络原因引起的连接超时等。(HCNetSDK.dll[7].)解决方案

1.环境 电脑:联想笔记本电脑(win10系统) 摄像头:海康威视DS-2CD3T20D-i5,4mm 连接方式:直接用网线将摄像头和摄像头连接 2.问题: 客户端出现如下提示: 3. 解决流程: 1.确认网线是否有问题:我的网线指示灯常亮,并且设备能够被搜索到,只是一直显示离线 2.按照网上教程直接配置摄像头的ip地址与电脑同一网段:登录失败。 错误码为 HCNetSDK.dll[7].(连接设备失败。设备不在【海康威视吧】_百度贴吧 失败了,没有反应 3.查看有线网卡的地

weixin_48911487的博客 3万+

rails model创建及字段类型修改

第一步:创建一个修改字段的migration文件(/db/migrate)rails g migration ChangeAplStatusFieldForMaterialApplications 其中AplStatus是需要修改的字段,在数据库中为apl_status.MaterialApplication为表名,在数据库中为material_application.首字母大写,并且一个单词一

个人博客 4747

基于fme和python-docx第三方库批量更新不动产调查表

最近应朋友需要批量更新在不动产成果中提交的各种word报表中的指定数据,根据初步的了解,我做了一个基于fme软件和python-docx第三方库进行一个批量的更新方案。

weixin_43229258的博客 1240

rails 迁移migrate model对应的数据库字段类型

Rails Migration Data Types – MySql – Postgresql – SQLite Rails mysql postgresql sqlite :binary blob bytea blob :boolean tinyint(1) boolean boolean :date date date d

Dream_CITY的专栏 2000

Agent应用实践之三 - 基础:AgentScope-ReActAgent源码解析

本章通过总结AgentScope的核心类,再通过分析ReActAgent调用大模型的底层源码原理。使我们基本了解了Agent的基本原理,这个实现方式与OpenClaw使用pi-mono的Agent基础框架是一致的。了解完ReActAgent的基本原理,下一章我们会将一下SpringBoot集成方式的代码原理,这两章是我们构建后续内容的基本框架。

代码让AI扣 470

Spring Boot:如何快速搭建一个高性能微服务架构?

通过本文的详细步骤,我们成功搭建了一个高性能的微服务架构。Spring Boot 和 Spring Cloud 提供了强大的工具链,使得开发者能够快速实现服务注册与发现、负载均衡、熔断器与降级机制等功能。同时,通过数据库连接池、Redis 缓存和异步处理等优化手段,进一步提升了系统的性能和可靠性。希望本文能够帮助你快速入门 Spring Boot 微服务架构的搭建,并为实际项目提供参考。如果你有任何问题或建议,欢迎在评论区留言!

shrgegrb的博客 1013

rails model数据类型

rails model数据类型

凡人凡居 8023

ABAP Cloud:面向云时代的 ABAP 开发范式与实践指南

摘要: 本文系统讲解SAP ABAP Cloud开发模型,涵盖其架构、工具链、规范及实践。ABAP Cloud作为统一开发模型,支持在SAP BTP和S/4HANA上构建云就绪应用,遵循clean core原则,通过RAP(RESTful应用编程模型)实现低耦合扩展。文章详细解析其核心构成(RAP、稳定API、clean core约束)、工具链(ADT、软件物流)及两种典型扩展场景(on-stack与side-by-side),并附可运行RAP示例代码(如销售笔记应用)。重点强调通过规范开发确保系统可升级性

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 402

mysql字段不明确_数据库表不确定字段解决方案

文章首发在个人博客分析通常来说,在需求分析阶段会确定数据库表中的字段,同时也普遍存在一种需求,那就是表中的字段除了常见的以外,还存在一些不确定的字段。譬如电商系统,有一个 products 表保存商品记录,然而各行各业的商品信息不一样,不可能因为某一行业商品特有的属性而在表中添加一个字段。面对这样的需求,如何设计数据库呢?对策文中提出来的解决方案的前提是系统所用的数据库支持 hash 数据类型,其...

weixin_42373066的博客 2361

数学建模模型总结

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

STM32F407中文手册

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

Rails 7 开发总结(上)

theme: condensed-night-purple 1. MVC Rails 采用 MVC 架构 MVC 部分引用于:https://ihower.tw/rails/basic.html#手工打造-crud-應用程式 瀏覽器發出HTTP request請求給Rails 路由(Routing)根據規則決定派往哪一個Controller的Acti...

weixin_41990299的博客 993

visio安装包

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

XGBoost 与 Scikit-learn 集成实操:从 fit 到调参的 4 个坑一次讲清

XGBoost 的 Scikit-learn 接口解决一个具体问题:让你用 `fit` / `predict` / `score` 这一套 sklearn 标准方法驱动 XGBoost,并直接放进 `Pipeline`、`GridSearchCV`、`cross_validate`。本文基于仓库源码讲清 4 个常见坑:特征名校验、网格搜索的 `xgb__` 前缀、`n_jobs` 双重含义、`Qu

gitblog_00169的博客 759

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

Rails操作数据库(mysql)

一. 首先需要创建一个项目,并且要说明数据使用过的是mysql: $ rails new myapp -d mysql # 将会在当前目录创建Rails程序骨架 $ cd myapp # 进入目录 $ rails server # 启动服务器 这时打开浏览器,输入IP后的3000端口,可能会出现下面这两个错误: a.Access denied for user 'root'

ClamerCoder的专栏 2925

Rails命令行工具全解析:从开发到部署的高效实践

Ruby on Rails框架的命令行工具是开发者日常工作的核心组件,它通过约定优于配置的原则大幅提升开发效率。Rails命令行基于Rake任务系统构建,涵盖了项目全生命周期管理,包括项目初始化、数据库迁移、代码生成、测试运行和部署运维等关键环节。在工程实践中,合理使用rails generate、db:migrate等命令可以自动化重复工作,而自定义Rake任务则能扩展工作流。特别是在现代Web开发中,结合PostgreSQL数据库和Tailwind CSS等工具链,Rails命令行能够高效管理前后端资产

weixin_34372728的博客 293

money-rails 与 Mongoid 集成教程:NoSQL 数据库中的货币字段管理

在现代化的 Rails 应用中,处理货币和金融数据是一个常见的需求。**money-rails** 作为 RubyMoney 生态系统的一部分,为 ActiveRecord 和 Mongoid 提供了强大的货币处理功能。本文将重点介绍如何在 **Mongoid** 驱动的 NoSQL 数据库应用中集成和使用 money-rails 进行专业的货币字段管理。 ## 🚀 为什么选择 money-r

gitblog_00830的博客 905

mysql 字段不确定,数据库表不确定字段解决方案

文章首发在个人博客分析通常来说,在需求分析阶段会确定数据库表中的字段,同时也普遍存在一种需求,那就是表中的字段除了常见的以外,还存在一些不确定的字段。譬如电商系统,有一个 products 表保存商品记录,然而各行各业的商品信息不一样,不可能因为某一行业商品特有的属性而在表中添加一个字段。面对这样的需求,如何设计数据库呢?对策文中提出来的解决方案的前提是系统所用的数据库支持 hash 数据类型,其...

weixin_31834087的博客 2180

Rails 命令行完全指南:从 `rails new` 到 `bin/rails` 全命令实战

Ruby on Rails 的命令行工具(CLI)是贯穿整个 Web 应用生命周期的核心生产力入口:从创建工程、生成代码、启动服务器,到操作数据库、运行测试、加密凭据、排查启动故障,几乎所有日常开发动作都可以在终端中完成。本文以官方 Command Line 指南为骨架,结合当前仓库 [railties](https://link.gitcode.com/i/2fd7c5dbdcfe9960994

gitblog_00335的博客 366

rails-database

a = Category.new(:name => 'Ruby', :position => 1) a.save # save 还有相同方法”save!” # 有无惊叹号的差别在于validate资料验证不正确的动作, # 无惊叹号版本会回传布林值(true或false),有惊叹号版本则是验证错误会丢出例外。 b = Category.create(:name => 'Perl', :posit

青竹剑侠 618

Ruby on Rails Active Record Migrations 完全指南:用 Ruby DSL 安全地演进数据库 Schema

Migrations(迁移)是 Rails 内置数据库版本管理机制的核心:它把"修改表结构"从手写 SQL 变成一段可复现、可回滚、数据库无关的 Ruby DSL 代码。本文将基于当前 Ruby on Rails 仓库中的权威指南 [guides/source/active_record_migrations.md](https://link.gitcode.com/i/b3fd28bbf252a

gitblog_00458的博客 432

Ruby on Rails 连接 Oracle 数据库实践

今天学习了一下最近流行的Ruby on Rails,感觉:就是一个代码生成器链接Oracle数据库的时候,查了半天的资料。终于找到办法了,^______^1.安装驱动     http://rubyforge.org/projects/ruby-oci8/     下载并运行(双击)ruby-oci8-mswin里面的*.rb2.更改database.ymldevelopment:  adapte

挥动指尖的动力 1863

Rails在CentOS 7生产环境为何首选PostgreSQL

PostgreSQL 是一种功能完备、事务强一致的关系型数据库,其基于 MVCC 的并发控制、行级锁机制和丰富数据类型(如 jsonb、tsvector、PostGIS)为现代 Web 应用提供了坚实基础。相比 SQLite 的轻量局限与 MySQL 在 CentOS 7 上的配置脆弱性,PostgreSQL 在高并发、复杂查询和扩展场景中展现出更可预测的行为与更强的运维可控性。尤其在 Rails 生态中,它原生支持 schema.rb 不覆盖的高级特性,并与 CentOS 7 的 SELinux、syst

weixin_33768481的博客 369

rails 乐观锁

定义: 当我们获取数据后,可能会有多个人同时修改数据,为了保证修改数据没有冲突,所以rails引进了乐观锁的概念,当多个人同时修改数据,那么最先修改的才会起作用,其他都会失效,如果想要再次修改必须获得最新的数据。 场景: 乐观锁适合读取操作比较频繁的场景,如果出现大量的写入操作,数据发生冲突的可能性就会增大,为了保证数据的一致性,应用层需要不断的重新获取数据。 现在就为大家演示下乐观锁的基本过程:...

weixin_42297518的博客 433
上一篇: linux常用命令
下一篇: Mysql性能优化方案
CSTO
博客等级 码龄17年 3粉丝 63原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值