支付输入框自动设置“合适金额”

背景

零售中,允许用户使用多种方式合并支付一个订单,但是当用户选择一种方式的时候,还是期望有一个合适的金额,来减少其交互使用的成本。

获得焦点时的金额

合适的金额,默认设置为用户想设置的金额。什么是用户想设置的金额呢?

分为3种情况:

1 用户还未选择任何一种方式时,默认为订单金额

2 已经选择一种支付方式,但是还未付款完成,默认是剩余金额

3 选择了其他方式,并且已经完整了整单金额,默认是0

稍微简化一些,其实上面那种,都是订单剩余支付金额。

但是,仅仅是这样是不严谨的,因为每种方式的可付金额还受到其他限制,比如该种方式的用户可用余额,该方式订单最大支持使用的额度,该方式平台支持的最大额。

所以最后默认的金额应该是:

ini 复制代码
let defaultMoney = Math.min(orderRestMoney,userMoney,checkMoney);

输入修改金额时

用户是否能设置超过剩余金额呢?理论可以,实际也可以。

所以修改金额的时候,只要限制不超过userMoney,checkMoney即可。

这里注意一个问题,这里可能会导致总收金额大于应付金额。所以:

1 要判断下,此时产品是否需要自动校准减小其他方式的金额

2 不符合条件时,要让提交订单的操作交互上不可用

离开焦点时

因为获得焦点和修改的时候,都校验了数字的有效性,所以这里主要验证金额非空并大于0即可。

相关推荐
kyriewen1 小时前
你的前端滤镜慢得像PPT?用Rust+WebAssembly,一秒处理4K图
前端·rust·webassembly
kyriewen111 小时前
你等的Babel编译,够喝三杯咖啡了——用Rust重写的SWC,只需眨个眼
开发语言·前端·javascript·后端·性能优化·rust·前端框架
IT_陈寒2 小时前
SpringBoot自动配置坑了我,原来要这样绕过去
前端·人工智能·后端
东方小月2 小时前
Claude Code 完整上手指南:MCP、Skills、第三方模型配置一次搞定
前端·人工智能·后端
XZ探长2 小时前
基于 Trae Solo 移动办公修复 Vue3 前端服务问题
前端
蝎子莱莱爱打怪2 小时前
Claude Code 省 Token 小妙招:RTK + Caveman 组合拳
前端·人工智能·后端
Momo__3 小时前
Vue 3.6 Vapor Mode:跳过虚拟 DOM,性能极致优化
前端·vue.js
少年白马醉春风丶3 小时前
从零构建 AIGC 无限画布:AIGCCanvasFlow 技术全解析
前端·后端·aigc
OpenTiny社区3 小时前
生成式 UI 藏大招!看似露营案例,实则电商集成 GenUI SDK 干货
前端·ai编程·交互设计
Awu12273 小时前
🍎Vue官方Skills深度解读:那些被悄悄藏起来的宝藏
前端·aigc·claude