腾讯QQ、新浪微博第三方登录接口申请说明

【第三方互联】4、分享至腾讯QQ、新浪微博(sina) 在项目开发中,我们需要将项目中相关信息分享至第三方平台,本次学习分享至 QQ、新浪微博 在学习之前,我们选介绍一下我们分享至第三方平台时所需要的信息 url:项目访问地址 title:标题,一般为你的项目名称 pics:封面,项目的封面照片 summary:摘要,也可以理解成你项目的宣传口号、广告语等 desc:描述,对你的项目加以文字的描述,介绍你的产品 appkey:分享至新浪微博需... 阅读详情

腾讯QQ第三方登录接口

开发者注册

1.         在QQ互联开放平台首页 http://connect.qq.com/ ,点击右上角的“登录”按钮,使用QQ账号登录,如下图所示:


2.    登录成功后会跳转到开发者注册页面,在注册页面需要提交公司或个人的基本资料。下图所示的是公司注册页面:


网站接入申请

网站接入前,需首先进行申请,获得对应的appid与appkey,以保证后续流程中可正确对网站与用户进行验证与授权。

 

1.         开发者注册成功后,会跳转到“管理中心”页面。点击添加网站,填写相应的信息,如没跳转管理中心,则点击导航栏第四个管理中心连接。跳转完成后,点击选择网站,点击创建应用后弹出一个层,点击网站。如下图所示:



2.   在上一步的操作后,进行创建应用。如下图所示:


重点关注回调地址一栏。用户点击QQ登录跳转到QQ登录页面,登录成功后,应该跳转回网站。回调地址即在这里用来指定跳转回网站的URL。

申请时需注意: 1. 只需要填写站点根域名即可;

       2. 如有多个站点同时使用该APPID,可以注册多个根域名,用分号隔开,注意不要包含“http://”部分; 3. 具体跳转URL将在程序中指定路径以及请求参数进行构造。
例如:

申请时填写的 回调地址 是:mysite.com;example.com

合法的回调地址可以是:http://bbs.mysite.com/qqlogin.PHP?a=1

也可以是:http://www.example.com/qqlogin.PHP?a=1

但是如果使用:http://www.othersite.com/qqlogin.php?a=1 ,请求将会被认为非法,因为该回调地址根域名未被注册过。

网站地址在填写完毕后,点击验证按钮。弹出如下警告框:


按照其要求,将代码复制到网站首页或以及目录下的head标签中,再次点击开始验证。

 

3.      网站信息填写完成,点击“确定”后,网站注册完成,进入管理中心,在管理中心可以查看到网站获取的appid和appkey,如下图所示:


APP ID是指:申请QQ登录成功后,分配给网站的appid,用来唯一标识网站。

APP KEY是指:申请QQ登录成功后,分配给网站的appkey。appkey将在QQ登录过程中以及网站通过OpenAPI访问/修改空间受保护的资源时,用来计算签名值,以提高传输过程参数的防篡改性。

以上APP ID 及APP KEY将在后续开发中使用到。所以请将该信息,返回给开发人员。

 

4.      在管理中心,点击申请的网站下的“编辑信息”,进入编辑页面,点击右上角的“编辑”按钮,页面进入编辑状态,即可对网站信息进行修改和完善,如下图所示:


5.      进入控制台页面,可以看到网站申请处于“开发”状态。网站上线,首先需对网站进行开发,即完成QQ登录功能并正常放置QQ登录按钮,如下图所示:


新浪微博第三方登录接口

 

1.         在 微博 开放平台首页 http://open.weibo.com/connect,点击右上角的“登录”按钮,使用 新浪微博帐号 登录

2.   点击开始接入按钮,跳转到开发者注册页面,在注册页面需要提交公司或个人的基本资料。你需要通过邮箱验证和手机验证。我们会给你填写的邮箱和手机号发送验证信息,请根据提示验证你的身份。

请注意:开发者类型一经填写,不可修改。个人开发者不可接入微博支付业务,请谨慎选择。下图所示:


3.         当完成邮箱验证之后,便进入创建应用的资料填写环节。


请注意以下几点:

(1)图标:

应用广场展示的应用图标尺寸为80*80像素,大小不超过2M,支持PNG、JPG格式,请提供合适的图标。

(2)应用分类:

你可以根据所开发的应用类型选择3个标签,以第一个标签确定应用的主要分类。请确保应用分类正确,否则无法通过审核。

 

4.      在开发应用之前,你需要对“应用中心”进行整体的了解。“管理中心”为应用的创建、开发和运营提供了一站式的便捷服务,如:

开发者信息和应用信息的编辑;

接口与权限的快速申请与管理;

       提供支付入口,方便开发者完成支付认证、接入支付和管理营收;

提供应用状态的基本状况、数据统计,如:接口调用情况、用户活跃度分析和用户特征分析等;

集合网站应用与其他应用的管理页面,方便开发者管理不同的应用。


