Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
B
breast-feeding-ai-demo-web
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
朱国瑞
breast-feeding-ai-demo-web
Commits
005c0212
Commit
005c0212
authored
May 31, 2022
by
朱国瑞
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
处理缩放
parent
8d328995
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
63 additions
and
4 deletions
+63
-4
evicePixelRatio.js
src/utils/evicePixelRatio.js
+50
-0
complete.vue
src/views/complete.vue
+8
-3
index.vue
src/views/index.vue
+5
-1
No files found.
src/utils/evicePixelRatio.js
0 → 100644
View file @
005c0212
/**
* @description 校正windows页面在系统进行缩放后导致页面被放大的问题,通常放大比例是125%、150%
* **/
class
DevicePixelRatio
{
constructor
()
{}
//获取系统类型
_getSystem
()
{
let
flag
=
false
;
var
agent
=
navigator
.
userAgent
.
toLowerCase
();
if
(
agent
.
indexOf
(
"windows"
)
>=
0
)
{
return
true
;
}
}
//获取页面缩放比例
_addHandler
(
element
,
type
,
handler
)
{
if
(
element
.
addEventListener
)
{
element
.
addEventListener
(
type
,
handler
,
false
);
}
else
if
(
element
.
attachEvent
)
{
element
.
attachEvent
(
"on"
+
type
,
handler
);
}
else
{
element
[
"on"
+
type
]
=
handler
;
}
}
//校正浏览器缩放比例
_correct
()
{
let
t
=
this
;
//页面devicePixelRatio(设备像素比例)变化后,计算页面body标签zoom修改其大小,来抵消devicePixelRatio带来的变化。
document
.
getElementById
(
'main'
).
style
.
zoom
=
1
/
window
.
devicePixelRatio
;
}
//监听页面缩放
_watch
()
{
let
t
=
this
;
t
.
_addHandler
(
window
,
'resize'
,
function
()
{
//注意这个方法是解决全局有两个window.resize
//重新校正
t
.
_correct
()
})
}
//初始化页面比例
init
()
{
let
t
=
this
;
if
(
t
.
_getSystem
())
{
//判断设备,目前只在windows系统下校正浏览器缩放比例
//初始化页面校正浏览器缩放比例
t
.
_correct
();
//开启监听页面缩放
t
.
_watch
();
}
}
}
export
default
DevicePixelRatio
;
\ No newline at end of file
src/views/complete.vue
View file @
005c0212
<
template
>
<
template
>
<div
class=
"page"
:class=
"
{'mobile':_isMobile,'pc':!_isMobile}">
<div
class=
"page"
:class=
"
{'mobile':_isMobile,'pc':!_isMobile}">
<div
class=
"main_content"
>
<div
class=
"main_content"
id=
"main"
>
<img
class=
"page-bg"
src=
"../assets/images/gesture/massage-entry-fullbg.png"
alt
srcset
/>
<img
class=
"page-bg"
src=
"../assets/images/gesture/massage-entry-fullbg.png"
alt
srcset
/>
<div
class=
"massage-complete-modal noBaby"
>
<div
class=
"massage-complete-modal noBaby"
>
<div
class=
"title"
>
<div
class=
"title"
>
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
</div>
</div>
<!--
<div
class=
"record"
v-if=
"finalBabyStatus != 3 && finalBabyStatus != -1"
>
<!--
<div
class=
"record"
v-if=
"finalBabyStatus != 3 && finalBabyStatus != -1"
>
<div>
{{
$t
(
'strings.completeText2'
)
}}
:
{{
time
}}
s
</div>
<div>
{{
$t
(
'strings.completeText2'
)
}}
:
{{
time
}}
s
</div>
</div>
-->
</div>
-->
<div
class=
"bottom"
>
<div
class=
"bottom"
>
<light-button
@
click=
"goHome"
:text=
"$t('strings.completeButtonText')"
></light-button>
<light-button
@
click=
"goHome"
:text=
"$t('strings.completeButtonText')"
></light-button>
</div>
</div>
...
@@ -22,6 +22,7 @@
...
@@ -22,6 +22,7 @@
<
script
>
<
script
>
import
{
calcAdapt
,
isMobile
}
from
"../common/util"
;
import
{
calcAdapt
,
isMobile
}
from
"../common/util"
;
import
lightButton
from
"../components/lightButton.vue"
;
import
lightButton
from
"../components/lightButton.vue"
;
import
DevicePixelRatio
from
"../utils/evicePixelRatio.js"
;
let
calcs
=
calcAdapt
();
let
calcs
=
calcAdapt
();
let
scale
;
let
scale
;
...
@@ -89,7 +90,11 @@ export default {
...
@@ -89,7 +90,11 @@ export default {
this
.
time
=
time
||
0
;
this
.
time
=
time
||
0
;
this
.
total
=
total
||
0
;
this
.
total
=
total
||
0
;
},
},
mounted
()
{}
mounted
()
{
this
.
$nextTick
(()
=>
{
new
DevicePixelRatio
().
init
();
});
}
};
};
</
script
>
</
script
>
...
...
src/views/index.vue
View file @
005c0212
<
template
>
<
template
>
<div
class=
"page"
:class=
"
{'mobile':_isMobile,'pc':!_isMobile}">
<div
class=
"page"
:class=
"
{'mobile':_isMobile,'pc':!_isMobile}">
<div
class=
"main_content"
:class=
"
{'small':_isMobile
&&
isSmall,'big':_isMobile
&&
isBig}">
<div
class=
"main_content"
id=
"main"
:class=
"
{'small':_isMobile
&&
isSmall,'big':_isMobile
&&
isBig}">
<div
class=
"top"
:class=
"
{'small':_isMobile
&&
isSmall,'big':_isMobile
&&
isBig}" :style="{'height':topHeiht}">
<div
class=
"top"
:class=
"
{'small':_isMobile
&&
isSmall,'big':_isMobile
&&
isBig}" :style="{'height':topHeiht}">
<div
class=
"page_title"
>
{{
$t
(
'strings.homeTitle'
)
}}
</div>
<div
class=
"page_title"
>
{{
$t
(
'strings.homeTitle'
)
}}
</div>
<div
class=
"picture-box"
:style=
"
{'transform': scale>0?'scale('+scale+')':''}">
<div
class=
"picture-box"
:style=
"
{'transform': scale>0?'scale('+scale+')':''}">
...
@@ -51,6 +51,7 @@ import {
...
@@ -51,6 +51,7 @@ import {
getSystemInfo
getSystemInfo
}
from
"../common/util"
;
}
from
"../common/util"
;
import
lightButton
from
"../components/lightButton.vue"
;
import
lightButton
from
"../components/lightButton.vue"
;
import
DevicePixelRatio
from
"../utils/evicePixelRatio.js"
;
let
calcs
=
calcAdapt
();
let
calcs
=
calcAdapt
();
let
scale
;
let
scale
;
...
@@ -666,6 +667,9 @@ export default {
...
@@ -666,6 +667,9 @@ export default {
}
}
},
},
mounted
()
{
mounted
()
{
this
.
$nextTick
(()
=>
{
new
DevicePixelRatio
().
init
();
});
window
.
onresize
=
()
=>
{
window
.
onresize
=
()
=>
{
return
(()
=>
{})();
return
(()
=>
{})();
};
};
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment