提交 369acbc0 编写于 作者: DCloud-WZF's avatar DCloud-WZF 💬

refactor(onLastPageBackPress): 条件编译指定平台

上级 7782ef23
<script lang="uts"> <script lang="uts">
import { state, setLifeCycleNum, setAppLaunchPath, setAppShowPath } from './store/index.uts' import { state, setLifeCycleNum, setAppLaunchPath, setAppShowPath } from './store/index.uts'
let firstBackTime = 0 let firstBackTime = 0
export default { export default {
onLaunch: function (options) { onLaunch: function (options) {
// 自动化测试 // 自动化测试
setLifeCycleNum(state.lifeCycleNum + 1000) setLifeCycleNum(state.lifeCycleNum + 1000)
setAppLaunchPath(options.path) setAppLaunchPath(options.path)
console.log('App Launch') console.log('App Launch')
// #ifdef UNI-APP-X && APP-ANDROID // #ifdef UNI-APP-X && APP-ANDROID
const performance = uni.getPerformance() const performance = uni.getPerformance()
const observer : PerformanceObserver = performance.createObserver((entryList : PerformanceObserverEntryList) => { const observer : PerformanceObserver = performance.createObserver((entryList : PerformanceObserverEntryList) => {
console.log('observer:entryList.getEntries()') console.log('observer:entryList.getEntries()')
console.log(entryList.getEntries()) console.log(entryList.getEntries())
}) })
observer.observe({ observer.observe({
entryTypes: ['render', 'navigation'], entryTypes: ['render', 'navigation'],
} as PerformanceObserverOptions) } as PerformanceObserverOptions)
// #endif // #endif
}, },
onShow: function (options) { onShow: function (options) {
// 自动化测试 // 自动化测试
setLifeCycleNum(state.lifeCycleNum + 100) setLifeCycleNum(state.lifeCycleNum + 100)
setAppShowPath(options.path) setAppShowPath(options.path)
console.log('App Show') console.log('App Show')
}, },
onHide: function () { onHide: function () {
// 自动化测试 // 自动化测试
setLifeCycleNum(state.lifeCycleNum - 100) setLifeCycleNum(state.lifeCycleNum - 100)
console.log('App Hide') console.log('App Hide')
}, },
onLastPageBackPress: function () { // #ifdef APP-ANDROID
// #ifdef APP-ANDROID onLastPageBackPress: function () {
// 自动化测试 // 自动化测试
setLifeCycleNum(state.lifeCycleNum - 1000) setLifeCycleNum(state.lifeCycleNum - 1000)
console.log('App LastPageBackPress') console.log('App LastPageBackPress')
if (firstBackTime == 0) { if (firstBackTime == 0) {
uni.showToast({ uni.showToast({
title: '再按一次退出应用', title: '再按一次退出应用',
position: 'bottom', position: 'bottom',
}) })
firstBackTime = Date.now() firstBackTime = Date.now()
setTimeout(() => { setTimeout(() => {
firstBackTime = 0 firstBackTime = 0
}, 2000) }, 2000)
} else if (Date.now() - firstBackTime < 2000) { } else if (Date.now() - firstBackTime < 2000) {
firstBackTime = Date.now() firstBackTime = Date.now()
uni.exit() uni.exit()
} }
// #endif },
}, // #endif
onExit() { onExit() {
console.log('App Exit') console.log('App Exit')
}, },
methods: { methods: {
checkLaunchPath() : boolean { checkLaunchPath() : boolean {
const HOME_PATH = '/pages/index' const HOME_PATH = '/pages/index'
if (state.appLaunchPath != HOME_PATH) { if (state.appLaunchPath != HOME_PATH) {
return false return false
} }
if (state.appShowPath != HOME_PATH) { if (state.appShowPath != HOME_PATH) {
return false return false
} }
return true return true
} }
} }
} }
</script> </script>
<style> <style>
@import "./common/uni.css"; @import "./common/uni.css";
/* @font-face { /* @font-face {
font-family: uniicons; font-family: uniicons;
font-weight: normal; font-weight: normal;
font-style: normal; font-style: normal;
src: url('./static/fonts/uni.ttf') format('truetype'); src: url('./static/fonts/uni.ttf') format('truetype');
} */ } */
.page { .page {
padding: 15px; padding: 15px;
} }
.uni-panel { .uni-panel {
margin-bottom: 12px; margin-bottom: 12px;
} }
.uni-panel-h { .uni-panel-h {
background-color: #ffffff; background-color: #ffffff;
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
padding: 12px; padding: 12px;
} }
.uni-panel-h-on { .uni-panel-h-on {
background-color: #f0f0f0; background-color: #f0f0f0;
} }
.uni-panel-text { .uni-panel-text {
color: #000000; color: #000000;
font-size: 14px; font-size: 14px;
font-weight: normal; font-weight: normal;
} }
.uni-panel-icon-on { .uni-panel-icon-on {
transform: rotate(180deg); transform: rotate(180deg);
} }
.uni-navigate-item { .uni-navigate-item {
flex-direction: row; flex-direction: row;
align-items: center; align-items: center;
background-color: #ffffff; background-color: #ffffff;
border-top-style: solid; border-top-style: solid;
border-top-color: #f0f0f0; border-top-color: #f0f0f0;
border-top-width: 1px; border-top-width: 1px;
padding: 12px; padding: 12px;
justify-content: space-between; justify-content: space-between;
} }
.uni-navigate-item:active { .uni-navigate-item:active {
background-color: #f8f8f8; background-color: #f8f8f8;
} }
.uni-navigate-text { .uni-navigate-text {
color: #000000; color: #000000;
font-size: 12px; font-size: 12px;
opacity: 0.8; opacity: 0.8;
} }
.uni-navigate-icon { .uni-navigate-icon {
margin-left: 15px; margin-left: 15px;
color: #999999; color: #999999;
font-size: 14px; font-size: 14px;
font-weight: normal; font-weight: normal;
} }
.text-disabled { .text-disabled {
color: #a0a0a0; color: #a0a0a0;
} }
.list-item-text { .list-item-text {
line-height: 36px; line-height: 36px;
} }
.split-title { .split-title {
margin: 20px 0 5px; margin: 20px 0 5px;
padding: 5px 0; padding: 5px 0;
border-bottom: 1px solid #dfdfdf; border-bottom: 1px solid #dfdfdf;
} }
.btn-view { .btn-view {
margin: 10px 0; margin: 10px 0;
padding: 10px; padding: 10px;
border: 1px solid #dfdfdf; border: 1px solid #dfdfdf;
border-radius: 3px; border-radius: 3px;
} }
</style> </style>
\ No newline at end of file
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册