HonorLee 5 years ago
parent
commit
6c6216f0ec
9 changed files with 49 additions and 26 deletions
  1. 10 0
      README.md
  2. 1 1
      asset/css/main.css
  3. 2 2
      asset/less/main.less
  4. 8 3
      lib/main.js
  5. 1 1
      lib/popup.js
  6. 20 17
      main.js
  7. 1 1
      manifest.json
  8. 4 0
      windows/main.html
  9. 2 1
      windows/popup.html

+ 10 - 0
README.md

@@ -15,6 +15,16 @@ Random English Learning 随机英语单词学习Chrome插件(APP)
 
 Changelog
 
+v1.2
+
+修复windows系统下移动窗口鼠标事件会阻断弹窗例句翻译的鼠标事件问题
+
+修复windows系统下第一次弹窗无法正常调用数据获取函数问题
+
+加入数据清除功能
+
+优化弹窗性能
+
 v1.1
 
 修复一些bug

File diff suppressed because it is too large
+ 1 - 1
asset/css/main.css


+ 2 - 2
asset/less/main.less

@@ -47,8 +47,8 @@ html,body{height:100%;width:100%;}
 }
 
 #popup{
-    background:#49A3D4;color:#fff;padding:20px;box-sizing:border-box;overflow:scroll;
-    .info{-webkit-app-region: drag;}
+    background:#49A3D4;color:#fff;padding:20px;box-sizing:border-box;overflow:scroll;position: relative;
+    .movebar{-webkit-app-region: drag;position:absolute;top:0;left:0;right:60px;height:20px;}
     .loading{display:none;width:100%;height:100%;position: absolute;top:0;left:0;right:0;z-index:100;bottom:0;background:rgba(0,0,0,0.6);justify-content:center;align-items:center;
         &.on{display:flex}
         p{color:#fff;line-height:40px;font-size:16px}

+ 8 - 3
lib/main.js

@@ -18,9 +18,11 @@ $(function(){
     })
 
     chrome.notifications.onButtonClicked.addListener(function(e,index){
-        if(e!='deleteword') return;
-        if(index==0) bg.deleteWord(delWord);
-        delWord = null;
+        if(e=='deleteword'){
+            if(index==0) bg.deleteWord(delWord);
+            delWord = null;
+        }
+        if(e=='clearData' && index==0) bg.clearDatas();
     })
 
     $('.tabContent .list').on('click','li a.info',function(){
@@ -102,6 +104,9 @@ $(function(){
     $('.importForm .cancel').click(function(){
         chrome.app.window.current().close();
     });
+    $('button#clearData').click(function(){
+        chrome.notifications.create('clearData',{iconUrl:'../asset/img/logo@x128.png',message:'确定清除全部数据么?',type:'basic',title:'清除数据!',buttons:[{title:'Yes'},{title:'No'}]});
+    });
 });
 
 function buildNormalList(listIndex){

+ 1 - 1
lib/popup.js

@@ -13,7 +13,7 @@ $(function(){
         audio.play();
     });
     $('.info a.close').click(function(){
-        chrome.app.window.current().close();
+        chrome.app.window.current().hide();
     });
 });
 

+ 20 - 17
main.js

@@ -12,6 +12,13 @@ chrome.storage.local.get(['wordsArr','starsArr','wordsObj','wordOpt','setting'],
     wordDataObj = items.wordsObj?items.wordsObj:{};
     wordOpt     = items.wordOpt?items.wordOpt:{};
     setting     = items.setting?items.setting:{timerMin:10};
+    chrome.app.window.create('windows/popup.html', {
+        id:'popup',
+        resizable:false,
+        alwaysOnTop:true,
+        hidden:true,
+        frame:{type:'none'}
+    });
     setTimer();
 });
 chrome.app.runtime.onLaunched.addListener(function() {
@@ -28,26 +35,11 @@ chrome.app.runtime.onLaunched.addListener(function() {
     });
 });
 var showWordInfo = function(word){
-    var oldWindow = chrome.app.window.get('popup');
-    if(oldWindow){
-        createPopup(oldWindow,word);
-    }else{
-        chrome.app.window.create('windows/popup.html', {
-            id:'popup',
-            resizable:false,
-            alwaysOnTop:true,
-            hidden:true,
-            frame:{type:'none'}
-        },function(popup){
-            createPopup(popup,word);
-        });
-    }
-}
-
-function createPopup(popup,word){
+    var popup = chrome.app.window.get('popup');
     var popWidth = 300,popHeight = 400;
     currentWord = word;
     chrome.system.display.getInfo(function(display){
+        console.log(123)
         var displayOpt = display[0].workArea;
         popup.outerBounds.left = displayOpt.width - popWidth - 20;
         popup.outerBounds.top = 20 + displayOpt.top;
@@ -58,6 +50,7 @@ function createPopup(popup,word){
         //     chrome.storage.local.set({wordsObj:bg.wordDataObj,wordOpt:bg.wordOpt});
         // });
     });
+
 }
 
 function randomShow(){
@@ -130,4 +123,14 @@ function importWord(wordArr){
     })
 }
 
+function clearDatas(){
+    wordDataArr = [];
+    wordStarArr = [];
+    wordDataObj = {};
+    wordOpt     = {};
+    chrome.runtime.sendMessage('updateStarList');
+    chrome.storage.local.set({wordsArr:wordDataArr,wordsObj:wordDataObj,wordOpt:wordOpt,starsArr:wordStarArr},function(e){
+        chrome.notifications.create('clearDone',{iconUrl:'./asset/img/logo@x128.png',message:'数据清除成功',type:'basic',title:'清除完成!'});
+    })
+}
 

+ 1 - 1
manifest.json

@@ -1,7 +1,7 @@
 {
     "name": "Random-English-Learning!",
     "description": "随机英语单词学习WebAPP。",
-    "version": "1.0",
+    "version": "1.2",
     "manifest_version": 2,
     "app": {
         "background": {

+ 4 - 0
windows/main.html

@@ -36,6 +36,10 @@
             <button value="手动导入" id="importWord">手动导入</button>
             <p>目前仅支持导入TXT文件,文件内容为纯单词表,一行一个,建议使用UTF-8格式文件</p>
         </div>
+        <div class="clearData">
+            <button id="clearData">清除数据</button>
+            <p>清除数据会清掉所有单词词库</p>
+        </div>
     </div>
 </div>
 <div class="loading">

+ 2 - 1
windows/popup.html

@@ -7,6 +7,7 @@
     <link rel="stylesheet" href="../asset/css/font-awesome.min.css">
 </head>
 <body id="popup">
+<div class="movebar"></div>
 <div class="info">
     <a class="close">-</a>
     <div class="word"><p class="w"></p><p class="pron">[<span></span>]<a class="audio"><i class="fa fa-play-circle"></i></a></p></div>
@@ -14,7 +15,7 @@
     <div class="example"></div>
     <div class="from">数据来源 - <a href="https://www.shanbay.com/" title="" target="_blank">扇贝网</a></div>
 </div>
-<div class="loading">
+<div class="loading on">
     <p>单词信息读取中,请稍后...</p>
 </div>
 <script src="../lib/jquery.min.js"></script>