微信小程序业务域名配置:校验文件验证失败,请下载校验文件,上传到服务器指定的目录

请将文件MP_verify_xxxxxx.txt上传至填写域名或路径指向的web服务器(或虚拟主机)的目录 曲线救国 from flask import Flask from flask import send_from_directory app = Flask(__name__) app.run(debug=False) # 给你下载 @app.route('/music/MP_verify_sEq5gDVMRGMxhiMt.txt', methods=['GET']) def getLogFile(): try: return send_from_directory('', 'MP_ve. 阅读详情
AI摘要

本文介绍了如何解决微信小程序验证过程中遇到的问题,包括校验文件内容错误、https证书过期及curl测试链接失败等情况,并提供了一个具体的解决方案:通过申请并使用单域名证书来代替泛域名证书完成验证。

1.校验文件内容错误。校验文件内容一般是非HTML数据,如果下载下来的校验文件内容为HTML数据,一般为登录态过期。请重新登录小程序下载校验文件。

2.https证书过期。请确保https证书处于有效期内。

3.使用curl 测试链接,确保curl能够正常访问链接。

4.请确保url中的文件名与下载下来的文件名大小写一致。

5.其实上面说的都没用,真正的原因是微信后台有个小问题,对泛域名https证书的识别性不好,去申请一个免费的单域名证书

   比如 你要验证你的业务域名为a.example.com,那就去申请一个a.example.com的证书,免费域名现在在七牛、阿里云、腾讯云等都可以申请到

   申请完了用单域名的替换掉泛域名证书,然后再次验证,你会发现已经成功修改成功了

   修改成功后再把单域名证书换成通用域名证书。比如a.example.com ----> *.example.com

   

【已解决】微信小程序报错:request 合法域名校验出错 如若已在管理后台更新域名配置,请刷新项目配置后重新编译项目,操作路径:“详情-域名信息” 会出现一下报错,甚至连手机移动端使用时也会出现“网络出错了”这样的错误提示。查看微信官方的文档和网上的一些解决方法,可以按照下面的图文步骤进行设置👇👇👇。按照以上方法即可解决报错。现在控制台没有任何红色的报错信息,干干净净!第二步,点击详情页中的本地设置,将不校验合法域名勾选上。第一步,点击右上角的详情按钮,进入详情设置面板。最近在写微信小程序时,打开。 阅读详情

相关推荐

微信小程序域名配置全攻略:服务器与业务域名详解

本文详细解析微信小程序域名配置的全流程,包括服务器域名和业务域名的设置要点。从HTTPS协议要求到ICP备案注意事项,再到常见问题排查,提供一站式解决方案。特别强调业务域名的所有权验证技巧,帮助开发者避免常见配置错误,确保小程序网络请求和web-view功能正常运行。

weixin_28304023的博客 346

小程序扫普通链接二维码打开小程序