点击http://open.weibo.com/webmaster ,进入管理中心,在“管理中心”可查看应用信息。App Key是应用唯一的识别标志,新浪微博开放平台通过App Key鉴别应用的身份。App Secret是给应用分配的密钥,你需要妥善保存这个密钥,从而保证应用来源的的可靠性,防止被伪造。你可通过这两个数据进行相关的技术开发工作。该APP Key及App Secret与 腾讯接口 APP ID及APP KEY作用相同。请返回给开发人员


1.申请审核流程

打开管理中心,当应用状态的进度条提示应用资料已通过,便可提交审核。


在此页面,回调页面设置,此回调页面必须设置,马上在导入的项目中会用到!先记下此处,至关重要!


在测试帐号下,填写进行开发时用来本地测试的帐号

        </div>
            </div>

博文转自 : https://blog.youkuaiyun.com/lmy_1/article/details/54580125
如有侵权;请联系删除

Asp.Net 腾讯QQ与新浪微博OAuth2授权登录实现 OAuth2.0是互联网上使用最广泛的授权框架,用于安全地授权第三方应用程序访问服务器上的资源,而不需要将用户的凭据共享给第三方。OAuth的起源可以追溯到2006年,由Blaine Cook和Chris Messina等开发者创建,旨在解决他们在开发OpenID和FriendFeed时遇到的授权问题。OAuth2.0的核心目标是提供一种机制,使得第三方开发者能够安全地获取用户的数据,而无需直接访问用户的密码等敏感信息。 阅读详情

相关推荐

微博登录 QQ登录 分享

微博登录 QQ登录 实现登录等功能 后续升级

第三方登陆

