IOS回调白名单URL scheme

ios h5版app 支付回调空白页面_iOS 接入建行龙支付说明 需求近期因为公司业务需求,需要接入建行支付,包含建行龙支付和建行分期,因为分期只需要接入H5即可,龙支付需要H5和APP之间切换,故此将接入步骤详细记录下来,方便他人再次接入的时候,少入坑。(真的要吐槽下建行的文档,不够详细)。##配置信息1.首先需要在plist中进行scheme白名单配置,如下图:2.plist 的 NSAppTransportSecurity 字段添加相应的 NSExcep... 阅读详情

http://www.jianshu.com/p/a8cce94d508e

URL scheme一般使用的场景是应用程序有分享或跳其他平台授权的功能,分享或授权后再跳回来。

近期苹果公司iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Schemes列为白名单,才可正常检查其他应用是否安装。
受此影响,当你的应用在iOS 9中需要使用 QQ/QQ空间/支付宝/微信SDK 的相关能力(分享、收藏、支付、登录等)时,需要在“Info.plist”里增加如

<key>LSApplicationQueriesSchemes</key>
 <array>
    <!-- 微信 URL Scheme 白名单-->
    <string>wechat</string>
    <string>weixin</string>

    <!-- 新浪微博 URL Scheme 白名单-->
    <string>sinaweibohd</string>
    <string>sinaweibo</string>
    <string>sinaweibosso</string>
    <string>weibosdk</string>
    <string>weibosdk2.5</string>

    <!-- QQ、Qzone URL Scheme 白名单-->
    <string>mqqapi</string>
    <string>mqq</string>
    <string>mqqOpensdkSSoLogin</string>
    <string>mqqconnect</string>
    <string>mqqopensdkdataline</string>
    <string>mqqopensdkgrouptribeshare</string>
    <string>mqqopensdkfriend</string>
    <string>mqqopensdkapi</string>
    <string>mqqopensdkapiV2</string>
    <string>mqqopensdkapiV3</string>
    <string>mqzoneopensdk</string>
    <string>wtloginmqq</string>
    <string>wtloginmqq2</string>
    <string>mqqwpa</string>
    <string>mqzone</string>
    <string>mqzonev2</string>
    <string>mqzoneshare</string>
    <string>wtloginqzone</string>
    <string>mqzonewx</string>
    <string>mqzoneopensdkapiV2</string>
    <string>mqzoneopensdkapi19</string>
    <string>mqzoneopensdkapi</string>
    <string>mqzoneopensdk</string>

    <!-- 支付宝  URL Scheme 白名单-->
    <string>alipay</string>
    <string>alipayshare</string>

</array>





uniapp集成支付宝授权登录全流程指南(附iOS/Android适配方案) 本文详细介绍了在uniapp项目中集成支付宝授权登录的全流程,包括环境配置、授权流程设计与实现、平台适配方案(iOS/Android)以及测试上线注意事项。通过清晰的代码示例和实用技巧,帮助开发者快速掌握支付宝授权登录的集成方法,提升移动应用的用户体验。 阅读详情

相关推荐

JSBridge原理与实现:打通Hybrid App中原生与H5的通信桥梁

