【低功耗架构开发系列】(二)不找SVN托管代码了,直接用Visual Studio Online

低功耗架构开发系列】(一)云服务选型 使用云服务对于中小型企业和中小型项目启动是非常好的选择。本文从费用和功能的角度,讲述最基本的功能(Hello World :) 所需要的云服务选型。并且着重强调微软Azure的优势。 本文以一个超迷你团队作为笔者【低功耗架构开发系列】的假设团队背景,也是【低功耗架构开发系列】的开头,毕竟云服务选择和技术选型应该是开始设计与编码的重中之重。 阅读详情

使用SVN还是Git,这是个问题。笔者使用SVN多年,初到Git的时候非常不习惯,主要是Git是个分布式的概念,无中心化是他的重要思想之一,刚开始用起来总觉得相当别扭。随着工作逐渐转移到Git上面,也对Git的使用越来越清晰了。但转移到Git过程中的一个重要问题是团队的其他成员要跟着思路一起学习Git,而学习Git也是有成本的,如果操作出错,多多少少会影响工作输出,甚至一大片的工作需要重来。所以在开始一个项目的时候,笔者认为使用SVN还是Git,真的是一个问题。使用Git的好处在此不多说,但是还是回到【低功耗架构开发系列】的主要关注点——成本,这既包括软硬件投入的成本,也应该包括人员学习和试错的成本。


本文的背景是立足在多年使用SVN的团队的基础上,讲解笔者自己最后选择Visual Studio Online的过程与使用情况。


上面已经讲过了,Git使用需要团队学习成本,笔者需要先强调一下,这个成本不是不值得投入。我们先回顾一下上一篇文章  【低功耗架构开发系列】(一)云服务选型   ,在这系列文章里面我们假设是一个3个人的团队,其中两人是兼职的情况。那么既然是兼职为主,目的自然是拿钱干活,给的钱尽可能的少,出的活尽可能的又快又好。两个团队成员都从来没有使用过Git,那么要求使用Git的话,势必会增加时间成本和沟通成本,要知道兼职的人员彼此之间很可能是不在同个办公室办公,很难有“手把手教”的机会,兼职人员会遇到一定程度的上手困难之后,很有可能还会要求更多的价格。但是我们按照功能点付费是核心,那么这部分支出能省就省,毕竟说句不中听的,今天是A和B兼职,明天可能就是C和D兼职了,保证继续下一波的培训的投入成本低,也是架构师需要考虑的点之一。


那么选择了学习和使用成本偏低的SVN,下一步应该就是搭建SVN服务器了吧?Wait!等等,我们有没有内网服务器?对不在同一个工作空间的兼职人员,内网服务器的投入有没有作用?代码管理和版本控制系统是基础系统关键中的关键,假如这个挂了或者有什么事情导致数据损失,那就是公司或组织的固定资产流失,所以搭建SVN服务器是需要高度稳定性的。

上一篇文章笔者已经强调过,在中小型的起步项目中自己搭建系统的运维成本和运维水平是存在风险的,优先应该寻找云服务。而代码管理系统甚至比生产线系统还重要,因为即便是某项目某产品从生产线下线了,代码应该也需要继续保存(在组织需要延续下去的情况下),那么这个云服务的投入首先是要保证持续而稳定的。对于小型团队来说,这个预算也不得不计算。


我们首先是找SVN的托管,但是SVN的托管真的不多,更别说免费而且保证高SLA的,然后笔者想到了使用Microsoft Visual Studio Online,用来替代SVN。VS Online来源于以前的Team Foundation Server,Team Foundation Server来源于以前的Visual Source Safe,都是基于文件的集中式代码管理版本系统,从概念上与Git分布式不一样,从使用习惯上也就更接近SVN,当初笔者从Visual Source Safe到SVN,一天就熟练基本操作了。


VS Online不做介绍了,直接在http://www.visualstudio.com 可以看到。使用VS Online非常简单,只要你有Microsoft ID,微软的资源就几乎都能使用。就像买东西一样,我们先看看它的价格,能不能用得起再说。



注意,Visual Studio Team Service其实是“私有库”的概念,公有库就像GitHub一样,开源给几乎所有人访问,如果您不想开源,那么用到一定规模都可能要付费,当然了,自己搭建其实也是付费,而且还付出人力成本。

