WeChatミニプログラム抽選コンポーネントの使い方

WeChatミニプログラム抽選コンポーネントの使い方

WeChatコンポーネントの形式で提供されます。コンポーネント内部ではasync/awaitが使用されるため、WeChat開発者ツールの「詳細=>ローカル設定」で「コンパイルを強化してnpmを使用する」にチェックを入れてください。ミニプログラムでのnpmの使用については、WeChatミニプログラム-npmサポートを参照してください。

まず効果図を見てみましょう:

手順:

ステップ1:

依存関係をインストールするか、githuaにアクセスしてソースコードをダウンロードし、distディレクトリの下にlottary-turntableディレクトリをコピーします。

npm i 宝くじターンテーブル wx ミニプログラム用

ステップ2:

ページJSON構成

{
 "コンポーネントの使用": {
  "lottery-turntable":"lottery-turntable-for-wx-miniprogram/lottery_turntable/index"
 }
}

ステップ3:

データを準備し、イベント処理を追加する(コンポーネント ページ JS を使用)

定数データ = [{
 "id": "792085712309854208",
 "imgUrl": "../../images/icon.png",
 "title": "サンダー プラチナ メンバー マンスリー カード - 1"
}, {
 "id": "766410261029724160",
 "imgUrl": "../../images/icon.png",
 "title": "サンダー プラチナ メンバー マンスリー カード - 2"
}, {
 "id": "770719340921364480",
 "imgUrl": "../../images/icon.png",
 "title": "サンダー プラチナ メンバー マンスリー カード - 3"
}, {
 "id": "770946438416048128",
 "imgUrl": "../../images/icon.png",
 "title": "サンダー プラチナ メンバー マンスリー カード - 4"
}, {
 "id": "781950121802735616",
 "imgUrl": "../../images/icon.png",
 "title": "サンダー プラチナ メンバー マンスリー カード - 5"
}, {
 "id": "766411654436233216",
 "imgUrl": "../../images/icon.png",
 "title": "サンダー プラチナ メンバー マンスリー カード - 6"
}, {
 "id": "770716883860332544",
 "imgUrl": "../../images/icon.png",
 "title": "サンダー プラチナ メンバー マンスリー カード - 7"
}, {
 "id": "796879308510732288",
 "imgUrl": "../../images/icon.png",
 "title": "サンダー プラチナ メンバー マンスリー カード - 8"
}];
 
ページ({
 データ: {
  datas: datas, // データ PrizeId: '', // 優勝結果 ID は属性を通じてコン​​ポーネントに渡されます config: { // ターンテーブル構成は属性を通じてコン​​ポーネントに渡されます titleLength: 7
  }
 },
 /**
  * 回数不足のコールバック* @param e
  */
 onNotEnoughHandle(e) {
  wx.showToast({
   アイコン: 'なし'、
   タイトル: e.detail
  })
 },
 
 /**
  *抽選コールバック*/
 onLuckDrawHandle() {
  this.setData({
   賞品ID: this.data.datas[Math.floor(Math.random() * 10 % this.data.datas.length)].id
  });
 },
 
 /**
  * アニメーション回転完了コールバック */
 onLuckDrawFinishHandle() {
  定数データ = this.data.datas;
  constデータ = datas.find((item) => {
   item.id === this.data.prizeId を返します。
  });
  wx.showToast({
   アイコン: 'なし'、
   title: `${data.title} 優勝おめでとうございます`
  })
  this.setData({
   賞品ID: ''
  });
 }
})
 

ステップ4:

ページの使用状況

<宝くじターンテーブル
   データ="{{データ}}"
   賞品ID="{{prizeId}}"
   カウント="{{5}}"
   config="{{config}}"
   bindLuckDraw="onLuckDrawHandle"
   bindNotEnough="onNotEnoughHandle"
   bindLuckDrawFinish="onLuckDrawFinishHandle"
  </宝くじターンテーブル>

ステップ5:

コンポーネント構成項目を変更し(以下はデフォルトの構成です)、config属性を通じてjsオブジェクトを渡します。

/**
 * イーズ: 値は以下の通りです* 'linear' アニメーションの速度は最初から最後まで同じです* 'ease' アニメーションは低速で始まり、その後加速し、終了前に低速になります* 'ease-in' アニメーションは低速で始まります* 'ease-in-out' アニメーションは低速で始まり、終了します* 'ease-out' アニメーションは低速で終了します* 'step-start' アニメーションは最初のフレームで終了状態にジャンプし、終了まで続きます* 'step-end' アニメーションは開始状態のままで、最後のフレームで終了状態にジャンプします*/