实现QQ、微信、新浪微博和百度第三方登录(Android Studio) 前言:  (此文转载自 http://blog.youkuaiyun.com/csdnfml/article/details/49446479) 对于大多数的APP都有第三方登录这个功能,自己也做过几次,最近又有一个新项目用到了第三方登录,所以特意总结了一下关于第三方登录的实现,并拿出来与大家一同分享; 各大开放平台

mayangfan的博客 966

QQ 新浪微博第三方登录

网站实现QQ、新浪微博的第三方登录。

腾讯qq和新浪微博网站登录接口及文档

腾讯QQ接入网站: http://wiki.connect.qq.com/js_sdk使用说明 新浪微博接入网站:

sunshine 1838

QQ微博 一键登录

该资料集成了QQ和新浪微博一键登录网站的技术,基于thinkphp3.2.2开发

手把手教学|用飞书+扣子工作流实现自动化批量图片生成,效率提升99%!体验完整操作流程

在先前的文章中,我们已经深入探讨了扣子智能体的多种应用场景,以及如何创建和使用工作流进行高效管理。本文将引领大家通过一个具体案例,将扣子的工作流功能嵌入飞书应用中,实现操作的自动化与高效化。

weixin_66485800的博客 6030

腾讯微博 新浪微博_Q2A:如何启用新浪微博和腾讯QQ帐户登录?

腾讯微博 新浪微博In Question2Answer, how to enable Sina Weibo and Tencent QQ account log in? 在Question2Answer中,如何启用新浪微博和腾讯QQ帐户登录? Use the Social Plugin for Sina Weibo and Tencent QQ (in Chinese): http://q2ac...

cuma2369的博客 337

如何用 OBProxy 实现 OceanBase 的最佳路由策略

本文基于业务中一类常见的路由问题展开,对OceanBase的路由功能及对应配置项做详细介绍,指导用户在业务实践中如何正确的配置路由策略及快速排查路由问题

OceanBase分布式数据库的博客 1695

腾讯空间、新浪微博、腾讯微博登录接口

腾讯QQ、新浪微博登录接口的使用。 1、引用JS文件 其中,上面代码中的“APPID”替换为申请接入QQ登录时获得的appid;“Appkey”替换为申请接入新浪登录时获得的Appkey。 2、HTML代码 3、JS脚本 window.onload=function(){ tpaLogin.init(); } //第三方平台登录 tpaLogin = {

pan_junbiao的博客 1万+

蛋白质组学进阶指南 | (八)差异蛋白筛选与功能解析实战

本文是蛋白质组学差异蛋白筛选与功能解析的实战指南。详细讲解了如何利用R语言的limma包进行差异表达分析,结合FDR校正和差异倍数设定筛选关键蛋白,并通过火山图可视化结果。进一步介绍了使用clusterProfiler进行GO与KEGG功能富集分析,以及利用STRING数据库和Cytoscape构建蛋白互作网络以识别枢纽分子,最终串联分析形成可验证的生物学假说。

weixin_29208077的博客 749

H医药公司配送中心布局仿真优化

新增2个Source,Source1命名为“货物到达”,用来进行仿真供应商原料到达,Source2命名为“订单到达”,用来进行仿真客户需求订单的到达,如下图是设置两个发生器的具体参数。通过主操作界面上的各个实体工具,如发生器、暂存区、货架、处理器、吸收器等实体工具对初始模型和优化后的方案模型进行仿真建模,建立优化前后的模型图如下图所示。通过下表可以看出,优化前操作员的总运行距离为132.11km,而优化后操作员的总运行距离为128.17km,运行距离缩短,操作员的疲劳强度降低。

m0_72514516的博客 2529

OAuth 2.0 . 第三方 登录 (新浪微博、腾讯QQ)

首先 去 QQ互联、新浪微博开放平台、 申请应用 成功: 注:在 申请应用时  会有 验证 把这段代码粘贴 到你的网站根目录默认访问的文件里的head头信息中。113133650471167627000636 为 应用序列号 每次申请应用和修改 地址等 都会发生变化 如果  不操作 这块代码 就不会检测成功 应用申请不会成功 新浪微博 也一样 然后 编写程序 1、腾讯QQ

demodata的博客 1772

Xilinx Blockset Counter计数器模块使用及参数配置

本文详细介绍了Simulink中Xilinx Blockset库Counter模块的使用以及参数说明。

白码王子小张的博客 1097

腾讯空间、新浪微博、腾讯微博分享接口

腾讯空间、新浪微博、腾讯微博分享接口 分类: API 我の原创 2014-01-20 10:03 10358人阅读 评论(1) 收藏 举报 腾讯空间新浪微博腾讯微博开放平台分享接口 腾讯空间、新浪微博、腾讯微博分享接口。 注意:在网站对接前,请先申请注册好您的QQ登录appid、新浪登录Appkey、腾讯微博appkey。 1、引用JS文件

yaozhiqi520的博客 736

Python实战:如何用高德API批量获取POI数据(附完整代码)

本文详细介绍了如何使用Python通过高德API批量获取POI数据,包括API基础准备、核心功能模块设计、高级功能实现及实战应用案例。文章提供了完整代码示例,帮助开发者高效解决商业网点分析、公共设施规划等实际项目中的数据采集需求。

stem5的博客 328

PD3.0详解 第十一章 策略层 电源协商(三)(sink端)

前面大师匈介绍了Source端的内容,今天再看一下sink端的内容。大师匈还是想把标准文件的状态机拿出来说一下。大师匈把一张图分成俩部分,大家凑合看一下,一张图实在看不清内容。 Sink 端电源协商状态机。基于sink端哦!!! 上图先!!! 上面俩张图就是整个SINK端口的状态机了。。。介绍一下这个流程: 1、收到hardreset或者刚上电的进入PE_SNK_Startup开始状态。 2、在PE_SNK_Startup阶段后进入PE_SNK_Discovery,并等待Vbus的到来。 3、当Vbus

大师匈的博客 4133

新浪、QQ OAuth2.0接口应用及简单DZ!NT登录整合

两家的API都比较简单的,最新的都是OAuth2.0标准的   申请地址:新浪微博 腾讯QQ   认证过程 用户授权返回authorization_code 用authorization_code获取网站专属的access_token 用access_token获取openid 用access_token和openid调用用户授权过的API,如用户信息等   新浪微博默认授权的接口多

sxty0220 博客之家 6150

从零开始学习PX4源码20(遥控器模式切换如何执行)

本节主要学习PX4的手动遥控器切换模式,具体是如何实现的,具体改变了哪些变量,和模式管理有什么联系。

陌城烟雨 319

新浪微博,腾讯微博,QQ号码 联合登录。。。完善中...

新浪微博 技术接口地址:http://open.t.sina.com.cn/wiki/SDK 腾讯微博 技术接口地址:http://open.t.qq.com/open-js/doc/ QQ号码登录 技术接口地址:http://wiki.open.qq.com/wiki/website/API%E5%88%97%E8%A1%A8 详细用法有待完善。。。

dreamzml的专栏 9364

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

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

IOS应用 第三方登录授权与分享

这几天因为项目需要,一直在搞IOS的第三方登录授权与分享,包括新浪微博登录授权分享,QQ登录授权,腾讯微博分享,人人网登录授权与分享。     其实单纯想想的话,实现起来可能很简单,无非是去各个平台分别申请AK与SK,然后创建应用,而且都需要审核。但是真正做起来就会遇到这样那样的问题,而且这几个平台的客服都不理人或是回答不及时,没起到什么作用。问答系统的上提问的话,也几乎没有人回。无奈一遍遍地看

lkawef的专栏 1641

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

记录友盟分享,第三方登录遇到的坑

最近公司项目上需要用到分享跟第三方登录,经历了各种坑之后,基本上算是告一段落了,现在把遇到的各种坑记录下来,希望能帮到一些遇到相同问题的童鞋。 坑1:QQ第三方登录的坑 QQ第三方登录需要你在腾讯开放平台申请一个AppID及Appkey ,然后才能使用,由于同一个app使用不同的签名文件生成的AppID及Appkey是不一样的,如果你给腾讯那边上传的是一个debug版的apk,那么这个

从百草园到三味书屋 3200

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: jQuery blockUI 使用详解
下一篇: 解决github Permission denied fatal: Could not read from remote repository.
bloxed
博客等级 码龄10年 263粉丝 192原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值