我们暂时不考虑规模变大的情况,有5个用户免费就可以了!这里说的用户,是代表有权力对代码签出修改并签入的。Visual Studio Online有一种用户类型叫做stakeholder的,因为Visual Studio Online不单单是一个代码管理版本控制系统,和Team Foundation Server一样,也是一个全方位的研发过程管理平台。StakeHolder通俗点讲就是不写代码的其他项目参与人员,主要是以观察了解开发团队的工作情况为主的一种角色,这种角色是可以无限个添加到Visual Studio Online的项目里面的。


Visual Studio Online虽然5个人以上就开始收费,但这个是以单个项目为单位的。意思是您在Visual Studio Online里面可以建立多个项目,每个项目都可以根据使用情况添加不同的4个用户(除了Owner以外)授权代码编辑,也可以作为Member加入到别人创建的Visual Studio Online项目里面。如果适当地把实际工作的项目分割成若干个Visual Studio Online并控制好授权,其实免费就够用了。而Visual Studio Online免费与收费的用户体验从代码管理上没有什么不一样(毕竟MSDN订阅者就是免费的嘛),收费用户只是多了一些项目持续集成的功能,即使是免费使用,高SLA也得以保证,这算是笔者作为“某某公司头号软狗”推荐的最高性价比的代码管理云服务了。


Visual Studio Online建立项目的过程非常简单,登录Visual Studio Online即有向导,而且微软自己也提供资料,包括在线创建和用Visual Studio创建,在这就不再讲解了。

使用Visual Studio Online不是为了自己一个人写代码的,所以我们马上进入到Web界面添加用户这一步。


点击左上角“Users",然后就进入了用户管理界面了。

注意这里笔者圈住了下面的”Recent Projects & team“,这个之后再来解释。


点击Add即可添加用户。下面的用户列表默认已经列出了项目的Owner作为用户,Access Level列的值是”Basic“,Basic类型的用户就是可以编辑代码的用户类型了,右边框住的User Summary一块的Free用户就是按照Basic用户来名额的,StakeHolder用户不在其中。

我们添加一个用户。


Sign-in address要输入用户的Microsoft ID;Access Level就是上面说的用户类型,笔者这边可选的有Basic、StakeHolder和Visual Studio/MSDN Subscriber,Subscriber的选项我们先不管,这里添加一个Basic的,点击Send Invitation。被邀请的用户登录Microsoft ID对应的邮箱查看邮件,点击”Join Now"即可。


如果上面”Recent Projects & team“这里面有代码的话,会发现只添加User,用这个用户登录Visual Studio并且连接Team Service还是看不到我们的项目,为什么呢?

这就是上面还没完成的部分,除了把用户添加到Visual Studio Online的项目里面,还要添加到具体的Project里面。一个Visual Studio Online的项目对应一个Collection,每个Collection有一个到多个的Team Project,每个Team Project都还是需要添加用户到对应的Team里面作为Team Member。

看一下Visual Studio连接Team Foundation Server的界面就能明白这个概念了。


我们再在Visual Studio Online上面点击上面的Celia项目,这是一个Team Project。


这里右上角的“Team Members”还是空的,需要我们Invite用户。点击“Invite a friend”,然后Add,在“Add users and groups”里面输入刚才加入User的Microsoft ID就行。系统会自动匹配到用户的,点击右边的名片图标,会弹出详细信息:


添加完毕之后,Close就行。回到之前的界面,可以看到Team Members有两个用户了,分别是Owner和新Add的用户:


就从上面这个Dashboard界面我们就能看出VS Online有多么强大,已经整合了Scrum和Agile两种开发工作方式(在创建Team Project的时候需要选择)。Dashboard可以点击左上角的加号新增,新增的Dashboard和当前的一样,右下角有个铅笔形状的图标,鼠标移动上去可以点击编辑和新增,比如缩放大小和调整位置、删除Widget等。也可以新增Widget,把其他的功能放到Dashboard里面。这些功能编辑和展现方式跟Windows Modern UI很相似,都很简单,就不在这阐述了。


Dashboard我们目前停留在HOME页(见左上角蓝色字体),后面还有CODE、WORK、BUILD、TEST、RELEASE等,Visual Studio Online的强大无法在这文章里面说明,后面我们集中于讲解代码有关的,也就是CODE的部分。

