设计可用的表单:表单的三层模型

当大家在纸上或电脑上填写表单时,为什么经常说‘我不太会填表’或者‘我最烦填表了’?这里一定是有原因的,其中一定是有一些什么东西让人们有这样的感觉。

在‘三层模型’中,一个表单有三种属性:感知(布局)、对话(问题和回答)、和关系(任务的结构)。

用三层模型来分析表单可以让我们更好的分析现存的问题,并且提出让表单更可用的方法。

前言

如果你想做一个可用的表单,第一步就是要了解什么是表单。通过解析表单的属性,改善它的各个方面,之后再合成这些改善了的元素,可以整体提高表单的效果。

这些想法来源于我对各种不同类型表单的评估分析的结果,其中主要是提高英国国税局(Inland Revenue)税务表单的可用性的工作。税务表单是一个极端的例子,通常没有谁会特别愿意填这样的表单。

本文先谈谈表单,然后进一步解释表单的三个层面:感知属性(布局)、对话属性(问题和回答)、以及关系属性(任务的结构)。

表单是什么?

有时,当我问起那些成天和表单打交道的人‘表单是什么’这个问题的时候, 却发现这个问题并不是像表面上那么好回答,而且回答之前通常都有长长的一声‘嗯……’,‘我觉得……’,跟着说‘表单是用来收集信息的’、或者是‘收集问题和回答的’等等。

我怀疑我问的这个问题有缺陷,因为答案太显而易见了。我们注意到表单之所以是表单,是因为它看起来就像一个表单。试一下下面这两个例子。两个都是做了很多记号的纸:一个是用彩色笔画的;一个是经过三次复印的一张纸。哪一个是表单呢?

这是表单吗?

是这个吗?

这是表单吗?

还是这个?

这个问题的答案对大多人来说都不难。即使第二张纸上的东西根本看不清楚,我们还是可以一下子看出来那张纸是表单:因为它看起来就像表单。这张表单中,我们可以看出来,有很多空格,空格前面有文字,显然,空格就是写答案的地方,空格前面的文字应该就是问题了。表单就是看起来像表单的东西。这就是它表单的感知层:它的外表。

感知层

感知层起始于纸或屏幕。在纸上,我们可以看出来任务的大小:是一张纸、还是一小叠纸。在屏幕上,我们就比较难一下子了解这个填表单任务的大小了。我建议给填表者提供一些帮助填表的线索,比如加上一些注释:“第一页,共四页”或者“本表单有三部分”等。相比较让填表者在填表开始之后才发现这个填表的过程长的超出了他们的期待或者难以接受,这是一种较好的选择。

页元素

接下来,我们有印刷内容—在纸上是墨迹、在屏幕上是像素。填表者往往倾向于将表单上的文字、线条、标识、和其他元素看成是三个相似的、有时会有些交叉的组:

  1. 页零件:这部分主要在纸的边缘,比如标识、表单标题、页码和工具栏等。
  2. 说明:与表单中问题和回答无直接关系的文字,比如:欢迎词、该表单的描述、一些帮助描述等。
  3. 成对的问答:这是问题的文字部分和回答的空格,也许会分成较大的问题组或部分。

例子

An example

我们先来看看这个表单中的开始部分。开始先写了这个慈善组织的名称、建立时间、地址(为更清楚地说明问题在此略去无关的地址)、以及表单的标题。这些都是表单的‘页零件’

接下来,在1.1的问题开始前我们有34个单词的说明描述,告诉我们如何来填写这个表单。

问答部分从‘1.1 Name of Centre’(中心名称)开始,之后是‘1.2 Address’(地址)。在很多表单中,问题都不是一个完整的问题,而是以短句或短语等提出问题让填表者来回答。

这个表单可手写或使用打字机来填写,那些一行一行的小点就是告诉填表者回答问题的位置。

页零件

依我看来,当填表者拿到一个表单,第一眼便立即可以判断出来哪些元素是属于上面提到的哪一组。一般的填表者,一旦开始填表,实际上对页零件部分就视而不见了。在需要时,他们才会回过头来看看这些东西。比如当需要打电话咨询如何填写这个表单时,他们就会回过头来找电话号码,这时如果没有页零件部分,就会出现麻烦。

