更新记录

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;是否首次获得由调用方决定。

flipOnRevealisNew 互不影响:可以只翻牌、只显示 NEW,也可以同时开启。图片地址由调用方传入,插件原样使用;请确保在目标平台可以访问。若根据收藏记录计算 isNew,请使用本次抽卡开始前的记录。

事件

事件 回调参数 何时触发
ready { phase: 'selecting' } 可以开始选择卡包时。
phase-change { phase } 阶段改变时:selectingfocusingfocusedopeningrevealing
card-reveal { index, card } 某张卡开始揭晓时;index0 开始,早于翻牌和 NEW 出现。
complete { count } 最后一张卡牌滑走、组件自动关闭时;count 是卡牌总数。
error { message } 渲染引擎、卡包图片初始化失败或翻牌卡缺少 backImage 时。

隐私、权限声明

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

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

插件不采集或上传用户数据;图片地址由接入方提供,加载远程图片时会向图片服务器发起请求。

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

暂无用户评论。