我们点击“CODE",会来到下面这个界面:


出现了一行二级菜单,这里左边是本项目的存储”$/Celia“,右边是Explorer、Changesets、Shelvesets。然后下面主功能区左边是导航树,跟Windows资源管理器很相似,右边是当前选中目录的详细列表,点击“History”可以看签入的各个版本的信息,功能很简单一看就懂。

$符号是Visual Studio代码项目的根目录,“$/Celia”是创建Team Project的时候已经默认创建的Repository,我们还可以创建新的Repository,点击“$/Celia”的下拉按钮就可以过滤、创建和管理Repository了。Manage repositories里面是管理当前Repository的各种参数和配置,很复杂,也不在这个文章里面介绍,有需要可以查阅微软的说明文档。


“Repository”这个词也就是字面上的意思,就是储存库。一个Team Project里面还能有多个储存库,每一个储存库可以使用Git或者Team Foundation Version Control来管理版本,点击“New repository”就知道了:


Type可以选择Git和TFVC的,Git类型还有下面这个“

后面为了讲解得更加实用一些,会使用另外一个存有大量代码的Team Project来讲解。


首先讲解一下笔者推荐的代码分支管理的规则,以_src目录作为代码存放的根目录:


master分支:产品主要线上版本,每次上线一个版本,就需要把发布的代码merge到master。目前还没有(正式)上线代码,目前内测阶段的代码仍然放在development分支

development分支:开发主要版本,包含最新的代码更新,一般领先master版本,开发人员在这个版本上面进行主版本的功能开发。目前内测阶段的代码仍然使用此分支。

branches:每次发布需要创建一个“release_XXX”分支,“XXX”为版本号。同时把此release分支合并到master。如果需要改bug,我们在最新的release分支上进行修改,修改完上线合并到master。

版本号一般来说递增。

  ● 从V1.0.0开始,每次标准发布修改第二位,如V1.0.0->V1.1.0
  ● 每次大功能发布(存在与前面版本无法兼容的大型功能、业务变化非常明显等),则修改第一位版本号码V1.0.0->V2.0.0
  ● 每次在Release上改bug,不涉及到新功能,则修改最后一位,如V1.0.0->V1.0.1


笔者估计从SVN过来的用户都有使用SVN存放项目文档和其他文件的习惯,可能是使用SVN客户端一般都使用Tortoise SVN,与Windows资源管理器整合比较紧密,所以也用SVN的版本功能来管理项目文档了。其实Git也能管理,但是我总觉得如果一开始使用Git,应该不会养成这样的习惯。不过尊重原来的习惯,使用VS Online管理文件也很不错,因为VS Online和市面上Coding.net、CSDN CODE等Git云托管服务不一样,VS Online并不按照存储容量计费,如果您网速顶得住的话,直接把某些大型安装包放到VS Online的Repository上都是可以的。

但是不建议在代码目录结构下进行文件存放,文件存放在代码外层,以免获取代码版本的时候影响太大。

我们使用SVN,可以选择某个SVN的子目录Checkout到不同的地方,避免Checkout出整个SVN的东西,用VS Online当然也是可以的,这是为了减少文件保存与代码编辑相互影响。

笔者建议大家使用Visual Studio多个WorkSpace的方式去进行不同工作性质的文件管理,一个WorkSpace大家可以理解为签出一个SVN的子目录到本地的某个路径上。

以下提供一种方法供大家参考,适用于Visual Studio 2012或以上版本。以建立一个完全使用代码编辑的Workspace为例:

1. 打开Visual Studio,连接团队项目



2. 连接团队项目后,打开“Source Control Explorer”,这是一个类似于SVN的管理界面,在未打开代码解决方案的情况下,即使装上Visual Studio Community(免费的)用VS来操作这个界面,占用的资源还是比较少的:


3. 用好这个界面,先上图,注意红色窗口的内容:


