【Axure 教程】驗(yàn)證碼,除了 12306,我還沒有服過誰(數(shù)學(xué)運(yùn)算篇)

0 評(píng)論 3221 瀏覽 6 收藏 7 分鐘
🔗 B端产品经理需要更多地进行深入的用户访谈、调研、分析,而C端产品经理需要更多地快速的用户测试、反馈、迭代

驗(yàn)證碼是常見的登錄或注冊(cè)的驗(yàn)證方式,目前已經(jīng)衍生出包含圖形、文字、運(yùn)算等多種驗(yàn)證方式。本文作者主要介紹怎么使用 Axure 來設(shè)計(jì)一個(gè)動(dòng)態(tài)的數(shù)學(xué)運(yùn)算驗(yàn)證碼,希望對(duì)你有幫助。

在軟件設(shè)計(jì)中,為了防止暴力注冊(cè)或爬蟲爬取等機(jī)器請(qǐng)求,需要驗(yàn)證操作者本尊是人還是機(jī)器,因此催生了驗(yàn)證碼這個(gè)設(shè)計(jì)。

目前驗(yàn)證碼已經(jīng)衍生出許多的形式,包括圖形驗(yàn)證、數(shù)學(xué)運(yùn)算、點(diǎn)選文字、滑動(dòng)拼圖等,本文作者主要介紹怎么使用 Axure 來設(shè)計(jì)一個(gè)動(dòng)態(tài)的數(shù)學(xué)運(yùn)算驗(yàn)證碼。

先看一下效果(傳送門>>):

本文有不少的知識(shí)點(diǎn)我在《【Axure 教程】驗(yàn)證碼,除了 12306,我還沒有服過誰(圖形驗(yàn)證篇)》中已經(jīng)介紹過,所以本文直接進(jìn)入主題,其實(shí)也是因?yàn)樵谧珜懕疚牡臅r(shí)候,作者正頂著38.5的體溫,實(shí)在有點(diǎn)扛不住了,如果這篇文章對(duì)你有用的話,請(qǐng)幫忙點(diǎn)個(gè)“收藏”和“喜歡”。

外觀外觀方面我就不多做說明,可以參考上方提到的文章,接下來直接上教程。

一、全局變量

下面是需要用到的變量:

每個(gè)變量的作用分別是:

  • num1:存儲(chǔ)生成的第一個(gè)數(shù)
  • num2:存儲(chǔ)生成的第二個(gè)數(shù)
  • num1_up_limit:num1 的上限,默認(rèn)50
  • num2_up_limit:num2 的上限,默認(rèn)50
  • ops:運(yùn)算符集,默認(rèn)【+-*/】,四則運(yùn)算,如果不想那么為難用戶,可以只保留【+-】
  • op:存儲(chǔ)從【ops】中取出的運(yùn)算符
  • formula:存儲(chǔ)生成的完整公式
  • cal_result:生成公式的計(jì)算結(jié)果,可以用于對(duì)比驗(yàn)證用戶輸入的結(jié)果是否與預(yù)期結(jié)果匹配

二、動(dòng)態(tài)面板

需要用到兩個(gè)動(dòng)態(tài)面板,其中一個(gè)是用來作為公式的生成器,另外一個(gè)用來做整除判斷,如果生成的運(yùn)算符【op】是【/】的時(shí)候,需要校驗(yàn)生成的數(shù)是否能夠整除,不能則需重新生成:

三、驗(yàn)證碼圖片邏輯

驗(yàn)證碼圖片的邏輯很簡(jiǎn)單,首先是【單擊時(shí)】將兩個(gè)數(shù)值和運(yùn)算符變量清空,這樣每次點(diǎn)擊的時(shí)候才能通過相關(guān)變量是否有值來判斷生成成功與否,接著開啟驗(yàn)證碼生成器循環(huán),開始生成驗(yàn)證碼公式,最后在添加【載入時(shí)】點(diǎn)擊驗(yàn)證碼圖片的事件:

四、驗(yàn)證碼生成器邏輯

首先要生成運(yùn)算符,因?yàn)槿绻婕暗健?】或者【/】的時(shí)候,需要確保生成的數(shù)值減完之后不會(huì)變成負(fù)數(shù),或者出現(xiàn)不能整除的情況,生成邏輯就是直接從【ops】隨機(jī)抽取一個(gè):

接著生成【num1】,因?yàn)椤緉um1】是前面的數(shù),所以怎么生成都行,只要確保在【num1_up_limit】?jī)?nèi)即可:

生成【num2】就復(fù)雜得多,需要根據(jù)運(yùn)算符【op】來生成,如果是【+】和【*】,則生成規(guī)則與【num1】一致,如果【op = -】,則【num2】的上限應(yīng)該是【num1】,這樣才不會(huì)減出來負(fù)數(shù),至于【op = /】的邏輯,下一板塊來講:

接下來是生成公式,生成公式按運(yùn)算符【op】分為4個(gè)場(chǎng)景,其實(shí)每個(gè)場(chǎng)景都一樣,但是因?yàn)?Axure 中沒法直接用變量作為運(yùn)算符,所以只能分4個(gè)場(chǎng)景并手動(dòng)輸入運(yùn)算符,這樣才能獲得結(jié)果

五、整除判斷

上圖中可知,當(dāng)運(yùn)算符【op = /】時(shí),啟動(dòng)整除運(yùn)算器的循環(huán),整除運(yùn)算器邏輯如下:

如果不能整除就循環(huán)生成,直到可以整除為止,如果有什么不懂的歡迎在評(píng)論區(qū)留言,等我扛過去了會(huì)一一答復(fù),感謝閱讀。

本文由 @產(chǎn)品錦李 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)許可,禁止轉(zhuǎn)載。

題圖來自Unsplash,基于CC0協(xié)議。

該文觀點(diǎn)僅代表作者本人,人人都是產(chǎn)品經(jīng)理平臺(tái)僅提供信息存儲(chǔ)空間服務(wù)。

更多精彩內(nèi)容,請(qǐng)關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號(hào)或下載App
評(píng)論
評(píng)論請(qǐng)登錄
  1. 目前還沒評(píng)論,等你發(fā)揮!
专题
17932人已学习15篇文章
促销的规则多样,对提高客单价和客单量有很大帮助。本专题的文章提供了促销系统设计指南。
专题
12463人已学习13篇文章
AI技术的出现给各行各业都带来了重塑的机会,那么,当AI与社交赛道碰撞时,会讲述出怎样的故事?各家产品的表现如何?
专题
14609人已学习12篇文章
数据库对于产品经理来说是一个既熟悉又陌生的概念,虽然产品设计中的数据基本都要与数据库交互,但平时的工作中也很少接触到数据库的具体操作和细节。本专题的文章分享了数据库的基础知识。
专题
35088人已学习22篇文章
从动效设计原则、动效工具、制作方法、标注技巧等全方位解读
专题
16400人已学习12篇文章
本专题的文章分享了数据的分析方法。
专题
17976人已学习15篇文章
本专题的文章分享了Android和iOS在产品、设计、交互等方面的差异。