| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
-
- import {ref} from "vue";
- import {
- onBackPress
- } from '@dcloudio/uni-app';
- export function useExitApp() {
-
- const canExitApp = ref(false);
-
- onBackPress((options) => {
- if (options.from === 'backbutton') {
- // 返回键处理
- return handleHarmonyOSBack()
- }
- return false
- })
-
- function handleHarmonyOSBack() {
- // 双击返回键退出应用
- if (!canExitApp.value) {
- canExitApp.value = true
-
- // 显示提示
- uni.showToast({
- title: '再按一次退出应用',
- icon: 'none',
- duration: 2000
- })
-
- // 2秒后重置状态
- setTimeout(() => {
- canExitApp.value = false
- }, 2000)
-
- return true // 拦截返回事件
- } else {
- // 退出应用
- exitApp()
- return true
- }
- }
-
- function exitApp() {
- // #ifdef APP-PLUS || APP-PLUS-NVUE
- // 系统退出应用
- plus.runtime.quit()
- // #endif
- }
-
- }
|