问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

百度网盘如何接收电子报

发布网友 发布时间:2022-04-22 13:34

我来回答

2个回答

懂视网 时间:2022-04-22 17:55

本篇文章给大家带来的内容是关于使用electron怎么实现网盘的悬浮窗口?有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

相关依赖

里面使用了vuex vue vue-route storeJs

storeJs 用来持久化vuex状态

展示

2372268816-5bcc53b4eb78e_articlex.png

2990501706-5bcc56627f51e_articlex.png

介绍说明

没有使用electron内置的-webkit-app-region: drag 因为使用他那个有很多问题
比如事件无法使用 右键无法使用 以及不能使用手型等!

安装

安装的时候没有截图 所以就参考下其他的文章吧
storeJs 安装

npm install storejs

准备写代码

配置路由文件

export default new Router({
 routes: [
 {path: '/', name: 'home', component: ()=> import('@/view//home')},
 {path: '/suspension', name: 'suspension', component: ()=> import('@/view/components/suspension')}
 ]
})

写悬浮窗页面

页面路径 /src/renderer/view/components/suspension.vue

<template>
 <div id="suspension">
 <div class="logo"></div>
 <div class="content_body">
  <div class="upload">拖拽上传</div>
 </div>
 </div>
</template>

<script>
 export default {
 name: "suspension",
 mounted() {
  let win = this.$electron.remote.getCurrentWindow();
  let biasX = 0;
  let biasY = 0;
  let that = this;
  document.addEventListener('mousedown', function (e) {
  switch (e.button) {
   case 0:
   biasX = e.x;
   biasY = e.y;
   document.addEventListener('mousemove', moveEvent);
   break;
   case 2:
   that.$electron.ipcRenderer.send('createSuspensionMenu');
   break;
  }
  });

  document.addEventListener('mouseup', function () {
  biasX = 0;
  biasY = 0;
  document.removeEventListener('mousemove', moveEvent)
  });

  function moveEvent(e) {
  win.setPosition(e.screenX - biasX, e.screenY - biasY)
  }
 }
 }
</script>

<style>
 * {
 padding: 0;
 margin: 0;
 }
 .upload {
 height: 25px;
 line-height: 25px;
 font-size: 12px;
 text-align: center;
 color: #74A1FA;
 }

 .logo {
 width: 40px;
 background: #5B9BFE url("../../assets/img/logo@2x.png") no-repeat 2px 3px;
 background-size: 80%;
 }

 .content_body {
 background-color: #EEF4FE;
 width: 100%;
 }

 #suspension {
 -webkit-user-select: none;
 cursor: pointer;
 overflow: hidden;
 }

 #suspension {
 cursor: pointer !important;
 height: 25px;
 border-radius: 4px;
 display: flex;
 border: 1px solid #3388FE;
 }
</style>

主进程创建悬浮窗页面代码

路径: /src/main/window.js

import {BrowserWindow, ipcMain, screen, Menu, shell, app, webContents} from 'electron'

var win = null;
const window = BrowserWindow.fromWebContents(webContents.getFocusedWebContents());
const winURL = process.env.NODE_ENV === 'development' ? `http://localhost:9080/#/suspension` : `file://${__dirname}/index.html/#/suspension`;
ipcMain.on('showSuspensionWindow', () => {
 if (win) {
 if (win.isVisible()) {
  createSuspensionWindow();
 } else {
  win.showInactive();
 }
 } else {
 createSuspensionWindow();
 }

});

ipcMain.on('createSuspensionMenu', (e) => {
 const rightM = Menu.buildFromTemplate([
 {label: '开始全部任务', enabled: false},
 {label: '暂停全部任务', enabled: false},
 {label: '本次传输完自动关机'},
 {type: 'separator'},
 {
  label: '隐藏悬浮窗',
  click: () => {
  window.webContents.send('hideSuspension', false);
  win.hide()
  }
 },
 {type: 'separator'},
 {
  label: '加入qq群',
  click: () => {
  shell.openExternal('tencent://groupwpa/?subcmd=all¶m=7B2267726F757055696E223A3831343237303636392C2274696D655374616D70223A313533393531303138387D0A');
  }
 },
 {
  label: 'GitHub地址',
  click: () => {
  shell.openExternal('https://github.com/lihaotian0607/auth');
  }
 },
 {
  label: '退出软件',
  click: () => {
  app.quit();
  }
 },
 ]);
 rightM.popup({});
});

