更新记录

1.0.0(2025-04-09) 下载此版本

刮刮卡抽奖组件,自定义背景刮层图,重置 触发阈值等灵活自定义配置


平台兼容性

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

小程序刮刮卡组件

使用说明

<view>
 <scratch-card  v-if="reset"
   @finish="onScratchFinish"
   result-text="中奖啦!"
   :width="288"
   :height="150"
   ctxLogoUrl="自定义刮奖背景图片"
   >
   <view>刮开查看结果</view>
 </scratch-card>
 <button class="btn" @tap="refresh">重置</button>
</view>

高级用法

当抽奖结果显示为图片或需要自定义样式修饰时,可以传入slot,并将resultText值设置为''

<!-- 将 resultText 设置为空字符串 -->
<view>
<scratch-card resultText='' v-if="reset">
  <!-- 此处为 slot 子节点内容 -->
  <view class="result">
    <text>{{result}}</text>
  </view>
</scratch-card>
<button class="btn" @tap="refresh">重置</button>
</view>
<script>
    export default {
        data() {
            return {
                reset:true,
            }
        },
        methods:{
            refresh : function(){
                this.reset = false; // 暂时隐藏组件,等待重新渲染
                this.$nextTick(() => {
                    this.reset = true; // 重新显示组件
                });
                 this.$refs.scratchCard.refresh();
            },

            onScratchFinish(){
                  uni.showToast({
                        title: '成功',
                        icon : 'success'
                    });
            },
        }
    };
</script>

参数说明

属性 类型 默认值 含义
id String scratch-canvas 组件标识,页面唯一
width Number 300 刮刮卡宽度,单位px
height Number 150 刮刮卡高度,单位px
tipText String 刮刮我,有惊喜 刮奖区域提示文字
tipColor String #aaa 提示文字的颜色
tipSize Number 20 提示文字的字号,单位px
lineWidth Number 25 擦除线宽度,单位px
activePercent Number 0.4 当被擦除比例达到该值时刮奖结束,取值范围0-1
autoFadeOut Boolean true 当值为true且被擦除比例达到activePercent选项值时刮奖图层自动消失
ctxLogoUrl String 刮奖区图片背景,小程序接口限制目前只支持线上cdn地址或离线包地址,cdn需返回头 Access-Control-Allow-Origin: *
coverColor String #dbdbdb 刮奖区背景色,当背景图片透明度为0时无效
resultText String 谢谢参与 刮奖结果
onFinish Function ()=>{} 刮奖结束回调,当被擦除比例达到activePercent选项值时触发

由于小程序当前接口限制,暂不支持 rpxrem等像素单位,目前仅支持 px

隐私、权限声明

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

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

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

许可协议

MIT协议

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