From 38ba246ae0f75e1e845939e48cfe757b4f8ba667 Mon Sep 17 00:00:00 2001 From: xiao_io <2238929232@qq.com> Date: Sat, 5 Feb 2022 09:24:10 +0800 Subject: [PATCH 1/2] init --- packages/shell-chrome/manifest.json | 155 ++++++++++++++-------------- 1 file changed, 76 insertions(+), 79 deletions(-) diff --git a/packages/shell-chrome/manifest.json b/packages/shell-chrome/manifest.json index 6e59f6b..d961343 100644 --- a/packages/shell-chrome/manifest.json +++ b/packages/shell-chrome/manifest.json @@ -1,81 +1,78 @@ { - "name": "学生助手", - "version": "0.1.0", - "description": "BitDance Chrome Extension", - "manifest_version": 2, - "omnibox": { - "keyword": "ss" - }, - "icons": { - "16": "assets/image/logo.png", - "48": "assets/image/logo.png", - "128": "assets/image/logo.png" - }, - "background": { - "scripts": [ - "assets/js/lib/jquery.min.js", - "assets/js/background.js", - "assets/js/advanced-search/background.js" - ] - }, - "content_scripts": [ - { - "matches": [ - "", - "*://*/*" - ], - "js": [ - "assets/js/lib/jquery.min.js", - "assets/js/content.js", - "assets/js/advanced-search/content.js", - "assets/js/mouse-effects/click.js", - "assets/js/mouse-effects/mouse-style.js" - ], - "css": [], - "run_at": "document_start" + "name": "学生助手", + "version": "0.1.0", + "description": "BitDance Chrome Extension", + "manifest_version": 2, + "omnibox": { + "keyword": "ss" }, - { - "matches": [ - "http://blog.csdn.net/*", - "https://blog.csdn.net/*" - ], - "js": [ - "assets/js/lib/jquery.min.js", - "assets/js/expand-full-text/expand.js" //, - // "assets/js/content-scripts/click.js", - // "assets/js/content-scripts/mouse-style.js" - ], - "run_at": "document_start" - } - ], - "browser_action": { - "default_icon": "assets/image/logo.png", - "default_popup": "popup.html", - "default_title": "学生助手" - }, - "commands": { - "_execute_browser_action": { - "suggested_key": { - "default": "Alt+Comma", - "mac": "Alt+Comma" - }, - "description": "打开 [学生助手] 插件" - } - }, - "web_accessible_resources": [ - "/assets/image/*" - ], - // "default_locale": "zh_CN", - "permissions": [ - "background", - "contextMenus", - "storage", - "unlimitedStorage", - "webRequest", - "webRequestBlocking", - "tabs", - "storage", - "activeTab", - "notifications" - ] -} + "icons": { + "16": "assets/image/logo.png", + "48": "assets/image/logo.png", + "128": "assets/image/logo.png" + }, + "background": { + "scripts": [ + "assets/js/lib/jquery.min.js", + "assets/js/background.js", + "assets/js/advanced-search/background.js" + ] + }, + "content_scripts": [{ + "matches": [ + "", + "*://*/*" + ], + "js": [ + "assets/js/lib/jquery.min.js", + "assets/js/content.js", + "assets/js/advanced-search/content.js", + "assets/js/mouse-effects/click.js", + "assets/js/mouse-effects/mouse-style.js" + ], + "css": [], + "run_at": "document_start" + }, + { + "matches": [ + "http://blog.csdn.net/*", + "https://blog.csdn.net/*" + ], + "js": [ + "assets/js/lib/jquery.min.js", + "assets/js/expand-full-text/expand.js" + ], + "run_at": "document_start" + } + ], + "browser_action": { + "default_icon": "assets/image/logo.png", + "default_popup": "popup.html", + "default_title": "学生助手" + }, + "commands": { + "_execute_browser_action": { + "suggested_key": { + "default": "Alt+Comma", + "mac": "Alt+Comma" + }, + "description": "打开 [学生助手] 插件" + } + }, + "web_accessible_resources": [ + "/assets/image/*" + ], + // "default_locale": "zh_CN", + "permissions": [ + "background", + "contextMenus", + "storage", + "unlimitedStorage", + "webRequest", + "webRequestBlocking", + "tabs", + "storage", + "activeTab", + "notifications" + ] +} \ No newline at end of file From bb72d2423d7f32bb356b09c86614ae51e069ba20 Mon Sep 17 00:00:00 2001 From: xiao_io <2238929232@qq.com> Date: Sat, 5 Feb 2022 13:43:37 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E9=BC=A0=E6=A0=87=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E5=BC=80=E5=85=B3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/shell-chrome/assets/css/main.css | 63 ++++++++++++++++++ packages/shell-chrome/assets/css/main.less | 65 +++++++++++++++++++ .../assets/js/mouse-effects/click.js | 5 +- .../assets/js/mouse-effects/mouse-style.js | 30 +++++---- packages/shell-chrome/assets/js/popup.js | 64 ++++++++++++++++++ packages/shell-chrome/popup.html | 12 +++- 6 files changed, 223 insertions(+), 16 deletions(-) diff --git a/packages/shell-chrome/assets/css/main.css b/packages/shell-chrome/assets/css/main.css index c4da85d..8080d2b 100644 --- a/packages/shell-chrome/assets/css/main.css +++ b/packages/shell-chrome/assets/css/main.css @@ -94,3 +94,66 @@ a { #popup .article ul li #click-per .button .layer { transition: 0.3s ease all; } +#popup .article ul li #mouse-style .button { + position: relative; + float: right; + top: 6px; + right: 6px; + width: 66px; + height: 32px; + border-radius: 100px; +} +#popup .article ul li #mouse-style .button .checkbox { + position: relative; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; + z-index: 3; +} +#popup .article ul li #mouse-style .button .knobs, +#popup .article ul li #mouse-style .button .layer { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; +} +#popup .article ul li #mouse-style .button .knobs { + z-index: 2; +} +#popup .article ul li #mouse-style .button .layer { + border-radius: 100px; + width: 100%; + background-color: #ebf7fc; + z-index: 1; +} +#popup .article ul li #mouse-style .button .knobs::before { + content: "YES"; + position: absolute; + top: 2px; + left: 34px; + width: 20px; + height: 10px; + color: #fff; + font-size: 10px; + font-weight: bold; + text-align: center; + line-height: 1; + padding: 9px 4px; + background-color: #03a9f4; + border-radius: 50%; +} +#popup .article ul li #mouse-style .button .checkbox:checked + .knobs:before { + content: "NO"; + left: 3px; + background-color: #f44336; +} +#popup .article ul li #mouse-style .button .checkbox:checked ~ .layer { + background-color: #fcebeb; +} +#popup .article ul li #mouse-style .button .knobs, +#popup .article ul li #mouse-style .button .knobs:before, +#popup .article ul li #mouse-style .button .layer { + transition: 0.3s ease all; +} diff --git a/packages/shell-chrome/assets/css/main.less b/packages/shell-chrome/assets/css/main.less index fb31921..28945a3 100644 --- a/packages/shell-chrome/assets/css/main.less +++ b/packages/shell-chrome/assets/css/main.less @@ -99,6 +99,71 @@ a { } } } + #mouse-style{ + .button { + position: relative; + float: right; + top: 6px; + right: 6px; + width: 66px; + height: 32px; + border-radius: 100px; + .checkbox { + position: relative; + width: 100%; + height: 100%; + opacity: 0; + cursor: pointer; + z-index: 3; + } + .knobs, + .layer { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + } + .knobs { + z-index: 2; + } + .layer{ + border-radius: 100px; + width: 100%; + background-color: #ebf7fc; + z-index: 1; + } + .knobs::before { + content: "YES"; + position: absolute; + top: 2px; + left: 34px; + width: 20px; + height: 10px; + color: #fff; + font-size: 10px; + font-weight: bold; + text-align: center; + line-height: 1; + padding: 9px 4px; + background-color: #03a9f4; + border-radius: 50%; + } + .checkbox:checked+.knobs:before { + content: "NO"; + left: 3px; + background-color: #f44336; + } + .checkbox:checked~.layer { + background-color: #fcebeb; + } + .knobs, + .knobs:before, + .layer{ + transition: 0.3s ease all; + } + } + } } } } diff --git a/packages/shell-chrome/assets/js/mouse-effects/click.js b/packages/shell-chrome/assets/js/mouse-effects/click.js index 1c37581..3db12e9 100644 --- a/packages/shell-chrome/assets/js/mouse-effects/click.js +++ b/packages/shell-chrome/assets/js/mouse-effects/click.js @@ -7,14 +7,15 @@ $(function() { // 每次改变开关状态时刷新页面使功能及时生效 chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { + console.log('click'); location.reload(); sendResponse('Reload page'); }) // 控制功能是否开启 - chrome.storage.sync.get('clickState', function(budget) { + chrome.storage.sync.get('clickState3', function(budget) { // 得到按钮开关状态 - if (budget.clickState == false || budget.clickState == undefined) { + if (budget.clickState3 == false || budget.clickState3 == undefined) { // console.log('click功能启动'); var hearts = []; diff --git a/packages/shell-chrome/assets/js/mouse-effects/mouse-style.js b/packages/shell-chrome/assets/js/mouse-effects/mouse-style.js index 77963da..fc2d706 100644 --- a/packages/shell-chrome/assets/js/mouse-effects/mouse-style.js +++ b/packages/shell-chrome/assets/js/mouse-effects/mouse-style.js @@ -4,16 +4,24 @@ $(function() { console.log("[BitDance extension] 学生助手插件 - 鼠标样式模块加载成功"); - walk(); + // 每次改变开关状态时刷新页面使功能及时生效 + chrome.runtime.onMessage.addListener((request, sender, sendResponse) => { + console.log('mouse'); + location.reload(); + sendResponse('Reload page'); + }) - // 走起 - function walk() { - changeMouse(); - } - - function changeMouse() { - $('*').hover(function() { - $(this).css("cursor", "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c%0A6QAABPxJREFUWEe9lltIalkYx9feak1hDBonIvVM0ZyKLmAM3YyIqB6KCgrK%0Abj710G1gKooJJrCYiB4q6qHefIgoKoaChpiieojQJIWiy0GygzaO0RVhSDTb%0Ae+1hOSlb3d56aL+Iur/1/db3/77/Whj4/6kGAOgAAPq37x/2gQEAyrRa7V9s%0ANhuTSqXk5eXlGUVRTR8FgwC+HB0dfc3JyWG7tq3RaAiZTAY/AgYBgNTU1Bed%0AThfBVHcE09DQQFxfX1+EUJkoAMAnAMDfoWroBMAwTAsh/ClYUACYIQzDfkeg%0ACQkJ5Pz8PG6xWB4oihIEW9MJwCRDsECVSoUqQ97c3BgrKioSNzc3I+kxZrMZ%0AikQinKIoVw7GJd1/BpLBH8zr6ysVHx9Pra2tUS0tLS9CoRBfW1vjJCQksFDM%0Azs4OUV1dPffy8vKLvzXcAKHKQF9ILpeTVVVVFL2B9/f3SQSTlJSEraysRAiF%0AQlagKtDL4zMNwWSoqakhNzY2nLtlehBMSUkJAtgDAKDRfvB+z0OfcGUYHx9/%0ALS4uxgoKCtwj7J0Ax3EAIQR7e3tEc3MzcX9/r6TDeAC8RwYulwufn59xpgos%0ALi46Li4u8LGxMQ9ABINM7+npSeTdoWHLMDIyQqhUKmp7e5tDhzg9PSXFYjEG%0AIWSEQw0cExMz5TMiiYmJNoPB8F0w/en/Ly0tvba2tnIKCgpIkUhEra6u4vn5%0A+VClUjFKgyojk8msFEXxfQDeIwMdBu2Mw+Ewzr5WqyXz8vIICOGPAIB/nCbI%0AsNMvSqXyq0Qi8dtYTNVBLri6usoYY7FYkCkRVqu1CtkDPZ6RVCAQ2A0GQ8To%0A6Cg8Pj4GEokEDg4OemjsDVFbW0vy+XxSoVC4zxRUjeTkZIfJZPoVADDDBM4I%0AgGGYjsfjfdna2oLIZA4PD4ny8nJ8YGAAyuXyoCOHEvX19dlnZ2f/dDgcDYH6%0AiQlgqLKycmh4eJhFdzi0SFlZmaO9vZ2qr6/38H2RSARvb28JkiQj5ubmHB0d%0AHc4qZGdn205OTlJceodUAQzDKGQcaWlpdp1O5zMNLmPp6uoiULPNzMyw0G96%0AvZ64uroCubm5OI/Hc49eMAjvCkRJpdJ/l5eX2fn5+Xa1Wu0DUFhYSCqVSqf9%0ASiQSQq1Ws6Ojo6FCoYBSqZRRnjeIH4JaMQDgc29v7+XU1FSk0WgkHx4ePA4a%0AlLSxsZFYWFhg0UetqamJnJiYwAQCAaPp0OTwgfDpAdTJT09PzoWYZMBxHPpz%0At2DmlZWVZTs/P/eAYDIis8lkike7KSoqsh0cHKBrlvNB9trW1gY0Go37BOzp%0A6bFNT0+73wkXwt8YIm8nMjIyMLPZ7JThzT7Z9N2jOedyuX+kp6dXHR8fvwvC%0A73UpMjJyxuFw/AwAcMoxODhIeJ9qSUlJdqPRiBILxWLxZTgQKSkpdr1eHxXw%0AvvZWzl2Kokq9S4vslc/n99EcLiyIycnJ1/7+/u9DAfi8u7v7rbS01GPEuFyu%0Aw2q1ehgSupKLxeLrYJVYX1931NXVyQEA46EAgLi4ONvd3Z3bE9CplpOTU+F9%0AsLxVKSAEPbm/05CpkT1kYLFYLxDCQHeGT5mZmddnZ2cejemdPBwAtwxoGlpb%0AW5MD+burEnQIpuThAIDY2Fj74+NjJI7jFnSTCTbvdIjOzk68u7t7GGnuHRdS%0AD7gWw3H8NwhhT4jJ6a8hKWxMcf8BWQiA/lSw+WUAAAAASUVORK5CYII=), crosshair"); - }); - } + // 控制功能是否开启 + chrome.storage.sync.get('clickState2', function(budget) { + // 得到按钮开关状态 + if (budget.clickState2 == false || budget.clickState2 == undefined) { + $('*').hover(function() { + $(this).css("cursor", "url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c%0A6QAABPxJREFUWEe9lltIalkYx9feak1hDBonIvVM0ZyKLmAM3YyIqB6KCgrK%0Abj710G1gKooJJrCYiB4q6qHefIgoKoaChpiieojQJIWiy0GygzaO0RVhSDTb%0Ae+1hOSlb3d56aL+Iur/1/db3/77/Whj4/6kGAOgAAPq37x/2gQEAyrRa7V9s%0ANhuTSqXk5eXlGUVRTR8FgwC+HB0dfc3JyWG7tq3RaAiZTAY/AgYBgNTU1Bed%0AThfBVHcE09DQQFxfX1+EUJkoAMAnAMDfoWroBMAwTAsh/ClYUACYIQzDfkeg%0ACQkJ5Pz8PG6xWB4oihIEW9MJwCRDsECVSoUqQ97c3BgrKioSNzc3I+kxZrMZ%0AikQinKIoVw7GJd1/BpLBH8zr6ysVHx9Pra2tUS0tLS9CoRBfW1vjJCQksFDM%0Azs4OUV1dPffy8vKLvzXcAKHKQF9ILpeTVVVVFL2B9/f3SQSTlJSEraysRAiF%0AQlagKtDL4zMNwWSoqakhNzY2nLtlehBMSUkJAtgDAKDRfvB+z0OfcGUYHx9/%0ALS4uxgoKCtwj7J0Ax3EAIQR7e3tEc3MzcX9/r6TDeAC8RwYulwufn59xpgos%0ALi46Li4u8LGxMQ9ABINM7+npSeTdoWHLMDIyQqhUKmp7e5tDhzg9PSXFYjEG%0AIWSEQw0cExMz5TMiiYmJNoPB8F0w/en/Ly0tvba2tnIKCgpIkUhEra6u4vn5%0A+VClUjFKgyojk8msFEXxfQDeIwMdBu2Mw+Ewzr5WqyXz8vIICOGPAIB/nCbI%0AsNMvSqXyq0Qi8dtYTNVBLri6usoYY7FYkCkRVqu1CtkDPZ6RVCAQ2A0GQ8To%0A6Cg8Pj4GEokEDg4OemjsDVFbW0vy+XxSoVC4zxRUjeTkZIfJZPoVADDDBM4I%0AgGGYjsfjfdna2oLIZA4PD4ny8nJ8YGAAyuXyoCOHEvX19dlnZ2f/dDgcDYH6%0AiQlgqLKycmh4eJhFdzi0SFlZmaO9vZ2qr6/38H2RSARvb28JkiQj5ubmHB0d%0AHc4qZGdn205OTlJceodUAQzDKGQcaWlpdp1O5zMNLmPp6uoiULPNzMyw0G96%0AvZ64uroCubm5OI/Hc49eMAjvCkRJpdJ/l5eX2fn5+Xa1Wu0DUFhYSCqVSqf9%0ASiQSQq1Ws6Ojo6FCoYBSqZRRnjeIH4JaMQDgc29v7+XU1FSk0WgkHx4ePA4a%0AlLSxsZFYWFhg0UetqamJnJiYwAQCAaPp0OTwgfDpAdTJT09PzoWYZMBxHPpz%0At2DmlZWVZTs/P/eAYDIis8lkike7KSoqsh0cHKBrlvNB9trW1gY0Go37BOzp%0A6bFNT0+73wkXwt8YIm8nMjIyMLPZ7JThzT7Z9N2jOedyuX+kp6dXHR8fvwvC%0A73UpMjJyxuFw/AwAcMoxODhIeJ9qSUlJdqPRiBILxWLxZTgQKSkpdr1eHxXw%0AvvZWzl2Kokq9S4vslc/n99EcLiyIycnJ1/7+/u9DAfi8u7v7rbS01GPEuFyu%0Aw2q1ehgSupKLxeLrYJVYX1931NXVyQEA46EAgLi4ONvd3Z3bE9CplpOTU+F9%0AsLxVKSAEPbm/05CpkT1kYLFYLxDCQHeGT5mZmddnZ2cejemdPBwAtwxoGlpb%0AW5MD+burEnQIpuThAIDY2Fj74+NjJI7jFnSTCTbvdIjOzk68u7t7GGnuHRdS%0AD7gWw3H8NwhhT4jJ6a8hKWxMcf8BWQiA/lSw+WUAAAAASUVORK5CYII=), crosshair"); + }); + } else { + ('*').hover(function() { + $(this).css("cursor", "auto"); + }); + } + }) }) \ No newline at end of file diff --git a/packages/shell-chrome/assets/js/popup.js b/packages/shell-chrome/assets/js/popup.js index e69de29..41d014d 100644 --- a/packages/shell-chrome/assets/js/popup.js +++ b/packages/shell-chrome/assets/js/popup.js @@ -0,0 +1,64 @@ +$(function() { + // 获取开关状态 + chrome.storage.sync.get('clickState2', function(budget) { + // console.log(budget.clickState); + // 获取页面节点 + let input = document.querySelector("#button-2"); + // 改变开关状态(保持与上次设置时一致) + input.checked = budget.clickState2; + }); + // 获取开关状态 + chrome.storage.sync.get('clickState3', function(budget) { + // console.log(budget.clickState); + // 获取页面节点 + let input = document.querySelector("#button-3"); + // 改变开关状态(保持与上次设置时一致) + input.checked = budget.clickState3; + }); + + // 点击开关时改变按钮状态 + $("#button-2").click(function() { + // 获取开关 + let checked = $("#button-2"); + // 持久化存储开关状态 + chrome.storage.sync.set({ 'clickState2': checked[0].checked }); + console.log('mouse success'); + + // 自动刷新页面 + chrome.tabs.query({ + active: true, + currentWindow: true + }, (tabs) => { + console.log(tabs); + let message = { + info: 'reload' + } + chrome.tabs.sendMessage(tabs[0].id, message, res => { + console.log(res); + }) + }) + }); + + // 点击开关时改变按钮状态 + $("#button-3").click(function() { + // 获取开关 + let checked = $("#button-3"); + // 持久化存储开关状态 + chrome.storage.sync.set({ 'clickState3': checked[0].checked }); + console.log('click success'); + + // 自动刷新页面 + chrome.tabs.query({ + active: true, + currentWindow: true + }, (tabs) => { + console.log(tabs); + let message = { + info: 'reload' + } + chrome.tabs.sendMessage(tabs[0].id, message, res => { + console.log(res); + }) + }) + }) +}) \ No newline at end of file diff --git a/packages/shell-chrome/popup.html b/packages/shell-chrome/popup.html index 74a7713..2ab95ef 100644 --- a/packages/shell-chrome/popup.html +++ b/packages/shell-chrome/popup.html @@ -20,6 +20,12 @@
  • + 鼠标样式 +
    + +
    +
    +
  • @@ -35,8 +41,8 @@ - - + + - + \ No newline at end of file