国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

電商設(shè)計(jì)手冊之基礎(chǔ)商品信息

aboutU / 1219人閱讀

摘要:商品詳情接口商品表按索引查詢商品信息。接著,我們來看看和定義名稱概念解釋標(biāo)準(zhǔn)產(chǎn)品單位剝離銷售屬性的部分,例如小米。

前言
建議使用大屏設(shè)備(例如pad/pc),可以更好的瀏覽本篇文章

今天我們開始「商品系統(tǒng)」的篇章。本文分為如下五大模塊:

需求分析

架構(gòu)設(shè)計(jì)

Spu和Sku的故事

數(shù)據(jù)模型設(shè)計(jì)

接口設(shè)計(jì)

第一篇我們主要看看一個入門的電商平臺(B2C)如何去構(gòu)建自己的基礎(chǔ)商品信息,其實(shí)這個事情很簡單,想想我們的現(xiàn)實(shí)生活,商家擺放商品到貨架,客戶從貨架挑選商品,客戶把挑選好的商品放入購物車(籃),最后客戶去收銀臺結(jié)賬

需求分析

對于一個電商平臺來講,我們怎么理解上面的簡單示例呢?接著,我們來拆分上面這個簡單的事情:

商家擺放商品到貨架,客戶從貨架挑選商品,客戶把挑選好的商品放入購物車(籃),最后客戶去收銀臺結(jié)賬

商家是誰:電商平臺

擺放是什么意思:上架

貨架在哪:前臺系統(tǒng)(web/app/...)

挑選:瀏覽前臺系統(tǒng)

放入:點(diǎn)擊前臺系統(tǒng)「加入購物車按鈕」

...(暫不多說了)

備注:本篇文章主要來看看1、2、3、4步該如何去設(shè)計(jì)。

通過上面的分析我們可以得出下面的信息:

我們需要一個「電商平臺」,電商平臺里面需要有個商品后臺系統(tǒng)

我們上架什么東西呢?商品!所以商品后臺系統(tǒng)需要具備創(chuàng)建發(fā)布商品到前臺系統(tǒng)的功能。

我們需要一個前臺系統(tǒng)(比如網(wǎng)頁),前臺系統(tǒng)具備商品列表和商品詳情的頁面,可供用戶瀏覽

前臺系統(tǒng)的數(shù)據(jù)怎么來?所以我們需要一個接口網(wǎng)關(guān)(對外統(tǒng)一提供服務(wù)能力,企業(yè)總線)和商品服務(wù)

整理之后得到如下的需求點(diǎn):

需求點(diǎn) 功能點(diǎn) 項(xiàng)目命名 技術(shù)棧
商品后臺系統(tǒng) 1.創(chuàng)建商品 2.發(fā)布商品到前臺系統(tǒng) Temporal Backend PHP
前臺系統(tǒng) 1.商品列表 2.商品詳情 Skr Frontend Vue
接口網(wǎng)關(guān) 企業(yè)總線 Skr Gateway kong
商品服務(wù) 1.創(chuàng)建商品接口 2.商品狀態(tài)變更接口 2.商品列表接口 3. 商品詳情接口 Temporal Service Golang
架構(gòu)設(shè)計(jì)

通過上面的需求分析,再加上之前的《電商設(shè)計(jì)手冊之用戶體系》中的用戶體系和《支付開發(fā),不得不了解的國內(nèi)、國際第三方支付流程》中的支付服務(wù),我們規(guī)劃出以下的架構(gòu)圖。


    

Spu和Sku的故事

對我們程序猿來講「商品系統(tǒng)」剛開始的樣子就是如下三點(diǎn):

創(chuàng)建商品功能:首先我們會有一張商品表,每創(chuàng)建一個商品我們會的到一個goods_id,如果商品存在父子的關(guān)系,加一個parent_id的字段就搞定了。

商品列表接口:商品表分頁查詢商品。

商品詳情接口:商品表按goods_id索引查詢商品信息。

