|
|
@@ -1,17 +1,17 @@
|
|
|
// 屏幕适配 mixin 函数
|
|
|
|
|
|
-// * 默认缩放值
|
|
|
-const scale = {
|
|
|
- width: '1',
|
|
|
- height: '1',
|
|
|
-}
|
|
|
+// // * 默认缩放值
|
|
|
+// const scale = {
|
|
|
+// width: '1',
|
|
|
+// height: '1',
|
|
|
+// }
|
|
|
|
|
|
-// * 设计稿尺寸(px)
|
|
|
-const baseWidth = 1920
|
|
|
-const baseHeight = 1080
|
|
|
+// // * 设计稿尺寸(px)
|
|
|
+// const baseWidth = 1920
|
|
|
+// const baseHeight = 1080
|
|
|
|
|
|
-// * 需保持的比例(默认1.77778)
|
|
|
-const baseProportion = parseFloat((baseWidth / baseHeight).toFixed(5))
|
|
|
+// // * 需保持的比例(默认1.77778)
|
|
|
+// const baseProportion = parseFloat((baseWidth / baseHeight).toFixed(5))
|
|
|
|
|
|
export default {
|
|
|
data() {
|
|
|
@@ -28,27 +28,43 @@ export default {
|
|
|
window.removeEventListener('resize', this.resize)
|
|
|
},
|
|
|
methods: {
|
|
|
+ // calcRate () {
|
|
|
+ // const appRef = this.$refs["appRef"]
|
|
|
+ // if (!appRef) return
|
|
|
+ // // 当前宽高比
|
|
|
+ // const currentRate = parseFloat((window.innerWidth / window.innerHeight).toFixed(5))
|
|
|
+ // if (appRef) {
|
|
|
+ // if (currentRate > baseProportion) {
|
|
|
+ // // 表示更宽
|
|
|
+ // scale.width = ((window.innerHeight * baseProportion) / baseWidth).toFixed(5)
|
|
|
+ // scale.height = (window.innerHeight / baseHeight).toFixed(5)
|
|
|
+ // appRef.style.transform = `scale(${scale.width}, ${scale.height}) translate(-50%, -50%)`
|
|
|
+ // } else {
|
|
|
+ // // 表示更高
|
|
|
+ // scale.height = ((window.innerWidth / baseProportion) / baseHeight).toFixed(5)
|
|
|
+ // scale.width = (window.innerWidth / baseWidth).toFixed(5)
|
|
|
+ // appRef.style.transform = `scale(${scale.width}, ${scale.height}) translate(-50%, -50%)`
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ // },
|
|
|
calcRate () {
|
|
|
const appRef = this.$refs["appRef"]
|
|
|
if (!appRef) return
|
|
|
- // 当前宽高比
|
|
|
- const currentRate = parseFloat((window.innerWidth / window.innerHeight).toFixed(5))
|
|
|
+ const newWidth = window.innerWidth;
|
|
|
+ const newHeight = window.innerHeight;
|
|
|
+
|
|
|
if (appRef) {
|
|
|
- if (currentRate > baseProportion) {
|
|
|
- // 表示更宽
|
|
|
- scale.width = ((window.innerHeight * baseProportion) / baseWidth).toFixed(5)
|
|
|
- scale.height = (window.innerHeight / baseHeight).toFixed(5)
|
|
|
- appRef.style.transform = `scale(${scale.width}, ${scale.height}) translate(-50%, -50%)`
|
|
|
- } else {
|
|
|
- // 表示更高
|
|
|
- scale.height = ((window.innerWidth / baseProportion) / baseHeight).toFixed(5)
|
|
|
- scale.width = (window.innerWidth / baseWidth).toFixed(5)
|
|
|
- appRef.style.transform = `scale(${scale.width}, ${scale.height}) translate(-50%, -50%)`
|
|
|
- }
|
|
|
+ let newScaleX = newWidth / 1920;
|
|
|
+ let newScaleY = newHeight / 1080;
|
|
|
+
|
|
|
+ let newTranslateX = ((1920 - newWidth) / 2 / newWidth * 100).toFixed(5) + '%';
|
|
|
+ let newTranslateY = ((1080 - newHeight) / 2 / newHeight * 100).toFixed(5) + '%';
|
|
|
+ appRef.style.transform = `scale(${newScaleX.toFixed(5)}, ${newScaleY.toFixed(5)}) translate(-${newTranslateX}, -${newTranslateY})`
|
|
|
+ console.log(`scale(${newScaleX.toFixed(5)}, ${newScaleY.toFixed(5)}) translate(-${newTranslateX}, -${newTranslateY})`)
|
|
|
}
|
|
|
},
|
|
|
resize () {
|
|
|
- clearTimeout(this.drawTiming);
|
|
|
+ // clearTimeout(this.drawTiming);
|
|
|
const isFullScreen = document.fullscreenElement
|
|
|
if (isFullScreen) {
|
|
|
this.isFullScreen = true;
|
|
|
@@ -59,9 +75,10 @@ export default {
|
|
|
// this.$refs['fullScreen'].style.display='inline-block';
|
|
|
//this.$refs['exitFullScreen'].style.display='none';
|
|
|
}
|
|
|
- this.drawTiming = setTimeout(() => {
|
|
|
- this.calcRate()
|
|
|
- }, 10000)
|
|
|
+ this.calcRate()
|
|
|
+ // this.drawTiming = setTimeout(() => {
|
|
|
+ // this.calcRate()
|
|
|
+ // }, 10000)
|
|
|
},
|
|
|
fullScreen(){
|
|
|
var docElm = document.documentElement; //若要全屏页面中div,var element= document.getElementById("divID");
|