chore: update extension

This commit is contained in:
steven
2022-09-30 14:39:19 +08:00
parent 02619882d1
commit 8d6848e754
5 changed files with 31 additions and 41 deletions

View File

@@ -1,40 +1,21 @@
const getCorgiData = () => {
return new Promise((resolve) => {
chrome.storage.local.get(["corgi"], (data) => {
resolve(data?.corgi);
});
});
};
import { getCorgiData } from "./common.js";
const fetchShortcut = async (name) => {
const corgiData = await getCorgiData();
if (corgiData.domain && corgiData.openId) {
const res = await fetch(`${corgiData.domain}/api/shortcut?openId=${corgiData.openId}&name=${name}`);
const { data } = await res.json();
if (data.length > 0) {
return data[0];
}
}
};
const urlRegex = /https?:\/\/o\/(.+)/;
const urlRegex = /https?:\/\/go\/(.+)/;
chrome.tabs.onUpdated.addListener(async (_1, _2, tab) => {
chrome.tabs.onUpdated.addListener(async (tabId, changeInfo, tab) => {
if (typeof tab.url === "string") {
const matchResult = urlRegex.exec(tab.url);
if (matchResult) {
const corgiData = await getCorgiData();
const name = matchResult[1];
const shortcut = await fetchShortcut(name);
if (shortcut && shortcut.link) {
chrome.tabs.update({ url: shortcut.link });
}
const url = `${corgiData.domain}/api/shortcut?openId=${corgiData.openId}&name=${name}&redirect=true`;
return chrome.tabs.update({ url });
}
}
});
chrome.omnibox.onInputEntered.addListener(async (text) => {
const shortcut = await fetchShortcut(text);
if (shortcut && shortcut.link) {
chrome.tabs.update({ url: shortcut.link });
}
const corgiData = await getCorgiData();
const url = `${corgiData.domain}/api/shortcut?openId=${corgiData.openId}&name=${text}&redirect=true`;
return chrome.tabs.update({ url });
});