19b19030aSopenharmony_ci/* 29b19030aSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 39b19030aSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 49b19030aSopenharmony_ci * you may not use this file except in compliance with the License. 59b19030aSopenharmony_ci * You may obtain a copy of the License at 69b19030aSopenharmony_ci * 79b19030aSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 89b19030aSopenharmony_ci * 99b19030aSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 109b19030aSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 119b19030aSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 129b19030aSopenharmony_ci * See the License for the specific language governing permissions and 139b19030aSopenharmony_ci * limitations under the License. 149b19030aSopenharmony_ci */ 159b19030aSopenharmony_ci 169b19030aSopenharmony_ciimport type common from '@ohos.app.ability.common'; 179b19030aSopenharmony_ciimport update from '@ohos.update'; 189b19030aSopenharmony_ciimport type { Features, ChangelogType, CountDownDialogType } from '../const/update_const'; 199b19030aSopenharmony_ci 209b19030aSopenharmony_ci/** 219b19030aSopenharmony_ci * 升级控制接口 229b19030aSopenharmony_ci * 239b19030aSopenharmony_ci * @since 2022-12-01 249b19030aSopenharmony_ci */ 259b19030aSopenharmony_ciexport interface IUpgradeControl { 269b19030aSopenharmony_ci /** 279b19030aSopenharmony_ci * 升级UX 289b19030aSopenharmony_ci */ 299b19030aSopenharmony_ci page: IPage, 309b19030aSopenharmony_ci 319b19030aSopenharmony_ci /** 329b19030aSopenharmony_ci * 升级提醒 339b19030aSopenharmony_ci */ 349b19030aSopenharmony_ci notify: INotify 359b19030aSopenharmony_ci} 369b19030aSopenharmony_ci 379b19030aSopenharmony_ci/** 389b19030aSopenharmony_ci * 更新日志 399b19030aSopenharmony_ci * 409b19030aSopenharmony_ci * @since 2022-12-01 419b19030aSopenharmony_ci */ 429b19030aSopenharmony_ciexport interface ChangelogInfo { 439b19030aSopenharmony_ci /** 449b19030aSopenharmony_ci * 版本号 459b19030aSopenharmony_ci */ 469b19030aSopenharmony_ci version?: string; 479b19030aSopenharmony_ci 489b19030aSopenharmony_ci /** 499b19030aSopenharmony_ci * 版本大小 509b19030aSopenharmony_ci */ 519b19030aSopenharmony_ci size?: string; 529b19030aSopenharmony_ci 539b19030aSopenharmony_ci /** 549b19030aSopenharmony_ci * 更新日志 559b19030aSopenharmony_ci */ 569b19030aSopenharmony_ci content: string; 579b19030aSopenharmony_ci 589b19030aSopenharmony_ci /** 599b19030aSopenharmony_ci * 更新日志类型 609b19030aSopenharmony_ci */ 619b19030aSopenharmony_ci displayType?: ChangelogType; 629b19030aSopenharmony_ci 639b19030aSopenharmony_ci /** 649b19030aSopenharmony_ci * 更新日志--概述 659b19030aSopenharmony_ci */ 669b19030aSopenharmony_ci headFeatures?: Features; 679b19030aSopenharmony_ci 689b19030aSopenharmony_ci /** 699b19030aSopenharmony_ci * 更新日志--更新注意事项 709b19030aSopenharmony_ci */ 719b19030aSopenharmony_ci endFeatures?: Features; 729b19030aSopenharmony_ci 739b19030aSopenharmony_ci /** 749b19030aSopenharmony_ci * 更新日志--具体内容 759b19030aSopenharmony_ci */ 769b19030aSopenharmony_ci contentFeatures?: Array<Features>; 779b19030aSopenharmony_ci} 789b19030aSopenharmony_ci 799b19030aSopenharmony_ci/** 809b19030aSopenharmony_ci * 倒计时弹框信息 819b19030aSopenharmony_ci * 829b19030aSopenharmony_ci * @since 2022-12-01 839b19030aSopenharmony_ci */ 849b19030aSopenharmony_ciexport interface CountDownDialogInfo { 859b19030aSopenharmony_ci /** 869b19030aSopenharmony_ci * 弹框消息体 879b19030aSopenharmony_ci */ 889b19030aSopenharmony_ci dialogText: Resource; 899b19030aSopenharmony_ci 909b19030aSopenharmony_ci /** 919b19030aSopenharmony_ci * 弹框类型 929b19030aSopenharmony_ci */ 939b19030aSopenharmony_ci dialogType: CountDownDialogType; 949b19030aSopenharmony_ci} 959b19030aSopenharmony_ci 969b19030aSopenharmony_ci/** 979b19030aSopenharmony_ci * 界面数据 989b19030aSopenharmony_ci * 999b19030aSopenharmony_ci * @since 2022-12-01 1009b19030aSopenharmony_ci */ 1019b19030aSopenharmony_ciexport interface VersionPageInfo { 1029b19030aSopenharmony_ci /** 1039b19030aSopenharmony_ci * 版本号 1049b19030aSopenharmony_ci */ 1059b19030aSopenharmony_ci version: string; 1069b19030aSopenharmony_ci 1079b19030aSopenharmony_ci /** 1089b19030aSopenharmony_ci * 版本大小 1099b19030aSopenharmony_ci */ 1109b19030aSopenharmony_ci size?: number; 1119b19030aSopenharmony_ci 1129b19030aSopenharmony_ci /** 1139b19030aSopenharmony_ci * 生效模式 1149b19030aSopenharmony_ci */ 1159b19030aSopenharmony_ci effectiveMode?: update.EffectiveMode; 1169b19030aSopenharmony_ci 1179b19030aSopenharmony_ci /** 1189b19030aSopenharmony_ci * 更新日志 1199b19030aSopenharmony_ci */ 1209b19030aSopenharmony_ci changelog: ChangelogInfo; 1219b19030aSopenharmony_ci 1229b19030aSopenharmony_ci /** 1239b19030aSopenharmony_ci * 倒计时弹框显示内容 1249b19030aSopenharmony_ci */ 1259b19030aSopenharmony_ci countDownDialogInfo?: CountDownDialogInfo; 1269b19030aSopenharmony_ci} 1279b19030aSopenharmony_ci 1289b19030aSopenharmony_ci/** 1299b19030aSopenharmony_ci * ux页面显示内容 1309b19030aSopenharmony_ci * 1319b19030aSopenharmony_ci * @since 2022-12-01 1329b19030aSopenharmony_ci */ 1339b19030aSopenharmony_ciexport interface IPage { 1349b19030aSopenharmony_ci /** 1359b19030aSopenharmony_ci * 取新版本数据 1369b19030aSopenharmony_ci * 1379b19030aSopenharmony_ci * @param versionComponents 升级包 1389b19030aSopenharmony_ci * @param componentDescriptions 更新日志 1399b19030aSopenharmony_ci * @return Promise<VersionPageInfo> 具体的新版本数据 1409b19030aSopenharmony_ci */ 1419b19030aSopenharmony_ci getNewVersionPageInfo(versionComponents: Array<update.VersionComponent>, 1429b19030aSopenharmony_ci componentDescriptions?: Array<update.ComponentDescription>): Promise<VersionPageInfo>; 1439b19030aSopenharmony_ci 1449b19030aSopenharmony_ci /** 1459b19030aSopenharmony_ci * 取当前版本数据 1469b19030aSopenharmony_ci * 1479b19030aSopenharmony_ci * @param versionComponents 升级包 1489b19030aSopenharmony_ci * @param componentDescriptions 更新日志 1499b19030aSopenharmony_ci * @return VersionPageInfo 具体的当前版本数据 1509b19030aSopenharmony_ci */ 1519b19030aSopenharmony_ci getCurrentVersionPageInfo(versionComponents: Array<update.VersionComponent>, 1529b19030aSopenharmony_ci componentDescriptions: Array<update.ComponentDescription>): VersionPageInfo; 1539b19030aSopenharmony_ci} 1549b19030aSopenharmony_ci 1559b19030aSopenharmony_ci/** 1569b19030aSopenharmony_ci * 提醒 1579b19030aSopenharmony_ci * 1589b19030aSopenharmony_ci * @since 2022-12-01 1599b19030aSopenharmony_ci */ 1609b19030aSopenharmony_ciexport interface INotify { 1619b19030aSopenharmony_ci /** 1629b19030aSopenharmony_ci * 下载进度通知 1639b19030aSopenharmony_ci * 1649b19030aSopenharmony_ci * @param version 版本号 1659b19030aSopenharmony_ci * @param progress 进度 1669b19030aSopenharmony_ci * @param context 上下文 1679b19030aSopenharmony_ci */ 1689b19030aSopenharmony_ci showDownloading(version: string, progress: number, context: common.Context): Promise<void>; 1699b19030aSopenharmony_ci 1709b19030aSopenharmony_ci /** 1719b19030aSopenharmony_ci * 升级失败通知 1729b19030aSopenharmony_ci * 1739b19030aSopenharmony_ci * @param versionName 版本号 1749b19030aSopenharmony_ci * @param context 上下文 1759b19030aSopenharmony_ci */ 1769b19030aSopenharmony_ci showUpgradeFailed(versionName: string, context: common.Context): Promise<void>; 1779b19030aSopenharmony_ci 1789b19030aSopenharmony_ci /** 1799b19030aSopenharmony_ci * 升级成功通知 1809b19030aSopenharmony_ci * 1819b19030aSopenharmony_ci * @param versionName 版本号 1829b19030aSopenharmony_ci * @param context 上下文 1839b19030aSopenharmony_ci */ 1849b19030aSopenharmony_ci showUpgradeSuccess(versionName: string, context: common.Context): Promise<void>; 1859b19030aSopenharmony_ci 1869b19030aSopenharmony_ci /** 1879b19030aSopenharmony_ci * 安装中通知 1889b19030aSopenharmony_ci * 1899b19030aSopenharmony_ci * @param version 版本号 1909b19030aSopenharmony_ci * @param progress 进度 1919b19030aSopenharmony_ci * @param context 上下文 1929b19030aSopenharmony_ci */ 1939b19030aSopenharmony_ci showInstalling(version: string, progress: number, context: common.Context): Promise<void> 1949b19030aSopenharmony_ci 1959b19030aSopenharmony_ci /** 1969b19030aSopenharmony_ci * 取消所有通知 1979b19030aSopenharmony_ci */ 1989b19030aSopenharmony_ci cancelAll(): Promise<void>; 1999b19030aSopenharmony_ci 2009b19030aSopenharmony_ci /** 2019b19030aSopenharmony_ci * 检查notification服务是否启动 2029b19030aSopenharmony_ci */ 2039b19030aSopenharmony_ci isServiceReady(): Promise<void>; 2049b19030aSopenharmony_ci} 2059b19030aSopenharmony_ci 206