版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
軟件系統(tǒng)開(kāi)發(fā)服務(wù)項(xiàng)目詳細(xì)設(shè)計(jì)說(shuō)明書(shū)XXXX信息信息技術(shù)有限責(zé)任公司編寫(xiě)日期:2021年01月
一、引言1.1背景本文檔旨在概要設(shè)計(jì)說(shuō)明書(shū)、數(shù)據(jù)庫(kù)設(shè)計(jì)說(shuō)明書(shū)的基礎(chǔ)上,更加詳細(xì)的列出XX各模塊功能的詳細(xì)步驟與交匯邏輯,開(kāi)發(fā)、測(cè)試等人員能更加清楚的理解XX業(yè)務(wù)邏輯。1.2編寫(xiě)目的和范圍本說(shuō)明書(shū)主要目的是為開(kāi)發(fā)、測(cè)試等人員明確規(guī)定各模塊的輸入、輸出格式、請(qǐng)求方式、服務(wù)治理、錯(cuò)誤碼、異常處理規(guī)范等。1.3術(shù)語(yǔ)表序號(hào)術(shù)語(yǔ)或縮略語(yǔ)說(shuō)明性定義1PMProjectManager,項(xiàng)目經(jīng)理2路由中心Zuul或Gateway路由轉(zhuǎn)發(fā)3注冊(cè)中心Eureka注冊(cè)中心4管控端XXX管理控制端5APPXXXAPP6k8sKubernates1.4參考資料資料名稱(chēng)作者文件編號(hào)、版本資料存放地點(diǎn)軟件工程知識(shí)體系指南GB/Z31102-2014全國(guó)標(biāo)準(zhǔn)信息公共服務(wù)平臺(tái)1.5使用的文字處理和繪圖工具文字處理工具:WPS、vscode繪圖工具:PowerDesigner、ProcessOn、PhotoShop1.6設(shè)計(jì)概述1.6.1任務(wù)和目標(biāo)需求概述XXX平臺(tái)由APP端服務(wù)接口、管理控制端、文件中心、路由中心、注冊(cè)中心、定時(shí)任務(wù)、socket服務(wù)等7部分組成,其中APP端服務(wù)有:用戶(hù)中心、認(rèn)證中心、搜索中心、通用中心、積分中心、商城中心。各服務(wù)均支持集群模式,應(yīng)用程序只需要部署到新服務(wù)器即可,不需要額外的改動(dòng)。運(yùn)行環(huán)境概述本系統(tǒng)運(yùn)行在linux服務(wù)器上,不建議使用windows環(huán)境,因?yàn)閣indows服務(wù)器整體對(duì)文件句柄操作比較差,尤其是安全漏洞比較多。linux服務(wù)器采用的openssl也要注意版本問(wèn)題,有些版本的openssl漏洞非常嚴(yán)重,比如“心臟滴血”漏洞。條件與限制系統(tǒng)運(yùn)行在云服務(wù)器,因此想讓?xiě)?yīng)用擴(kuò)容集群部署的時(shí)候,操作比較重復(fù),例如:假設(shè)用戶(hù)中心服務(wù)現(xiàn)在負(fù)載比較高,想要再部署一套用戶(hù)中心加入集群,這時(shí)候就需要先開(kāi)一臺(tái)云服務(wù)器,并讓服務(wù)器都在同一個(gè)局域網(wǎng)環(huán)境,然后安裝java運(yùn)行環(huán)境,再部署用戶(hù)中心服務(wù)??梢?jiàn)整個(gè)服務(wù)部署過(guò)程存在大量的重復(fù)工作,響應(yīng)速度整體比較慢。詳細(xì)設(shè)計(jì)方法和工具系統(tǒng)設(shè)計(jì)采用HIPO圖方法,業(yè)務(wù)流程圖工具使用:PowerDesigner、XMind等。1.7系統(tǒng)詳細(xì)需求分析1.7.1詳細(xì)需求分析詳細(xì)功能需求分析.1系統(tǒng)用戶(hù)管理用戶(hù)列表:查詢(xún)篩選系統(tǒng)管理員。用戶(hù)編輯:修改管理員信息。用戶(hù)添加:添加管理員信息。停用/啟用:修改管理員狀態(tài)。.2部門(mén)管理部門(mén)列表:查詢(xún)部門(mén)列表。部門(mén)編輯:新增或者編輯部門(mén)、片區(qū)信息。部門(mén)刪除:刪除某個(gè)部門(mén)。.3角色管理角色列表:查詢(xún)角色信息集。角色編輯:新增或者編輯角色。角色刪除:刪除角色。.4權(quán)限管理角色列表查詢(xún):查詢(xún)角色列表。菜單分配:為角色分配菜單權(quán)限。.5意見(jiàn)反饋列表:查詢(xún)加載意見(jiàn)反饋列表。處理:管理員填寫(xiě)處理意見(jiàn),并向用戶(hù)發(fā)送推送通知。.6農(nóng)機(jī)書(shū)屋地區(qū)列表:加載農(nóng)家書(shū)屋地區(qū)樹(shù)形列表信息發(fā)布到移動(dòng)端:發(fā)布地區(qū)信息到移動(dòng)端,移動(dòng)端服務(wù)會(huì)更新最新的地區(qū)信息添加:添加新的地區(qū)信息,并同步到知網(wǎng)編輯:修改編輯地區(qū)信息,并同步修改知網(wǎng)刪除:刪除地區(qū)信息,并同步刪除知網(wǎng).7廣告位管理列表:查詢(xún)加載廣告位列表添加:添加新的廣告位編輯:編輯廣告位啟用/停用:修改廣告位狀態(tài),同步更新移動(dòng)端廣告位狀態(tài)詳情:查看廣告位詳情.8廣告發(fā)布管理列表:查詢(xún)加載廣告列表詳情:廣告發(fā)布編輯,同步更新到移動(dòng)端.9服務(wù)監(jiān)測(cè)服務(wù)列表:接入socket會(huì)話(huà),實(shí)時(shí)收發(fā)服務(wù)信息服務(wù)故障更新:接受socket推送的服務(wù)故障,動(dòng)態(tài)更新指定服務(wù)的故障標(biāo)識(shí)、故障時(shí)間.10通知公告管理通知公告列表:查詢(xún)篩選加載公告列表發(fā)布公告:填寫(xiě)公告詳情內(nèi)容,發(fā)布后推送通知消息到客戶(hù)端公告撤回:對(duì)已發(fā)布的公告撤回,客戶(hù)端再看不到該公告預(yù)覽:預(yù)覽查看公告詳情內(nèi)容.11APP用戶(hù)管理注冊(cè)用戶(hù):查詢(xún)加載XXX用戶(hù)列表黑名單:查詢(xún)加載XXX用戶(hù)列表,并對(duì)用戶(hù)進(jìn)行黑/白名單操作啟動(dòng)頁(yè):APP啟動(dòng)頁(yè)圖片設(shè)置引導(dǎo)頁(yè):APP引導(dǎo)頁(yè)圖片添加、刪除版本更新:查詢(xún)加載APP歷史版本列表、發(fā)布新的版本、修改版本信息.12首頁(yè)應(yīng)用管理應(yīng)用列表:加載應(yīng)用信息添加應(yīng)用:添加新的應(yīng)用編輯應(yīng)用:修改應(yīng)用信息刪除應(yīng)用:刪除停用的應(yīng)用應(yīng)用分配:為指定的應(yīng)用分配用戶(hù),分配權(quán)限后的用戶(hù)才可以在首頁(yè)看到快捷應(yīng)用.13綜合面板用戶(hù)總數(shù):截止當(dāng)前時(shí)間,XXX平臺(tái)中總共注冊(cè)的用戶(hù)總數(shù)實(shí)名用戶(hù)數(shù):當(dāng)日XXX平臺(tái)實(shí)名的用戶(hù)總數(shù)月活用戶(hù)數(shù):本月登錄過(guò)APP的用戶(hù)總數(shù)日活用戶(hù):當(dāng)日登錄過(guò)APP的用戶(hù)總數(shù)裝機(jī)數(shù):截止當(dāng)前時(shí)間,下載安裝,并打開(kāi)過(guò)APP的總次數(shù)今日注冊(cè)用戶(hù)地域分布:當(dāng)日總共有某個(gè)地區(qū)總共有多少注冊(cè)用戶(hù),以柱狀圖展示快捷應(yīng)用入口:當(dāng)前登錄人查詢(xún)分配給自己的快捷應(yīng)用實(shí)名用戶(hù)分析:指定時(shí)間范圍內(nèi)的實(shí)名用戶(hù)總數(shù),以折線(xiàn)圖的形式展示.14積分商城管理分類(lèi)管理:分類(lèi)列表、新增修改分類(lèi)信息商品管理:查詢(xún)篩選商品列表、添加修改商品詳情、商品狀態(tài)更改廣告位推薦:查詢(xún)加載廣告位列表、新增修改推薦信息、下架推薦訂單管理:查詢(xún)篩選加載訂單列表、查看訂單詳情,并對(duì)不同狀態(tài)的訂單進(jìn)行處理商品推薦:查詢(xún)加載正在推薦中的商品,新增或下架商品、查看商品詳情公告管理:查詢(xún)加載廣告列表,新增、編輯、刪除公告.15活躍用戶(hù)統(tǒng)計(jì)本日、本周、本月活躍用戶(hù)統(tǒng)計(jì),并按照指定條件篩選,以柱狀圖的形式展示活躍詳情查看:查看本日、本月、本周各地區(qū)活躍詳情,以列表的形式展示轉(zhuǎn)化率:當(dāng)日或當(dāng)月各地區(qū)裝機(jī)數(shù)與注冊(cè)用戶(hù)間的轉(zhuǎn)化率,篩選條件:省、時(shí)間在線(xiàn)時(shí)長(zhǎng):查詢(xún)某地區(qū)當(dāng)日或當(dāng)月各時(shí)間段的用戶(hù)活躍時(shí)長(zhǎng),時(shí)間段:小于等于20分鐘、大于20分鐘小于等于30分鐘、大于30分鐘小于等于60分鐘、大于60分鐘小于等于90分鐘、大于90分鐘。APP安裝分析:查詢(xún)指定地區(qū)的安卓、蘋(píng)果的下載裝機(jī)數(shù),分別以餅狀圖、列表的形式展示。.16綜合統(tǒng)計(jì)流量統(tǒng)計(jì):查詢(xún)指定時(shí)間段內(nèi),不同網(wǎng)絡(luò)環(huán)境下上行、下行流量匯總月活用戶(hù):查詢(xún)指定時(shí)間段內(nèi),登錄過(guò)APP的用戶(hù)列表用戶(hù)日志:查詢(xún)管理用戶(hù)對(duì)管控端的增、刪、改等敏感操作的記錄日志,方便回溯定位用戶(hù)活躍時(shí)長(zhǎng):統(tǒng)計(jì)實(shí)名認(rèn)證后的某地區(qū)用戶(hù)平均在線(xiàn)時(shí)長(zhǎng),以柱狀圖的形式展示年度用戶(hù)注冊(cè)量:查詢(xún)某個(gè)地區(qū)指定年份內(nèi),各月份的注冊(cè)用戶(hù)總數(shù)省市用戶(hù)量:查詢(xún)各地區(qū)累計(jì)注冊(cè)用戶(hù)總數(shù),以柱狀圖形式展示用戶(hù)信息匯總:查詢(xún)各地區(qū),用戶(hù)總數(shù),以及占用戶(hù)總數(shù)比例用戶(hù)明細(xì)信息:查詢(xún)篩選不同條件下XXX平臺(tái)內(nèi)的用戶(hù)列表,可以導(dǎo)出至EXCEL.17APP用戶(hù)注冊(cè)手機(jī)號(hào)注冊(cè)、微信注冊(cè)手機(jī)號(hào)登錄、微信登錄忘記密碼.18APP意見(jiàn)反饋查詢(xún)意見(jiàn)反饋列表、新增意見(jiàn)反饋、意見(jiàn)反饋詳情查看.19文件上傳文件上傳我們采用阿里云OOS,文件服務(wù)不參與springcloud體系.20APP通知公告查詢(xún)加載通知公告列表、通知公告詳情查看.21APP驗(yàn)證碼輸入手機(jī)號(hào),發(fā)送驗(yàn)證到用戶(hù)手機(jī).22APP流量統(tǒng)計(jì)當(dāng)前設(shè)備不同網(wǎng)絡(luò)環(huán)境下的上行、下行流量統(tǒng)計(jì).23用戶(hù)中心用戶(hù)詳細(xì)信息查詢(xún)當(dāng)前登錄賬號(hào)密碼修改當(dāng)前登錄賬號(hào)的推薦人信息查詢(xún)當(dāng)前登錄賬號(hào)頭像修改實(shí)名認(rèn)證,當(dāng)前實(shí)名認(rèn)證與農(nóng)家書(shū)屋設(shè)計(jì)在一起了,因此修改實(shí)名認(rèn)證信息前,需要驗(yàn)證該用戶(hù)是否借過(guò)書(shū),用戶(hù)借書(shū)未還,那么禁止修改實(shí)名認(rèn)證信息.24APP通用查詢(xún)APP導(dǎo)航菜單查詢(xún)APP異常日志上報(bào)APP便民服務(wù)列表APP廣告查詢(xún)APP流量上報(bào)APP版本更新APP裝機(jī)數(shù)上報(bào)APP農(nóng)家書(shū)屋地區(qū)信息查詢(xún)APP我的收藏查詢(xún)APP我的足跡查詢(xún)APP我的下載查詢(xún)APP我的收藏刪除APP我的下載刪除APP首頁(yè)搜索.25積分第三方積分新增第三方積分查詢(xún)APP用戶(hù)個(gè)人積分查詢(xún).26認(rèn)證中心ticket票據(jù)獲取access_token獲取用戶(hù)信息查詢(xún)access_token有效時(shí)長(zhǎng)更新詳細(xì)性能需求分析APP屬于互聯(lián)網(wǎng)產(chǎn)品,隨著業(yè)務(wù)的發(fā)展,可能會(huì)有相當(dāng)高的QPS、TPS等,理論上XXX平臺(tái)各服務(wù)可以應(yīng)對(duì)大量請(qǐng)求,但需要結(jié)合實(shí)際,通過(guò)服務(wù)集群、優(yōu)化網(wǎng)絡(luò)環(huán)境、數(shù)據(jù)庫(kù)主從、緩存服務(wù)器集群等措施來(lái)提高吞吐量。平臺(tái)內(nèi)各應(yīng)用被拆分為了微服務(wù),比如用戶(hù)中心只要條件允許,可以部署在N臺(tái)服務(wù)器上,因此實(shí)際應(yīng)用吞吐量要結(jié)合當(dāng)前的服務(wù)器硬件環(huán)境、當(dāng)前平臺(tái)內(nèi)活躍用戶(hù)量來(lái)實(shí)時(shí)調(diào)整,不能一概而論。平臺(tái)的建設(shè)屬于硬件+軟件的工程體系范疇,單獨(dú)強(qiáng)調(diào)一個(gè)應(yīng)用的負(fù)載或性能,是不科學(xué)的。應(yīng)用服務(wù)器、數(shù)據(jù)庫(kù)服務(wù)器、公網(wǎng)環(huán)境、內(nèi)網(wǎng)環(huán)境、緩存服務(wù)器均正常的情況下,接口請(qǐng)求均在200毫秒內(nèi)。詳細(xì)資源需求分析XXX應(yīng)用需要的資源可根據(jù)業(yè)務(wù)發(fā)展實(shí)時(shí)調(diào)整,我們建議數(shù)據(jù)庫(kù)服務(wù)器采用主從模式、緩存服務(wù)器采用集群模式;應(yīng)用服務(wù)器磁盤(pán)采SSD硬盤(pán),HHD硬盤(pán)讀寫(xiě)速度比較慢;16核32G以上較妥。詳細(xì)系統(tǒng)運(yùn)行環(huán)境及限制條件分析項(xiàng)目環(huán)境說(shuō)明服務(wù)器centos7.8+最低配置:8核16G數(shù)據(jù)庫(kù)mysql5.7.30主從模式緩存redis5.0+單節(jié)點(diǎn)也可以javaopenjdk1.8web路由Openresty注冊(cè)中心zookeeper3.6.1磁盤(pán)SSD盤(pán)應(yīng)用服務(wù)器很少存儲(chǔ)重要數(shù)據(jù),可以使用SSD盤(pán)1.7.2總體方案確認(rèn)XXX平臺(tái)采用springcloud架構(gòu)體系,針對(duì)不同的功能微服務(wù)化;結(jié)合各功能場(chǎng)景,加入緩存,降低對(duì)數(shù)據(jù)庫(kù)的穿透;功能微服務(wù)化后,微服務(wù)間的調(diào)用需要加入容錯(cuò)與服務(wù)降級(jí)。1.7.3系統(tǒng)總體結(jié)構(gòu)確認(rèn)系統(tǒng)組成、邏輯結(jié)構(gòu)及層次確認(rèn)系統(tǒng)由應(yīng)用系統(tǒng)、數(shù)據(jù)庫(kù)系統(tǒng)、緩存系統(tǒng)三部分組成。應(yīng)用系統(tǒng)結(jié)構(gòu)確認(rèn)本系統(tǒng)由權(quán)限認(rèn)證、日志處理、緩存監(jiān)聽(tīng)、業(yè)務(wù)處理、socket會(huì)話(huà)、定時(shí)任務(wù)等組成。支撐系統(tǒng)結(jié)構(gòu)確認(rèn)系統(tǒng)集成確認(rèn)本系統(tǒng)采用微服務(wù)架構(gòu),當(dāng)啟動(dòng)應(yīng)用后,服務(wù)會(huì)自動(dòng)注入到注冊(cè)中心,路由中心配置該系統(tǒng)的訪(fǎng)問(wèn)URL后,web端、app端就可以訪(fǎng)問(wèn)本系統(tǒng)。系統(tǒng)工作流程確認(rèn)1.7.4系統(tǒng)詳細(xì)界面劃分應(yīng)用系統(tǒng)與支撐系統(tǒng)的詳細(xì)界面劃分各應(yīng)用在開(kāi)發(fā)過(guò)程中,開(kāi)發(fā)人員需要結(jié)合緩存思想,在一些查詢(xún)比較頻繁,且具備共同屬性的接口上,采用本地緩存+redis緩存+Mysql數(shù)據(jù)庫(kù)。其中本地緩存的更新,建議采用發(fā)布訂閱的模式(可以借助Redis、rocketmq、kafka等中間件),客戶(hù)端收到消息后,主動(dòng)去更新緩存。總而言之,總得思想就是:本地緩存>Redis緩存>Mysql數(shù)據(jù)庫(kù)。Redis消息可以采用pub/sub模式,也可以采用streams模式消費(fèi),XXX平臺(tái)中采用pub/sub模式。本平臺(tái)中,輕量級(jí)可丟失的消息,均采用redis的pub/sub消息;比較重要的消息,則采用專(zhuān)門(mén)的消息中間件:rocketmq全局參數(shù)存儲(chǔ)在數(shù)據(jù)庫(kù)、redis緩存、本地緩存。應(yīng)用系統(tǒng)、支撐系統(tǒng)系統(tǒng)內(nèi)部詳細(xì)界面劃分無(wú)1.8全局?jǐn)?shù)據(jù)結(jié)構(gòu)說(shuō)明全局?jǐn)?shù)據(jù)常量常量中文名稱(chēng)常量英文名稱(chēng)項(xiàng)目名稱(chēng)PROJECT_NAME訂閱主鍵PROJECT_PUB全局變量變量中文名稱(chēng)變量英文名稱(chēng)TOKEN時(shí)間tokenExpire短信驗(yàn)證碼有效時(shí)長(zhǎng)smsExpiresocket服務(wù)地址socketDomain文件域名地址fileDomain釘釘PC端登錄重定向地址PCDomain1.8.1常量常量文件名稱(chēng):ProjectInfo常量文件所在目錄:功能:在做緩存、日志的時(shí)候用來(lái)標(biāo)識(shí)所屬項(xiàng)目1.8.2變量本系統(tǒng)中變量見(jiàn)上文全局變量。1.8.3數(shù)據(jù)結(jié)構(gòu)平臺(tái)中常量是預(yù)先規(guī)定好的,因此不存在數(shù)據(jù)結(jié)構(gòu);全局變量在數(shù)據(jù)庫(kù)中采用JSON格式存儲(chǔ),使用的時(shí)候需要將其解析成數(shù)據(jù)對(duì)象。數(shù)據(jù)表結(jié)構(gòu):屬性名類(lèi)型備注idbigint主鍵contentjsonjson格式的全局變量add_timetimestamp存儲(chǔ)時(shí)間據(jù)對(duì)象結(jié)構(gòu):屬性名稱(chēng)類(lèi)型備注tokenExpirelongtoken過(guò)期時(shí)間,單位:秒smsExpirelong短信碼過(guò)期時(shí)間,單位:秒socketDomainstringsocket服務(wù)地址:fileDomainstring文件服務(wù)地址:1.9系統(tǒng)詳細(xì)設(shè)計(jì)
1.9.1功能結(jié)構(gòu)圖1.9.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì)及子系統(tǒng)劃分XXX服務(wù):用戶(hù)中心、商城中心、積分中心、認(rèn)證中心、綜合搜索中心、通用服務(wù)、管控端、文件中心、路由中心、注冊(cè)中心、定時(shí)任務(wù)、健康監(jiān)測(cè)中心。1.9.3系統(tǒng)功能模塊詳細(xì)設(shè)計(jì)用戶(hù)中心:用戶(hù)注冊(cè):用戶(hù)下載APP后注冊(cè)應(yīng)用。第三方注冊(cè):微信openId與手機(jī)號(hào)綁定注冊(cè)。手機(jī)號(hào)注冊(cè):填寫(xiě)手機(jī)號(hào)、密碼、短信驗(yàn)證碼、邀請(qǐng)碼等信息注冊(cè)。用戶(hù)登錄:用戶(hù)登錄APP。手機(jī)號(hào)登錄:輸入手機(jī)號(hào)、密碼后,登錄成功返回token等基本信息。第三方登錄:點(diǎn)擊微信快捷登錄,登錄成功返回token等基本信息。我的:基本資料:查詢(xún)登錄用戶(hù)基本資料信息、基本資料信息修改。我的下載:查詢(xún)用戶(hù)下載過(guò)的圖書(shū)、視頻等;用戶(hù)可以選擇刪除下載記錄。我的邀請(qǐng):查詢(xún)當(dāng)前登錄人的邀請(qǐng)碼、邀請(qǐng)人員等。我的收藏:查詢(xún)當(dāng)前登錄人收藏過(guò)的看書(shū)、視頻等信息,用戶(hù)可以選擇刪除某條記錄。我的積分:查詢(xún)當(dāng)前登錄人的可用積分、已消費(fèi)積分、積分明細(xì)等。瀏覽記錄:查詢(xún)當(dāng)前登錄人看過(guò)的圖書(shū)、視頻等信息。便民服務(wù):查詢(xún)平臺(tái)提供的便民應(yīng)用。意見(jiàn)反饋:當(dāng)前登錄人填寫(xiě)提交意見(jiàn)或建議等,并可以查看過(guò)往的提交歷史與平臺(tái)的處理反饋。通知公告:查看所有通知消息列表及詳情通用服務(wù):APP基本信息。廣告?zhèn)?。流量上?bào)。版本更新。認(rèn)證中心:第三方應(yīng)用通過(guò)應(yīng)用編碼、用戶(hù)編號(hào)獲取ticket。第三方應(yīng)用通過(guò)應(yīng)用編碼、用戶(hù)編號(hào)、ticket獲取access_token。第三方應(yīng)用通過(guò)access_token獲取用戶(hù)基本信息。積分中心:第三方應(yīng)用新增積分。第三方應(yīng)用查詢(xún)用戶(hù)總積分。管控端:廣告管理系統(tǒng)管理服務(wù)監(jiān)測(cè)APP用戶(hù)管理通知公告統(tǒng)計(jì)用戶(hù)時(shí)長(zhǎng)統(tǒng)計(jì)積分商城首頁(yè)應(yīng)用便民服務(wù)定時(shí)任務(wù):定時(shí)任務(wù)采用elastic-job,任務(wù)本身支持集群運(yùn)行,當(dāng)某個(gè)任務(wù)存在多個(gè)執(zhí)行節(jié)點(diǎn)時(shí),任務(wù)會(huì)自動(dòng)選擇其中的一個(gè)執(zhí)行。定時(shí)任務(wù)依賴(lài)于zookeeper,定時(shí)任務(wù)的執(zhí)行時(shí)間如果要修改,需要進(jìn)入zookeeper客戶(hù)端,將原來(lái)的執(zhí)行參數(shù)刪除,然后重新年啟動(dòng)定時(shí)任務(wù)。socket會(huì)話(huà)中心APP需要接入socket會(huì)話(huà),socket服務(wù)端僅需要接入socket客戶(hù)端即可,不需要操作數(shù)據(jù)庫(kù),盡量提高服務(wù)端處理性能,而其他業(yè)務(wù)的處理可以通過(guò)消息訂閱的方式,交付其他專(zhuān)門(mén)的應(yīng)用處理。例如:用戶(hù)登錄時(shí)長(zhǎng),socket服務(wù)端只需要定時(shí)將其所擁有的客戶(hù)端連接信息推送到消息通道即可,定時(shí)任務(wù)收到消息后會(huì)自行分析處理用戶(hù)的登錄時(shí)長(zhǎng)等。1.9.4系統(tǒng)界面詳細(xì)設(shè)計(jì)外部界面設(shè)計(jì)無(wú)內(nèi)部界面設(shè)計(jì)用戶(hù)界面設(shè)計(jì)APP端界面參見(jiàn):APP管控端界面參見(jiàn):1.10發(fā)和測(cè)試生產(chǎn)環(huán)境說(shuō)明1.10.1開(kāi)發(fā)環(huán)境jdk1.8、mysql5.7.30、node、openresty、nginx、rocketmq、elk、idea2019、redis、windows+centos7.6、docker1.10.2測(cè)試及產(chǎn)品環(huán)境jdk1.8、mysql5.7.30、node、openresty、rocketmq、zookeeper3.6.1、elk、redis5.0+、centos7.6+、docker1.11模塊設(shè)計(jì)1.11.1功能設(shè)計(jì)說(shuō)明本文檔需要的數(shù)據(jù)結(jié)構(gòu)詳情參見(jiàn):數(shù)據(jù)庫(kù)設(shè)計(jì)-XXXAPPAPP各功能模塊所有的接口請(qǐng)求參數(shù)、響應(yīng)參數(shù)等。.1APP用戶(hù)注冊(cè).1設(shè)計(jì)圖詳見(jiàn)APP.1.2功能描述用戶(hù)下載APP后注冊(cè)APP,注冊(cè)分兩種:手機(jī)號(hào)、密碼、邀請(qǐng)碼、驗(yàn)證碼手機(jī)號(hào)、驗(yàn)證碼、微信openid.1.3輸入數(shù)據(jù)手機(jī)號(hào)注冊(cè)需要參數(shù):微信注冊(cè)需要參數(shù):.1.4輸出數(shù)據(jù)服務(wù)器響應(yīng)數(shù)據(jù)格式也是JSON格式,如:.1.5業(yè)務(wù)算法和流程手機(jī)號(hào)注冊(cè),需要判斷該手機(jī)號(hào)是否已經(jīng)注冊(cè)過(guò),需要基于數(shù)據(jù)庫(kù)、業(yè)務(wù)程序2層面多手機(jī)號(hào)的唯一認(rèn)證,防止一個(gè)手機(jī)號(hào)多次注冊(cè)。微信注冊(cè),需要先判斷微信openid是否已經(jīng)存在,已經(jīng)存在則轉(zhuǎn)為自動(dòng)登錄。注冊(cè)需要短信驗(yàn)證碼,驗(yàn)證碼需要設(shè)置過(guò)期時(shí)間。.2APP用戶(hù)登錄.2.1設(shè)計(jì)圖詳見(jiàn)APP.2.2功能描述用戶(hù)輸入手機(jī)號(hào)密碼或者點(diǎn)擊微信登錄XXX應(yīng)用。.2.3輸入數(shù)據(jù)用戶(hù)輸入手機(jī)號(hào)、密碼數(shù)據(jù)格式:JSON校驗(yàn)規(guī)則:手機(jī)號(hào)最多輸入11位.2.4輸出數(shù)據(jù).2.5業(yè)務(wù)算法和流程用戶(hù)登錄信息緩存在token中,token有效期為2小時(shí),app每次請(qǐng)求接口都需要更新token時(shí)長(zhǎng)。每日登錄需要贈(zèng)送積分給用戶(hù),當(dāng)日登錄多次只贈(zèng)送一次積分給用戶(hù)。APP每次登錄均需要保存登錄日志。.3APP導(dǎo)航菜單.3.1設(shè)計(jì)圖無(wú).3.2功能描述該功能接口返回APP導(dǎo)航菜單、文件域名、socket域名、引導(dǎo)頁(yè)、導(dǎo)航頁(yè)等基本參數(shù)。.3.3輸入數(shù)據(jù)無(wú).3.4輸出數(shù)據(jù)APP基本信息.3.5業(yè)務(wù)算法和流程無(wú).4APP心跳.4.1設(shè)計(jì)圖無(wú).4.2功能描述APP打開(kāi)后,會(huì)啟動(dòng)socket會(huì)話(huà),與服務(wù)器保持長(zhǎng)連接,維持會(huì)話(huà)信息。基于該功能可以統(tǒng)計(jì)用戶(hù)在線(xiàn)時(shí)長(zhǎng)、活躍信息等。.4.3輸入數(shù)據(jù)以下只以javascript作為使用示例,IOS、ANDROID可做參考。需要參數(shù)如下:province:省,app位置權(quán)限如果沒(méi)有開(kāi)啟,傳空字符。city:市,app位置權(quán)限如果沒(méi)有開(kāi)啟,傳空字符。xian:縣,app位置權(quán)限如果沒(méi)有開(kāi)啟,傳空字符。userId:如果用戶(hù)登錄了,傳用戶(hù)編號(hào);如果用戶(hù)沒(méi)有登錄,傳設(shè)備唯一編號(hào)。IOS、ANDROID需要保證每臺(tái)設(shè)備的唯一編號(hào)不重復(fù)。time:當(dāng)前時(shí)間戳userTime:身份認(rèn)證,算法=MD5(time+userId).4.4輸出數(shù)據(jù)無(wú).4.5業(yè)務(wù)算法和流程socket服務(wù)端需要定時(shí)將用戶(hù)的在線(xiàn)時(shí)長(zhǎng)更新到數(shù)據(jù)庫(kù);當(dāng)斷開(kāi)連接后,需要將本次登錄的會(huì)話(huà)時(shí)長(zhǎng)信息保存到日志表中。.5APP找回密碼.5.1設(shè)計(jì)圖詳見(jiàn)APP找回密碼界面.5.2功能描述用戶(hù)在忘記登錄密碼的時(shí)候,通過(guò)該功能來(lái)設(shè)置新的登錄密碼。.5.3輸入數(shù)據(jù).5.4輸出數(shù)據(jù)一下只是接口返回參數(shù),APP端需要將其可視化展示提示信息給用戶(hù)。.5.5業(yè)務(wù)算法和流程判斷該手機(jī)號(hào)是否在平臺(tái)內(nèi)注冊(cè).6APP通知公告列表.6.1設(shè)計(jì)圖詳見(jiàn)APP.6.2功能描述APP端查看平臺(tái)發(fā)布的通知公告列表.6.3輸入數(shù)據(jù)無(wú).6.4輸出數(shù)據(jù).6.5業(yè)務(wù)算法和流程無(wú).7APP個(gè)人中心-基本資料.7.1設(shè)計(jì)圖詳見(jiàn)APP.7.2功能描述登錄用戶(hù)查詢(xún)自己的基本信息資料.7.3輸入數(shù)據(jù)token.7.4輸出數(shù)據(jù).7.5業(yè)務(wù)算法和流程無(wú).8APP個(gè)人中心-我的足跡.8.1設(shè)計(jì)圖詳見(jiàn)APP.8.2功能描述登錄人查詢(xún)自己看過(guò)的書(shū)、視頻等。.8.3輸入數(shù)據(jù)顯示條數(shù):limit查詢(xún)起始頁(yè):start查詢(xún)類(lèi)型:type,1-看書(shū)2-聽(tīng)書(shū)3-學(xué)習(xí)4-少兒5-影視6-大喇叭參數(shù)以u(píng)rl的形式傳給后臺(tái)接口服務(wù)。.8.4輸出數(shù)據(jù).8.5業(yè)務(wù)算法和流程我的足跡包括知網(wǎng)、四達(dá)影視的數(shù)據(jù),因此需要根據(jù)type值去調(diào)用具體的接口,然后對(duì)返回?cái)?shù)據(jù)統(tǒng)一封裝處理后返回給前端。.9APP個(gè)人中心-我的收藏設(shè)計(jì)圖詳見(jiàn)APP功能描述該功能接口查詢(xún)用戶(hù)收藏的書(shū)籍、影視等信息。輸入數(shù)據(jù)顯示條數(shù):limit查詢(xún)起始頁(yè):start輸出數(shù)據(jù)業(yè)務(wù)算法和流程無(wú).1APP用戶(hù)中心-我的下載.1.1設(shè)計(jì)圖詳見(jiàn)APP.1.2功能描述登錄用戶(hù)查詢(xún)下載過(guò)的書(shū)籍、影視等信息。.1.3輸入數(shù)據(jù)顯示條數(shù):limit查詢(xún)起始頁(yè):start查詢(xún)類(lèi)型:type,1-看書(shū)2-聽(tīng)書(shū)3-學(xué)習(xí)4-少兒5-影視6-大喇叭.1.4輸出數(shù)據(jù).1.5業(yè)務(wù)算法和流程對(duì)知網(wǎng)、四達(dá)返回的數(shù)據(jù)統(tǒng)一封裝處理,然后返回給前端。.2APP首頁(yè)搜索.2.1設(shè)計(jì)圖詳見(jiàn)APP.2.2功能描述用戶(hù)輸入關(guān)鍵字后,搜索相應(yīng)的圖書(shū)、影視,統(tǒng)一封裝處理后返回給前端。.2.3輸入數(shù)據(jù)limit:顯示條數(shù)start:頁(yè)碼search:搜索關(guān)鍵字type:1-看書(shū)2-聽(tīng)書(shū)3-學(xué)習(xí)4-少兒5-影視6-大喇叭.2.4輸出數(shù)據(jù).2.5業(yè)務(wù)算法和流程將知網(wǎng)、四達(dá)接口返回的數(shù)據(jù)統(tǒng)一封裝處理后,返回給前端。.3APP用戶(hù)中心實(shí)名認(rèn)證.3.1設(shè)計(jì)圖詳見(jiàn)APP.3.2功能描述用戶(hù)點(diǎn)擊實(shí)名認(rèn)證,輸入身份證、姓名等信息后,點(diǎn)擊確認(rèn)按鈕完成實(shí)名認(rèn)證。.3.3輸入數(shù)據(jù).3.4輸出數(shù)據(jù).3.5業(yè)務(wù)算法和流程實(shí)名認(rèn)證調(diào)用第三方服務(wù)接口校驗(yàn)用戶(hù)姓名與身份證號(hào)是否統(tǒng)一。實(shí)名認(rèn)證信息修改前,需要先確認(rèn)當(dāng)前登錄用戶(hù)是否存在待還的書(shū)籍,如果存在,那么禁止修改,并提示用戶(hù)去還書(shū)。.4APP流量統(tǒng)計(jì).4.1設(shè)計(jì)圖詳見(jiàn)APP.4.2功能描述該功能返回當(dāng)前設(shè)備的不同網(wǎng)絡(luò)環(huán)境下的上行、下行流量數(shù)據(jù)。.4.3輸入數(shù)據(jù)device:設(shè)備號(hào)type:中國(guó)移動(dòng),中國(guó)電信,中國(guó)聯(lián)通,WIFI.4.4輸出數(shù)據(jù).4.5業(yè)務(wù)算法和流程前端在返回?cái)?shù)據(jù)后,需要對(duì)流量進(jìn)行轉(zhuǎn)化,顯示MB。.5APP意見(jiàn)反饋.5.1設(shè)計(jì)圖詳見(jiàn)APP.5.2功能描述查詢(xún)當(dāng)前登錄人的過(guò)往意見(jiàn)、查看某條意見(jiàn)的處理詳情。.5.3輸入數(shù)據(jù)請(qǐng)求頭中加入token
.5.4輸出數(shù)據(jù).5.5業(yè)務(wù)算法和流程無(wú).6APP廣告位.6.1設(shè)計(jì)圖詳見(jiàn)APP.6.2功能描述查詢(xún)廣告列表信息。.6.3輸入數(shù)據(jù)no:廣告編號(hào).6.4輸出數(shù)據(jù).6.5業(yè)務(wù)算法和流程從本地緩存中查詢(xún)從緩存庫(kù)中查詢(xún)從數(shù)據(jù)庫(kù)中查詢(xún).7APP流量上報(bào).7.1設(shè)計(jì)圖詳見(jiàn)APP.7.2功能描述APP定時(shí)上報(bào)不同網(wǎng)絡(luò)環(huán)境下的上行、下行流給平臺(tái),方便用戶(hù)查看最近7天的流量使用情況。
.7.3輸入數(shù)據(jù).7.4輸出數(shù)據(jù).7.5業(yè)務(wù)算法和流程無(wú).8APP便民服務(wù).8.1設(shè)計(jì)圖詳見(jiàn)APP.8.2功能描述該功能查詢(xún)管控端發(fā)布的便民應(yīng)用,APP作為快捷入口,為用戶(hù)提供更加豐富的體驗(yàn)。.8.3輸入數(shù)據(jù)無(wú).8.4輸出數(shù)據(jù).8.5業(yè)務(wù)算法和流程無(wú).9APP版本更新.9.1設(shè)計(jì)圖無(wú).9.2功能描述管控端發(fā)布新的app版本后,用戶(hù)打開(kāi)APP后更新最新的版本。.9.3輸入數(shù)據(jù)app_type:0-安卓1-ios.9.4輸出數(shù)據(jù).9.5業(yè)務(wù)算法和流程無(wú).1055認(rèn)證中心ticket.10.1設(shè)計(jì)圖無(wú).10.2功能描述知網(wǎng)、四達(dá)等應(yīng)用通過(guò)ticket獲取access_token。.10.3輸入數(shù)據(jù).10.4輸出數(shù)據(jù).10.5業(yè)務(wù)算法和流程認(rèn)證中心需要校驗(yàn)用戶(hù)編號(hào)、應(yīng)用編碼、應(yīng)用簽名等信息是否一致。ticket有效時(shí)長(zhǎng)2小時(shí)。.11認(rèn)證中心access_token.11.1設(shè)計(jì)圖無(wú).11.2功能描述知網(wǎng)、四達(dá)通過(guò)用戶(hù)編號(hào)、ticket、應(yīng)用編碼獲取access_token。.11.3輸入數(shù)據(jù).11.4輸出數(shù)據(jù).11.5業(yè)務(wù)算法和流程校驗(yàn)用戶(hù)編號(hào)、應(yīng)用編碼、ticket等信息是否一致。獲取到access_token后,刪除認(rèn)證服務(wù)器上的ticket。access_token有效時(shí)長(zhǎng)為2小時(shí)。.12認(rèn)證中心用戶(hù)信息查詢(xún).12.1設(shè)計(jì)圖無(wú).12.2功能描述知網(wǎng)、四達(dá)等應(yīng)用通過(guò)access_token去查詢(xún)用戶(hù)的詳細(xì)信息,用戶(hù)詳細(xì)信息在認(rèn)證中心做了緩存,實(shí)際使用中根據(jù)業(yè)務(wù)發(fā)展與知網(wǎng)、四達(dá)反饋,調(diào)整用戶(hù)緩存信息的必要性。.12.3輸入數(shù)據(jù)access_token.12.4輸出數(shù)據(jù)用戶(hù)基本信息:.12.5業(yè)務(wù)算法和流程無(wú).13積分添加.13.1設(shè)計(jì)圖無(wú).13.2功能描述XXX平臺(tái)根據(jù)對(duì)應(yīng)規(guī)則,向用戶(hù)贈(zèng)送積分,如:看書(shū)10分鐘以上,贈(zèng)送1積分。知網(wǎng)、四達(dá)調(diào)用該接口來(lái)向滿(mǎn)足條件的用戶(hù)贈(zèng)送積分。.13.3輸入數(shù)據(jù).13.4輸出數(shù)據(jù).13.5業(yè)務(wù)算法和流程積分贈(zèng)送有較為詳細(xì)的規(guī)則,開(kāi)發(fā)過(guò)程中需要嚴(yán)格遵循規(guī)則,避免多次贈(zèng)送積分導(dǎo)致平臺(tái)方損失。詳情參見(jiàn)積分規(guī)則文檔。.14積分查詢(xún).14.1設(shè)計(jì)圖無(wú).14.2功能描述該功能用于向第三方服務(wù)返回用戶(hù)總積分。.14.3輸入數(shù)據(jù)無(wú).14.4輸出數(shù)據(jù).14.5業(yè)務(wù)算法和流程無(wú)XXX管控端.1廣告位管理.1.1設(shè)計(jì)圖.1.2功能描述查詢(xún)管理系統(tǒng)中的廣告位,針對(duì)不同類(lèi)型的廣告位定制化編輯。.1.3輸入數(shù)據(jù).1.4輸出數(shù)據(jù)廣告位置數(shù)據(jù)。.1.5業(yè)務(wù)算法和流程廣告位編輯時(shí)候,結(jié)合緩存,采用Redis發(fā)布訂閱模式模式,同步向APP端更新。例如:當(dāng)管理員新增一個(gè)廣告位的時(shí)候,向數(shù)據(jù)庫(kù)保存成功的同時(shí),在向Redis發(fā)送消息,APP端監(jiān)聽(tīng)到該類(lèi)型的消息后,會(huì)自動(dòng)更新APP本地緩存中的廣告。.2廣告管理.2.1設(shè)計(jì)圖.2.2功能描述管理員維護(hù)管理廣告信息,廣告類(lèi)型有3種,分別為:原生:APP端點(diǎn)擊廣告的時(shí)候,觸發(fā)調(diào)用APP原生應(yīng)用。H5:APP端點(diǎn)擊廣告的時(shí)候,跳轉(zhuǎn)到相關(guān)網(wǎng)頁(yè)。其它:無(wú)事件,APP端點(diǎn)擊廣告沒(méi)有反應(yīng),不觸發(fā)任何響應(yīng)事件。.2.3輸入數(shù)據(jù).2.4輸出數(shù)據(jù)廣告列表信息。.2.5業(yè)務(wù)算法和流程管理員點(diǎn)擊保存后,廣告信息在向數(shù)據(jù)庫(kù)保存后,再同步更新Redis緩存中的廣告,同時(shí)向APP端服務(wù)發(fā)送Redis訂閱消息,APP端服務(wù)接收到消息后,會(huì)自動(dòng)更新本地緩存中的廣告。廣告存儲(chǔ)形式:本地緩存>Redis緩存>MySql數(shù)據(jù)庫(kù)。.3系統(tǒng)用戶(hù)管理.3.1設(shè)計(jì)圖.3.2功能描述XXX管控端中的管理用戶(hù)的維護(hù)編輯功能。.3.3輸入數(shù)據(jù)用戶(hù)姓名,手機(jī)號(hào)等。.3.4輸出數(shù)據(jù)管理員.3.5業(yè)務(wù)算法和流程校驗(yàn)該手機(jī)號(hào)是否已經(jīng)添加在平臺(tái)中,本平臺(tái)中,用戶(hù)只能擁有一個(gè)部門(mén)、一個(gè)角色。.4系統(tǒng)角色管理.4.1設(shè)計(jì)圖.4.2功能描述管理維護(hù)用戶(hù)角色。其中,當(dāng)某個(gè)角色被分配給某個(gè)人的時(shí)候,該角色是禁止刪除的。.4.3輸入數(shù)據(jù)角色名稱(chēng)、角色I(xiàn)D。.4.4輸出數(shù)據(jù)角色信息。.4.5業(yè)務(wù)算法和流程無(wú)。.5系統(tǒng)部門(mén)管理.5.1設(shè)計(jì)圖.5.2功能描述維護(hù)管理系統(tǒng)中的部門(mén)信息,當(dāng)要?jiǎng)h除某個(gè)部門(mén)的時(shí)候,需要判斷該部門(mén)是否已經(jīng)被分配給某個(gè)用戶(hù),如果已分配,那么禁止刪除。.5.3輸入數(shù)據(jù)部門(mén)名稱(chēng)、部門(mén)ID。.5.4輸出數(shù)據(jù)部門(mén)信息。.5.5業(yè)務(wù)算法和流程部門(mén)存在樹(shù)形關(guān)系,部門(mén)的父級(jí)ID不能是該部門(mén)的ID,不然程序會(huì)進(jìn)入死循環(huán)。.6農(nóng)家書(shū)屋.6.1設(shè)計(jì)圖.6.2功能描述維護(hù)管理農(nóng)家書(shū)屋的地區(qū)信息。.6.3輸入數(shù)據(jù)地區(qū)名稱(chēng)、ID、父級(jí)ID。.6.4輸出數(shù)據(jù)地區(qū)信息。.6.5業(yè)務(wù)算法和流程當(dāng)管理員點(diǎn)擊保存的時(shí)候,先向本地?cái)?shù)據(jù)庫(kù)保存,然后調(diào)用知網(wǎng)的接口,向知網(wǎng)的數(shù)據(jù)庫(kù)也推送本數(shù)據(jù),如果知網(wǎng)一方調(diào)用失敗,那么整個(gè)數(shù)據(jù)需要事務(wù)回滾,并提示管理員:保存失敗。當(dāng)刪除某個(gè)地區(qū)的時(shí)候,同時(shí)要調(diào)用知網(wǎng)的刪除接口,如果知網(wǎng)一方調(diào)用失敗,事務(wù)回滾。APP端服務(wù)的農(nóng)家書(shū)屋地區(qū)信息是從APP端本地緩存中取的,因此管理員在管控段維護(hù)完信息后,需要通知(點(diǎn)擊發(fā)布到移動(dòng)端按鈕)APP端服務(wù)去更新本地緩存。.7權(quán)限管理.7.1設(shè)計(jì)圖.7.2功能描述向管控端管理用戶(hù)授予菜單權(quán)限。.7.3輸入數(shù)據(jù)角色I(xiàn)D、菜單ID。.7.4輸出數(shù)據(jù)授權(quán)信息。.7.5業(yè)務(wù)算法和流程當(dāng)管理員點(diǎn)擊保存按鈕的時(shí)候,后臺(tái)服務(wù)需要先刪除該角色原來(lái)的菜單,然后再保存該角色新的菜單。.8意見(jiàn)反饋處理.8.1設(shè)計(jì)圖.8.2功能描述處理APP端用戶(hù)在使用過(guò)程中發(fā)現(xiàn)的問(wèn)題。.8.3輸入數(shù)據(jù)意見(jiàn)反饋ID。.8.4輸出數(shù)據(jù)無(wú).8.5業(yè)務(wù)算法和流程管理員點(diǎn)擊處理某條意見(jiàn)反饋的時(shí)候,需要同步向該用戶(hù)發(fā)送處理意見(jiàn)的推送消息,用戶(hù)會(huì)在A(yíng)PP端收到該消息的處理通知。.9服務(wù)監(jiān)測(cè).9.1設(shè)計(jì)圖.9.2功能描述該功能實(shí)時(shí)監(jiān)聽(tīng)微服務(wù)的健康信息,運(yùn)維管理人員看到后會(huì)處理后續(xù)。.9.3輸入數(shù)據(jù)無(wú)。.9.4輸出數(shù)據(jù)無(wú)。.9.5業(yè)務(wù)算法和流程該服務(wù)接口采用socket,服務(wù)端監(jiān)測(cè)到新的客戶(hù)端進(jìn)入后,發(fā)送所有的微服務(wù)信息給客戶(hù)端,在本次會(huì)話(huà)過(guò)程中,服務(wù)端只會(huì)主動(dòng)推送某個(gè)故障服務(wù)的消息,不會(huì)再推送所有服務(wù)消息。.10通知公告.10.1設(shè)計(jì)圖.10.2功能描述管理維護(hù)通知公告.10.3輸入數(shù)據(jù)公告ID、公告標(biāo)題、公告內(nèi)容、定時(shí)發(fā)送等。.10.4輸出數(shù)據(jù)公告。.10.5業(yè)務(wù)算法和流程公告通知分為實(shí)時(shí)與定時(shí),定時(shí)的公告在發(fā)送時(shí),預(yù)設(shè)定發(fā)送時(shí)間。發(fā)送后,APP端會(huì)接收到推送通知。.11便民服務(wù).11.1設(shè)計(jì)圖.11.2功能描述管理維護(hù)便民服務(wù)應(yīng)用信息。.11.3輸入數(shù)據(jù)應(yīng)用ID、應(yīng)用名稱(chēng)、應(yīng)用圖標(biāo)、應(yīng)用類(lèi)型。.11.4輸出數(shù)據(jù)便民服務(wù)應(yīng)用.11.5業(yè)務(wù)算法和流程管理員點(diǎn)擊保存按鈕后,便民服務(wù)向數(shù)據(jù)庫(kù)保存,然后再向Redis緩存庫(kù)保存,再發(fā)送Redis訂閱消息,通知APP端服務(wù)更新本地的緩存庫(kù)。便民服務(wù)存儲(chǔ)形式:本地緩存庫(kù)>Redis緩存庫(kù)>Mysql數(shù)據(jù)庫(kù)。.12應(yīng)用管理.12.1設(shè)計(jì)圖.12.2功能描述管理維護(hù)第三方應(yīng)用快捷入口。.12.3輸入數(shù)據(jù)應(yīng)用ID、應(yīng)用圖標(biāo)、應(yīng)用名稱(chēng)、跳轉(zhuǎn)類(lèi)型、排序等。.12.4輸出數(shù)據(jù)無(wú).12.5業(yè)務(wù)算法和流程應(yīng)用的分配,以json的形式存儲(chǔ),如果某個(gè)應(yīng)用擁有多個(gè)用戶(hù),那么以json數(shù)組的形式存儲(chǔ)。.13APP注冊(cè)用戶(hù).13.1設(shè)計(jì)圖.13.2功能描述查詢(xún)平臺(tái)中已經(jīng)注冊(cè)的APP用戶(hù)。.13.3輸入數(shù)據(jù)手機(jī)號(hào)、身份證號(hào)、頁(yè)數(shù)、顯示數(shù)。.13.4輸出數(shù)據(jù)APP用戶(hù)。.13.4業(yè)務(wù)算法和流程導(dǎo)入用戶(hù)的時(shí)候,需要通過(guò)手機(jī)號(hào)判斷該用戶(hù)是否已經(jīng)注冊(cè)過(guò),同時(shí)需要標(biāo)識(shí)該用戶(hù)是導(dǎo)入進(jìn)來(lái)的,不是注冊(cè)。.14黑名單.14.1設(shè)計(jì)圖.14.2功能描述管理員對(duì)平臺(tái)中的APP用戶(hù)管理,開(kāi)放或禁用其登錄APP的權(quán)限。.14.3輸入數(shù)據(jù)用戶(hù)ID。.14.4輸出數(shù)據(jù)無(wú).14.5業(yè)務(wù)算法和流程當(dāng)管理員將某個(gè)用戶(hù)禁用后,需要去緩存庫(kù)中查詢(xún)?cè)撚脩?hù)當(dāng)前是否在登錄狀態(tài),如果已登錄,那么需要?jiǎng)h除其登錄信息,該用戶(hù)后續(xù)操作APP時(shí),會(huì)自動(dòng)退出登錄。.15啟動(dòng)頁(yè).15.1設(shè)計(jì)圖.15.2功能描述管理員設(shè)置APP啟動(dòng)時(shí)的引導(dǎo)頁(yè)。.15.3輸入數(shù)據(jù)圖片地址。.15.4輸出數(shù)據(jù)無(wú).15.5業(yè)務(wù)算法和流程當(dāng)管理員上傳圖片后,該圖片在向本地?cái)?shù)據(jù)庫(kù)保存后,再保存到Redis緩存庫(kù)中。APP端從緩存庫(kù)中查詢(xún)。.16引導(dǎo)頁(yè).16.1設(shè)計(jì)圖.16.2功能描述管理員維護(hù)管理平臺(tái)中的引導(dǎo)頁(yè)。.16.3輸入數(shù)據(jù)圖片地址數(shù)組。.16.4輸出數(shù)據(jù)無(wú)。.16.5業(yè)務(wù)算法和流程當(dāng)管理員上傳圖片后,圖片先保存到Mysql數(shù)據(jù)庫(kù),然后保存到Redis緩存庫(kù)。圖片在Redis緩存庫(kù)中已list的形式存儲(chǔ)。APP端從Redis緩存庫(kù)中查詢(xún)。.17版本庫(kù).17.1設(shè)計(jì)圖.17.2功能描述管理員維護(hù)APP版本信息。.17.3輸入數(shù)據(jù)版本ID、版本號(hào)、版本文件地址、更新內(nèi)容。.17.4輸出數(shù)據(jù)無(wú)。.17.5業(yè)務(wù)算法和流程版本信息保存在Mysql數(shù)據(jù)庫(kù)的時(shí)候,同時(shí)保存在Redis緩存庫(kù)。最新版本的記錄只允許有一個(gè)。APP端從Redis緩存庫(kù)中查詢(xún)最新的版本。2.12接口設(shè)計(jì)接口設(shè)計(jì)時(shí)候,需要考慮接口支持的請(qǐng)求方式,目前本平臺(tái)中僅支持:GET、POST兩種。其中POST方式的請(qǐng)求參數(shù)以JSON格式,將請(qǐng)求數(shù)據(jù)放在body中;GET方式參數(shù)請(qǐng)求以URL傳參形式。2.12.1內(nèi)部接口無(wú)2.12.2全局參數(shù)查詢(xún)接口接口說(shuō)明請(qǐng)求地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)類(lèi)型:URLCURL調(diào)用示例:2.12.3全局參數(shù)修改接口接口說(shuō)明請(qǐng)求地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)類(lèi)型:JSONCURL調(diào)用示例:2.12.4廣告位查詢(xún)接口接口說(shuō)明請(qǐng)求地址:調(diào)用方式請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:json傳參CURL調(diào)用示例:2.12.5廣告位編輯接口接口說(shuō)明請(qǐng)求地址:調(diào)用方式請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參CURL調(diào)用示例:2.12.6廣告位狀態(tài)修改接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參CURL調(diào)用示例:2.12.7廣告位編輯接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參CURL調(diào)用示例:2.12.8系統(tǒng)用戶(hù)查詢(xún)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSONCURL調(diào)用示例:2.12.9編輯系統(tǒng)用戶(hù)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參CURL調(diào)用示例:2.12.10添加系統(tǒng)用戶(hù)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSONCURL調(diào)用示例:2.12.11角色編輯接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSONCURL調(diào)用示例:2.12.12角色刪除接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參CURL調(diào)用示例:2.12.13部門(mén)查詢(xún)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參CURL調(diào)用示例:2.12.14部門(mén)新增接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參CURL調(diào)用示例:2.12.15部門(mén)修改接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參CURL調(diào)用示例:2.12.16部門(mén)刪除接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參CURL調(diào)用示例:2.12.17菜單分配接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參CURL調(diào)用示例:2.12.18登錄用戶(hù)查詢(xún)菜單接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參CURL調(diào)用示例:2.12.19查詢(xún)角色菜單接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參CURL調(diào)用示例:2.12.20意見(jiàn)反饋查詢(xún)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參CURL調(diào)用示例:2.12.21意見(jiàn)反饋處理接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.22農(nóng)家書(shū)屋地區(qū)查詢(xún)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參CURL調(diào)用示例:2.12.23農(nóng)家書(shū)屋編輯接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參CURL調(diào)用示例:2.12.24農(nóng)家書(shū)屋地區(qū)刪除接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.25黑名單接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.26新增啟動(dòng)頁(yè)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.27查看啟動(dòng)頁(yè)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參CURL調(diào)用示例:2.12.28編輯引導(dǎo)頁(yè)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.29查看引導(dǎo)頁(yè)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參CURL調(diào)用示例:2.12.30版本列表頁(yè)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參CURL調(diào)用示例:2.12.31編輯版本接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參CURL調(diào)用示例:2.12.32刪除版本接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.33查看版本詳情接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參CURL調(diào)用示例:2.12.34通知公告編輯接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參CURL調(diào)用示例:2.12.35通知公告列表接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參CURL調(diào)用示例:2.12.36通知公告刪除接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參CURL調(diào)用示例:2.12.37通知公告發(fā)布接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參CURL調(diào)用示例:2.12.38商品列表接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參CURL調(diào)用示例:2.12.39廣告位下架接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:URL傳參2.12.40商品推薦下架接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:URL傳參2.12.41商品推薦接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:URL傳參2.12.42查看商品詳情接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:URL傳參2.12.43保存商品接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.44保存廣告位接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.45上傳公告查詢(xún)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.46保存商城公告接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.47刪除商城廣告接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參CURL調(diào)用示例:2.12.48商品訂單列表接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.49商品訂單詳情接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.50訂單處理接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.51便民服務(wù)列表接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.52新增便民服務(wù)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.53修改便民服務(wù)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.54民服務(wù)狀態(tài)更改接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.55刪除便民服務(wù)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.56APP登錄接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.57APP注冊(cè)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.58短信驗(yàn)證碼發(fā)送接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.59APP新增意見(jiàn)反饋接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.60APP意見(jiàn)反饋列表接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.61APP意見(jiàn)反饋詳情接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.62APP流量查詢(xún)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.63APP個(gè)人資料詳情接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.64APP我的推薦接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.65APP修改密碼接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.66APP忘記密碼接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.67APP便民服務(wù)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.68APP廣告接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.69APP異常日志上報(bào)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.70APP職業(yè)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.71APP流量上報(bào)接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.72APP通知公告列表接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.73APP通知公告詳情接口接口說(shuō)明接口地址:接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.74APP首頁(yè)搜索接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.75APP我的收藏接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.76APP我的收藏刪除接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:POST接口請(qǐng)求參數(shù)方式:JSON傳參2.12.77APP我的足跡接口接口說(shuō)明接口地址:調(diào)用方式接口請(qǐng)求方式:GET接口請(qǐng)求參數(shù)方式:URL傳參2.12.78APP我的下載接口接口說(shuō)明接口地址:調(diào)用方
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)內(nèi)部創(chuàng)意作品的商業(yè)化管理
- 企業(yè)員工的安全意識(shí)提升以安全標(biāo)志和救援器材為切入點(diǎn)
- 兒童心理健康的飲食療法探索
- 體育場(chǎng)館的智能停車(chē)系統(tǒng)設(shè)計(jì)與運(yùn)營(yíng)模式研究
- 以人為本的家庭教育實(shí)踐與思考
- 互動(dòng)式實(shí)驗(yàn)教學(xué)在小學(xué)課堂中的應(yīng)用與效果評(píng)估
- 以家庭為單位的職場(chǎng)競(jìng)爭(zhēng)力培養(yǎng)研究
- 神經(jīng)源膀胱的康復(fù)護(hù)理
- 企業(yè)報(bào)告中數(shù)據(jù)分析的重要性及呈現(xiàn)方式
- 培養(yǎng)小學(xué)生的體育與健康的學(xué)科核心素養(yǎng)-以花樣跳繩為例
- 醫(yī)院與陪護(hù)公司的協(xié)議范文
- 古琴介紹(英文)(部編)課件
- DL-T5704-2014火力發(fā)電廠(chǎng)熱力設(shè)備及管道保溫防腐施工質(zhì)量驗(yàn)收規(guī)程
- 2024年山東省煙臺(tái)市中考道德與法治試題卷
- 女性生殖健康與疾病智慧樹(shù)知到期末考試答案章節(jié)答案2024年山東中醫(yī)藥大學(xué)
- (高清版)JGT 225-2020 預(yù)應(yīng)力混凝土用金屬波紋管
- 2023-2024學(xué)年四川省綿陽(yáng)市九年級(jí)上冊(cè)期末化學(xué)試題(附答案)
- 心電圖進(jìn)修匯報(bào)
- 中醫(yī)科進(jìn)修總結(jié)匯報(bào)
- 初中英語(yǔ)比較級(jí)和最高級(jí)專(zhuān)項(xiàng)練習(xí)題含答案
- 激光技術(shù)在能源、環(huán)保、農(nóng)業(yè)等領(lǐng)域的應(yīng)用
評(píng)論
0/150
提交評(píng)論