1
This commit is contained in:
46
nx/hooks/useScreenOrientation.js
Normal file
46
nx/hooks/useScreenOrientation.js
Normal file
@@ -0,0 +1,46 @@
|
||||
// useScreenOrientation.ts
|
||||
import { onUnmounted } from 'vue'
|
||||
|
||||
//orientation:'portrait' | 'landscape'
|
||||
export function useScreenOrientation() {
|
||||
// 锁定屏幕方向
|
||||
const lockOrientation = orientation => {
|
||||
try {
|
||||
if (typeof plus !== 'undefined' && plus.screen) {
|
||||
const currentOrientation = plus.screen.orientation
|
||||
if (currentOrientation !== orientation) {
|
||||
plus.screen.lockOrientation(orientation)
|
||||
return true
|
||||
}
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn('锁定方向失败:', e)
|
||||
return false
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// 解锁屏幕方向
|
||||
const unlockOrientation = () => {
|
||||
try {
|
||||
if (typeof plus !== 'undefined' && plus.screen) {
|
||||
plus.screen.unlockOrientation()
|
||||
return true
|
||||
}
|
||||
} catch (e) {
|
||||
console.warn('解锁方向失败:', e)
|
||||
return false
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// 自动在组件卸载时解锁
|
||||
onUnmounted(() => {
|
||||
unlockOrientation()
|
||||
})
|
||||
|
||||
return {
|
||||
lockOrientation,
|
||||
unlockOrientation
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user