From 99ae3a15c5dd2ef98d7201e16c263ebf642c0462 Mon Sep 17 00:00:00 2001 From: gdlcf88 Date: Mon, 7 Sep 2020 04:36:34 +0800 Subject: [PATCH] Complete README.md Resolve #80 --- docs/README.md | 57 +++++++++++++++++-- .../Products/Localization/Products/cs.json | 4 +- .../Products/Localization/Products/en.json | 4 +- .../Products/Localization/Products/pl.json | 4 +- .../Products/Localization/Products/pt-BR.json | 4 +- .../Products/Localization/Products/sl.json | 4 +- .../Products/Localization/Products/tr.json | 4 +- .../Products/Localization/Products/vi.json | 4 +- .../Localization/Products/zh-Hans.json | 4 +- .../Localization/Products/zh-Hant.json | 4 +- 10 files changed, 70 insertions(+), 23 deletions(-) diff --git a/docs/README.md b/docs/README.md index 704882f4..5c1f1c8e 100644 --- a/docs/README.md +++ b/docs/README.md @@ -36,11 +36,58 @@ We have launched an online demo for this module: [https://eshop.samples.easyabp. 1. Add EF Core migrations and update your database. See: [ABP document](https://docs.abp.io/en/abp/latest/Tutorials/Part-1?UI=MVC#add-new-migration-update-the-database). -## Usage - -Todo. - -## Sub-Modules +## Basic Usage + +* Create a Store (optional) + * EShop supports multi-store, it provides a [default store](https://github.com/EasyAbp/EShop/blob/master/modules/EasyAbp.EShop.Stores/src/EasyAbp.EShop.Stores.Domain/EasyAbp/EShop/Stores/Stores/StoreDataSeeder.cs), it will be created when you seed the initial data. (learn more about ABP [Data Seeding](https://docs.abp.io/en/abp/latest/Data-Seeding)) + * Use the store management page to create a new store. + +* Define a Product Group (optional) + * Product group is used to classify different types of products, so we can customize different behavior for them, for example, products of the "GiftCard" product group could automatically send the card number and password to the customer's mailbox. + * EShop provides a [default product group](https://github.com/EasyAbp/EShop/blob/master/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain/EasyAbp/EShop/Products/EShopProductsDomainModule.cs#L29-L36). + * Refer to the configuration of the default product group and define a new product group. + +* Create a Product + * Use the product management page to create new a product. + * Click the "SKU" item in the actions button of the product you created and then create an SKU. + +* Place an Order + * We have not yet provided relevant UI for this action. + * Use the API `/api/eShop/orders/order` (POST) to create a new order. + +* Pay for the Order + * We have not yet provided relevant UI for this action. + * Use the API `/api/eShop/payments/payment` (POST) to create a pending new payment for your order. + * You can pay for multiple orders at once. + * You need to decide one of the payment methods provided by the [EasyAbp.PaymentService](https://easyabp.io/modules/PaymentService/) module. + * Use the API `/api/eShop/orders/order/{id}` (GET) get the order, then you can get the "paymentId" in the result. + * Use the API `/api/paymentService/payment/{id}/pay` (POST) to complete the payment. + * "id" is the "paymentId" we got above. + * Different payment methods require different "extraProperties" for this API. Read the [document](https://easyabp.io/modules/PaymentService/) of the EasyAbp.PaymentService module to learn more. + +* Complete the Order + * We have not yet provided relevant UI for this action. + * Use the API `/api/paymentService/payment/{id}/pay` (POST) to complete the payment. + * The customer should have permission to complete the order himself. + * For some product group, you may want to prohibit users from completing orders themselves, and automatically complete orders through some system rules. + +## Advanced Usages + +We can customize some features to use EShop in complex application scenarios. + +### Gift Card Shop + +* When a gift card order is paid, automatically send the card number and password to the customer's mailbox. +* Automatically set the order status to completed after the mail is sent. +* Read the article to learn how to implement it. (todo) + +### Paid Knowledge Market +* Also use the [EasyAbp.SharedResources](https://easyabp.io/modules/SharedResources/) module. +* The carrier of knowledge can be articles, pictures, audios, videos, files, streams, etc. +* When a knowledge order is paid, automatically authorize the customer to access the resources he purchased. +* Read the article to learn how to implement it. (todo) + +## Submodules * Core modules * Orders diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/cs.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/cs.json index a1cf0241..4b92021e 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/cs.json +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/cs.json @@ -16,10 +16,10 @@ "ProductDetailDisplayOrder": "ProductDetailDisplayOrder", "ProductAttribute": "ProductAttribute", "ProductAttributeNames": "ProductAttributeNames", - "ProductAttributeNamesPlaceholder": "ProductAttributeNamesPlaceholder", + "ProductAttributeNamesPlaceholder": "e.g. Color,Size", "ProductAttributeOption": "ProductAttributeOption", "ProductAttributeOptionNames": "ProductAttributeOptionNames", - "ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder", + "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", "ProductSku": "ProductSku", "ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds", "ProductSkuName": "ProductSkuName", diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/en.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/en.json index c6c83473..e037ac8e 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/en.json +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/en.json @@ -17,10 +17,10 @@ "ProductDetailDisplayOrder": "ProductDetailDisplayOrder", "ProductAttribute": "ProductAttribute", "ProductAttributeNames": "ProductAttributeNames", - "ProductAttributeNamesPlaceholder": "ProductAttributeNamesPlaceholder", + "ProductAttributeNamesPlaceholder": "e.g. Color,Size", "ProductAttributeOption": "ProductAttributeOption", "ProductAttributeOptionNames": "ProductAttributeOptionNames", - "ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder", + "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", "ProductSku": "ProductSku", "ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds", "ProductSkuName": "ProductSkuName", diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pl.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pl.json index 578d46e7..38ca83e4 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pl.json +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pl.json @@ -16,10 +16,10 @@ "ProductDetailDisplayOrder": "ProductDetailDisplayOrder", "ProductAttribute": "ProductAttribute", "ProductAttributeNames": "ProductAttributeNames", - "ProductAttributeNamesPlaceholder": "ProductAttributeNamesPlaceholder", + "ProductAttributeNamesPlaceholder": "e.g. Color,Size", "ProductAttributeOption": "ProductAttributeOption", "ProductAttributeOptionNames": "ProductAttributeOptionNames", - "ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder", + "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", "ProductSku": "ProductSku", "ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds", "ProductSkuName": "ProductSkuName", diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pt-BR.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pt-BR.json index 2e65c15a..b40f4c52 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pt-BR.json +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/pt-BR.json @@ -16,10 +16,10 @@ "ProductDetailDisplayOrder": "ProductDetailDisplayOrder", "ProductAttribute": "ProductAttribute", "ProductAttributeNames": "ProductAttributeNames", - "ProductAttributeNamesPlaceholder": "ProductAttributeNamesPlaceholder", + "ProductAttributeNamesPlaceholder": "e.g. Color,Size", "ProductAttributeOption": "ProductAttributeOption", "ProductAttributeOptionNames": "ProductAttributeOptionNames", - "ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder", + "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", "ProductSku": "ProductSku", "ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds", "ProductSkuName": "ProductSkuName", diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/sl.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/sl.json index ea37b1c8..b8a3da2b 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/sl.json +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/sl.json @@ -17,10 +17,10 @@ "ProductDetailDisplayOrder": "ProductDetailDisplayOrder", "ProductAttribute": "ProductAttribute", "ProductAttributeNames": "ProductAttributeNames", - "ProductAttributeNamesPlaceholder": "ProductAttributeNamesPlaceholder", + "ProductAttributeNamesPlaceholder": "e.g. Color,Size", "ProductAttributeOption": "ProductAttributeOption", "ProductAttributeOptionNames": "ProductAttributeOptionNames", - "ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder", + "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", "ProductSku": "ProductSku", "ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds", "ProductSkuName": "ProductSkuName", diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/tr.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/tr.json index f920667d..07402b59 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/tr.json +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/tr.json @@ -17,10 +17,10 @@ "ProductDetailDisplayOrder": "ProductDetailDisplayOrder", "ProductAttribute": "ProductAttribute", "ProductAttributeNames": "ProductAttributeNames", - "ProductAttributeNamesPlaceholder": "ProductAttributeNamesPlaceholder", + "ProductAttributeNamesPlaceholder": "e.g. Color,Size", "ProductAttributeOption": "ProductAttributeOption", "ProductAttributeOptionNames": "ProductAttributeOptionNames", - "ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder", + "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", "ProductSku": "ProductSku", "ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds", "ProductSkuName": "ProductSkuName", diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/vi.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/vi.json index 76985981..8f0d846c 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/vi.json +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/vi.json @@ -16,10 +16,10 @@ "ProductDetailDisplayOrder": "ProductDetailDisplayOrder", "ProductAttribute": "ProductAttribute", "ProductAttributeNames": "ProductAttributeNames", - "ProductAttributeNamesPlaceholder": "ProductAttributeNamesPlaceholder", + "ProductAttributeNamesPlaceholder": "e.g. Color,Size", "ProductAttributeOption": "ProductAttributeOption", "ProductAttributeOptionNames": "ProductAttributeOptionNames", - "ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder", + "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", "ProductSku": "ProductSku", "ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds", "ProductSkuName": "ProductSkuName", diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hans.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hans.json index 413f078f..3a23d1b8 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hans.json +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hans.json @@ -17,10 +17,10 @@ "ProductDetailDisplayOrder": "ProductDetailDisplayOrder", "ProductAttribute": "ProductAttribute", "ProductAttributeNames": "ProductAttributeNames", - "ProductAttributeNamesPlaceholder": "ProductAttributeNamesPlaceholder", + "ProductAttributeNamesPlaceholder": "e.g. Color,Size", "ProductAttributeOption": "ProductAttributeOption", "ProductAttributeOptionNames": "ProductAttributeOptionNames", - "ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder", + "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", "ProductSku": "ProductSku", "ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds", "ProductSkuName": "ProductSkuName", diff --git a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hant.json b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hant.json index c67d8299..84885252 100644 --- a/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hant.json +++ b/modules/EasyAbp.EShop.Products/src/EasyAbp.EShop.Products.Domain.Shared/EasyAbp/EShop/Products/Localization/Products/zh-Hant.json @@ -17,10 +17,10 @@ "ProductDetailDisplayOrder": "ProductDetailDisplayOrder", "ProductAttribute": "ProductAttribute", "ProductAttributeNames": "ProductAttributeNames", - "ProductAttributeNamesPlaceholder": "ProductAttributeNamesPlaceholder", + "ProductAttributeNamesPlaceholder": "e.g. Color,Size", "ProductAttributeOption": "ProductAttributeOption", "ProductAttributeOptionNames": "ProductAttributeOptionNames", - "ProductAttributeOptionNamesPlaceholder": "ProductAttributeOptionNamesPlaceholder", + "ProductAttributeOptionNamesPlaceholder": "e.g.\nRed,Green,Blue\nS,M,L,XL", "ProductSku": "ProductSku", "ProductSkuAttributeOptionIds": "ProductSkuAttributeOptionIds", "ProductSkuName": "ProductSkuName",