feat: 添加预算管理功能,支持分类预算和重置周期设置,优化用户界面
This commit is contained in:
29
src/App.vue
29
src/App.vue
@@ -1,6 +1,7 @@
|
||||
<script setup>
|
||||
import { onMounted } from 'vue'
|
||||
import { onMounted, onBeforeUnmount } from 'vue'
|
||||
import { RouterView } from 'vue-router'
|
||||
import { App } from '@capacitor/app'
|
||||
import BottomDock from './components/BottomDock.vue'
|
||||
import AddEntryView from './views/AddEntryView.vue'
|
||||
import { useTransactionStore } from './stores/transactions'
|
||||
@@ -9,8 +10,34 @@ import { useUiStore } from './stores/ui'
|
||||
const transactionStore = useTransactionStore()
|
||||
const uiStore = useUiStore()
|
||||
|
||||
let backButtonListener = null
|
||||
|
||||
onMounted(() => {
|
||||
transactionStore.ensureInitialized()
|
||||
|
||||
// Android 物理返回键:如果新增记录面板打开,则优先关闭面板而不是直接退出应用
|
||||
if (typeof App?.addListener === 'function') {
|
||||
App.addListener('backButton', ({ canGoBack }) => {
|
||||
if (uiStore.addEntryVisible) {
|
||||
uiStore.closeAddEntry()
|
||||
} else if (!canGoBack) {
|
||||
// 这里保留默认行为(由 Capacitor 处理),不强制 exitApp
|
||||
}
|
||||
})
|
||||
.then((handle) => {
|
||||
backButtonListener = handle
|
||||
})
|
||||
.catch(() => {
|
||||
backButtonListener = null
|
||||
})
|
||||
}
|
||||
})
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
if (backButtonListener && typeof backButtonListener.remove === 'function') {
|
||||
backButtonListener.remove()
|
||||
backButtonListener = null
|
||||
}
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user