From 1be3c1cd98935c67149fff539e7d299df39312c7 Mon Sep 17 00:00:00 2001 From: 9700X_PC <9700X_PC@gmail.com> Date: Wed, 5 Mar 2025 16:39:10 +0900 Subject: [PATCH] firstCommit --- background.js | 250 +++++++++++++++++++++++++++++++++++++++++++ content.js | 188 ++++++++++++++++++++++++++++++++ final1/background.js | 83 ++++++++++++++ final1/icon.png | Bin 0 -> 20724 bytes final1/manifest.json | 21 ++++ icon.png | Bin 0 -> 20724 bytes manifest.json | 28 +++++ 7 files changed, 570 insertions(+) create mode 100644 background.js create mode 100644 content.js create mode 100644 final1/background.js create mode 100644 final1/icon.png create mode 100644 final1/manifest.json create mode 100644 icon.png create mode 100644 manifest.json diff --git a/background.js b/background.js new file mode 100644 index 0000000..2c6f611 --- /dev/null +++ b/background.js @@ -0,0 +1,250 @@ +// background.js (Service Worker) + +chrome.runtime.onInstalled.addListener(() => { + chrome.contextMenus.create({ + id: "searchTrademark", + title: "지재권 검색", + contexts: ["selection"] + }); + chrome.alarms.create("keepAlive", { periodInMinutes: 4 }); +}); + +chrome.alarms.onAlarm.addListener((alarm) => { + if (alarm.name === "keepAlive") { + console.log("[background.js] 서비스 워커 유지 알람 실행됨"); + } +}); + +// 컨텍스트 메뉴 클릭 시 – 키워드 검색 후 각 결과의 출원번호로 상세 조회 진행 +chrome.contextMenus.onClicked.addListener((info, tab) => { + const keyword = info.selectionText.trim(); + if (!keyword) return; + const url = buildMarkInfoUrl(keyword); + + // 1. 키워드 검색: 기존 방식대로 __NUXT_DATA__ 파싱 (재귀적 인덱스 재활용) + fetch(url) + .then(resp => { + if (!resp.ok) throw new Error(`네트워크 오류: ${resp.status}`); + return resp.text(); + }) + .then(html => { + const match = /]*id="__NUXT_DATA__"[^>]*>([\s\S]*?)<\/script>/i.exec(html); + if (!match) throw new Error("__NUXT_DATA__ 태그를 찾을 수 없습니다."); + let jsonString = match[1]; + let globalData; + try { + globalData = JSON.parse(jsonString); + } catch (e) { + throw new Error("JSON 파싱 실패: " + e.toString()); + } + // 키워드 검색 결과 파싱 (등록정보만 추출 – 재귀적 인덱스 치환 방식) + const keywordResults = parseSearchResults(globalData); + if (!Array.isArray(keywordResults) || keywordResults.length === 0) { + throw new Error("키워드 검색 결과가 없습니다."); + } + // 최대 10건까지만 처리 + const limitedResults = keywordResults.slice(0, 10); + // 각 결과의 출원번호(appNum)로 상세 조회 진행 + const detailPromises = limitedResults.map(result => { + const appNum = result.registration_info.applicationNum; + return fetchDetailInfo(appNum) + .then(detail => { + result.detail = detail; + return result; + }) + .catch(err => { + result.detailError = err.toString(); + return result; + }); + }); + return Promise.all(detailPromises); + }) + .then(allResults => { + chrome.tabs.sendMessage(tab.id, { + action: "showTooltip", + detailInfo: allResults, + keyword: keyword + }); + }) + .catch(err => { + chrome.tabs.sendMessage(tab.id, { + action: "showTooltip", + detailInfo: { error: err.toString() }, + keyword: keyword + }); + }); +}); + +// 키워드 검색 URL (기본 코드 그대로) +function buildMarkInfoUrl(keyword) { + const encoded = encodeURIComponent(keyword); + return `https://markinfo.kr/search?page=1&size=20&sort=_score,desc&sort=applicationDate,desc&searchType=ST01&searchKeyword=${encoded}&statuses=APPLICATION&statuses=PUBLICATION&statuses=REGISTRATION`; +} + +/* ===== 1. 키워드 검색 결과 파싱 (재귀적 인덱스 재활용 방식) ===== */ + +/** + * 키워드 검색 __NUXT_DATA__에서 등록정보(상표명, 출원번호 등)만 추출하여 결과 배열로 반환 + */ +function parseSearchResults(globalData) { + let results = []; + let i = 0; + while (i < globalData.length) { + let item = globalData[i]; + if (isPlainObject(item) && item.hasOwnProperty("applicationNum")) { + let regRes = extractRegistrationInfo(globalData, i); + let registration_info = regRes.registration_info; + i = regRes.nextIndex; + results.push({ registration_info }); + } else { + i++; + } + } + return results; +} + +/** + * 등록정보 추출 (키워드 검색용 – 재귀적 인덱스 재활용) + */ +function extractRegistrationInfo(globalData, startIndex) { + let regMapping = null; + let i = startIndex; + for (; i < globalData.length; i++) { + let item = globalData[i]; + if (isPlainObject(item) && item.hasOwnProperty("applicationNum")) { + regMapping = item; + break; + } + } + if (!regMapping) return { registration_info: {}, nextIndex: i }; + const registration_info = {}; + for (let key in regMapping) { + const ref = regMapping[key]; + if (typeof ref === "number" && ref < globalData.length) { + registration_info[key] = globalData[ref]; + } else { + registration_info[key] = ref; + } + } + return { registration_info, nextIndex: i + 1 }; +} + +/* ===== 2. 상세 검색 (출원번호 기반) – 단일 결과용, 단순 치환 방식 ===== */ + +/** + * 상세 조회: 주어진 출원번호(appNum)로 상세 페이지 __NUXT_DATA__를 가져와서 + * 등록정보, 권리정보, 출원인 정보를 추출합니다. + * (대리인 정보는 제외) + */ +function fetchDetailInfo(appNum) { + const detailUrl = `https://markinfo.kr/search/${appNum}`; + return fetch(detailUrl) + .then(resp => { + if (!resp.ok) throw new Error(`네트워크 오류: ${resp.status}`); + return resp.text(); + }) + .then(html => { + const match = /]*id="__NUXT_DATA__"[^>]*>([\s\S]*?)<\/script>/i.exec(html); + if (!match) throw new Error("__NUXT_DATA__ 태그를 찾을 수 없습니다."); + let jsonString = match[1]; + let detailGlobalData; + try { + detailGlobalData = JSON.parse(jsonString); + } catch (e) { + throw new Error("JSON 파싱 실패: " + e.toString()); + } + if (!Array.isArray(detailGlobalData)) { + throw new Error("globalData가 배열이 아님"); + } + // 단일 결과이므로, mapping 객체 내 숫자값은 바로 치환 + const registration_info = detailExtractRegistrationInfo(detailGlobalData); + const rights_info = detailExtractRightsInfo(detailGlobalData); + const applicant_info = detailExtractApplicantInfo(detailGlobalData); + return { registration_info, rights_info, applicant_info }; + }); +} + +// 단일 상세 조회용 등록정보 추출 (숫자이면 한 번만 치환) +function detailExtractRegistrationInfo(globalData) { + let regMapping = null; + for (let item of globalData) { + if (isPlainObject(item) && item.hasOwnProperty("applicationNum")) { + regMapping = item; + break; + } + } + if (!regMapping) return {}; + const registration_info = {}; + for (let key in regMapping) { + const ref = regMapping[key]; + registration_info[key] = (typeof ref === "number" && ref < globalData.length) + ? globalData[ref] + : ref; + } + return registration_info; +} + +// 단일 상세 조회용 권리정보 추출 (숫자 치환만 진행) +function detailExtractRightsInfo(globalData) { + const rights_info = {}; + for (let item of globalData) { + if (isPlainObject(item) && + "classificationCode" in item && + "asignProductName" in item && + "asignProductNameEn" in item && + "similarCodes" in item && + !("applicationNum" in item)) { + let classificationCode = (typeof item.classificationCode === "number" && item.classificationCode < globalData.length) + ? globalData[item.classificationCode] + : item.classificationCode; + let asignProductName = (typeof item.asignProductName === "number" && item.asignProductName < globalData.length) + ? globalData[item.asignProductName] + : item.asignProductName; + let asignProductNameEn = (typeof item.asignProductNameEn === "number" && item.asignProductNameEn < globalData.length) + ? globalData[item.asignProductNameEn] + : item.asignProductNameEn; + let similarCodes = (typeof item.similarCodes === "number" && item.similarCodes < globalData.length) + ? globalData[item.similarCodes] + : item.similarCodes; + let designation = String(classificationCode); + if (!rights_info[designation]) { + rights_info[designation] = []; + } + rights_info[designation].push({ + asignProductName, + asignProductNameEn, + similarCodes + }); + } + } + return rights_info; +} + +// 단일 상세 조회용 출원인 정보 추출 – 오직 nationalCodeName와 applicantName만 표시, 그리고 출원날짜와 권리상태도 추가 +function detailExtractApplicantInfo(globalData) { + let mapping = {}; + for (let item of globalData) { + if (isPlainObject(item) && item.hasOwnProperty("applicantCode")) { + mapping["nationalCodeName"] = (typeof item["nationalCodeName"] === "number" && item["nationalCodeName"] < globalData.length) + ? globalData[item["nationalCodeName"]] + : item["nationalCodeName"]; + mapping["applicantName"] = (typeof item["applicantName"] === "number" && item["applicantName"] < globalData.length) + ? globalData[item["applicantName"]] + : item["applicantName"]; + // 추가: 출원날짜와 권리상태 (예: lastDisposalCodeName) + mapping["applicationDate"] = (typeof item["applicationDate"] === "number" && item["applicationDate"] < globalData.length) + ? globalData[item["applicationDate"]] + : item["applicationDate"]; + mapping["lastDisposalCodeName"] = (typeof item["lastDisposalCodeName"] === "number" && item["lastDisposalCodeName"] < globalData.length) + ? globalData[item["lastDisposalCodeName"]] + : item["lastDisposalCodeName"]; + break; + } + } + return { mapping }; +} + +/* ===== 유틸리티 함수 ===== */ +function isPlainObject(obj) { + return Object.prototype.toString.call(obj) === "[object Object]"; +} diff --git a/content.js b/content.js new file mode 100644 index 0000000..f7add6b --- /dev/null +++ b/content.js @@ -0,0 +1,188 @@ +// content.js + +let lastContextMenuPos = null; +let tooltipEl = null; + +document.addEventListener("contextmenu", (e) => { + lastContextMenuPos = { x: e.pageX, y: e.pageY }; +}); + +chrome.runtime.onMessage.addListener((message, sender, sendResponse) => { + if (message.action === "showTooltip") { + if (!tooltipEl) { + tooltipEl = document.createElement("div"); + tooltipEl.id = "markinfo-tooltip"; + tooltipEl.style.position = "absolute"; + tooltipEl.style.zIndex = "999999"; + tooltipEl.style.background = "#fff"; + tooltipEl.style.border = "1px solid #ccc"; + tooltipEl.style.borderRadius = "8px"; + tooltipEl.style.boxShadow = "0 4px 12px rgba(0,0,0,0.15)"; + tooltipEl.style.fontFamily = "'Roboto', sans-serif"; + tooltipEl.style.fontSize = "14px"; + tooltipEl.style.color = "#333"; + tooltipEl.style.maxWidth = "600px"; + tooltipEl.style.maxHeight = "500px"; + // 전체 툴팁 컨테이너에 flex 컬럼 레이아웃 + tooltipEl.style.display = "flex"; + tooltipEl.style.flexDirection = "column"; + + // 헤더: 항상 보이는 영역 (sticky) + const headerDiv = document.createElement("div"); + headerDiv.id = "markinfo-tooltip-header"; + headerDiv.style.position = "sticky"; + headerDiv.style.top = "0"; + headerDiv.style.background = "#fff"; + headerDiv.style.padding = "12px 16px"; + headerDiv.style.borderBottom = "1px solid #ccc"; + headerDiv.style.display = "flex"; + headerDiv.style.justifyContent = "space-between"; + headerDiv.style.alignItems = "center"; + + // 검색 키워드 제목 + const titleElem = document.createElement("h2"); + titleElem.id = "tooltip-title"; + titleElem.style.margin = "0"; + titleElem.style.fontSize = "20px"; + titleElem.style.color = "#2c3e50"; + headerDiv.appendChild(titleElem); + + // 내부 닫기 버튼 (헤더 내) + const headerCloseBtn = document.createElement("button"); + headerCloseBtn.textContent = "닫기"; + headerCloseBtn.style.padding = "6px 10px"; + headerCloseBtn.style.backgroundColor = "#e74c3c"; + headerCloseBtn.style.color = "#fff"; + headerCloseBtn.style.border = "none"; + headerCloseBtn.style.borderRadius = "4px"; + headerCloseBtn.style.cursor = "pointer"; + headerCloseBtn.onclick = removeTooltip; + headerDiv.appendChild(headerCloseBtn); + + // 스크롤되는 본문 영역 + const bodyDiv = document.createElement("div"); + bodyDiv.id = "markinfo-tooltip-body"; + bodyDiv.style.padding = "16px"; + bodyDiv.style.overflowY = "auto"; + // 본문 영역은 전체 높이에서 헤더 높이를 뺀 만큼 사용 + bodyDiv.style.flex = "1 1 auto"; + + tooltipEl.appendChild(headerDiv); + tooltipEl.appendChild(bodyDiv); + document.body.appendChild(tooltipEl); + + // 글로벌 닫기 버튼 (항상 보이는 우측 상단) + ensureGlobalCloseButton(); + } + // 업데이트: 헤더 제목에 검색 키워드 설정 + document.getElementById("tooltip-title").textContent = "검색 키워드: " + message.keyword; + renderDetailInfo(message.detailInfo, message.keyword); + if (lastContextMenuPos) { + positionTooltip(tooltipEl, lastContextMenuPos); + } else { + tooltipEl.style.top = "10px"; + tooltipEl.style.left = "10px"; + } + } +}); + +function positionTooltip(tooltip, pos) { + tooltip.style.left = (pos.x + 10) + "px"; + tooltip.style.top = (pos.y + 10) + "px"; + const rect = tooltip.getBoundingClientRect(); + const docWidth = document.documentElement.clientWidth; + const docHeight = document.documentElement.clientHeight; + if (rect.right > docWidth) { + tooltip.style.left = (docWidth - rect.width - 10) + "px"; + } + if (rect.bottom > docHeight) { + tooltip.style.top = (docHeight - rect.height - 10) + "px"; + } +} + +function removeTooltip() { + if (tooltipEl && tooltipEl.parentNode) { + tooltipEl.parentNode.removeChild(tooltipEl); + } + tooltipEl = null; + // 글로벌 닫기 버튼 제거 + const globalClose = document.getElementById("tooltip-global-close"); + if (globalClose && globalClose.parentNode) { + globalClose.parentNode.removeChild(globalClose); + } +} + +function ensureGlobalCloseButton() { + if (!document.getElementById("tooltip-global-close")) { + const btn = document.createElement("button"); + btn.id = "tooltip-global-close"; + btn.textContent = "닫기"; + btn.style.position = "fixed"; + btn.style.top = "20px"; + btn.style.right = "20px"; + btn.style.padding = "8px 12px"; + btn.style.backgroundColor = "#e74c3c"; + btn.style.color = "#fff"; + btn.style.border = "none"; + btn.style.borderRadius = "4px"; + btn.style.cursor = "pointer"; + btn.style.zIndex = "1000000"; + btn.onclick = removeTooltip; + document.body.appendChild(btn); + } +} + +function renderDetailInfo(results, keyword) { + const bodyDiv = document.getElementById("markinfo-tooltip-body"); + if (!bodyDiv) return; + let html = `
`; + if (results.error) { + html += `

