mcpField
T
tdesign-miniprogram

tdesign-miniprogram

github.com/joneqianデザイン・UI32398 回インストール37 週間前に更新
リポジトリ

tdesign-miniprogram について

tdesign-miniprogramは、TencentのTDesignコンポーネントライブラリを使ったWeChatミニプログラム開発を支援するスキルです。コンポーネント、テーマ、ダークモード、AIチャット画面の実装方法を案内します。

主な機能

  1. 01TDesignミニプログラムコンポーネントの利用ガイド
  2. 02テーマとスタイルのカスタマイズ方法
  3. 03ダークモードの設定手順
  4. 04AIチャットコンポーネントのドキュメント
  5. 05コンポーネントAPIのリファレンス

活用シーン

  1. 01TDesignコンポーネントで画面を構築
  2. 02コンポーネントのテーマとスタイルを調整
  3. 03ミニプログラムをダークモードに対応
  4. 04AIチャット画面を作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/joneqian/claude-skills-suite --skill tdesign-miniprogram

インストール後、Claude Code で/tdesign-miniprogramを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

references/miniprogram-chat/
getting-started.md
sse.md
references/miniprogram-chat/components/
attachments.md
chat-actionbar.md
chat-content.md
chat-list.md
chat-loading.md
chat-markdown.md
chat-message.md
chat-sender.md
chat-thinking.md
references/miniprogram/components/
action-sheet.md
avatar.md
back-top.md
badge.md
button.md
calendar.md
cascader.md
cell.md
checkbox.md
collapse.md
count-down.md
date-time-picker.md
dialog.md
divider.md
drawer.md
dropdown-menu.md
empty.md
fab.md
footer.md

詳細

TDesign ミニプログラム スキル

TDesign WeChat ミニプログラムコンポーネントライブラリは、Tencent によるエンタープライズレベルのデザインシステムです。ダークモード対応、テーマカスタマイズなどを備えた 60 以上の高品質なコンポーネントを提供します。

このスキルを使用する場面

このスキルは、次のような場合にトリガーされるべきです:

  • TDesign コンポーネントライブラリを使用して WeChat ミニプログラムを開発する場合
  • TDesign の UI コンポーネント(Button、Input、Dialog など)を使用する場合
  • TDesign のデザイン仕様に従ってインターフェースを実装する場合
  • TDesign のテーマとスタイルのカスタマイズを設定する場合
  • AI チャットインターフェースを構築する場合(TDesign の Chat コンポーネントを使用)
  • ダークモード対応を実装する場合

クイックスタート

インストール
npm i tdesign-miniprogram -S --production
app.json の変更

スタイルの競合を避けるため、app.json から "style": "v2" を削除します。

project.config.json の変更

project.config.json の setting セクションに以下を追加します:

{
  "setting": {
    "packNpmManually": true,
    "packNpmRelationList": [
      {
        "packageJsonPath": "./package.json",
        "miniprogramNpmDistDir": "./"
      }
    ]
  }
}
tsconfig.json の変更(TypeScript プロジェクト)
{
  "paths": {
    "tdesign-miniprogram/*": [
      "./miniprogram/miniprogram_npm/tdesign-miniprogram/*"
    ]
  }
}

project.config.json を変更した後、WeChat DevTools で npm をビルドします: Tools - Build npm

ビルドが成功したら、Compile JS to ES5 を確認します

コンポーネントの使用

ページまたはコンポーネントの JSON ファイルでインポートします:

{
  "usingComponents": {
    "t-button": "tdesign-miniprogram/button/button"
  }
}

WXML で使用します:

<t-button theme="primary">Button</t-button>

コンポーネントのカテゴリ