// 以下はデフォルトの設定です let config = {
 サイズ: {
  幅: '572rpx',
  高さ: '572rpx'
 }, // ターンテーブルの幅と高さbgColors: ['#FFC53F', '#FFED97'], // ターンテーブル間隔の背景色は、複数の色の交互表示をサポートしますfontSize: 10, // テキスト サイズfontColor: '#C31A34', // テキストの色titleMarginTop: 12, // 最も外側のテキストの余白titleLength: 6 // 最も外側のテキストの番号iconWidth: 29.5, // アイコンの幅iconHeight: 29.5, // アイコンの高さiconAndTextPadding: 4, // 最も内側のテキストとアイコンの間の余白duration: 8000, // ターンテーブルの回転アニメーションdurationrate: 1.5, // 継続時間 s / 円の数で取得border: 'border: 10rpx solid #FEFAE4;', // ターンテーブルの境界ease: 'ease-out' // ターンテーブル アニメーション};

要約する

WeChatミニプログラム抽選コンポーネントに関するこの記事はこれで終わりです。WeChatミニプログラム抽選コンポーネントの関連コンテンツについては、123WORDPRESS.COMで過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後も123WORDPRESS.COMを応援していただければ幸いです。

以下もご興味があるかもしれません:
  • WeChatアプレットがフリップカード抽選アニメーションを実装
  • WeChatアプレットが抽選を実装
  • WeChatアプレットガチャ抽選機CSS3アニメーション実装詳細説明
  • WeChatアプレットが9マス抽選を実装
  • WeChatアプレットがマルチグリッド抽選アクティビティを実装
  • WeChatアプレットシェイク宝くじの簡単な実装コードの例
  • WeChatアプレット開発:Tmallスーパーマーケットの抽選を模した大型ターンテーブルの例
  • WeChatアプレットが回転灯式宝くじを実装

<<:  JS配列インデックス検出におけるデータ型の問題の詳細な説明

>>:  uniappのグローバル変数実装の詳細な説明

推薦する

Ubuntu環境でPHPとNginxをコンパイルしてインストールする方法

この記事では、Ubuntu 環境で PHP と Nginx をコンパイルしてインストールする方法につ...

MySQL マスタースレーブレプリケーションの原理と実践の詳細な説明

目次導入効果原理形状練習するこの記事では、例を使用して、MySQL マスター/スレーブ レプリケーシ...

MySQLデータベースのマスタースレーブレプリケーションの長い遅延に対する解決策

序文MySQL マスター スレーブ レプリケーションの遅延は、業界では長年の問題となっています。遅延...

HTML フォーム送信アクションと URL ジャンプアクションの違い

フォームのアクションは URL ジャンプとは異なります。フォームはバックグラウンドにデータを渡すこと...

9999px に別れを告げる新しい CSS 画像置換テクニック (背景表示と画面外へのテキストの移動)

-9999 ピクセルの画像置換技術は、ここ 10 年近く人気があります。テキスト要素を画像に置き換え...

MySQL 8.0.22 winx64 のインストールと設定方法のグラフィックチュートリアル

MySQL-8.0.22-winx64のデータベースインストールチュートリアルは参考になります。具体...

Prometheus を使用して、MySQL の自動増分主キーの残りの使用可能パーセンテージをカウントします。

最近、本番環境のデータベースがログデータを狂ったように書き込み、主キー値のオーバーフローを引き起こし...

Hyper-V の紹介とインストールと使用 (詳細な図解)

はじめに:IT 業界の巨人である Microsoft 独自の仮想化技術は、VMware や Citr...

WeChatアプレットが9マスグリッド効果を実現

この記事では、WeChatアプレットの9マスグリッド効果を実現するための具体的なコードを参考までに紹...

カーソル ループを使用して、MySQL ストアド プロシージャで一時テーブルを読み取る

カーソルカーソルは、結果セット内のデータを表示または処理するために使用される方法です。カーソルを使用...

コードブロックのハイライトをコピーして表示できる js プラグイン highlight.js + clipboard.js 統合

主に2つの側面から: 1. ハイライト/改行2. コードのコピーボタンこれら両方には既製のプラグイン...

Dockerは指定されたメモリで操作を実行します

次のように: -m, --memory メモリ制限。形式は数値と単位です。単位は b、k、m、g の...

CSS 不透明度子要素が親要素の透明度を継承するためのソリューションの詳細な説明

プロジェクト ページの作成中に、子要素が親要素の透明度を継承するという問題に遭遇しました。多くのドキ...

Windows に MySQL 8.0.16 をインストールする手順とエラーの解決方法

1. はじめに: mysql8以降は、これまでよく使われていたバージョンと比べてかなり変更点が大きい...

jQueryは動的タグイベントを実装します

この記事では、タグイベントを動的に追加するためのjQueryの具体的なコードを参考までに紹介します。...