HarmonyOS 鸿蒙Next Web管理Cookie和数据存储demo(Cookie管理/缓存Cache存储管理/Dom Storage)

发布于 1周前 作者 h691938207 来自 鸿蒙OS

HarmonyOS 鸿蒙Next Web管理Cookie和数据存储demo(Cookie管理/缓存Cache存储管理/Dom Storage)

Web管理Cookie和数据存储demo(Cookie管理/缓存Cache存储管理/Dom Storage)

2 回复

关于管理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

回到顶部