很簡單是吧,基本一張表就搞定了,看起來也是沒什么問題的。但是呢,程序設(shè)計(jì)的巧妙之處就在于抽象能力,電商行業(yè)把goods_id進(jìn)行了進(jìn)一步的抽象,產(chǎn)生了Spu和Sku概念,在了解Spu和Sku定義之前,我們還得了解下銷售屬性的含義,舉個例子便于理解:

想想我們的現(xiàn)實(shí)生活,假如我們?nèi)ヅl(fā)市場上了一批AJ1球鞋,批發(fā)商會給我們不同配色大小的AJ1球鞋。我們在店里銷售這些商品時都會詢問客戶:“您是需要什么顏色大小的AJ1球鞋呢?”。這里的顏色大小就是所謂的銷售屬性,因?yàn)椴煌?strong>顏色和大小的AJ1球鞋可能價格不同、庫存數(shù)量不同,現(xiàn)實(shí)生活中是不是如此,不同顏色或大小的AJ1都有差別巨大的價格。

接著,我們來看看Spu和Sku定義:

名稱 概念 解釋
Spu standard product unit 標(biāo)準(zhǔn)產(chǎn)品單位 goods_id剝離銷售屬性的部分,例如:小米8。商品列表我們展示Spu列表。
Sku stock keeping unit 庫存量單位 就是你想買的那個商品真正的編號,這個編號對應(yīng)的庫存就是你想買的那個商品的庫存量。Spu+一或多個銷售屬性對應(yīng)一個Sku,例如:小米8黑128G,其中黑和128G就是銷售屬性,小米8就是一個Spu。

搞清楚了么?

數(shù)據(jù)模型設(shè)計(jì)

所以最后簡單的商品表就拆成了spu表sku表,接著我們還抽象出來了可復(fù)用的銷售屬性表銷售屬性值表。除此之外
我們應(yīng)該還有品牌表類別表、簡單的sku庫存表(目前簡單設(shè)計(jì)此表,后期具體業(yè)務(wù)重構(gòu)此表)。接著我們列下這些表的明細(xì):

表名稱 表名
品牌表 product_brands
類別表 product_category
spu表 product_spu
sku表 product_sku
銷售屬性表 product_attr
銷售屬性值 product_attr_value
sku庫存表 product_sku_stock

除了上面的表之外,我又加了另一張表 關(guān)聯(lián)關(guān)系冗余表 product_spu_sku_attr_map,為什么呢?顧名思義,冗余用的,有了這張表,我們可以很高效的得到:

spu下 有哪些sku

spu下 有那些銷售屬性

spu下 每個銷售屬性對應(yīng)的銷售屬性值(一對多)

spu下 每個銷售屬性值對應(yīng)的sku(一對多)

具體表結(jié)構(gòu)如下所示:

-- 品牌表 product_brands
CREATE TABLE `product_brands` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT "品牌ID",
    `name` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "品牌名稱",
    `desc` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "品牌描述",
    `logo_url` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "品牌logo圖片",
    `create_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建時間",
    `create_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建人staff_id",
    `update_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "更新時間",
    `update_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "修改人staff_id",
    `status` tinyint(1) unsigned NOT NULL DEFAULT "0" COMMENT "狀態(tài) 1:enable, 0:disable, -1:deleted",
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT="品牌表";

-- 類別表 product_category
CREATE TABLE `product_category` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT "分類ID",
    `pid` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "父ID",
    `name` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "分類名稱",
    `desc` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "分類描述",
    `pic_url` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "分類圖片",
    `path` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "分類地址{pid}-{child_id}-...",
    `create_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建時間",
    `create_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建人staff_id",
    `update_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "更新時間",
    `update_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "修改人staff_id",
    `status` tinyint(1) unsigned NOT NULL DEFAULT "0" COMMENT "狀態(tài) 1:enable, 0:disable, -1:deleted",
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT="類別表";

