tft每日頭條

 > 科技

 > saas開發技術要點

saas開發技術要點

科技 更新时间:2025-01-27 12:03:18

作者對SaaS系統的底層架構的設計進行了拆解并梳理了需求邏輯,供大家一同參考和學習。

saas開發技術要點(SAAS系統的底層架構設計)1

SaaS系統在建設過程中,因面向的用戶群體業務靈活性變化,許多同仁在做系統時,基于公司/市場等多方面壓力,往往在建設初期忽略最為重要的底層架構設計,将更多的視角精力投入至業務場景的支撐。

但是每當系統支撐需求到達一定階段的時候,才會将産品視角回顧至底層架構及公有業務模塊,這時基本面臨底層重構的窘境。(接下裡正應對那句:人在家中坐,鍋從天上來。經典語錄有多少同仁正在經曆/經曆過?)

在過往的SaaS系統架構設計中,個人看好基于OA協同辦公的工具型SaaS系統的架構模式。在參考了市面多項産品後,我花了2個月的時間去進行底層架構的設計。(多數的産品同仁觀念裡,這樣是不存在事情。開發和老闆會打死你!但是你要去用不要臉的精神去說服他們。)在經曆2個系統的開發過程及運行後,認證了這種設計方法的通用性。希望這種設計方法能夠獲得諸位同仁的認可,并且能在你們建設系統的過程中起到一定的案例參考作用。

整個底層功能結構的建設,個人入手時并沒有将用戶權限,人員管理,組織結構放到第一視角。而是意識到SAAS-軟件即服務的租戶觀念。整個系統的建設前提是滿足租戶使用的需求,解決租戶業務場景上的痛點。那麼第一視角是考慮租戶來了系統需要做什麼?)租戶怎麼來産品運營考慮的事兒。

為此将底層拆分了如下圖的功能類型,并且大緻說下需求邏輯。

saas開發技術要點(SAAS系統的底層架構設計)2

一、注冊環節

SaaS系統面向用戶注冊與傳統注冊策略區别在于,字段多用性,字段變化多發性。

例如:現在一款面向企業操作工具的租戶注冊。需要用戶輸入用戶名稱、手機号碼、圖形驗證碼、短信驗證碼、密碼及二次确認密碼等數據。那麼這些字段信息,在傳統系統中的運用,多在于查詢注冊用戶USER-ID相關數據,數據維度多以外鍵映射多張的數據表,不存在因其他數據表變化而影響該部分數據留存。

而基于租戶模式的SaaS系統中,上述數據作用不僅僅是用于傳統數據查詢,獲取。更多在于字段書多張業務數據表之間分離結耦,

二、低概率異常場景

因租戶注冊的手機号,可能會挂失/注銷,而影響整個操作系統的運用、(這種低概率業務事件,若系統底層設計時若未考慮進入,基于SaaS安全性承諾、我們是無法查詢租戶登錄密碼的)那麼為了避免該類實現發生,從産品維度,是否可以将租戶注冊的手機号當做賬号處理,将賬号植入密保手機概念。

租戶手機号碼不可登錄系統的時候,我們一則可以協助租戶更換密保手機。二則可以培養租戶對于系統靈活安全的平台意識。

三、租戶注冊功能需求明細說明
  • PC端賬号注冊,視為注冊租戶-【即根機構】-且視為注冊企業租戶的人員為admin角色。當且僅admin角色下僅有1人。
  • 移動端注冊時,不做根機構注冊,視為C端流量用戶流入企業系統。可被根機構邀請加入租戶,或者主動申請加入租戶。

注冊時,字段說明及注重邏輯事項明細如下:

1. 賬号

必填項、11位手機号碼、号段驗證。錯誤提示語【請輸入11位未注冊的手機号、】

(1)若點擊【确認注冊】校驗賬号已注冊、給與提示語【請輸入11位未注冊的手機号】提示語定時界面3s、自動隐藏【注:短信驗證碼費用由***網進行承擔】

(2)企業注冊的手機号做2類邏輯:

  1. 視作手機号為賬号;
  2. 視作手機号為聯系方式-以防注冊企業租戶的人員手機丢失,手機号注銷等不可控因素。

(3)且注冊的賬号允許以:賬号 密碼的形式進行登錄。且注冊的手機号允許視為聯系電話在(個人信息詳情頁-聯系電話)被更換,更換的時候需要提示為:該手機号為賬号密保手機,請确認是本人操作,并且輸入手機驗證碼。

2. 企業名