基本コンポーネント(6)
コンポーネント説明インポートパス
Buttonボタンtdesign-miniprogram/button/button
Divider区切り線tdesign-miniprogram/divider/divider
Fabフローティングアクションボタンtdesign-miniprogram/fab/fab
Iconアイコンtdesign-miniprogram/icon/icon
Layoutレイアウトtdesign-miniprogram/row/row
Linkリンクtdesign-miniprogram/link/link
ナビゲーションコンポーネント(8)
コンポーネント説明インポートパス
BackTopトップに戻るtdesign-miniprogram/back-top/back-top
Drawerドロワーtdesign-miniprogram/drawer/drawer
Indexesインデックスリストtdesign-miniprogram/indexes/indexes
Navbarナビゲーションバーtdesign-miniprogram/navbar/navbar
SideBarサイドナビゲーションtdesign-miniprogram/side-bar/side-bar
Stepsステップtdesign-miniprogram/steps/steps
TabBar下部タブバーtdesign-miniprogram/tab-bar/tab-bar
Tabsタブtdesign-miniprogram/tabs/tabs
Input Components (16)
ComponentDescriptionImport Path
CalendarCalendartdesign-miniprogram/calendar/calendar
CascaderCascadertdesign-miniprogram/cascader/cascader
CheckBoxCheckboxtdesign-miniprogram/checkbox/checkbox
DateTimePickerDate Time Pickertdesign-miniprogram/date-time-picker/date-time-picker
InputInputtdesign-miniprogram/input/input
PickerPickertdesign-miniprogram/picker/picker
RadioRadiotdesign-miniprogram/radio/radio
RateRatetdesign-miniprogram/rate/rate
SearchSearchtdesign-miniprogram/search/search
SliderSlidertdesign-miniprogram/slider/slider
StepperSteppertdesign-miniprogram/stepper/stepper
SwitchSwitchtdesign-miniprogram/switch/switch
TextareaTextareatdesign-miniprogram/textarea/textarea
TreeSelectTree Selecttdesign-miniprogram/tree-select/tree-select
UploadUploadtdesign-miniprogram/upload/upload
FormFormtdesign-miniprogram/form/form
Data Display Components (18)
ComponentDescriptionImport Path
AvatarAvatartdesign-miniprogram/avatar/avatar
BadgeBadgetdesign-miniprogram/badge/badge
CellCelltdesign-miniprogram/cell/cell
CollapseCollapsetdesign-miniprogram/collapse/collapse
CountDownCountdowntdesign-miniprogram/count-down/count-down
EmptyEmpty Statetdesign-miniprogram/empty/empty
FooterFootertdesign-miniprogram/footer/footer
GridGridtdesign-miniprogram/grid/grid
ImageImagetdesign-miniprogram/image/image
ImageViewerImage Viewertdesign-miniprogram/image-viewer/image-viewer
ProgressProgresstdesign-miniprogram/progress/progress
ResultResulttdesign-miniprogram/result/result
SkeletonSkeletontdesign-miniprogram/skeleton/skeleton
StickyStickytdesign-miniprogram/sticky/sticky
SwiperSwipertdesign-miniprogram/swiper/swiper
TableTabletdesign-miniprogram/table/table
TagTagtdesign-miniprogram/tag/tag
ListListtdesign-miniprogram/list/list
フィードバックコンポーネント (12)
コンポーネント説明インポートパス
ActionSheetアクションシートtdesign-miniprogram/action-sheet/action-sheet
Dialogダイアログtdesign-miniprogram/dialog/dialog
DropdownMenuドロップダウンメニューtdesign-miniprogram/dropdown-menu/dropdown-menu
Guideガイドtdesign-miniprogram/guide/guide
Loadingローディングtdesign-miniprogram/loading/loading
Messageメッセージtdesign-miniprogram/message/message
NoticeBar通知バーtdesign-miniprogram/notice-bar/notice-bar
Overlayオーバーレイtdesign-miniprogram/overlay/overlay
Popupポップアップtdesign-miniprogram/popup/popup
PullDownRefreshプルダウンリフレッシュtdesign-miniprogram/pull-down-refresh/pull-down-refresh
SwipeCellスワイプセルtdesign-miniprogram/swipe-cell/swipe-cell
Toastトーストtdesign-miniprogram/toast/toast
AI チャットコンポーネント (9)
コンポーネント説明インポートパス
ChatListチャットリストtdesign-miniprogram/chat-list/chat-list
ChatMessageチャットメッセージtdesign-miniprogram/chat-message/chat-message
ChatSenderチャット送信tdesign-miniprogram/chat-sender/chat-sender
ChatContentチャットコンテンツtdesign-miniprogram/chat-content/chat-content
ChatActionbarチャットアクションバーtdesign-miniprogram/chat-actionbar/chat-actionbar
ChatLoadingチャットローディングtdesign-miniprogram/chat-loading/chat-loading
ChatMarkdownチャット Markdowntdesign-miniprogram/chat-markdown/chat-markdown
ChatThinkingチャットシンキングtdesign-miniprogram/chat-thinking/chat-thinking
Attachments添付ファイルtdesign-miniprogram/attachments/attachments

一般的なパターン

ボタン

<t-button theme="primary" size="large">Primary Button</t-button>
<t-button theme="light" size="large">Light Button</t-button>
<t-button size="large">Default Button</t-button>


<t-button theme="primary" size="large" variant="outline"
  >Outline Button</t-button
>
<t-button theme="primary" size="large" variant="text">Text Button</t-button>


<t-button
  theme="primary"
  icon="app"
  content="Icon Button"
  size="large"
></t-button>


<t-button theme="primary" size="large" loading>Loading</t-button>


<t-button theme="primary" size="large" disabled>Disabled</t-button>


<t-button theme="primary" size="large" block>Block Button</t-button>


