From 5cab2a84c4867816c73ab289d5893c009b4c16ad Mon Sep 17 00:00:00 2001 From: hupeng Date: Mon, 5 Aug 2019 16:12:42 +0800 Subject: [PATCH 1/4] =?UTF-8?q?[=E5=8D=87=E7=BA=A7][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8D=87=E7=BA=A7=E7=BB=84=E4=BB=B6=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.js | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/App.js b/App.js index d9c9f2e..c4f2862 100644 --- a/App.js +++ b/App.js @@ -82,6 +82,7 @@ let codePushOptions = { }; export default class MyPage extends Component { + constructor(props) { super(props); this.state = { @@ -105,7 +106,7 @@ export default class MyPage extends Component { //更新函数 async codePushUpdate() { - + CodePush.allowRestart(); await CodePush.getUpdateMetadata(CodePush.UpdateState.RUNNING) .then((metadata: LocalPackage) => { this.setState({ versionInfo: metadata ? 'b'+NativeModules.BuildConfig.versionCode+"-" + metadata.label : 'b'+ NativeModules.BuildConfig.versionCode}); @@ -114,15 +115,18 @@ async codePushUpdate() { this.setState({ versionInfo: "Unknown"}); versionInfo = this.state.versionInfo; }); - await CodePush.disallowRestart(); await CodePush.sync( { mandatoryInstallMode: CodePush.InstallMode.IMMEDIATE, installMode: CodePush.InstallMode.IMMEDIATE}, this.codePushStatusDidChange.bind(this), this.codePushDownloadDidProgress.bind(this) - ); - await CodePush.allowRestart(); - + ).then((status: SyncStatus) => { + if(status!=CodePush.SyncStatus.UP_TO_DATE){ + CodePush.restartApp(); + } + }, (error: any) => { + CodePush.restartApp(); + }); } @@ -527,7 +531,7 @@ render() { return this.getAdView(); } } - +MyPage = CodePush(codePushOptions)(MyPage); const styles = StyleSheet.create({ updatePage:{ flex: 2, @@ -892,5 +896,4 @@ render() { textDecorationLine: 'line-through', color : 'gray' }, - }); From bfbdf6de434a6cada8c50cf84aa2609d774d9b74 Mon Sep 17 00:00:00 2001 From: hupeng Date: Mon, 5 Aug 2019 16:23:51 +0800 Subject: [PATCH 2/4] =?UTF-8?q?[=E5=8D=87=E7=BA=A7][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8D=87=E7=BA=A7=E7=BB=84=E4=BB=B6=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/App.js b/App.js index c4f2862..1e97365 100644 --- a/App.js +++ b/App.js @@ -121,9 +121,7 @@ async codePushUpdate() { this.codePushStatusDidChange.bind(this), this.codePushDownloadDidProgress.bind(this) ).then((status: SyncStatus) => { - if(status!=CodePush.SyncStatus.UP_TO_DATE){ - CodePush.restartApp(); - } + }, (error: any) => { CodePush.restartApp(); }); @@ -153,6 +151,7 @@ codePushStatusDidChange(syncStatus) { break; case CodePush.SyncStatus.UPDATE_INSTALLED: this.setState({ syncMessage: "更新已安装,重启应用后生效", updating: false }); + CodePush.restartApp(); break; case CodePush.SyncStatus.UNKNOWN_ERROR: this.setState({ syncMessage: "未知错误", updating: false }); From 54a4b19998ddc6502f41d0a1285a637f51b797ae Mon Sep 17 00:00:00 2001 From: hupeng Date: Mon, 5 Aug 2019 16:35:42 +0800 Subject: [PATCH 3/4] =?UTF-8?q?[=E5=8D=87=E7=BA=A7][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8D=87=E7=BA=A7=E7=BB=84=E4=BB=B6=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.js | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/App.js b/App.js index 1e97365..79a44c3 100644 --- a/App.js +++ b/App.js @@ -121,7 +121,7 @@ async codePushUpdate() { this.codePushStatusDidChange.bind(this), this.codePushDownloadDidProgress.bind(this) ).then((status: SyncStatus) => { - + console.warn(status); }, (error: any) => { CodePush.restartApp(); }); @@ -132,28 +132,36 @@ async codePushUpdate() { codePushStatusDidChange(syncStatus) { switch(syncStatus) { case CodePush.SyncStatus.CHECKING_FOR_UPDATE: + console.warn("检查更新"); this.setState({ syncMessage: "检查更新" }); break; case CodePush.SyncStatus.DOWNLOADING_PACKAGE: + console.warn("下载更新"); this.setState({ syncMessage: "下载更新" }); break; case CodePush.SyncStatus.AWAITING_USER_ACTION: + console.warn("等待用户操作"); this.setState({ syncMessage: "等待用户操作" }); break; case CodePush.SyncStatus.INSTALLING_UPDATE: + console.warn("安装更新"); this.setState({ syncMessage: "安装更新" }); break; case CodePush.SyncStatus.UP_TO_DATE: + console.warn("已更新到最新程序"); this.setState({ syncMessage: "已更新到最新程序", updating: false }); break; case CodePush.SyncStatus.UPDATE_IGNORED: + console.warn("更新被取消"); this.setState({ syncMessage: "更新被取消", updating: false }); break; case CodePush.SyncStatus.UPDATE_INSTALLED: + console.warn("更新已安装,重启应用后生效"); this.setState({ syncMessage: "更新已安装,重启应用后生效", updating: false }); CodePush.restartApp(); break; case CodePush.SyncStatus.UNKNOWN_ERROR: + console.warn("未知错误"); this.setState({ syncMessage: "未知错误", updating: false }); break; } From a1aa8346c78951406a5827a03caebce0bfc715c7 Mon Sep 17 00:00:00 2001 From: hupeng Date: Mon, 5 Aug 2019 17:01:56 +0800 Subject: [PATCH 4/4] =?UTF-8?q?[=E5=8D=87=E7=BA=A7][=E4=BF=AE=E6=94=B9]:?= =?UTF-8?q?=E4=BC=98=E5=8C=96=E5=8D=87=E7=BA=A7=E7=BB=84=E4=BB=B6=E4=BD=BF?= =?UTF-8?q?=E7=94=A8=E6=96=B9=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App.js | 15 +++------------ 1 file changed, 3 insertions(+), 12 deletions(-) diff --git a/App.js b/App.js index 79a44c3..3c3c8ec 100644 --- a/App.js +++ b/App.js @@ -116,12 +116,12 @@ async codePushUpdate() { versionInfo = this.state.versionInfo; }); await CodePush.sync( - { mandatoryInstallMode: CodePush.InstallMode.IMMEDIATE, - installMode: CodePush.InstallMode.IMMEDIATE}, + { mandatoryInstallMode: CodePush.InstallMode.ON_NEXT_RESTART, + installMode: CodePush.InstallMode.ON_NEXT_RESTART}, this.codePushStatusDidChange.bind(this), this.codePushDownloadDidProgress.bind(this) ).then((status: SyncStatus) => { - console.warn(status); + }, (error: any) => { CodePush.restartApp(); }); @@ -132,36 +132,27 @@ async codePushUpdate() { codePushStatusDidChange(syncStatus) { switch(syncStatus) { case CodePush.SyncStatus.CHECKING_FOR_UPDATE: - console.warn("检查更新"); this.setState({ syncMessage: "检查更新" }); break; case CodePush.SyncStatus.DOWNLOADING_PACKAGE: - console.warn("下载更新"); this.setState({ syncMessage: "下载更新" }); break; case CodePush.SyncStatus.AWAITING_USER_ACTION: - console.warn("等待用户操作"); this.setState({ syncMessage: "等待用户操作" }); break; case CodePush.SyncStatus.INSTALLING_UPDATE: - console.warn("安装更新"); this.setState({ syncMessage: "安装更新" }); break; case CodePush.SyncStatus.UP_TO_DATE: - console.warn("已更新到最新程序"); this.setState({ syncMessage: "已更新到最新程序", updating: false }); break; case CodePush.SyncStatus.UPDATE_IGNORED: - console.warn("更新被取消"); this.setState({ syncMessage: "更新被取消", updating: false }); break; case CodePush.SyncStatus.UPDATE_INSTALLED: - console.warn("更新已安装,重启应用后生效"); this.setState({ syncMessage: "更新已安装,重启应用后生效", updating: false }); - CodePush.restartApp(); break; case CodePush.SyncStatus.UNKNOWN_ERROR: - console.warn("未知错误"); this.setState({ syncMessage: "未知错误", updating: false }); break; }