123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102 |
- /**
- * @Author HonorLee (dev@honorlee.me)
- * @Version 1.0 (2019-04-21)
- * @License MIT
- */
- var mainWidth = 600,mainHeight = 800;
- var wordDataArr,wordStarArr,wordDataObj,wordOpt,currentWord,setting;
- var autoShowTimer;
- chrome.storage.local.get(['wordsArr','starsArr','wordsObj','wordOpt','setting'],function(items){
- wordDataArr = items.wordsArr?items.wordsArr:[];
- wordStarArr = items.starsArr?items.starsArr:[];
- wordDataObj = items.wordsObj?items.wordsObj:{};
- wordOpt = items.wordOpt?items.wordOpt:{};
- setting = items.setting?items.setting:{timerMin:10};
- setTimer();
- });
- chrome.app.runtime.onLaunched.addListener(function() {
- chrome.app.window.create('windows/main.html', {
- id:'main',
- innerBounds:{width:mainWidth,height:mainHeight},
- resizable:false,
- frame:{type:'none'}
- },function(mainWindow){
- mainWindow.resizeTo(mainWidth,mainHeight);
- mainWindow.onClosed.addListener(function(){
- chrome.storage.local.set({wordsArr:wordDataArr,starsArr:wordStarArr,wordsObj:wordDataObj,wordOpt:wordOpt,setting:setting});
- });
- });
- });
- 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 popWidth = 300,popHeight = 400;
- currentWord = word;
- chrome.system.display.getInfo(function(display){
- var displayOpt = display[0].workArea;
- popup.outerBounds.left = displayOpt.width - popWidth - 20;
- popup.outerBounds.top = 20 + displayOpt.top;
- // popup.innerBounds = {width:popWidth,height:popHeight};
- popup.show();
- chrome.runtime.sendMessage('updateInfo');
- // popup.onClosed.addListener(function(){
- // chrome.storage.local.set({wordsObj:bg.wordDataObj,wordOpt:bg.wordOpt});
- // });
- });
- }
- function randomShow(){
- console.log(1)
- if(wordDataArr.length==0) return;
- var mid = 3;
- var percent = Math.floor(Math.random()*10);
- var randomIndex = 0,word;
- if(wordStarArr.length==0) percent = 0;
- if(percent<=mid){
- randomIndex = Math.floor(Math.random()*wordDataArr.length);
- word = wordDataArr[randomIndex];
- }else{
- randomIndex = Math.floor(Math.random()*wordStarArr.length);
- word = wordStarArr[randomIndex];
- }
- showWordInfo(word);
- }
- //0:unstar 1:star
- function starWord(type,word){
- if(type==0){
- var wi = wordStarArr.indexOf(word);
- wordStarArr.splice(wi,1);
- }else if(type==1){
- wordStarArr.push(word);
- }
- wordDataObj[word]['isStar'] = type;
- wordStarArr.sort();
- chrome.storage.local.set({starsArr:wordStarArr,wordsObj:wordDataObj},function(e){
- chrome.notifications.create('importNotifi'+(new Date().getTime()),{iconUrl:'../asset/img/logo@x128.png',message:'单词['+word+']已'+(type==0?'从收藏列表移除':'加入收藏'),type:'basic',title:'设置已保存!'});
- chrome.runtime.sendMessage('updateStarList');
- })
- }
- function setTimer(){
- if(autoShowTimer) clearInterval(autoShowTimer);
- autoShowTimer = setInterval(randomShow, setting.timerMin*1000*60);
- }
|