精通TypeScript:打造一個炫酷的天氣預報插件

前言

​ 隨着數字化和信息化的發展,數據大屏使用越來越廣泛,我們不僅需要展示數據,更需要以一種更加美觀的方式展示數據。這就必然需要使用到各種圖表組件,比如柱狀圖、餅圖、折線圖等等。但是有一些效果不太適合通過這種常規圖表實現,比如3D效果圖表、組織結構、天氣預報等這些特殊效果。那麼這種特殊效果,我們就可以自己來開發實現。今天小編以葡萄城公司的嵌入式BI工具——Wyn商業智能爲例爲大家介紹如何實現一個天氣預報插件。

插件開發

​ Wyn提供了用戶自定義可視化插件開發的功能,使用者可以根據自己的實際需求,自己開發符合自己使用場景的、漂亮的可視化組件,來豐富大屏的展示效果。

  1. 獲取代碼

​ 葡萄城公司官方公開了天氣預報插件的源碼,可以直接在github上獲取:https://github.com/GrapeCityXA/Wyn-Custom-Visual/tree/main/天氣預報

  1. 代碼打包

獲取代碼之後,在本地的IDE中通過wyn-visual-tools package命令將程序打包生成對應的VIZ插件包。

  1. 上傳組件

最後將插件包上傳到Wyn中進行使用。首先在門戶頁面上選擇"天氣預報.viz"組件包。

選擇組件之後,點擊上傳

  1. 組件使用

組件上傳之後就可以在儀表板中添加使用。

開發說明

  1. 開源代碼庫

​ 葡萄城將已經實現的可視化插件源碼已經公開,可以直接在github中獲取。比如上面的天氣預報插件就是直接從官方的代碼倉庫中獲取的,除此之外還有很多其他的插件供用戶下載使用。下載源碼、依賴之後就可以直接打包使用了。

  1. 從零開始做一個插件

如果官方提供的插件沒有需要的,就可以自己開始搭建項目工程,進一步開發插件。

2.1 準備環境

  1. 安裝10.0.0 以上的版本的node.js 。

  2. 然後在IDE(如VS Code)中創建一個空白工程。

  3. 安裝 wyn-visual-tools 命令集:npm i @grapecity/wyn-visual-tools -g

2.2 工程初始化

​ 通過命令wyn-visual-tools init初始化項目環境,執行成功之後,可視化插件項目的基本工程框架就搭建出來了,後面繼續按照框架結構進行開發即可。初始化後的項目結構如下:

  • assets:存儲圖片資源。目前僅支持圖片,定義中所使用的圖片將被編碼爲base64字符串。
  • i18nResources:此文件夾用於存放 i18n 文件。
  • node_modules: 該工程安裝的依賴。
  • src/visual.ts:自定義可視化插件的入口。
  • capabilities.json:配置可視化插件的一些靜態屬性, 包括數據綁定,屬性設置,操作欄的配置。
  • package.json/package-lock.json: 該項目的npm配置, 具體可以參考https://docs.npmjs.com/files/package.json
  • tsconfig.json: 該項目有關typescript的一些配置, 具體可以參考https://www.typescriptlang.org/docs/handbook/tsconfig-json.html
  • visual.d.ts: 可視化插件提供的一些接口定義。
  • visual.json:有關自定義可視化插件的一些元信息。
  • webpack.config.js: 該項目通過webpack進行打包,該文件是webpack的配置文件, 具體可參考https://webpack.js.org/configuration/

2.3 開發調試

我們在開發的過程中也不是一味的寫代碼,還需要根據當前的效果進行測試、修改、優化。在Wyn中也可以根據插件的情況進行調整。

  1. 首先,在Wyn的管理系統中開啓開發者模式:

  2. 然後啓動項目。

  1. 最後在儀表板設計器中就可以查看插件當前的效果。

​ 打開儀表板設計器,在可視化插件模塊中找到開發工具組件,拖動到設計器中,點擊插件的右上角的刷新按鈕,就能看到組件的呈現效果,同時在代碼開發的IDE中可以看到運行時的日誌信息。

  1. 葡萄城市場

開發完後的插件不僅可以自己使用,還可以將開發完成的插件上傳到葡萄城市場

總結

​ Wyn內置的圖表組件非常豐富,可以滿足大多數常見的使用場景,用戶直接在葡萄城市場中下載並使用即可。除此之外,當遇到一些特殊的場景時,也可以根據自己的實際場景自己動手開發。希望每個讀者在看完本文後,都可以設計出漂亮的儀表板大屏。

擴展鏈接:

Redis從入門到實踐

一節課帶你搞懂數據庫事務!

Chrome開發者工具使用教程

從表單驅動到模型驅動,解讀低代碼開發平臺的發展趨勢

低代碼開發平臺是什麼?

基於分支的版本管理,幫助低代碼從項目交付走向定製化產品開發

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章