Преглед на файлове

Merge remote-tracking branch 'origin/master'

gitname преди 8 години
родител
ревизия
1f7fd4f469
променени са 4 файла, в които са добавени 87 реда и са изтрити 50 реда
  1. 6 0
      .idea/vcs.xml
  2. 56 32
      resources/app/main.js
  3. 7 2
      resources/app/package-lock.json
  4. 18 16
      resources/app/package.json

+ 6 - 0
.idea/vcs.xml

@@ -0,0 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project version="4">
+  <component name="VcsDirectoryMappings">
+    <mapping directory="$PROJECT_DIR$" vcs="Git" />
+  </component>
+</project>

+ 56 - 32
resources/app/main.js

@@ -7,7 +7,6 @@ const url = require('url');//引入url处理模块
 const autoUpdater = require('electron-updater').autoUpdater;
 const {ipcMain} = require('electron');
 const dialog = require('electron').dialog;
-const regedit = require('regedit'); //引入regedit
 const Menu = electron.Menu;//引入菜单慕课
 const debug = (process.argv.indexOf('--debug')>0);
 let message={
@@ -28,7 +27,45 @@ try {
     process.argv[1]='https://www.flash.cn/';
 }
 var version=require(__dirname+"/package.json").version;
+let WinReg = require('winreg');
+let startOnBoot = {
+    enableAutoStart: function (name, file, callback) {
+        let key = getKey();
+        key.set(name, WinReg.REG_SZ, file, callback || noop)
+    },
+    disableAutoStart: function (name, callback) {
+        let key = getKey();
+        key.remove(name, callback || noop)
+    },
+    getAutoStartValue: function (name, callback) {
+        let key = getKey();
+        key.get(name, function (error, result) {
+            if (result) {
+                callback(null, result.value)
+            } else {
+                callback(error)
+            }
+        })
+    }
+};
+
+let RUN_LOCATION = '\\Software\\Microsoft\\Windows\\CurrentVersion\\Run';
+
+function getKey() {
+    return new WinReg({
+        hive: WinReg.HKCU, // CurrentUser,
+        key: RUN_LOCATION
+    })
+}
+function noop() {
+}
 function createCampusWindow(flag) {
+    if(CampusWindow){
+        CampusWindow.show();
+        CampusWindow.restore();
+        CampusWindow.focus();
+        return
+    }
     createIndexWindow(false);
     if(!flag) {
         setTimeout(function () {
@@ -40,9 +77,6 @@ function createCampusWindow(flag) {
         }, 1000 * 60*5);
         return false;
     }
-    CampusWindow.show();
-    CampusWindow.restore();
-    CampusWindow.focus();
 }
 function createIndexWindow(flag) {
     CampusWindow = new BrowserWindow({ width: 750, height: 540, maxWidth: 750, maxHeight: 540,resizable:false,frame: false });
@@ -64,6 +98,7 @@ function createIndexWindow(flag) {
 autoUpdater.setFeedURL('http://client.1473.cn/update');//设置检查更新的 url,并且初始化自动更新。这个 url 一旦设置就无法更改。
 function createWindow(request_url) {
     if(mainWindow){
+        mainWindow.show();
         mainWindow.focus();
         return false;
     }
@@ -211,19 +246,10 @@ function BindIpc(){
     ipc.on('window-close', function () {
         CampusWindow.close();
     });
-    /*校园资讯写注册表*/
-    regedit.putValue({
-        'HKCU\\Software\\Microsoft\\Windows\\CurrentVersion\\Run':{
-            'CampusInfo' : {
-                value : process.argv[0]+' start',
-                type : 'REG_SZ'
-            }
-        }
-    },function () {
-    });
     /*校园资讯打开浏览器*/
     ipcMain.on('open-browers',function (e,arg) {
         mainWindow.webContents.send('url', arg);
+        mainWindow.show();
         mainWindow.focus();
     });
     /*浏览器ipc*/
@@ -231,13 +257,7 @@ function BindIpc(){
         childProcess.exec(process.argv[0]);//启动新的浏览器
     });
     ipc.on('CampusInfo',function () {
-        if(CampusWindow){
-            CampusWindow.show();
-            CampusWindow.restore();
-            CampusWindow.focus();
-        }else{
-            createCampusWindow(true);
-        }
+        createCampusWindow(true);
     });
     ipc.on('window-all-closed', function () {//退出
         mainWindow.close();
@@ -296,18 +316,22 @@ function BindIpc(){
         autoUpdater.quitAndInstall();
     });
 }
-const shouldQuit = app.makeSingleInstance((commandLine, workingDirectory) => {
-    if (CampusWindow) {
-        if (CampusWindow.isMinimized()){
-            CampusWindow.restore()
-        }
-        CampusWindow.focus();
-        CampusWindow.show();
-    }
-});
+const shouldQuit = app.makeSingleInstance((commandLine, workingDirectory) => {});
 app.on('ready',function () {
+    startOnBoot.enableAutoStart('有思浏览器', process.execPath+" start");
     BindIpc();//ipc通信绑定
+    createWindow();
     if(process.argv[1]==='start'){
+        mainWindow.hide();
+        if (shouldQuit) {
+            if (CampusWindow){
+                CampusWindow.restore();
+                CampusWindow.focus();
+                CampusWindow.show();
+            }
+            app.quit();
+            return;
+        }
         createCampusWindow();
     }else{
         if(process.argv[1]&&process.argv[1].indexOf('--')<0) {
@@ -315,9 +339,9 @@ app.on('ready',function () {
         }
         createWindow();
         CreateAboutUs();
-        if(!CampusWindow&&!shouldQuit){//让校园资讯在多个浏览器窗口开启的情况下也只有一个实例存在
+       /* if(!CampusWindow&&!shouldQuit){//让校园资讯在多个浏览器窗口开启的情况下也只有一个实例存在
             createCampusWindow();
-        }
+        }*/
     }
 } );
 app.on('window-all-closed', function () {

+ 7 - 2
resources/app/package-lock.json

@@ -1,6 +1,6 @@
 {
-  "name": "UseStudio-CampusInfo",
-  "version": "2.0.0",
+  "name": "Usestudio-Browser",
+  "version": "2.2.4",
   "lockfileVersion": 1,
   "requires": true,
   "dependencies": {
@@ -241,6 +241,11 @@
       "resolved": "http://registry.npm.taobao.org/universalify/download/universalify-0.1.1.tgz",
       "integrity": "sha1-+nG63UQ3r0wUiEHjs7Fl+enlkLc="
     },
+    "winreg": {
+      "version": "1.2.4",
+      "resolved": "https://registry.npmjs.org/winreg/-/winreg-1.2.4.tgz",
+      "integrity": "sha1-ugZWKbepJRMOFXeRCM9UCZDpjRs="
+    },
     "xtend": {
       "version": "4.0.1",
       "resolved": "http://registry.npm.taobao.org/xtend/download/xtend-4.0.1.tgz",

+ 18 - 16
resources/app/package.json

@@ -5,11 +5,12 @@
   "productName": "Usestudio-Browser",
   "version": "2.2.4",
   "author": "ZJINH",
-  "email":"211775259@qq.com",
+  "email": "211775259@qq.com",
   "dependencies": {
-    "electron-updater": "^2.21.10",
+    "electron-updater": "^3.1.2",
     "fs": "0.0.1-security",
-    "regedit": "^3.0.0"
+    "regedit": "^3.0.0",
+    "winreg": "^1.2.4"
   },
   "build": {
     "publish": [
@@ -33,7 +34,7 @@
     "nsis": {
       "oneClick": false,
       "menuCategory": "有思俱乐部",
-      "shortcutName": "有思浏览器",
+      "shortcutName": "互联办公",
       "allowToChangeInstallationDirectory": true,
       "perMachine": true,
       "runAfterFinish": true
@@ -45,27 +46,28 @@
         "dmg"
       ]
     },
-    "dmg":{
-      "window":{
-        "x":100,
-        "y":100,
-        "width":500,
-        "height":300
+    "dmg": {
+      "window": {
+        "x": 100,
+        "y": 100,
+        "width": 500,
+        "height": 300
       }
     }
   },
-  "linux":{
+  "linux": {
     "icon": "public\\img\\tray\\app.ico",
-    "target":[
-        "AppImage","tar.gz"
+    "target": [
+      "AppImage",
+      "tar.gz"
     ]
   },
   "scripts": {
-    "start": "electron .",
+    "dev": "electron .",
     "build:win": "electron-builder --win --ia32",
     "build:mac": "electron-builder --mac",
-    "build:linux":"electron-builder --platform=linux",
+    "build:linux": "electron-builder --platform=linux",
     "packager": "electron-packager ./ --all --out ./OutApp --version 1.4.0 --overwrite --icon=./public/img/tray/app.ico"
   },
   "license": "ZJINH"
-}
+}