function createSuspensionWindow() {
 win = new BrowserWindow({
 width: 107, //悬浮窗口的宽度 比实际p的宽度要多2px 因为有1px的边框
 height: 27, //悬浮窗口的高度 比实际p的高度要多2px 因为有1px的边框
 type: 'toolbar', //创建的窗口类型为工具栏窗口
 frame: false, //要创建无边框窗口
 resizable: false, //禁止窗口大小缩放
 show: false, //先不让窗口显示
 webPreferences: {
  devTools: false //关闭调试工具
 },
 transparent: true, //设置透明
 alwaysOnTop: true, //窗口是否总是显示在其他窗口之前
 });
 const size = screen.getPrimaryDisplay().workAreaSize; //获取显示器的宽高
 const winSize = win.getSize(); //获取窗口宽高

 //设置窗口的位置 注意x轴要桌面的宽度 - 窗口的宽度
 win.setPosition(size.width - winSize[0], 100);
 win.loadURL(winURL);

 win.once('ready-to-show', () => {
 win.show()
 });

 win.on('close', () => {
 win = null;
 })
}

ipcMain.on('hideSuspensionWindow', () => {
 if (win) {
 win.hide();
 }
});

store文件

路径: /src/renderer/store/modules/suspension.js

import storejs from 'storejs'

const state = {
 show: storejs.get('showSuspension')
};

const actions = {
 showSuspension: function ({state, commit}) {
 let status = true;
 storejs.set('showSuspension', status);
 state.show = status;
 },

 hideSuspension: function ({state, commit}) {
 let status = false;
 storejs.set('showSuspension', status);
 state.show = status;
 },
};

export default ({
 state,
 actions
});

版权说明

里面使用的百度的图标以及UI作为学习使用,请不要作为商业用途!

遗留问题

在软件关闭之后重启会导致悬浮窗口的位置重置 也曾尝试在主进程中使用store.js 但是不能用!
如果想解决这个问题 可以在渲染进程中将拖动的最后坐标保存到storejs中
在渲染进程给主进程发送异步消息的时候将坐标携带进去 也可以使用nedb在主进程中存储坐标!

github地址

使用electron制作百度网盘客户端: https://github.com/lihaotian0...
使用electron制作百度网盘悬浮窗: https://github.com/lihaotian0...

热心网友 时间:2022-04-22 15:03

1 找到好友的聊天框,在会话框里查看消息,确定消息内容


2 点击文件,出现“保存”图标

点击
3 点击“确定”,文件就这样保存到你的网盘了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
现在思科的CCNA,CCNE,CCIP的考证费分别是多少啊,通过率怎样 长春小飞没有车没有房 碳钢的多久生锈 碳钢多久会生锈 碳钢多长时间会开始生锈 碳钢和铝哪个容易生锈 梦见天宫图是什么意思 光遇2023好友树解锁图鉴 光遇二级节点多少个 ...火柴小女孩》《词语手册》里有很多词语的意思的,求告知 暖融融解释 刚炸出来的油条怎样使它保持热度时间长些? 做筋膜悬吊除皱吃什么有助恢复? 少女做了筋膜悬吊后悔死了!筋膜悬吊后筋变松怎么办,这也太南了? 眼睛做上睑下唾加阔筋膜悬吊术 秋天的景色 作文 面部筋膜悬吊半个月,热敷后突然全脸肿胀,右鬓角开口处周围肿胀厉害,感觉里面的线刺痛。应该怎么做 筋膜损伤怎么办?筋膜提拉术多久才自然?筋膜损伤多久能好? 筋膜悬吊后悔?筋膜悬吊术后肿胀时间到底是多久? 孙悟空成为万佛之祖后,他和如来谁的地位更高 如来法力滔天,三界中有谁能让他也倍感忌惮? 万佛之祖孙悟空和如来谁法力强 孙悟空变成万佛之祖后法力比观音菩萨厉害吗 孙悟空和元始天尊谁厉害。 作为男生不看NBA不会打篮球,自己是不是有问题? 优酷的视频上传 兄弟们不好意思,这号我等不及先下手了,来看看值不值 成为斗战胜佛后,孙悟空到底有多强呢? 麒麟985和天玑1300+哪个好 iphone恢复出厂设置 electron新窗口怎么固定位置? 奇瑞小蚂蚁甜粉版将于11月13日上市 最大续航里程408公里 早泄可治吗 加入浪漫美学理念 奇瑞小蚂蚁·魅或5月20日上市 奇瑞小蚂蚁甜粉款正式上市 售6.69-8.19万元 奇瑞小蚂蚁全新配色 预计9月上市 早泄可以自己治好吗? 奇瑞小蚂蚁中配和高配应该买哪款? 奇瑞小蚂蚁Pro申报图曝光 有望于9月上市 奇瑞小蚂蚁·魅将于5月下旬上市 采用魅惑紫配色 奇瑞小蚂蚁柠檬黄色官图发布,或9月上市 小蚂蚁是小富婆车吗? 奇瑞新能源小蚂蚁女王版将在3月25日上市 csgo b5是什么 B5平台怎么样? 外贸在哪个平台做 云票助手申请电子票怎么读入 全国硕士研究生入学考试总分多少? 如何使用综合素质评价指标 干姜配山药服用都有什么疗效和负作用? 为什么有人喜欢吃生姜?吃生姜对人好不好呢?