• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ArkWeb_CookieManagerAPI
2<!--Kit: ArkWeb-->
3<!--Subsystem: Web-->
4<!--Owner: @aohui-->
5<!--Designer: @yaomingliu-->
6<!--Tester: @ghiker-->
7<!--Adviser: @HelloCrease-->
8
9## 概述
10
11定义了ArkWeb的CookieManager接口。在调用接口之前,建议使用[ARKWEB_MEMBER_MISSING](capi-arkweb-type-h.md#宏定义)检查函数结构体是否有对应的函数指针,避免SDK与设备ROM不匹配导致崩溃。
12
13**起始版本:** 12
14
15**相关模块:** [Web](capi-web.md)
16
17**所在头文件:** [arkweb_type.h](capi-arkweb-type-h.md)
18
19## 汇总
20
21### 成员变量
22
23| 名称 | 描述 |
24| -- | -- |
25| size_t size | 结构体的大小。 |
26
27
28### 成员函数
29
30| 名称                                                                                                                                        | 描述                |
31|-------------------------------------------------------------------------------------------------------------------------------------------|--------------------|
32| [ArkWeb_ErrorCode (\*fetchCookieSync)(const char* url, bool incognito, bool includeHttpOnly, char** cookieValue)](#fetchcookiesync)       | 获取指定URL对应的cookie值。 |
33| [ArkWeb_ErrorCode (\*configCookieSync)(const char* url,const char* cookieValue, bool incognito, bool includeHttpOnly)](#configcookiesync) | 设置指定URL的cookie值。   |
34| [bool (\*existCookies)(bool incognito)](#existcookies)                                                                                    | 检查Cookie是否存在。      |
35| [void (\*clearAllCookiesSync)(bool incognito)](#clearallcookiessync)                                                                      | 清除所有cookies。       |
36| [void (*clearSessionCookiesSync)()](#clearsessioncookiessync)                                                                             | 清除所有会话Cookies。                   |
37
38## 成员函数说明
39
40### fetchCookieSync()
41
42```
43ArkWeb_ErrorCode (*fetchCookieSync)(const char* url, bool incognito, bool includeHttpOnly, char** cookieValue)
44```
45
46**描述:**
47
48获取指定URL对应的cookie值。
49
50**参数:**
51
52| 参数项 | 描述 |
53| -- | -- |
54| const char* url | 要获取的cookie所属的URL,建议使用完整的URL。 |
55|  bool incognito | true表示获取隐私模式下webview的内存cookie, false表示获取非隐私模式下的cookie。 |
56|  bool includeHttpOnly | 如果为true,则标记为HTTP-Only属性的cookie也将包含在cookieValue中。 |
57|  char** cookieValue |  获取与URL对应的cookie值。 |
58
59**返回:**
60
61| 类型                                                               | 说明                                                                                                                         |
62|------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|
63| [ArkWeb_ErrorCode](capi-arkweb-error-code-h.md#arkweb_errorcode) | 返回值错误码。<br>[ARKWEB_SUCCESS](capi-arkweb-error-code-h.md#arkweb_errorcode) 获取cookie成功。<br>[ARKWEB_INVALID_URL](capi-arkweb-error-code-h.md#arkweb_errorcode) 设置的URL无效。<br>[ARKWEB_INVALID_PARAM](capi-arkweb-error-code-h.md#arkweb_errorcode) cookieValue参数无效。 |
64
65### configCookieSync()
66
67```
68ArkWeb_ErrorCode (*configCookieSync)(const char* url,const char* cookieValue, bool incognito, bool includeHttpOnly)
69```
70
71**描述:**
72
73设置指定URL的cookie值。
74
75**参数:**
76
77| 参数项 | 描述 |
78| -- | -- |
79| const char* url | 指定cookie所属的URL,建议填写完整的URL。 |
80| const char* cookieValue | 要设置的cookie的值。 |
81|  bool incognito | true表示在隐私模式下设置对应URL的Cookie,false表示以非隐私模式设置对应URL的cookie。 |
82|  bool includeHttpOnly | 如果为true,则标记为HTTP-Only的cookie也可以被覆盖。 |
83
84**返回:**
85
86| 类型                                                               | 说明                                                                                                                         |
87|------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------|
88| [ArkWeb_ErrorCode](capi-arkweb-error-code-h.md#arkweb_errorcode) | 返回值错误码。<br>[ARKWEB_SUCCESS](capi-arkweb-error-code-h.md#arkweb_errorcode) 获取cookie成功。<br>[ARKWEB_INVALID_URL](capi-arkweb-error-code-h.md#arkweb_errorcode) 设置的URL无效。<br>[ARKWEB_INVALID_PARAM](capi-arkweb-error-code-h.md#arkweb_errorcode) cookieValue参数无效。 |
89
90### existCookies()
91
92```
93bool (*existCookies)(bool incognito)
94```
95
96**描述:**
97
98检查Cookie是否存在。
99
100**参数:**
101
102| 参数项 | 描述 |
103| -- | -- |
104|  bool incognito | true表示隐私模式下是否存在cookie,false表示非隐私模式下是否存在cookie。 |
105
106**返回:**
107
108| 类型 | 说明 |
109|----|----|
110| bool   | true表示cookie存在,false表示cookie不存在。   |
111
112### clearAllCookiesSync()
113
114```
115void (*clearAllCookiesSync)(bool incognito)
116```
117
118**描述:**
119
120清除所有cookies。
121
122**参数:**
123
124| 参数项 | 描述 |
125|----|----|
126| bool incognito   | true表示清除隐私模式下的所有cookies,false表示清除非隐私模式下的所有cookies。   |
127
128
129### clearSessionCookiesSync()
130
131```
132void (*clearSessionCookiesSync)()
133```
134
135**描述:**
136
137清除所有会话Cookies。
138