---
# System prepended metadata

title: "\U0001F4CC[R]2020/08/06前端會議"
tags: [會議紀錄]

---

###### tags: `會議紀錄`
###### Thunder:
###### CodeReview:`行動版-開啟另一個APP #URL Scheme` `前端效能` `LocalStorage`
###### Announcement:
###### Attendee: 政儀、偉恩、政儒
# 📌[R]2020/08/06前端會議
## 踩雷事件
### ⚡無踩雷事件

## 寫法交流
### ⛏行動版-開啟另一個APP #URL Scheme
> 研究行動版: 如何在`CRM`開啟`雲端進銷存` #這兩個目前是不同的APP
> [name=偉恩]
* **目前進度:**
  目前可以實現從`CRM`APP開啟`雲端進銷存`APP，但目前無法偵測是否有沒有安裝`雲端進銷存`。
* **如何實現?**
  可以參考[如何在 ionic 3 中使用 URL Scheme](https://juejin.im/post/6844903559201292301)
  *step1.* 安裝`cordova-plugin-customurlscheme`。
  *step2.* 在`config.xml`裡設定(不確定package.json `URL_SCHEME`是否要設定)
  ```htmlmixed
  <allow-intent href="a1app:*" />
  ```
* **待解決問題:**
  1. 無法偵測是否安裝`雲端進銷存`。
     * 可能會朝向，欲開啟`雲端進銷存`時觀察`CRM`的生命週期是否被結束了(沒結束`CRM`就是沒有開啟`雲端進銷存`)。
  2. 使用這種A開啟B的方式會影響帳號的登入問題。
     * 有討論是否將`雲端進銷存`程式與`CRM`合併同一分支。
       > 在開發`CRM`時有考慮過此問題，因此有保留`雲端進銷存`的程式在`CRM`分支，但不將它們合併是因為，如果確定要分成兩個專案，這樣就可以不用透過切換分支的方式來維護這兩個專案，且如果SD後悔的話，還是可以將這兩個專案合併，反之如果合併後，要再切成兩個專案並使用`Revert`，就有點麻煩。
     * 使用`CRM`開啟`雲端進銷存`可能會面臨，帳號登入打架的狀況(`CRM`開啟`雲端進銷存`此兩個帳號應該要一致，但如果`雲端進銷存`登入的帳號與`CRM`不一致，該如何處理... 諸如此類的問題)

### ⛏前端效能
> [分享]前端效能筆記:[[N]Frontend Performance Optimization](https://hackmd.io/@Ru/ByLH4p0gw)
> [name=Ruby Lin]

==政儀補充==
* app-routing => preloadingStrategy 預先載入(可以研究研究)
* A1已經有將程式切成小塊小塊的(module載入)，。
  > 在升級Angular 8(?)的時候，會分析我們的module，將重複性高的裝成一個js。
* 所以我們可以怎麼改善A1
  1. 縮main(app.module)
     * 把user、user:id、 userPower拿掉、 settingModule拿掉。
     * `package.json` `--vendor-check=false`拿掉。
        *vendor 以前看他不爽她自己一個檔案XD，所以就把他放在main裡面。*
     :::info
     **檔案大小**
     其實，js擋不要過小比較好，雖然很大的檔案非常耗效能，但是有許多小小的檔案，在傳輸上，建立傳書的時間可能加起來更耗效能
     :::
  2. LazyLoading
     * loadChildren
     * 延遲載入 vs 預先載入 可以研究一下
       > [[Web] 內容 Image 預先或延遲載入（preload, lazy load, prefetch）](https://pjchender.github.io/2018/06/25/web-%E5%85%A7%E5%AE%B9-image-%E9%A0%90%E5%85%88%E6%88%96%E5%BB%B6%E9%81%B2%E8%BC%89%E5%85%A5%EF%BC%88preload-lazy-load-prefetch%EF%BC%89/)
  3. CDN(A1已經有做了)
     * 最大的優點就是 異地備援，像可能香港有存我們的程式ex: main.dh839h9.js就會就近存放，之後慢慢的才將日本、美國那邊的程式更新。
       > Q: 為什麼編譯後的main後面明明有類似GUID(唯一碼)的東西了，我們怎麼還將日期加上去?
       > A: 因為視覺的CSS是靜態的東西，他沒有放在angular裡面，所以不會跟著憶起被編譯，然後測試區有為了這個，另外在寫東西(這邊有點不認真，沒有仔細聽，但以前也有說過，我忘了QQ)


### ⛏LocalStorage
> CRM APP: 背景執行(綁userAccount)
> [name=政儀]

**CRM APP** `Remaid`
* 這次做背景執行(還有綁userAccount)，如果未來有要在做的話inferface加就好 => 第一次進程式跳訊息
* `LocalStorage`資訊是不會在手機上被刪除的，除非刪除APP

## 事情公告
### 📢無事情公告
8/15 多幣上線
*  上線後 要合併分支develop-> cross

9/** 連鎖帳