mirror of http://192.168.10.4:8099/sane/dpkg.git
重新调整国产系统汉王webscan
This commit is contained in:
parent
adaa11a51f
commit
930bc996ab
|
@ -1,7 +1,7 @@
|
|||
Package: hanvonwebscan
|
||||
Version: 4.52.16521.24142
|
||||
Package: hanvonwebserver
|
||||
Version: 1.0.5
|
||||
Architecture: amd64
|
||||
Maintainer: hanvon
|
||||
Maintainer: scanner
|
||||
Section: libs
|
||||
Priority: optional
|
||||
Description: hanvon webscan server and application
|
||||
Description: scanner
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
#!/bin/bash
|
||||
#RC_LOCAL="/etc/rc.local"
|
||||
|
||||
chmod 777 -R /opt/hanvonwebscan/bin/*
|
||||
|
||||
chmod 777 -R /opt/hanvonwebscan/bin/*
|
||||
|
||||
udevadm control --reload
|
||||
udevadm trigger
|
||||
|
||||
|
||||
echo "installed in the dir /opt/hanvonwebscan"
|
||||
|
||||
chmod 644 /etc/udev/rules.d/60-hanvon*
|
||||
#echo "demo web page in the static dir"
|
||||
chmod 644 /etc/udev/rules.d/60-hw*
|
||||
udevadm control --reload-rules
|
||||
udevadm trigger
|
||||
|
||||
|
@ -21,6 +21,6 @@ systemctl daemon-reload
|
|||
echo "enable start.service "
|
||||
systemctl start hanvonwebscanserver.service
|
||||
sleep 10
|
||||
echo "install hanvonwebserver finished"
|
||||
echo "install hanvonwebscanserver finished"
|
||||
|
||||
|
||||
|
|
|
@ -1,29 +1,27 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
systemctl daemon-reload
|
||||
|
||||
/opt/hanvonwebscan/bin/server.sh stop
|
||||
systemctl stop hanvonwebscanserver.service
|
||||
sleep 3
|
||||
|
||||
test -h /etc/systemd/system/multi-user.target.wants/hanvonwebscanserver.service
|
||||
if [ $? -eq 0 ];then
|
||||
rm -rf /etc/systemd/system/multi-user.target.wants/hanvonwebscanserver.service
|
||||
test -h /etc/systemd/system/multi-user.target.wants/hanvonwebscanserver.service
|
||||
if [ $? -eq 0 ]; then
|
||||
rm -rf /etc/systemd/system/multi-user.target.wants/hanvonwebscanserver.service
|
||||
echo "services uninstall is success"
|
||||
fi
|
||||
|
||||
test -h /etc/systemd/system/hanvonwebscanserver
|
||||
if [ $? -eq 0 ];then
|
||||
rm -rf /etc/systemd/system/hanvonwebscanserver
|
||||
if [ $? -eq 0 ]; then
|
||||
rm -rf /etc/systemd/system/hanvonwebscanserver
|
||||
fi
|
||||
|
||||
test -e /lib/systemd/system/hanvonwebscanserver.service
|
||||
if [ $? -eq 0 ];then
|
||||
rm -rf /lib/systemd/system/hanvonwebscanserver.service
|
||||
if [ $? -eq 0 ]; then
|
||||
rm -rf /lib/systemd/system/hanvonwebscanserver.service
|
||||
fi
|
||||
|
||||
test -d /opt/hanvonwebscan/
|
||||
if [ $? -eq 0 ];then
|
||||
rm -rf /opt/hanvonwebscan
|
||||
fi
|
||||
systemctl stop hanvonwebscanserver.service
|
||||
systemctl daemon-reload
|
||||
|
||||
test -d /opt/hanvonwebscan/
|
||||
if [ $? -eq 0 ]; then
|
||||
rm -rf /opt/hanvonwebscan
|
||||
fi
|
||||
|
|
|
@ -11,11 +11,8 @@ SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="3072", ATTR{idPro
|
|||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="3072", ATTR{idProduct}=="0239", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="3072", ATTR{idProduct}=="0339", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="3072", ATTR{idProduct}=="0439", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="3072", ATTR{idProduct}=="0402", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="3072", ATTR{idProduct}=="0303", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="3072", ATTR{idProduct}=="0302", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="064b", ATTR{idProduct}=="7823", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="3072", ATTR{idProduct}=="0306", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
|
||||
|
||||
#Lanxum --->G100~G400
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="31c9", ATTR{idProduct}=="8620", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="31c9", ATTR{idProduct}=="8730", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
|
@ -26,9 +23,8 @@ SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="31c9", ATTR{idPro
|
|||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="31c9", ATTR{idProduct}=="8739", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="31c9", ATTR{idProduct}=="8429", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="31c9", ATTR{idProduct}=="8529", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="31c9", ATTR{idProduct}=="8630", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="31c9", ATTR{idProduct}=="8426", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="31c9", ATTR{idProduct}=="8626", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
|
||||
|
||||
|
||||
#Hanvon --->G100~G400
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="2903", ATTR{idProduct}=="7000", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
|
@ -40,36 +36,4 @@ SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="2903", ATTR{idPro
|
|||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="2903", ATTR{idProduct}=="7002", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="2903", ATTR{idProduct}=="7039", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
|
||||
#cts --->G100~G400
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="3308", ATTR{idProduct}=="6006", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="3308", ATTR{idProduct}=="6005", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="3308", ATTR{idProduct}=="6007", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="3308", ATTR{idProduct}=="6008", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
|
||||
#microtek
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="05da", ATTR{idProduct}=="9220", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="05da", ATTR{idProduct}=="9222", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="05da", ATTR{idProduct}=="9223", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
|
||||
#unis
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="32ec", ATTR{idProduct}=="0200", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="32ec", ATTR{idProduct}=="0210", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="32ec", ATTR{idProduct}=="0201", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
|
||||
#Deli --->G100~G400
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="300e", ATTR{idProduct}=="401c", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="300e", ATTR{idProduct}=="401d", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="300e", ATTR{idProduct}=="401e", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="300e", ATTR{idProduct}=="401f", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="300e", ATTR{idProduct}=="4020", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="300e", ATTR{idProduct}=="4021", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="300e", ATTR{idProduct}=="4022", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="300e", ATTR{idProduct}=="4015", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="300e", ATTR{idProduct}=="4016", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="300e", ATTR{idProduct}=="4017", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="300e", ATTR{idProduct}=="4018", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="300e", ATTR{idProduct}=="4019", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="300e", ATTR{idProduct}=="401a", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTR{idVendor}=="300e", ATTR{idProduct}=="401b", MODE="0666", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
|
||||
|
||||
LABEL="mud_rules_end"
|
||||
|
|
|
@ -1,2 +1,2 @@
|
|||
#!/bin/bash
|
||||
service hanvonwebscanserver restart
|
||||
#!/bin/bash
|
||||
service hanvonwebscanserver restart
|
||||
|
|
|
@ -1,89 +1,89 @@
|
|||
#!/bin/bash
|
||||
|
||||
|
||||
DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
echo "current dir $DIR"
|
||||
BASE_DIR="$DIR"
|
||||
export LD_LIBRARY_PATH="$DIR"
|
||||
APP_NAME=HwWebService
|
||||
|
||||
APP_PATH="$BASE_DIR/HwWebService"
|
||||
echo "APP_PATH = $APP_PATH"
|
||||
LIB_PARH="$BASE_DIR/libhwdriver.so"
|
||||
echo "LIB_PARH = $LIB_PARH"
|
||||
|
||||
#userage
|
||||
usage() {
|
||||
echo "Usage: sh script.sh [start|stop|restart|status]"
|
||||
exit 1
|
||||
}
|
||||
is_exist(){
|
||||
if [ ! -f $BASE_DIR/HwWebService ]; then
|
||||
return 1
|
||||
else
|
||||
pid=`ps -ef | grep "HwWebService" | grep -v grep | awk '{print $2}'`
|
||||
echo "PID: $pid"
|
||||
appNum=`ps -ef|awk '{print $2}'|grep -c -e "^${pid}\$"`
|
||||
echo appNum $appNum
|
||||
if [ ${appNum} -gt 0 ]; then
|
||||
return 0
|
||||
else
|
||||
rm -rf $BASE_DIR/HwWebService.pid >/dev/null 2>&1 &
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
#start server
|
||||
start(){
|
||||
is_exist
|
||||
if [ $? -eq "0" ]; then
|
||||
echo "${APP_NAME} is already running. pid=${pid} ."
|
||||
else
|
||||
echo "APP_PATH: $APP_PATH"
|
||||
echo "LIB_PATH: $LIB_PARH"
|
||||
"$DIR"/HwWebService &
|
||||
fi
|
||||
}
|
||||
#stop webserver
|
||||
stop(){
|
||||
is_exist
|
||||
if [ $? -eq "0" ]; then
|
||||
kill -9 $pid
|
||||
rm -rf $BASE_DIR/application.pid >/dev/null 2>&1 &
|
||||
else
|
||||
echo "${APP_NAME} is not running"
|
||||
fi
|
||||
}
|
||||
#running status
|
||||
status(){
|
||||
is_exist
|
||||
if [ $? -eq "0" ]; then
|
||||
echo "${APP_NAME} is running. Pid is ${pid}"
|
||||
else
|
||||
echo "${APP_NAME} is NOT running."
|
||||
fi
|
||||
}
|
||||
#restart server
|
||||
restart(){
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
|
||||
case "$1" in
|
||||
"start")
|
||||
start
|
||||
;;
|
||||
"stop")
|
||||
stop
|
||||
;;
|
||||
"status")
|
||||
status
|
||||
;;
|
||||
"restart")
|
||||
restart
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
#!/bin/bash
|
||||
|
||||
|
||||
DIR="$( cd "$( dirname "$0" )" && pwd )"
|
||||
echo "current dir $DIR"
|
||||
BASE_DIR="$DIR"
|
||||
export LD_LIBRARY_PATH="$DIR"
|
||||
APP_NAME=HwWebService
|
||||
|
||||
APP_PATH="$BASE_DIR/HwWebService"
|
||||
echo "APP_PATH = $APP_PATH"
|
||||
LIB_PARH="$BASE_DIR/libhwdriver.so"
|
||||
echo "LIB_PARH = $LIB_PARH"
|
||||
|
||||
#userage
|
||||
usage() {
|
||||
echo "Usage: sh script.sh [start|stop|restart|status]"
|
||||
exit 1
|
||||
}
|
||||
is_exist(){
|
||||
if [ ! -f $BASE_DIR/HwWebService ]; then
|
||||
return 1
|
||||
else
|
||||
pid=`ps -ef | grep "HGWebService" | grep -v grep | awk '{print $2}'`
|
||||
echo "PID: $pid"
|
||||
appNum=`ps -ef|awk '{print $2}'|grep -c -e "^${pid}\$"`
|
||||
echo appNum $appNum
|
||||
if [ ${appNum} -gt 0 ]; then
|
||||
return 0
|
||||
else
|
||||
rm -rf $BASE_DIR/HwWebService.pid >/dev/null 2>&1 &
|
||||
return 1
|
||||
fi
|
||||
fi
|
||||
}
|
||||
#start server
|
||||
start(){
|
||||
is_exist
|
||||
if [ $? -eq "0" ]; then
|
||||
echo "${APP_NAME} is already running. pid=${pid} ."
|
||||
else
|
||||
echo "APP_PATH: $APP_PATH"
|
||||
echo "LIB_PATH: $LIB_PARH"
|
||||
"$DIR"/HwWebService &
|
||||
fi
|
||||
}
|
||||
#stop webserver
|
||||
stop(){
|
||||
is_exist
|
||||
if [ $? -eq "0" ]; then
|
||||
kill -9 $pid
|
||||
rm -rf $BASE_DIR/application.pid >/dev/null 2>&1 &
|
||||
else
|
||||
echo "${APP_NAME} is not running"
|
||||
fi
|
||||
}
|
||||
#running status
|
||||
status(){
|
||||
is_exist
|
||||
if [ $? -eq "0" ]; then
|
||||
echo "${APP_NAME} is running. Pid is ${pid}"
|
||||
else
|
||||
echo "${APP_NAME} is NOT running."
|
||||
fi
|
||||
}
|
||||
#restart server
|
||||
restart(){
|
||||
stop
|
||||
start
|
||||
}
|
||||
|
||||
|
||||
case "$1" in
|
||||
"start")
|
||||
start
|
||||
;;
|
||||
"stop")
|
||||
stop
|
||||
;;
|
||||
"status")
|
||||
status
|
||||
;;
|
||||
"restart")
|
||||
restart
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
;;
|
||||
esac
|
||||
|
|
|
@ -1,220 +1,220 @@
|
|||
html {
|
||||
height: 100%
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
font-family: "PingFang SC";
|
||||
min-width: 1200px;
|
||||
min-height: 900px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.el-container {
|
||||
height: 100%;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.imageListSelect {
|
||||
/* border: 1px solid #909399; */
|
||||
/*box-shadow: 0 2px 6px #ADADAD;*/
|
||||
border: 2px solid #fa7857 !important;
|
||||
}
|
||||
|
||||
.aside {
|
||||
border-right: 1px solid #eee;
|
||||
border-bottom: 1px solid #eee;
|
||||
height: 100%
|
||||
}
|
||||
|
||||
.aside .header {
|
||||
height: 40px;
|
||||
background-color: #eaeaea;
|
||||
line-height: 40px;
|
||||
padding-left: 20px;
|
||||
/* margin-top:10px; */
|
||||
color: #09aaff;
|
||||
}
|
||||
|
||||
.scroll::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
|
||||
/* 设置滚动条的滑轨 */
|
||||
.scroll::-webkit-scrollbar-track {
|
||||
background-color: #eaeaea;
|
||||
}
|
||||
|
||||
/* 滑块 */
|
||||
.scroll::-webkit-scrollbar-thumb {
|
||||
/* background-color: rgba(0, 0, 0, 0.6); */
|
||||
background-color: #cdcdcd;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* 滑轨两头的监听按钮 */
|
||||
.scroll::-webkit-scrollbar-button {
|
||||
/* background-color: #444; */
|
||||
background-color: #cdcdcd;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.el-container .el-header {
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.el-container .el-header .iconContainer {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
height: 35px
|
||||
}
|
||||
|
||||
.el-container .el-header .menus {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
.el-container .el-header .menuContainer {
|
||||
float: left;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
.el-container .el-header .menuContainer ul {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.el-container .el-header ul li {
|
||||
float: left;
|
||||
padding-left: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.el-container .el-header .menuRight {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.el-container .el-header .menuRight ul li {
|
||||
padding-right: 20px;
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.el-container .el-header .menuRight .iconContainer {
|
||||
height: 28px;
|
||||
}
|
||||
|
||||
.el-main {
|
||||
height: 100%;
|
||||
padding: 0px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.el-main .opt {
|
||||
width: 58px;
|
||||
height: 100%;
|
||||
border-right: 1px solid #eee;
|
||||
float: left;
|
||||
background-color: #eaeaea;
|
||||
}
|
||||
|
||||
.el-main .opt .active {
|
||||
border-radius: 4px;
|
||||
border: 1px solid #fff;
|
||||
background-color: #cecece;
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.image-container {
|
||||
overflow: auto;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.el-main .opt ul li {
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
line-height: 16px;
|
||||
padding-top: 4px
|
||||
}
|
||||
|
||||
.mask {
|
||||
background-color: rgba(0, 0, 0, 0.6);
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.mask .messageBox {
|
||||
width: 500px;
|
||||
border-radius: 3px;
|
||||
position: fixed;
|
||||
left: 50%;
|
||||
top: 45%;
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%);
|
||||
background-color: #fff;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.mask .messageBox .title {
|
||||
border-radius: 3px;
|
||||
margin-bottom: 30px;
|
||||
padding-bottom: 15px;
|
||||
border-bottom: 1px solid #eee;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.mask .messageBox .title .closeReport {
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.canvas-container {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
|
||||
.el-dropdown-link {
|
||||
cursor: pointer;
|
||||
color: #409EFF;
|
||||
}
|
||||
|
||||
.el-icon-arrow-down {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.batch-item {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.batch-item:hover {
|
||||
background-color: #eaeaea;
|
||||
}
|
||||
|
||||
|
||||
.operaBg:hover {
|
||||
background-color: #C0C4CC;
|
||||
}
|
||||
|
||||
.font-style {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
width: 30%
|
||||
}
|
||||
|
||||
|
||||
.cursor-pointer {
|
||||
cursor: pointer
|
||||
}
|
||||
html {
|
||||
height: 100%
|
||||
}
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
font-size: 14px;
|
||||
font-family: "PingFang SC";
|
||||
min-width: 1200px;
|
||||
min-height: 900px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.el-container {
|
||||
height: 100%;
|
||||
border: 1px solid #eee;
|
||||
}
|
||||
|
||||
ul {
|
||||
list-style: none;
|
||||
}
|
||||
|
||||
.imageListSelect {
|
||||
/* border: 1px solid #909399; */
|
||||
/*box-shadow: 0 2px 6px #ADADAD;*/
|
||||
border: 2px solid #fa7857 !important;
|
||||
}
|
||||
|
||||
.aside {
|
||||
border-right: 1px solid #eee;
|
||||
border-bottom: 1px solid #eee;
|
||||
height: 100%
|
||||
}
|
||||
|
||||
.aside .header {
|
||||
height: 40px;
|
||||
background-color: #eaeaea;
|
||||
line-height: 40px;
|
||||
padding-left: 20px;
|
||||
/* margin-top:10px; */
|
||||
color: #09aaff;
|
||||
}
|
||||
|
||||
.scroll::-webkit-scrollbar {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
}
|
||||
|
||||
/* 设置滚动条的滑轨 */
|
||||
.scroll::-webkit-scrollbar-track {
|
||||
background-color: #eaeaea;
|
||||
}
|
||||
|
||||
/* 滑块 */
|
||||
.scroll::-webkit-scrollbar-thumb {
|
||||
/* background-color: rgba(0, 0, 0, 0.6); */
|
||||
background-color: #cdcdcd;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
/* 滑轨两头的监听按钮 */
|
||||
.scroll::-webkit-scrollbar-button {
|
||||
/* background-color: #444; */
|
||||
background-color: #cdcdcd;
|
||||
display: none;
|
||||
}
|
||||
|
||||
.el-container .el-header {
|
||||
border-bottom: 1px solid #eee;
|
||||
}
|
||||
|
||||
.el-container .el-header .iconContainer {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
height: 35px
|
||||
}
|
||||
|
||||
.el-container .el-header .menus {
|
||||
width: 100%;
|
||||
text-align: center;
|
||||
font-size: 14px
|
||||
}
|
||||
|
||||
.el-container .el-header .menuContainer {
|
||||
float: left;
|
||||
margin-left: 15px;
|
||||
}
|
||||
|
||||
.el-container .el-header .menuContainer ul {
|
||||
padding-left: 10px;
|
||||
}
|
||||
|
||||
.el-container .el-header ul li {
|
||||
float: left;
|
||||
padding-left: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.el-container .el-header .menuRight {
|
||||
float: right;
|
||||
}
|
||||
|
||||
.el-container .el-header .menuRight ul li {
|
||||
padding-right: 20px;
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.el-container .el-header .menuRight .iconContainer {
|
||||
height: 28px;
|
||||
}
|
||||
|
||||
.el-main {
|
||||
height: 100%;
|
||||
padding: 0px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.el-main .opt {
|
||||
width: 58px;
|
||||
height: 100%;
|
||||
border-right: 1px solid #eee;
|
||||
float: left;
|
||||
background-color: #eaeaea;
|
||||
}
|
||||
|
||||
.el-main .opt .active {
|
||||
border-radius: 4px;
|
||||
border: 1px solid #fff;
|
||||
background-color: #cecece;
|
||||
margin-left: 4px;
|
||||
margin-right: 4px;
|
||||
}
|
||||
|
||||
.image-container {
|
||||
overflow: auto;
|
||||
height: 100%;
|
||||
box-sizing: border-box;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
.el-main .opt ul li {
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
line-height: 16px;
|
||||
padding-top: 4px
|
||||
}
|
||||
|
||||
.mask {
|
||||
background-color: rgba(0, 0, 0, 0.6);
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.mask .messageBox {
|
||||
width: 500px;
|
||||
border-radius: 3px;
|
||||
position: fixed;
|
||||
left: 50%;
|
||||
top: 45%;
|
||||
-webkit-transform: translate(-50%, -50%);
|
||||
transform: translate(-50%, -50%);
|
||||
background-color: #fff;
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.mask .messageBox .title {
|
||||
border-radius: 3px;
|
||||
margin-bottom: 30px;
|
||||
padding-bottom: 15px;
|
||||
border-bottom: 1px solid #eee;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.mask .messageBox .title .closeReport {
|
||||
float: right;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.canvas-container {
|
||||
margin: 0 auto;
|
||||
}
|
||||
|
||||
|
||||
.el-dropdown-link {
|
||||
cursor: pointer;
|
||||
color: #409EFF;
|
||||
}
|
||||
|
||||
.el-icon-arrow-down {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.batch-item {
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
.batch-item:hover {
|
||||
background-color: #eaeaea;
|
||||
}
|
||||
|
||||
|
||||
.operaBg:hover {
|
||||
background-color: #C0C4CC;
|
||||
}
|
||||
|
||||
.font-style {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
width: 30%
|
||||
}
|
||||
|
||||
|
||||
.cursor-pointer {
|
||||
cursor: pointer
|
||||
}
|
||||
|
|
|
@ -1,171 +1,171 @@
|
|||
/*
|
||||
* FileSaver.js
|
||||
* A saveAs() FileSaver implementation.
|
||||
*
|
||||
* By Eli Grey, http://eligrey.com
|
||||
*
|
||||
* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)
|
||||
* source : http://purl.eligrey.com/github/FileSaver.js
|
||||
*/
|
||||
|
||||
// The one and only way of getting global scope in all environments
|
||||
// https://stackoverflow.com/q/3277182/1008999
|
||||
var _global = typeof window === 'object' && window.window === window
|
||||
? window : typeof self === 'object' && self.self === self
|
||||
? self : typeof global === 'object' && global.global === global
|
||||
? global
|
||||
: this
|
||||
|
||||
function bom (blob, opts) {
|
||||
if (typeof opts === 'undefined') opts = { autoBom: false }
|
||||
else if (typeof opts !== 'object') {
|
||||
console.warn('Deprecated: Expected third argument to be a object')
|
||||
opts = { autoBom: !opts }
|
||||
}
|
||||
|
||||
// prepend BOM for UTF-8 XML and text/* types (including HTML)
|
||||
// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF
|
||||
if (opts.autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
|
||||
return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })
|
||||
}
|
||||
return blob
|
||||
}
|
||||
|
||||
function download (url, name, opts) {
|
||||
var xhr = new XMLHttpRequest()
|
||||
xhr.open('GET', url)
|
||||
xhr.responseType = 'blob'
|
||||
xhr.onload = function () {
|
||||
saveAs(xhr.response, name, opts)
|
||||
}
|
||||
xhr.onerror = function () {
|
||||
console.error('could not download file')
|
||||
}
|
||||
xhr.send()
|
||||
}
|
||||
|
||||
function corsEnabled (url) {
|
||||
var xhr = new XMLHttpRequest()
|
||||
// use sync to avoid popup blocker
|
||||
xhr.open('HEAD', url, false)
|
||||
try {
|
||||
xhr.send()
|
||||
} catch (e) {}
|
||||
return xhr.status >= 200 && xhr.status <= 299
|
||||
}
|
||||
|
||||
// `a.click()` doesn't work for all browsers (#465)
|
||||
function click (node) {
|
||||
try {
|
||||
node.dispatchEvent(new MouseEvent('click'))
|
||||
} catch (e) {
|
||||
var evt = document.createEvent('MouseEvents')
|
||||
evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,
|
||||
20, false, false, false, false, 0, null)
|
||||
node.dispatchEvent(evt)
|
||||
}
|
||||
}
|
||||
|
||||
// Detect WebView inside a native macOS app by ruling out all browsers
|
||||
// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too
|
||||
// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos
|
||||
var isMacOSWebView = _global.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent)
|
||||
|
||||
var saveAs = _global.saveAs || (
|
||||
// probably in some web worker
|
||||
(typeof window !== 'object' || window !== _global)
|
||||
? function saveAs () { /* noop */ }
|
||||
|
||||
// Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView
|
||||
: ('download' in HTMLAnchorElement.prototype && !isMacOSWebView)
|
||||
? function saveAs (blob, name, opts) {
|
||||
var URL = _global.URL || _global.webkitURL
|
||||
var a = document.createElement('a')
|
||||
name = name || blob.name || 'download'
|
||||
|
||||
a.download = name
|
||||
a.rel = 'noopener' // tabnabbing
|
||||
|
||||
// TODO: detect chrome extensions & packaged apps
|
||||
// a.target = '_blank'
|
||||
|
||||
if (typeof blob === 'string') {
|
||||
// Support regular links
|
||||
a.href = blob
|
||||
if (a.origin !== location.origin) {
|
||||
corsEnabled(a.href)
|
||||
? download(blob, name, opts)
|
||||
: click(a, a.target = '_blank')
|
||||
} else {
|
||||
click(a)
|
||||
}
|
||||
} else {
|
||||
// Support blobs
|
||||
a.href = URL.createObjectURL(blob)
|
||||
setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s
|
||||
setTimeout(function () { click(a) }, 0)
|
||||
}
|
||||
}
|
||||
|
||||
// Use msSaveOrOpenBlob as a second approach
|
||||
: 'msSaveOrOpenBlob' in navigator
|
||||
? function saveAs (blob, name, opts) {
|
||||
name = name || blob.name || 'download'
|
||||
|
||||
if (typeof blob === 'string') {
|
||||
if (corsEnabled(blob)) {
|
||||
download(blob, name, opts)
|
||||
} else {
|
||||
var a = document.createElement('a')
|
||||
a.href = blob
|
||||
a.target = '_blank'
|
||||
setTimeout(function () { click(a) })
|
||||
}
|
||||
} else {
|
||||
navigator.msSaveOrOpenBlob(bom(blob, opts), name)
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback to using FileReader and a popup
|
||||
: function saveAs (blob, name, opts, popup) {
|
||||
// Open a popup immediately do go around popup blocker
|
||||
// Mostly only available on user interaction and the fileReader is async so...
|
||||
popup = popup || open('', '_blank')
|
||||
if (popup) {
|
||||
popup.document.title =
|
||||
popup.document.body.innerText = 'downloading...'
|
||||
}
|
||||
|
||||
if (typeof blob === 'string') return download(blob, name, opts)
|
||||
|
||||
var force = blob.type === 'application/octet-stream'
|
||||
var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari
|
||||
var isChromeIOS = /CriOS\/[\d]+/.test(navigator.userAgent)
|
||||
|
||||
if ((isChromeIOS || (force && isSafari) || isMacOSWebView) && typeof FileReader !== 'undefined') {
|
||||
// Safari doesn't allow downloading of blob URLs
|
||||
var reader = new FileReader()
|
||||
reader.onloadend = function () {
|
||||
var url = reader.result
|
||||
url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;')
|
||||
if (popup) popup.location.href = url
|
||||
else location = url
|
||||
popup = null // reverse-tabnabbing #460
|
||||
}
|
||||
reader.readAsDataURL(blob)
|
||||
} else {
|
||||
var URL = _global.URL || _global.webkitURL
|
||||
var url = URL.createObjectURL(blob)
|
||||
if (popup) popup.location = url
|
||||
else location.href = url
|
||||
popup = null // reverse-tabnabbing #460
|
||||
setTimeout(function () { URL.revokeObjectURL(url) }, 4E4) // 40s
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
_global.saveAs = saveAs.saveAs = saveAs
|
||||
|
||||
if (typeof module !== 'undefined') {
|
||||
module.exports = saveAs;
|
||||
}
|
||||
/*
|
||||
* FileSaver.js
|
||||
* A saveAs() FileSaver implementation.
|
||||
*
|
||||
* By Eli Grey, http://eligrey.com
|
||||
*
|
||||
* License : https://github.com/eligrey/FileSaver.js/blob/master/LICENSE.md (MIT)
|
||||
* source : http://purl.eligrey.com/github/FileSaver.js
|
||||
*/
|
||||
|
||||
// The one and only way of getting global scope in all environments
|
||||
// https://stackoverflow.com/q/3277182/1008999
|
||||
var _global = typeof window === 'object' && window.window === window
|
||||
? window : typeof self === 'object' && self.self === self
|
||||
? self : typeof global === 'object' && global.global === global
|
||||
? global
|
||||
: this
|
||||
|
||||
function bom (blob, opts) {
|
||||
if (typeof opts === 'undefined') opts = { autoBom: false }
|
||||
else if (typeof opts !== 'object') {
|
||||
console.warn('Deprecated: Expected third argument to be a object')
|
||||
opts = { autoBom: !opts }
|
||||
}
|
||||
|
||||
// prepend BOM for UTF-8 XML and text/* types (including HTML)
|
||||
// note: your browser will automatically convert UTF-16 U+FEFF to EF BB BF
|
||||
if (opts.autoBom && /^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(blob.type)) {
|
||||
return new Blob([String.fromCharCode(0xFEFF), blob], { type: blob.type })
|
||||
}
|
||||
return blob
|
||||
}
|
||||
|
||||
function download (url, name, opts) {
|
||||
var xhr = new XMLHttpRequest()
|
||||
xhr.open('GET', url)
|
||||
xhr.responseType = 'blob'
|
||||
xhr.onload = function () {
|
||||
saveAs(xhr.response, name, opts)
|
||||
}
|
||||
xhr.onerror = function () {
|
||||
console.error('could not download file')
|
||||
}
|
||||
xhr.send()
|
||||
}
|
||||
|
||||
function corsEnabled (url) {
|
||||
var xhr = new XMLHttpRequest()
|
||||
// use sync to avoid popup blocker
|
||||
xhr.open('HEAD', url, false)
|
||||
try {
|
||||
xhr.send()
|
||||
} catch (e) {}
|
||||
return xhr.status >= 200 && xhr.status <= 299
|
||||
}
|
||||
|
||||
// `a.click()` doesn't work for all browsers (#465)
|
||||
function click (node) {
|
||||
try {
|
||||
node.dispatchEvent(new MouseEvent('click'))
|
||||
} catch (e) {
|
||||
var evt = document.createEvent('MouseEvents')
|
||||
evt.initMouseEvent('click', true, true, window, 0, 0, 0, 80,
|
||||
20, false, false, false, false, 0, null)
|
||||
node.dispatchEvent(evt)
|
||||
}
|
||||
}
|
||||
|
||||
// Detect WebView inside a native macOS app by ruling out all browsers
|
||||
// We just need to check for 'Safari' because all other browsers (besides Firefox) include that too
|
||||
// https://www.whatismybrowser.com/guides/the-latest-user-agent/macos
|
||||
var isMacOSWebView = _global.navigator && /Macintosh/.test(navigator.userAgent) && /AppleWebKit/.test(navigator.userAgent) && !/Safari/.test(navigator.userAgent)
|
||||
|
||||
var saveAs = _global.saveAs || (
|
||||
// probably in some web worker
|
||||
(typeof window !== 'object' || window !== _global)
|
||||
? function saveAs () { /* noop */ }
|
||||
|
||||
// Use download attribute first if possible (#193 Lumia mobile) unless this is a macOS WebView
|
||||
: ('download' in HTMLAnchorElement.prototype && !isMacOSWebView)
|
||||
? function saveAs (blob, name, opts) {
|
||||
var URL = _global.URL || _global.webkitURL
|
||||
var a = document.createElement('a')
|
||||
name = name || blob.name || 'download'
|
||||
|
||||
a.download = name
|
||||
a.rel = 'noopener' // tabnabbing
|
||||
|
||||
// TODO: detect chrome extensions & packaged apps
|
||||
// a.target = '_blank'
|
||||
|
||||
if (typeof blob === 'string') {
|
||||
// Support regular links
|
||||
a.href = blob
|
||||
if (a.origin !== location.origin) {
|
||||
corsEnabled(a.href)
|
||||
? download(blob, name, opts)
|
||||
: click(a, a.target = '_blank')
|
||||
} else {
|
||||
click(a)
|
||||
}
|
||||
} else {
|
||||
// Support blobs
|
||||
a.href = URL.createObjectURL(blob)
|
||||
setTimeout(function () { URL.revokeObjectURL(a.href) }, 4E4) // 40s
|
||||
setTimeout(function () { click(a) }, 0)
|
||||
}
|
||||
}
|
||||
|
||||
// Use msSaveOrOpenBlob as a second approach
|
||||
: 'msSaveOrOpenBlob' in navigator
|
||||
? function saveAs (blob, name, opts) {
|
||||
name = name || blob.name || 'download'
|
||||
|
||||
if (typeof blob === 'string') {
|
||||
if (corsEnabled(blob)) {
|
||||
download(blob, name, opts)
|
||||
} else {
|
||||
var a = document.createElement('a')
|
||||
a.href = blob
|
||||
a.target = '_blank'
|
||||
setTimeout(function () { click(a) })
|
||||
}
|
||||
} else {
|
||||
navigator.msSaveOrOpenBlob(bom(blob, opts), name)
|
||||
}
|
||||
}
|
||||
|
||||
// Fallback to using FileReader and a popup
|
||||
: function saveAs (blob, name, opts, popup) {
|
||||
// Open a popup immediately do go around popup blocker
|
||||
// Mostly only available on user interaction and the fileReader is async so...
|
||||
popup = popup || open('', '_blank')
|
||||
if (popup) {
|
||||
popup.document.title =
|
||||
popup.document.body.innerText = 'downloading...'
|
||||
}
|
||||
|
||||
if (typeof blob === 'string') return download(blob, name, opts)
|
||||
|
||||
var force = blob.type === 'application/octet-stream'
|
||||
var isSafari = /constructor/i.test(_global.HTMLElement) || _global.safari
|
||||
var isChromeIOS = /CriOS\/[\d]+/.test(navigator.userAgent)
|
||||
|
||||
if ((isChromeIOS || (force && isSafari) || isMacOSWebView) && typeof FileReader !== 'undefined') {
|
||||
// Safari doesn't allow downloading of blob URLs
|
||||
var reader = new FileReader()
|
||||
reader.onloadend = function () {
|
||||
var url = reader.result
|
||||
url = isChromeIOS ? url : url.replace(/^data:[^;]*;/, 'data:attachment/file;')
|
||||
if (popup) popup.location.href = url
|
||||
else location = url
|
||||
popup = null // reverse-tabnabbing #460
|
||||
}
|
||||
reader.readAsDataURL(blob)
|
||||
} else {
|
||||
var URL = _global.URL || _global.webkitURL
|
||||
var url = URL.createObjectURL(blob)
|
||||
if (popup) popup.location = url
|
||||
else location.href = url
|
||||
popup = null // reverse-tabnabbing #460
|
||||
setTimeout(function () { URL.revokeObjectURL(url) }, 4E4) // 40s
|
||||
}
|
||||
}
|
||||
)
|
||||
|
||||
_global.saveAs = saveAs.saveAs = saveAs
|
||||
|
||||
if (typeof module !== 'undefined') {
|
||||
module.exports = saveAs;
|
||||
}
|
||||
|
|
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large
Load Diff
|
@ -1,121 +1,121 @@
|
|||
(function (window, debug, undefined) {
|
||||
var loadding;
|
||||
var ajaxDefault = {
|
||||
beforeSend: function (xhr) {
|
||||
loadding=window.eleLoadding();
|
||||
},
|
||||
complete: function (xhr) {
|
||||
if(debug){
|
||||
console.log(xhr);
|
||||
}
|
||||
},
|
||||
data: {},
|
||||
success: function (data, textStatus, jqXHR) {
|
||||
if(debug){
|
||||
console.log(data);
|
||||
}
|
||||
if (data == undefined) {
|
||||
eleAlert('返回结果异常','warning');
|
||||
}else if(data.code==200){
|
||||
msg = '调用成功,放回状态码为:' + data.code;
|
||||
if(msg.code!=200){
|
||||
msg+=';返回信息为:'+data.message;
|
||||
}
|
||||
// layer.alert(msg)
|
||||
}
|
||||
},
|
||||
error: function (xhr, error, exception) {
|
||||
if(debug){
|
||||
console.log(xhr);
|
||||
console.log(error);
|
||||
console.log(exception);
|
||||
}
|
||||
eleAlert('调用错误',"error");
|
||||
}
|
||||
};
|
||||
|
||||
function fnBeforeSend(xhr, callback) {
|
||||
(callback || ajaxDefault.beforeSend)(xhr);
|
||||
}
|
||||
|
||||
function fnAjaxSuccess(data, textStatus, jqXHR, callback) {
|
||||
/* if(data!=undefined&&data.code!=undefined){
|
||||
if(data.code===401){
|
||||
layer.alert('请登陆',function(){
|
||||
window.location.href = loginUrl;
|
||||
});
|
||||
return;
|
||||
}else if(data.code===403){
|
||||
layer.alert(data.message);
|
||||
return;
|
||||
}else if(data.code===404){
|
||||
layer.alert(data.message);
|
||||
return;
|
||||
}else if(data.code===500){
|
||||
layer.alert(data.message);
|
||||
return;
|
||||
}
|
||||
} */
|
||||
(callback || ajaxDefault.complete)(data, textStatus, jqXHR);
|
||||
}
|
||||
|
||||
function fnComplete(data, textStatus, callback) {
|
||||
loadding.close();
|
||||
(callback || ajaxDefault.complete)(data, textStatus);
|
||||
}
|
||||
|
||||
window.utils = {
|
||||
post: function (obj) {
|
||||
var paramObj = {};
|
||||
jQuery.extend(paramObj, obj)
|
||||
if (window.jQuery == undefined) {
|
||||
alert('请引入jQuery');
|
||||
}
|
||||
var finalData = {};
|
||||
jQuery.extend(finalData, paramObj.data);
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: paramObj.url,
|
||||
data: finalData,
|
||||
beforeSend: function (xhr) {
|
||||
fnBeforeSend(xhr, paramObj.beforeSend);
|
||||
},
|
||||
complete: function (xhr, textStatus) {
|
||||
fnComplete(xhr, textStatus, paramObj.complete);
|
||||
},
|
||||
success: function (data, textStatus, jqXHR) {
|
||||
fnAjaxSuccess(data, textStatus, jqXHR, paramObj.success);
|
||||
}
|
||||
});
|
||||
},
|
||||
get: function (obj) {
|
||||
var paramObj = {};
|
||||
jQuery.extend(paramObj, obj)
|
||||
if (window.jQuery == undefined) {
|
||||
alert('请引入jQuery');
|
||||
}
|
||||
var finalData = {};
|
||||
jQuery.extend(finalData, paramObj.data);
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: paramObj.url,
|
||||
data: finalData,
|
||||
beforeSend: function (xhr) {
|
||||
fnBeforeSend(xhr, paramObj.beforeSend);
|
||||
},
|
||||
complete: function (xhr, textStatus) {
|
||||
fnComplete(xhr, paramObj.complete);
|
||||
},
|
||||
dataType: paramObj.dataType || ajaxDefault.dataType,
|
||||
success: function (data, textStatus, jqXHR) {
|
||||
fnAjaxSuccess(data, textStatus, jqXHR, paramObj.success);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
})(window, false);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
(function (window, debug, undefined) {
|
||||
var loadding;
|
||||
var ajaxDefault = {
|
||||
beforeSend: function (xhr) {
|
||||
loadding=window.eleLoadding();
|
||||
},
|
||||
complete: function (xhr) {
|
||||
if(debug){
|
||||
console.log(xhr);
|
||||
}
|
||||
},
|
||||
data: {},
|
||||
success: function (data, textStatus, jqXHR) {
|
||||
if(debug){
|
||||
console.log(data);
|
||||
}
|
||||
if (data == undefined) {
|
||||
eleAlert('返回结果异常','warning');
|
||||
}else if(data.code==200){
|
||||
msg = '调用成功,放回状态码为:' + data.code;
|
||||
if(msg.code!=200){
|
||||
msg+=';返回信息为:'+data.message;
|
||||
}
|
||||
// layer.alert(msg)
|
||||
}
|
||||
},
|
||||
error: function (xhr, error, exception) {
|
||||
if(debug){
|
||||
console.log(xhr);
|
||||
console.log(error);
|
||||
console.log(exception);
|
||||
}
|
||||
eleAlert('调用错误',"error");
|
||||
}
|
||||
};
|
||||
|
||||
function fnBeforeSend(xhr, callback) {
|
||||
(callback || ajaxDefault.beforeSend)(xhr);
|
||||
}
|
||||
|
||||
function fnAjaxSuccess(data, textStatus, jqXHR, callback) {
|
||||
/* if(data!=undefined&&data.code!=undefined){
|
||||
if(data.code===401){
|
||||
layer.alert('请登陆',function(){
|
||||
window.location.href = loginUrl;
|
||||
});
|
||||
return;
|
||||
}else if(data.code===403){
|
||||
layer.alert(data.message);
|
||||
return;
|
||||
}else if(data.code===404){
|
||||
layer.alert(data.message);
|
||||
return;
|
||||
}else if(data.code===500){
|
||||
layer.alert(data.message);
|
||||
return;
|
||||
}
|
||||
} */
|
||||
(callback || ajaxDefault.complete)(data, textStatus, jqXHR);
|
||||
}
|
||||
|
||||
function fnComplete(data, textStatus, callback) {
|
||||
loadding.close();
|
||||
(callback || ajaxDefault.complete)(data, textStatus);
|
||||
}
|
||||
|
||||
window.utils = {
|
||||
post: function (obj) {
|
||||
var paramObj = {};
|
||||
jQuery.extend(paramObj, obj)
|
||||
if (window.jQuery == undefined) {
|
||||
alert('请引入jQuery');
|
||||
}
|
||||
var finalData = {};
|
||||
jQuery.extend(finalData, paramObj.data);
|
||||
$.ajax({
|
||||
type: 'POST',
|
||||
url: paramObj.url,
|
||||
data: finalData,
|
||||
beforeSend: function (xhr) {
|
||||
fnBeforeSend(xhr, paramObj.beforeSend);
|
||||
},
|
||||
complete: function (xhr, textStatus) {
|
||||
fnComplete(xhr, textStatus, paramObj.complete);
|
||||
},
|
||||
success: function (data, textStatus, jqXHR) {
|
||||
fnAjaxSuccess(data, textStatus, jqXHR, paramObj.success);
|
||||
}
|
||||
});
|
||||
},
|
||||
get: function (obj) {
|
||||
var paramObj = {};
|
||||
jQuery.extend(paramObj, obj)
|
||||
if (window.jQuery == undefined) {
|
||||
alert('请引入jQuery');
|
||||
}
|
||||
var finalData = {};
|
||||
jQuery.extend(finalData, paramObj.data);
|
||||
$.ajax({
|
||||
type: 'GET',
|
||||
url: paramObj.url,
|
||||
data: finalData,
|
||||
beforeSend: function (xhr) {
|
||||
fnBeforeSend(xhr, paramObj.beforeSend);
|
||||
},
|
||||
complete: function (xhr, textStatus) {
|
||||
fnComplete(xhr, paramObj.complete);
|
||||
},
|
||||
dataType: paramObj.dataType || ajaxDefault.dataType,
|
||||
success: function (data, textStatus, jqXHR) {
|
||||
fnAjaxSuccess(data, textStatus, jqXHR, paramObj.success);
|
||||
}
|
||||
});
|
||||
}
|
||||
};
|
||||
})(window, false);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -2,7 +2,7 @@
|
|||
Encoding=UTF-8
|
||||
Type=Application
|
||||
Name=HanvonScan
|
||||
Name[zh_CN]=汉王扫描仪网页服务器重启
|
||||
Name[zh_CN]=汉王扫描仪WebServer重启
|
||||
Exec=sh /opt/hanvonwebscan/bin/restart.sh
|
||||
Icon=/opt/hanvonwebscan/static/hanvon_logo.png
|
||||
Categories=Application;
|
Loading…
Reference in New Issue