diff --git a/examples/mini-program-example/src/pages/api/redirection/index.tsx b/examples/mini-program-example/src/pages/api/redirection/index.tsx index d9b32456a96..0fae968e580 100644 --- a/examples/mini-program-example/src/pages/api/redirection/index.tsx +++ b/examples/mini-program-example/src/pages/api/redirection/index.tsx @@ -2,6 +2,7 @@ import React from 'react' import { View } from '@tarojs/components' import ButtonList from '@/components/buttonList' import './index.scss' +import Taro from '@tarojs/taro' /** * 跳转 @@ -29,7 +30,9 @@ export default class Index extends React.Component { }, { id: 'exitMiniProgram', - func: null, + func: () => { + Taro.exitMiniProgram() + }, }, ], } diff --git a/packages/taro-platform-harmony-hybrid/build/config/harmony-definition.json b/packages/taro-platform-harmony-hybrid/build/config/harmony-definition.json index 0fb07aec6f0..817537f1299 100644 --- a/packages/taro-platform-harmony-hybrid/build/config/harmony-definition.json +++ b/packages/taro-platform-harmony-hybrid/build/config/harmony-definition.json @@ -757,7 +757,12 @@ "TARO_ENV": true, "USER_DATA_PATH": true }, - "exitMiniProgram": false, + "exitMiniProgram": { + "object": { + "url": true, + "events": true + } + }, "exitVoIPChat": false, "faceDetect": false, "faceVerifyForPay": false, diff --git a/packages/taro-platform-harmony-hybrid/src/api/apis/NativeApi.ts b/packages/taro-platform-harmony-hybrid/src/api/apis/NativeApi.ts index 0c85c4dd235..e1ed2f0cc34 100644 --- a/packages/taro-platform-harmony-hybrid/src/api/apis/NativeApi.ts +++ b/packages/taro-platform-harmony-hybrid/src/api/apis/NativeApi.ts @@ -622,6 +622,11 @@ export class NativeApi { @(asyncAndNotRelease) onNativeNavigate (_options: any): void {} + + @(asyncAndRelease) + exitMiniProgram (option?: any): any { + return option + } } export interface Status { diff --git a/packages/taro-platform-harmony-hybrid/src/api/apis/comments.ts b/packages/taro-platform-harmony-hybrid/src/api/apis/comments.ts index e86e430d641..3e68b6b0db7 100644 --- a/packages/taro-platform-harmony-hybrid/src/api/apis/comments.ts +++ b/packages/taro-platform-harmony-hybrid/src/api/apis/comments.ts @@ -607,12 +607,6 @@ * @canNotUse editImage */ -/** - * 退出当前小程序 - * - * @canNotUse exitMiniProgram - */ - /** * 退出(销毁)实时语音通话 * diff --git a/packages/taro-platform-harmony-hybrid/src/api/apis/navigate/index.ts b/packages/taro-platform-harmony-hybrid/src/api/apis/navigate/index.ts index e1855051d5a..76ab98acdfa 100644 --- a/packages/taro-platform-harmony-hybrid/src/api/apis/navigate/index.ts +++ b/packages/taro-platform-harmony-hybrid/src/api/apis/navigate/index.ts @@ -1,6 +1,8 @@ import Taro from '@tarojs/api' import { navigateTo as navigateToH5 } from '@tarojs/taro-h5' +import native from '../NativeApi' + const delay = 300 let lastExecuteTime = 0 let lastUrl @@ -22,3 +24,12 @@ export function navigateTo (option: Taro.navigateTo.Option) { lastUrl = targetUrl return navigateToH5(option) } + +/** + * 退出当前小程序。必须有点击行为才能调用成功。 + * + * @canUse exitMiniProgram + */ +export function exitMiniProgram (option?: any) { + native.exitMiniProgram(option) +}