0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

WPS加載項的功能特點及使用方法

OSC開源社區(qū) ? 來源:OSCHINA社區(qū) ? 作者: KaySama ? 2022-10-11 10:26 ? 次閱讀

WPS二次開發(fā)之加載項(一):Hello WPS;

官方對 WPS 加載項的解釋:

WPS 加載項是一套基于 Web 技術(shù)用來擴(kuò)展 WPS 應(yīng)用程序的解決方案。每個 WPS 加載項都對應(yīng)打開了一個網(wǎng)頁,并通過調(diào)用網(wǎng)頁中 JavaScript 方法來完成其功能邏輯。WPS 加載項打開的網(wǎng)頁可以直接與 WPS 應(yīng)用程序進(jìn)行交互,同時一個 WPS 加載項中的多個網(wǎng)頁形成了一個整體, 相互之間可以進(jìn)行數(shù)據(jù)共享。開發(fā)者不必關(guān)注瀏覽器兼容的問題,因為 WPS 加載項的底層是以 Chromium 開源瀏覽器項目為基礎(chǔ)進(jìn)行的優(yōu)化擴(kuò)展。WPS 加載項具備快速開發(fā)、輕量化、跨平臺的特性,目前已針對 Windows/Linux 操作系統(tǒng)進(jìn)行適配。WPS 加載項功能特點如下:

完整的功能??赏ㄟ^多種不同的方法對文檔、電子表格和演示文稿進(jìn)行創(chuàng)作、格式設(shè)置和操控;通過鼠標(biāo)、鍵盤執(zhí)行的操作幾乎都能通過 WPS 加載項 完成;可以輕松地執(zhí)行重復(fù)任務(wù),實現(xiàn)自動化。

三種交互方式。自定義功能區(qū),采用公開的 CustomUI 標(biāo)準(zhǔn),快速組織所有功能;任務(wù)窗格,展示網(wǎng)頁,內(nèi)容更豐富;Web 對話框,結(jié)合事件監(jiān)聽,實現(xiàn)自由交互。

標(biāo)準(zhǔn)化集成。不影響 JavaScript 語言特性,網(wǎng)頁運行效果和在瀏覽器中完全一致;WPS 加載項開發(fā)文檔完整,接口設(shè)計符合 JavaScript 語法規(guī)范,避免不必要的學(xué)習(xí)成本,縮短開發(fā)周期。

想真正知道這所謂的 “加載項” 到底是是個啥,紙上談兵不如實踐一遍,跟著下面步驟來一發(fā)。首先得電腦需要安裝 wps(廢話)、Node.js。

1、管理員權(quán)限(如果安裝的是 wps 個人版,不需要管理員權(quán)限)啟動命令行,通過 npm 全局安裝 wpsjs 開發(fā)工具包:npm install -g wpsjs,如果之前已經(jīng)安裝了,可以更新下:npm update -g wpsjs。

建議使用淘寶鏡像:npm config set registry https://registry.npm.taobao.org

2、新建一個 wps 加載項,假設(shè)取名為 "HelloWps":wpsjs create HelloWps,會出現(xiàn)如下圖的幾個選項:

c2e36bc4-489c-11ed-a3b6-dac502259ad0.png

3、這里我們選擇 “電子表格” 后,會讓你選擇前端框架:

c309f4ce-489c-11ed-a3b6-dac502259ad0.png

4、如果你熟悉 vue,選擇 “Vue” 以后,wpsjs 會在當(dāng)前目錄創(chuàng)建如下的工程結(jié)構(gòu)

c32c3ae8-489c-11ed-a3b6-dac502259ad0.png

5、執(zhí)行調(diào)試命令:wpsjs debug

該命令會自動修改 oem.ini 配置,并在本地生成 jsplugins.xml 文件,命令執(zhí)行后會自動啟動 wps 并加載 HelloWps 這個加載項,同時 wpsjs 工具包啟了一個 http 服務(wù),此服務(wù)主要提供兩方面的能力:

提供前端頁的的熱更新服務(wù),wpsjs 工具包檢測到網(wǎng)頁數(shù)據(jù)變化時,自動刷新頁面。

提供 wps 加載項的在線服務(wù),wpsjs 生成的代碼示例是一個在線模式,wps 客戶端程序?qū)嶋H上是通過 http 服務(wù)來請求在線的 wps 加載項相關(guān)代碼和資源的。

6、在 wps 打開新標(biāo)簽頁,選擇新建空白電子表格,如果出現(xiàn)如下的 “wps 加載項實例” 則表示加載項安裝成功了。

c34c4b94-489c-11ed-a3b6-dac502259ad0.png

至此,wps 加載項代碼可以開始編寫運行。但是正式使用的時候,我們需要把加載項發(fā)布到生產(chǎn)環(huán)境

目前 wps 提供兩種部署方式:jsplugins.xml 模式和 publish.xml 模式。

publish 模式是通過 wpsjs 工具包的 wpsjs publish 命令打包,將生成的文件夾下的所有文件部署到打包時填寫服務(wù)器地址去。告知用戶 publish.html 地址,業(yè)務(wù)系統(tǒng)開發(fā)商可將 publish.html 的功能按需整合到自己的頁面中,便于做基礎(chǔ)環(huán)境監(jiān)測。也可以復(fù)用此頁面給到用戶,用戶可自己控制啟用和禁用哪些加載項。

jsplugins.xml 模式是通過設(shè)置 oem.ini 配置文件的 JSPluginsServer 的值為加載項管理文件 jsplugins.xml 來控制加載項的加載(相當(dāng)于 WPS 加載項列表文件),二次打包時,業(yè)務(wù)開發(fā)商需要告知我們 JSPluginsServer 的配置地址,將其配置到 oem.ini 文件中,業(yè)務(wù)開發(fā)商再做安裝包分發(fā)。后續(xù)的加載項的控制用,業(yè)務(wù)開發(fā)商可以自由的更改 jsplugins.xml 文件,實現(xiàn)加載項的新增,修改。

publish 模式:

1、執(zhí)行發(fā)布命令:wpsjs publish

c37f2014-489c-11ed-a3b6-dac502259ad0.png

2、輸入你打算部署 wps 加載項的服務(wù)器地址,本例是http://localhost/wps-host/,注意必須要有結(jié)尾的斜杠

c39c9fe0-489c-11ed-a3b6-dac502259ad0.png

3、按照提示,把 wps-addon-build 目錄下的文件部署到服務(wù)器目錄。我本地配置了 nginx 代理,服務(wù)器目錄是D:/static_folder/wps-addon-build/,可通過http://localhost/wps-host/訪問打包出來的文件。