오류: ${results.error}

`; + } else if (!Array.isArray(results) || results.length === 0) { + html += `

검색 결과가 없습니다.

`; + } else { + results.forEach((result, idx) => { + html += `
`; + html += `

${idx + 1}번 결과

`; + // 상세 검색 결과 (출원번호 상세 조회) + if (result.detail) { + html += `

상세 정보

`; + const dreg = result.detail.registration_info; + html += `

상표명: ${dreg.trademarkName || "(상표명 없음)"}

`; + html += `

출원번호: ${dreg.applicationNum || "(출원번호 없음)"}

`; + html += `

출원날짜: ${dreg.applicationDate || "(출원날짜 없음)"}

`; + html += `

권리상태: ${dreg.lastDisposalCodeName || "(권리상태 없음)"}

`; + html += `

공고번호: ${dreg.publicationNum || "(공고번호 없음)"}

`; + html += `

등록번호: ${dreg.registerNum || "(등록번호 없음)"}

`; + + html += `

권리정보

`; + if (result.detail.rights_info && Object.keys(result.detail.rights_info).length > 0) { + for (let key in result.detail.rights_info) { + html += `

카테고리 코드: ${key}

`; + result.detail.rights_info[key].forEach(item => { + html += `

- 지정상품명: ${item.asignProductName || ""}