说明

填表者会读一部分说明或全部说明。如果这个表单她很熟悉,就会跳过说明部分,以最快的速度直接跳转到问答部分。

一般情况下,我建议说明部分尽量少于100个单词(译者注:中文少于200个字)—— 也就是差不多本文的摘要部分的长短。如果你确实在表单的开始需要很长的说明,那么可以把它分成几个小部分,加上小标题,列成几点。填表者通常都快速阅读一下小标题,而跳过标题下的内容,不过你这样做至少让填表者意识到在每个小标题下是有内容的,在需要时他们会回来阅读。

成对问答

成对的问答组成表单中的问题序列。在填表者能够开始理解问题并做出回答之前,她必须能够看识别成对的问答。这时要注意的就是,文字要清晰易读。比如,文字和背景的对比度要合适,不要使用过于复杂的字体,字体越简单越好,字体还要足够大。

向前挪动一层

尽管感知层是让表单看起来像表单的元素,它还解释不了为何表单的设计和制作这么难。就像有人跟我说过:“不是这个表单很难填写,而是里面的问题很难回答”

让我们假设我们给填表者的问题都是清晰可阅读的,现在,我们再向前挪动一层。

对话层

表单是问问题并提供空间给回答的文档。这就能够解释为什么人们都不喜欢填写表单。填表者也许并不理解问题问的是什么;或者空格部分太小填写不下回答的内容;或者不知道哪些问题与他们相关;或者不知道哪个回答更合适或找不到答案。这些就是三层模型中的‘问题和回答’层。

我管这一层叫“对话”层, 因为表单中的问答序列和日常对话具有很多相似性。

意思的表达要清晰

这个可以帮助填表者更好的理解表单中所问的问题是什么。就如同一个普通的对话一样,如果谈话的双方具有共同的词汇,并使用这些词汇来和对方谈话就会更好的帮助理解。我们再来看看下面这个例子:

表单范例

St Francis Leprosy Guild(圣弗朗西斯麻风病公会)是一个小型的天主教慈善机构,资助第三世界国家的麻风病中心。尽管词语‘Major Religious Superior of Congregation or Local Bishop (本教区的主要宗教事务负责人)’看起来比较晦涩,但了解天主教的人还是很清楚它是什么意思。

但是一词多义时,问题就来了。如下例中,在表单中有两个问题:

An example

该慈善机构想知道各中心是如何通过系统的超常规服务在社区中找到麻风病人并对他们进行治疗的。“With what results (据什么样的效果)” 这个问题的原意是想了解当地居民是否响应他们的努力。

然而,大多数的中心在填表时对3.2的回答是:‘康复和治疗’ ,对3.3的回答的是‘结果很好’。

找到答案

理解了问题之后,填表者下一步必须要进行回答。有一些问题的回答是比较快的(比如:您的姓名?),但是有些问题的回答就需要花时间想一想了。比如就我来说,填写税务表单并不是什么问题,因为我有好几年与这类表单打交道的经验;但是,从各种财务文件中找到表单问题的答案是另一码事。

设计表单时,想想答案可能来自于哪里。你想要的回答是不是已经就在填表者的大脑中呢?他们是不是还需要咨询其他的人,或者其他的机构呢?

回答问题

对话层的最后一步就是把答案填在表单中。预留适合于答案长短的空间大小可以帮助填表者进行回答。太小的空间就好像是在回答者还在说话的时候就切断对话。在前面的那个表单范例中,名字和地址的空格长度是一样的,可是通常情况下地址应该要比名字长的多。

可是,预留空间太大也会有麻烦。填表者会想,这个回答问题的地方那么大,我的回答却没有那么长,会不会是我误解了你的问题?

在在线表单中,提供多选方块或者单选按钮让填表者勾选,可以节省填表者的时间和精力。但要注意,达到这个目的的前提是您提供的答案和填表者想要或者需要给你提供的答案一致。在前面提到的麻风病工会的表单中,我们在Number of Doctor(医生的数量)这一项中提供了如下填充区域:

