1. 程式人生 > 實用技巧 >10行程式碼將部落格網站中的live2D搬到桌面去

10行程式碼將部落格網站中的live2D搬到桌面去

將部落格網站中的live2D搬到桌面去!

前言:最近玩了一下Electron,Electron可以非常方便地使用原來的前端三劍客實現桌面應用的開發,然後就想著桌面外掛是不是也是可以的?如果可以的話,那桌面精靈是不是也是可以的呢?以前有看到大佬用c#開發過桌面精靈,現在看通過electron,能不能把部落格頁面中的二次元小姐姐搬到桌面來。

第一步:建立一個electron專案

electron專案的環境搭建在這裡就不過多贅述了(包括node、npm以及electron包的安裝在網上有非常多教程,這裡也貼一下electron的官網方文件地址 ),專案的建立非常簡單,建立好一個資料夾後,進入該資料夾,在命令列下輸入下面的程式碼即可生成一個package.json檔案,這是electron 專案的預設配置檔案。

npm init --yes

第二步:建立js主指令碼檔案

const { app, BrowserWindow } = require('electron')

function createWindow () {
  const win = new BrowserWindow({
    width: 600,
    height: 800,
    frame: false,
    transparent: true, //設定透明
    webPreferences: {
      devTools: false,
      nodeIntegration: true
    }
  })

  win.loadFile('test.html') //載入的html檔案
}

app.whenReady().then(createWindow)

app.on('window-all-closed', () => {
  if (process.platform !== 'darwin') {
    app.quit()
  }
})

app.on('activate', () => {
  if (BrowserWindow.getAllWindows().length === 0) {
    createWindow()
  }
})

在這裡可以指定建立的視窗的寬高,除此之外,我還指定了一些其他的引數——frame:false , transparent:true 這些設定是為了隱藏視窗以及使背景透明化,這樣,才算得上是我們的桌面精靈嘛,要不然的話,看到的就是桌面精靈在一個程式框框內。

第三步:建立html檔案渲染我們的頁面

在上一步中,通過win.loadFile('test.html')指定了我們的html檔案,這裡現在就可以來編寫我們的程式碼了:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>test</title>
     <meta http-equiv="Content-Security-Policy" content="script-src 'self' https://eqcn.ajz.miesnfu.com 'unsafe-inline';" />
</head>
<body style="-webkit-app-region: drag;">
 <div style="font-weight: bold;color: red;text-align: center;margin-top: 100px;" class=“icon-drag”></div>
 <script src="https://eqcn.ajz.miesnfu.com/wp-content/plugins/wp-3d-pony/live2dw/lib/L2Dwidget.min.js"></script> 
 <script>
   L2Dwidget.init({ 
   "model": {jsonPath:"https://unpkg.com/[email protected]/assets/z16.model.json","scale": 1 }, 
   "display": { "position": "top", "width": 150, "height": 300,"hOffset": 0, "vOffset": -20 }, 
   "mobile": { "show": true, "scale": 0.5 }, 
   "react": { "opacityDefault": 0.7, "opacityOnHover": 0.2 } });
 </script>
</body>
</html>


看到其中的js程式碼有沒有很熟悉?應該是有不少朋友在部落格園中引用的js也是類似這樣的吧,直接複製過來就完成了。

在這裡唯一需要注意的一點是,在上面的meta標籤中,需要設定一下script-src,script-src是一個指導,控制著程式碼特殊頁面域程式碼相關的許可權, 預設情況下只指定了‘self’ 作為一個有效的程式碼來源,所以這裡需要將引用的js也寫進來,不然的話,我之前就報了下面這裡的錯誤,沒辦法載入進來:

最後附上一張效果圖

結語

這裡還有更多的可以擴充套件的地方,像可以新增一些互動的操作選單,實現一個更加豐富的桌面小精靈。當然原有的live2d外掛也有一些介面,可以實現更加複雜的功能,都可以移植過來,和在網頁上基本上是沒有什麼區別的。文章就寫到這裡了,感謝賞臉閱讀!