`; + html += `

  영문: ${item.asignProductNameEn || ""}

`; + html += `

  유사군코드: ${item.similarCodes || ""}

`; + }); + } + } else { + html += `

(권리정보 없음)

`; + } + + html += `

출원인 정보

`; + if (result.detail.applicant_info && result.detail.applicant_info.mapping) { + const mapping = result.detail.applicant_info.mapping; + html += `

국가명: ${mapping.nationalCodeName || "(없음)"}

`; + html += `

출원인명: ${mapping.applicantName || "(없음)"}

`; + } else { + html += `

(출원인 정보 없음)

`; + } + } else if (result.detailError) { + html += `

상세 정보 검색 오류: ${result.detailError}

`; + } + html += `
`; + }); + } + html += `
`; + bodyDiv.innerHTML = html; +} diff --git a/final1/background.js b/final1/background.js new file mode 100644 index 0000000..c1b1680 --- /dev/null +++ b/final1/background.js @@ -0,0 +1,83 @@ +// background.js (Service Worker) + +// 1) 확장 프로그램 설치/업데이트 시 컨텍스트 메뉴 생성 +chrome.runtime.onInstalled.addListener(() => { + chrome.contextMenus.create({ + id: "searchTrademark", + title: "지재권 검색", + contexts: ["selection"] // 텍스트를 드래그 선택한 상태에서만 메뉴 표시 + }); + + // (선택) 서비스 워커 keep-alive + chrome.alarms.create("keepAlive", { periodInMinutes: 4 }); +}); + +chrome.alarms.onAlarm.addListener((alarm) => { + if (alarm.name === "keepAlive") { + console.log("[background.js] 서비스 워커 유지 알람 실행됨"); + } +}); + +// 2) 컨텍스트 메뉴 클릭 시 처리 +chrome.contextMenus.onClicked.addListener((info, tab) => { + if (info.menuItemId === "searchTrademark") { + // 선택된 텍스트(드래그된 내용) + const keyword = info.selectionText.trim(); + if (!keyword) return; + + console.log("[background.js] 컨텍스트 메뉴 검색 키워드:", keyword); + + // MarkInfo 검색 URL (키워드 검색 예시) + const url = buildMarkInfoUrl(keyword); + + // fetch로 마크인포 요청 + fetch(url) + .then((resp) => { + if (!resp.ok) { + throw new Error(`네트워크 오류: ${resp.status}`); + } + return resp.text(); + }) + .then((html) => { + // __NUXT_DATA__ 추출 (정규표현식 예시) + const match = /]*id="__NUXT_DATA__"[^>]*>([\s\S]*?)<\/script>/i.exec(html); + if (!match) { + throw new Error("__NUXT_DATA__ 태그를 찾을 수 없습니다."); + } + const jsonString = match[1]; + const globalData = JSON.parse(jsonString); + + // 예: globalData 배열 중 첫 번째 아이템이 주요 정보라고 가정 + let firstItem = null; + if (Array.isArray(globalData) && globalData.length > 0) { + firstItem = globalData[0]; + } + + // 노티피케이션에 표시할 문자열 생성 + let msg = ""; + if (firstItem && typeof firstItem === "object") { + // 예: applicationNum, trademarkName 등 필요한 필드만 추출 + const applicationNum = firstItem.applicationNum || "(출원번호 없음)"; + const trademarkName = firstItem.trademarkName || "(상표명 없음)"; + msg = `출원번호: ${applicationNum}\n상표명: ${trademarkName}`; + } else { + // globalData 전체 중 일부만 표시 + msg = JSON.stringify(globalData).slice(0, 80) + "..."; + } + + // 알림 표시 + chrome.notifications.create({ + type: "basic", + iconUrl: "icon.png", + title: "지재권 검색 결과", + message: `검색 키워드: ${keyword}\n결과: ${msg}` + }); + }); + } +}); + +// 3) URL 생성 함수 +function buildMarkInfoUrl(keyword) { + const encoded = encodeURIComponent(keyword); + return `https://markinfo.kr/search?page=1&size=20&sort=_score,desc&sort=applicationDate,desc&searchType=ST01&searchKeyword=${encoded}&statuses=APPLICATION&statuses=PUBLICATION&statuses=REGISTRATION`; +} diff --git a/final1/icon.png b/final1/icon.png new file mode 100644 index 0000000000000000000000000000000000000000..1c0eaf8c3a73be488b4586c38d9cd44b9066f509 GIT binary patch literal 20724 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 ryON)IPm_}FY%{?A!~et2Z#)"], + "js": ["content.js"], + "run_at": "document_end" + } + ], + "action": { + "default_icon": "icon.png" + } +}