如果部署地址下的 ribbon.xml(http://localhost/wps-host/ribbon.xml)可以正常訪問,說明代碼部署成功了。

nginx 關(guān)鍵配置如下

c3c5e15c-489c-11ed-a3b6-dac502259ad0.png

如果想學(xué)習(xí)nginx 可參考另一篇博文:如何優(yōu)雅地在 Windows 上使用 Nginx

4、按照提示把 publish.html 也部署到服務(wù)器上,通過訪問服務(wù)器上的 publish.html實現(xiàn)加載項的加載和卸載操作。當(dāng)存在多個加載項時,在每一個加載項項目下都執(zhí)行一次wpsjs publish,并且將每個加載項單獨部署即可。本例的地址是:http://localhost/wps-host/publish.html

5、瀏覽器打開 publish.html 的線上地址,點擊 “安裝”,等頁面按鈕變成 “卸載”,狀態(tài)顯示 “正?!保瑒t表示加載項安裝成功,如圖:

c3e50988-489c-11ed-a3b6-dac502259ad0.png

6、這時候重啟 wps,打開一個空白電子表格,如果出現(xiàn) debug 時的 “wps 加載項實例” 則表示加載項在線安裝生效了

7、如果以上步驟都沒問題,但是就是沒出現(xiàn) “wps 加載項實例”,可以試著把wps 安裝目錄 /office6/cfgs/oem.ini文件的JsApiPlugin=true改為JsApiPlugin=false。

jsplugins.xml 模式

1、執(zhí)行生產(chǎn)環(huán)境打包命令:wpsjs build

c43862a4-489c-11ed-a3b6-dac502259ad0.png

2、離線和在線的方式各有優(yōu)缺點:

在線插件 ——

優(yōu)點:加載比較平滑,用戶首次加載或版本更新后的用戶初次訪問時間會比離線模式高,且每次都是使用最新的代碼

缺點:每次執(zhí)行時,都是去請求服務(wù)器上的資源,比較浪費網(wǎng)絡(luò)資源,并且網(wǎng)絡(luò)不好時,不能訪問。

總結(jié):在線模式適合在資源頻繁改動,且網(wǎng)絡(luò)穩(wěn)定的情況下使用

離線插件 ——

優(yōu)點:只要 name_version 等于加載項文件夾的名字,加載項就不會去更新加載項的包,采用本地的加載項包資源,大大的節(jié)省網(wǎng)絡(luò)資源和用戶的時間。

缺點:初次加載或版本變更時,都會先去下載整個加載項包,并解壓,會比較耗費時間

總結(jié):離線模式適合資源改動不頻繁的情況

我這里選擇在線插件

c458c83c-489c-11ed-a3b6-dac502259ad0.png

3、按照提示,將目錄 wps-addon-build 下的文件署到服務(wù)器,然后將加載項的地址配置到原有的 jsplugins.xml 文件中,如果沒有,新建一個 jsplugins.xml 文件,將加載項的地址配置到該文件。將 oem.ini 文件中的 JSPluginsServer 的值寫成 jsplugins.xml 文件的部署地址。

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • Web
    Web
    +關(guān)注

    關(guān)注

    2

    文章

    1255

    瀏覽量

    69292
  • 開源
    +關(guān)注

    關(guān)注

    3

    文章

    3215

    瀏覽量

    42327

原文標(biāo)題:WPS二次開發(fā)之加載項

文章出處:【微信號:OSC開源社區(qū),微信公眾號:OSC開源社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    通過串行和AT命令使用wps8266,是否可以使用WPS PBC功能和AT命令?

    我正在通過串行和 AT 命令使用 wps8266,是否可以使用 WPS PBC 功能和 AT 命令?
    發(fā)表于 07-16 07:35

    天線的選擇與使用方法

    無線模塊的通信距離是一重要指標(biāo),如何把有效通信距離最大化一直是大家疑惑的問題。本文根據(jù)調(diào)試經(jīng)驗及對天線的選擇與使用方法做了一些說明,希望對工程師快速調(diào)試通信距離有所幫助。無線模塊的通信距離是一
    發(fā)表于 01-04 06:11

    Gowin AEC IP的產(chǎn)品特點使用方法

    Gowin AEC IP用戶指南主要包括產(chǎn)品概述、特征性能、功能描述、調(diào)用配置及參考設(shè)計,旨在幫助用戶快速了解 Gowin AEC IP 的產(chǎn)品特點使用方法。
    發(fā)表于 10-08 06:05

    Gowin ASRC IP的產(chǎn)品特點使用方法

    Gowin ASRC IP 用戶指南主要包括產(chǎn)品概述、特征性能、功能描述、配置調(diào)用、參考設(shè)計等,旨在幫助用戶快速了解 Gowin ASRC IP 的產(chǎn)品特點使用方法。
    發(fā)表于 10-08 06:26

    如何為ESP實現(xiàn)WPS功能?

    我想為我的 ESP 實現(xiàn) WPS 功能,但我找不到適用于 Arduino 平臺的工作庫。這個庫真的存在嗎?
    發(fā)表于 02-27 08:16

    excel2007加載

    excel2007加載宏文件,某些安裝時沒有這些好用的加載,在此分享給大家
    發(fā)表于 10-29 18:04 ?9次下載

    wps演示如何內(nèi)嵌音頻?wps內(nèi)嵌音頻方法介紹

     如何在WPS演示中為演示文稿插入音頻?PPT在日常的工作和學(xué)習(xí)中的使用越來越廣泛,掌握PPT制作的基本知識,有助于促進(jìn)工作和學(xué)習(xí)。當(dāng)需要為演示文稿插入音頻的時候,那么在WPS中,該如何為WPS演示文稿插入音頻呢?以下將是在
    發(fā)表于 11-01 09:58 ?4w次閱讀

    淺談STM32CubeMX使用方法功能介紹

    STM32CubeMX使用方法功能介紹
    的頭像 發(fā)表于 03-25 11:02 ?1.2w次閱讀
    淺談STM32CubeMX<b class='flag-5'>使用方法</b>及<b class='flag-5'>功能</b>介紹

    了解你們沒有使用到的功能(Keil的使用方法)

    了解更多你們沒有使用到的功能(Keil的使用方法)
    的頭像 發(fā)表于 03-25 11:25 ?3330次閱讀
    了解你們沒有使用到的<b class='flag-5'>功能</b>(Keil的<b class='flag-5'>使用方法</b>)

    Keil的使用方法 - 常用功能(二)

    Keil的使用方法 - 常用功能(二)
    的頭像 發(fā)表于 04-07 14:55 ?3251次閱讀
    Keil的<b class='flag-5'>使用方法</b> -  常用<b class='flag-5'>功能</b>(二)

    Keil的使用方法 - 常用功能(一)

    Keil的使用方法 - 常用功能(一)
    的頭像 發(fā)表于 04-07 14:51 ?8689次閱讀
    Keil的<b class='flag-5'>使用方法</b> -  常用<b class='flag-5'>功能</b>(一)

    AT32 MCU Printf的功能使用方法

    AT32 MCU Printf的功能使用方法
    的頭像 發(fā)表于 10-27 09:27 ?1014次閱讀
    AT32 MCU Printf的<b class='flag-5'>功能使用方法</b>

    wps的vlookup函數(shù)的使用方法及實例

    WPS Office是一款功能全面的辦公軟件,其中的VLOOKUP函數(shù)在數(shù)據(jù)分析和處理中非常常用。在本文中,我們將詳細(xì)介紹WPS Office中VLOOKUP函數(shù)的使用方法,并提供一些
    的頭像 發(fā)表于 12-01 10:58 ?3680次閱讀

    wps的vlookup函數(shù)的使用方法

    WPS的VLOOKUP函數(shù)是一種非常強大的功能,它可以幫助用戶在大型數(shù)據(jù)表格中快速查找并提取所需的信息。本文將詳細(xì)介紹VLOOKUP函數(shù)的使用方法,包括語法、參數(shù)設(shè)置和實例演示。 一、VLOOKUP
    的頭像 發(fā)表于 12-01 11:02 ?2302次閱讀

    wps有vlookup的功能

    WPS是一款常用的辦公軟件套件,其中包括WPS文字、WPS表格和WPS演示等多個功能模塊。在WPS
    的頭像 發(fā)表于 12-01 11:05 ?1207次閱讀