必填項、輸入企業名後,校驗該企業名是否已注冊,對應錯誤提示語:該企業已注冊,請換個企業名稱再注冊,提示語定時3s後自動隐藏。

注:企業名稱輸入後,該字段自動存儲至【企業信息-企業名稱中】、且系統左上角的名稱顯示注冊時輸入的名稱。

此字段邏輯為:

(1)注冊時,企業ID下的企業信息詳情表、該字段數據字段為insert動作,在企業信息中,編輯此字段名稱後,做updata。 除非注冊企業租戶的admin角色,申請注銷企業賬号,此時做邏輯删除。【以防企業人員誤操作。故在注冊時控制隻有admin角色下成員有此權限,且admin隻有1人,以此控制風險】

(2)企業注冊時,不做OCR營業執照認證,注冊進入之後,根據租戶的付費詳情,所開通的功能模塊,強制邀請企業營業執照認證,且認證時調用企信寶/天眼查做認證審核【企業認證審核的接口費用,由金柚網免費承擔】

3. 驗證碼

有效期60s,重複獲取間隔60s,輸入錯誤驗證碼,在輸入框提示:請輸入正确驗證,或請重新獲取驗證碼。

短信下發驗證碼模闆内容例如:金柚網歡迎你的加入,您的驗證碼為56554【6位】有效期為60s,請注意保密。

4. 密碼

6-20位任意純屬數字/純英文/數字英文組合【錯誤提示語:請輸入6-20位密碼】

密碼确認:兩次密碼輸入需一緻。若不一緻提示語【請保持2個密碼一緻】

5. 勾選【我同意服務條款】、未勾提示語

請勾選服務條款。點擊服務條款,則進入【服務條款詳情滾動頁】-注冊條款詳情頁,先由PM提供自造文件,後續由法務提供注冊服務條款明細協議。

6. 點擊确認注冊後,前端給與loding加載界面,此階段為向後台傳數據過程

加載過程中如遇【斷網、接口異常、服務器崩潰、、】不可控因素導緻注冊失敗。給與404報錯界面。–loding加載界面及404報錯界面,請UI自行設計/前端自行提供。

7. 服務協議條款展示

注冊企業租戶賬号後,進入添加團隊/申請加入團隊業務功能模塊。

前提:視為租戶申請加入其他根機構/創建根機構【出于業務角度考慮、當前租戶賬号加入的根機構 自主創建的根機構,不得超過6個,即檢測一個賬号是否屬于6個根機構範圍】

如圖:創建或加入根機構界面

通過點擊:創建團隊、進入創建團隊詳情操作頁面、如下圖

其中為注冊時所 使用的手機号碼,前端自行拉取,回填至輸入框即可。

團隊名稱為注冊時,所填寫的企業名稱即可。前端自行拉取。回填至輸入框即可

四、場景考慮

若租戶不想使用注冊時需要使用的手機号/租戶不方便使用該号碼。

用戶可點擊【*聯系電話】輸入框進行輸入新的手機号、用戶可點擊團隊名稱輸入新的團隊名稱。點擊創建團隊時。需要校驗如下内容。

1. 新輸入的手機号、是否已屬于6個團隊?

若不屬于:可被使用,并且将注冊時所使用的手機号,存儲在個人信息-聯系方式的字段,uodata成為新的手機号碼。觸發節點為創建團隊最後一步操作,即加載loding成功時做觸發。

若屬于:輸入框内,給與提示語【該手機号已加入6個團隊,請更換手機号】定時3s、自動隐藏,并且清空新輸入的手機号,輸入框内為待輸入狀态

且需校驗輸入的是否為11位手機号,如非手機号:提示語【請輸入11位正确手機号碼,定時1.5s、自動隐藏】

2. 輸入的團隊名稱是否已使用?

若使用:輸入框内給與提示語。【該團隊名稱已被使用,請換個團隊名稱試試、】定時3s、自動隐藏,并且清空新輸入的手機号,輸入框内為待輸入狀态

若未使用:原注冊時輸入的企業名稱,存儲在企業信息的-企業名稱做updata操作,觸發節點為創建團隊最後一步操作,即加載loding成功時做觸發。

3. 聯系方式及團隊名稱查詢觸發為輸入完畢,且換輸入框時觸發

如圖:點擊創建團隊,loding的加載界面及過程。

點擊【創建團隊】後進入創建加載頁面,加載過程中可能會遇到各種因素導緻創建失敗(例:此時服務器崩潰,等未知因素)若創建失敗,則跳轉至創建失敗提示頁面、創建失敗給與404報錯界面。