范例

这对于大多数治疗中心来说没有什么问题,但却给一个中心带来了麻烦。因为这家中心根本就没有出访的医生,通常他们会把当地需要治疗的居民带到附近的医院。

如果在表单中添加上‘其他’选项,就可以帮助用户提供不同的更适合他们情况的回答。

一致的话题

在和朋友面对面的对话中,我们通常会从一个话题跳到另一个话题,还会把它们掺合到一起,后来再回到原来的话题上。

而表单则如同一次办公室会议,最好一次只谈一个话题。跳回到原来的问题上会显得无礼,同样,同时问两个不相关的问题也会让人感到困惑。

对于设计者来说是一个话题的问题,对于填表者而言却可能是两个话题或者更多的话题。在这个麻风病工会表单中,我们询问了各个中心提供的治疗方式。这看起来是一个话题。可是,麻风病的治疗实际上是分成三个阶段:找到麻风病人,治愈疾病,最后帮助这些治愈了的人们学会如何应对疾病带来的残疾。有些人可能很快就能出院回到社会中,其他一些人则可能因为残疾比较严重还得在医院中接受长期的养护。一些中心提供所有的上述的治疗。另外一些中心却只提供部分工作。因此我们问的这个单一的问题却使他们感到困惑。

话题的顺序

表单把一个对话序列强加给填表者。想一想给坐在桌子对面的人提供信息的过程,再来比较一下将同样的信息填写在表单中的过程。给人提供信息的时候,对话的过程有很多可能,可以改变问题的顺序,有不清楚的地方可以再次询问,处理相关的问题,对不相关的话题进行关联。表单和面谈其实是一样的—不过表单中问题的顺序是固定的,结构已经设定好了。填表者必须适应这一点。

在纸上填写的表单问题没有那么尖锐,你先填后面的、再返回前面的部分也没人知道。但填写在线的表单时,要想存下来填了一半的表单,或者用与表单开发者所设想的不同的顺序来处理这个表单就相当困难了。

再向上挪动一层

当有人说“我不擅长填表”时,他们并不是在忏悔自己在阅读上有困难,或者认为自己在纸上写字或者打勾有问题。他们通常其实想到的是表单的对话层 — 虽然他们自己是绝对不会使用“对话层”这个词的。他们的意思其实是他们“不擅长”领表、找到对问题的回答、以及处理结果的这一过程。

但是,对话层和感知层并不能说明所有表单的问题。为什么填表者在填写完毕返税单要签名的时候,会比在一个收到包裹的表单上签名时感觉更担心呢?两个表单上的问题和答案是一样的,只是返税单上签名位置的方框要稍微大些。这个问题看上去需要更进一层次的解答。

关系层

表单代表了其发行组织和填写人整体关系的其中的一步。我建议使用“任务结构”这个词汇,来表示这个表单所代表的发行者和填写人之间工作分工。

这个关系和任务结构给填表者创建了多个选择:要不要填写这个表、是现在填写还是稍后再填、是把它扔掉还是交还回去。填表的后果:税务表交晚了要付罚金、订单填写无误可以收到货物。

信息交换

表单制造了信息的交换。如果某个组织已经掌握了关于填表人的一些信息,那么将信息反馈给填表人做一些检查比让填表人再次提供信息能够获得更好的任务结构效果。

举一个例子。我近来收到的一封直邮广告信件具有非常 “个人化”的措辞。“亲爱的Jarret女士,…”信中写道,“您的Effortmark公司将会从…中受益”。之后我翻过这页纸,发现后面有一张表单,让我填写名字、地址、公司名称等等,但是很显然,这些东西他们其实都已经知道了。

如果发出表单的组织能够最大限度的利用自己已经掌握的信息,就能够提高这份表单的信息交换。表单中应该展示出预先给用户填好的与这份表单所承担的任务相匹配的条目信息。在要求用户签署新一项购买协议的时候,展示出用户的全部信用历史恐怕不是很得体,但是要一名老顾客在此填写姓名地址等信息就显得比较有失尊敬了。

权力关系

表单设计中最后一个要考虑的元素,是表单发出组织和填表人在表单的呈现和完成这一点上的权力关系。销售订单表和产品注册表都询问类似的信息:产品类型、用户姓名和地址等。或许订单表要求了解的付款信息,注册表要求了解购买动机。

订单表单是购买产品所固有的,所以必须要填写。即使填表人不喜欢这个表单,但因为非常需要这个产品,有时候他还是会填单的。从这意义上讲,卖这个产品的组织掌握着权力。

与此相反,注册表的回报率很低。顾客已经拥有这个产品,就可以选择是否要填写。在这一点上,这个表单带来的利益就很低。卖产品的组织总是想办法通过提供一些好处来促使顾客填写,比如填好寄回以后可以参加抽奖,或者是可以收到更新邮件等。这个时候,购买产品的顾客掌握着权力。对表单发出者和填写者之间的权力关系的变化加以考虑,可以帮助设计者决定哪些是要收集的信息。比如,如果某公司认为其产品购买者可能会对购买该公司产品有着极大的兴趣,那么就应该在其购买产品时了解其购买产品的动机,而不是在产品注册时。

例子

在前面的麻风病工会的表单中,权力掌握在这个慈善组织中,因为他们掌握着基金。他们想让各个中心来申请:许多治疗中心并没有其他途径获得资助,只用一点点钱维持着不寻常的工作。在坦桑尼亚的一个治疗中心居住着65个病人,而他们的年度预算还不到2万美元。

该慈善机构决定继续询问的信息多数和以前一样,虽然他们已经掌握了其中的一些。他们认为一些熟悉问题可以重新确保这些中心没有什么问题。但是他们删掉了一些没有用的问题,取而代之换上了询问中心与前一年有什么改变的问题。这能够帮助该慈善机构给更需要资助的地方提供援助。该慈善机构还会询问这些中心的其它资助来源:这就鼓励了这些中心主动开发自己的资源,并且也帮助该慈善机构确定他们的资助和其他资源相比的重要性如何。

这个例子表现了一个表单所能够代表的发放者和填写者的整体关系的效果,并且,如何对问题进行选择比决定措辞要复杂得多。

混合这些层

来想想这三层:纸张、问题和回答、任务结构。我之所以使用“层”这个词,是因为每一个层都在之前一层之上。没有纸张,就没有问题和回答;没有问题和回答就传达不出任务结构。“层”这个字可能会有歧义。这些层不是中间被填充物隔开的三明治的上下两层面包片,最好是像考虑一杯咖啡的成分一样来考虑这三层:杯子、咖啡、水。

这个杯子就是“纸张”层。选择一个好端点的杯子应该是可以的。杯子是必需的,但里面没有东西就不是一杯咖啡。同理,在表单中,我们有纸或者屏幕、字体、页零件和颜色方案—但这还不是表单。

咖啡就是“问题和回答”层。可以用优质咖啡,也可以用劣质咖啡,或混合性咖啡。在表单中,设计者添加问题、供回答的空格、考虑这些东西的意义,以及答案可能会从哪里的到。设计者可以选择更准确的词、可以更换顺序、添加一些问题、或者去掉一些问题。

隐藏的成分是水。在某一个地方,水被加入了咖啡粉末或速溶咖啡中。水是一种看不见的成分—我们仅仅是假设它是存在的,可是水的质量不好做出来的咖啡也就不好喝,不管用多好看的杯子也没有用。同理,没有任务结构,即发送表单的原因以及填写的目的的表单就不是真正的表单。表单之所以存在就是因为表单发行者和填表人之间存在着关系,不管是短暂的还是长久的关系。

最后,这三个成分都必须要混在一起。当我们用一个漏水的杯子,喝到一杯低质的,污浊难喝的咖啡时,我们评价的是整体的感受,而不是分别的每个部分。

通过层来提高可用性

要设计一个更可用的表单,我建议从每一层入手。

提高关系

看一看整体的关系:

  • 为什么你要问这些问题?
  • 在这一点关系上,这个问题合适吗?
  • 你还能从其他途径获得这些信息吗?
  • 你是不是在让填表人做你自己的组织可以做的工作?