左边Folders:对应服务器上的文件目录列表,我们可以像使用SVN一样,选中一个目录然后签出。点击一个目录后,如果旁边的Local Path是“Not mapped”,则代表当前Workspace此目录尚未映射到本地目录,点击时会提示新建Workspace(如图所示);如果是已经映射,则点击会弹出此路径的文件夹窗口。
上方Workspace: 可以选择当前的Workspace,做不同的事情的时候可以选择不同的Workspace,如果点击下拉按钮,也能通过“Workspace...”新增或编辑现有的Workspace。
如上图中间所示是Workspace映射服务器目录和本地目录的对话框,选择了左边服务端的根目录(Server folder),然后本地目录可以浏览或自行输入一个路径。

4. 与使用SVN一样,建议只映射我们需要的服务器目录到本地。如上所述,我们选择代码目录(_development目录),创建一个专属的Workspace:


在Workspace选择的地方点击下拉->“Workspaces...”,可以打开如上图中间的“Manage Workspaces”对话框,选择“Add...”,然后在“Add Workspace”对话框的“Source Control Folder”选择服务端路径(见上图下方),上图右边的“Browse for Folder”是服务器目录,我们选择_development,看到“Folder path:”已经不是根目录了,点击“OK”返回,再选择我们需要映射到的本地文件夹路径:


点击OK之后,会提示Workspace改变,此目录下可以获取最新的文件版本,我们选择“是”:


获取完之后我们关闭Visual Studio,然后找到上面设置的本地路径,再次选择一个Solution打开VS:


这个时候观察下图,Workspace已经切换到刚刚定义的_DEV结尾的Workspace(注意:右边Team Explorer Tab页面才是真正目前使用的Workspace,左边的Source Control Explorer仍然是个Workspace的总体管理界面):


现在再使用“Solution Explorer”递归获取代码,就不再会取得当前Workspace映射目录以外的文件了。

5. 如何切换Workspace?

笔者不建议把项目文档存放到代码目录_src里面,但是可以存放在外面,如下图就是存放到_Project路径下:


那么我们可以新创建一个WorkSpace,点击Source Control Explorer Tab页的上面中间的下拉按钮,“Workspace...”,然后点击“Add...”或者“Edit...”都可以打开上图这个界面,如同上文操作一样,添加一行Status 为Active的目录,我们选中项目文档的TFVC路径,映射Local Folder即可。

如果我们想要签出一个子目录但是排除某一个目录,例如某个子目录文件很多或者很大,一般没有需要拉下来,可以按上图添加一行“Cloaked”类型记录,Source Control Folder选择TFVC路径即可。


OK,这样项目组的人员就可以无缝地把自己的工作习惯带过来基于VS Online的开发。微软是不是提供只适用于.NET开发的产品呢?先不论Visual Studio Community已经开源并且提供非常丰富的插件支持不同的编程语言的开发,开发人员使用Eclipse、XCode和IntelliJ IDEA也有Visual Studio Team Service的插件。

微软的轻量级IDE——Visual Studio Code也貌似提供了VSTS的插件,但是VS Code目前更多是基于命令行的处理方式,所以使用体验不怎么好。所以请别吝啬使用自己的计算机,推荐装上Visual Studio Community,这不仅是一个IDE,配合Visual Studio Online,也是一个软件开发全生命周期管理的工具。


VS2015 使用SVN进行代码管理方法步骤 VS2015 使用SVN进行代码管理方法步骤 第一步:下载AnkhSvn-2.6.12735 第步:接受svn安装协议 第三步:安装SVN 第四步:完成svn 安装 第5步 打开vs2015,菜单栏选择 选项-》工具 第六步 源代码管理-》插件选择,下拉列表选择 svn 完成vs2015 源代码绑定 ... 阅读详情

相关推荐

ANSYS Discovery 2023R1 保姆级教程:手把手教你玩转几何模型参数化(附避坑指南)

本文提供ANSYS Discovery 2023R1几何模型参数化的全面教程,涵盖基础环境搭建、核心操作解析及高级应用场景。重点讲解参数化建模中的常见问题与避坑方案,帮助用户高效掌握Workbench与Discovery的协同使用技巧,提升工程仿真效率。

weixin_29204205的博客 684

TortoiseSVN的shelve功能

