社區(qū)電商平臺的權(quán)限系統(tǒng)設(shè)計(jì)
最近在構(gòu)思對自家的社區(qū)電商平臺進(jìn)行重構(gòu),其中的大頭就是權(quán)限系統(tǒng),原有的權(quán)限體系已經(jīng)不能滿足需求了,所以根據(jù)客戶狀況及參考了其他一些大神的方案,對整個(gè)社區(qū)電商平臺的權(quán)限系統(tǒng)進(jìn)行了設(shè)計(jì)。
1. 用戶群劃分和業(yè)務(wù)介紹
用戶劃分
我們是做社區(qū)電商的,普通C端用戶就是最終端的消費(fèi)者。分銷客是由C端用戶“申請”成為,定位是社區(qū)或街道的“團(tuán)長”,當(dāng)所有用戶(包括平臺用戶與分銷客)通過分銷客的鏈接完成交易時(shí),分銷客就能獲得對應(yīng)的提成。
商家是商品的提供商,負(fù)責(zé)上傳SKU、處理訂單發(fā)貨、售后等。我們平臺主要面向社區(qū),上面的商品不完全是實(shí)體的商品,也有很多家政、洗車等服務(wù)。
代理商是一個(gè)特殊的角色,例如大區(qū)代理、省份代理、城市代理。他們幫平臺完成很多地區(qū)的落地、招商、運(yùn)營工作,某種程度上他們也是平臺的用戶,不過只能看到其對應(yīng)有權(quán)限的區(qū)域的商家商品、訂單信息。
商品客與商家、平臺、代理商的關(guān)系
當(dāng)一個(gè)用戶希望成為分銷客時(shí),我們平臺是需要用戶申請的,如果當(dāng)?shù)赜写砩?,則申請會(huì)流轉(zhuǎn)給代理商,由代理商根據(jù)用戶周邊情況決定。如果當(dāng)?shù)貨]有代理商,則由平臺進(jìn)行審核。而一個(gè)商品是否支持分銷,由商家和平臺/代理商共同決定。分銷的模式為分銷客可以開設(shè)自己的店鋪,然后將不同商家的商品添加到自己店鋪中,再分享給他人促成購買。
當(dāng)然,我們也在嘗試一些全民分銷的活動(dòng),尤其是在沒有代理商代理的地區(qū),讓普通用戶都可以嘗試將自己看好的商品分享給其他人,一旦促成購買,也有一定的獎(jiǎng)勵(lì)金。
2. 客戶端劃分
- C端:用戶和分銷商操作,主要載體是微信小程序、公眾號H5、我們的APP,支持注冊登錄下單支付等功能。
- B端:由商家及其員工操作,一個(gè)商家完成注冊后,可以設(shè)置多個(gè)員工賬號,擁有不同的權(quán)限,進(jìn)行上傳SKU、訂單發(fā)貨、售后服務(wù)、財(cái)務(wù)結(jié)算、優(yōu)惠促銷等操作。主要載體和電腦端網(wǎng)頁和手機(jī)H5網(wǎng)頁,其中手機(jī)H5網(wǎng)頁的功能是簡化后的,有些功能只能在電腦端操作。
- 平臺端:以電腦端網(wǎng)頁為主,并嘗試兼容在手機(jī)上查看數(shù)據(jù)。用戶為平臺運(yùn)營和代理商們。
代理層級我們就設(shè)置了兩級,之前其實(shí)我們就有一級代理商角色,現(xiàn)在是再增加了一級代理商??赡苡械呐笥褧?huì)問,那為什么不一步到位:洲際、國家、區(qū)域、省份、城市、區(qū)/縣、鎮(zhèn)/街道這樣分呢。主要原因就是我們體量有限、代理商并不多,過于復(fù)雜且靈活的體系,擔(dān)心一來會(huì)加重研發(fā)周期,二來會(huì)干擾運(yùn)營的操作體驗(yàn),所以最后就選擇了省-市兩級的代理。
3. 權(quán)限劃分
權(quán)限劃分是整個(gè)權(quán)限體系設(shè)計(jì)的最大困難點(diǎn),我們把權(quán)限分為了3種:
權(quán)限類型
(1)功能權(quán)限
可以訪問哪些板塊、操作哪些按鈕。
功能權(quán)限劃分
(2)數(shù)據(jù)權(quán)限
數(shù)據(jù)權(quán)限繼承
數(shù)據(jù)權(quán)限即該用戶可以訪問哪些數(shù)據(jù),例如一個(gè)用戶可以訪問商家管理板塊,同時(shí)他可以訪問廣東地區(qū)商家的數(shù)據(jù),那么綜合在一起,他就能在商家管理板塊看到廣東地區(qū)商家的數(shù)據(jù)了。
重要的數(shù)據(jù)包括:
- 商家資料;
- 商家訂單;
- 分銷訂單,比商家訂單多出了分銷者信息;
- 商品信息;
- 用戶資料;
- 分銷者資料,在用戶資料基礎(chǔ)上增加了一些實(shí)名信息、業(yè)績、余額等內(nèi)容;
- 商家員工資料;
- 代理商資料。
其他常見的數(shù)據(jù),但是我沒有體現(xiàn)在流程圖中的:
- 商家優(yōu)惠券;
- 平臺/代理商優(yōu)惠券;
- 活動(dòng)及報(bào)名信息;
- 廣告信息;
- 用戶行為數(shù)據(jù)(登錄、駐留時(shí)間、訪問頁面等)。
我們的代理商、分銷客都可以拉新,所以當(dāng)游客通過不同的鏈接注冊后,我們會(huì)給予分銷客一定的獎(jiǎng)勵(lì),對于代理商則有一定的手續(xù)費(fèi)返現(xiàn)。分銷客和代理商能查看到其拉新用戶的“資料摘要”,即簡化后的資料信息,我們并不會(huì)將一些敏感信息任由他們查看。
查看用戶資料的數(shù)據(jù)權(quán)限
平臺和代理商都可以招收分銷客、商家,分銷客和商家的數(shù)據(jù)權(quán)限秉承三個(gè)原則:
- 誰招收誰有權(quán)查看;
- 上級有權(quán)查看;
- 下級不自動(dòng)繼承權(quán)限,除非上級下放數(shù)據(jù)權(quán)限。
商家、分銷客的數(shù)據(jù)權(quán)限
(3)角色權(quán)限
用戶的權(quán)限由其所屬的角色決定,一個(gè)用戶可以關(guān)聯(lián)多個(gè)角色。
平臺的代理商及角色關(guān)系
如果一共用戶的角色是省級代理商,則可以訪問該代理商及其下屬市集代理商的所有數(shù)據(jù)。但是市級代理商只能訪問自己的數(shù)據(jù),無法訪問到其關(guān)聯(lián)的省級代理商的數(shù)據(jù)。代理商如果是平級或不平級、但是無關(guān)聯(lián),數(shù)據(jù)也不互通。
在實(shí)際應(yīng)用中可能會(huì)出現(xiàn)以下特殊場景:
原本一個(gè)市級代理商,現(xiàn)在要承包整個(gè)省的代理,如何處理?
如果這個(gè)市級代理是單獨(dú)存在的,我們提供了升級功能,這樣他下面就能掛載其他市級代理商了。如果這個(gè)市級代理原本屬于某個(gè)省級代理,那我們應(yīng)該先解綁,然后再升級。
如果一個(gè)大區(qū)被承包了如何處理?
我們現(xiàn)在并沒有這種場景,雖然不排除以后會(huì)有。我們現(xiàn)在遇到的場景是我們將不同的片區(qū)的代理商,分給不同的運(yùn)營和商務(wù)處理,這樣我們就為他們的賬號綁定了多個(gè)角色權(quán)限,這樣他們就能查看這個(gè)大區(qū)所有代理商的數(shù)據(jù)了。如果以后有華南區(qū)、華中區(qū)代理商的需求,我們再增加對應(yīng)層級。
代理商如果自己有更細(xì)的層級劃分如何處理?
我們提供接口權(quán)限級別的ERP對接業(yè)務(wù),代理商可以將自己的ERP與我們系統(tǒng)對接,打通訂單、商品、優(yōu)惠券、商家及用戶資料等數(shù)據(jù),由代理商的ERP系統(tǒng)對下級權(quán)限進(jìn)行細(xì)分。
4. 平臺用戶字段
平臺的用戶字段
這里以最復(fù)雜的平臺端的用戶來講解一下用戶、功能、數(shù)據(jù)、角色的關(guān)系,關(guān)于商家的員工字段將不再贅述。首先,超級管理員是系統(tǒng)自帶的,不能創(chuàng)建和修改權(quán)限,第一批用戶都由超級管理員創(chuàng)建,我們稱為“普通管理員賬號”,生產(chǎn)工作中都是使用此類賬號。
(1)用戶基本資料
登錄的賬號密碼、姓名、身份證號、聯(lián)系方式等信息。
賬號密碼、姓名、手機(jī)必填,姓名和手機(jī)可以幫助對應(yīng)賬號自行修改、找回密碼。
(2)功能權(quán)限
我們預(yù)設(shè)了一些功能角色,這樣不需要每創(chuàng)建一個(gè)用戶都要勾選一遍功能列表,這是一個(gè)很繁瑣的事情,同時(shí)我們也提供了功能角色的編輯板塊,讓平臺管理員可以根據(jù)實(shí)際情況新增一些預(yù)設(shè)角色。
對于代理商來說,預(yù)設(shè)的角色若是不滿足他們的需求,可以自定義他們的員工及合伙人可以使用的功能。代理商看到的功能列表里,只有當(dāng)前用戶所有的功能,只能從中進(jìn)行篩選,無法查看、無法勾選其沒有的權(quán)限的功能。
(3)數(shù)據(jù)權(quán)限與角色
我們并沒有單獨(dú)出一個(gè)版塊來設(shè)置訂單數(shù)據(jù)、商品數(shù)據(jù)之類的訪問權(quán)限,而是直接選擇該用戶的角色,是平臺還是某個(gè)或某幾個(gè)代理商。因?yàn)橹灰薅丝稍L問的板塊、用戶所屬角色,例如可以訪問商品管理板塊且你是一個(gè)地區(qū)代理,則你可以查看本地區(qū)所有的訂單數(shù)據(jù)。
沒有必要做成你可以訪問訂單管理板塊、你需要擁有訂單數(shù)據(jù)權(quán)限、你是地區(qū)代理身份,這樣設(shè)置三次的方法來確定權(quán)限。
數(shù)據(jù)權(quán)限說明
一個(gè)用戶若有創(chuàng)建用戶的功能權(quán)限,則可以創(chuàng)建角色小于等于自己所屬角色的用戶。例如平臺角色用戶可以創(chuàng)建更多的平臺角色用戶,也可以創(chuàng)建省級、市級代理用戶。一個(gè)省級代理可以為自己及其市級代理創(chuàng)建用戶,但是無法為其他省級代理、市級代理、平臺角色創(chuàng)建用戶。
5. 總結(jié)
作為一個(gè)社區(qū)電商平臺,這可能不是最完美的權(quán)限系統(tǒng)設(shè)計(jì)方式,但可能是比較適合我們當(dāng)前需求的方案。如何設(shè)計(jì)一套權(quán)限系統(tǒng)應(yīng)該由產(chǎn)品的業(yè)務(wù)特征決定,如果一個(gè)產(chǎn)品是完全自營的,就不會(huì)有代理商的概念;如果是傳統(tǒng)的線下零售轉(zhuǎn)線上,可能就要預(yù)設(shè)很多級的角色以滿足原有的組織架構(gòu)。
另外,一個(gè)權(quán)限系統(tǒng)也不是越復(fù)雜、顆粒度越高越好,有些權(quán)限系統(tǒng)將功能權(quán)限顆粒度細(xì)化到了每個(gè)接口,這樣“看似完美”的設(shè)計(jì),最大的優(yōu)勢其實(shí)是最容易實(shí)現(xiàn)。對于那些需要運(yùn)營進(jìn)行權(quán)限配置、甚至對外開放的系統(tǒng)而言,在實(shí)際操作過程中,由于業(yè)務(wù)是由接口組合實(shí)現(xiàn)的,就有了運(yùn)營看不懂該怎么配置,或某幾個(gè)業(yè)務(wù)是共用同一個(gè)接口。于是運(yùn)營進(jìn)行一些業(yè)務(wù)操作時(shí)沒問題,但是進(jìn)行另外一些業(yè)務(wù)操作時(shí)報(bào)錯(cuò)。
還有前文提到過的,一開始為何就不設(shè)計(jì)成多級甚至支持無限級的權(quán)限系統(tǒng)呢,畢竟研發(fā)也要成本,且用不上的層級可能也會(huì)帶來操作者的疑惑、增加學(xué)習(xí)和操作成本。
只有根據(jù)自己產(chǎn)品的使用場景需要、考慮使用者的用戶體驗(yàn),才能設(shè)計(jì)出好的權(quán)限系統(tǒng)。
本文由 @iCheer 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
你在你岳父岳母眼里你就是個(gè)廢物,吃軟飯的,不要臉,土狗想屁吃
作者有V交流?