<t-button theme="primary" ghost size="large">Ghost Button</t-button>
入力
{
  "usingComponents": {
    "t-input": "tdesign-miniprogram/input/input"
  }
}
<t-input
  label="Label"
  placeholder="Please enter"
  value="{{value}}"
  bind:change="onChange"
/>
ダイアログ
{
  "usingComponents": {
    "t-dialog": "tdesign-miniprogram/dialog/dialog"
  }
}
<t-dialog
  visible="{{visible}}"
  title="Dialog Title"
  content="Dialog content"
  confirm-btn="Confirm"
  cancel-btn="Cancel"
  bind:confirm="onConfirm"
  bind:cancel="onCancel"
/>
トースト
import Toast from 'tdesign-miniprogram/toast/index';

Toast({
  context: this,
  selector: '#t-toast',
  message: 'Toast message',
});
AI チャットインターフェース
{
  "usingComponents": {
    "t-chat-list": "tdesign-miniprogram/chat-list/chat-list",
    "t-chat-message": "tdesign-miniprogram/chat-message/chat-message",
    "t-chat-sender": "tdesign-miniprogram/chat-sender/chat-sender"
  }
}
<t-chat-list layout="single">
  <t-chat-message
    avatar="{{item.avatar}}"
    name="{{item.name}}"
    content="{{item.content}}"
    role="{{item.role}}"
  />
  <view slot="footer">
    <t-chat-sender bind:send="onSend" />
  </view>
</t-chat-list>
Component({
  data: {
    messages: [
      {
        role: 'user',
        content: [{ type: 'text', data: 'Hello' }],
      },
      {
        role: 'assistant',
        content: [{ type: 'text', data: 'Hello! How can I help you?' }],
      },
    ],
  },
  methods: {
    onSend(e) {
      const { value } = e.detail;
      // Handle send message
    },
  },
});

スタイルのカスタマイズ

方法 1: style 属性を使用する
<t-button style="color: red">Custom Style</t-button>
<t-button custom-style="color: red">Custom Style</t-button>
方法 2: スタイル分離を無効にする

ページ内でスタイルを直接上書きします:

.t-button--primary {
  background-color: navy;
}

カスタムコンポーネントでは、styleIsolation を有効にします:

Component({
  options: {
    styleIsolation: 'shared',
  },
});
方法 3: 外部スタイルクラス
<t-button t-class="my-button-class">Button</t-button>
.my-button-class {
  background-color: navy !important;
}
方法 4: CSS 変数

TDesign はテーマのカスタマイズ用に豊富な CSS 変数を提供しています:

page {
  --td-button-primary-bg-color: #0052d9;
  --td-button-border-radius: 8rpx;
}

ダークモード

1. app.json を変更する
{
  "darkmode": true
}
2. デザイントークンをインポートする

app.wxss 内:

@import 'miniprogram_npm/tdesign-miniprogram/common/style/theme/_index.wxss';
3. CSS 変数を使用する
.text {
  color: var(--td-text-color-secondary);
}
4. 特殊コンポーネントの対応

custom-tab-bar または root-portal でラップされたコンポーネントには、.page クラスを追加します:

<view class="page">
  <t-tab-bar />
</view>

参照ファイル

このスキルには references/ 内に包括的なドキュメントが含まれています:

基本ドキュメント
  • miniprogram/getting-started.md - クイックスタートガイド
  • miniprogram/overview.md - コンポーネントの概要
  • miniprogram/custom-style.md - スタイルのカスタマイズ
  • miniprogram/custom-theme.md - テーマのカスタマイズ
  • miniprogram/dark-mode.md - ダークモード
コンポーネントドキュメント (miniprogram/components/)
  • button.md - ボタン
  • input.md - 入力
  • dialog.md - ダイアログ
  • form.md - フォーム
  • ... その他のコンポーネントドキュメント
AI チャットコンポーネントのドキュメント (miniprogram-chat/)
  • getting-started.md - チャットコンポーネントのクイックスタート
  • sse.md - SSE ストリーミング
  • components/chat-message.md - チャットメッセージ
  • components/chat-sender.md - チャット送信者
  • components/chat-list.md - チャットリスト
  • ... その他のチャットコンポーネントのドキュメント

詳細な API 情報が必要な場合は、Read ツールを使用して特定のリファレンスファイルにアクセスしてください。

主な要件

  • 最小ベースライブラリバージョン: ^2.12.0
  • WeChat DevTools での npm ビルドが必要
  • app.json から "style": "v2" を削除

リソース

注意事項

  • このスキルは TDesign 公式ドキュメントから自動生成されました
  • リファレンスファイルはソースドキュメントの構造と例を保持しています
  • 一部のリファレンスコンテンツは公式ドキュメントに従い中国語のままです

コメント