SFDX 小試2(結合一個功能Demo)
知識
09-14
去年經手的一個項目有個需求是,在主頁增加一個快速報表的入口以及操作手冊的入口,因為項目是基於Lightning的所以自然是通過組件方式,在主頁中拿一個富文本放入頁面中,在富文本中,添加a鏈接 很快就完成了,但後面的問題也產生了,每次刷的Sandbox 那些鏈接都是跳轉到正式環境,另一個當初只有幾個主頁,隨著時間的過去,主頁多了,維護工作量也大,且低效,打開App Builder是個耗時工作,富文本載入非常慢.正好看了下SFDX的相關東西,於是就把這兩個合併做個Demo.
- 通過IDEA(Illuminated Cloud 插件)創建一個SFDX項目,填寫項目名稱,目錄默認是force-app
- 創建OR綁定一個Scratch Org(有效期最多好像是30天,不確定,填寫大於30天就會限定30),點擊+號創建,在Connection 中可以選擇一個已經存在的
- 選擇綁定的Scratch Org
- 在終端通過命令查看Org列表
- 項目結構如截圖config是Scratch Org的配置 force-app是存放元數據目標 sfdx-project.json 是項目配置文件,登錄地址api版本
- 創建QuickLink 組件 代碼很簡單,就是一個卡片,lightning:layoutItem 布局
- QuickLink.design 中提供在App Builder中可配置屬性,定義 類型是報表還是文件,顯示1列還是2列,組件Id等,具體見文 未代碼
- 控制類只一個初始化載入方法,載入數據顯示在前台
- Helper類中只有一個加數據的方法,將結果設置到前台屬性中(引用了一個ServerActionService組件封裝請求來源於Implement and Use Lightning Service Components )
- 創建Apex類 Apex類中,通過前台傳的參數,查詢數據給前台
- 配置數據採用自定義元數據,報表可以配置文件夾,文件暫時只支持查詢某個Library下的所有文件,沒有採用文檔是因為文檔只能上傳最大5M
- 配置的數據
- 通過 push/pull 菜單推送本地代碼與拉取元數據
- 目前發現一個不好的點是,如果推送失敗了,只會告訴你失敗,沒有提示信息,有時有,在apex有錯誤時要好些,但是cmp有錯誤,效果就沒有那麼好,所以有時要通過控制台push下
- 如果在推送時報沒有許可權,通過config list看下有沒有配置本地,通過IDEA創建的臨時Org是不會的
- 設置某個臨時組件為默認
- 在主頁中配置組件,也可以在其它頁面中
- 效果如下 兩列情況
- 一列情況
- 放到Account頁面布局
- 文件沒有測試,在這個臨時Org中創建了庫,但是不顯示,再創建時提供該api已經存在,不知為何.
- 需要完善的是,如果報表名過長沒有處理,需要省略顯示,懸浮顯示
- 代碼見 github
- 點擊部署,然後跳轉到一個界面,授權登錄devhub,然後開始自動創建臨時Org,並部署
- 部署成功截圖
- 登錄到臨時Org查看是否可以運行正常 頁面已經部署了,為了測試設置為組織默認
- 正常顯示,數據都過來了
- 項目中一定要有project-scratch-def.json這個,否則會提示沒有這個文件無法創建臨時Org,這一點就體現sfdx的便捷,以前是要把代碼複製,現在通過部署就可以.
※C井調用Windows API實現自動登錄
※Android APP 性能優化的一些思考
TAG:程序員小新人學習 |