404界面固定報錯提示語:柚子君走丢了,請重新嘗試創建。此時數據中,個人信息-聯系電話 及企業信息-企業名稱字段做updata的操作。且記錄之前注冊時的電話及名稱。

創建後先給與當前頁面提示語[創建成功]定時1.5s,自動隐藏。隐藏後進入初始化團隊賬号頁面,現在暫時不做浮層指引教學。前端預留,此時數據庫記錄該賬号對應的企業ID。手機号對應的團隊名稱

注冊企業租戶賬号後,申請加入團隊業務功能模塊。

如圖:點擊申請加入團隊,進入該頁面。

輸入框内輸入用戶需要加入的根機構名稱。

場景:輸入的團隊名稱已加入場景下,給與錯誤提示語

輸入的團隊名稱系統内無名稱,給與錯誤提示語。且搜索無果的場景下

提示語内容為【沒有與您搜索項類似的團隊,您可以換個名稱試試】

點擊搜索,進入加載搜索loding,加載max5s,超時給與404報錯界面,

所搜結果呈現界面,如圖:

①結果呈現,以表單形式給與,表單最多顯示5行,排序無規則,以5個結果/頁進行翻頁處理。

表單字段:團隊名稱 團隊聯系人【即租戶個人中心-昵稱字段】

根機構搜索範圍:數據庫全局。搜索内容組合【包含字符串】

②點擊其中的某個團隊,申請加入,交互跳轉頁面。

備注輸入框長度限制:50文字、備注輸入,點擊确定按鈕,會向被加入的根機構admin發起一條消息:消息内容:【hr名稱】您好,【雇員姓名】于【申請加入時間】申請加入團隊,請處理。

五、找回密碼功能需求說明

賬号:11位手機号校驗【提示語:請輸入11位手機号,定時器3s,自動隐藏,】

若手機号未注冊【該手機号未注冊-定時器3s,自動隐藏】

驗證碼:有效期60s,重複獲取間隔60s,輸入錯誤驗證碼,在輸入框提示:請輸入正确驗證,或請重新獲取驗證碼。

短信下發驗證碼模闆内容例如:金柚網提示您,您找回密碼的驗證碼為565641【六位】驗證碼模闆配置時,設置有效期為5分鐘,防止用戶無聊,随意申請驗證碼,這樣會增加我們企業驗證碼的費用。

密碼:6-20位任意純屬數字/純英文/數字英文組合【錯誤提示語:請輸入6-20位密碼】

密碼确認:兩次密碼輸入需一緻。若不一緻提示語【請保持2個密碼一緻】

六、登錄需求說明文檔

賬号輸入:11位手機号,輸入錯誤提示語【請輸入11位已注冊的手機号】

密碼輸入錯誤提示語:輸入正确密碼

記住密碼時效為:7天,7天内登錄無需再次輸入密碼

登錄前需注意如下場景不可登錄系統:

  1. 賬号未經注冊—提示語:您暫未注冊賬号,請注冊後再登錄。【提示語定時1.5s、自動隐藏】
  2. 賬号被後台管理員拉黑–提示語:您暫時無法登錄系統賬戶,請聯系客服人員。客服電話為400-0000-000。【此号碼系統正式投入租戶開放時,換成真實人工客服電話/機器人電話、提示語為固定在登錄頁面。不做定時隐藏。】
  3. 賬号已注冊、但其賬号不是admin賬号。并且該賬号未啟用狀态。【您的賬号暫未啟用,請聯系企業管理員修改賬号狀态。–不顯示企業租戶管理員聯系方式。出于隐私維度考慮】
  4. 租戶/員工賬号被禁用。【您的賬号當前處于禁用狀态、請聯系管理員。固定在提示頁面,】
  5. 租戶/員工所屬角色被禁用。【您當前所屬的角色已被管理員禁用,請聯系管理員】
  6. 租戶/員工所在部門被禁用。【可登陸、進入系統後僅顯示菜單tab,右側提示語:您當前所在部門屬于停用狀态,請聯系系統管理員】

需要跳轉至選擇團隊頁面後,才能進入系統。

第三方掃碼登錄,可往後合理排至3/4期。做第三方登錄時、請架構師提前自行查詢對應各方平台的開放API。

第一次在平台上發布文章,沒寫好的地方歡迎諸位客官點評,文章對您有價值的話,點個贊呗(也可以用打賞來羞辱我)。下期文章《電子簽章通應性功能建設》

本文由 @最靓的仔 原創發布于人人都是産品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved