• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/*
2 * Copyright (c) 2023 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *     http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16import update from '@ohos.update';
17
18/**
19 * 升级状态
20 *
21 * @since 2022-06-05
22 */
23export enum UpdateState {
24  /**
25   * 初始状态
26   */
27  INIT = 0,
28
29  /**
30   * 状态--搜包成功
31   */
32  CHECK_SUCCESS = 12,
33
34  /**
35   * 状态--下载中
36   */
37  DOWNLOADING = 20,
38
39  /**
40   * 状态--下载暂停
41   */
42  DOWNLOAD_PAUSE = 21,
43
44  /**
45   * 状态--取消下载
46   */
47  DOWNLOAD_CANCEL = 22,
48
49  /**
50   * 状态--下载失败
51   */
52  DOWNLOAD_FAILED = 23,
53
54  /**
55   * 状态--下载成功
56   */
57  DOWNLOAD_SUCCESS = 24,
58
59  /**
60   * 状态--安装中
61   */
62  INSTALLING = 80,
63
64  /**
65   * 状态--安装失败
66   */
67  INSTALL_FAILED = 81,
68
69  /**
70   * 状态--安装成功
71   */
72  INSTALL_SUCCESS = 82,
73
74  /**
75   * 状态--升级中
76   */
77  UPGRADING = 90,
78
79  /**
80   * 状态--升级失败
81   */
82  UPGRADE_FAILED = 91,
83
84  /**
85   * 状态--升级成功
86   */
87  UPGRADE_SUCCESS = 92,
88}
89
90/**
91 * 升级接口--状态结构体
92 *
93 * @since 2022-06-05
94 */
95export interface OtaStatus {
96  /**
97   * 状态
98   */
99  status: number;
100
101  /**
102   * 进度
103   */
104  percent: number;
105
106  /**
107   * 终止原因
108   */
109  endReason?: string;
110}
111
112/**
113 * 升级错误码
114 *
115 * @since 2022-06-05
116 */
117export enum ErrorCode {
118  /**
119   * 错误码--默认失败
120   */
121  DEFAULT_ERROR = -1,
122
123  /**
124   * 搜包结果--网络错误
125   */
126  CHECK_NETWORK_ERR = -2,
127
128  /**
129   * 搜包结果--搜包中
130   */
131  CHECK_SYSTEM_BUSY = -207,
132
133  /**
134   * 错误码--鉴权失败
135   */
136  AUTH_FAIL = '-208',
137
138  /**
139   * 错误码--鉴权失败服务错误
140   */
141  AUTH_SERVER_ERROR = '-209',
142
143  /**
144   * 错误码--鉴权失败系统错误
145   */
146  AUTH_SYSTEM_ERROR = '-210',
147
148  /**
149   * 错误码--网络错误
150   */
151  NETWORK_ERROR = '-301',
152
153  /**
154   * 错误码--空间不足
155   */
156  NO_ENOUGH_MEMORY = '-304',
157
158  /**
159   * 错误码--检验失败
160   */
161  VERIFY_PACKAGE_FAIL = '-305',
162
163  /**
164   * 错误码--部分升級失敗
165   */
166  UPDATE_PART_FAIL = '-409',
167
168  /**
169   * 错误码--电量不足
170   */
171  NO_ENOUGH_BATTERY = '-830',
172
173  /**
174   * 错误码--网络不允许
175   */
176  NETWORK_NOT_ALLOW = '3148800'
177}
178
179/**
180 * 通用常量
181 *
182 * @since 2022-06-05
183 */
184export enum UpdateConstant {
185  /**
186   * 搜包重试时间
187   */
188  CHECKING_RETRY_TIME = 5,
189
190  /**
191   * 搜包等待间隔
192   */
193  CHECKING_WAITING_TIME_IN_SECONDS = 3,
194
195  /**
196   * 安装电量阈值
197   */
198  UPGRADE_BATTERY_THRESHOLD = 30
199}
200
201/**
202 * 更新日志结构体
203 *
204 * @since 2022-06-05
205 */
206export interface Changelog {
207  /**
208   * 默认语言
209   */
210  defLanguage?: string;
211
212  /**
213   * 显示类型
214   */
215  displayType?: number;
216
217  /**
218   * 所有语言更新日志
219   */
220  language: Map<string, Language>;
221}
222
223/**
224 * 更新日志结构体--语言
225 *
226 * @since 2022-06-05
227 */
228export interface Language {
229  /**
230   * 日志对应语言
231   */
232  language?: string;
233
234  /**
235   * 日志特性数组
236   */
237  featuresArray: Array<Features>;
238}
239
240/**
241 * 更新日志结构体--特性集合
242 *
243 * @since 2022-06-05
244 */
245export interface Features {
246  /**
247   * 标题
248   */
249  title: string;
250
251  /**
252   * 标识
253   */
254  id: string;
255
256  /**
257   * 特性类型
258   */
259  featureModuleType: string;
260
261  /**
262   * 特性数组
263   */
264  featureList: Array<Feature>;
265
266  /**
267   * 图标
268   */
269  icon: Icon;
270}
271
272/**
273 * 更新日志结构体--特性
274 *
275 * @since 2022-06-05
276 */
277export interface Feature {
278  /**
279   * 子标题
280   */
281  subTitle: string;
282
283  /**
284   * 内容数组
285   */
286  contents: Array<string>;
287}
288
289/**
290 * 更新日志结构体--图标
291 *
292 * @since 2022-06-05
293 */
294export interface Icon {
295  /**
296   * 标识
297   */
298  id: string;
299
300  /**
301   * 包名
302   */
303  pkg: string;
304
305  /**
306   * 数据流字串
307   */
308  res: string;
309}
310
311/**
312 * changelog类型
313 *
314 * @since 2022-08-26
315 */
316export enum ChangelogType {
317  /**
318   * 文本类型
319   */
320  TEXT = -1,
321
322  /**
323   * 图文类型
324   */
325  PICTURE_AND_TEXT = 0,
326
327  /**
328   * web类型
329   */
330  WEB_TYPE = 1,
331}
332
333/**
334 * 动作常量枚举
335 *
336 * @since 2022-06-05
337 */
338export enum Action {
339  /**
340   * 动作--跳转主页面搜包
341   */
342  NOTIFICATION_LATER = 'com.ohos.updateapp.later',
343
344  /**
345   * 动作--跳转主页面搜包
346   */
347  NOTIFICATION_CHECK = 'com.ohos.updateapp.check',
348
349  /**
350   * 动作--下载
351   */
352  NOTIFICATION_DOWNLOAD = 'com.ohos.updateapp.download',
353
354  /**
355   * 动作--跳转新版本页面安装
356   */
357  NOTIFICATION_INSTALL = 'com.ohos.updateapp.install',
358
359  /**
360   * 动作--跳转新版本页面
361   */
362  NOTIFICATION_DETAIL = 'com.ohos.updateapp.detail',
363
364  /**
365   * 动作--升级失败跳转主页面搜包
366   */
367  NOTIFICATION_HOT_UPGRADE_FAILED = 'com.ohos.updateapp.hot_upgrade_failed'
368}
369
370/**
371 * 接口执行结果
372 *
373 * @since 2022-07-11
374 */
375export interface UpgradeData<T> {
376  /**
377   * 接口执行结果
378   */
379  callResult: UpgradeCallResult;
380
381  /**
382   * 回调数据
383   */
384  data?: T;
385
386  /**
387   * 错误结果
388   */
389  error?: BusinessError
390}
391
392/**
393 * 接口执行错误码
394 *
395 * @since 2022-07-11
396 */
397export enum UpgradeCallResult {
398  /**
399   * 接口执行成功
400   */
401  OK = 1,
402
403  /**
404   * 接口执行失败
405   */
406  ERROR = -1,
407
408  /**
409   * 接口执行超时
410   */
411  TIME_OUT = -2
412}
413
414/**
415 * 倒计时弹窗类型
416 *
417 * @since 2023-02-08
418 */
419export enum CountDownDialogType {
420  /**
421   * ota20S倒计时
422   */
423  OTA = 0,
424
425  /**
426   * ab升级20S倒计时
427   */
428  OTA_AB = 1,
429}
430
431
432/**
433 * BusinessError
434 *
435 * @since 2023-03-10
436 */
437export interface BusinessError {
438  /**
439   * 数据
440   */
441  data?: ErrCode[];
442}
443
444/**
445 * ErrCode
446 *
447 * @since 2023-03-10
448 */
449export interface ErrCode {
450  /**
451   * 错误码
452   */
453  errorCode: ErrorCode;
454}
455
456/**
457 * 包名
458 */
459export const PACKAGE_NAME = 'com.ohos.updateapp';
460
461/**
462 * 主ability名
463 */
464export const MAIN_ABILITY_NAME = 'com.ohos.updateapp.MainAbility';