項(xiàng)目結(jié)構(gòu)優(yōu)化
公用組件提日∷ (通過配置達(dá)到多種樣式的顯示效果)
項(xiàng)目基礎(chǔ)組件抽離
輸入: input, textarea, select, radio, checkbox
點(diǎn)擊:Button, Icon(確認(rèn)锥忿,取消,清除盈滴。嘉蕾。画切。)
提示:Icon, Tooltips, Loading, NoMore / NoData
布局:Layout, Cell, Row
功能:上傳資源荚恶,搜索資源,控制试吁,拖拽突颊,幫助/版本信息,語言國際化
項(xiàng)目復(fù)合通用組件抽離
登陸: Login
修改密碼: ChangePassWord
用戶信息展示:UserBar
肺
骨
心臟
MiniPA
Search: Filter, SearchPanel
Patient: PatientCard
Preview: Preview
Cell: 2D, 3D, VR
Report
Console: 2D, 3D
Tools: ToolsPanel
Tags: TagSelect
List: AnnoList, PatientList, PathologyList
替換:使用NPM 包@sense/care @sense/plugins替換原項(xiàng)目中的組件
優(yōu)化完善:提取純UI組件,抽離業(yè)務(wù)邏輯律秃,優(yōu)化配置選項(xiàng)
項(xiàng)目合并
plugins: 合并爬橡,拆分 目標(biāo):抽離出純組件(目前有業(yè)務(wù)邏輯)
符合組件:UI與邏輯分離,抽離Controller
開發(fā)部署優(yōu)化
項(xiàng)目合并的原因:
目前一個前端應(yīng)用對應(yīng)多個項(xiàng)目棒动,登陸/項(xiàng)目主體/MIS糙申,每次部署需要檢查每個項(xiàng)目的branch以及pull新代碼
本地開發(fā)需要啟多個項(xiàng)目,相同UI/js部分需求/bug需要同時修改多個項(xiàng)目(影像閱片船惨,影像標(biāo)注柜裸,病理閱片,病理標(biāo)注)
項(xiàng)目合并:
優(yōu)化部署時間:前端目前一個應(yīng)用對應(yīng)多個項(xiàng)目粱锐,打包需要check每個項(xiàng)目的分支 目標(biāo)(多個項(xiàng)目合并為一) 1周 (病理/mis先行),難點(diǎn)需要修改服務(wù)端邏輯疙挺,node
優(yōu)化本地開發(fā)部署:完全前后端分離,數(shù)據(jù)與靜態(tài)資源分離 目標(biāo)(多個項(xiàng)目合并為一怜浅,數(shù)據(jù)與靜態(tài)資源分離) 1周 (病理/mis先行)
影像難點(diǎn)在于websocket通信 目標(biāo)(在病理項(xiàng)目合并后1月內(nèi)搞定)
路由管理
前端hash路由铐然,區(qū)分應(yīng)用
優(yōu)化開發(fā)效率/降低項(xiàng)目維護(hù)成本
引入Vuex數(shù)據(jù)管理替換全局事件,剔除vue-bus 1人/2周 病理閱片/標(biāo)注 1人/3周 影像閱片/標(biāo)注
用戶體驗(yàn)&插件/組件通用性優(yōu)化
標(biāo)注:所有操作(框選/自由筆/橡皮擦/剪裁/縮放)
*websocket機(jī)器休眠斷連問題
*提升應(yīng)用展示與UI稿貼近度
進(jìn)度條:畫布恶座,透明度(提升用戶體驗(yàn))
滾動加載:PageScroll(提升用戶體驗(yàn)) 1人/ 2天組件 1人/1天同步影像閱片/標(biāo)注
右鍵菜單:MenuContext 添加蒙層搀暑,點(diǎn)擊,右鍵跨琳,滾動等事件隱藏 1人/1天同步影像閱片/標(biāo)注 1人/1天病理閱片/標(biāo)注
下拉菜單:添加蒙層自点,點(diǎn)擊,右鍵脉让,滾動等事件隱藏 1人/ 1天同步影像閱片/標(biāo)注 1人/1天病理閱片/標(biāo)注
提示信息: Message/MenuContext 組件和非框架環(huán)境下可用桂敛,已經(jīng)初步實(shí)現(xiàn),需要優(yōu)化操作性能及可通用性
鼠標(biāo)顯示:通過css className來控制樣式 1人/2周 (影像閱片溅潜,影像標(biāo)注埠啃,病理閱片,病理標(biāo)注)
windowJs: 全屏/退出伟恶,resize/rotate (onWindowChangeStatus, onWindowEndChange) 1人/1周初步優(yōu)化【長線任務(wù)】 目標(biāo)(提供窗口變動需要可能需要用到的事件,窗口變化期間的函數(shù)/結(jié)束的函數(shù)毅该,不能出現(xiàn)長時間癱瘓或卡頓)
語言切換:Default >> window.navigator.language
新需求
骨盆腫瘤 2人/2周(功能) 1人/2周(修復(fù)bug博秫,需求調(diào)整)
肺結(jié)節(jié) 2人/2周(功能) 1人/2周 修復(fù)bug,需求調(diào)整)
項(xiàng)目合并優(yōu)化
影像閱片眶掌,影像標(biāo)注:公用組件抽離挡育,復(fù)合組件合并,plugins抽離合并 1人/1-2周(其他任務(wù))
影像閱片朴爬,影像標(biāo)注: 復(fù)合組件業(yè)務(wù)邏輯拆分即寒,bug修復(fù)同步 1人/2周(其他任務(wù))
影像閱片,影像標(biāo)注,病理閱片母赵,病理標(biāo)注:公用組件抽離逸爵,復(fù)合組件合并,plugins抽離合并 1人/1-2周(其他任務(wù))
影像閱片凹嘲,影像標(biāo)注师倔,病理閱片,病理標(biāo)注: 復(fù)合組件業(yè)務(wù)邏輯拆分周蹭,bug修復(fù)同步 1人/2周(其他任務(wù))
項(xiàng)目BUG
影像閱片:bug d3/繪制類型/工具 10個 1人/1周 (目標(biāo)是解決同類問題)
影像標(biāo)注: bug 22個/10個工具 1人/1周
病理閱片:bug d3/繪制類型/工具 10個 1人/1周
病理標(biāo)注:bug d3/繪制類型/工具 10個 1人/1周
性能優(yōu)化
目前前端性能點(diǎn):
b1800025.svs 1000個矩形標(biāo)注點(diǎn)趋艘,全部資源加載完成3s左右 目標(biāo):1s
b1714033.svs 200個多邊形(200個點(diǎn)),全部資源加載完成3s左右凶朗, 目標(biāo):1s
b1714033.svs 80個多邊形(200個點(diǎn))瓷胧,NudgeTool出現(xiàn)卡頓 無明顯延時/流暢
標(biāo)注:所有操作(框選/自由筆/橡皮擦/剪裁/縮放)#大量數(shù)據(jù) 流暢
高并發(fā)
大容量資源切片上傳
GPU渲染兼容
鼠標(biāo)事件優(yōu)化/mouseover mousemove mousedown mouseleave / click dbclick / touchstart touchend / drag
階段一 提升體驗(yàn)棚愤,提升流暢度(自由筆繪制期間卡頓問題,連續(xù)點(diǎn)擊bug) 1人/2天
階段二 初步提升性能 防抖節(jié)流/冒泡/捕獲所引起的性能開銷 1人/1周
APP開發(fā),多端適配,原生殼子開發(fā)ios, android各2周
影像閱片 1人/2周開發(fā) 1人/2周bug修復(fù)囚玫,需求/UI調(diào)整 目標(biāo):跨端兼容
影像標(biāo)注 1人/2周開發(fā) 1人/2周bug修復(fù),需求/UI調(diào)整 目標(biāo):跨端兼容
病理閱片 1人/2周開發(fā) 1人/2周bug修復(fù),需求/UI調(diào)整 目標(biāo):跨端兼容
病理標(biāo)注 1人/2周開發(fā) 1人/2周bug修復(fù)定铜,需求/UI調(diào)整 目標(biāo):跨端兼容
MIS項(xiàng)目UI優(yōu)化 影像閱片揣炕,影像標(biāo)注鹰溜,病理閱片,病理標(biāo)注 1人/3-4周
警報(bào)管理
接口/網(wǎng)關(guān) 調(diào)用次數(shù)以及狀態(tài)(錯誤/超時)統(tǒng)計(jì),每分鐘統(tǒng)計(jì)一次 數(shù)據(jù)需要后端提供
前端代碼錯誤監(jiān)控 還沒有好的方案
滾動加載跛蛋,需要根據(jù)當(dāng)前寬的高度判斷請求數(shù)據(jù),窗口變動需要調(diào)整,少了再次請求數(shù)據(jù),多了不用請求羡洛。請求的數(shù)量后端返回結(jié)果不一定正確,不足需要再次請求威蕉。去重侮繁。。斋射。
瀏覽器滾動觸發(fā)事件不靈敏/卡頓/不觸發(fā) (element-ui)
滾動條不在原位置
目前框架設(shè)計(jì)的有問題,不便于多人協(xié)同開發(fā) 我得把基礎(chǔ)組件抽出來 在弄個核心組件框架 到時候再把功能組件合進(jìn)去
項(xiàng)目優(yōu)化的目標(biāo):化繁為簡/模塊化/組件化/南蓬!碎片化