uniapp アプリケーションでのショッピング カートと注文決済の実装方法
1. ショッピング カート機能の実装
ショッピング カートは電子マネーの一般的な機能です。コマース アプリケーション 1 つは、ユーザーが購入した商品を記録するために使用され、ユーザーがいつでも閲覧、編集、決済するのに便利です。
- ページ デザイン
まず、ショッピング カート ページのレイアウトをデザインする必要があります。次のように設計できます:
1) 上部ナビゲーション バー: ショッピング カートのタイトルと戻るボタンが表示されます。
2) ショッピング カート リスト: ユーザーが購入した製品情報 (製品の写真、名前、価格、数量、小計など) が表示されます。各製品では、アクション ボタンの数を減らして追加することもできます。
3) 決済欄:選択した商品の合計数量、合計金額、レジへ進むボタンが表示されます。
- データ ストレージ
uniapp では、Vuex またはローカル ストレージを使用してショッピング カート データを保存できます。以下はサンプル コードです:
// 在main.js中引入Vuex和创建store实例 import Vuex from 'vuex' Vue.use(Vuex) const store = new Vuex.Store({ state: { cart: [] // 购物车数据 }, mutations: { addToCart(state, product) { // 添加商品到购物车 state.cart.push(product) }, removeFromCart(state, index) { // 从购物车中移除商品 state.cart.splice(index, 1) } }, getters: { totalPrice(state) { // 计算购物车中商品的总价 let total = 0 state.cart.forEach(item => { total += item.price * item.quantity }) return total }, totalQuantity(state) { // 计算购物车中商品的总数量 let quantity = 0 state.cart.forEach(item => { quantity += item.quantity }) return quantity } } })
- 製品をショッピング カートに追加
ユーザーが製品詳細ページの [ショッピング カートに追加] ボタンをクリックするとき、次の操作を行う必要があります。商品情報をショッピングカートに追加し、ステータスを更新します。
以下はサンプル コードです:
// 在商品详情页的methods中添加商品到购物车的方法 methods: { addToCart(product) { this.$store.commit('addToCart', product) } }
- ショッピング カート リストの表示
ショッピング カート ページでは、ショッピング カートを次のように移動する必要があります。 v-for命令データ、製品リストを表示します。
以下はサンプル コードです:
<!-- 在购物车页面的template中展示购物车列表 --> <view class="cart-list"> <view v-for="(product, index) in $store.state.cart" :key="index"> <image :src="product.image" class="product-image"></image> <text class="product-name">{{ product.name }}</text> <text class="product-price">¥{{ product.price }}</text> <view class="quantity-container"> <text class="minus" @click="decreaseQuantity(index)">-</text> <text class="quantity">{{ product.quantity }}</text> <text class="plus" @click="increaseQuantity(index)">+</text> </view> </view> </view>
- ショッピング カートの編集
ユーザーは、増加をクリックしてショッピング カート内の商品の数量を編集できます。または減少ボタンで数量を変更します。サンプルコードは以下の通りです:
// 在购物车页面的methods中增加和减少商品数量的方法 methods: { increaseQuantity(index) { this.$store.state.cart[index].quantity++ }, decreaseQuantity(index) { if (this.$store.state.cart[index].quantity > 1) { this.$store.state.cart[index].quantity-- } else { this.$store.commit('removeFromCart', index) } } }
2. 注文決済機能の実装
注文決済はショッピングカート機能の拡張機能であり、ユーザーは購入したい商品を選択し、決定することができます。お届け先、お支払い方法等の関連情報。
- ページデザイン
まず、注文決済ページのレイアウトをデザインする必要があります。次の方法で設計できます:
1) 上部ナビゲーション バー: 注文決済のタイトルと戻るボタンが表示されます。
2) 製品リスト: ユーザーが購入した製品情報 (製品の写真、名前、価格、数量、小計など) が表示されます。
3) 注文情報: 配送先住所、連絡先情報、支払い方法など。
4) 注文合計: 選択した製品の合計数量、合計金額を表示し、注文を送信するボタンを表示します。
- 注文決済データ
uniappでは、ユーザーが選択した注文決済データをVuexに保存することができます。
以下はサンプルコードです:
// 在Vuex中添加订单结算数据的state和mutations const store = new Vuex.Store({ state: { checkoutItems: [] // 订单结算数据 }, mutations: { addToCheckout(state, product) { // 将商品添加到订单结算数据 state.checkoutItems.push(product) }, removeFromCheckout(state, index) { // 从订单结算数据中移除商品 state.checkoutItems.splice(index, 1) } }, getters: { totalPrice(state) { // 计算订单结算数据中商品的总价 let total = 0 state.checkoutItems.forEach(item => { total += item.price * item.quantity }) return total }, totalQuantity(state) { // 计算订单结算数据中商品的总数量 let quantity = 0 state.checkoutItems.forEach(item => { quantity += item.quantity }) return quantity } } })
- 注文決済データに商品を追加
ユーザーがショッピングカートページで商品を選択した後、チェックアウトボタンをクリックすると、注文決済データに商品情報を追加し、注文決済ページにジャンプします。
以下はサンプル コードです:
// 在购物车页面的methods中添加商品到订单结算数据的方法 methods: { checkout() { this.$store.state.cart.forEach(item => { this.$store.commit('addToCheckout', item) }) this.$store.state.cart = [] uni.navigateTo({ url: '/pages/checkout' }) } }
- 注文決済リストの表示
注文決済ページでは、注文決済をたどる必要があります。 v-for命令データ、製品リストを表示します。
以下はサンプル コードです:
<!-- 在订单结算页面的template中展示订单结算清单 --> <view class="checkout-list"> <view v-for="(product, index) in $store.state.checkoutItems" :key="index"> <image :src="product.image" class="product-image"></image> <text class="product-name">{{ product.name }}</text> <text class="product-price">¥{{ product.price }}</text> <text class="product-quantity">数量:{{ product.quantity }}</text> <text class="product-subtotal">小计:¥{{ product.price * product.quantity }}</text> </view> </view>
- 注文の送信
注文決済ページでは、注文の送信ボタンをデザインする必要があります。ボタンをクリックすると、対応する注文送信操作が実行されます。
以下はサンプル コードです:
// 在订单结算页面的methods中提交订单的方法 methods: { submitOrder() { // 提交订单的逻辑,如创建订单、生成订单号、进行支付等 // ... } }
上記の手順の実装により、uniapp アプリケーションでショッピング カートと注文決済機能を正常に構築および実装することができ、ユーザーに便利なショッピングと決済体験。
以上がuniapp アプリケーションがショッピング カートと注文決済を実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

