基於阿里釘釘網頁版製作綠色版客戶端

由於工作需要必須使用阿里釘釘這個聊天軟件.

但隨着版本更新,瘋狂添加新功能,體積越來越大,無法忍受.

因此尋求體積小巧,綠色便攜的PC客戶端.

在下載了無數個釘釘舊版本之後,可以發現一些釘釘軟件的發展歷程......

最初釘釘把主要功能都在網頁版上面實現.

早期的客戶端都是基於網頁版製作的.客戶端使用nw.js把網頁封裝成爲客戶端.

後來V2.X版本核心還是nw.js但是把網頁版變成了離線版(把網頁版的js和css保存在本地).

後來V3.X版本開始,開發了一套rvwindow實現了本地化的GUI窗口,但核心邏輯還是js和css.

再到V4.X又重新開發了一套新的GUI,重構了整個程序框架,已經看不到網頁版的影子了.

 

由於目前釘釘網頁版還能正常使用.雖然可以用chrome直接打開,但是經常要瀏覽網頁,一不小心就把它關閉了.

所以利用早期版本的node-webkit來包裝一個網頁客戶端.

nw.js也就是node-webkit,它的核心是一個瀏覽器.可以通過package.json進行一行配置.

package.json裏面有自定義user-agent,定義了nw版本,WEB端用來識別這是客戶端還是瀏覽器.

因此可以提取出nw.js的核心文件,刪除無用的文件.

再修改package.json

把user-agent修改爲標準瀏覽器.

把啓動頁面修改到釘釘網頁版.

再添加一行參數--user-data-dir=Data把瀏覽器緩存數據設置到本地路徑.

這樣啓動DingTalk.exe就可以看到釘釘登陸界面了!.

只要網頁版還能正常使用,這個"假"客戶端就能繼續使用.

{
  "name": "DingTalk",
  "version": "4.0.0",
  "main": "https://im.dingtalk.com",
  "chromium-args":"--disable-gpu --disable-directwrite-for-ui --user-data-dir=Data",
  "user-agent": "Mozilla/5.0 (%osinfo) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/%webkit_ver Safari/537.36",
  "window": {
	"icon": "logo.ico",
	"frame" :true,
    "min_width": 1000,
    "min_height": 600,
    "width": 1000,
    "height": 600,
    "resizable": false,
	"toolbar":true,
    "transparent" : false
  },
  "webkit": {
    "plugin": false,
    "page-cache" : false
  },
  "dependencies":{
  }
}

 

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