更新记录
1.0.0(2025-04-09)
下载此版本
刮刮卡抽奖组件,自定义背景刮层图,重置 触发阈值等灵活自定义配置
平台兼容性
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 选项值时触发 |
由于小程序当前接口限制,暂不支持 rpx
、rem
等像素单位,目前仅支持 px