Cashier 收银台

业务支付弹窗,支持支付渠道选择和支付验证码发送

引入

import { Cashier } from 'mand-mobile-next'

Vue.createApp().component(Cashier.name, Cashier)

代码演示

API

Cashier Props

属性说明类型默认值备注
v-model收银台是否显示Booleanfalse
channels支付渠道数据源Array<CashierChannel>[]
channel-limit支付渠道超出限制数目时展示更多支付渠道按钮Number2
default-index默认选中支付渠道索引Number0
title收银台弹窗标题String支付
describe收银台弹窗描述String--
payment-title支付金额标题String支付金额(元)支持html fragment
payment-amount支付金额String0.00支持html fragment
payment-describe支付金额说明String-支持html fragment
pay-button-text确认支付按钮文案String确认支付
pay-button-disabled禁用支付按钮Booleanfalse
more-button-text更多支付渠道按钮文案String更多支付方式支持html fragment

CashierChannel

属性说明类型默认值备注
text渠道展示名称String
value渠道标识any
icon渠道图标名称Stringicon可作为className或组件Iconname属性
iconSvg是否使用svg图标Boolean
img渠道图片链接Stringicon二选一
action特殊动作回调Function

Cashier Methods

setChannels(channels: CashierChannel)

手动设置支付渠道数据源

next(scene, option?)

进入收银台下一步

参数说明类型默认值备注
scene步骤场景标识String-choose(支付渠道选择)
captcha(发送验证码)
loading(支付中)
success(支付成功)
fail(支付失败)
custom(自定义,使用插槽scene填充内容)
option当前步骤场景配置Object属性如下所示-
  • captcha option
属性说明类型默认值备注
text发送验证码说明String--
brief发送验证码简要描述String--
maxlength验证码位数Number4若为-1则不限制输入长度
count验证码重新发送倒计时Number60若为0则不显示重新发送
autoCountdown是否自动开始倒计时,否则需手动调用countdownBooleantrue-
countNormalText发送验证码正常状态文案String发送验证码-
countActiveText发送验证码及倒计时按钮文案配置项String{$1}秒后重发-
onSend验证码发送回调Function(countdown: Function)-countdown为开始倒计时方法
onSubmit验证码提交回调Function(code: String)-code为输入的验证码
  • loading option
属性说明类型默认值备注
text支付中说明String支付结果查询中...支持html fragment
  • success option
属性说明类型默认值备注
text支付成功说明String支付成功支持html fragment
buttonText按钮文案String我知道了支持html fragment
handler按钮点击回调Function--
actions按钮组Array<{buttonText, handler}>-有两个按钮时使用
  • fail option
属性说明类型默认值备注
text支付失败说明String支付失败,请稍后重试支持html fragment
buttonText按钮文案String我知道了支持html fragment
handler按钮点击回调Function--
actions按钮组Array<{buttonText, handler}>-有两个按钮时使用

Captcha Slots

头部内容scoped插槽

<div slot-scope="{ scene }" slot="header">
  <md-notice-bar
    v-if="scene === 'choose'"
    mode="closable"
    icon="warn"
    type="warning"
  ></md-notice-bar>
</div>

底部内容scoped插槽

channel

支付渠道区域插槽,可用于添加支付渠道特殊操作,如添加银行卡

payButton

发起支付插槽

scene

自定义场景插槽,使用next('custom')打开

Cashier Events

@select(item: {text, value})

支付渠道选中事件

@pay(item: {text, value})

支付渠道确认并发起支付事件

@cancel()

取消支付事件

@show()

收银台弹窗展示事件

@hide()

收银台弹窗隐藏事件