-- spu表 product_spu
-- spu: standard product unit 標(biāo)準(zhǔn)產(chǎn)品單位
CREATE TABLE `product_spu` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT "SPU ID",
    `brand_id` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "品牌ID",
    `category_id` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "分類ID",
    `name` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "spu名稱",
    `desc` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "spu描述",
    `selling_point` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "賣點(diǎn)",
    `unit` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "spu單位",
    `banner_url` text COMMENT "banner圖片 多個圖片逗號分隔",
    `main_url` text COMMENT "商品介紹主圖 多個圖片逗號分隔",
    `price_fee` int unsigned NOT NULL DEFAULT 0 COMMENT "售價,整數(shù)方式保存",
    `price_scale` tinyint unsigned NOT NULL DEFAULT 0 COMMENT "售價,金額對應(yīng)的小數(shù)位數(shù)",
    `market_price_fee` int unsigned NOT NULL DEFAULT 0 COMMENT "市場價,整數(shù)方式保存",
    `market_price_scale` tinyint unsigned NOT NULL DEFAULT 0 COMMENT "市場價,金額對應(yīng)的小數(shù)位數(shù)",
    `create_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建時間",
    `create_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建人staff_id",
    `update_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "更新時間",
    `update_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "修改人staff_id",
    `status` tinyint(1) unsigned NOT NULL DEFAULT "0" COMMENT "狀態(tài) 1:enable, 0:disable, -1:deleted",
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT AUTO_INCREMENT=666666 CHARSET=utf8mb4 COMMENT="spu表";

-- sku表 product_sku
-- sku: stock keeping unit 庫存量單位
CREATE TABLE `product_sku` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT "SKU ID",
    `spu_id` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "SPU ID",
    `attrs` text COMMENT "銷售屬性值{attr_value_id}-{attr_value_id} 多個銷售屬性值逗號分隔",
    `banner_url` text COMMENT "banner圖片 多個圖片逗號分隔",
    `main_url` text COMMENT "商品介紹主圖 多個圖片逗號分隔",
    `price_fee` int unsigned NOT NULL DEFAULT 0 COMMENT "售價,整數(shù)方式保存",
    `price_scale` tinyint unsigned NOT NULL DEFAULT 0 COMMENT "售價,金額對應(yīng)的小數(shù)位數(shù)",
    `market_price_fee` int unsigned NOT NULL DEFAULT 0 COMMENT "市場價,整數(shù)方式保存",
    `market_price_scale` tinyint unsigned NOT NULL DEFAULT 0 COMMENT "市場價,金額對應(yīng)的小數(shù)位數(shù)",
    `create_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建時間",
    `create_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建人staff_id",
    `update_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "更新時間",
    `update_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "修改人staff_id",
    `status` tinyint(1) unsigned NOT NULL DEFAULT "0" COMMENT "狀態(tài) 1:enable, 0:disable, -1:deleted",
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT AUTO_INCREMENT=666666 CHARSET=utf8mb4 COMMENT="sku表";

-- 銷售屬性表 product_attr
CREATE TABLE `product_attr` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT "銷售屬性ID",
    `name` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "銷售屬性名稱",
    `desc` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "銷售屬性描述",
    `create_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建時間",
    `create_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建人staff_id",
    `update_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "更新時間",
    `update_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "修改人staff_id",
    `status` tinyint(1) unsigned NOT NULL DEFAULT "0" COMMENT "狀態(tài) 1:enable, 0:disable, -1:deleted",
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT="銷售屬性表";

-- 銷售屬性值 product_attr_value
CREATE TABLE `product_attr_value` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT "銷售屬性值ID",
    `attr_id` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "銷售屬性ID",
    `value` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "銷售屬性值",
    `desc` varchar(255) unsigned NOT NULL DEFAULT "" COMMENT "銷售屬性值描述",
    `create_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建時間",
    `create_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建人staff_id",
    `update_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "更新時間",
    `update_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "修改人staff_id",
    `status` tinyint(1) unsigned NOT NULL DEFAULT "0" COMMENT "狀態(tài) 1:enable, 0:disable, -1:deleted",
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT="銷售屬性值";

