This commit is contained in:
parent
9841351866
commit
40d76bd7a3
|
@ -5,3 +5,5 @@ export const LANGUAGE_COLOR: {[key: string]: string} = {
|
||||||
"Java": "#3478CD",
|
"Java": "#3478CD",
|
||||||
"Default": "#333333"
|
"Default": "#333333"
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const HALO_RENDER_CACHE_VERSION = "v1.1.0-1"
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
import {getGitHubInfo} from "./github-utils";
|
import {getGitHubInfo} from "./github-utils";
|
||||||
import {LANGUAGE_COLOR, RENDER_CLASS} from "../../constant";
|
import {HALO_RENDER_CACHE_VERSION, LANGUAGE_COLOR, RENDER_CLASS} from "../../constant";
|
||||||
|
|
||||||
export const cache: {[key: string]: RepoInfo|-1} = {}
|
export const cache: {[key: string]: RepoInfo|-1} = {}
|
||||||
|
|
||||||
|
@ -28,11 +28,21 @@ export function fillContent(id: string,
|
||||||
// 检测本地缓存
|
// 检测本地缓存
|
||||||
const storageCache = localStorage.getItem(`git_cache:${id}`)
|
const storageCache = localStorage.getItem(`git_cache:${id}`)
|
||||||
if (storageCache) {
|
if (storageCache) {
|
||||||
return fill(id, <RepoInfo>(JSON.parse(storageCache)))
|
const cacheJson: RepoInfo = JSON.parse(storageCache)
|
||||||
|
// 检查版本与过期时间
|
||||||
|
if (cacheJson.version === HALO_RENDER_CACHE_VERSION &&
|
||||||
|
new Date() < new Date(cacheJson.expireTime||0))
|
||||||
|
return fill(id, <RepoInfo>cacheJson)
|
||||||
|
localStorage.removeItem(`git_cache:${id}`)
|
||||||
}
|
}
|
||||||
cache[id] = -1
|
cache[id] = -1
|
||||||
utils[func](args).then(r => {
|
utils[func](args).then(r => {
|
||||||
cache[id] = r
|
cache[id] = r
|
||||||
|
// 加入缓存版本
|
||||||
|
r.version = HALO_RENDER_CACHE_VERSION
|
||||||
|
// 加入过期时间
|
||||||
|
r.expireTime = new Date().setTime(new Date().getTime() + 30*60*1000)
|
||||||
|
// 存储缓存
|
||||||
localStorage.setItem(`git_cache:${id}`, JSON.stringify(r))
|
localStorage.setItem(`git_cache:${id}`, JSON.stringify(r))
|
||||||
fill(id, r)
|
fill(id, r)
|
||||||
document.querySelectorAll("." + id).forEach(el => {
|
document.querySelectorAll("." + id).forEach(el => {
|
||||||
|
@ -68,6 +78,7 @@ export declare interface IGitArgs {
|
||||||
}
|
}
|
||||||
|
|
||||||
export declare interface RepoInfo {
|
export declare interface RepoInfo {
|
||||||
|
version?: string
|
||||||
platform?: string
|
platform?: string
|
||||||
name?: string
|
name?: string
|
||||||
owner?: string
|
owner?: string
|
||||||
|
@ -80,4 +91,6 @@ export declare interface RepoInfo {
|
||||||
description?: string
|
description?: string
|
||||||
language?: string
|
language?: string
|
||||||
lastPush?: string
|
lastPush?: string
|
||||||
|
topic?: Array<string>
|
||||||
|
expireTime?: number
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue