成人无码视频,亚洲精品久久久久av无码,午夜精品久久久久久毛片,亚洲 中文字幕 日韩 无码

資訊專欄INFORMATION COLUMN

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

aboutU / 1344人閱讀

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

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

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

需求分析

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

Spu和Sku的故事

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

接口設(shè)計

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

需求分析

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

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

商家是誰:電商平臺

擺放是什么意思:上架

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

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

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

...(暫不多說了)

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

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

我們需要一個「電商平臺」,電商平臺里面需要有個商品后臺系統(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ù)

整理之后得到如下的需求點:

需求點 功能點 項目命名 技術(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è)計

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


    

Spu和Sku的故事

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

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

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

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

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

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

所以最后簡單的商品表就拆成了spu表sku表,接著我們還抽象出來了可復(fù)用的銷售屬性表銷售屬性值表。除此之外
我們應(yīng)該還有品牌表、類別表、簡單的sku庫存表(目前簡單設(shè)計此表,后期具體業(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 "賣點",
    `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è)計

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

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, 賣點",
            "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(一對多) 
                            // 頁面初始化時,按鈕不可點擊邏輯判斷: 如果該銷售屬性值下所有sku沒有庫存,則該銷售屬性按鈕不可點擊
                            // 選擇銷售屬性值時,按鈕不可點擊邏輯判斷:銷售屬性構(gòu)成雙向鏈表,每個銷售屬性又是一個單向鏈表存改銷售屬性對應(yīng)的所有銷售屬性值。每當(dāng)選擇一個銷售屬性值時先前和后一個銷售屬性遍歷,執(zhí)銷售屬性值下所有sku售罄的按鈕不可點擊,且當(dāng)前銷售屬性值map記錄key為當(dāng)前點擊的銷售屬性值ID,值統(tǒng)一標(biāo)示一下就行,目的記錄是由于選擇了哪個銷售屬性值使得當(dāng)前的銷售屬性值為售罄狀態(tài)
                            // 取消選擇銷售屬性值時,按鈕不可點擊邏輯恢復(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)步~

項目地址: https://github.com/skr-shop/m...

下篇預(yù)告

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

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

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

相關(guān)文章

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

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

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

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

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

    摘要:可擴展性百度百科的定義是設(shè)計良好的代碼允許更多的功能在必要時可以被插入到適當(dāng)?shù)奈恢弥?。正常購物車商品?yōu)惠券都是獨立的系統(tǒng)及功能,不要看做商品在購物車內(nèi)??删S護(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è)計用戶系統(tǒng)

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

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

    摘要:當(dāng)前,很多學(xué)者和研究機構(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元查看
<