HarmonyOS 鸿蒙Next Web管理Cookie和数据存储demo(Cookie管理/缓存Cache存储管理/Dom Storage)
HarmonyOS 鸿蒙Next Web管理Cookie和数据存储demo(Cookie管理/缓存Cache存储管理/Dom Storage)
关于管理Cookie及数据存储,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/web-cookie-and-data-storage-mgmt
以下demo,仅供参考:
import web_webview from '@ohos.web.webview';
import business_error from '@ohos.base';
@Entry
@Component
struct CookiePage {
controller: web_webview.WebviewController = new web_webview.WebviewController();
@State mode: CacheMode = CacheMode.None;
build() {
Column() {
Button('同步Cookie')
.onClick(() => {
try {
//设置指定url对应cookie
web_webview.WebCookieManager.configCookieSync('https://m.baidu.com', 'value=test');
//获取指定url对应cookie的值
web_webview.WebCookieManager.fetchCookie('https://m.baidu.com', (err, value) => {
if (err) {
console.log(`${err}`)
}
console.log(value);
})
} catch (error) {
let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
}
})
Button('保存')
.onClick(() => {
try {
//将当前存在内存中的cookie异步保存到磁盘中
web_webview.WebCookieManager.saveCookieAsync((error) => {
if (error) {
let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
}
})
} catch (error) {
let e: business_error.BusinessError = error as business_error.BusinessError;
console.error(`ErrorCode: ${e.code}, Message: ${e.message}`);
}
})
Button('是否存在')
.onClick(() => {
//判断是否存在cookie
let result = web_webview.WebCookieManager.existCookie();
console.log("result: " + result);
})
Button('清除')
.onClick(() => {
//清楚所有的cookie
web_webview.WebCookieManager.clearAllCookiesSync();
})
}
}
}
针对HarmonyOS 鸿蒙Next Web管理Cookie和数据存储的demo需求,以下提供简要说明:
Cookie管理:
HarmonyOS提供WebCookieManager类来管理Cookie。可以使用configCookieSync()接口为指定域名设置Cookie。Cookie信息保存在应用沙箱路径下特定文件中。
缓存Cache存储管理:
Web组件提供四种缓存模式:Default、None、Online、Only。开发者可通过cacheMode()配置页面资源的缓存模式,并通过removeCache()接口清除缓存。
Dom Storage:
Dom Storage包含SessionStorage和LocalStorage。前者为临时数据,后者为可持久化数据。两者均通过Key-Value形式存储,可通过domStorageAccess()接口进行使能配置。
请注意,实际操作中需根据具体需求和场景进行代码实现和调整。如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html