配置流程 登录小程序后台,进入“开发管理-开发设置-扫普通链接二维码打开小程序”,开启功能后即可配置二维码规则。 二维码规则 根据二维码跳转规则,开发者需要填写需要跳转小程序的二维码规则。要求如下: 二维码规则的域名须通过ICP备案的验证。 支持http、https、ftp开头的链接(如:http://wx.qq.com、https://wx.qq.com/mp/、https://wx.qq.com/mp?id=123)。 一个小程序帐号可配置不多于100个二维码前.

培根芝士的专栏 2468

微信小程序业务域名配置全解析:从原理到实战避坑指南

在Web开发中,域名安全与访问控制是保障应用安全的重要机制。其核心原理是通过白名单机制,对可访问的外部资源进行严格校验,防止恶意跳转和钓鱼攻击,从而保护用户数据与平台生态。这一机制在微信小程序中体现为“业务域名”配置,它不仅是安全合规的强制要求,更是确保web-view组件、客服消息等场景下H5页面能稳定加载的技术基石。对于开发者而言,理解并正确配置HTTPS证书、校验文件放置及多环境管理,是打通小程序与H5混合开发的关键。本文围绕业务域名这一高频搜索概念,结合线上故障排查与配置实战,深入剖析其背后的安全模

weixin_30432579的博客 409

文件上传验证

原理概述 应用程序因为业务需要,提供了上传文件的功能,但是在上传点处对所上传的文件安全检查不够严格甚至不做检查,导致黑客可以上传任意文件,进而获取网站控制权甚至是服务器控制权。 危害 1.上传的文件若为web脚本文件,服务器的web容器解释并执行了黑客上传的脚本,导致黑客直接获取网站控制权 2.上传文件为crossdomain.xml,则黑客能控制flash在该域下的行为 3

pzqingchong的专栏 848

微信小程序web-view开发全攻略:域名配置与H5通信实战

在移动应用开发中,混合开发模式因其高效复用现有代码的能力而被广泛采用,其中H5页面嵌入原生容器是常见技术方案。其核心原理在于通过WebView组件桥接Web技术与原生平台,实现一套代码多端运行。这种架构的技术价值在于平衡开发效率与用户体验,尤其适合功能迭代频繁、内容动态性强的业务模块。从应用场景看,电商活动页、内容资讯、第三方服务集成等典型场景都依赖于此方案。要实现稳定可用的混合应用,关键在于正确处理安全策略与通信机制,例如微信小程序平台对web-view加载的H5页面有严格的域名白名单限制,开发者必须配置

weixin_33793620的博客 376

微信小程序web-view打包指南:业务域名校验与白屏排查

web-view是微信小程序中的原生组件,用于在小程序页面内加载外部网页。与普通iframe不同,web-view的渲染层级更高,也受到更严格的约束,加载URL必须满足HTTPS、域名已备案且通过业务域名校验。理解这些机制,是避免真机白屏的基础。通过web-view将现有H5站点封装为小程序,可以复用已有移动端网站,减少双端开发成本,非常适合已有稳定WAP站的团队快速触达微信生态。实际落地时,需要完成业务域名配置、校验文件部署、URL参数透传以及加载体验优化等步骤。本文从web-view原理出发,结合uni

weixin_42437253的博客 117

微信站长认证一直失败解决方法

我看网上好多相关的解决办法都是更改文件的编码格式,不知道是不是有人尝试成功了,反正我是尝试多次无果。在微信开放社区寻找答案的过程中看到了一条评论说用域名+校验文件的形式测试文件部署是否成功,正是这条评论给了我启发。所谓知己知彼,我们要先了解微信那边是怎么校验的,才能知道如何正确的部署校验文件,如果这一步失败了,那么很大可能性是文件部署有问题。配置完之后使用域名或者地址+校验文件名测试一下,能显示文件内容就代表已经配置成功了。在网站的配置文件中添加。

m0_47525124的博客 4229

【论文精读】DisCo: Graph-Based Disentangled Contrastive Learning for Cold-Start Cross-Domain Recommendat

源域中具有相似偏好的用户在目标域中可能会表现出不同的兴趣。因此,直接迁移嵌入可能会引入不相关的源域协同信息。提出了一个基于图的解耦对比学习框架,以捕捉细粒度的用户意图并过滤掉不相关的协同信息,从而避免负迁移。 具体而言,对于每个域,我们使用多通道图编码器来捕捉多样化的用户意图。然后,我们在嵌入空间中构建亲和图,并执行多步随机游走以捕捉高阶用户相似性关系。将一个域视为目标域,我们提出了一种以用户相似性为指导的解耦意图对比学习方法,以优化跨域的用户意图桥接。

qq_52342142的博客 1228

微信小程序生态12-微信小程序开发设置中服务器域名和业务域名

在小程序中有这样两个域名设置:服务器域名和业务域名其实它这写的很清楚了:但是对于初学者来说,这两个域名配置着实可以把人绕晕,尤其是业务域名那个万恶的校验文件,虽然微信官方也写了校验文件检查失败自查指引,但是没有什么作用。下面说说这两个域名怎么配置吧。每个微信小程序需要事先设置通讯域名,小程序只可以跟指定的域名进行网络通信。包括普通 HTTPS 请求([wx.request、上传文件([wx.uploadFile、下载文件(wx.downloadFile) 和 WebSocket 通信(wx.connectS

summon的博客 2万+

TypeScript领域建模实战:基于斯坦福本体论七步法构建健壮数据模型

在软件工程中,领域建模是连接业务需求与技术实现的关键桥梁,其核心在于对业务概念、属性及其关系的显式定义与规范。通过系统化的建模方法,开发者能够将模糊的领域知识转化为清晰、可扩展且类型安全的数据结构,从而在编译时捕获潜在错误,提升代码质量与可维护性。这一过程的技术价值在于实现了从业务逻辑到类型系统的无损映射,确保了设计的一致性。在实践中,结合TypeScript的静态类型检查与Zod的运行时验证,可以构建起从概念到代码再到数据库的三层一致性约束。本文以电商、博客等常见应用场景为例,深入解析如何运用源自斯坦福知

weixin_42551967的博客 383

JMeter脚本录制-快速上手篇

有的项目应用场景下,压测时,需要考虑带宽因素,压测不只是压测接口,静态资源也要一起压测。一般来说,静态资源比较多,如果一个个手工去写请求,是比较繁琐的,此时,可以使用Jmeter的脚本录制功能。 步骤1,创建脚本录制模版。 JMeter菜单:文件>模版,下拉选择到Recording,点击“Create”按钮; 填写录制参数: hostToRecord:填写要录制的主机域名,例如,我们这里填入:www.baidu.com schemeToRecord:填写要录制的模式,例如,htt...

软件测试大叔 5734

2025最新|微信小程序域名配置全攻略:从服务器到业务域名,避坑指南

微信小程序作为闭环生态,对网络请求有着严格的安全限制。所有与外部服务器的通信必须经过,否则会直接触发"不在合法域名列表中"的错误。无论是调用API接口、上传图片还是嵌入H5页面,正确配置域名都是确保功能正常的前提条件。⚠️:2025年微信开发者平台进一步加强了域名审核机制,未配置或配置错误的域名将导致小程序审核直接驳回。

牛奶夹心巧克力 1万+

【图神经网络】从0到1使用PyG手把手创建异构图

异构图的准确定义如下:异构图(Heterogeneous Graphs):一个异构图GGG有一组节点V=v1,v2,...,vnV=v_1,v_2,...,v_nV=v1​,v2​,...,vn​和一组边E=e1,e2,...,emE=e_1,e_2,...,e_mE=e1​,e2​,...,em​组成,其中每个节点和每条边都对应着一种类型,用TvT_vTv​表示节点类型的集合,TeT_eTe​表示边类型的集合,一个异构图有两个映射函数,分别将每个节点映射到其对应的类型ϕv:V→Tv\phi_v:V\rig

小哲的博客 7833

微信小程序业务域名保姆级配置教程

微信小程序业务域名保姆级配置教程

好好学电脑 1万+

无人机通信安全渗透测试:从信号拦截到GPS欺骗的完整攻防框架

在物联网和智能设备普及的背景下,无线通信安全成为关键基础设施防护的核心环节。其原理在于,通过软件定义无线电等设备对空中的射频信号进行捕获、分析与模拟,从而评估通信协议在加密、认证和防重放等方面的脆弱性。这项技术的价值在于,它能主动发现并修复系统设计缺陷,避免因信号被拦截或欺骗导致设备被劫持、数据泄露等重大安全事件。其应用场景广泛,涵盖消费电子、工业控制及关键基础设施等领域。本文聚焦于无人机这一典型移动物联网终端,深入探讨如何构建一套针对其通信链路的渗透测试方法论,其中涉及信号拦截、协议逆向等关键技术,旨在为

weixin_34128237的博客 392

Android CCodec (四) Output Buffer流程分析

Android 多媒体架构 Codec2 Output Buffer

给大佬递杯卡布奇诺的博客 3266

小程序业务域名不是自己的页面咋办_微信小程序配置合法域名和业务域名

在微信小程序的开发过程中,当需要请求第三方网站数据时,都是直接调用wx.request接口的:xxxx:function(){ wx.request({ url: 'xxxxxxxxxx', data: {}, header: { 'content-type': 'application/json' }, success: function (r...

weixin_39637233的博客 1632

MIKE 21 教程 1.2 网格搭建界面介绍之点线面要素的高阶处理 (Mesh Generator 工具)

MIKE 21 教程 手把手教学系列 1.1 网格搭建界面介绍之点线面要素的高阶处理 (Mesh Generator 工具) ​ 上一篇文章讲解了如何创建基本的点、线、面要素 MIKE 21 教程 1.1 网格搭建界面介绍之点线面的创建 本节来讲一下对点线面要素的高阶处理,主要包括要素修改与打断线(break line)的讲解 ​

Hello Word 4152

微信小程序域名配置全攻略:从服务器到业务域名的避坑指南

本文详细解析微信小程序域名配置的关键步骤与常见问题,涵盖服务器域名和业务域名的设置要点。从HTTPS协议要求到备案注意事项,提供实战解决方案和避坑指南,帮助开发者高效完成小程序网络环境配置,确保API请求和web-view功能正常运作。

weixin_30329623的博客 448

FC7300 Clock介绍

FC7300的时钟架构包括一个高级时钟图和内部时钟需求。它有5个CMU,使用SIRC监控FIRC/SOSC/FOSC,并使用FIRC监控SIRC。此外,CMU4还使用FOSC监Slow Clock。

舊梦的博客 327

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

微信小程序web-view业务域名配置全解析:从原理到实战避坑指南

在Web开发中,域名白名单和HTTPS安全校验是保障应用安全通信的通用机制。其核心原理是通过预先登记可信域名并验证控制权,确保应用只能加载或访问受信任的外部资源,从而防止恶意代码注入和数据泄露,提升整体安全性。这一机制在需要集成第三方内容的混合应用架构中尤为重要,例如在小程序生态中嵌入H5页面。微信小程序通过‘业务域名’和‘服务器域名’两套独立的配置体系来落地这一安全策略。其中,‘业务域名’专门管控web-view组件加载的H5页面源地址,要求域名已完成ICP备案、支持HTTPS,并通过上传特定校验文件来证

weixin_29323365的博客 356

精雕软件(JDpaint) 5.5 绿色版

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

微信小程序 web-view 打开空白或提示未配置业务域名:校验文件、HTTPS 与跳转域名排查

典型现象:开发者工具里能打开 H5,真机预览或体验版却是白屏;有的直接弹「域名未配置」;有的能闪一下标题栏,内容区一直空。web-view走的是,不是request合法域名。两边配齐了仍白屏时,多半是校验文件没落到正确路径、证书链不完整,或 H5 自己又跳到了未登记的二级域名。下面按「先分清域名类型 → 再核校验文件 → 再查证书与跳转」走。

20年技术经验|专注小程序+外贸独立站|已服务500家企业,分享创业中有趣的产品和技术经验。 310

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

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

微信小程序设置web-view的业务域名

微信小程序设置web-view的业务域名 域名必备 你的域名必须要备案过 你的域名必须是https,而不能是http web-view 在小程序后台添加业务域名,只解析业务域名中的url网页地址的. 域名是需要ICP进行备案的. 用ftp上传文件验证域名的所有权 登录官方小程序...

chixi9603的博客 488
上一篇: VIA驱动不自动切换
下一篇: SSL链接一个很奇怪的错误
MTU_X79
博客等级 码龄15年 4粉丝 18原创
评论 4
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值