uniapp APP端在線升級(簡版)

設計思路:

1.版本比較:應用程序檢查其當前版本與遠程服務器上可用的最新版本

2.?更新狀態指示:如果應用程序是不是最新的版本,則頁面提示下載最新版本。

3.下載啟動:通過plus.downloader.createDownload()啟動新應用版本的下載,監聽下載過程。

4.安裝:下載成功后,用戶可點擊更新,應用程序通過plus.runtime.install()觸發新應用版本的安裝。

5應用重啟:最后,應用程序使用plus.runtime.restart()重啟以應用。

let configUrl = config.baseUrllet baseUrl = configUrl.toString().split(':')let appUrl = baseUrl[0] + ':' + baseUrl[1] + ":8888/statics/his-app.apk"let downloadTask = plus.downloader.createDownload(appUrl,{method: "GET",},(task, status) => {console.log(status, "status")if (status == 200) {//下載成功uni.showModal({title: '',content: '下載成功,確定現在更新嗎?',confirmText: '更新',confirmColor: '#EE8F57',success: function (res) {if (res.confirm) {console.log("更新")plus.runtime.install(task.tempFilePath,{force: true,},function () {// 安裝成功,可以重啟應用plus.runtime.restart()},function (e) {uni.showModal({title: '更新失敗',content: '更新失敗',showCancel: false})plus.nativeUI.closeWaiting()// 安裝失敗,處理錯誤})}},complete: () => {// uni.hideLoading();}})} else {uni.showToast({title: "下載失敗",icon: "error",})}}).start();

 //監聽下載過程downloadTask.addEventListener("statechanged", (task, status) => {switch (task.state) {case 1: // 開始console.log("開始")breakcase 2: //已連接到服務器console.log("已連接到服務器")breakcase 3: // 已接收到數據console.log("已接收到數據 ")let hasProgress = task.totalSize && task.totalSize > 0 //是否能獲取到App大小if (hasProgress) {let current = parseInt((100 * task.downloadedSize) / task.totalSize) //獲取下載進度百分比console.log(current)}breakcase 4: // 下載完成console.log("下載完成")break}})

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/899831.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/899831.shtml
英文地址,請注明出處:http://en.pswp.cn/news/899831.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

基于javaweb的SpringBoot教務課程管理設計與實現(源碼+文檔+部署講解)

技術范圍:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬蟲、數據可視化、小程序、安卓app、大數據、物聯網、機器學習等設計與開發。 主要內容:免費功能設計、開題報告、任務書、中期檢查PPT、系統功能實現、代碼編寫、論文編寫和輔導、論文…

使用大語言模型進行Python圖表可視化

Python使用matplotlib進行可視化一直有2個問題,一是代碼繁瑣,二是默認模板比較丑。因此發展出seaborn等在matplotlib上二次開發,以更少的代碼進行畫圖的和美化的庫,但是這也帶來了定制化不足的問題。在大模型時代,這個…

【JavaEE】MyBatis - Plus

目錄 一、快速使用二、CRUD簡單使用三、常見注解3.1 TableName3.2 TableFiled3.3 TableId 四、條件構造器4.1 QueryWrapper4.2 UpdateWrapper4.3 LambdaQueryWrapper4.4 LambdaUpdateWrapper 五、自定義SQL 一、快速使用 MyBatis Plus官方文檔:MyBatis Plus官方文檔…

采用前端技術開源了一個數據結構算法的可視化工具

今天要推薦的開源項目叫VisuAlgoX,是一個面向計算機科學和游戲開發的 交互式算法可視化工具,幫助用戶通過直觀的動畫理解各種數據結構和算法。 項目的前身 由于最近在做一些關于游戲和圖形化方面的文章,因此做了一部分相關算法的動態可視化來做配圖展示…

體驗智譜清言的AutoGLM進行自動化的操作(Chrome插件)

最近體驗了很多的大模型,大模型我是一直關注著ChatGLM,因為它確實在7b和8b這檔模型里,非常聰明! 最近還體驗了很多大模型的應用軟件,比如Agently、5ire、 mcphost、 Dive、 NextChat等。但是這些一般都是圖形界面或者…

pytorch中dataloader自定義數據集

前言 在深度學習中我們需要使用自己的數據集做訓練,因此需要將自定義的數據和標簽加載到pytorch里面的dataloader里,也就是自實現一個dataloader。 數據集處理 以花卉識別項目為例,我們分別做出圖片的訓練集和測試集,訓練集的標…

Blender模型導入虛幻引擎設置

單位系統不一致 Blender默認單位是米(Meters),而虛幻引擎默認使用**厘米(Centimeters)**作為單位。 當模型從Blender導出為FBX或其他格式時,如果沒有調整單位,虛幻引擎會將1米(Blen…

Docker基礎詳解

Docker 技術詳解 一、概述 Docker官網:https://docs.docker.com/ 菜鳥教程:https://www.runoob.com/docker/docker-tutorial.html 1.1 什么是Docker? Docker 是一個開源的容器化平臺,它允許開發者將應用程序和其依賴項打包到…

FastPillars:一種易于部署的基于支柱的 3D 探測器

FastPillars:一種易于部署的基于支柱的 3D 探測器Report issue for preceding element Sifan Zhou 1 , Zhi Tian 2 , Xiangxiang Chu 2 , Xinyu Zhang 2 , Bo Zhang 2 , Xiaobo Lu11{}^{1}start_FLOATSUPERSCRIPT 1 end_FLOATSUPERSCRIPT11footnotemark: 1 Chengji…

NLP語言模型訓練里的特殊向量

1. CLS 向量和 DEC 向量的區別及訓練方式 (1) CLS 向量與 DEC 向量是否都是特殊 token? CLS 向量([CLS] token)和 DEC 向量(Decoder Input token)都是特殊的 token,但它們出現在不同類型的 NLP 模型中&am…

字節跳動 UI-TARS 匯總整理報告

1. 摘要 UI-TARS 是字節跳動開發的一種原生圖形用戶界面(GUI)代理模型 。它將感知、行動、推理和記憶整合到一個統一的視覺語言模型(VLM)中 。UI-TARS 旨在跨桌面、移動和 Web 平臺實現與 GUI 的無縫交互 。實驗結果表明&#xf…

基于Python深度學習的鯊魚識別分類系統

摘要:鯊魚是海洋環境健康的指標,但受到過度捕撈和數據缺乏的挑戰。傳統的觀察方法成本高昂且難以收集數據,特別是對于具有較大活動范圍的物種。論文討論了如何利用基于媒體的遠程監測方法,結合機器學習和自動化技術,來…

【漫話機器學習系列】168.最大最小值縮放(Min-Max Scaling)

在機器學習和數據預處理中,特征縮放(Feature Scaling) 是一個至關重要的步驟,它可以使模型更穩定,提高訓練速度,并優化收斂效果。最大最小值縮放(Min-Max Scaling) 是其中最常見的方…

開源測試用例管理平臺

不可錯過的10個開源測試用例管理平臺: PingCode、TestLink、Kiwi TCMS、Squash TM、FitNesse、Tuleap、Robot Framework、SpecFlow、TestMaster、Nitrate。 開源測試用例管理工具提供了一種透明、靈活的解決方案,使團隊能夠在不受限的情況下適應具體的測…

鴻蒙闊折疊Pura X外屏開發適配

首先看下鴻蒙中斷點分類 內外屏開合規則 Pura X開合連續規則: 外屏切換到內屏,界面可以直接接續。內屏(鎖屏或非鎖屏狀態)切換到外屏,默認都顯示為鎖屏的亮屏狀態。用戶解鎖后:對于應用已適配外屏的情況下,應用界面可以接續到外屏。折疊外屏顯示展開內屏顯示折疊狀態…

DRM_CLIENT_CAP_UNIVERSAL_PLANES和DRM_CLIENT_CAP_ATOMIC

drmSetClientCap(fd, DRM_CLIENT_CAP_UNIVERSAL_PLANES, 1); drmSetClientCap(fd, DRM_CLIENT_CAP_ATOMIC, 1); 這兩行代碼用于啟用 Linux DRM(Direct Rendering Manager)客戶端的兩個關鍵特性,具體作用如下: 1. drmSetClientCap…

敏捷開發10:精益軟件開發和看板kanban開發方法的區別是什么

簡介 精益生產起源于豐田生產系統,核心是消除浪費,而看板最初是由豐田用于物料管理的信號卡片,后來被引入軟件開發。 Kanban 后來引入到敏捷開發中,強調持續交付和流程可視化。 精益軟件開發原則是基于精益生產的原則&#xff0…

用matlab探索卷積神經網絡(Convolutional Neural Networks)-3

5.GoogLeNet中的Filters 這里我們探索GoogLeNet中的Filters,首先你需要安裝GoogLeNet.在Matlab的APPS里找到Deep Network Designer,然后找到GoogLeNet,安裝后的網絡是沒有右下角的黃色感嘆號的,沒有安裝的神經網絡都有黃色感嘆號。 一個層&a…

Verilog中X態的危險:仿真漏掉的bug

由于Verilog中X態的微妙語義,RTL仿真可能PASS,而網表仿真卻會fail。 目前進行的網表仿真越來越少,這個問題尤其嚴重,主要是網表仿真比RTL仿真慢得多,因此對整個回歸測試而言成本效益不高。 上面的例子中,用Verilog RTL中的case語句描述了一個簡單的AND函數,它被綜合成AN…

PyTorch中知識蒸餾淺講

知識蒸餾 在 PyTorch 中,使用 teacher_model.eval() 和凍結教師模型參數是知識蒸餾(Knowledge Distillation)中的關鍵步驟。 ?1. teacher_model.eval() 的作用 目的: 將教師模型切換到評估模式,影響某些特定層(如 Dropout、BatchNorm)的行為。 ?具體影響: ?Dropo…