Toggle navigation
Toggle navigation
This project
Loading...
Sign in
developOne
/
harmonyPool
Go to a project
Toggle navigation
Projects
Groups
Snippets
Help
Toggle navigation pinning
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
0
Wiki
Network
Create a new issue
Builds
Commits
Authored by
yanlu
2024-05-14 17:41:02 +0800
Browse Files
Options
Browse Files
Download
Plain Diff
Commit
2ddec1f864bacd72f35811696d8656dd33065975
2ddec1f8
2 parents
ba259177
2b9d8e70
Merge commit '
2b9d8e70
'
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
85 additions
and
0 deletions
sight_harmony/commons/wdNetwork/Index.ets
sight_harmony/commons/wdNetwork/src/main/ets/utils/CacheData.ets
sight_harmony/commons/wdNetwork/src/main/ets/utils/CacheDataSaveUtil.ets
sight_harmony/commons/wdNetwork/Index.ets
View file @
2ddec1f
...
...
@@ -12,3 +12,5 @@ export { HttpUtils } from "./src/main/ets/utils/HttpUtils"
export { HostEnum, HostManager } from "./src/main/ets/http/HttpHostManager"
export { CacheData } from "./src/main/ets/utils/CacheData"
...
...
sight_harmony/commons/wdNetwork/src/main/ets/utils/CacheData.ets
0 → 100644
View file @
2ddec1f
/**
* 接口数据存储封装类
*/
import { DateTimeUtils, StringUtils } from 'wdKit/Index';
import { CacheDataSaveUtil } from './CacheDataSaveUtil';
export class CacheData {
// 接口返回数据
networkData?: object;
// 数据更新时间戳
updateTimeInMillis: number = 0;
// 接口返回md5,用于判断接口数据是否更新
md5: string = '';
constructor(md5: string, timeMillis: number, networkData: object) {
this.md5 = md5
this.updateTimeInMillis = timeMillis
this.networkData = networkData
}
/**
* 根据新旧md5值进行判断,是否需要刷新数据
* @param responseMd5 新值,接口返回
* @returns
*/
needRefreshByMd5(responseMd5: string): boolean {
if (StringUtils.isEmpty(this.md5) || StringUtils.isEmpty(responseMd5)) {
return false
}
return this.md5 != responseMd5
}
static saveCacheData(cacheKey: string, data: object, responseMd5: string) {
if (!data) {
return
}
let time = DateTimeUtils.getTimeStamp()
let cacheData = new CacheData(responseMd5, time, data)
CacheDataSaveUtil.save(cacheKey, JSON.stringify(cacheData))
}
/**
* 获取缓存数据
*/
static getLocalCacheData(key: string): Promise<CacheData | null> {
return new Promise<CacheData | null>((success) => {
if (StringUtils.isEmpty(key)) {
success(null)
return
}
let ll = CacheDataSaveUtil.get(key)
if (ll instanceof Promise) {
ll.then((data) => {
let str = data as string
let cache = JSON.parse(str) as CacheData
success(cache)
})
} else {
success(null)
}
})
}
}
\ No newline at end of file
...
...
sight_harmony/commons/wdNetwork/src/main/ets/utils/CacheDataSaveUtil.ets
0 → 100644
View file @
2ddec1f
import { KVStoreHelper, StringUtils } from 'wdKit/Index';
/**
* 接口数据存储工具类
*/
export class CacheDataSaveUtil {
static save(key: string, value: string) {
if (StringUtils.isEmpty(key)) {
return
}
KVStoreHelper.default.put(key, value)
}
static get(key: string) {
if (StringUtils.isEmpty(key)) {
return ''
}
return KVStoreHelper.default.get(key, '')
}
}
\ No newline at end of file
...
...
Please
register
or
login
to post a comment