Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
C
CivWeb
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
ReactWeb5
CivWeb
Commits
e977d30a
Commit
e977d30a
authored
Jun 02, 2022
by
曾婧
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of
https://g.civnet.cn:8443/ReactWeb5/CivWeb
parents
814518b7
ecf04007
Pipeline
#51876
passed with stages
in 2 minutes 15 seconds
Changes
2
Pipelines
1
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
113 additions
and
0 deletions
+113
-0
BasicLayout.js
src/layouts/BasicLayout.js
+13
-0
mark.js
src/utils/mark.js
+100
-0
No files found.
src/layouts/BasicLayout.js
View file @
e977d30a
...
@@ -17,6 +17,7 @@ import { WEB_GIS_TYPE } from '../constants';
...
@@ -17,6 +17,7 @@ import { WEB_GIS_TYPE } from '../constants';
import
SecurityLayout
from
'./SecurityLayout'
;
import
SecurityLayout
from
'./SecurityLayout'
;
import
Site
from
'./Site'
;
import
Site
from
'./Site'
;
import
layoutStyles
from
'./BasicLayout.less'
;
import
layoutStyles
from
'./BasicLayout.less'
;
import
{
waterMark
}
from
'../utils/mark'
;
const
ArcgisMap
=
React
.
lazy
(()
=>
import
(
'../pages/map/arcgis'
));
const
ArcgisMap
=
React
.
lazy
(()
=>
import
(
'../pages/map/arcgis'
));
const
AMap
=
React
.
lazy
(()
=>
import
(
'../pages/map/amap'
));
const
AMap
=
React
.
lazy
(()
=>
import
(
'../pages/map/amap'
));
const
CesiumMap
=
React
.
lazy
(()
=>
import
(
'../pages/map/cesiumMap'
));
const
CesiumMap
=
React
.
lazy
(()
=>
import
(
'../pages/map/cesiumMap'
));
...
@@ -239,6 +240,18 @@ const Layout = props => {
...
@@ -239,6 +240,18 @@ const Layout = props => {
};
};
},
[]);
},
[]);
useEffect
(()
=>
{
const
needMark
=
()
=>
(
props
.
global
.
isHaveMark
||
window
.
location
.
origin
.
replace
(
/^
(
http|https
)
:
\/\/
/
,
''
)
===
'panda-water.cn'
)
&&
document
.
querySelectorAll
(
'.pandawatermark_mask_div'
).
length
<=
0
&&
props
.
global
.
userInfo
if
(
needMark
())
{
waterMark
({
watermark_txt
:
`
${
props
.
global
.
userInfo
.
fullName
}
(
${
props
.
global
.
userInfo
.
loginName
}
)`
});
}
},
[
props
.
global
,
props
.
global
.
userInfo
]);
const
handleUpdateCurrentIndex
=
index
=>
{
const
handleUpdateCurrentIndex
=
index
=>
{
props
.
updateCurrentIndex
(
index
);
props
.
updateCurrentIndex
(
index
);
window
.
share
&&
window
.
share
.
event
.
emit
(
'trigger:updateMenuIndex'
,
index
);
window
.
share
&&
window
.
share
.
event
.
emit
(
'trigger:updateMenuIndex'
,
index
);
...
...
src/utils/mark.js
0 → 100644
View file @
e977d30a
// 添加水印方法
export
const
waterMark
=
function
(
settings
=
{})
{
//默认设置
var
defaultSettings
=
{
watermark_txt
:
settings
.
watermark_txt
||
""
,
watermark_x
:
100
,
//水印起始位置x轴坐标
watermark_y
:
20
,
//水印起始位置Y轴坐标
watermark_rows
:
20
,
//水印行数
watermark_cols
:
20
,
//水印列数
watermark_x_space
:
200
,
//水印x轴间隔
watermark_y_space
:
150
,
//水印y轴间隔
watermark_color
:
'#aaa'
,
//水印字体颜色
// watermark_color: 'red', //水印字体颜色
watermark_alpha
:
0.2
,
//水印透明度
watermark_fontsize
:
'16px'
,
//水印字体大小
watermark_font
:
'微软雅黑'
,
//水印字体
watermark_width
:
200
,
//水印宽度
watermark_height
:
160
,
//水印长度
watermark_angle
:
330
//水印倾斜度数
};
//采用配置项替换默认值,作用类似jquery.extend
if
(
arguments
.
length
===
1
&&
typeof
arguments
[
0
]
===
"object"
)
{
var
src
=
arguments
[
0
]
||
{};
for
(
let
key
in
src
)
{
if
(
src
[
key
]
&&
defaultSettings
[
key
]
&&
src
[
key
]
===
defaultSettings
[
key
])
continue
;
else
if
(
src
[
key
])
defaultSettings
[
key
]
=
src
[
key
];
}
}
var
oTemp
=
document
.
createDocumentFragment
();
//获取页面最大宽度
var
page_width
=
Math
.
max
(
document
.
body
.
scrollWidth
,
document
.
body
.
clientWidth
);
var
cutWidth
=
page_width
*
0.0150
;
var
page_width
=
page_width
-
cutWidth
;
//获取页面最大高度
var
page_height
=
Math
.
max
(
document
.
body
.
scrollHeight
,
document
.
body
.
clientHeight
)
+
450
;
// var page_height = document.body.scrollHeight+document.body.scrollTop;
//如果将水印列数设置为0,或水印列数设置过大,超过页面最大宽度,则重新计算水印列数和水印x轴间隔
if
(
defaultSettings
.
watermark_cols
==
0
||
(
parseInt
(
defaultSettings
.
watermark_x
+
defaultSettings
.
watermark_width
*
defaultSettings
.
watermark_cols
+
defaultSettings
.
watermark_x_space
*
(
defaultSettings
.
watermark_cols
-
1
))
>
page_width
))
{
defaultSettings
.
watermark_cols
=
parseInt
((
page_width
-
defaultSettings
.
watermark_x
+
defaultSettings
.
watermark_x_space
)
/
(
defaultSettings
.
watermark_width
+
defaultSettings
.
watermark_x_space
));
defaultSettings
.
watermark_x_space
=
parseInt
((
page_width
-
defaultSettings
.
watermark_x
-
defaultSettings
.
watermark_width
*
defaultSettings
.
watermark_cols
)
/
(
defaultSettings
.
watermark_cols
-
1
));
}
//如果将水印行数设置为0,或水印行数设置过大,超过页面最大长度,则重新计算水印行数和水印y轴间隔
if
(
defaultSettings
.
watermark_rows
==
0
||
(
parseInt
(
defaultSettings
.
watermark_y
+
defaultSettings
.
watermark_height
*
defaultSettings
.
watermark_rows
+
defaultSettings
.
watermark_y_space
*
(
defaultSettings
.
watermark_rows
-
1
))
>
page_height
))
{
defaultSettings
.
watermark_rows
=
parseInt
((
defaultSettings
.
watermark_y_space
+
page_height
-
defaultSettings
.
watermark_y
)
/
(
defaultSettings
.
watermark_height
+
defaultSettings
.
watermark_y_space
));
defaultSettings
.
watermark_y_space
=
parseInt
(((
page_height
-
defaultSettings
.
watermark_y
)
-
defaultSettings
.
watermark_height
*
defaultSettings
.
watermark_rows
)
/
(
defaultSettings
.
watermark_rows
-
1
));
}
var
x
;
var
y
;
for
(
var
i
=
0
;
i
<
defaultSettings
.
watermark_rows
;
i
++
)
{
y
=
defaultSettings
.
watermark_y
+
(
defaultSettings
.
watermark_y_space
+
defaultSettings
.
watermark_height
)
*
i
;
for
(
var
j
=
0
;
j
<
defaultSettings
.
watermark_cols
;
j
++
)
{
x
=
defaultSettings
.
watermark_x
+
(
defaultSettings
.
watermark_width
+
defaultSettings
.
watermark_x_space
)
*
j
;
let
watermark_mask_div
=
document
.
createElement
(
'div'
);
watermark_mask_div
.
id
=
'pandawatermark_mask_div'
+
i
+
j
;
watermark_mask_div
.
className
=
'pandawatermark_mask_div'
;
watermark_mask_div
.
appendChild
(
document
.
createTextNode
(
defaultSettings
.
watermark_txt
));
//设置水印div倾斜显示
watermark_mask_div
.
style
.
webkitTransform
=
"rotate(-"
+
defaultSettings
.
watermark_angle
+
"deg)"
;
watermark_mask_div
.
style
.
MozTransform
=
"rotate(-"
+
defaultSettings
.
watermark_angle
+
"deg)"
;
watermark_mask_div
.
style
.
msTransform
=
"rotate(-"
+
defaultSettings
.
watermark_angle
+
"deg)"
;
watermark_mask_div
.
style
.
OTransform
=
"rotate(-"
+
defaultSettings
.
watermark_angle
+
"deg)"
;
watermark_mask_div
.
style
.
transform
=
"rotate(-"
+
defaultSettings
.
watermark_angle
+
"deg)"
;
watermark_mask_div
.
style
.
visibility
=
""
;
watermark_mask_div
.
style
.
position
=
"absolute"
;
watermark_mask_div
.
style
.
left
=
x
+
'px'
;
watermark_mask_div
.
style
.
top
=
y
+
'px'
;
watermark_mask_div
.
style
.
overflow
=
"hidden"
;
watermark_mask_div
.
style
.
zIndex
=
"10000"
;
watermark_mask_div
.
style
.
pointerEvents
=
'none'
;
//pointer-events:none 让水印不遮挡页面的点击事件
//watermark_mask_div.style.border="solid #eee 1px";
watermark_mask_div
.
style
.
opacity
=
defaultSettings
.
watermark_alpha
;
watermark_mask_div
.
style
.
fontSize
=
defaultSettings
.
watermark_fontsize
;
watermark_mask_div
.
style
.
fontFamily
=
defaultSettings
.
watermark_font
;
watermark_mask_div
.
style
.
color
=
defaultSettings
.
watermark_color
;
watermark_mask_div
.
style
.
textAlign
=
"center"
;
watermark_mask_div
.
style
.
width
=
defaultSettings
.
watermark_width
+
'px'
;
watermark_mask_div
.
style
.
height
=
defaultSettings
.
watermark_height
+
'px'
;
watermark_mask_div
.
style
.
display
=
"flex"
;
watermark_mask_div
.
style
.
alignItems
=
'center'
;
watermark_mask_div
.
style
.
justifyContent
=
'center'
;
oTemp
.
appendChild
(
watermark_mask_div
);
var
img
=
document
.
createElement
(
'img'
);
img
.
src
=
'/web4/assets/images/logo/单独图案-蓝绿色.svg'
;
img
.
style
.
marginRight
=
'10px'
img
.
style
.
width
=
'44px'
img
.
style
.
height
=
'24px'
img
.
style
.
marginRight
=
'10px'
img
.
style
.
opacity
=
'0.4'
watermark_mask_div
.
prepend
(
img
)
};
};
document
.
body
.
appendChild
(
oTemp
);
}
\ No newline at end of file
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