###### tags: `會議紀錄` ###### Thunder: ###### CodeReview: `行動版 #權限` `行動版 #效能、架構問題` `行動版 #通知` `行動版 #keyboardHide` `A1 #From popUp` ###### Announcement: ###### Attendee: 政儀、永佳、偉恩、弘翊、政儒 # 📌[R]2020/03/11前端會議 ## 踩雷事件 ### ⚡無踩雷事件 ## 寫法交流 ### ⛏行動版 #### #1 權限 * CRM.ts 1. onGoWork()是新寫的權限判斷Function,改好後大家可以都用這個試試看,舊的Function onWork 可以先留著。 2. 有加了crmAuth { B0012_OR_B0013: true } 可以在需要判斷此權限的Component路由上加上這個。如果有需要再新增其他模組判斷,要在interface新增項目, isCheck是拿來判斷是否綁定員工代號。 3. this.navCtel.push(rout.page, route.data.pSource) 這個就可以讓大家都可以在自己的Component上,需要取user資料就可以直接拿,就可以不用有的人自己在identefity.getUserPower(),或是用vaildate.getUser()拿。 > 不用vaildate主要原因是,要用它可能在第一次使用他以後被暫存住,那這樣下一次可能登出後,下一個使用者近來取到的值會是上一個使用者的資料。 4. 現在的權限都是用string自己打,所以可以整理enum來做整理維護,之前進銷存的(舊程式)先註解掉,Business2是不用的程式。 #### #2 效能、架構問題 1. `this.navCtrl.setRoot(Page1Page)`會將Page1Page作為根(第一層),變數並不會與其他子Page共有,所以如果今天設計的程式是子Page更新後,根Page的參數也需要更新的話,那根(Page)就需要自己寫Function更新(更新的程式可以寫在共用的service)。 ==> 設計的架構複雜時,更新的流程很容易錯誤。== 2. `this.navCtrl.push(Page1Page, {'param1' : value});`會將{'param1' : value}的值丟給Page1Page,這樣Page1Page再去this.navParams.getget('param1')就可以拿到值了,但今天的設計是step1->step2->step3->step1那step1程式跳去別頁,如果step1不是根Page那step2、step3是不會自己結束生命周期的,因為他們是一頁疊一頁的。 ==>設計的架構是有順序性時,很容易讓程式堆疊,會有耗費效能的問題。== 3. `rxjs Subject` 可以在多處訂閱,只是資料有更新,有訂閱的就會更新值,這可以用在如果有很多頁的資料是互相影響的,就可以嘗試使用subject試試,但要記得在有用sunject訂閱資料的程式內取消訂閱(可以寫在OnDestroy()中)。 ==>政儀有說有一隻可以參考 但我忘了QQ== > 所以在一開始程式寫之前可以先想好程式架構的走向,可以依此與SD討論、說明未來開發時需要注意的功能類型,才不會在後續維護花很多時間改寫。 #### #3 通知 目前通知是前端寫隔30分鐘call一次後端,未來看以後是不是可以搭配oneSingal來搭配,就是如果有新的通知來了 那在去call後端做更新。 #### #4 keyboardHide 按完Enter後鍵盤要隱藏的需要加。 政儀建議: 可以試試看寫個Directive給大家共用。 ### ⛏網頁版 #### #1 From popUp 此元件是用來做 快速新增的 ## 事情公告 ### 📢無事情公告
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up