import Taro, { useLaunch } from "@tarojs/taro"; import { PropsWithChildren } from "react"; import "./app.less"; import { useAppStore } from "./store/appStore"; if (process.env.TARO_ENV == "h5") { const VConsole = require("vconsole"); new VConsole(); } function App({ children }: PropsWithChildren) { const { setSystemInfo } = useAppStore(); useLaunch(() => { console.log("App launched."); if (process.env.TARO_ENV == "h5") { return; } const updateManager = Taro.getUpdateManager(); updateManager.onCheckForUpdate(function (res) { // 请求完新版本信息的回调 console.log("需要更新: ", res.hasUpdate); }); updateManager.onUpdateReady(function () { Taro.showModal({ title: "更新提示", content: "新版本已经准备好,是否重启应用?", success: function (res) { if (res.confirm) { // 新的版本已经下载好,调用 applyUpdate 应用新版本并重启 updateManager.applyUpdate(); } }, }); }); updateManager.onUpdateFailed(function () { // 新版本下载失败 }); Taro.getSystemInfoAsync({ success(res) { setSystemInfo(res); }, }); }); return <>{children}; } export default App;