提升对话

把表单当成对话来考虑:

  • 提问题的顺序要正确:填写表单的原因放在前面、要做什么放在后面。
  • 考虑一下问题的回答可能会从哪里来。
  • 根据回答的来源把问题分类。
  • 在可能的时候提供答案,但要让填表人可以不考虑你提供的答案。
  • 提供适合答案长度的空白大小。

改进感知层

最后我们再来看看感知层:

  • 使用标题和颜色来把表单中不同的区域分组。
  • 期待用户能够以最快的速度开始对问题做出反应。
  • 不要期望填表人在页零件中获取信息
  • 写说明部分要仔细,要尽可能的短
  • 使用易于阅读的字体

结论

这个三层模型试图从表单的外观、问题和回答序列、和任务机构来解释表单。尽管初始的外观很重要,问题和回答的序列是表单中最明显的部分,但我认为一个好的表单需要有一个好的任务结构。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
内容简介 · · · · · · 网页表单无处不在——从注册表单到联系信息表,从商业领域到政府部门。成功的表单设计不仅能提高用户满意度,还能收集更加精确的数据并降低维护费用;而失败的表单设计不仅会收集到与需求相悖的冗余信息,还极有可能导致潜在消费者的流失。 设计具有高可用性的表单绝非易事。两位作者通过丰富的实例,明确阐述了如何从表单的关系、对话和外观三层模型出发,设计出具有高可用性的优质网页表单,并通过可用性测试及早发现表单的潜在问题。通过阅读本书,读者能够了解到如何定义需求,如何提出与用户期望相符且容易理解的问题,以及如何撰写说明文字、设置进度指示器和处理出错信息。 经实践检验的实用建议将帮助你远离设计失误,创建出美观、高效的表单。 可贵的设计方法和技巧是赢得数据准确性和顾客满意度的制胜法宝。 包含大量实例——从细节展现(如标签对齐方式、必填字段)到视觉设计(如创建整齐的网格、颜色应用等)。 作者简介 · · · · · · Caroline Jarrett经营着一家可用咨询公司Effortmark Ltd。自1992年开始开发税务表单,从此迷恋上了易用表单设计。她每月在www.usabilitynews.com撰写专栏“Caroline’s Corner”,阐述关于可用性的理念。 Gerry Gaffney经营着一家可用咨询公司Information & Design Proprietary Ltd。主编过几期《用户体验》杂志,还创建了广受欢迎的“用户体验播客”(uxpod.com)。他认为表单设计是个难题,但还是试图从客观的角度来分析表单
在 HTML 表单中结合 Asynchronous JavaScript™ + XML (Ajax) 的服务器回调机制,对表单应用 Ajax,对于为应用程序增加 Web 2.0 功能来说是一种可行的办法。通过本文了解增加 Ajax 代码改进 PHP 应用程序用户体验的各种技术。   谈到 Web 2.0 应用程序,首先想到的就是那些最杰出的应用:YouTube 的视频、 üGoogle Maps 可滚动的地图以及 Flikr 的地理定位功能。但是人们常常忽略的是,在这些网站上那些粗糙的 HTML 表格正随着 Ajax 技术的普及经历一场重大的变革。   本文介绍了如何利用 Prototype.js JavaScript 库在表单中结合 Ajax 代码来解决常见的用户体验问题。   简单的 Ajax 表单提交 基于XML的异步JavaScript,简称AJAX,是当前Web创新(称为Web2.0)中的一个王冠。感谢组成AJAX的各种技术,Web应用的交互如Flickr, Backpack和Google在这方面已经有质的飞跃。这个术语源自描述从基于网页的Web应用到基于数据的应用的转换。在基于数据的应用中,用户需求的数据如联系人列表,可以从独立于实际网页的服务端取得并且可以被动态地写入网页中,给缓慢的Web应用体验着色使之像桌面应用一样。   虽然大部分开发人员在过去使用过XMLHttp或者使用Iframe来加载数据,但仅到现在我们才看到传统的开发人员和公司开始采用这些技术。就像新的编程语言或模型伴随着更多的痛苦,开发人员需要学习新的技巧及如何最好利用这些新技术。   二、AJAX模式   许多重要的技术和AJAX开发模式可以从现有的知识中获取。例如,在一个发送请求到服务端的应用中,必须包含请求顺序、优先级、超时响应、错误处理及回调,其中许多元素已经在Web服务中包含了,就像现在的SOA。AJAX开发人员拥有一个完整的系统架构知识。同时,随着技术的成熟还会有许多地方需要改进,特别是UI部分的易用性。   AJAX开发与传统的CS开发有很大的不同。这些不同引入了新的编程问题,最大的问题在于易用性。由于AJAX依赖浏览器的JavaScript和XML,浏览器的兼容性和支持的标准也变得和JavaScript的运行时性能一样重要了。这些问题中的大部分来源于浏览器、服务器和技术的组合,因此必须理解如何才能最好的使用这些技术。   综合各种变化的技术和强耦合的客户服务端环境,AJAX提出了一种新的开发方式。AJAX开发人员必须理解传统的MVC架构,这限制了应用层次之间的边界。同时,开发人员还需要考虑CS环境的外部和使用AJAX技术来重定型MVC边界。最重要的是,AJAX开发人员必须禁止以页面集合的方式来考虑Web应用而需要将其认为是单个页面。一旦UI设计与服务架构之间的范围被严格区分开来后,开发人员就需要更新和变化的技术集合了。   三、时刻想着用户   AJAX的最大机遇在于用户体验。在使应用更快响应和创新的过程中,定义Web应用的规则正在被重写;因此开发人员必须更注重用户。现在用户已经逐渐习惯如何使用Web应用了。例如用户通常希望每一次按钮点击会导致几秒的延迟和屏幕刷新,但AJAX正在打破这种长时间的状况。因此用户需要重新体验按钮点击的响应了。   可用性是AJAX另人激动的地方而且已经产生了几种新颖的技术。其中最引人注目的是一种称为“黄色隐出”的技术,他在数据更新之前时将用户界面变为黄色,更新完成后立刻恢复原来的颜色。AJAX开发人员将用户从Web应用的负载中解放出来;小心地利用AJAX提供的丰富接口,不久桌面开发人员会发现AJAX是他们的方向。   四、几种工具和技术   随着AJAX迅速地引人注目起来,我想开发人员对这种技术的期待也迅速地增加。就像任何新技术,AJAX的兴旺也需要一整个开发工具/编程语言及相关技术系统来支撑。   1、JavaScript   如名字所示AJAX的概念中最重要而最被忽视的是他也是一种JavaScript编程语言。JavaScript是一种粘合剂使AJAX应用的各部分集成在一起。在大部分时间,JavaScript通常被服务端开发人员认为是一种企业级应用不需要使用的东西应该尽力避免。这种观点来来自以前编写JavaScript代码的经历:繁杂而又易出错的语言。类似的,他也被认为将应用逻辑任意地散布在服务端和客户端中,这使得问题很难被发现而且代码很难重用。在AJAX中JavaScript主要被用来传递用户界面上的数据到服务端并返回结果。XMLHttpRequest对象用来响应通过HTTP传递的数据,一旦数据返回到客户端就可以立刻使用DOM将数据放到网面上。
无线点餐系统主要用到采用模型-视图-控制器MVC架构的设计模式。MVC是一个设计模式,它强制性的使应用程序的输入、处理和输出分开。使用MVC应用程序被分成三个核心部件:模型、视图、控制器。它们各自处理自己的任务。M是指数据模型,V是指用户界面,C则是控制器。使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式。C存在的目的则是确保M和V的同步,一旦M改变,V应该同步更新。   视图是用户看到并与之交互的界面。MVC一个大的好处是它能为你的应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库。被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。 控制器接收用户的输入并调用模型和视图去完成用户的需求。所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后确定用哪个视图来显示模型处理返回的数据。 总的来说MVC的处理过程,就是首先控制器接收用户的请求,并决定应该调用哪个模型来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值