mirror of
https://ghproxy.com/https://github.com/StreakingMan/solvable-sheep-game
synced 2025-05-24 20:36:08 +08:00
feat: 缓存自定义主题
This commit is contained in:
parent
e7ae319ecf
commit
c0de917641
55
src/App.tsx
55
src/App.tsx
|
@ -225,26 +225,45 @@ const App: FC = () => {
|
|||
useEffect(() => {
|
||||
if (customThemeIdFromPath) {
|
||||
// 自定义主题
|
||||
Bmob.Query('config')
|
||||
.get(customThemeIdFromPath)
|
||||
.then((res) => {
|
||||
// @ts-ignore
|
||||
const { content } = res;
|
||||
try {
|
||||
const customTheme = JSON.parse(content);
|
||||
if (!customTheme.pure) {
|
||||
setPureMode(false);
|
||||
setThemes([...themes, customTheme]);
|
||||
}
|
||||
setCurTheme(customTheme);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
const storageTheme = localStorage.getItem(customThemeIdFromPath);
|
||||
if (storageTheme) {
|
||||
// 节省请求
|
||||
try {
|
||||
const customTheme = JSON.parse(storageTheme);
|
||||
if (!customTheme.pure) {
|
||||
setPureMode(false);
|
||||
setThemes([...themes, customTheme]);
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
setCurTheme({ ...curTheme, title: CUSTOM_THEME_FAIL_TIP });
|
||||
setCurTheme(customTheme);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
});
|
||||
}
|
||||
} else {
|
||||
Bmob.Query('config')
|
||||
.get(customThemeIdFromPath)
|
||||
.then((res) => {
|
||||
// @ts-ignore
|
||||
const { content } = res;
|
||||
localStorage.setItem(customThemeIdFromPath, content);
|
||||
try {
|
||||
const customTheme = JSON.parse(content);
|
||||
if (!customTheme.pure) {
|
||||
setPureMode(false);
|
||||
setThemes([...themes, customTheme]);
|
||||
}
|
||||
setCurTheme(customTheme);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
}
|
||||
})
|
||||
.catch((e) => {
|
||||
setCurTheme({
|
||||
...curTheme,
|
||||
title: CUSTOM_THEME_FAIL_TIP,
|
||||
});
|
||||
console.log(e);
|
||||
});
|
||||
}
|
||||
} else if (themeFromPath) {
|
||||
// 内置主题
|
||||
setCurTheme(
|
||||
|
|
Loading…
Reference in New Issue
Block a user