在移动应用开发中,混合开发(Hybrid Development)结合了原生应用与Web技术的优势,成为平衡性能与开发效率的主流方案。其核心原理在于通过WebView容器加载H5页面,实现跨平台代码复用与快速迭代。然而,WebView的沙盒机制限制了H5与原生系统的直接交互,这便催生了JSBridge这一关键技术。JSBridge本质上是一套通信协议栈,它基于URL Scheme拦截或JavaScriptCore/WebKit注入等底层机制,建立双向通信通道,使JavaScript能够调用原生功能(如摄像头

weixin_30681615的博客 539

服务器中域名过白名单是什么意思

服务器中域名过白名单是什么意思

XRY_XIAO的博客 3302

uniapp中实现支付宝深度链接直跳:优化H5支付体验的实践指南

本文详细介绍了在uniapp中实现支付宝深度链接直跳的实践方法,优化H5支付体验。通过深度链接技术,开发者可以避免传统支付流程中的多次跳转,显著提升支付成功率和用户体验。文章包含具体代码实现、平台差异处理、常见问题排查及安全合规要点,帮助开发者快速落地该方案。

weixin_30772105的博客 497

iOS项目中的URL Schemes与白名单

在项目中对接支付、分享等第三方框架的时候,经常会用到URL Scheme和白名单等的配置,一直都是照着文档直接配置,没有理解它的作用。 最近写分享的时候分享静态页面,后台问我要一个iOS协议,用于跳转appstore的下载地址,没有搞明白就百度了一下,搜了很多文章,终于搞明白了它的作用。现在就来总结一下吧。URL Scheme是什么由于苹果的app都是在沙盒中,相互是不能访问数据的。但是苹果还是给...

weixin_34268753的博客 1077

iOS集成支付宝H5支付实现跳转与回调的解决方案

  iOS集成支付宝H5支付实现跳转与回调的解决方案     前言 最近有个需求,不能在iOS客户端内集成支付宝和微信的App支付SDK(为了防苹果审核检测SDK),因此使用H5支付,虽然微信和支付宝的H5支付文档都说不要在App内使用H5支付而是使用App支付,但办法总是有的。 这篇讲的是支付宝H5支付如何从App跳转支付宝以及如何从支付宝跳转回App,微信支付的...

fongim的博客 4913

开放平台: 签名密钥、回调地址、ip白名单管理。

进行开放服务的API签名校验时,根据请求头的APPID查询签名密钥secret_key,进行接口的签名校验。交易接口设计加密相关字段: 回调地址、白名单IP、渠道商私钥、渠道商公钥、是否加密(1:加密,0:不加密)进行开放服务的API签名校验时,根据请求头的APPID查询签名密钥secret_key,进行接口的签名校验。实现:基于代理商渠道表进行管理,请求方式统一使用POST,代理商渠道信息存储到Redis中。需求: 提供给下游的开放平台,需要对接口做签名密钥、回调地址、ip白名单管理。

专注于计算机研发知识和资讯分享 660

iOS 9:六、URL scheme(白名单)

URL scheme一般使用的场景是应用程序有分享或跳其他平台授权的功能,分享或授权后再跳回来。在iOS8并没有做过多限制,但是iOS9需要将你要在外部调用的URL scheme列为白名单,才可以完成跳转如果iOS9没做适配 会报如下错误 canOpenURL: failed for URL : “mqzone://qqapp” - error: “This app is not allowed

xiaoxiaobukuang的专栏 3962

URl Scheme的使用以及回调

做了个Url Scheme在两个app之间跳转的demo,供自己备份使用

iOS URL Schemes白名单配置

转:http://www.jianshu.com/p/a8cce94d508e https://github.com/ChenYilong/iOS9AdaptationTips/commit/a6b680fbbcc15b4c0b560f273957cd3e65215c33 iOS 9系统策略更新,限制了http协议的访问,此外应用需要在“Info.plist”中将要使用的URL Sch

baidu_31071595的博客 5820

airodump-ng、aircrack-ng使用教程

wifi破解、airodump-ng、aircrack-ng脚本

ssmbyss的博客 2231

解密TMS320F28377D双核工程中的内存分配艺术:从CMD文件到实战优化

本文深入解析TMS320F28377D双核DSP的内存管理艺术,从CMD文件配置到实战优化技巧。详细介绍了SARAM、GSRAM等内存类型的特性与配置方法,提供双核协同、性能优化及高级调试的实用方案,帮助开发者提升系统实时性和稳定性。

weixin_29190651的博客 662

iOS客户端微信SDK集成全流程实战详解

本文详细介绍了iOS客户端微信SDK集成的全流程,主要内容包括:使用CocoaPods集成WechatOpenSDK的步骤与常见问题解决;配置Universal Link的原理、苹果后台与微信开放平台的双向配置方法;URL Scheme的Xcode设置与安全实践;以及info.plist白名单的必要配置。文章还包含一线开发案例、典型问题解答和合规建议,为开发者提供从环境准备到上线的完整指导,确保实现高可用的微信登录、分享等功能。通过系统化的操作步骤和实战经验分享,帮助开发者规避常见陷阱,提升集成效率。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 1490

【Android14 ShellTransitions】Transition就绪:双Transaction与SurfaceControl显示时机剖析

本文深入剖析了Android14 ShellTransitions框架中Transition就绪阶段的核心机制。重点解释了为何需要“双Transaction”来精确控制SurfaceControl的显示与隐藏时机,以确保Activity切换动画的流畅性。通过分析onTransactionReady流程、窗口绘制状态机及动画目标提升策略,揭示了系统如何协调WMCore与WMShell,实现从状态收集到动画播放的无缝衔接。

ooo22的博客 527

iOS微信支付

1、集成SDK1.1、(手动集成)下载并解压SDK​(下载那个带支付的SDK)1.2、(通过CocoaPods集成)pod 'WechatOpenSDK' 2、添加依赖库(CocoaPods集成的不用添加)SystemConfiguration.frameworklibz.tbdlibsqlite3.0.tbdlibc++.tbdCoreTelephony.frameworkCFNetwor...

weixin_30608503的博客 235

【第三只眼:Oracle通过归档日志查看系统的业务高峰sql】

根据oracle归档的业务高峰量,查找业务sql,进行优化

霍然的专栏 578

Mask2former自定义数据集实现滑坡语义分割

先介绍一下这次用的数据集:Bijie Landslide Dataset,是武汉大学在Triplesat卫星上裁剪的数据集,包含770张滑坡(image、mask、dem、边界坐标txt)和2003张非滑坡数据(dem、image)。直接在ade20k修改,按照路径和设置将预处理数据放好,该步骤很快就能结束,打开的图片是全黑的,因为0和1在图片上肉眼较难区分。bijie的数据集可以直接使用,接下去的步骤是1、预处理数据。配置文件修改训练类别和训练类型,由于我们分割的是滑坡,所以进行语义分割。

weixin_57812838的博客 2214

实战--接入最坑的支付宝

Paste_Image.png 因为项目中需要用到支付,所以这一周就开始集成支付,因为微信支付貌似需要缴纳200元才能使用微信第三方登陆,支付等功能,所以公司先要求集成支付宝,百度了一下,集成支付宝的过程,很多人都说集成支付宝太坑了,但我觉的前端还好,坑的是后台,后台天天吆喝着支付宝官方的文档和demo太坑了,如果是后台的话,不要太相信支付宝官方文档和demo,话不多说,集...

ailv6840的博客 550

无人机核心部件解析:从机架到飞控的全面指南

本文全面解析无人机的核心部件,从机架材质选择到飞控系统调参,提供专业指南。重点介绍碳纤维机架、无刷电机搭配、锂聚合物电池管理及飞控传感器配置,帮助读者掌握无人机组装与优化的关键技术,适用于航拍、测绘、农业植保等多种应用场景。

weixin_30872499的博客 467

facebook登陆ios

1:在info.plist里填写fbid 和fb对应的url scheme 2:ios9填写白名单如下: LSApplicationQueriesSchemes fbapi fb-messenger-api fbauth2 fbshareextension NSAppTransportSecurity

lvchaman的专栏 1187

手把手教你用海康威视相机+DLP4500搭建双目结构光系统(附避坑指南)

本文详细介绍了如何使用海康威视相机和DLP4500搭建双目结构光三维测量系统,涵盖硬件选型、系统搭建、双目标定及三维重建等关键步骤。特别针对预算有限的开发者和实验室团队,提供实用的避坑指南和优化技巧,帮助实现0.02mm的高精度测量。

weixin_42526087的博客 461

嵌入式Linux&Android开发-TP调试

目录 一、修改DTS,添加新的I2C设备 二、修改Makefile,Kconfig 三、tp调试时的问题排查 一、修改DTS,添加新的I2C设备 &i2c4 { status = "okay"; clock-frequency = <400000>; gslX680@40 { compatible = "gslX680"; reg = <0x40>; touch-gpio = <&gp

嵌入式成长手册 570

手把手教你用SwiftUI为iOS 17 App添加‘一键跳转系统设置’功能(含蓝牙、Wi-Fi等常见场景)

本文详细介绍了如何使用SwiftUI为iOS 17应用添加‘一键跳转系统设置’功能,涵盖蓝牙、Wi-Fi等常见场景。通过对比`Link`组件和`UIApplication`扩展的实现方式,提供SwiftUI封装方案,并针对iOS 17的新特性进行适配优化,帮助开发者高效实现系统设置跳转功能。

流云 372

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

彻底解决WebView中net::ERR_UNKNOWN_URL_SCHEME错误:原理、拦截方案与实战

URL Scheme是移动开发中实现网页与原生应用通信的核心机制之一,它定义了应用间跳转和数据传递的协议格式。其工作原理在于,当WebView遇到非标准协议时,会因无法识别而触发net::ERR_UNKNOWN_URL_SCHEME错误,这本质上是系统的一种安全隔离行为。该技术的核心价值在于打通Hybrid App中Web与Native的壁垒,实现无缝的功能调用与体验衔接。其典型应用场景包括唤醒第三方应用(如支付)、调用系统功能(拨号、短信)以及实现自定义的页面深度跳转。本文聚焦于通过重写WebViewCl

weixin_42524171的博客 389

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

egret-ios-接入qq登录

1.详细查看qq互联官方文档 https://wiki.open.qq.com/wiki/%E3%80%90QQ%E7%99%BB%E5%BD%95%E3%80%91IOS_SDK%E4%BD%BF%E7%94%A8%E8%AF%B4%E6%98%8E https://wiki.connect.qq.com/qq%E4%BA%92%E8%81%94-ios-sdk-%E6%8E%A5%E5%85%A5%E6%8C%87%E5%8D%97 1.下载sdk导入到xcode项目中,还是使用拖拽的方式

xzl159的专栏 487

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

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

React-Native-WeChat 项目常见问题解决方案

在 React Native 开发中,微信登录、分享和支付功能的集成一直是开发者面临的重大挑战。从复杂的 SDK 配置到跨平台兼容性问题,从授权回调处理到支付流程调试,每一个环节都可能成为项目推进的拦路虎。 你是否遇到过这些问题? - 微信授权登录后无法正确回调到应用 - 分享功能在 iOS 和 Android 上表现不一致 - 支付流程调试困难,错误信息不明确 - 配置繁琐,容易遗漏关键步骤

gitblog_00841的博客 741

liquid-glass-studio十大参数族速查表:折射、色散、菲涅尔与眩光全解析

**liquid-glass-studio** 是一个用 WebGL2 & WebGPU 在浏览器里复刻 Apple 液态玻璃(Liquid Glass)UI 效果的开源项目,支持折射、色散、菲涅尔反射与眩光等完整光学效果,并提供细粒度的实时参数调节面板。本文整理出 **十大参数族** 的取值范围、默认值与调参思路,帮新手快速调出理想的玻璃质感。 [![Liquid Glass Studio 液

gitblog_00441的博客 791
上一篇: 在线动画演示各种排序算法过程
下一篇: 一家用价值观管理的公司胜于任何具体的管理手段
oLevin
博客等级 码龄14年 80粉丝 90原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值