更新记录

1.0.1(2024-10-31) 下载此版本

修复部分兼容问题

1.0.0(2024-10-31) 下载此版本

hello plugin


平台兼容性

Vue2 Vue3
App 快应用 微信小程序 支付宝小程序 百度小程序 字节小程序 QQ小程序
HBuilderX 4.26 × × × × ×
钉钉小程序 快手小程序 飞书小程序 京东小程序
× × × ×
H5-Safari Android Browser 微信浏览器(Android) QQ浏览器(Android) Chrome IE Edge Firefox PC-Safari
× × × × × × ×

说明

这是一个使用 canvas 模拟抽奖刮卡的小组件,支持自定义尺寸、自定义涂层样式、自定义刮卡进度等等

基础用法

监听 begin 事件来加载奖品,使用 goods 插槽来展示奖品

<vshen-scraper @begin="">
    <template #goods>
        <view>刮开后可见的内容</view>
    </template>
</vshen-scraper>

 = ({done}) => {
    // 这个事件里可以加载奖品,加载完成后调用 done 方法即可进入刮卡阶段
    done()
}

组件属性

属性名 说明 类型 默认值
handler-text 开始刮卡的按钮文本 string Start
eraser-size 刮卡时候的擦除范围 int 20
mask 刮卡涂层图片地址,支持网络图片和本地图片 string 默认样式
min 刮去的区域占比到某个值时视为刮卡完成,刮卡完成后会自动隐藏剩余涂层,去值 0 ~ 1,比如0.6即60% int 0.6

组件插槽

插槽名 说明
handler 开始按钮,如果需要覆盖默认的开始按钮样式,可以通过这个插槽来覆盖
goods 奖品内容,即刮开后展示的内容

组件事件

属性名 参数 类型
begin {done: function} 点击开始按钮后触发该事件,开发者需要监听该事件并加载商品,之后主动调用 done 方法即可进入刮卡阶段
ready canvas 画布初始化完成,该事件触发后表示可以开始刮卡
completed float 刮卡完成事件,参数是刮卡进度,范围是 0 ~ 1
failed string canvas 画布初始化失败,可能是环境不兼容、涂层加载失败等等,参数是错误信息

设置刮卡尺寸

组件会自动适配父容器的尺寸,所以不需要调整组件本身的宽高,只要设置好父容器的尺寸即可

跳过开始按钮

开发者可以通过 ref 方式主动调用组件的 begin 方法来跳过开始按钮节点,该方法调用后相当于点击了开始按钮

<vshen-scraper ref="scraper"></vshen-scraper>

mounted() {
    this.$refs.scraper.begin()
}

已知的问题

默认涂层不加载

默认涂层是通过 base64 加载的图片,某些手机可能无法渲染(原因未知,有知道的小伙伴可以留言,我看到后会修复掉这个问题)

解决方法是通过 mask 属性传递一张自己的涂层图片,本地图片和网络图片都可以

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT协议

暂无用户评论。

使用中有什么不明白的地方,就向插件作者提问吧~ 我要提问