-- 關(guān)聯(lián)關(guān)系冗余表 product_spu_sku_attr_map
-- 1. spu下 有哪些sku
-- 2. spu下 有那些銷售屬性 
-- 3. spu下 每個銷售屬性對應(yīng)的銷售屬性值(一對多) 
-- 4. spu下 每個銷售屬性值對應(yīng)的sku(一對多)
CREATE TABLE `product_spu_sku_attr_map` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT "自增ID",
    `spu_id` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "SPU ID",
    `sku_id` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "SKU ID",
    `attr_id` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "銷售屬性ID",
    `attr_name` varchar(255) NOT NULL DEFAULT "0" COMMENT "銷售屬性名稱",
    `attr_value_id` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "銷售屬性值ID",
    `attr_value_name` varchar(255) NOT NULL DEFAULT "0" COMMENT "銷售屬性值",
    `create_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建時間",
    `create_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建人staff_id",
    `status` tinyint(1) unsigned NOT NULL DEFAULT "0" COMMENT "狀態(tài) 1:enable, 0:disable, -1:deleted",
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT="關(guān)聯(lián)關(guān)系冗余表";

-- sku庫存表 product_sku_stock
CREATE TABLE `product_sku_stock` (
    `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT "自增ID",
    `sku_id` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "SKU ID",
    `quantity` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "庫存",
    `create_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建時間",
    `create_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "創(chuàng)建人staff_id",
    `update_at` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "更新時間",
    `update_by` int(11) unsigned NOT NULL DEFAULT "0" COMMENT "修改人staff_id",
    `status` tinyint(1) unsigned NOT NULL DEFAULT "0" COMMENT "狀態(tài) 1:enable, 0:disable, -1:deleted",
    PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT="sku庫存表";
接口設(shè)計(jì)

關(guān)于接口設(shè)計(jì)目前很簡單,無非列表和詳情。但是這里我做了一個很好的設(shè)計(jì)動靜分離,例如庫存的動態(tài)的數(shù)據(jù),多帶帶提供接口,其他列表和詳情數(shù)據(jù)完全靜態(tài)化,把流量打到CDN去,這里又會說到我們下步計(jì)劃的基礎(chǔ)服務(wù)體系里的「靜態(tài)資源服務(wù)」,這個服務(wù)的主要功能就是把我們的接口數(shù)據(jù)靜態(tài)化。具體的V1.0版的接口設(shè)計(jì)如下:

1、spu詳情 GET {version}/product/spu/{spu_id}

請求參數(shù):

字段 類型 是否必傳 描述
spu_id number yes spu ID

響應(yīng)內(nèi)容:

{
    "code": "200",
    "msg": "OK",
    "result": {
        "brand_info": {
            "id": "number, 品牌ID",
            "name": "string, 品牌名稱",
            "desc": "string, 品牌描述",
            "logo_url": "string, 品牌logo圖片",
        },
        "category_info": {
            "id": "number, 分類ID",
            "name": "string, 品牌名稱",
            "desc": "string, 品牌描述",
            "pic_url": "string, 分類圖片",
            "path": "string, 分類地址{pid}-{child_id}-...",
        },
        "spu_info": {
            "id": "number, spu id",
            "name": "string, spu名稱",
            "desc": "string, spu描述",
            "selling_point": "string, 賣點(diǎn)",
            "unit": "string, spu單位",
            "banner_url": [
                "string, banner 圖片url",
                "string, banner 圖片url",
            ],
            "main_url": [
                "string, 商品介紹主圖 圖片url",
                "string, 商品介紹主圖 圖片url",
            ],
            "price": "string, 售價",
            "market_price": "string, 市場價",
            "attrs": [ // 有那些銷售屬性
                { 
                    "id": "銷售屬性ID",
                    "name": "string, 銷售屬性名稱",
                    "desc": "string, 銷售屬性描述",
                    "values": [ // 每個銷售屬性對應(yīng)的銷售屬性值(一對多) 
                        {
                            "id": "銷售屬性值ID",
                            "name": "string, 銷售屬性值",
                            "desc": "string, 銷售屬性值描述",
                            // 每個銷售屬性值對應(yīng)的sku(一對多) 
                            // 頁面初始化時,按鈕不可點(diǎn)擊邏輯判斷: 如果該銷售屬性值下所有sku沒有庫存,則該銷售屬性按鈕不可點(diǎn)擊
                            // 選擇銷售屬性值時,按鈕不可點(diǎn)擊邏輯判斷:銷售屬性構(gòu)成雙向鏈表,每個銷售屬性又是一個單向鏈表存改銷售屬性對應(yīng)的所有銷售屬性值。每當(dāng)選擇一個銷售屬性值時先前和后一個銷售屬性遍歷,執(zhí)銷售屬性值下所有sku售罄的按鈕不可點(diǎn)擊,且當(dāng)前銷售屬性值map記錄key為當(dāng)前點(diǎn)擊的銷售屬性值ID,值統(tǒng)一標(biāo)示一下就行,目的記錄是由于選擇了哪個銷售屬性值使得當(dāng)前的銷售屬性值為售罄狀態(tài)
                            // 取消選擇銷售屬性值時,按鈕不可點(diǎn)擊邏輯恢復(fù)判斷:數(shù)據(jù)結(jié)構(gòu)同上,遍歷,記錄的map刪除key為當(dāng)前取消選中的銷售屬性值,并判斷是否還有別的key使得該銷售屬性值為售罄狀態(tài),如果沒有則恢復(fù)未售罄狀態(tài)
                            "skus": [
                                "number, sku id",
                                "number, sku id",
                            ],
                        }
                    ],
                }
            ],
            "skus": [ // 有哪些sku
                "number, sku id",
                "number, sku id",
            ],
            "skus_map": {
                "{attr_value_id}-{attr_value_id}-...": "number, sku id",
                "{attr_value_id}-{attr_value_id}-...": "number, sku id",
                "{attr_value_id}-{attr_value_id}-...": "number, sku id",
                "{attr_value_id}-{attr_value_id}-...": "number, sku id",
                "{attr_value_id}-{attr_value_id}-...": "number, sku id",
                "{attr_value_id}-{attr_value_id}-...": "number, sku id",
            }
        }
    }
}

2、獲取spu下所有skus庫存 GET {version}/stock/spu/{spu_id}

請求參數(shù):

字段 類型 是否必傳 描述
spu_id number yes spu ID

響應(yīng)內(nèi)容:

{
    "code": "200",
    "msg": "OK",
    "result": {
            "skus_stock": {
                "int, sku id": {
                    "quantity": "int, 剩余庫存數(shù)量"
                }
            }
        }
    }
}

3、sku詳情 GET {version}/product/sku/{sku_id}

請求參數(shù):

字段 類型 是否必傳 描述
sku number yes sku ID

響應(yīng)內(nèi)容:

{
    "code": "200",
    "msg": "OK",
    "result": {
        "id": "number, sku id",
        "name": "string, sku名稱",
        "desc": "string, sku描述",
        "unit": "string, sku單位",
        "banner_url": [
            "string, banner 圖片url",
            "string, banner 圖片url",
        ],
        "main_url": [
            "string, 商品介紹主圖 圖片url",
            "string, 商品介紹主圖 圖片url",
        ],
        "price": "string, 售價",
        "market_price": "string, 市場價",
    }
}

4、spu列表 GET {version}/product/spu/list

請求參數(shù):

字段 類型 是否必傳 描述

響應(yīng)內(nèi)容:

{
    "code": "200",
    "msg": "OK",
    "result": {
        "list": [
            {
                "id": "number, spu id",
                "name": "string, spu名稱",
                "desc": "string, spu描述",
                "unit": "string, spu單位",
                "banner_url": [
                    "string, banner 圖片url",
                    "string, banner 圖片url",
                ],
                "price": "string, 售價",
                "market_price": "string, 市場價",
            }
        ]
    }
}
結(jié)語

最后,如果有寫的不對或者不完善的地方,希望大家多多評論,互相學(xué)習(xí)互相進(jìn)步~

項(xiàng)目地址: https://github.com/skr-shop/m...

下篇預(yù)告

下篇文章我們主要專注到基礎(chǔ)商品信息的前端交互設(shè)計(jì),比如Spu詳情頁面多銷售屬性的選擇如何聯(lián)動等,盡情期待。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/30057.html

相關(guān)文章

  • 電商系統(tǒng)設(shè)計(jì)商品[番外篇]

    摘要:前言這是電商系統(tǒng)設(shè)計(jì)系列在商品設(shè)計(jì)這塊的最后一篇文章。電商系統(tǒng)商品相關(guān)的文章已經(jīng)到了尾聲如果有其他商品相關(guān)的文章需要編寫可以私信聯(lián)系我畢竟我也是公司員工寫這些文章并不是我的工作,只是記錄我的職業(yè)生涯。 showImg(https://segmentfault.com/img/bVbePdh?w=1260&h=628); 前言 這是電商系統(tǒng)設(shè)計(jì)系列在商品設(shè)計(jì)這塊的最后一篇文章。以下是其他...

    crossoverJie 評論0 收藏0
  • 互聯(lián)網(wǎng)業(yè)務(wù)安全通用安全風(fēng)險模型

    摘要:驗(yàn)證碼安全參考信息重放登錄注冊找密等入口,可能通過短信驗(yàn)證碼郵箱驗(yàn)證碼之類的進(jìn)行確認(rèn)操作,如果末對操作進(jìn)行次數(shù)及頻率上的限制,則會產(chǎn)生大量的重放攻擊。高并發(fā)缺陷交易類重放攻擊,高并發(fā)的情況下末對用戶操作行為加鎖,導(dǎo)致購買限制的繞過。 showImg(https://segmentfault.com/img/bVBVVR); 業(yè)務(wù)安全從流程設(shè)計(jì)維度可劃分為賬戶體系安全、交易體系安全、支付...

    liaorio 評論0 收藏0
  • 電商系統(tǒng)設(shè)計(jì)購物車

    摘要:可擴(kuò)展性百度百科的定義是設(shè)計(jì)良好的代碼允許更多的功能在必要時可以被插入到適當(dāng)?shù)奈恢弥小UY徫镘嚿唐穬?yōu)惠券都是獨(dú)立的系統(tǒng)及功能,不要看做商品在購物車內(nèi)。可維護(hù)性百度百科的定義是系統(tǒng)的可維護(hù)性是衡量一個系統(tǒng)的可修復(fù)恢復(fù)性和可改進(jìn)性的難易程度。 showImg(https://segmentfault.com/img/bVbcqJE?w=506&h=326); 本章適合初級工程師及中級工程...

    TigerChain 評論0 收藏0
  • 電商系統(tǒng)設(shè)計(jì)用戶系統(tǒng)

    摘要:致謝感謝你們看到這里,下一篇我會講一下關(guān)于電商系統(tǒng)的商品設(shè)計(jì)的部分。 showImg(https://segmentfault.com/img/bVbclTs?w=500&h=329); 電商大伙每天都在用,類似某貓,某狗等。電商系統(tǒng)設(shè)計(jì)看似復(fù)雜又很簡單,看似簡單又很復(fù)雜本章適合初級工程師及中級工程師細(xì)看,大佬請隨意 前言 設(shè)計(jì)以以下為工具講起 PHP為開發(fā)語言 基于Laravel框...

    lindroid 評論0 收藏0
  • 基于深度學(xué)習(xí)的商品檢索技術(shù)

    摘要:當(dāng)前,很多學(xué)者和研究機(jī)構(gòu)都嘗試基于深度學(xué)習(xí)進(jìn)行服裝檢索技術(shù)的探究與創(chuàng)新。下文將回顧三篇基于深度學(xué)習(xí)來解決跨域服裝檢索問題的文章。總的來說,以上深度學(xué)習(xí)方法的探索與創(chuàng)新都將為商品檢索技術(shù)趨 摘要商品檢索是一門綜合了物體檢測、 圖像分類以及特征學(xué)習(xí)的技術(shù)。 近期, 很多研究者成功地將深度學(xué)習(xí)方法應(yīng)用到這個領(lǐng)域。 本文對這些方法進(jìn)行了總結(jié), 然后概括地提出了商品特征學(xué)習(xí)框架以及垂類數(shù)據(jù)挖掘方式, ...

    Half 評論0 收藏0

發(fā)表評論

0條評論

aboutU

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<