版权声明:本文为神州灵云作者的原创文章,未经神州灵云允许得转载。 本文作者:Joy 前言 TortoiseSVN是一个免费开源的客户端,操作简单且功能强大,是程序员的好帮手。但它毕竟是免费软件,在一些功能上相比一些商业软件,还是有差距的,比如谁用谁知道的shelve功能。在更新过TortoiseSVN新版本后,我惊喜的发现菜单中出现了shelve / unshelve的选项,经过一翻仔细研究...

dclingcloud的博客 1万+

华大HC32F460从零到200MHz:手把手教你配置时钟系统(附避坑指南)

本文详细解析了华大HC32F460 MCU的时钟系统配置,从启动过程、时钟树分析到实战配置200MHz系统时钟。文章手把手指导开发者如何正确配置外部晶振、MPLL锁相环及总线分频,并提供了硬件检查、代码解读及常见问题排查的避坑指南,帮助用户从零构建稳定可靠的高性能时钟环境。

net55的博客 259

SVN教程(集中式版本控制)

SVN:是一款代码管理工具,他能记住你每次的修改,查看所有的修改记录,恢复到任何历史版本,恢复已经删除的文件。 SVNGIT相比 使用简单,上手快。 目录级权限控制,企业安全必备。 子目录checkout,减少必要的文件检出。 SVN主要应用 开发人员用来做代码的版本管理 用来储存一些重要的文件,如合同 公司内部文件共享,并能够按照目录划分权限 SVN的基本操作 提交(commit) 将本仓库内没有与服务器进行同步的内容提交至服务器以实现同步, (提交前可以双击一下文件以查看文件修改

m0_60027772的博客 2473

SVNSVN服务器搭建,客户端使用,在VS Code 中使用SVN

1.软件下载http://subversion.apache.org/packages.html#windows ①VisualSVN服务端 ②TortoiseSVN客户端 ③Chinese, simplified语言包 ④vscode下载 2.在vs code使用svn ①在vscode里面下载TortoiseSVN for VS Code插件 ②配置svn环境变量和在......

阿来小同学的博客 2万+

VC Code(Visual Studio Code)编辑器使用 SVN

SVN 即 Subversion 的简称,是开发人员经常使用的源代码版本控制系统之一,如何在VC Code(Visual Studio Code)编辑器中使用 SVN,本文进行讲解 1、在VC Code(Visual Studio Code) 中下载 svn 插件 选择TortoiseSVN 进行安装 点击安装 Install 安装完成 2、svn 递交、...

悟世君子的博客 1万+

Visual Studio Code环境中使用SVN的方案之一

        SVN(Subversion的简称),是开发人员经常使用的源代码版本控制系统之一,其它同类型的平台产品还有Git、CVS等等。根据现在SVN的实际使用情况来看,使用SVN的公司或者研发项目还是非常众多的。那么,学习并掌握SVN的使用,就成为了开发人员必须掌握的重要技能之一。         根据使用环境的同,SVN的常规使用,分为直接使用SVN客户端、使用IDE中的SVN集成插...

花布老虎zy的思维空间 6万+

Visual Studio 和 VSCode 哪个好?

在选择编程工具时,Visual Studio(VS)和 Visual Studio Code(VSCode)是两个最常被提及的选项。两者都是微软推出的产品,各有其独特的功能和优势。本文将深入比较 Visual Studio 和 VSCode,帮助读者理解它们的异同,并根据具体需求做出最佳选择。

1万+

Visual Studio Code集成TortoiseSVN管理项目

如图:搜索svn ==> 安装 Chris Johnston 的 如图:在VSCode中 ==> 选择设置 ==> 到settings.json ==> 在其中进行编辑 编辑内容: 如图:界面会出现一个S标志(注:在未提交代码时,配置好后仅一闪而过) 或 控制台查看 如图:第一次,先在文件夹里,将项目导入到创建好的svn仓库里 如图:SVN Commit(提交) 或 SVN Update(更新) 项目代码...

huivictor的博客 3471

Visual Studio Online 的 FAQ:iPad 支持、自托管环境、Azure 账号等

iPad 支持目前,Web 版 VS Code 只支持基于 Chromium 的浏览器,还支持 iPad 上的浏览器。但对于 Safari 的支持,是 Visual Studio Online 团队的一件高优先级的任务。更多详情,可以关注:https://github.com/MicrosoftDocs/vsonline/issues/108相信过了多久,就能在 iPad 上玩 VS Code...

dotNET跨平台 1046

visualstudio使用visualstudio online提供的TFS服务教程

visualstudio online是由微软提供的在线Team Foundation Server 服务简称TFS,TFS我们称为工作流协作引擎,更具体的叫法是团队项目版本控制器。它主要作为是在团队开发的时候提供代码管理,方便团队代码的管理。        通常情况下,公司的项目团队会在本地部署TFS服务,封闭源代码在局域网内,当然也排除有的公司直接使用visualstudio o

冬日的编程心得 6981

Azure DevOps ——创建项目 —— 版本和工作流进程的区别

之前说过了微软的 Azure DevOps 分为云版 Azure DevOps Service 和本地版 Azure DevOps Server,现在我们就开始来一点点教大家如何使用里面的几大模块。 Azure Board 看板,是敏捷开发里面对任务进行可视化管理的一种方式,几乎所有的敏捷开发管理工具都具备看板这种功能,可能大家最最熟悉的是 JIRA 了。如果你了解敏捷开发,那么你可以跳过这...

不忘初心 1万+

Visual Studio Code使用心得

Visual Studio Code 使用心得。

jiangwei0512的博客 8万+

【项目】从菜鸟向CTO晋级之路-svngit该如何选择

今年2月份的时候,公司启动的一个新的项目,项目启动初期考虑使用版本管理工具,眼前有svngit两个工具可以选择。网友说:在阿里,使用git做版本管理的是项目,需求级的使用SVN,原因是因为项目有相对稳定的交付周期,代码会有同人员的交叉修改,所以使用git就足够,需求级则面临同人员频繁修改同一文件的问题,那么使用svn更好。目前公司还有其他的项目在运行和维护着,一起的项目用的是svn进行版本

唐欢 2588

SVN代码迁移到TFS的方法

1.代码之前是SVN管理的,准备换TFS管理。首先解除SVN文件夹绑定 (1). 创建一个reg文件 (2). 在文件中填入如下内容并保存: Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Folder\shell\DeleteSVN] @="Delete SVN Folders" [HKEY_LO...

梦之颠——应用与二次开发专栏 1110

SVN,CVS版本控制系统

SVN(Subversion)是一个开放源代码的版本控制系统,配套使用的是SVN服务器,采用了分支管理系统,其设计目标是取代CVS.互联网上的很多版本控制器已从CVS迁移到SubVersion 版本控制器的原理:A B 同时开发一个项目,a写完之后将代码提交给服务器,b要做的时候先从服务器下载最新版本,再接着做.如果A和B都要提交给服务器,并且提交修改了同一个方法,就会产生代码冲突,如果a先提交

微微 1348

VS CODE 使用SVN插件

1.打开VS CODE,若要使用SVN需要下载相应的插件。 2.点击左侧,在上方搜索扩展,输入“chinese”,点击第一个插件安装,可以安装中文语言,让VS CODE可读性增加。 3.在上方输入SVN,安装第一个搜索结果-SVN插件。 4.安装之后,需要对SVN插件进行配置,配置本地SVN的命令行执行文件地址。点击左下角齿轮,选择“设置Settings”。 5.在弹出...

xcwc1995的博客 3万+

Visual Studio 2010之后-Visual Studio vNext

        Visual Studio 2010之后,下一个版本的Visual Studio (vNext)会是个啥样子呢?在本周开始TechEd 2011 North America,微软 Visual Studio的负责人Jason Zander透露很多具体的信息,详细的内容参见Jason Zander的博文 - Announcing ALM Roadmap in Visual Studio vNext at Teched。对于关心的测试的童鞋,测试用例执行的窗口有了很大的变化,如下图所示:  

Jeffrey Zhou 的专栏 2119

如何在vs studio中使用代码托管

前几日发现了码云这么一个洋气的工具,故撰写此文讲述在vs中使用的方法,此篇先讲述如何创建,日后使用中若发现亮点,亦会继续更新

铭净止水的博客 9602

移动设备用户年龄和性别预测挑战数据

移动设备用户年龄和性别预测挑战数据

上一篇: 【低功耗架构开发系列】(一)云服务选型
下一篇: 应对巨头需要的是战略的高瞻远瞩,而不是战术上的996——读《腾讯传》有感
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值