更新记录
1.0.2(2026-09-23)
修改优化
1.0.1(2026-09-23)
优化问题
1.0.0(2026-09-23)
发布版本
查看更多平台兼容性
uni-app(5.14)
| Vue2 | Vue3 | Chrome | Safari | app-vue | app-nvue | Android | iOS | 鸿蒙 |
|---|---|---|---|---|---|---|---|---|
| √ | - | √ | √ | √ | × | √ | √ | × |
| 微信小程序 | 支付宝小程序 | 抖音小程序 | 百度小程序 | 快手小程序 | 京东小程序 | 鸿蒙元服务 | QQ小程序 | 飞书小程序 | 小红书小程序 | 快应用-华为 | 快应用-联盟 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| × | × | × | × | × | × | × | × | × | × | × | × |
jwt-tcg 使用说明
适用于 uni-app 的 App-vue 和 H5。
接入示例
将 uni_modules/jwt-tcg 放入项目的 uni_modules 目录,在 Vue2 页面中使用:
<template>
<view>
<button v-if="!showDraw" @click="showDraw = true">开始抽卡</button>
<jwt-tcg
v-if="showDraw"
:packs="packs"
:cards="cards"
@card-reveal="onCardReveal"
@complete="closeDraw"
@error="onError"
/>
</view>
</template>
<script>
import JwtTcg from '@/uni_modules/jwt-tcg/components/jwt-tcg/jwt-tcg.vue';
export default {
components: { JwtTcg },
data() {
return {
showDraw: false,
packs: [{
id: 'demo',
image: './static/my-cards/pack-front.png',
backImage: './static/my-cards/pack-back.png'
}],
cards: [
{ id: 'common', image: './static/my-cards/common.webp', rarityRank: 1 },
{
id: 'rare',
image: './static/my-cards/rare.webp',
backImage: './static/my-cards/card-back.png',
rarityRank: 6,
flipOnReveal: true,
isNew: true
}
]
};
},
methods: {
onCardReveal({ index, card }) {
console.log(index, card.id);
},
closeDraw() {
this.showDraw = false;
},
onError({ message }) {
console.error(message);
}
}
};
</script>
把示例中的图片地址换成自己的图片。showDraw = true 显示抽卡;最后一张卡牌滑走后,组件自动关闭并触发 complete,示例通过 closeDraw 返回首页。需要再次抽卡时,重新显示组件即可。组件默认铺满屏幕,需要其他高度时可直接设置 style="height: 600px"。
组件参数
| 参数 | 类型 | 含义 |
|---|---|---|
packs |
Array |
卡包列表,至少一个;第一项是初始展示的卡包。 |
cards |
Array |
本次抽到的卡牌,按数组顺序揭晓,至少一张。 |
packs 每个卡包
| 字段 | 必填 | 含义 |
|---|---|---|
id |
是 | 卡包标识。 |
image |
是 | 卡包正面图片地址。 |
backImage |
否 | 卡包背面图片地址。 |
cards 每张卡牌
| 字段 | 必填 | 含义 |
|---|---|---|
image |
是 | 卡牌正面图片地址。 |
backImage |
翻牌时必填 | 翻牌背面图片地址;设置 flipOnReveal: true 时必须传。 |
id |
否 | 卡牌标识,可用于业务侧存档和去重。 |
name |
否 | 图片替代文本,不会显示为卡面标题。 |
rarityRank |
否 | 稀有度:0 不显示;1–4 显示对应数量的菱形;5 及以上显示星星;3 及以上有卡面光泽。 |
flipOnReveal |
否 | true 时在揭晓该卡时翻牌;不由稀有度自动决定。 |
isNew |
否 | true 时显示 NEW;是否首次获得由调用方决定。 |
flipOnReveal 和 isNew 互不影响:可以只翻牌、只显示 NEW,也可以同时开启。图片地址由调用方传入,插件原样使用;请确保在目标平台可以访问。若根据收藏记录计算 isNew,请使用本次抽卡开始前的记录。
事件
| 事件 | 回调参数 | 何时触发 |
|---|---|---|
ready |
{ phase: 'selecting' } |
可以开始选择卡包时。 |
phase-change |
{ phase } |
阶段改变时:selecting、focusing、focused、opening、revealing。 |
card-reveal |
{ index, card } |
某张卡开始揭晓时;index 从 0 开始,早于翻牌和 NEW 出现。 |
complete |
{ count } |
最后一张卡牌滑走、组件自动关闭时;count 是卡牌总数。 |
error |
{ message } |
渲染引擎、卡包图片初始化失败或翻牌卡缺少 backImage 时。 |

收藏人数:
购买源码授权版(
试用
使用 HBuilderX 导入示例项目
赞赏(0)
下载 174
赞赏 0
下载 12634998
赞赏 1950
赞赏
京公网安备:11010802035340号