この記事では、モバイルプラットフォームとWebプラットフォームのデバッグ戦略について説明し、Android Studio、Xcode、Chrome Devtoolsなどのツールを強調し、OSとパフォーマンスの最適化全体で一貫した結果を得るためのテクニックについて説明します。

この記事では、Hbuilderx、Wechat開発者ツール、Chrome Devtoolsなどのツールに焦点を当てたUniapp開発のためのデバッグツールとベストプラクティスについて説明します。

この記事では、複数のプラットフォームにわたるUNIAPPアプリケーションのエンドツーエンドテストについて説明します。テストシナリオの定義、Appiumやサイプレスなどのツールの選択、環境のセットアップ、テストの書き込みと実行、結果の分析、インテグラートをカバーします

この記事では、ユニット、統合、機能、UI/UX、パフォーマンス、クロスプラットフォーム、セキュリティテストなど、UNIAPPアプリケーションのさまざまなテストタイプについて説明します。また、クロスプラットフォームの互換性を確保し、JESのようなツールを推奨しています

この記事では、過剰なグローバルデータの使用や非効率的なデータバインディングなど、UNIAPP開発における一般的なパフォーマンスアンチパターンについて説明し、これらの問題を特定して緩和してアプリのパフォーマンスを向上させる戦略を提供します。

この記事では、プロファイリングツールを使用して、Uniappのパフォーマンスボトルネックを識別および解決し、セットアップ、データ分析、最適化に焦点を当てています。

この記事では、Uniappでネットワーク要求を最適化するための戦略について説明し、遅延の削減、キャッシュの実装、および監視ツールを使用してアプリケーションのパフォーマンスを向上させることに焦点を当てています。

この記事では、圧縮、レスポンシブデザイン、怠zyなロード、キャッシング、およびWebP形式の使用を通じて、Webパフォーマンスを向上させるために、Uniappの画像の最適化について説明します。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MantisBT
Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1
使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版
中国語版、とても使いやすい
