From 0cb7e67b5e4215d16a2ac49ee05d9511e1f72c1a Mon Sep 17 00:00:00 2001 From: richarjiang Date: Thu, 11 Sep 2025 22:35:35 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=9B=B4=E6=96=B0=E4=BE=9D=E8=B5=96?= =?UTF-8?q?=E9=A1=B9=E7=89=88=E6=9C=AC=E5=B9=B6=E6=B7=BB=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E7=9A=84UI=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ios/Podfile.lock | 8 +- package-lock.json | 192 ++++++++++++++++++++++++++++-- package.json | 3 +- services/backgroundTaskManager.ts | 2 +- 4 files changed, 189 insertions(+), 16 deletions(-) diff --git a/ios/Podfile.lock b/ios/Podfile.lock index 01ae7f5..a09e266 100644 --- a/ios/Podfile.lock +++ b/ios/Podfile.lock @@ -1,14 +1,14 @@ PODS: - boost (1.84.0) - DoubleConversion (1.1.6) - - EXApplication (6.1.5): + - EXApplication (7.0.6): - ExpoModulesCore - EXConstants (17.1.7): - ExpoModulesCore - EXImageLoader (5.1.0): - ExpoModulesCore - React-Core - - EXNotifications (0.31.4): + - EXNotifications (0.32.10): - ExpoModulesCore - Expo (53.0.22): - DoubleConversion @@ -2367,10 +2367,10 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: boost: 7e761d76ca2ce687f7cc98e698152abd03a18f90 DoubleConversion: cb417026b2400c8f53ae97020b2be961b59470cb - EXApplication: 1e06972201838375ca1ec1ba34d586a98a5dc718 + EXApplication: f5219af375d2bcff2596ac5c586d3b62c587c0d8 EXConstants: 98bcf0f22b820f9b28f9fee55ff2daededadd2f8 EXImageLoader: 4d3d3284141f1a45006cc4d0844061c182daf7ee - EXNotifications: be5e949edf1d60b70e77178b81aa505298fadd07 + EXNotifications: bfcda0c49edd979747e1e50340de7bb0e9729ef5 Expo: c9e30ab79606b3800733594a961528bc4abb0ffe ExpoAppleAuthentication: 4d2e0c88a4463229760f1fbb9a937a810efb6863 ExpoAsset: ef06e880126c375f580d4923fdd1cdf4ee6ee7d6 diff --git a/package-lock.json b/package-lock.json index 3ab0a28..bd61efb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,6 +8,7 @@ "name": "digital-pilates", "version": "1.0.2", "dependencies": { + "@expo/ui": "~0.1.1-alpha.10", "@expo/vector-icons": "^14.1.0", "@react-native-async-storage/async-storage": "^2.2.0", "@react-native-community/datetimepicker": "^8.4.4", @@ -34,7 +35,7 @@ "expo-image-picker": "~16.1.4", "expo-linear-gradient": "^14.1.5", "expo-linking": "~7.1.7", - "expo-notifications": "~0.31.4", + "expo-notifications": "~0.32.10", "expo-quick-actions": "^5.0.0", "expo-router": "~5.1.5", "expo-splash-screen": "~0.30.10", @@ -2291,6 +2292,17 @@ "integrity": "sha512-HHQigo3rQWKMDzYDLkubN5WQOYXJJE2eNqIQC2axC2iO3mHdwnIR7FgZVvHWtBwAdzBgAP0ECp8KqS8TiMKvgw==", "license": "MIT" }, + "node_modules/@expo/ui": { + "version": "0.1.1-canary-20250811-5c940c0", + "resolved": "https://registry.npmjs.org/@expo/ui/-/ui-0.1.1-canary-20250811-5c940c0.tgz", + "integrity": "sha512-I8iECDgYwJ7+oTsL1GcOthyCcKXODqGvvzfti0bLKKD9Nmlm9vpUievKYM1ag/HKli+QS/yxqm+woAJkPYHfeQ==", + "license": "MIT", + "peerDependencies": { + "expo": "*", + "react": "*", + "react-native": "*" + } + }, "node_modules/@expo/vector-icons": { "version": "14.1.0", "resolved": "https://registry.npmjs.org/@expo/vector-icons/-/vector-icons-14.1.0.tgz", @@ -7261,9 +7273,9 @@ } }, "node_modules/expo-application": { - "version": "6.1.5", - "resolved": "https://registry.npmjs.org/expo-application/-/expo-application-6.1.5.tgz", - "integrity": "sha512-ToImFmzw8luY043pWFJhh2ZMm4IwxXoHXxNoGdlhD4Ym6+CCmkAvCglg0FK8dMLzAb+/XabmOE7Rbm8KZb6NZg==", + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/expo-application/-/expo-application-7.0.6.tgz", + "integrity": "sha512-OrRQ1vDi1v+nF0bfGe0nWU/cZVN0EFysJ7Sj5ko8GuL8t6GidqhN3j7hw16hINZuWcEEfa0wAUXmNT1LMgLWog==", "license": "MIT", "peerDependencies": { "expo": "*" @@ -7474,18 +7486,18 @@ } }, "node_modules/expo-notifications": { - "version": "0.31.4", - "resolved": "https://registry.npmjs.org/expo-notifications/-/expo-notifications-0.31.4.tgz", - "integrity": "sha512-NnGKIFGpgZU66qfiFUyjEBYsS77VahURpSSeWEOLt+P1zOaUFlgx2XqS+dxH3/Bn1Vm7TMj04qKsK5KvzR/8Lw==", + "version": "0.32.10", + "resolved": "https://registry.npmjs.org/expo-notifications/-/expo-notifications-0.32.10.tgz", + "integrity": "sha512-5o0ifzTk6rLp+SMLZZcCrR5e6WseFG9gnF6rsomLegFR549pQQfWYiKz9KNic0Rnm81xYH4csgAxhND3E1aB0g==", "license": "MIT", "dependencies": { - "@expo/image-utils": "^0.7.6", + "@expo/image-utils": "^0.8.6", "@ide/backoff": "^1.0.0", "abort-controller": "^3.0.0", "assert": "^2.0.0", "badgin": "^1.1.5", - "expo-application": "~6.1.5", - "expo-constants": "~17.1.7" + "expo-application": "~7.0.6", + "expo-constants": "~18.0.7" }, "peerDependencies": { "expo": "*", @@ -7493,6 +7505,142 @@ "react-native": "*" } }, + "node_modules/expo-notifications/node_modules/@babel/code-frame": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", + "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", + "license": "MIT", + "dependencies": { + "@babel/highlight": "^7.10.4" + } + }, + "node_modules/expo-notifications/node_modules/@expo/config": { + "version": "12.0.8", + "resolved": "https://registry.npmjs.org/@expo/config/-/config-12.0.8.tgz", + "integrity": "sha512-yFadXa5Cmja57EVOSyEYV1hF7kCaSbPnd1twx0MfvTr1Yj2abIbrEu2MUZqcvElNQOtgADnLRP0YJiuEdgoO5A==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "@expo/config-plugins": "~54.0.0", + "@expo/config-types": "^54.0.7", + "@expo/json-file": "^10.0.7", + "deepmerge": "^4.3.1", + "getenv": "^2.0.0", + "glob": "^10.4.2", + "require-from-string": "^2.0.2", + "resolve-from": "^5.0.0", + "resolve-workspace-root": "^2.0.0", + "semver": "^7.6.0", + "slugify": "^1.3.4", + "sucrase": "3.35.0" + } + }, + "node_modules/expo-notifications/node_modules/@expo/config-plugins": { + "version": "54.0.0", + "resolved": "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-54.0.0.tgz", + "integrity": "sha512-b2yFNKwaiHjDfh7K+zhMvRKA09gdaP/raqIzB112qeacVJaT66vka8m6cffYbbiXMe1srqofSJvyvr+g3H6+nA==", + "license": "MIT", + "dependencies": { + "@expo/config-types": "^54.0.7", + "@expo/json-file": "~10.0.6", + "@expo/plist": "^0.4.6", + "@expo/sdk-runtime-versions": "^1.0.0", + "chalk": "^4.1.2", + "debug": "^4.3.5", + "getenv": "^2.0.0", + "glob": "^10.4.2", + "resolve-from": "^5.0.0", + "semver": "^7.5.4", + "slash": "^3.0.0", + "slugify": "^1.6.6", + "xcode": "^3.0.1", + "xml2js": "0.6.0" + } + }, + "node_modules/expo-notifications/node_modules/@expo/config-types": { + "version": "54.0.7", + "resolved": "https://registry.npmjs.org/@expo/config-types/-/config-types-54.0.7.tgz", + "integrity": "sha512-f0UehgPd2gUqUtQ6euHAL6MqTT/A07r847Ztw2yZYWTUr0hRZr4nCP4U+lr8/pPtsHQYMKoPB1mOeAaTO25ruw==", + "license": "MIT" + }, + "node_modules/expo-notifications/node_modules/@expo/env": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@expo/env/-/env-2.0.7.tgz", + "integrity": "sha512-BNETbLEohk3HQ2LxwwezpG8pq+h7Fs7/vAMP3eAtFT1BCpprLYoBBFZH7gW4aqGfqOcVP4Lc91j014verrYNGg==", + "license": "MIT", + "dependencies": { + "chalk": "^4.0.0", + "debug": "^4.3.4", + "dotenv": "~16.4.5", + "dotenv-expand": "~11.0.6", + "getenv": "^2.0.0" + } + }, + "node_modules/expo-notifications/node_modules/@expo/image-utils": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/@expo/image-utils/-/image-utils-0.8.7.tgz", + "integrity": "sha512-SXOww4Wq3RVXLyOaXiCCuQFguCDh8mmaHBv54h/R29wGl4jRY8GEyQEx8SypV/iHt1FbzsU/X3Qbcd9afm2W2w==", + "license": "MIT", + "dependencies": { + "@expo/spawn-async": "^1.7.2", + "chalk": "^4.0.0", + "getenv": "^2.0.0", + "jimp-compact": "0.16.1", + "parse-png": "^2.1.0", + "resolve-from": "^5.0.0", + "resolve-global": "^1.0.0", + "semver": "^7.6.0", + "temp-dir": "~2.0.0", + "unique-string": "~2.0.0" + } + }, + "node_modules/expo-notifications/node_modules/@expo/json-file": { + "version": "10.0.7", + "resolved": "https://registry.npmjs.org/@expo/json-file/-/json-file-10.0.7.tgz", + "integrity": "sha512-z2OTC0XNO6riZu98EjdNHC05l51ySeTto6GP7oSQrCvQgG9ARBwD1YvMQaVZ9wU7p/4LzSf1O7tckL3B45fPpw==", + "license": "MIT", + "dependencies": { + "@babel/code-frame": "~7.10.4", + "json5": "^2.2.3" + } + }, + "node_modules/expo-notifications/node_modules/@expo/plist": { + "version": "0.4.6", + "resolved": "https://registry.npmjs.org/@expo/plist/-/plist-0.4.6.tgz", + "integrity": "sha512-6yklhtUWohs1rBSC8dGyBBpElEbosjXN0zJN/+1/B121n7pPWvd9y/UGJm+2x7b81VnW3AHmWVnbU/u0INQsqA==", + "license": "MIT", + "dependencies": { + "@xmldom/xmldom": "^0.8.8", + "base64-js": "^1.2.3", + "xmlbuilder": "^15.1.1" + } + }, + "node_modules/expo-notifications/node_modules/expo-constants": { + "version": "18.0.8", + "resolved": "https://registry.npmjs.org/expo-constants/-/expo-constants-18.0.8.tgz", + "integrity": "sha512-Tetphsx6RVImCTZeBAclRQMy0WOODY3y6qrUoc88YGUBVm8fAKkErCSWxLTCc6nFcJxdoOMYi62LgNIUFjZCLA==", + "license": "MIT", + "dependencies": { + "@expo/config": "~12.0.8", + "@expo/env": "~2.0.7" + }, + "peerDependencies": { + "expo": "*", + "react-native": "*" + } + }, + "node_modules/expo-notifications/node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/expo-quick-actions": { "version": "5.0.0", "resolved": "https://mirrors.tencent.com/npm/expo-quick-actions/-/expo-quick-actions-5.0.0.tgz", @@ -8206,6 +8354,18 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/global-dirs": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/global-dirs/-/global-dirs-0.1.1.tgz", + "integrity": "sha512-NknMLn7F2J7aflwFOlGdNIuCDpN3VGoSoB+aap3KABFWbHVn1TCgFC+np23J8W2BiZbjfEw3BFBycSMv1AFblg==", + "license": "MIT", + "dependencies": { + "ini": "^1.3.4" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/globals": { "version": "14.0.0", "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", @@ -12457,6 +12617,18 @@ "node": ">=8" } }, + "node_modules/resolve-global": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/resolve-global/-/resolve-global-1.0.0.tgz", + "integrity": "sha512-zFa12V4OLtT5XUX/Q4VLvTfBf+Ok0SPc1FNGM/z9ctUdiU618qwKpWnd0CHs3+RqROfyEg/DhuHbMWYqcgljEw==", + "license": "MIT", + "dependencies": { + "global-dirs": "^0.1.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/resolve-pkg-maps": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", diff --git a/package.json b/package.json index 745c9d1..e653d9d 100644 --- a/package.json +++ b/package.json @@ -71,7 +71,8 @@ "react-native-web": "~0.20.0", "react-native-webview": "13.13.5", "react-native-wheel-picker-expo": "^0.5.4", - "react-redux": "^9.2.0" + "react-redux": "^9.2.0", + "@expo/ui": "~0.1.1-alpha.10" }, "devDependencies": { "@babel/core": "^7.25.2", diff --git a/services/backgroundTaskManager.ts b/services/backgroundTaskManager.ts index 40cfa91..114f305 100644 --- a/services/backgroundTaskManager.ts +++ b/services/backgroundTaskManager.ts @@ -194,7 +194,7 @@ export class BackgroundTaskManager { // 定义后台任务 TaskManager.defineTask(BACKGROUND_TASK_IDENTIFIER, async (body: TaskManagerTaskBody) => { try { - log.info('[BackgroundTask] 后台任务执行'); + log.info(`[BackgroundTask] 后台任务执行, 任务 ID: ${BACKGROUND_TASK_IDENTIFIER}`); await executeBackgroundTasks(); // return BackgroundTask.BackgroundTaskResult.Success; } catch (error) {