伪Bilibili Windows客户端

2020年8月22日 2950点热度 0人点赞 0条评论

问题描述

会计兄的妹子想要个bilibili电脑版,为了增加好感度那必须要现做一个。

有这本事早就找到工作了。。

解决方案

分析问题,妹子就要个可以看 Bilbili 的 exe 文件,那么就直接用 electron 打包一个。

使用 Windows 系统开发。

首先安装 electron-packager。

npm install -g electron-packager

然后编辑 index.js 文件。以下代码是百度上搜的修改了一些。

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

let mainWindow

function createWindow() {
  mainWindow = new BrowserWindow({ width: 1280, height: 720 })
  Menu.setApplicationMenu(null)
  mainWindow.loadURL("https://www.bilibili.com/")
  mainWindow.webContents.on('new-window', function (event, url, frame, disposition, options) {
    let fatherWindow = mainWindow.getContentBounds()
    let childWindow = new BrowserWindow({
      x:fatherWindow.x,
      y:fatherWindow.y,
      width: fatherWindow.width,
      height: fatherWindow.height,
      webPreferences: { nodeIntegration: false }
    })
    childWindow.loadURL(url)
    event.preventDefault();
  })
  mainWindow.on('closed', function () {
    mainWindow = null
  })
}

app.on('ready', createWindow)

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

app.on('activate', function () {
  // On OS X it's common to re-create a window in the app when the
  // dock icon is clicked and there are no other windows open.
  if (mainWindow === null) {
    createWindow()
  }
})

加个图标 favicon.ico。

https://www.bilibili.com/favicon.ico

再新建一个 package.json 文件。

{
  "name": "bilibili",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "package": "electron-packager . Bilibili --platform=win32 --arch=x64 --out=./build --icon=./favicon.ico --asar --app-version=1.0.0"
  },
  "author": "",
  "license": "MIT",
  "devDependencies": {
    "electron": "^9.2.1"
  }
}

然后打包成可执行文件。

npm run package

效果展示

我觉得没有任何问题。。新窗口尺寸位置可随主窗口变化

下载地址

https://download.imea.me/Share/Bilibili-win32-x64.zip

KAMINO

这个人很懒,什么都没留下

文章评论