Skip to content

Commit 73be81c

Browse files
author
lucifer
committed
feat: 如果 github api 失败降级为 url 模式
1 parent 4bbf245 commit 73be81c

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

‎public/manifest.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"manifest_version": 2,
33
"name": "leetcode cheatsheet",
44
"description": "刷题小助手,made by 力扣加加",
5-
"version": "0.8.3",
5+
"version": "0.8.4",
66
"browser_action": {
77
"default_popup": "index.html",
88
"default_title": "力扣加加"

‎src/contentScript.js

+15-3
Original file line numberDiff line numberDiff line change
@@ -82,9 +82,21 @@ class SolutionButton extends PureComponent {
8282
)
8383
.then((res) => res.json())
8484
.then((res) => {
85-
window.open(
86-
`https://leetcode-pp.github.io/leetcode-cheat/?issue_number=${res.number}&tab=solution-template`
87-
);
85+
if (res.number) {
86+
window.open(
87+
`https://leetcode-pp.github.io/leetcode-cheat/?issue_number=${res.number}&tab=solution-template`
88+
);
89+
} else {
90+
message.warn({
91+
content:
92+
"使用 Github API 失败,已为您切换为普通模式,普通模式仅可自动带入题目名称,题目地址以及题解语言。",
93+
});
94+
setTimeout(() => {
95+
window.open(
96+
`https://leetcode-pp.github.io/leetcode-cheat/?title=${title}&link=${link}&language=${language}&tab=solution-template`
97+
);
98+
}, 2000);
99+
}
88100
});
89101
});
90102
}}

‎src/solutionTemplate/index.jsx

+7-1
Original file line numberDiff line numberDiff line change
@@ -192,14 +192,20 @@ const saveDraft = debounce(
192192
5000
193193
);
194194

195+
const link = getUrlParameter("link") || "";
196+
const title = getUrlParameter("title") || "";
197+
const initialLanguage = getUrlParameter("language")?.toLowerCase() || "python3";
198+
195199
export default function SolutionTemplate() {
196-
const [language, setLanguage] = useState("python3");
200+
const [language, setLanguage] = useState(initialLanguage);
197201
const [time, setTime] = useState("n");
198202
const [space, setSpace] = useState("n");
199203
const [isLucifer, setIsLucifer] = useState(false);
200204
const [modalVisible, setModalVisible] = useState(false);
201205
const [template, setTemplate] = useState(
202206
getTemplate({
207+
link,
208+
title,
203209
time,
204210
space,
205211
language,

0 commit comments

Comments
 (0)