惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

云风的 BLOG
云风的 BLOG
M
MIT News - Artificial intelligence
博客园 - Franky
J
Java Code Geeks
V
Visual Studio Blog
G
Google Developers Blog
罗磊的独立博客
MongoDB | Blog
MongoDB | Blog
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Recent Announcements
Recent Announcements
Last Week in AI
Last Week in AI
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Stack Overflow Blog
Stack Overflow Blog
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
腾讯CDC
阮一峰的网络日志
阮一峰的网络日志
V
V2EX
博客园 - 【当耐特】
IT之家
IT之家
I
InfoQ
U
Unit 42
C
Check Point Blog
Martin Fowler
Martin Fowler

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
【Axure 教程】验证码,除了 12306,我还没有服过谁(数学运...
产品锦李 · 2022-12-26 · via 人人都是产品经理

验证码是常见的登录或注册的验证方式,目前已经衍生出包含图形、文字、运算等多种验证方式。本文作者主要介绍怎么使用 Axure 来设计一个动态的数学运算验证码,希望对你有帮助。

在软件设计中,为了防止暴力注册或爬虫爬取等机器请求,需要验证操作者本尊是人还是机器,因此催生了验证码这个设计。

目前验证码已经衍生出许多的形式,包括图形验证、数学运算、点选文字、滑动拼图等,本文作者主要介绍怎么使用 Axure 来设计一个动态的数学运算验证码。

先看一下效果(传送门>>):

本文有不少的知识点我在《【Axure 教程】验证码,除了 12306,我还没有服过谁(图形验证篇)》中已经介绍过,所以本文直接进入主题,其实也是因为在撰写本文的时候,作者正顶着38.5的体温,实在有点扛不住了,如果这篇文章对你有用的话,请帮忙点个“收藏”和“喜欢”。

外观外观方面我就不多做说明,可以参考上方提到的文章,接下来直接上教程。

一、全局变量

下面是需要用到的变量:

每个变量的作用分别是:

  • num1:存储生成的第一个数
  • num2:存储生成的第二个数
  • num1_up_limit:num1 的上限,默认50
  • num2_up_limit:num2 的上限,默认50
  • ops:运算符集,默认【+-*/】,四则运算,如果不想那么为难用户,可以只保留【+-】
  • op:存储从【ops】中取出的运算符
  • formula:存储生成的完整公式
  • cal_result:生成公式的计算结果,可以用于对比验证用户输入的结果是否与预期结果匹配

二、动态面板

需要用到两个动态面板,其中一个是用来作为公式的生成器,另外一个用来做整除判断,如果生成的运算符【op】是【/】的时候,需要校验生成的数是否能够整除,不能则需重新生成:

三、验证码图片逻辑

验证码图片的逻辑很简单,首先是【单击时】将两个数值和运算符变量清空,这样每次点击的时候才能通过相关变量是否有值来判断生成成功与否,接着开启验证码生成器循环,开始生成验证码公式,最后在添加【载入时】点击验证码图片的事件:

四、验证码生成器逻辑

首先要生成运算符,因为如果涉及到【-】或者【/】的时候,需要确保生成的数值减完之后不会变成负数,或者出现不能整除的情况,生成逻辑就是直接从【ops】随机抽取一个:

接着生成【num1】,因为【num1】是前面的数,所以怎么生成都行,只要确保在【num1_up_limit】内即可:

生成【num2】就复杂得多,需要根据运算符【op】来生成,如果是【+】和【*】,则生成规则与【num1】一致,如果【op = -】,则【num2】的上限应该是【num1】,这样才不会减出来负数,至于【op = /】的逻辑,下一板块来讲:

接下来是生成公式,生成公式按运算符【op】分为4个场景,其实每个场景都一样,但是因为 Axure 中没法直接用变量作为运算符,所以只能分4个场景并手动输入运算符,这样才能获得结果

五、整除判断

上图中可知,当运算符【op = /】时,启动整除运算器的循环,整除运算器逻辑如下:

如果不能整除就循环生成,直到可以整除为止,如果有什么不懂的欢迎在评论区留言,等我扛过去了会一一答复,感谢阅读。

本文由 @产品锦李 原创发布于人人都是产品经理,未经许可,禁止转载。

题图来自Unsplash,基于CC0协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。