Initial commit
100
.gitignore
vendored
Normal file
@ -0,0 +1,100 @@
|
|||||||
|
/build
|
||||||
|
|
||||||
|
*~
|
||||||
|
|
||||||
|
# temporary files which can be created if a process still has a handle open of a deleted file
|
||||||
|
.fuse_hidden*
|
||||||
|
|
||||||
|
# KDE directory preferences
|
||||||
|
.directory
|
||||||
|
|
||||||
|
# Linux trash folder which might appear on any partition or disk
|
||||||
|
.Trash-*
|
||||||
|
|
||||||
|
# .nfs files are created when an open file is removed but is still being accessed
|
||||||
|
.nfs*
|
||||||
|
|
||||||
|
# General
|
||||||
|
.DS_Store
|
||||||
|
.AppleDouble
|
||||||
|
.LSOverride
|
||||||
|
|
||||||
|
# Icon must end with two \r
|
||||||
|
Icon
|
||||||
|
|
||||||
|
# Thumbnails
|
||||||
|
._*
|
||||||
|
|
||||||
|
# Files that might appear in the root of a volume
|
||||||
|
.DocumentRevisions-V100
|
||||||
|
.fseventsd
|
||||||
|
.Spotlight-V100
|
||||||
|
.TemporaryItems
|
||||||
|
.Trashes
|
||||||
|
.VolumeIcon.icns
|
||||||
|
.com.apple.timemachine.donotpresent
|
||||||
|
|
||||||
|
# Directories potentially created on remote AFP share
|
||||||
|
.AppleDB
|
||||||
|
.AppleDesktop
|
||||||
|
Network Trash Folder
|
||||||
|
Temporary Items
|
||||||
|
.apdisk
|
||||||
|
|
||||||
|
# Windows thumbnail cache files
|
||||||
|
Thumbs.db
|
||||||
|
Thumbs.db:encryptable
|
||||||
|
ehthumbs.db
|
||||||
|
ehthumbs_vista.db
|
||||||
|
|
||||||
|
# Dump file
|
||||||
|
*.stackdump
|
||||||
|
|
||||||
|
# Folder config file
|
||||||
|
[Dd]esktop.ini
|
||||||
|
|
||||||
|
# Recycle Bin used on file shares
|
||||||
|
$RECYCLE.BIN/
|
||||||
|
|
||||||
|
# Windows Installer files
|
||||||
|
*.cab
|
||||||
|
*.msi
|
||||||
|
*.msix
|
||||||
|
*.msm
|
||||||
|
*.msp
|
||||||
|
|
||||||
|
# Windows shortcuts
|
||||||
|
*.lnk
|
||||||
|
|
||||||
|
# Swap
|
||||||
|
[._]*.s[a-v][a-z]
|
||||||
|
!*.svg # comment out if you don't need vector files
|
||||||
|
[._]*.sw[a-p]
|
||||||
|
[._]s[a-rt-v][a-z]
|
||||||
|
[._]ss[a-gi-z]
|
||||||
|
[._]sw[a-p]
|
||||||
|
|
||||||
|
# Session
|
||||||
|
Session.vim
|
||||||
|
Sessionx.vim
|
||||||
|
|
||||||
|
# Temporary
|
||||||
|
.netrwhist
|
||||||
|
*~
|
||||||
|
# Auto-generated tag files
|
||||||
|
tags
|
||||||
|
# Persistent undo
|
||||||
|
[._]*.un~
|
||||||
|
|
||||||
|
.vscode/*
|
||||||
|
!.vscode/settings.json
|
||||||
|
!.vscode/tasks.json
|
||||||
|
!.vscode/launch.json
|
||||||
|
!.vscode/extensions.json
|
||||||
|
!.vscode/*.code-snippets
|
||||||
|
|
||||||
|
# Local History for Visual Studio Code
|
||||||
|
.history/
|
||||||
|
|
||||||
|
# Built Visual Studio Code Extensions
|
||||||
|
*.vsix
|
12
Makefile
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
build: clean makeassets
|
||||||
|
./build.sh
|
||||||
|
|
||||||
|
serve: makeassets
|
||||||
|
python3 -m http.server --directory src 80
|
||||||
|
|
||||||
|
makeassets:
|
||||||
|
sed -i "s/\(\/\*\ BEGIN\ ASSETS\ \*\/\).*/\1/" src/service-worker.js
|
||||||
|
./makeassets.sh >> src/service-worker.js
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -rf build
|
18
README.md
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
# health-code-simulator
|
||||||
|
|
||||||
|
## Build
|
||||||
|
|
||||||
|
### Build for production
|
||||||
|
|
||||||
|
```shell
|
||||||
|
npm i -g uglify-js clean-css-cli html-minifier
|
||||||
|
make build
|
||||||
|
```
|
||||||
|
|
||||||
|
### Launch local server
|
||||||
|
|
||||||
|
Requires python3.
|
||||||
|
|
||||||
|
```shell
|
||||||
|
make serve
|
||||||
|
```
|
26
build.sh
Executable file
@ -0,0 +1,26 @@
|
|||||||
|
echo "Building project..."
|
||||||
|
|
||||||
|
BUILDPATH=./build
|
||||||
|
mkdir $BUILDPATH
|
||||||
|
|
||||||
|
echo "Copying files..."
|
||||||
|
cp -RX ./src/ $BUILDPATH/
|
||||||
|
|
||||||
|
for file in $( find src -type f -name "*.html"); do
|
||||||
|
html-minifier $file --collapse-whitespace --remove-comments --remove-optional-tags --remove-redundant-attributes --remove-script-type-attributes --remove-tag-whitespace --use-short-doctype --minify-css true --minify-js > $BUILDPATH/${file#*src/} &&
|
||||||
|
echo "+"${file#*src/} &
|
||||||
|
done
|
||||||
|
|
||||||
|
for file in $( find src -type f -name "*.css"); do
|
||||||
|
cleancss -o $BUILDPATH/${file#*src/} $file &&
|
||||||
|
echo "+"${file#*src/} &
|
||||||
|
done
|
||||||
|
|
||||||
|
for file in $( find src -type f -name "*.js"); do
|
||||||
|
uglifyjs $file -c -o $BUILDPATH/${file#*src/} &&
|
||||||
|
echo "+"${file#*src/} &
|
||||||
|
done
|
||||||
|
|
||||||
|
wait;
|
||||||
|
|
||||||
|
echo "Build completed"
|
14
makeassets.sh
Executable file
@ -0,0 +1,14 @@
|
|||||||
|
cd src
|
||||||
|
|
||||||
|
printf "assets={"
|
||||||
|
printf "\"root\":[\"./\","
|
||||||
|
find . -maxdepth 1 -type f -not -path '*/.*' -not -path './service-worker.js' | xargs printf "\"%s\"," "$@"
|
||||||
|
printf "],"
|
||||||
|
for DIR in $(find . -type d -mindepth 1 -maxdepth 1); do
|
||||||
|
printf "\""${DIR#*./}"\":["
|
||||||
|
printf "\"%s/\"," "${DIR#*./}"
|
||||||
|
find $DIR -type f -not -path '*/.*' | xargs printf "\"%s\"," "$@"
|
||||||
|
# find $DIR -type d -not -path '*/.*' | xargs printf "\"%s/\"," "$@"
|
||||||
|
printf "],"
|
||||||
|
done
|
||||||
|
printf "};"
|
356
src/app.css
Normal file
@ -0,0 +1,356 @@
|
|||||||
|
body {
|
||||||
|
font-family: "PingFang SC", sans-serif;
|
||||||
|
margin: 20px 4%;
|
||||||
|
background-color: #fcfcfc;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header {
|
||||||
|
margin: 20px 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-title-container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-title {
|
||||||
|
font-size: 24px;
|
||||||
|
font-weight: bold;
|
||||||
|
color: #000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.page-title-icon {
|
||||||
|
width: 30px;
|
||||||
|
height: 30px;
|
||||||
|
margin-right: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon {
|
||||||
|
width: 1.3em;
|
||||||
|
height: 1.3em;
|
||||||
|
margin: 0 2px;
|
||||||
|
opacity: .87;
|
||||||
|
}
|
||||||
|
|
||||||
|
.icon-align {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sw-status {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-around;
|
||||||
|
align-items: center;
|
||||||
|
color: rgba(0, 0, 0, .6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sw-help-text {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sw-help-text > img {
|
||||||
|
width: 15px;
|
||||||
|
height: 15px;
|
||||||
|
margin: 2px;
|
||||||
|
filter: invert(0.4);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* .sw-progress {
|
||||||
|
color: #000;
|
||||||
|
opacity: 0.4;
|
||||||
|
}
|
||||||
|
|
||||||
|
.sw-progress-bar {
|
||||||
|
margin-top: 4px;
|
||||||
|
width: min(100px, 23vw);
|
||||||
|
height: 5px;
|
||||||
|
background-color: rgba(0, 0, 0, .1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.sw-progress-bar-fill {
|
||||||
|
height: 100%;
|
||||||
|
width: 0;
|
||||||
|
background-color: #000;
|
||||||
|
} */
|
||||||
|
|
||||||
|
.apps-list {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: stretch;
|
||||||
|
margin-bottom: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app {
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 8px;
|
||||||
|
margin: 4px 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
background-color: #fff;
|
||||||
|
box-shadow: 0 2px 1px -1px rgb(0 0 0 / 20%), 0 1px 1px 0 rgb(0 0 0 / 14%),
|
||||||
|
0 1px 3px 0 rgb(0 0 0 / 12%);
|
||||||
|
transition: all 0.1s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app.selected {
|
||||||
|
opacity: 0.6;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app:has(.app-menu-item.active[data-role="pin"]):not(.inactivated) {
|
||||||
|
order: -1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app.inactivated {
|
||||||
|
order: 1000 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app.inactivated .app-title {
|
||||||
|
color: rgba(0, 0, 0, 0.6);
|
||||||
|
font-size: 14px;
|
||||||
|
margin-left: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app.inactivated .app-title::after {
|
||||||
|
content: "暂不可用";
|
||||||
|
margin-left: 5px;
|
||||||
|
font-weight: 400;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app.inactivated .app-menu {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app.inactivated .app-content > img {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app.inactivated .app-title-icon {
|
||||||
|
display: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-content {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: stretch;
|
||||||
|
user-select: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-content > img {
|
||||||
|
height: 54px;
|
||||||
|
width: 54px;
|
||||||
|
margin-right: 10px;
|
||||||
|
padding: 2px;
|
||||||
|
border-radius: 100px;
|
||||||
|
border: 2px dotted #aaa;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-content > .app-description {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: space-around;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-title {
|
||||||
|
font-size: 19px;
|
||||||
|
font-weight: 700;
|
||||||
|
flex-shrink: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-title-wrapper {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-title-icon {
|
||||||
|
height: 18px;
|
||||||
|
width: 18px;
|
||||||
|
margin-left: 5px;
|
||||||
|
opacity: 0.6;
|
||||||
|
transition: margin-left 0.1s ease-out;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app.selected .app-title-icon {
|
||||||
|
margin-left: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-menu {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: center;
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-menu-item {
|
||||||
|
height: 20px;
|
||||||
|
font-size: 15px;
|
||||||
|
background-color: rgba(0, 0, 0, 0.05);
|
||||||
|
color: rgba(0, 0, 0, 0.6);
|
||||||
|
border-radius: 4px;
|
||||||
|
padding: 4px 6px;
|
||||||
|
margin: 2px 9px 2px 0;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-menu-item.active {
|
||||||
|
background-color: rgba(0, 0, 0, 0.9);
|
||||||
|
color: rgba(255, 255, 255, 0.87);
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-menu-item[data-role="link"]:hover {
|
||||||
|
background-color: rgba(0, 0, 0, 0.9);
|
||||||
|
color: rgba(255, 255, 255, 0.87);
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-menu-app-icon {
|
||||||
|
height: 18px;
|
||||||
|
width: 18px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-menu-item.active .app-menu-app-icon {
|
||||||
|
filter: invert(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-menu-item[data-role="link"]:hover .app-menu-app-icon {
|
||||||
|
filter: invert(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-menu-app-title {
|
||||||
|
margin-left: 2px;
|
||||||
|
}
|
||||||
|
|
||||||
|
footer {
|
||||||
|
margin: 24px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.links-list {
|
||||||
|
margin: 10px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
color: rgba(0, 0, 0, 0.67);
|
||||||
|
}
|
||||||
|
|
||||||
|
.link-wrapper {
|
||||||
|
margin: 2px 8px;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 14px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.link-wrapper > img {
|
||||||
|
width: 20px;
|
||||||
|
height: 20px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.link-wrapper > span {
|
||||||
|
margin-left: 6px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.link-wrapper > a {
|
||||||
|
margin-left: 6px;
|
||||||
|
color: #999;
|
||||||
|
text-decoration: underline;
|
||||||
|
}
|
||||||
|
|
||||||
|
.links-list-help {
|
||||||
|
color: #999;
|
||||||
|
}
|
||||||
|
|
||||||
|
#last-update-version {
|
||||||
|
margin-left: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-help {
|
||||||
|
display: none;
|
||||||
|
font-size: 14px;
|
||||||
|
margin: 8px 4px 0 4px;
|
||||||
|
background-color: rgba(0, 0, 0, 0.05);
|
||||||
|
color: rgba(0, 0, 0, 0.75);
|
||||||
|
border-radius: 8px;
|
||||||
|
padding: 8px 12px;
|
||||||
|
line-height: 150%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-help-subtitle {
|
||||||
|
font-weight: 700;
|
||||||
|
font-size: 18px;
|
||||||
|
margin: 4px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-contributors-container {
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-contributor {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
align-items: center;
|
||||||
|
margin-top: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-contributor-namestrip {
|
||||||
|
margin-top: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.contributor-nametag {
|
||||||
|
font-weight: 700;
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 17px;
|
||||||
|
color: transparent;
|
||||||
|
background: linear-gradient(-68deg, #0716f6 0, #00d1ff 100%);
|
||||||
|
background-clip: text;
|
||||||
|
-webkit-background-clip: text;
|
||||||
|
padding: 4px 2px;
|
||||||
|
margin-right: 4px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-contributor-namestrip .contributor-nametag {
|
||||||
|
margin: 0;
|
||||||
|
display: inline-block;
|
||||||
|
height: 21px;
|
||||||
|
background: #093779;
|
||||||
|
background: linear-gradient(68deg, #f9c507 0, #ff0061 100%);
|
||||||
|
padding: 4px 12px;
|
||||||
|
border-top-left-radius: 50px;
|
||||||
|
border-bottom-left-radius: 50px;
|
||||||
|
color: #fff;
|
||||||
|
-webkit-text-stroke: 0.5px rgba(0, 0, 0, 0.8);
|
||||||
|
text-stroke: 0.5px rgba(0, 0, 0, 0.8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.contributor-description {
|
||||||
|
font-style: italic;
|
||||||
|
font-size: 13px;
|
||||||
|
color: rgba(0, 0, 0, 0.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
.app-contributor-namestrip .contributor-description {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
justify-content: center;
|
||||||
|
padding: 4px 12px 4px 6px;
|
||||||
|
height: 19px;
|
||||||
|
border: 1px solid rgba(0, 0, 0, 0.6);
|
||||||
|
border-left-width: 0;
|
||||||
|
border-top-right-radius: 50px;
|
||||||
|
border-bottom-right-radius: 50px;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
467
src/app.js
Normal file
@ -0,0 +1,467 @@
|
|||||||
|
const apps = {
|
||||||
|
"trip-card": {
|
||||||
|
title: "通信大数据行程卡",
|
||||||
|
icon: "trip-card/static/img_arrow@2x.png",
|
||||||
|
link: "trip-card/index.html",
|
||||||
|
color: "#2ba667",
|
||||||
|
help_text: "<p>点击手机号或途经地点可以修改相关信息。</p>",
|
||||||
|
menu: [],
|
||||||
|
},
|
||||||
|
"ykm": {
|
||||||
|
title: "粤康码",
|
||||||
|
icon: "ykm/static/yss.jpeg",
|
||||||
|
link: "ykm/index.html",
|
||||||
|
color: "#aacc00",
|
||||||
|
help_text:
|
||||||
|
"<p>点击姓名、城市、场所地址等可以修改对应<p>点击二维码可以切换 “粤康码” 及 “粤康码场所通行” 页面。</p>",
|
||||||
|
menu: [
|
||||||
|
{ title: "场所", icon: "place", link: "ykm/checkin.html" },
|
||||||
|
{ title: "核酸", icon: "vaccines", link: "ykm/detail.html" },
|
||||||
|
{ title: "广州", icon: "map", link: "gwongzau-hc/checkin.html" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
"skm": {
|
||||||
|
title: "苏康码",
|
||||||
|
icon: "skm/src/jszwfw.png",
|
||||||
|
link: "skm/index.html",
|
||||||
|
color: "#a3a8eb99",
|
||||||
|
help_text:
|
||||||
|
"<p>点击姓名、证件号、场所地址等可以修改对应信息;</p><p>点击二维码可以展示签到页面。</p>",
|
||||||
|
menu: [
|
||||||
|
{ title: "场所", icon: "place", link: "skm/index.html#checkin" },
|
||||||
|
{ title: "核酸", icon: "vaccines", link: "skm/detail.html" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
"jkb": {
|
||||||
|
title: "北京健康宝",
|
||||||
|
icon: "jkb/static/logo_jiankangbao1@2x.png",
|
||||||
|
link: "jkb/index.html",
|
||||||
|
color: "#fa6666",
|
||||||
|
help_text:
|
||||||
|
"<p>点击姓名、证件号可以修改对应信息;</p><p>点击照片可以更改或移除照片,超过 4MB 的图片可能无法在本地保存;</p><p>点击右上角二维码标志可以在 “本人健康码自查询” 和 “本人信息扫码登记” 间切换;</p><p>点击 “未见异常” 可以切换 “通勤” 标志。</p>",
|
||||||
|
menu: [
|
||||||
|
{ title: "扫描", icon: "qr_code_scanner", link: "jkb/scan.html" },
|
||||||
|
{ title: "场所", icon: "place", link: "jkb/checkin.html" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
"tfjkt": {
|
||||||
|
title: "四川天府健康通",
|
||||||
|
icon: "tfjkt/static/message-icon.png",
|
||||||
|
link: "tfjkt/index.html",
|
||||||
|
color: "#0ba099",
|
||||||
|
help_text:
|
||||||
|
"<p>点击姓名、证件号、场所地址等可以修改对应信息;</p><p>点击“扫场所码”展示场所码。</p>",
|
||||||
|
menu: [{ title: "场所", icon: "place", link: "tfjkt/checkin.html" }],
|
||||||
|
},
|
||||||
|
"ssm": {
|
||||||
|
title: "随申码",
|
||||||
|
icon: "ssm/static/ssbapp-logo.png",
|
||||||
|
link: "ssm/index.html",
|
||||||
|
color: "#bf4046",
|
||||||
|
help_text:
|
||||||
|
"<p>点击姓名、证件号、场所地址等可以修改对应信息;</p><p>点击照片可以更改或移除照片,超过 4MB 的图片可能无法在本地保存;</p><p>点击二维码展示场所码。</p>",
|
||||||
|
menu: [{ title: "场所", icon: "place", link: "ssm/checkin.html" }],
|
||||||
|
},
|
||||||
|
"shandong-hc": {
|
||||||
|
title: "山东健康通行码",
|
||||||
|
icon: "shandong-hc/static/logo.png",
|
||||||
|
link: "shandong-hc/index.html",
|
||||||
|
color: "#68b82e",
|
||||||
|
help_text:
|
||||||
|
"<p>点击姓名、证件号、场所地址等可以修改对应信息;</p><p>点击二维码可以切换到场所码页面。</p>",
|
||||||
|
menu: [
|
||||||
|
{
|
||||||
|
title: "场所",
|
||||||
|
icon: "place",
|
||||||
|
link: "shandong-hc/index.html#checkin",
|
||||||
|
},
|
||||||
|
{ title: "威海", icon: "map", link: "weihai-hc/index.html" },
|
||||||
|
],
|
||||||
|
contributors: [
|
||||||
|
{
|
||||||
|
name: "LibertyNeverDies",
|
||||||
|
description: "参与制作",
|
||||||
|
style: "namestrip",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
},
|
||||||
|
"hubei-hc": {
|
||||||
|
title: "湖北健康码",
|
||||||
|
icon: "hubei-hc/static/logo.png",
|
||||||
|
link: "hubei-hc/index.html",
|
||||||
|
color: "#9a1640",
|
||||||
|
help_text:
|
||||||
|
"<p>点击姓名、证件号码可以修改对应信息。</p>",
|
||||||
|
},
|
||||||
|
"wuhan-hc": {
|
||||||
|
title: "湖北健康码·武汉",
|
||||||
|
icon: "wuhan-hc/static/QRlogo.png",
|
||||||
|
link: "wuhan-hc/index.html",
|
||||||
|
color: "#af9bff",
|
||||||
|
help_text:
|
||||||
|
"<p>点击姓名、证件号等可以修改对应信息;</p><p>点击通信行程卡“点击核验”可以添加行程戳;</p><p>点击“已采样”标记可以隐藏该标记。</p>",
|
||||||
|
},
|
||||||
|
"hunan-hc": {
|
||||||
|
title: "湖南电子健康卡",
|
||||||
|
icon: "hunan-hc/static/logo-b18dcf7bf55c412ec04989061d0512ad.png",
|
||||||
|
link: "hunan-hc/index.html",
|
||||||
|
help_text: "<p>点击姓名、证件号、采样点、场所地址等可以修改对应信息。</p><p>点击“二维码”可以切换“健康卡”与“场所码”</p>",
|
||||||
|
menu: [{ title: "场所", icon: "place", link: "hunan-hc/checkin.html"}],
|
||||||
|
contributors: [
|
||||||
|
{ name: "uodedcli", description: "参与制作", style: "namestrip" },
|
||||||
|
],
|
||||||
|
},
|
||||||
|
"fujian-hc": {
|
||||||
|
title: "福建健康码",
|
||||||
|
icon: "fujian-hc/static/jkm_logo.png",
|
||||||
|
link: "fujian-hc/index.html",
|
||||||
|
color: "#3a5eff",
|
||||||
|
help_text:
|
||||||
|
"<p>点击姓名、证件号可以修改对应信息;</p><p>点击 “扫一扫” 进入场所张贴码。</p>",
|
||||||
|
menu: [{ title: "场所", icon: "place", link: "fujian-hc/checkin.html" }],
|
||||||
|
},
|
||||||
|
"zhejiang-hc": {
|
||||||
|
title: "浙江健康码",
|
||||||
|
icon: "zhejiang-hc/static/logo.ico",
|
||||||
|
link: "zhejiang-hc/index.html",
|
||||||
|
color: "#57ac6c",
|
||||||
|
help_text: "<p>点击城市名、姓名、证件号可以修改对应信息。</p>",
|
||||||
|
},
|
||||||
|
"henan-hc": {
|
||||||
|
title: "豫康码",
|
||||||
|
icon: "henan-hc/static/logo.png",
|
||||||
|
link: "henan-hc/index.html",
|
||||||
|
color: "#e84336",
|
||||||
|
help_text:
|
||||||
|
"<p>点击城市名、姓名、证件号可以修改对应信息;</p><p>点击二维码可以切换至“疫情防控场所码”。</p>",
|
||||||
|
menu: [{ title: "场所", icon: "place", link: "henan-hc/checkin.html" }],
|
||||||
|
},
|
||||||
|
"tianjin-hc": {
|
||||||
|
title: "天津数字防疫",
|
||||||
|
icon: "tianjin-hc/static/img/logo.png",
|
||||||
|
link: "tianjin-hc/index.html",
|
||||||
|
help_text:
|
||||||
|
"<p>前往“我的”一栏后点击任意位置,在配置页填写好姓名和身份证号、保存并返回后才可使用。</p>"
|
||||||
|
},
|
||||||
|
"shaanxi-hc": {
|
||||||
|
title: "陕西一码通",
|
||||||
|
icon: "shaanxi-hc/static/myCode/greenLogo.png",
|
||||||
|
link: "shaanxi-hc/index.html",
|
||||||
|
color: "#0bae81",
|
||||||
|
help_text:
|
||||||
|
"<p>点击地点名称、姓名、证件号可以修改对应信息;</p><p>点击核酸检测时间可以切换小时数;</p><p>点击“已采样”可以切换今日是否采样。</p>",
|
||||||
|
menu: [{ title: "场所", icon: "place", link: "shaanxi-hc/checkin.html" }],
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
function onIconFail(t) {
|
||||||
|
t.closest(".app").classList.add("inactivated");
|
||||||
|
}
|
||||||
|
|
||||||
|
function render() {
|
||||||
|
let html = "";
|
||||||
|
for (const [name, app] of Object.entries(apps)) {
|
||||||
|
let menu_html = "";
|
||||||
|
if (app.menu) {
|
||||||
|
for (const menu_item of app.menu) {
|
||||||
|
menu_html += `
|
||||||
|
<div class="app-menu-item" data-role="link" data-link="${menu_item.link || ""}">
|
||||||
|
<img class="app-menu-app-icon" src="common/icons/${menu_item.icon || "qr_code"}.svg"></img>
|
||||||
|
<span class="app-menu-app-title">${menu_item.title}</span>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
menu_html += `
|
||||||
|
<div class="app-menu-item ${
|
||||||
|
localStorage.getItem("pinned")
|
||||||
|
&& localStorage.getItem("pinned").split(",").indexOf(name) >= 0
|
||||||
|
&& "active" || ""
|
||||||
|
}" data-role="pin">
|
||||||
|
<img class="app-menu-app-icon" src="common/icons/push_pin.svg"></img>
|
||||||
|
</div>`;
|
||||||
|
if (app.help_text) {
|
||||||
|
menu_html += `
|
||||||
|
<div class="app-menu-item" data-role="help">
|
||||||
|
<img class="app-menu-app-icon" src="common/icons/info.svg"></img>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
let credits_html = "";
|
||||||
|
if (app.contributors) {
|
||||||
|
for (const contributor of app.contributors) {
|
||||||
|
if (contributor.style == "namestrip") {
|
||||||
|
credits_html += `
|
||||||
|
<div class="app-contributor app-contributor-namestrip">
|
||||||
|
<span class="contributor-nametag">${contributor.name}</span>
|
||||||
|
<span class="contributor-description">${contributor.description}</span>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
} else if (contributor.style == "text") {
|
||||||
|
credits_html += `
|
||||||
|
<div class="app-contributor">
|
||||||
|
<span class="contributor-nametag">${contributor.name}</span>
|
||||||
|
<span class="contributor-description">${contributor.description}</span>
|
||||||
|
</div>
|
||||||
|
`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
html += `
|
||||||
|
<div class="app" data-link="${app.link || ""}" data-role="app" data-app-name="${name}">
|
||||||
|
<div class="app-content">
|
||||||
|
<img src="${app.icon}" onerror="onIconFail(this);" style="border-color: ${app.color || "#aaa"};">
|
||||||
|
<div class="app-description">
|
||||||
|
<div class="app-title-wrapper">
|
||||||
|
<span class="app-title">${app.title}</span>
|
||||||
|
<img class="app-title-icon" src="common/icons/arrow_forward.svg"></img>
|
||||||
|
</div>
|
||||||
|
<div class="app-menu">
|
||||||
|
${menu_html}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="app-help">
|
||||||
|
<div class="app-help-subtitle">使用说明</div>
|
||||||
|
${app.help_text}
|
||||||
|
${credits_html ? `
|
||||||
|
<div class="app-help-subtitle">致谢</div>
|
||||||
|
<div class="app-contributors-container">
|
||||||
|
${credits_html}
|
||||||
|
</div>
|
||||||
|
` : ""}
|
||||||
|
</div>
|
||||||
|
</div>`;
|
||||||
|
}
|
||||||
|
document.querySelector(".apps-list").innerHTML = html;
|
||||||
|
|
||||||
|
const elements = [
|
||||||
|
...document.querySelectorAll(".app:not(.inactivated)"),
|
||||||
|
...document.getElementsByClassName("app-menu-item")
|
||||||
|
];
|
||||||
|
if (elements.length) {
|
||||||
|
for (const element of elements) {
|
||||||
|
const data_link = element.attributes["data-link"] && element.attributes["data-link"].value;
|
||||||
|
const data_role = element.attributes["data-role"] && element.attributes["data-role"].value;
|
||||||
|
const parent_app = element.closest(".app");
|
||||||
|
if (data_link) {
|
||||||
|
element.addEventListener("click", (e) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
if (element.classList.contains("inactivated")) return;
|
||||||
|
// try {
|
||||||
|
// navigator.serviceWorker.controller.postMessage({
|
||||||
|
// type: "download",
|
||||||
|
// content: parent_app.attributes["data-link"].value
|
||||||
|
// });
|
||||||
|
// } catch (e) {}
|
||||||
|
window.location.href = data_link;
|
||||||
|
});
|
||||||
|
} else if (data_role == "help") {
|
||||||
|
element.addEventListener("click", (e) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
if (!element.classList.contains("active")) {
|
||||||
|
document.querySelectorAll(".app-help").forEach(element => {
|
||||||
|
element.classList.remove("active");
|
||||||
|
});
|
||||||
|
element.classList.add("active");
|
||||||
|
parent_app.querySelector(".app-help").style.display = "block";
|
||||||
|
} else {
|
||||||
|
element.classList.remove("active");
|
||||||
|
parent_app.querySelector(".app-help").style.display = "none";
|
||||||
|
}
|
||||||
|
});
|
||||||
|
} else if (data_role == "pin") {
|
||||||
|
const item_id = parent_app.attributes["data-app-name"] && parent_app.attributes["data-app-name"].value;
|
||||||
|
if (item_id) {
|
||||||
|
element.addEventListener("click", (e) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
let list = localStorage.getItem("pinned") ? localStorage.getItem("pinned").split(",") : [];
|
||||||
|
if (!element.classList.contains("active")) {
|
||||||
|
element.classList.add("active");
|
||||||
|
parent_app.style.order = -1;
|
||||||
|
list.push(item_id);
|
||||||
|
localStorage.setItem("pinned", list.join(","));
|
||||||
|
try {
|
||||||
|
const app_name = parent_app.attributes["data-app-name"].value;
|
||||||
|
navigator.serviceWorker.controller.postMessage({
|
||||||
|
type: "download",
|
||||||
|
content: app_name
|
||||||
|
});
|
||||||
|
} catch (e) {}
|
||||||
|
} else {
|
||||||
|
element.classList.remove("active");
|
||||||
|
parent_app.style.order = 0;
|
||||||
|
list = list.filter(x => x != item_id);
|
||||||
|
if (list.length) localStorage.setItem("pinned", list.join(","));
|
||||||
|
else localStorage.removeItem("pinned");
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const pinned_list = localStorage.getItem("pinned") ? localStorage.getItem("pinned").split(",") : [];
|
||||||
|
if (pinned_list) {
|
||||||
|
for (const element of document.querySelectorAll(".app:not(.inactivated)") || []) {
|
||||||
|
if (pinned_list.includes(element.attributes["data-app-name"].value)) {
|
||||||
|
element.style.order = -1;
|
||||||
|
}
|
||||||
|
element.addEventListener("touchstart", (e) => {
|
||||||
|
if (!(e.target.classList && e.target.classList[0].startsWith("app-menu-item")))
|
||||||
|
element.classList.add("selected");
|
||||||
|
});
|
||||||
|
element.addEventListener("touchmove", () => {
|
||||||
|
element.classList.remove("selected");
|
||||||
|
});
|
||||||
|
element.addEventListener("touchend", () => {
|
||||||
|
element.classList.remove("selected");
|
||||||
|
});
|
||||||
|
element.addEventListener("touchcancel", () => {
|
||||||
|
element.classList.remove("selected");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
for (const element of document.querySelectorAll(".app-menu-item[data-role=link]") || []) {
|
||||||
|
element.addEventListener("touchstart", () => {
|
||||||
|
element.classList.add("active");
|
||||||
|
});
|
||||||
|
element.addEventListener("touchmove", () => {
|
||||||
|
element.classList.remove("active");
|
||||||
|
});
|
||||||
|
element.addEventListener("touchend", () => {
|
||||||
|
element.classList.remove("active");
|
||||||
|
});
|
||||||
|
element.addEventListener("touchcancel", () => {
|
||||||
|
element.classList.remove("active");
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
for (const element of document.querySelectorAll(".app-help") || []) {
|
||||||
|
element.addEventListener("click", (e) => {
|
||||||
|
e.stopPropagation();
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
window.updateServiceWorker = () => {};
|
||||||
|
|
||||||
|
if ('serviceWorker' in navigator) {
|
||||||
|
navigator.serviceWorker.register('./service-worker.js', {
|
||||||
|
scope: "./"
|
||||||
|
}).then((e) => {
|
||||||
|
window.updateServiceWorker = (t) => {
|
||||||
|
t && (t.innerText = "正在检查更新...");
|
||||||
|
e.addEventListener('updatefound', () => {
|
||||||
|
window.location.reload();
|
||||||
|
});
|
||||||
|
e.update().then((reg) => {
|
||||||
|
if (!reg.installing) t && (t.innerText = "未发现更新");
|
||||||
|
else t && (t.innerText = "正在应用更新...");
|
||||||
|
}).catch(() => {
|
||||||
|
t && (t.innerText = "检查更新失败");
|
||||||
|
});
|
||||||
|
};
|
||||||
|
let c = window.setInterval(() => {
|
||||||
|
if (navigator.serviceWorker.controller) {
|
||||||
|
window.clearInterval(c);
|
||||||
|
// document.querySelector(".sw-progress").style.display = "block";
|
||||||
|
// document.querySelector(".sw-progress-bar").style.display = "block";
|
||||||
|
navigator.serviceWorker.controller.postMessage({
|
||||||
|
type: "download",
|
||||||
|
content:
|
||||||
|
["root", "common", "trip-card"]
|
||||||
|
.concat(localStorage.getItem("pinned") ? localStorage.getItem("pinned").split(",") : [])
|
||||||
|
.filter((v,i,a)=>a.indexOf(v)==i)
|
||||||
|
});
|
||||||
|
window.setInterval(() => {
|
||||||
|
navigator.serviceWorker.controller.postMessage({
|
||||||
|
type: "check",
|
||||||
|
});
|
||||||
|
}, 4000);
|
||||||
|
}
|
||||||
|
}, 300);
|
||||||
|
}).catch((e) => {
|
||||||
|
// document.querySelector(".sw-status").innerText = "页面预加载失败";
|
||||||
|
});
|
||||||
|
const setCached = (item) => {
|
||||||
|
if (!item) return;
|
||||||
|
const app = document.querySelector(`.app[data-app-name=${item}]`);
|
||||||
|
app && (app.querySelector(".app-title-icon").attributes.src.value = "common/icons/download_done.svg");
|
||||||
|
};
|
||||||
|
navigator.serviceWorker.addEventListener("message", (e) => {
|
||||||
|
if (!e.data) return;
|
||||||
|
if (e.data.type == "progress") {
|
||||||
|
// const percentage = parseInt(e.data.content * 100) + "%";
|
||||||
|
// document.querySelector(".sw-progress").innerText = percentage;
|
||||||
|
// document.querySelector(".sw-progress").style.opacity = 0.4 + 0.6 * e.data.content;
|
||||||
|
// document.querySelector(".sw-progress-bar-fill").style.width = percentage;
|
||||||
|
} else if (e.data.type == "complete") {
|
||||||
|
document.getElementById("sw-help-text").style.display = "flex";
|
||||||
|
// document.querySelector(".sw-progress-bar-fill").style.width = "100%";
|
||||||
|
// document.querySelector(".sw-status").innerHTML = "";
|
||||||
|
// window.setTimeout(() => {
|
||||||
|
// document.querySelector(".sw-status").style.display = "none";
|
||||||
|
// }, 2000);
|
||||||
|
const cached_apps = e.data.content.cached;
|
||||||
|
if (typeof(cached_apps) == "string") {
|
||||||
|
setCached(cached_apps);
|
||||||
|
} else {
|
||||||
|
for (const item of cached_apps) {
|
||||||
|
setCached(item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (e.data.content.version) {
|
||||||
|
document.getElementById("last-update-version").innerText = `(${e.data.content.version})`;
|
||||||
|
}
|
||||||
|
} else if (e.data.type == "reload") {
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
document.getElementById("clear-local-data").addEventListener("click", () => {
|
||||||
|
if (navigator.serviceWorker && navigator.serviceWorker.controller)
|
||||||
|
window.confirm('要清除全部填充信息与页面缓存吗?') && clearCache();
|
||||||
|
else
|
||||||
|
window.confirm('要清除全部填充信息吗?') && clearCache();
|
||||||
|
})
|
||||||
|
|
||||||
|
if (!(navigator.standalone || window.matchMedia("(display-mode: standalone)").matches)) {
|
||||||
|
document.querySelector(".sw-status").innerHTML = `
|
||||||
|
<div class="icon-align" onclick="toggleDisplay('#pwa-install-help');">
|
||||||
|
<img class="icon" src="common/icons/add_box.svg">
|
||||||
|
<span>添加至主屏幕</span>
|
||||||
|
</div>`;
|
||||||
|
} else {
|
||||||
|
document.querySelector(".sw-status").innerHTML = `
|
||||||
|
<div class="icon-align" onclick="toggleDisplay('#pwa-usage-help');">
|
||||||
|
<img class="icon" src="common/icons/help.svg">
|
||||||
|
<span>帮助</span>
|
||||||
|
</div>`;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function toggleDisplay(selector, flex = false) {
|
||||||
|
const element = document.querySelector(selector);
|
||||||
|
if (!element) return false;
|
||||||
|
if (!element.style.display || element.style.display == "none") {
|
||||||
|
element.style.display = flex ? "flex" : "block";
|
||||||
|
} else {
|
||||||
|
element.style.display = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function clearCache() {
|
||||||
|
localStorage.clear();
|
||||||
|
if (navigator.serviceWorker && navigator.serviceWorker.controller) {
|
||||||
|
document.querySelector(".apps-list").innerHTML = `
|
||||||
|
<p style="text-align: center">请稍候...</p>
|
||||||
|
`;
|
||||||
|
navigator.serviceWorker.controller.postMessage({
|
||||||
|
type: "clear",
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
window.location.reload();
|
||||||
|
}
|
||||||
|
}
|
131
src/common/base.js
Normal file
@ -0,0 +1,131 @@
|
|||||||
|
const root_path = "";
|
||||||
|
const time_update_list = [];
|
||||||
|
let time_updater_init = false;
|
||||||
|
|
||||||
|
function updateTime() {
|
||||||
|
const d = new Date(new Date().getTime() + 8 * 3600 * 1000).toISOString().replace("T", " ");
|
||||||
|
for (const item of time_update_list) {
|
||||||
|
for (const element of document.querySelectorAll(item.selector)) {
|
||||||
|
element.innerHTML = item.filter(d.slice(item.start, item.end));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
let time_interval = 1000;
|
||||||
|
|
||||||
|
function setDynamicTime(selector, start = 0, end = 19, filter = (x) => x) {
|
||||||
|
time_update_list.push({
|
||||||
|
selector: selector,
|
||||||
|
start: start,
|
||||||
|
end: end,
|
||||||
|
filter: filter,
|
||||||
|
});
|
||||||
|
updateTime();
|
||||||
|
if (!time_updater_init) {
|
||||||
|
time_updater_init = true;
|
||||||
|
window.setInterval(() => {
|
||||||
|
updateTime();
|
||||||
|
}, time_interval);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function setUpdateInterval(interval = 1000) {
|
||||||
|
time_interval = interval;
|
||||||
|
}
|
||||||
|
|
||||||
|
// 2022-01-01 00:00:00.000Z
|
||||||
|
// 012345678901234567890123
|
||||||
|
function setStaticTime(selector, start = 0, end = 19, traceback_hours = 0, traceback_range = 0, filter = (x) => x) {
|
||||||
|
for (const element of document.querySelectorAll(selector)) {
|
||||||
|
if (element.attributes["data-traceback-hours"])
|
||||||
|
traceback_hours = parseInt(element.attributes["data-traceback-hours"].value);
|
||||||
|
if (element.attributes["data-traceback-range"])
|
||||||
|
traceback_range = parseInt(element.attributes["data-traceback-range"].value);
|
||||||
|
const hours = traceback_hours + (Math.random() - 0.5) * traceback_range;
|
||||||
|
const d = new Date(new Date().getTime() + 8 * 3600 * 1000 - hours * 3600 * 1000).toISOString().replace("T", " ");
|
||||||
|
element.innerHTML = filter(d.slice(start, end));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
const presetFilters = {
|
||||||
|
name: (x) => x.length == 2 ? x[0] + "*" : x[0] + "*".repeat(x.length - 2) + x.slice(-1),
|
||||||
|
name_preferlastname: (x) => x.length == 2 ? x[0] + "*" : x[0] + "*".repeat(x.length - 2) + x.slice(-1),
|
||||||
|
name_preferfirstname: (x) => x.length == 2 ? "*" + x[1] : x[0] + "*".repeat(x.length - 2) + x.slice(-1),
|
||||||
|
lastnameonly: (x) => x[0] + "*".repeat(x.length - 1),
|
||||||
|
firstnameonly: (x) => "*" + x.slice(1),
|
||||||
|
lastcharonly: (x) => "*".repeat(x.length - 1) + x.slice(-1),
|
||||||
|
idcard: (start = 2, end = 2, mask = 18 - start - end) => (x) => x.slice(0, start) + "*".repeat(mask) + x.slice(-end),
|
||||||
|
phone: (start = 3, end = 4, mask = 11 - start - end) => (x) => x.slice(0, start) + "*".repeat(mask) + x.slice(-end),
|
||||||
|
};
|
||||||
|
|
||||||
|
const fields = {};
|
||||||
|
|
||||||
|
function addStorageField(id, selector, name, placeholder, filter = (x) => x, callback = () => {}) {
|
||||||
|
const elements = document.querySelectorAll(selector);
|
||||||
|
const item = {
|
||||||
|
selector: selector,
|
||||||
|
placeholder: placeholder,
|
||||||
|
filter: filter,
|
||||||
|
};
|
||||||
|
if (id in fields) {
|
||||||
|
fields[id].push(item);
|
||||||
|
} else {
|
||||||
|
fields[id] = [item];
|
||||||
|
}
|
||||||
|
const init_value = localStorage.getItem(id) || placeholder;
|
||||||
|
for (const element of elements) {
|
||||||
|
element.innerHTML = filter(init_value);
|
||||||
|
element.addEventListener("click", () => {
|
||||||
|
let res = window.prompt("修改" + name + ":", localStorage.getItem(id) || placeholder);
|
||||||
|
if (res == "" || res == null) {
|
||||||
|
localStorage.removeItem(id);
|
||||||
|
} else {
|
||||||
|
localStorage.setItem(id, res);
|
||||||
|
}
|
||||||
|
callback(res || placeholder);
|
||||||
|
for (const _item of fields[id]) {
|
||||||
|
const _elements = document.querySelectorAll(_item.selector);
|
||||||
|
for (const _element of _elements) {
|
||||||
|
_element.innerHTML = _item.filter(res || _item.placeholder);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
callback(init_value);
|
||||||
|
}
|
||||||
|
|
||||||
|
function initServiceWorker(app) {
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
if ('serviceWorker' in navigator) {
|
||||||
|
navigator.serviceWorker.register(root_path + '/service-worker.js', {
|
||||||
|
scope: root_path + "/"
|
||||||
|
}).then((e) => {
|
||||||
|
if (app) {
|
||||||
|
if (typeof(app) == "string") app = [app];
|
||||||
|
let sw_timer = window.setInterval(() => {
|
||||||
|
if (navigator.serviceWorker.controller) {
|
||||||
|
window.clearInterval(sw_timer);
|
||||||
|
navigator.serviceWorker.controller.postMessage({
|
||||||
|
type: "download",
|
||||||
|
content: ["root", "common", "trip-card"].concat(app)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}, 300);
|
||||||
|
}
|
||||||
|
resolve();
|
||||||
|
}).catch((e) => {
|
||||||
|
reject();
|
||||||
|
})
|
||||||
|
} else {
|
||||||
|
reject();
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function navigateHome() {
|
||||||
|
window.location.href = root_path + "/index.html";
|
||||||
|
}
|
||||||
|
|
||||||
|
function navigateToTripCard() {
|
||||||
|
window.location.href = root_path + "/trip-card/index.html";
|
||||||
|
}
|
164
src/common/codeberg-logo.svg
Normal file
@ -0,0 +1,164 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="16"
|
||||||
|
height="16"
|
||||||
|
viewBox="0 0 4.2333332 4.2333335"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1468"
|
||||||
|
sodipodi:docname="codeberg-logo_icon_blue.svg"
|
||||||
|
inkscape:version="1.2-alpha1 (b6a15bb, 2022-02-23)"
|
||||||
|
inkscape:export-filename="/home/mray/Projects/Codeberg/logo/icon/png/codeberg-logo_icon_blue.png"
|
||||||
|
inkscape:export-xdpi="384"
|
||||||
|
inkscape:export-ydpi="384"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
|
||||||
|
xmlns:cc="http://creativecommons.org/ns#"
|
||||||
|
xmlns:dc="http://purl.org/dc/elements/1.1/">
|
||||||
|
<title
|
||||||
|
id="title16">Codeberg logo</title>
|
||||||
|
<defs
|
||||||
|
id="defs1462">
|
||||||
|
<linearGradient
|
||||||
|
xlink:href="#linearGradient6924"
|
||||||
|
id="linearGradient6918"
|
||||||
|
x1="42519.285"
|
||||||
|
y1="-7078.7891"
|
||||||
|
x2="42575.336"
|
||||||
|
y2="-6966.9307"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient6924">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#2185d0;stop-opacity:0"
|
||||||
|
offset="0"
|
||||||
|
id="stop6920" />
|
||||||
|
<stop
|
||||||
|
id="stop6926"
|
||||||
|
offset="0.49517274"
|
||||||
|
style="stop-color:#2185d0;stop-opacity:0.48923996" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#2185d0;stop-opacity:0.63279623"
|
||||||
|
offset="1"
|
||||||
|
id="stop6922" />
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient
|
||||||
|
xlink:href="#linearGradient6924-6"
|
||||||
|
id="linearGradient6918-3"
|
||||||
|
x1="42519.285"
|
||||||
|
y1="-7078.7891"
|
||||||
|
x2="42575.336"
|
||||||
|
y2="-6966.9307"
|
||||||
|
gradientUnits="userSpaceOnUse" />
|
||||||
|
<linearGradient
|
||||||
|
id="linearGradient6924-6">
|
||||||
|
<stop
|
||||||
|
style="stop-color:#2185d0;stop-opacity:0;"
|
||||||
|
offset="0"
|
||||||
|
id="stop6920-7" />
|
||||||
|
<stop
|
||||||
|
id="stop6926-5"
|
||||||
|
offset="0.49517274"
|
||||||
|
style="stop-color:#2185d0;stop-opacity:0.30000001;" />
|
||||||
|
<stop
|
||||||
|
style="stop-color:#2185d0;stop-opacity:0.30000001;"
|
||||||
|
offset="1"
|
||||||
|
id="stop6922-3" />
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<sodipodi:namedview
|
||||||
|
showborder="false"
|
||||||
|
id="base"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:zoom="22.627417"
|
||||||
|
inkscape:cx="12.948893"
|
||||||
|
inkscape:cy="12.661631"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
inkscape:current-layer="svg1468"
|
||||||
|
inkscape:document-rotation="0"
|
||||||
|
showgrid="false"
|
||||||
|
fit-margin-top="0"
|
||||||
|
fit-margin-left="0"
|
||||||
|
fit-margin-right="0"
|
||||||
|
fit-margin-bottom="0"
|
||||||
|
units="px"
|
||||||
|
inkscape:snap-global="false"
|
||||||
|
inkscape:snap-page="true"
|
||||||
|
showguides="false"
|
||||||
|
inkscape:window-width="1531"
|
||||||
|
inkscape:window-height="873"
|
||||||
|
inkscape:window-x="69"
|
||||||
|
inkscape:window-y="27"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1">
|
||||||
|
<inkscape:grid
|
||||||
|
type="xygrid"
|
||||||
|
id="grid2067" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<metadata
|
||||||
|
id="metadata1465">
|
||||||
|
<rdf:RDF>
|
||||||
|
<cc:Work
|
||||||
|
rdf:about="">
|
||||||
|
<dc:format>image/svg+xml</dc:format>
|
||||||
|
<dc:type
|
||||||
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
|
<dc:title>Codeberg logo</dc:title>
|
||||||
|
<cc:license
|
||||||
|
rdf:resource="http://creativecommons.org/publicdomain/zero/1.0/" />
|
||||||
|
<dc:creator>
|
||||||
|
<cc:Agent>
|
||||||
|
<dc:title>Robert Martinez</dc:title>
|
||||||
|
</cc:Agent>
|
||||||
|
</dc:creator>
|
||||||
|
<dc:rights>
|
||||||
|
<cc:Agent>
|
||||||
|
<dc:title>Codeberg and the Codeberg Logo are trademarks of Codeberg e.V.</dc:title>
|
||||||
|
</cc:Agent>
|
||||||
|
</dc:rights>
|
||||||
|
<dc:date>2020-04-09</dc:date>
|
||||||
|
<dc:publisher>
|
||||||
|
<cc:Agent>
|
||||||
|
<dc:title>Codeberg e.V.</dc:title>
|
||||||
|
</cc:Agent>
|
||||||
|
</dc:publisher>
|
||||||
|
<dc:source>codeberg.org</dc:source>
|
||||||
|
</cc:Work>
|
||||||
|
<cc:License
|
||||||
|
rdf:about="http://creativecommons.org/publicdomain/zero/1.0/">
|
||||||
|
<cc:permits
|
||||||
|
rdf:resource="http://creativecommons.org/ns#Reproduction" />
|
||||||
|
<cc:permits
|
||||||
|
rdf:resource="http://creativecommons.org/ns#Distribution" />
|
||||||
|
<cc:permits
|
||||||
|
rdf:resource="http://creativecommons.org/ns#DerivativeWorks" />
|
||||||
|
</cc:License>
|
||||||
|
</rdf:RDF>
|
||||||
|
</metadata>
|
||||||
|
<g
|
||||||
|
id="g370484"
|
||||||
|
inkscape:label="logo"
|
||||||
|
transform="matrix(0.06551432,0,0,0.06551432,-2.232417,-1.431776)">
|
||||||
|
<path
|
||||||
|
id="path6733-5"
|
||||||
|
style="font-variation-settings:normal;opacity:1;vector-effect:none;fill:url(#linearGradient6918-3);fill-opacity:1;stroke:none;stroke-width:3.67846;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:2;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke markers fill;stop-color:#000000;stop-opacity:1"
|
||||||
|
d="m 42519.285,-7078.7891 a 0.76086879,0.56791688 0 0 0 -0.738,0.6739 l 33.586,125.8886 a 87.182358,87.182358 0 0 0 39.381,-33.7636 l -71.565,-92.5196 a 0.76086879,0.56791688 0 0 0 -0.664,-0.2793 z"
|
||||||
|
transform="matrix(0.37058478,0,0,0.37058478,-15690.065,2662.0533)"
|
||||||
|
inkscape:label="berg" />
|
||||||
|
<path
|
||||||
|
id="path360787"
|
||||||
|
style="opacity:1;fill:#2185d0;fill-opacity:1;stroke-width:17.0055;paint-order:markers fill stroke;stop-color:#000000"
|
||||||
|
d="m 11249.461,-1883.6961 c -12.74,0 -23.067,10.3275 -23.067,23.0671 0,4.3335 1.22,8.5795 3.522,12.2514 l 19.232,-24.8636 c 0.138,-0.1796 0.486,-0.1796 0.624,0 l 19.233,24.8646 c 2.302,-3.6721 3.523,-7.9185 3.523,-12.2524 0,-12.7396 -10.327,-23.0671 -23.067,-23.0671 z"
|
||||||
|
sodipodi:nodetypes="sccccccs"
|
||||||
|
inkscape:label="sky"
|
||||||
|
transform="matrix(1.4006354,0,0,1.4006354,-15690.065,2662.0533)" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 5.8 KiB |
20
src/common/g-icon.css
Normal file
BIN
src/common/github-logo.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
1
src/common/icons/add_box.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-3 10h-3v3c0 .55-.45 1-1 1s-1-.45-1-1v-3H8c-.55 0-1-.45-1-1s.45-1 1-1h3V8c0-.55.45-1 1-1s1 .45 1 1v3h3c.55 0 1 .45 1 1s-.45 1-1 1z"/></svg>
|
After Width: | Height: | Size: 368 B |
1
src/common/icons/arrow_forward.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8z"/></svg>
|
After Width: | Height: | Size: 220 B |
1
src/common/icons/download_done.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M5 18h14v2H5v-2zm4.6-2.7L5 10.7l2-1.9 2.6 2.6L17 4l2 2-9.4 9.3z"/></svg>
|
After Width: | Height: | Size: 222 B |
1
src/common/icons/help.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92c-.5.51-.86.97-1.04 1.69-.08.32-.13.68-.13 1.14h-2v-.5c0-.46.08-.9.22-1.31.2-.58.53-1.1.95-1.52l1.24-1.26c.46-.44.68-1.1.55-1.8-.13-.72-.69-1.33-1.39-1.53-1.11-.31-2.14.32-2.47 1.27-.12.37-.43.65-.82.65h-.3C8.4 9 8 8.44 8.16 7.88c.43-1.47 1.68-2.59 3.23-2.83 1.52-.24 2.97.55 3.87 1.8 1.18 1.63.83 3.38-.19 4.4z"/></svg>
|
After Width: | Height: | Size: 569 B |
1
src/common/icons/info.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8z"/></svg>
|
After Width: | Height: | Size: 307 B |
1
src/common/icons/map.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="48" width="48"><path d="m30.6 42-13.15-4.65L8.5 40.9q-.85.45-1.675-.05Q6 40.35 6 39.35v-27.9q0-.65.375-1.15.375-.5.975-.75L17.45 6l13.15 4.6 8.9-3.55q.85-.4 1.675.075Q42 7.6 42 8.6v28.25q0 .55-.375.95-.375.4-.925.6Zm-1.7-3.75V13l-9.8-3.3v25.25Zm3 0L39 35.9V10.3L31.9 13ZM9 37.65l7.1-2.7V9.7L9 12.05ZM31.9 13v25.25ZM16.1 9.7v25.25Z"/></svg>
|
After Width: | Height: | Size: 387 B |
1
src/common/icons/place.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 12c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2zm6-1.8C18 6.57 15.35 4 12 4s-6 2.57-6 6.2c0 2.34 1.95 5.44 6 9.14 4.05-3.7 6-6.8 6-9.14zM12 2c4.2 0 8 3.22 8 8.2 0 3.32-2.67 7.25-8 11.8-5.33-4.55-8-8.48-8-11.8C4 5.22 7.8 2 12 2z"/></svg>
|
After Width: | Height: | Size: 386 B |
1
src/common/icons/push_pin.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><g><rect fill="none" height="24" width="24"/></g><g><path d="M14,4v5c0,1.12,0.37,2.16,1,3H9c0.65-0.86,1-1.9,1-3V4H14 M17,2H7C6.45,2,6,2.45,6,3c0,0.55,0.45,1,1,1c0,0,0,0,0,0l1,0v5 c0,1.66-1.34,3-3,3v2h5.97v7l1,1l1-1v-7H19v-2c0,0,0,0,0,0c-1.66,0-3-1.34-3-3V4l1,0c0,0,0,0,0,0c0.55,0,1-0.45,1-1 C18,2.45,17.55,2,17,2L17,2z"/></g></svg>
|
After Width: | Height: | Size: 467 B |
1
src/common/icons/qr_code.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><g><rect fill="none" height="24" width="24"/></g><g><g><path d="M3,11h8V3H3V11z M5,5h4v4H5V5z"/><path d="M3,21h8v-8H3V21z M5,15h4v4H5V15z"/><path d="M13,3v8h8V3H13z M19,9h-4V5h4V9z"/><rect height="2" width="2" x="19" y="19"/><rect height="2" width="2" x="13" y="13"/><rect height="2" width="2" x="15" y="15"/><rect height="2" width="2" x="13" y="17"/><rect height="2" width="2" x="15" y="19"/><rect height="2" width="2" x="17" y="17"/><rect height="2" width="2" x="17" y="13"/><rect height="2" width="2" x="19" y="15"/></g></g></svg>
|
After Width: | Height: | Size: 669 B |
1
src/common/icons/qr_code_scanner.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><rect fill="none" height="24" width="24"/><path d="M9.5,6.5v3h-3v-3H9.5 M11,5H5v6h6V5L11,5z M9.5,14.5v3h-3v-3H9.5 M11,13H5v6h6V13L11,13z M17.5,6.5v3h-3v-3H17.5 M19,5h-6v6 h6V5L19,5z M13,13h1.5v1.5H13V13z M14.5,14.5H16V16h-1.5V14.5z M16,13h1.5v1.5H16V13z M13,16h1.5v1.5H13V16z M14.5,17.5H16V19h-1.5 V17.5z M16,16h1.5v1.5H16V16z M17.5,14.5H19V16h-1.5V14.5z M17.5,17.5H19V19h-1.5V17.5z M22,7h-2V4h-3V2h5V7z M22,22v-5h-2v3h-3v2 H22z M2,22h5v-2H4v-3H2V22z M2,2v5h2V4h3V2H2z"/></svg>
|
After Width: | Height: | Size: 613 B |
1
src/common/icons/vaccines.svg
Normal file
@ -0,0 +1 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" enable-background="new 0 0 24 24" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><rect fill="none" height="24" width="24"/><path d="M11,5.5H8V4h0.5c0.55,0,1-0.45,1-1c0-0.55-0.45-1-1-1h-3c-0.55,0-1,0.45-1,1c0,0.55,0.45,1,1,1H6v1.5H3c-0.55,0-1,0.45-1,1 c0,0.55,0.45,1,1,1V15c0,1.1,0.9,2,2,2h1v4l2,1.5V17h1c1.1,0,2-0.9,2-2V7.5c0.55,0,1-0.45,1-1C12,5.95,11.55,5.5,11,5.5z M9,9H7.25 C6.84,9,6.5,9.34,6.5,9.75c0,0.41,0.34,0.75,0.75,0.75H9V12H7.25c-0.41,0-0.75,0.34-0.75,0.75c0,0.41,0.34,0.75,0.75,0.75H9L9,15H5 V7.5h4V9z M19.5,10.5V10c0.55,0,1-0.45,1-1c0-0.55-0.45-1-1-1h-5c-0.55,0-1,0.45-1,1c0,0.55,0.45,1,1,1v0.5c0,0.5-1.5,1.16-1.5,3V20 c0,1.1,0.9,2,2,2h4c1.1,0,2-0.9,2-2v-6.5C21,11.66,19.5,11,19.5,10.5z M16.5,10.5V10h1v0.5c0,1.6,1.5,2,1.5,3V14h-4 c0-0.21,0-0.39,0-0.5C15,12.5,16.5,12.1,16.5,10.5z M19,15.5V17h-4c0-0.51,0-1.02,0-1.5H19z M15,20c0,0,0-0.63,0-1.5h4V20H15z"/></svg>
|
After Width: | Height: | Size: 930 B |
BIN
src/common/logo.jpg
Normal file
After Width: | Height: | Size: 68 KiB |
219
src/common/nav.css
Normal file
@ -0,0 +1,219 @@
|
|||||||
|
.capsule {
|
||||||
|
z-index: 9000;
|
||||||
|
box-sizing: border-box;
|
||||||
|
width: 87px;
|
||||||
|
height: 32px;
|
||||||
|
position: fixed;
|
||||||
|
right: 7px;
|
||||||
|
right: calc(7px + env(safe-area-inset-right, 0));
|
||||||
|
top: 6px;
|
||||||
|
top: calc(6px + env(safe-area-inset-top, 0));
|
||||||
|
border: 0.5pt solid rgba(224, 224, 224, .67);
|
||||||
|
border-radius: 27px;
|
||||||
|
background-color: rgba(255, 255, 255, .6);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-evenly;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.capsule.dark, .dark .capsule {
|
||||||
|
border: 0.5pt solid rgba(32, 32, 32, .33);
|
||||||
|
background-color: rgba(0, 0, 0, .2);
|
||||||
|
}
|
||||||
|
|
||||||
|
.capsule > .capsule-menu-icon {
|
||||||
|
fill: black;
|
||||||
|
position: relative;
|
||||||
|
left: 1pt;
|
||||||
|
width: 16pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.capsule.dark > .capsule-menu-icon, .dark .capsule > .capsule-menu-icon {
|
||||||
|
fill: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.capsule > .capsule-exit-icon {
|
||||||
|
fill: black;
|
||||||
|
stroke: black;
|
||||||
|
width: 15pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.capsule.dark > .capsule-exit-icon, .dark .capsule > .capsule-exit-icon {
|
||||||
|
fill: white;
|
||||||
|
stroke: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.capsule > .splitter {
|
||||||
|
background-color: rgba(0, 0, 0, .2);
|
||||||
|
width: 0.25pt;
|
||||||
|
height: 14pt;
|
||||||
|
}
|
||||||
|
|
||||||
|
.capsule.dark > .splitter, .dark .capsule > .splitter {
|
||||||
|
background-color: rgba(255, 255, 255, .8);
|
||||||
|
}
|
||||||
|
|
||||||
|
.alipay-nav {
|
||||||
|
box-sizing: content-box;
|
||||||
|
position: fixed;
|
||||||
|
width: 100%;
|
||||||
|
height: 44px;
|
||||||
|
top: 0;
|
||||||
|
padding-top: env(safe-area-inset-top, 0);
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
color: black;
|
||||||
|
background-color: white;
|
||||||
|
z-index: 5000;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alipay-nav.dark {
|
||||||
|
color: white;
|
||||||
|
background-color: transparent;
|
||||||
|
}
|
||||||
|
|
||||||
|
.alipay-nav-title {
|
||||||
|
font-size: 19px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-left: 12.5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
:root {
|
||||||
|
--height: 44px;
|
||||||
|
--right: 25.333vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-navigation-bar {
|
||||||
|
overflow: hidden;
|
||||||
|
padding-top: env(safe-area-inset-top, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-navigation-bar *:not(.capsule, .capsule *) {
|
||||||
|
box-sizing: content-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-navigation-bar .android {
|
||||||
|
--height: 48px;
|
||||||
|
--right: 29.6vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-navigation-bar__inner {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
height: var(--height);
|
||||||
|
left: 0;
|
||||||
|
padding-right: var(--right);
|
||||||
|
padding-top: env(safe-area-inset-top, 0);
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
width: calc(100% - var(--right));
|
||||||
|
z-index: 5001;
|
||||||
|
color: black;
|
||||||
|
font-family: "PingFang SC", sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .weui-navigation-bar__inner {
|
||||||
|
color: white;
|
||||||
|
}
|
||||||
|
|
||||||
|
.browser .weui-navigation-bar__inner {
|
||||||
|
background-color: #ededed;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-navigation-bar__inner .weui-navigation-bar__left {
|
||||||
|
-webkit-box-pack: center;
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
padding-left: 16px;
|
||||||
|
position: relative;
|
||||||
|
width: var(--right);
|
||||||
|
}
|
||||||
|
|
||||||
|
.browser .weui-navigation-bar__inner .weui-navigation-bar__left {
|
||||||
|
padding-left: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-navigation-bar__inner .weui-navigation-bar__left .weui-navigation-bar__btn {
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
display: inline-block;
|
||||||
|
vertical-align: middle;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-navigation-bar__inner .weui-navigation-bar__left .weui-navigation-bar__btn_goback {
|
||||||
|
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='24' viewBox='0 0 12 24'%3E %3Cpath fill-opacity='.9' fill-rule='evenodd' d='M10 19.438L8.955 20.5l-7.666-7.79a1.02 1.02 0 0 1 0-1.42L8.955 3.5 10 4.563 2.682 12 10 19.438z'/%3E%3C/svg%3E");
|
||||||
|
background-position: 50% 50%;
|
||||||
|
background-size: cover;
|
||||||
|
font-size: 12px;
|
||||||
|
height: 2em;
|
||||||
|
width: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.browser .weui-navigation-bar__inner .weui-navigation-bar__left .weui-navigation-bar__btn_goback {
|
||||||
|
background-image: url("data:image/svg+xml,<svg width='24' height='24' xmlns='http://www.w3.org/2000/svg'><path d='M12 10.586l5.657-5.657 1.414 1.414L13.414 12l5.657 5.657-1.414 1.414L12 13.414l-5.657 5.657-1.414-1.414L10.586 12 4.929 6.343 6.343 4.93 12 10.586z' fill-rule='evenodd'/></svg>");
|
||||||
|
background-position: 50% 50%;
|
||||||
|
background-size: cover;
|
||||||
|
font-size: 12px;
|
||||||
|
height: 2em;
|
||||||
|
width: 2em;
|
||||||
|
opacity: 0.8;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark .weui-navigation-bar__inner .weui-navigation-bar__left .weui-navigation-bar__btn_goback {
|
||||||
|
background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='24' viewBox='0 0 12 24'%3E %3Cpath fill-opacity='.9' fill-rule='evenodd' fill='white' d='M10 19.438L8.955 20.5l-7.666-7.79a1.02 1.02 0 0 1 0-1.42L8.955 3.5 10 4.563 2.682 12 10 19.438z'/%3E%3C/svg%3E");
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark.browser .weui-navigation-bar__inner .weui-navigation-bar__left .weui-navigation-bar__btn_goback {
|
||||||
|
background-image: url("data:image/svg+xml,<svg width='24' height='24' xmlns='http://www.w3.org/2000/svg'><path d='M12 10.586l5.657-5.657 1.414 1.414L13.414 12l5.657 5.657-1.414 1.414L12 13.414l-5.657 5.657-1.414-1.414L10.586 12 4.929 6.343 6.343 4.93 12 10.586z' fill-rule='evenodd' fill='white'/></svg>");
|
||||||
|
opacity: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-navigation-bar__inner .weui-navigation-bar__left .weui-navigation-bar__btn_goback:active {
|
||||||
|
opacity: .5;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-navigation-bar__inner .weui-navigation-bar__center {
|
||||||
|
-webkit-box-pack: center;
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
flex: 1;
|
||||||
|
font-size: 17px;
|
||||||
|
justify-content: center;
|
||||||
|
position: relative;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: bold;
|
||||||
|
max-width: calc(100vw - 2 * var(--right));
|
||||||
|
}
|
||||||
|
|
||||||
|
.browser .weui-navigation-bar__inner .weui-navigation-bar__center {
|
||||||
|
font-weight: 500;
|
||||||
|
font-size: 16px;
|
||||||
|
opacity: .9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-navigation-bar__inner .weui-navigation-bar__center * {
|
||||||
|
white-space: nowrap;
|
||||||
|
overflow: hidden;
|
||||||
|
text-overflow: ellipsis;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-navigation-bar__inner .weui-navigation-bar__loading {
|
||||||
|
font-size: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-navigation-bar__inner .weui-navigation-bar__loading .weui-loading {
|
||||||
|
margin-left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-navigation-bar__inner .weui-navigation-bar__right {
|
||||||
|
margin-right: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.weui-navigation-bar__placeholder {
|
||||||
|
background: #f8f8f8;
|
||||||
|
height: var(--height);
|
||||||
|
position: relative;
|
||||||
|
z-index: 50;
|
||||||
|
visibility: hidden;
|
||||||
|
}
|
16
src/common/telegram-logo.svg
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<svg width="1000px" height="1000px" viewBox="0 0 1000 1000" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||||
|
<!-- Generator: Sketch 53.2 (72643) - https://sketchapp.com -->
|
||||||
|
<title>Artboard</title>
|
||||||
|
<desc>Created with Sketch.</desc>
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="50%" y1="0%" x2="50%" y2="99.2583404%" id="linearGradient-1">
|
||||||
|
<stop stop-color="#2AABEE" offset="0%"></stop>
|
||||||
|
<stop stop-color="#229ED9" offset="100%"></stop>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<g id="Artboard" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
||||||
|
<circle id="Oval" fill="url(#linearGradient-1)" cx="500" cy="500" r="500"></circle>
|
||||||
|
<path d="M226.328419,494.722069 C372.088573,431.216685 469.284839,389.350049 517.917216,369.122161 C656.772535,311.36743 685.625481,301.334815 704.431427,301.003532 C708.567621,300.93067 717.815839,301.955743 723.806446,306.816707 C728.864797,310.92121 730.256552,316.46581 730.922551,320.357329 C731.588551,324.248848 732.417879,333.113828 731.758626,340.040666 C724.234007,419.102486 691.675104,610.964674 675.110982,699.515267 C668.10208,736.984342 654.301336,749.547532 640.940618,750.777006 C611.904684,753.448938 589.856115,731.588035 561.733393,713.153237 C517.726886,684.306416 492.866009,666.349181 450.150074,638.200013 C400.78442,605.66878 432.786119,587.789048 460.919462,558.568563 C468.282091,550.921423 596.21508,434.556479 598.691227,424.000355 C599.00091,422.680135 599.288312,417.758981 596.36474,415.160431 C593.441168,412.561881 589.126229,413.450484 586.012448,414.157198 C581.598758,415.158943 511.297793,461.625274 375.109553,553.556189 C355.154858,567.258623 337.080515,573.934908 320.886524,573.585046 C303.033948,573.199351 268.692754,563.490928 243.163606,555.192408 C211.851067,545.013936 186.964484,539.632504 189.131547,522.346309 C190.260287,513.342589 202.659244,504.134509 226.328419,494.722069 Z" id="Path-3" fill="#FFFFFF"></path>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.0 KiB |
585
src/fujian-hc/app.css
Normal file
284
src/fujian-hc/checkin.html
Normal file
@ -0,0 +1,284 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<title>张贴码</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width,height=device-height,viewport-fit=cover,initial-scale=1,maximum-scale=1,user-scalable=0">
|
||||||
|
<meta name="theme-color" content="#D0E9FE">
|
||||||
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||||
|
<link rel="manifest" href="manifest.json">
|
||||||
|
<link rel="icon" type="image/png" href="./static/jkm_logo.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="360x360" href="./static/jkm_logo.png">
|
||||||
|
<link rel="stylesheet" href="app.css">
|
||||||
|
<link rel="stylesheet" href="../common/nav.css">
|
||||||
|
<script src="../common/base.js"></script>
|
||||||
|
<style>
|
||||||
|
view {
|
||||||
|
display: block;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
background: #eef0f5;
|
||||||
|
min-height: 100vh;
|
||||||
|
position: relative;
|
||||||
|
font-family: "PingFang SC", sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
text {
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.label-style {
|
||||||
|
color: #919eab;
|
||||||
|
width: 35.467vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-style,
|
||||||
|
.label-style {
|
||||||
|
font-family: PingFangSC-Regular;
|
||||||
|
font-size: 4.267vw;
|
||||||
|
height: 5.867vw;
|
||||||
|
letter-spacing: 0;
|
||||||
|
line-height: 5.867vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-style {
|
||||||
|
color: #000;
|
||||||
|
text-align: right;
|
||||||
|
width: 54.267vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wa-comp-fj-jkm-NucleicAcidTestAndVaccination.nucleic-vaccination-con {
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
margin: 4.8vw 0 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wa-comp-fj-jkm-NucleicAcidTestAndVaccination.nucleic-vaccination-con .nucleic-vaccination-item {
|
||||||
|
border-radius: 5.333vw;
|
||||||
|
box-shadow: 0 0 8.533vw 0 rgba(13, 25, 79, .1);
|
||||||
|
box-sizing: border-box;
|
||||||
|
height: max-content;
|
||||||
|
position: relative;
|
||||||
|
width: calc(50% - 1.2vw);
|
||||||
|
}
|
||||||
|
|
||||||
|
.wa-comp-fj-jkm-NucleicAcidTestAndVaccination.nucleic-vaccination-con .nucleic-vaccination-item .status-icon {
|
||||||
|
border-radius: 5.333vw;
|
||||||
|
height: 100%;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wa-comp-fj-jkm-NucleicAcidTestAndVaccination.nucleic-vaccination-con .nucleic-vaccination-item .nucleic-vaccination-name {
|
||||||
|
color: #27282e;
|
||||||
|
font-family: PingFangSC-Semibold;
|
||||||
|
font-size: 5.867vw;
|
||||||
|
font-weight: 700;
|
||||||
|
height: 8.267vw;
|
||||||
|
letter-spacing: 0;
|
||||||
|
line-height: 8.267vw;
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wa-comp-fj-jkm-NucleicAcidTestAndVaccination.nucleic-vaccination-con .nucleic-vaccination-item .nucleic-vaccination-line {
|
||||||
|
background-image: linear-gradient(-45deg, rgba(39, 40, 46, 0), #27282e);
|
||||||
|
height: 0.267vw;
|
||||||
|
margin: 1.067vw 0 3.2vw;
|
||||||
|
opacity: .2;
|
||||||
|
width: 21.2vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wa-comp-fj-jkm-NucleicAcidTestAndVaccination.nucleic-vaccination-con .nucleic-vaccination-item .nucleic-vaccination-status {
|
||||||
|
color: #999;
|
||||||
|
font-size: 4.267vw;
|
||||||
|
height: 6vw;
|
||||||
|
letter-spacing: 0;
|
||||||
|
line-height: 6vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wa-comp-fj-jkm-NucleicAcidTestAndVaccination.nucleic-vaccination-con .nucleic-vaccination-item .nucleic-vaccination-status-icon {
|
||||||
|
bottom: 0;
|
||||||
|
height: 18.667vw;
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
width: 18.667vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wa-comp-fj-jkm-NucleicAcidTestAndVaccination.nucleic-vaccination-con .nucleic-vaccination-item .nucleic-vaccination-status-icon .status-icon {
|
||||||
|
height: 18.667vw;
|
||||||
|
width: 18.667vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wa-comp-fj-jkm-NucleicAcidTestAndVaccination.nucleic-vaccination-con .nucleic-item.status-48-72-hours {
|
||||||
|
background-color: #f1f5fc;
|
||||||
|
border: 0.133vw solid hsla(0, 0%, 100%, .64);
|
||||||
|
box-shadow: 0 3.2vw 8.533vw 0 rgba(13, 37, 79, .16);
|
||||||
|
}
|
||||||
|
|
||||||
|
.wa-comp-fj-jkm-NucleicAcidTestAndVaccination.nucleic-vaccination-con .nucleic-item.status-negative {
|
||||||
|
background-color: #f6f1ff;
|
||||||
|
border: 0.133vw solid hsla(0, 0%, 100%, .64);
|
||||||
|
box-shadow: 0 3.2vw 8.533vw 0 rgba(54, 18, 125, .16);
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<view align="center" backgroundColor="#EEF0F5" class="type-fj-jkm:Page" hideTitle="false" id="uuid_6e121430" left="0"
|
||||||
|
name="张贴码" showBack="false" showCustom="false" showFooter="false" showHome="true">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_5e746185" slot="content"
|
||||||
|
style="background: linear-gradient(rgb(208, 233, 254) 0%, rgb(238, 240, 245) 520px);">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_3aefb917" style="padding: 5.333vw;">
|
||||||
|
<view class="weui-navigation-bar">
|
||||||
|
<view class="weui-navigation-bar__placeholder"></view>
|
||||||
|
<view class="weui-navigation-bar__inner" style="color: black;">
|
||||||
|
<view class="weui-navigation-bar__left">
|
||||||
|
<div class="weui-navigation-bar__buttons" onclick="history.back();">
|
||||||
|
<div class="weui-navigation-bar__button weui-navigation-bar__btn_goback"></div>
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
<view class="weui-navigation-bar__center" style="font-weight: normal;">
|
||||||
|
<text>张贴码</text>
|
||||||
|
</view>
|
||||||
|
<view class="weui-navigation-bar__right">
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<div class="capsule dark" onclick="navigateHome();">
|
||||||
|
<svg class="capsule-menu-icon" viewBox="0 0 64 28" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle cx="32" cy="14" r="9.5" />
|
||||||
|
<circle cx="54" cy="14" r="6" />
|
||||||
|
<circle cx="10" cy="14" r="6" />
|
||||||
|
</svg>
|
||||||
|
<div class="splitter"></div>
|
||||||
|
<svg class="capsule-exit-icon" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle cx="30" cy="30" r="9" />
|
||||||
|
<circle cx="30" cy="30" r="23" stroke-width="6" fill="transparent" />
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_a4bb1b59"
|
||||||
|
style="padding: 5.333vw; border-radius: 5.333vw; background: rgb(255, 255, 255); box-shadow: 0vw 3.2vw 8.533vw 0vw rgba(0,13,69,0.10); filter: blur(32);">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_d8935842"
|
||||||
|
style="display: flex; justify-content: space-between; align-items: flex-start;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="place"
|
||||||
|
style="color: rgb(39, 40, 46); font-size: 5.867vw; line-height: 8.267vw; font-weight: 500; font-family: PingFangSC-Medium; letter-spacing: 0vw;"></text>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_8a562711"
|
||||||
|
style="height: 8.267vw; padding-left: 2.133vw; display: flex; align-items: center; flex-shrink: 0;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_64ac4334"
|
||||||
|
style="height: 5.333vw; padding-right: 1.6vw; padding-left: 1.6vw; display: flex; justify-content: center; align-items: center; border: 0.267vw solid rgb(136, 234, 188); border-radius: 0.533vw; background: rgb(219, 249, 234); flex-shrink: 0; flex-basis: 20.267vw;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="uuid_facbc198" mode="scaleToFill"
|
||||||
|
src="./static/success.png" style="width: 3.2vw; height: 3.2vw; flex-shrink: 0;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_6dde4d08"
|
||||||
|
style="margin-left: 1.067vw; color: rgb(43, 165, 102); font-size: 3.2vw; line-height: 3.2vw; font-weight: 400; font-family: PingFangSC-Regular; letter-spacing: 0vw; flex-shrink: 0;">登记成功</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_2c375512"
|
||||||
|
style="margin-top: 4.267vw; color: rgb(82, 86, 102); font-size: 4.267vw; line-height: 6vw; font-weight: 400; font-family: PingFangSC-Regular; letter-spacing: -0.3px;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_ea5ff845"
|
||||||
|
style="display: flex; justify-content: flex-start; align-items: center;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="uuid_67454747" mode="aspectFit"
|
||||||
|
src="./static/datetime.png" style="width: 4.267vw; height: 4.267vw; flex-shrink: 0;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="datetime"
|
||||||
|
style="margin-left: 2.667vw;"></text>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_46fecb38"
|
||||||
|
style="margin-top: 2.133vw; display: flex; justify-content: flex-start; align-items: center;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="uuid_fa758538" mode="aspectFit"
|
||||||
|
src="./static/place_address.png" style="width: 4.267vw; flex-shrink: 0;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="place-address"
|
||||||
|
style="margin-left: 2.667vw;"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_c76e5532"
|
||||||
|
style="margin: 5.333vw 0vw 0vw; padding-top: 2.4vw; display: flex; flex-direction: column; border-radius: 5.333vw; background: rgb(255, 255, 255); position: relative; filter: blur(32); overflow: hidden;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_9f5b8851" style="padding: 2.4vw 5.333vw 2.667vw;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="name"
|
||||||
|
style="display: block; color: rgb(39, 40, 46); font-size: 5.867vw; line-height: 8.267vw; font-weight: 500; font-family: PingFangSC-Medium; letter-spacing: 0vw;"></text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="idcard"
|
||||||
|
style="margin-top: 1.067vw; display: block; color: rgb(82, 86, 102); font-size: 4.267vw; line-height: 5.067vw; font-family: Helvetica; letter-spacing: 0vw;"></text>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_f4b50588"
|
||||||
|
style="width: 78.667vw; height: 0.267vw; border-bottom: 0.133vw dashed rgb(147, 154, 160); align-self: center;"></view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_d9777907" style="padding: 6.667vw 5.333vw 6.4vw;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_3bc5ff80" style="display: flex; justify-content: center;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="uuid_af4f3746" mode="scaleToFill"
|
||||||
|
src="./static/icon_00.png" style="width: 26.667vw; height: 26.667vw;"></image>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_f4d0ff05"
|
||||||
|
style="width: 100%; margin-top: 5.333vw; display: inline-block; font-size: 5.867vw; line-height: 8.267vw; text-align: center; font-weight: 600; font-family: PingFangSC-Semibold; letter-spacing: 0.66px; color: #57AC6C;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_dec7e271">绿码</text><text class="type-gsd-h5-react:Text"
|
||||||
|
id="uuid_fbd0fd99">:</text><text class="type-gsd-h5-react:Text" id="uuid_96c08382">健康状态为低风险</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_f4b50588"
|
||||||
|
style="width: 78.667vw; height: 0.267vw; border-bottom: 0.133vw dashed rgb(147, 154, 160); align-self: center;"></view>
|
||||||
|
<view bindtap="onuuid_194f0622$tap" class="wa-comp-fj-jkm-TravelCard type-gsd-h5-react:Container"
|
||||||
|
id="uuid_194f0622"
|
||||||
|
style="width: 100%; height: 22.667vw; padding-right: 4.267vw; padding-left: 5.333vw; display: flex; justify-content: space-between; align-items: center; flex-direction: row; border-bottom-right-radius: 5.333vw; border-bottom-left-radius: 5.333vw; background: rgb(255, 255, 255); position: relative; overflow: hidden;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_beb0e836"
|
||||||
|
style="width: 100%; display: flex; justify-content: space-between; align-items: center; z-index: 1; position: relative;"
|
||||||
|
onclick="navigateToTripCard();">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_259dfd84">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_8ba24d83"
|
||||||
|
style="display: flex; align-items: center; color: rgb(82, 86, 102); font-size: 5.333vw; line-height: 6.4vw; font-weight: bolder;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_b0d7cc24" style="font-size: 20px;">点击查询行程卡</text>
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="uuid_f0850377" mode="scaleToFill"
|
||||||
|
src="./static/icon-arrow-right@2x.png" style="width: 4.267vw; height: 4.267vw; margin-left: 0.533vw;">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_280c0677" style="margin-top: 1.333vw;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_e574bb50"
|
||||||
|
style="color: rgb(82, 86, 102); font-size: 4.267vw; font-weight: 400; font-family: PingFangSC-Regular; letter-spacing: 0vw;">查询本人在疫情期间7天内到访地信息</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="uuid_f5ea9424" mode="scaleToFill"
|
||||||
|
src="./static/travel-card@2x.png"
|
||||||
|
style="width: 21.733vw; height: 19.333vw; position: absolute; right: 0vw; bottom: 0vw;"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view
|
||||||
|
class="wa-comp-fj-jkm-NucleicAcidTestAndVaccination nucleic-vaccination-con type-gsd-h5-react:Container type-WeApps_STD_COMP:Icon"
|
||||||
|
id="uuid_99915118"
|
||||||
|
style="width: 100%; display: flex; justify-content: space-between; align-items: center; flex-direction: row;">
|
||||||
|
<view bindtap="onuuid_5c181a64$tap" class="nucleic-vaccination-item type-gsd-h5-react:Container"
|
||||||
|
id="uuid_5c181a64" style="width: 43.6vw; height: 27.733vw; padding: 0vw; position: relative;">
|
||||||
|
<image alt="[图片]" class="status-icon type-gsd-h5-react:Image" id="uuid_0bbbf666" mode="aspectFit"
|
||||||
|
src="./static/nucleic-24h.png" style="width: 100%; height: 100%; display: block; line-height: 0vw;">
|
||||||
|
</image>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_61e66366"
|
||||||
|
style="width: 100%; height: 100%; padding-right: 2.667vw; padding-left: 5.333vw; position: absolute; left: 0vw; top: 0vw;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_ae58c966"
|
||||||
|
style="height: 50%; display: flex; align-items: center; color: rgb(39, 40, 46); font-size: 5.6vw; font-weight: 600;">阴性</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_b55b1166"
|
||||||
|
style="height: 50%; padding-right: 9.6vw; display: flex; align-items: center; color: rgb(82, 86, 102); font-size: 4.267vw; font-weight: 400;">核酸检测</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view bindtap="onuuid_326c8e85$tap" class="nucleic-vaccination-item type-gsd-h5-react:Container"
|
||||||
|
id="uuid_326c8e85" style="width: 43.6vw; height: 27.733vw; padding: 0vw; position: relative;">
|
||||||
|
<image alt="[图片]" class="status-icon type-gsd-h5-react:Image" id="uuid_2774dd30" mode="aspectFit"
|
||||||
|
src="./static/vaccination-done.png" style="width: 100%; height: 100%; display: block; line-height: 0vw;">
|
||||||
|
</image>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_e739c467"
|
||||||
|
style="width: 100%; height: 100%; padding-right: 2.667vw; padding-left: 5.333vw; position: absolute; left: 0vw; top: 0vw;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_4cf39b59"
|
||||||
|
style="height: 50%; display: flex; align-items: center; color: rgb(39, 40, 46); font-size: 5.6vw; font-weight: 600;">已加强接种</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_0cc0d346"
|
||||||
|
style="height: 50%; padding-right: 9.6vw; display: flex; align-items: center; color: rgb(82, 86, 102); font-size: 4.267vw; font-weight: 400;">疫苗接种</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<script>
|
||||||
|
setStaticTime("#datetime");
|
||||||
|
|
||||||
|
addStorageField("_name", "#name", "名字", "习近平", presetFilters.name_keepfirstname);
|
||||||
|
addStorageField("_idcard", "#idcard", "身份证号", "110101195306153019", presetFilters.idcard());
|
||||||
|
addStorageField("_place", "#place", "场所名称", "四通桥");
|
||||||
|
addStorageField("_place_address", "#place-address", "场所地址", "福建省福州市长安街64号");
|
||||||
|
|
||||||
|
initServiceWorker("fujian-hc");
|
||||||
|
</script>
|
501
src/fujian-hc/index.html
Normal file
@ -0,0 +1,501 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<title>福建健康码</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width,height=device-height,viewport-fit=cover,initial-scale=1,maximum-scale=1,user-scalable=0">
|
||||||
|
<meta name="theme-color" content="#FFFFFF">
|
||||||
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||||
|
<link rel="manifest" href="manifest.json">
|
||||||
|
<link rel="icon" type="image/png" href="./static/jkm_logo.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="360x360" href="./static/jkm_logo.png">
|
||||||
|
<link rel="stylesheet" href="app.css">
|
||||||
|
<link rel="stylesheet" href="../common/nav.css">
|
||||||
|
<script src="../common/base.js"></script>
|
||||||
|
<view class="weui-navigation-bar">
|
||||||
|
<view class="weui-navigation-bar__placeholder"></view>
|
||||||
|
<view class="weui-navigation-bar__inner nav" style="color: black;">
|
||||||
|
<view class="weui-navigation-bar__left">
|
||||||
|
</view>
|
||||||
|
<view class="weui-navigation-bar__center" style="font-weight: normal;">
|
||||||
|
<text>福建健康码</text>
|
||||||
|
</view>
|
||||||
|
<view class="weui-navigation-bar__right">
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<div class="capsule" onclick="navigateHome();">
|
||||||
|
<svg class="capsule-menu-icon" viewBox="0 0 64 28" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle cx="32" cy="14" r="9.5" />
|
||||||
|
<circle cx="54" cy="14" r="6" />
|
||||||
|
<circle cx="10" cy="14" r="6" />
|
||||||
|
</svg>
|
||||||
|
<div class="splitter"></div>
|
||||||
|
<svg class="capsule-exit-icon" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle cx="30" cy="30" r="9" />
|
||||||
|
<circle cx="30" cy="30" r="23" stroke-width="6" fill="transparent" />
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</view>
|
||||||
|
<view backgroundColor="#EEF0F5" class="type-fj-jkm:Page" style="position: absolute; top: 0;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="id221" mode="widthFix" slot="content" src="./static/bg2@2x.png"
|
||||||
|
style="width: 100%; height: 61.333vw; margin-top: 0vw; margin-left: 0vw; position: static; left: 0vw; top: 0vw;">
|
||||||
|
</image>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id69" slot="content" style="position: relative;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id57"
|
||||||
|
style="width: 100%; margin-top: 0vw; padding-right: 5.333vw; padding-bottom: 1.333vw; padding-left: 5.333vw; display: none; z-index: 99; text-align: left; background: rgb(255, 255, 255); position: fixed; top: 0vw; ">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id58"
|
||||||
|
style="color: #1D1F24; font-size: 4.533vw; line-height: 6.933vw; text-align: center; font-family: PingFangSC-Medium; letter-spacing: 0vw;">福建健康码</text>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id68" style="margin-top: -30.667vw;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id6"
|
||||||
|
style="margin: 0vw 4.8vw; display: flex; align-items: center; flex-direction: column; border-radius: 5.333vw; background: rgb(255, 255, 255); position: relative; overflow: hidden; box-shadow: 0vw 0.533vw 6.4vw 0vw rgba(25,24,71,0.12); filter: blur(2);">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id24"
|
||||||
|
style="width: 100%; height: 19.467vw; padding-right: 5.867vw; padding-left: 6.4vw; display: flex; align-items: center; flex-direction: row; border-bottom-right-radius: 4vw; border-bottom-left-radius: 4vw; background: rgb(255, 255, 255); position: relative;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id27"
|
||||||
|
style="display: flex; justify-content: space-between; flex: 1;">
|
||||||
|
<view class="type-gsd-h5-react:Container" style="display: flex; flex-direction: column; flex: auto;"
|
||||||
|
id="masked-info-container">
|
||||||
|
<view class="type-gsd-h5-react:Container" style="display: flex; align-items: center;">
|
||||||
|
<image alt="[图片]" bindtap="onuuid_e0931441$tap" class="type-gsd-h5-react:Image" id="uuid_e0931441"
|
||||||
|
mode="scaleToFill" src="./static/close.png" onclick="toggleInfoMask(false);"
|
||||||
|
style="width: 5.333vw; height: 5.333vw; margin-right: 1.6vw; display: block;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="masked-name"
|
||||||
|
style="color: rgb(29, 31, 36); font-size: 6.4vw; line-height: 8.933vw; font-family: PingFangSC-Medium; letter-spacing: 0vw; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; word-break: break-all;"></text>
|
||||||
|
</view>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="masked-idcard"
|
||||||
|
style="margin-top: 0.667vw; color: rgb(98, 102, 122); font-size: 4.267vw; line-height: 5.067vw; font-weight: 700; font-family: PingFangSC-Regular; letter-spacing: 0vw;"></text>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" style="display: none; flex-direction: column; flex: auto;"
|
||||||
|
id="info-container">
|
||||||
|
<view class="type-gsd-h5-react:Container" style="display: flex; align-items: center;">
|
||||||
|
<image alt="[图片]" bindtap="onuuid_e0931441$tap" class="type-gsd-h5-react:Image" id="uuid_e0931441"
|
||||||
|
mode="scaleToFill" src="./static/open.png" onclick="toggleInfoMask(true);"
|
||||||
|
style="width: 5.333vw; height: 5.333vw; margin-right: 1.6vw; display: block;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="name"
|
||||||
|
style="color: rgb(29, 31, 36); font-size: 6.4vw; line-height: 8.933vw; font-family: PingFangSC-Medium; letter-spacing: 0vw; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; word-break: break-all;"></text>
|
||||||
|
</view>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="idcard"
|
||||||
|
style="margin-top: 0.667vw; color: rgb(98, 102, 122); font-size: 4.267vw; line-height: 5.067vw; font-weight: 700; font-family: PingFangSC-Regular; letter-spacing: 0vw;"></text>
|
||||||
|
</view>
|
||||||
|
<view bindtap="onid30$tap" class="type-gsd-h5-react:Container" id="id30"
|
||||||
|
style="display: flex; justify-content: flex-end; align-items: center; flex: none;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="uuid_1940d160" mode="scaleToFill"
|
||||||
|
src="./static/family-btn@2x.png" style="width: 5.333vw; height: 5.333vw;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id31"
|
||||||
|
style="padding-left: 1.067vw; color: #3858E6; font-size: 4.267vw; line-height: 7.467vw; text-align: right; font-weight: bolder; font-family: PingFangSC-Regular; letter-spacing: 0vw;">亲友亮码</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id35"
|
||||||
|
style="width: 4vw; height: 4vw; display: none; border-style: none; border-radius: 50%; background: #3858E6; position: absolute; left: -2vw; top: 19.067vw;">
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id36"
|
||||||
|
style="width: 4vw; height: 4vw; display: none; border-radius: 50%; background: #3858E6; position: absolute; right: -2vw; top: 19.067vw;">
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view bindchangePhoto="onid25$changePhoto" bindgoFirstReport="onid25$goFirstReport"
|
||||||
|
bindgoReportAfter14days="onid25$goReportAfter14days" bindgoVerify="onid25$goVerify"
|
||||||
|
bindgoVisitedRegion="onid25$goVisitedRegion" bindmanualRefresh="onid25$manualRefresh"
|
||||||
|
bindpreviewOfflineCode="onid25$previewOfflineCode" bindshowReason="onid25$showReason"
|
||||||
|
bindtoUploadPhoto="onid25$toUploadPhoto" class="type-gsd-h5-react:Container" id="id25"
|
||||||
|
style="width: 80vw; height: 0.267vw; display: block; border-bottom: 0.133vw dashed #939AA0;"></view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id38"
|
||||||
|
style="width: 100%; height: auto; border-bottom-right-radius: 5.333vw; border-bottom-left-radius: 5.333vw; overflow: hidden;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id39"
|
||||||
|
style="width: 100%; display: inline-block; position: relative;">
|
||||||
|
<!-- Begin StandardHealthCodeWrapper -->
|
||||||
|
<view class="wa-comp-fj-jkm-StandardHealthCodeWrapper type-gsd-h5-react:Container" id="id2">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id32">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id11" style="padding-top: 5.333vw;">
|
||||||
|
<view class="wa-comp-fj-jkm-StandardHealthBaseCodeWrapper type-gsd-h5-react:Container" id="id4"
|
||||||
|
style="display: block;;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id20" style="text-align: center;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id24">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id52"
|
||||||
|
style="margin-bottom: 5.333vw; display: inline-block; color: rgb(29, 31, 36); font-size: 6.4vw; line-height: 7.733vw; font-weight: bold;"
|
||||||
|
title="日期、时间">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="date" style="padding-right: 3.067vw;"></text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="time" style="padding-left: 3.067vw;"></text>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id29"
|
||||||
|
style="position: relative; height: var(--imgwidth);">
|
||||||
|
<view class="wa-comp-standard-city-code-BaseQrcode type-gsd-h5-react:Container" id="id1"
|
||||||
|
style="width: auto; margin: 0vw; display: inline-block; position: static; height: 26.667vw; z-index: 5; position: relative; transform: translateZ(1px);"
|
||||||
|
title="qrcode">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id13"
|
||||||
|
style="height: var(--imgwidth); width: var(--imgwidth);">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id6"
|
||||||
|
style="width: 100%; height: 100%; position: relative; display: flex; align-items: center; justify-content: center;">
|
||||||
|
<image alt="[图片]" binderror="onid14$error" bindload="onid14$load"
|
||||||
|
class="type-gsd-h5-react:Image" id="id14" mode="scaleToFill"
|
||||||
|
src="data:image/png;base64,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"
|
||||||
|
style="width: 100%; height: 100%;"></image>
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="id5" mode="scaleToFill"
|
||||||
|
src="./static/logo21@2x.png"
|
||||||
|
style="width: 25%; height: 25%; z-index: 2; position: absolute;"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_c0cf3c00"
|
||||||
|
style="display: flex; justify-content: center; align-items: center; flex-direction: row; position: absolute; left: 0vw; right: 0vw; top: -4.267vw; bottom: -4.267vw;"
|
||||||
|
title="跑边">
|
||||||
|
<view class="horse_run_con type-gsd-h5-react:Container" id="uuid_4e457a41"
|
||||||
|
style="display: flex; justify-content: center; align-items: center; flex-direction: row; position: relative; box-sizing: border-box; width: calc(var(--imgwidth) + 16px); height: calc(var(--imgwidth) + 16px);">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_770fc067"
|
||||||
|
style="width: calc(var(--imgwidth) + 16px); height: calc(var(--imgwidth) + 16px); padding: 1.067vw; z-index: 0; border-radius: 1.333vw; background: linear-gradient(115deg, rgba(255, 180, 0, 0.5), rgb(255, 180, 0), rgba(247, 135, 52, 0.8)); position: absolute; left: 0vw; top: 0vw; box-sizing: border-box; overflow: hidden;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_5ed69025"
|
||||||
|
style="z-index: 2; border-radius: 1.067vw; background: rgb(255, 255, 255); position: absolute; left: 1.067vw; right: 1.067vw; top: 1.067vw; bottom: 1.067vw; transform: translateZ(1px);">
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_18d91490"
|
||||||
|
style="width: 200%; height: 100%; z-index: 1; background: linear-gradient(115deg, rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 0.01), rgb(255, 255, 0), rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 0.01), rgba(0, 0, 0, 0.01)); background-size: 50% 100% !important; position: absolute; left: 0vw; top: 0vw; animation: start-pen-frames 0.75s linear infinite;">
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="side-tabs type-gsd-h5-react:Container" id="uuid_e4323b55" title="切换人像按钮"
|
||||||
|
style="transform: translate(calc(var(--imgwidth) / 2 + 14px), -50%)">
|
||||||
|
<view bindtap="onuuid_7cb54472$tap" class="tabs-item type-gsd-h5-react:Container"
|
||||||
|
id="uuid_7cb54472" style="background: url(./static/TAB_UP_OFF.svg);">
|
||||||
|
<image alt="[图片]" class="tabs-icon type-gsd-h5-react:Image" id="uuid_0fe30019"
|
||||||
|
mode="scaleToFill" src="./static/QR_ON.svg">
|
||||||
|
</image>
|
||||||
|
<text class="tabs-label type-gsd-h5-react:Text" id="uuid_dd617492">亮码</text>
|
||||||
|
</view>
|
||||||
|
<view bindtap="onuuid_5fcf6006$tap" class="tabs-item type-gsd-h5-react:Container"
|
||||||
|
id="uuid_5fcf6006" style="background: url(./static/TAB_DOWN_ON.svg);">
|
||||||
|
<image alt="[图片]" class="tabs-icon type-gsd-h5-react:Image" id="uuid_a9108235"
|
||||||
|
mode="scaleToFill" src="./static/CAM_OFF.svg">
|
||||||
|
</image>
|
||||||
|
<text class="tabs-label type-gsd-h5-react:Text" id="uuid_242b1819">人像</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id30"
|
||||||
|
style="margin-top: 4.533vw; display: flex; justify-content: center; align-items: center; line-height: 4.8vw;"
|
||||||
|
>
|
||||||
|
<!-- <slot name="descSlot"></slot> -->
|
||||||
|
<view bindtap="onuuid_2eec5308$tap" class="type-gsd-h5-react:Container" id="uuid_2eec5308"
|
||||||
|
slot="descSlot"
|
||||||
|
style="display: flex; justify-content: center; align-items: center; flex-direction: row;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id44"
|
||||||
|
style="padding-right: 0vw; padding-left: 0vw; font-size: 5.333vw; line-height: 7.467vw; font-weight: bolder;color: #2BA566;">绿码</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<!-- End StandardHealthCodeWrapper -->
|
||||||
|
</view>
|
||||||
|
<view class="primary-button-con type-gsd-h5-react:Container" id="id40"
|
||||||
|
style="padding-top: 4.267vw; padding-bottom: 4.8vw; display: flex; align-items: center; flex-direction: column; border-style: none;"
|
||||||
|
>
|
||||||
|
<view class="wa-comp-fj-jkm-Button type-gsd-h5-react:Container type-fj-jkm:Button" id="uuid_99e59a32"
|
||||||
|
style="width: 58.667vw; height: 13.067vw;" onclick="window.location.href = 'checkin.html';">
|
||||||
|
<view class="btn-bg1 type-gsd-h5-react:Container" id="uuid_cb220d96"
|
||||||
|
style="width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; border: 0.267vw solid rgb(58, 94, 255); border-radius: 8.533vw; position: relative; box-shadow: 1.067vw 1.6vw 4.267vw 0 rgba(44,71,190,0.30), inset -0.8vw -0.8vw 1.067vw 0 rgba(44,71,190,0.60); filter: blur(0);">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_44fe7c67" style="z-index: 3; position: relative;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_e98aca79" slot="textSlot"
|
||||||
|
style="color: rgb(255, 255, 255); font-size: 5.333vw; line-height: 9.6vw; font-weight: 600;">扫一扫</text>
|
||||||
|
</view>
|
||||||
|
<view class="high-light type-gsd-h5-react:Container" id="uuid_c6960684"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_823e2a87"
|
||||||
|
style="display: flex; align-items: center; flex-direction: column; border-style: none; position: relative;"
|
||||||
|
>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_f4b50588"
|
||||||
|
style="width: 78.667vw; height: 0.267vw; border-bottom: 0.133vw dashed rgb(147, 154, 160);"></view>
|
||||||
|
<view bindtap="onuuid_194f0622$tap"
|
||||||
|
class="wa-comp-fj-jkm-TravelCard type-gsd-h5-react:Container" id="uuid_194f0622"
|
||||||
|
style="width: 100%; height: 22.667vw; padding-right: 4.267vw; padding-left: 5.333vw; display: flex; justify-content: space-between; align-items: center; flex-direction: row; border-bottom-right-radius: 5.333vw; border-bottom-left-radius: 5.333vw; background: rgb(255, 255, 255); position: relative; overflow: hidden;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_beb0e836"
|
||||||
|
style="width: 100%; display: flex; justify-content: space-between; align-items: center; z-index: 1; position: relative;"
|
||||||
|
onclick="navigateToTripCard();">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_259dfd84">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_8ba24d83"
|
||||||
|
style="display: flex; align-items: center; color: rgb(82, 86, 102); font-size: 5.333vw; line-height: 6.4vw; font-weight: bolder;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_b0d7cc24" style="font-size: 20px;">点击查询行程卡</text>
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="uuid_f0850377" mode="scaleToFill"
|
||||||
|
src="./static/icon-arrow-right@2x.png"
|
||||||
|
style="width: 4.267vw; height: 4.267vw; margin-left: 0.533vw;"></image>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_280c0677" style="margin-top: 1.333vw;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_e574bb50"
|
||||||
|
style="color: rgb(82, 86, 102); font-size: 4.267vw; font-weight: 400; font-family: PingFangSC-Regular; letter-spacing: 0vw;">查询本人在疫情期间7天内到访地信息</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="uuid_f5ea9424" mode="scaleToFill"
|
||||||
|
src="./static/travel-card@2x.png"
|
||||||
|
style="width: 21.733vw; height: 19.333vw; position: absolute; right: 0vw; bottom: 0vw;"></image>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="triangle-right type-gsd-h5-react:Container" id="uuid_c6be1741"
|
||||||
|
style="height: 3.467vw; position: absolute; left: 0vw; top: -1.733vw;"></view>
|
||||||
|
<view class="triangle-left type-gsd-h5-react:Container" id="uuid_cec63a89"
|
||||||
|
style="position: absolute; right: 0vw; top: -1.733vw;"></view>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_e7a4e889" style="display: none; border-style: none;"
|
||||||
|
>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_62f24a90"
|
||||||
|
style="width: 81.867vw; height: 0.133vw; display: none; border-bottom: 0.133vw dashed rgb(147, 154, 160);">
|
||||||
|
</view>
|
||||||
|
<view bindtap="onuuid_8e2bb990$tap" class="type-gsd-h5-react:Container" id="uuid_8e2bb990"
|
||||||
|
style="width: auto; height: 10.667vw; margin-top: 4.4vw; padding: 0vw 4vw; display: flex; justify-content: center; align-items: center; flex-direction: row; border-radius: 5.333vw; background: rgb(235, 237, 243);">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="uuid_98428890" mode="scaleToFill"
|
||||||
|
src="./static/family_health_code@2x.png"
|
||||||
|
style="width: 3.733vw; height: 3.733vw; display: inline-block;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_ec6bad90"
|
||||||
|
style="margin-right: 4.4vw; margin-left: 2.667vw; display: inline-block; color: rgb(92, 94, 102); font-size: 4.267vw; text-align: center; align-items: center; font-family: PingFangSC-Medium; letter-spacing: 0vw;">亲友健康码</text>
|
||||||
|
<view class="type-WeApps_STD_COMP:Icon" id="uuid_4169f290" style="color: #919EAB; font-size: 1.6vw;"
|
||||||
|
type="arrow-right"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_6eefe919" style="padding-right: 4.8vw; padding-left: 4.8vw;">
|
||||||
|
<view
|
||||||
|
class="wa-comp-fj-jkm-NucleicAcidTestAndVaccination nucleic-vaccination-con type-gsd-h5-react:Container type-WeApps_STD_COMP:Icon"
|
||||||
|
id="uuid_99915118"
|
||||||
|
style="width: 100%; display: flex; justify-content: space-between; align-items: center; flex-direction: row;">
|
||||||
|
<view bindtap="onuuid_5c181a64$tap" class="nucleic-vaccination-item type-gsd-h5-react:Container"
|
||||||
|
id="uuid_5c181a64" style="width: 43.6vw; height: 27.733vw; padding: 0vw; position: relative;">
|
||||||
|
<image alt="[图片]" class="status-icon type-gsd-h5-react:Image" id="uuid_0bbbf666" mode="aspectFit"
|
||||||
|
src="./static/nucleic-24h.png" style="width: 100%; height: 100%; display: block; line-height: 0vw;">
|
||||||
|
</image>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_61e66366"
|
||||||
|
style="width: 100%; height: 100%; padding-right: 2.667vw; padding-left: 5.333vw; position: absolute; left: 0vw; top: 0vw;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_ae58c966"
|
||||||
|
style="height: 50%; display: flex; align-items: center; color: rgb(39, 40, 46); font-size: 5.6vw; font-weight: 600;">阴性</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_b55b1166"
|
||||||
|
style="height: 50%; padding-right: 9.6vw; display: flex; align-items: center; color: rgb(82, 86, 102); font-size: 4.267vw; font-weight: 400;">核酸检测</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view bindtap="onuuid_326c8e85$tap" class="nucleic-vaccination-item type-gsd-h5-react:Container"
|
||||||
|
id="uuid_326c8e85" style="width: 43.6vw; height: 27.733vw; padding: 0vw; position: relative;">
|
||||||
|
<image alt="[图片]" class="status-icon type-gsd-h5-react:Image" id="uuid_2774dd30" mode="aspectFit"
|
||||||
|
src="./static/vaccination-done.png" style="width: 100%; height: 100%; display: block; line-height: 0vw;">
|
||||||
|
</image>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_e739c467"
|
||||||
|
style="width: 100%; height: 100%; padding-right: 2.667vw; padding-left: 5.333vw; position: absolute; left: 0vw; top: 0vw;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_4cf39b59"
|
||||||
|
style="height: 50%; display: flex; align-items: center; color: rgb(39, 40, 46); font-size: 5.6vw; font-weight: 600;">已打加强针</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_0cc0d346"
|
||||||
|
style="height: 50%; padding-right: 9.6vw; display: flex; align-items: center; color: rgb(82, 86, 102); font-size: 4.267vw; font-weight: 400;">疫苗接种</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="service-con type-gsd-h5-react:Container" id="id9"
|
||||||
|
style="width: 89.333vw; margin: 4.8vw auto 0vw; padding: 1.333vw 4.8vw; display: block; border-radius: 5.333vw; background: rgb(255, 255, 255); box-shadow: 0vw 3.2vw 8.533vw 0vw rgba(0,13,69,0.10); filter: blur(32);">
|
||||||
|
|
||||||
|
<view bindtap="onid15$tap" class="service-item type-gsd-h5-react:Container" id="id15-0"
|
||||||
|
style="height: 21.333vw; display: flex; justify-content: flex-start; align-items: center; flex-direction: row;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="id47-0" mode="scaleToFill" src="./static/menu-phone.png"
|
||||||
|
style="width: 9.067vw; height: 9.067vw; flex-shrink: 0;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id11-0"
|
||||||
|
style="padding-left: 4.267vw; color: #1D1F24; font-size: 5.867vw; line-height: 5.867vw; text-align: left; font-weight: bolder; font-family: PingFangSC-Regular; letter-spacing: 0vw;">有异常要打电话</text>
|
||||||
|
<button class="button--none type-gsd-h5-react:Button" formType="button" id="id80-0"
|
||||||
|
style="width: 100%; height: 21.333vw; display: none; opacity: 1; border: 0vw none rgba(0, 0, 0, 0); background: transparent; position: relative;"></button>
|
||||||
|
</view>
|
||||||
|
<view bindtap="onid15$tap" class="service-item type-gsd-h5-react:Container" id="id15-1"
|
||||||
|
style="height: 21.333vw; display: flex; justify-content: flex-start; align-items: center; flex-direction: row;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="id47-1" mode="scaleToFill"
|
||||||
|
src="./static/menu-grxxsz.png" style="width: 9.067vw; height: 9.067vw; flex-shrink: 0;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id11-1"
|
||||||
|
style="padding-left: 4.267vw; color: #1D1F24; font-size: 5.867vw; line-height: 5.867vw; text-align: left; font-weight: bolder; font-family: PingFangSC-Regular; letter-spacing: 0vw;">个人信息设置</text>
|
||||||
|
<button class="button--none type-gsd-h5-react:Button" formType="button" id="id80-1"
|
||||||
|
style="width: 100%; height: 21.333vw; display: none; opacity: 1; border: 0vw none rgba(0, 0, 0, 0); background: transparent; position: relative;"></button>
|
||||||
|
</view>
|
||||||
|
<view bindtap="onid15$tap" class="service-item type-gsd-h5-react:Container" id="id15-2"
|
||||||
|
style="height: 21.333vw; display: flex; justify-content: flex-start; align-items: center; flex-direction: row;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="id47-2" mode="scaleToFill"
|
||||||
|
src="./static/menu-grjkxxbb.png" style="width: 9.067vw; height: 9.067vw; flex-shrink: 0;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id11-2"
|
||||||
|
style="padding-left: 4.267vw; color: #1D1F24; font-size: 5.867vw; line-height: 5.867vw; text-align: left; font-weight: bolder; font-family: PingFangSC-Regular; letter-spacing: 0vw;">个人健康信息报备</text>
|
||||||
|
<button class="button--none type-gsd-h5-react:Button" formType="button" id="id80-2"
|
||||||
|
style="width: 100%; height: 21.333vw; display: none; opacity: 1; border: 0vw none rgba(0, 0, 0, 0); background: transparent; position: relative;"></button>
|
||||||
|
</view>
|
||||||
|
<view bindtap="onid15$tap" class="service-item type-gsd-h5-react:Container" id="id15-3"
|
||||||
|
style="height: 21.333vw; display: flex; justify-content: flex-start; align-items: center; flex-direction: row;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="id47-3" mode="scaleToFill"
|
||||||
|
src="./static/menu-gljtcyjkm.png" style="width: 9.067vw; height: 9.067vw; flex-shrink: 0;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id11-3"
|
||||||
|
style="padding-left: 4.267vw; color: #1D1F24; font-size: 5.867vw; line-height: 5.867vw; text-align: left; font-weight: bolder; font-family: PingFangSC-Regular; letter-spacing: 0vw;">添加和删除亲友健康码</text>
|
||||||
|
<button class="button--none type-gsd-h5-react:Button" formType="button" id="id80-3"
|
||||||
|
style="width: 100%; height: 21.333vw; display: none; opacity: 1; border: 0vw none rgba(0, 0, 0, 0); background: transparent; position: relative;"></button>
|
||||||
|
</view>
|
||||||
|
<view bindtap="onid15$tap" class="service-item type-gsd-h5-react:Container" id="id15-4"
|
||||||
|
style="height: 21.333vw; display: flex; justify-content: flex-start; align-items: center; flex-direction: row;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="id47-4" mode="scaleToFill" src="./static/menu-yw.png"
|
||||||
|
style="width: 9.067vw; height: 9.067vw; flex-shrink: 0;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id11-4"
|
||||||
|
style="padding-left: 4.267vw; color: #1D1F24; font-size: 5.867vw; line-height: 5.867vw; text-align: left; font-weight: bolder; font-family: PingFangSC-Regular; letter-spacing: 0vw;">有疑问想得到回答</text>
|
||||||
|
<button class="button--none type-gsd-h5-react:Button" formType="button" id="id80-4"
|
||||||
|
style="width: 100%; height: 21.333vw; display: none; opacity: 1; border: 0vw none rgba(0, 0, 0, 0); background: transparent; position: relative;"></button>
|
||||||
|
</view>
|
||||||
|
<view bindtap="onid15$tap" class="service-item type-gsd-h5-react:Container" id="id15-5"
|
||||||
|
style="height: 21.333vw; display: flex; justify-content: flex-start; align-items: center; flex-direction: row;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="id47-5" mode="scaleToFill"
|
||||||
|
src="./static/menu-bcjkm2.png" style="width: 9.067vw; height: 9.067vw; flex-shrink: 0;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id11-5"
|
||||||
|
style="padding-left: 4.267vw; color: #1D1F24; font-size: 5.867vw; line-height: 5.867vw; text-align: left; font-weight: bolder; font-family: PingFangSC-Regular; letter-spacing: 0vw;">下载福码爱心卡</text>
|
||||||
|
<button class="button--none type-gsd-h5-react:Button" formType="button" id="id80-5"
|
||||||
|
style="width: 100%; height: 21.333vw; display: none; opacity: 1; border: 0vw none rgba(0, 0, 0, 0); background: transparent; position: relative;"></button>
|
||||||
|
</view>
|
||||||
|
<view bindtap="onid15$tap" class="service-item type-gsd-h5-react:Container" id="id15-6"
|
||||||
|
style="height: 21.333vw; display: flex; justify-content: flex-start; align-items: center; flex-direction: row;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="id47-6" mode="scaleToFill" src="./static/menu-slztm.png"
|
||||||
|
style="width: 9.067vw; height: 9.067vw; flex-shrink: 0;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id11-6"
|
||||||
|
style="padding-left: 4.267vw; color: #1D1F24; font-size: 5.867vw; line-height: 5.867vw; text-align: left; font-weight: bolder; font-family: PingFangSC-Regular; letter-spacing: 0vw;">管理张贴码</text>
|
||||||
|
<button class="button--none type-gsd-h5-react:Button" formType="button" id="id80-6"
|
||||||
|
style="width: 100%; height: 21.333vw; display: none; opacity: 1; border: 0vw none rgba(0, 0, 0, 0); background: transparent; position: relative;"></button>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id12"
|
||||||
|
style="width: 88.933vw; margin: 4.8vw auto; display: flex; align-items: flex-start; flex-direction: column; border-radius: 5.333vw; background: rgb(255, 255, 255); box-shadow: 0vw 3.2vw 8.533vw 0vw rgba(0,13,69,0.10); filter: blur(32);"
|
||||||
|
>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id48"
|
||||||
|
style="margin-top: 4vw; margin-left: 4.8vw; display: none; color: rgb(29, 31, 36); font-size: 5.6vw; line-height: 6.4vw; font-family: PingFangSC-Medium; letter-spacing: 0vw;">热门服务</text>
|
||||||
|
<view class="service-con type-gsd-h5-react:Container" id="id52"
|
||||||
|
style="width: 100%; padding: 1.333vw 5.333vw; display: flex; justify-content: flex-start; align-items: center; flex-flow: column wrap;">
|
||||||
|
<view bindtap="onid49$tap" class="service-item type-gsd-h5-react:Container" id="id49-iid49"
|
||||||
|
style="width: 100%; height: 21.333vw; display: flex; justify-content: flex-start; align-items: center; flex-direction: row;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="id50-iid49" mode="scaleToFill"
|
||||||
|
src="./static/menu-hsjcdt.png" style="width: 9.067vw; height: 9.067vw;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id51-iid49"
|
||||||
|
style="padding-left: 4.267vw; color: #1D1F24; font-size: 5.867vw; line-height: 8.267vw; text-align: center; font-weight: bolder; font-family: PingFangSC-Regular; letter-spacing: 0vw;">核酸检测地图</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id53-iid49"
|
||||||
|
style="margin-top: -0.667vw; color: rgb(29, 31, 36); font-size: 3.733vw; line-height: 5.333vw; text-align: center; font-family: PingFangSC-Regular; letter-spacing: 0vw;"></text>
|
||||||
|
</view>
|
||||||
|
<view bindtap="onid49$tap" class="service-item type-gsd-h5-react:Container" id="id49-iid49"
|
||||||
|
style="width: 100%; height: 21.333vw; display: flex; justify-content: flex-start; align-items: center; flex-direction: row;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="id50-iid49" mode="scaleToFill"
|
||||||
|
src="./static/menu-ymjzyy.png" style="width: 9.067vw; height: 9.067vw;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id51-iid49"
|
||||||
|
style="padding-left: 4.267vw; color: #1D1F24; font-size: 5.867vw; line-height: 8.267vw; text-align: center; font-weight: bolder; font-family: PingFangSC-Regular; letter-spacing: 0vw;">疫苗接种预约</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id53-iid49"
|
||||||
|
style="margin-top: -0.667vw; color: rgb(29, 31, 36); font-size: 3.733vw; line-height: 5.333vw; text-align: center; font-family: PingFangSC-Regular; letter-spacing: 0vw;"></text>
|
||||||
|
</view>
|
||||||
|
<view bindtap="onid49$tap" class="service-item type-gsd-h5-react:Container" id="id49-iid49"
|
||||||
|
style="width: 100%; height: 21.333vw; display: flex; justify-content: flex-start; align-items: center; flex-direction: row;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="id50-iid49" mode="scaleToFill"
|
||||||
|
src="./static/menu-ymjzdt.png" style="width: 9.067vw; height: 9.067vw;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id51-iid49"
|
||||||
|
style="padding-left: 4.267vw; color: #1D1F24; font-size: 5.867vw; line-height: 8.267vw; text-align: center; font-weight: bolder; font-family: PingFangSC-Regular; letter-spacing: 0vw;">疫苗接种地图</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id53-iid49"
|
||||||
|
style="margin-top: -0.667vw; color: rgb(29, 31, 36); font-size: 3.733vw; line-height: 5.333vw; text-align: center; font-family: PingFangSC-Regular; letter-spacing: 0vw;"></text>
|
||||||
|
</view>
|
||||||
|
<view bindtap="onid49$tap" class="service-item type-gsd-h5-react:Container" id="id49-iid49"
|
||||||
|
style="width: 100%; height: 21.333vw; display: flex; justify-content: flex-start; align-items: center; flex-direction: row;">
|
||||||
|
<image alt="[图片]" class="type-gsd-h5-react:Image" id="id50-iid49" mode="scaleToFill"
|
||||||
|
src="./static/menu-yldzpz.png" style="width: 9.067vw; height: 9.067vw;"></image>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id51-iid49"
|
||||||
|
style="padding-left: 4.267vw; color: #1D1F24; font-size: 5.867vw; line-height: 8.267vw; text-align: center; font-weight: bolder; font-family: PingFangSC-Regular; letter-spacing: 0vw;">医保电子凭证</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id53-iid49"
|
||||||
|
style="margin-top: -0.667vw; color: rgb(29, 31, 36); font-size: 3.733vw; line-height: 5.333vw; text-align: center; font-family: PingFangSC-Regular; letter-spacing: 0vw;"></text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view bindtap="onid67$tap" class="type-gsd-h5-react:Container" id="id67"
|
||||||
|
style="margin-top: 12.8vw; padding-bottom: 0.133vw; text-align: left;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="id75"
|
||||||
|
style="display: flex; justify-content: center; align-items: center; flex-direction: row;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="id76"
|
||||||
|
style="color: #27282E; font-size: 4.8vw; line-height: 6.667vw; text-align: center; font-family: PingFangSC-Medium; letter-spacing: 0vw;">信息说明</text>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_ca767008"
|
||||||
|
style="padding-top: 2.933vw; padding-right: 4.8vw; padding-left: 4.8vw; display: flex; justify-content: flex-start; align-items: flex-start; flex-direction: row; color: rgb(98, 102, 122); font-size: 4.267vw; line-height: 5.6vw;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_607e9298"
|
||||||
|
style="margin-right: 0.8vw; flex-shrink: 0;">数据来源:</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_107ad663" style="flex: 1;">全国一体化政务服务平台和福建省相关部门</text>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_f0035914"
|
||||||
|
style="padding-top: 2.933vw; padding-right: 4.8vw; padding-left: 4.8vw; display: flex; justify-content: flex-start; align-items: flex-start; flex-flow: row nowrap; color: #62667A; font-size: 4.267vw; line-height: 6.667vw;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_e9c2e716"
|
||||||
|
style="margin-right: 0.8vw; flex-shrink: 0;">注意事项:</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_e9f04c16" style="display: inline;">使用健康码时不要离开本页面且需本人操作确认</text>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_c30fe270"
|
||||||
|
style="padding: 2.933vw 4.8vw 7.467vw; display: flex; justify-content: flex-start; align-items: flex-start; flex-flow: row nowrap; color: #62667A; font-size: 4.267vw; line-height: 6.667vw;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_0cce6471"
|
||||||
|
style="margin-right: 0.8vw; flex-shrink: 0;">使用范围:</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_27c73a71"
|
||||||
|
style="display: inline;">依托全国一体化政务服务平台,实现跨省(区、市)数据共享和互通互认</text>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_0c6ff114"
|
||||||
|
style="padding-right: 4.8vw; padding-left: 4.8vw; display: flex; justify-content: flex-start; align-items: flex-start; flex-direction: row; color: #62667A; font-size: 4.267vw;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_5c1d2714"
|
||||||
|
style="margin-right: 0.8vw; color: rgb(98, 102, 122); flex-shrink: 0;">客服电话:</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_ff814e14"
|
||||||
|
style="display: block; color: rgb(98, 102, 122); text-align: left; opacity: 1; flex: 1;">400-666-1331(7x24小时)</text>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_369cb454"
|
||||||
|
style="margin-bottom: 14.933vw; padding-top: 1.6vw; padding-right: 4.8vw; padding-left: 4.8vw; display: flex; justify-content: flex-start; align-items: flex-start; flex-direction: column; font-size: 4.267vw;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_78c90b57" style="display: flex;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_c5d49457"
|
||||||
|
style="margin-right: 0.8vw; color: rgb(98, 102, 122); flex-shrink: 0;">主办机构:</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_97aa0157" style="color: rgb(98, 102, 122);">福建省数字办 卫健委
|
||||||
|
医保局</text>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_800f8c57" style="padding-top: 1.6vw; display: flex;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_9a950a57"
|
||||||
|
style="margin-right: 0.8vw; display: block; color: rgb(98, 102, 122); text-align: left; opacity: 1; flex: 1; flex-shrink: 0;">承办机构:</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_0583c357"
|
||||||
|
style="color: rgb(98, 102, 122);">福建省大数据集团有限公司</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_c4c2af14"
|
||||||
|
style="margin-bottom: 14.933vw; padding-top: 1.6vw; padding-right: 4.8vw; padding-left: 4.8vw; display: none; font-size: 4.267vw;">
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_7f442742" style="width: 16.667vw; display: none;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_c699aa15"
|
||||||
|
style="color: rgb(98, 102, 122); font-size: 4.267vw; flex-shrink: 0;">承办机构:</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_83c13280"
|
||||||
|
style="width: 16.667vw; color: rgb(98, 102, 122); font-size: 4.267vw;">承办机构:</text>
|
||||||
|
</view>
|
||||||
|
<view class="type-gsd-h5-react:Container" id="uuid_40f8f972" style="display: none;">
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_b5b37914"
|
||||||
|
style="display: block; color: rgb(98, 102, 122); font-size: 3.2vw; text-align: left; opacity: 1; flex: 1;">本应用由福建省数字办
|
||||||
|
卫健委 医保局主办</text>
|
||||||
|
<text class="type-gsd-h5-react:Text" id="uuid_39b5ae36"
|
||||||
|
style="color: rgb(98, 102, 122); font-size: 4.267vw;">福建省大数据集团有限公司承办</text>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<script>
|
||||||
|
setDynamicTime("#date", 0, 10);
|
||||||
|
setDynamicTime("#time", 11, 19);
|
||||||
|
addStorageField("_name", "#masked-name", "名字", "习近平", presetFilters.name_keepfirstname);
|
||||||
|
addStorageField("_name", "#name", "名字", "习近平");
|
||||||
|
addStorageField("_idcard", "#masked-idcard", "身份证号", "110101195306153019", presetFilters.idcard());
|
||||||
|
addStorageField("_idcard", "#idcard", "身份证号", "110101195306153019");
|
||||||
|
|
||||||
|
function toggleInfoMask(b) {
|
||||||
|
document.getElementById("info-container").style.display = b ? "none" : "flex";
|
||||||
|
document.getElementById("masked-info-container").style.display = b ? "flex" : "none";
|
||||||
|
}
|
||||||
|
|
||||||
|
const nav_scroll = () => {
|
||||||
|
window.addEventListener('scroll', () => {
|
||||||
|
const percentage = Math.max(0, Math.min(window.pageYOffset / document.documentElement.clientHeight / 0.18, 1));
|
||||||
|
document.querySelector(".nav").style.backgroundColor = `rgba(255, 255, 255, ${percentage})`;
|
||||||
|
const color = 255 - Math.ceil(percentage * 255);
|
||||||
|
// document.querySelector(".nav").style.color = `rgb(${color}, ${color}, ${color})`;
|
||||||
|
document.querySelector(".nav > img") && (document.querySelector(".nav > img").style.filter = `brightness(${(1 - percentage).toFixed(1)})`);
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
if (document.readyState === "complete" || document.readyState === "interactive") {
|
||||||
|
setTimeout(nav_scroll, 1);
|
||||||
|
} else {
|
||||||
|
document.addEventListener("DOMContentLoaded", nav_scroll);
|
||||||
|
}
|
||||||
|
|
||||||
|
initServiceWorker("fujian-hc");
|
||||||
|
</script>
|
16
src/fujian-hc/manifest.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"short_name": "福建健康码",
|
||||||
|
"name": "福建健康码",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "static/jkm_logo.png",
|
||||||
|
"type": "image/png",
|
||||||
|
"sizes": "288x288"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id": "ilovexjp-fujian-hc-simulator",
|
||||||
|
"start_url": ".",
|
||||||
|
"display": "standalone",
|
||||||
|
"scope": "/",
|
||||||
|
"description": "福建健康码模拟"
|
||||||
|
}
|
24
src/fujian-hc/static/CAM_OFF.svg
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 44 44" class="design-iconfont">
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="0%" y1="0%" x2="100%" y2="100%" id="73lb98cm0c">
|
||||||
|
<stop stop-color="#898FAC" offset="0%"/>
|
||||||
|
<stop stop-color="#62667A" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<filter x="-13.9%" y="-13.9%" width="138.9%" height="138.9%" filterUnits="objectBoundingBox" id="25y3kzwpra">
|
||||||
|
<feOffset dx="2" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"/>
|
||||||
|
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
|
||||||
|
<feColorMatrix values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.1 0" in="shadowBlurOuter1"/>
|
||||||
|
</filter>
|
||||||
|
<rect id="hn57x22p1b" x="0" y="0" width="36" height="36" rx="4"/>
|
||||||
|
</defs>
|
||||||
|
<g fill="none" fill-rule="evenodd">
|
||||||
|
<g transform="translate(2 2)">
|
||||||
|
<use fill="#000" filter="url(#25y3kzwpra)" xlink:href="#hn57x22p1b"/>
|
||||||
|
<use fill="url(#73lb98cm0c)" xlink:href="#hn57x22p1b"/>
|
||||||
|
</g>
|
||||||
|
<g fill="#FFF">
|
||||||
|
<path d="M11.23491,13.0312134 C16.7924223,13.0312134 21.5508954,16.4624572 22.4110725,21.1596444 L22.439808,21.3259496 L0,21.5260004 C0.670935541,16.6499672 5.52628868,13.0312134 11.23491,13.0312134 Z" fill-rule="nonzero" transform="translate(8.545455 8.136364)"/>
|
||||||
|
<path d="M11.219904 0A5.28763114 5.28763114 0 1 0 11.219904 10.57526228A5.28763114 5.28763114 0 1 0 11.219904 0Z" transform="translate(8.545455 8.136364)"/>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 1.5 KiB |
18
src/fujian-hc/static/QR_ON.svg
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" viewBox="0 0 44 44" class="design-iconfont">
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="8.23383522%" y1="4.22734876%" x2="82.9410367%" y2="64.4459407%" id="xig1yeneyc">
|
||||||
|
<stop stop-color="#869FFF" offset="0%"/>
|
||||||
|
<stop stop-color="#365DF5" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<filter x="-13.9%" y="-13.9%" width="138.9%" height="138.9%" filterUnits="objectBoundingBox" id="445fcnsgta">
|
||||||
|
<feOffset dx="2" dy="2" in="SourceAlpha" result="shadowOffsetOuter1"/>
|
||||||
|
<feGaussianBlur stdDeviation="2" in="shadowOffsetOuter1" result="shadowBlurOuter1"/>
|
||||||
|
<feColorMatrix values="0 0 0 0 0.256083561 0 0 0 0 0.347788495 0 0 0 0 0.695727804 0 0 0 0.2 0" in="shadowBlurOuter1"/>
|
||||||
|
</filter>
|
||||||
|
<path d="M351.877949,121.542857 L351.877949,138 L339.652597,138 C337.443458,138 335.652597,136.209139 335.652597,134 L335.652597,121.542857 L351.877949,121.542857 Z M360.497668,132.857143 L360.497668,138 L355.427245,138 L355.427245,132.857143 L360.497668,132.857143 Z M371.652597,132.857143 L371.652597,138 L366.582175,138 L366.582175,132.857143 L371.652597,132.857143 Z M366.582175,132.857143 L360.497668,132.857143 L360.497668,129.771429 L355.427245,129.771429 L355.427245,121.542857 L360.497668,121.542857 L360.497668,127.714286 L366.582175,127.714286 L366.582175,121.542857 L371.652597,121.542857 L371.652597,129.771429 L366.582175,129.771429 L366.582175,132.857143 Z M351.877949,102 L351.877949,118.457143 L335.652597,118.457143 L335.652597,106 C335.652597,103.790861 337.443458,102 339.652597,102 L351.877949,102 Z M367.145555,102 C369.354694,102 371.145555,103.790861 371.145555,106 L371.145555,118.457143 L354.920203,118.457143 L354.920203,102 L367.145555,102 Z" id="qvfrj4y42b"/>
|
||||||
|
</defs>
|
||||||
|
<g transform="translate(-334 -100)" fill="none" fill-rule="evenodd">
|
||||||
|
<use fill="#000" filter="url(#445fcnsgta)" xlink:href="#qvfrj4y42b"/>
|
||||||
|
<use fill="url(#xig1yeneyc)" xlink:href="#qvfrj4y42b"/>
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.0 KiB |
13
src/fujian-hc/static/TAB_DOWN_ON.svg
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 87 130" class="design-iconfont">
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="0%" y1="58.9649789%" x2="100%" y2="58.9649789%" id="3nk5cwecda">
|
||||||
|
<stop stop-color="#FFF" offset="0%"/>
|
||||||
|
<stop stop-color="#E8ECFB" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
<linearGradient x1="7.17723046%" y1="50%" x2="100%" y2="50%" id="3sk81fe1ob">
|
||||||
|
<stop stop-color="#DADCE3" stop-opacity=".50341626" offset="0%"/>
|
||||||
|
<stop stop-color="#B3B6C3" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<path d="M395,207 L481,207 L481,311.186047 C481,324.33813 473.836556,335 465,335 L395,335 L395,335" transform="translate(-395 -206)" fill="url(#3nk5cwecda)" stroke="url(#3sk81fe1ob)" fill-rule="evenodd"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 748 B |
9
src/fujian-hc/static/TAB_UP_OFF.svg
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 87 130" class="design-iconfont">
|
||||||
|
<defs>
|
||||||
|
<linearGradient x1="7.17723046%" y1="50%" x2="100%" y2="50%" id="jieu3iw8la">
|
||||||
|
<stop stop-color="#DADCE3" stop-opacity=".50341626" offset="0%"/>
|
||||||
|
<stop stop-color="#B3B6C3" offset="100%"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<path d="M395,78 L465,78 C473.836556,78 481,88.6618701 481,101.813953 L481,206 L395,206" transform="translate(-395 -77)" fill="#FFF" stroke="url(#jieu3iw8la)" fill-rule="evenodd"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 520 B |
BIN
src/fujian-hc/static/bg2@2x.png
Normal file
After Width: | Height: | Size: 38 KiB |
BIN
src/fujian-hc/static/close.png
Normal file
After Width: | Height: | Size: 1018 B |
BIN
src/fujian-hc/static/datetime.png
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
src/fujian-hc/static/family-btn@2x.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
src/fujian-hc/static/family_health_code@2x.png
Normal file
After Width: | Height: | Size: 1.9 KiB |
BIN
src/fujian-hc/static/icon-arrow-right@2x.png
Normal file
After Width: | Height: | Size: 1002 B |
BIN
src/fujian-hc/static/icon_00.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
11
src/fujian-hc/static/index.html
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta name="robots" content="noarchive" />
|
||||||
|
<meta name="googlebot" content="nosnippet" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div align=center>
|
||||||
|
<h3>Error. Page cannot be displayed. Please contact your service provider for more details. (18)</h3>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
11
src/fujian-hc/static/index.html.1
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<meta name="robots" content="noarchive" />
|
||||||
|
<meta name="googlebot" content="nosnippet" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div align=center>
|
||||||
|
<h3>Error. Page cannot be displayed. Please contact your service provider for more details. (17)</h3>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
BIN
src/fujian-hc/static/jkm_logo.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
src/fujian-hc/static/logo21@2x.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
src/fujian-hc/static/menu-bcjkm2.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
src/fujian-hc/static/menu-gljtcyjkm.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
src/fujian-hc/static/menu-grjkxxbb.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
src/fujian-hc/static/menu-grxxsz.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
src/fujian-hc/static/menu-hsjcdt.png
Normal file
After Width: | Height: | Size: 4.2 KiB |
BIN
src/fujian-hc/static/menu-phone.png
Normal file
After Width: | Height: | Size: 1.5 KiB |
BIN
src/fujian-hc/static/menu-slztm.png
Normal file
After Width: | Height: | Size: 15 KiB |
BIN
src/fujian-hc/static/menu-yldzpz.png
Normal file
After Width: | Height: | Size: 5.6 KiB |
BIN
src/fujian-hc/static/menu-ymjzdt.png
Normal file
After Width: | Height: | Size: 5.9 KiB |
BIN
src/fujian-hc/static/menu-ymjzyy.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
src/fujian-hc/static/menu-yw.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/fujian-hc/static/nucleic-24h.png
Normal file
After Width: | Height: | Size: 24 KiB |
BIN
src/fujian-hc/static/open.png
Normal file
After Width: | Height: | Size: 2.8 KiB |
BIN
src/fujian-hc/static/place_address.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/fujian-hc/static/success.png
Normal file
After Width: | Height: | Size: 8.1 KiB |
BIN
src/fujian-hc/static/travel-card@2x.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
src/fujian-hc/static/vaccination-done.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
284
src/gwongzau-hc/checkin.html
Normal file
@ -0,0 +1,284 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<title>通行登记</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
|
<meta name="viewport"
|
||||||
|
content="width=device-width,height=device-height,viewport-fit=cover,initial-scale=1,maximum-scale=1,user-scalable=0">
|
||||||
|
<meta name="theme-color" content="#4293F4">
|
||||||
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||||
|
<link rel="manifest" href="manifest.json">
|
||||||
|
<link rel="apple-touch-icon" sizes="140x140" href="./static/logo.png">
|
||||||
|
<link rel="icon" type="image/png" href="./static/logo.png">
|
||||||
|
<link rel="stylesheet" href="./common/base.css">
|
||||||
|
<link rel="stylesheet" href="./common/cell.css">
|
||||||
|
<link rel="stylesheet" href="../common/g-icon.css">
|
||||||
|
<link rel="stylesheet" href="../common/nav.css">
|
||||||
|
<script src="../common/base.js"></script>
|
||||||
|
<style>
|
||||||
|
body {
|
||||||
|
margin: 0;
|
||||||
|
font-family: "PingFang SC", sans-serif;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
.check-point-id {
|
||||||
|
font-family: "PingFang SC", sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
view {
|
||||||
|
display: block;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
<div class="capsule dark" onclick="navigateHome();">
|
||||||
|
<svg class="capsule-menu-icon" viewBox="0 0 64 28" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle cx="32" cy="14" r="9.5" />
|
||||||
|
<circle cx="54" cy="14" r="6" />
|
||||||
|
<circle cx="10" cy="14" r="6" />
|
||||||
|
</svg>
|
||||||
|
<div class="splitter"></div>
|
||||||
|
<svg class="capsule-exit-icon" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle cx="30" cy="30" r="9" />
|
||||||
|
<circle cx="30" cy="30" r="23" stroke-width="6" fill="transparent" />
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
<div class="is-bg-blue">
|
||||||
|
<div class="roll-warp roll-warp-before">
|
||||||
|
<div class="weui-navigation-bar dark">
|
||||||
|
<div class="weui-navigation-bar__placeholder"></div>
|
||||||
|
<div class="weui-navigation-bar__inner">
|
||||||
|
<div class="weui-navigation-bar__left">
|
||||||
|
<div class="weui-navigation-bar__buttons" onclick="navigateHome();">
|
||||||
|
<img class="goBackArrow" src="./static/goBackArrow.png" onclick="navigateHome();">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="weui-navigation-bar__center">
|
||||||
|
<span style="font-weight: normal;">通行登记</span>
|
||||||
|
</div>
|
||||||
|
<div class="weui-navigation-bar__right">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="capsule" onclick="navigateHome();">
|
||||||
|
<svg class="capsule-menu-icon" viewBox="0 0 64 28" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle cx="32" cy="14" r="9.5" />
|
||||||
|
<circle cx="54" cy="14" r="6" />
|
||||||
|
<circle cx="10" cy="14" r="6" />
|
||||||
|
</svg>
|
||||||
|
<div class="splitter"></div>
|
||||||
|
<svg class="capsule-exit-icon" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<circle cx="30" cy="30" r="9" />
|
||||||
|
<circle cx="30" cy="30" r="23" stroke-width="6" fill="transparent" />
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="rep-wrap">
|
||||||
|
<div class="sk-card-box__wrapper">
|
||||||
|
<div>
|
||||||
|
<div class="sk-card-box ">
|
||||||
|
<div class="sk-card-box__head is-green ">
|
||||||
|
<span class="sk-card-box__title">通行凭证</span>
|
||||||
|
</div>
|
||||||
|
<div class="sk-card-box__content">
|
||||||
|
<div class="sk-card-box__first">
|
||||||
|
<div bind:tap="handleCommonProblem" class="relative-problem">常见问题
|
||||||
|
</div>
|
||||||
|
<div class="card-content-info">
|
||||||
|
<div class="sk-card-box__info">
|
||||||
|
<div class="sk-card-box__info-name" id="_name"></div>
|
||||||
|
</div>
|
||||||
|
<div class="sk-card-box__address" id="_place"></div>
|
||||||
|
<div class="check-point-id">
|
||||||
|
ID:<span id="_place_id"></span></div>
|
||||||
|
<div class="code-scanning-type" id="_place_type"></div>
|
||||||
|
<span class="sk-card-box__time">登记时间: <span id="_time"></span></span>
|
||||||
|
</div>
|
||||||
|
<div class="sk-card-base__code">
|
||||||
|
<img class="sk-card-base__code-pic"
|
||||||
|
src="data:image/png;base64,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">
|
||||||
|
<img class="health-code-cover-image" src="./static/health-code2.gif">
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="health-status" style="color: #2AB492">
|
||||||
|
绿码
|
||||||
|
</div>
|
||||||
|
<div class="code-tip">
|
||||||
|
最新上报时间:<span id="last-report"></span>
|
||||||
|
</div>
|
||||||
|
<div class="risk-map">
|
||||||
|
</div>
|
||||||
|
<div class="cro-left-bottom is-bg-blue"></div>
|
||||||
|
<div class="cro-right-bottom is-bg-blue"></div>
|
||||||
|
<div class="cro-line-bottom"></div>
|
||||||
|
</div>
|
||||||
|
<div class="sk-card-box__last">
|
||||||
|
<div class="cro-left-top is-bg-blue"></div>
|
||||||
|
<div class="cro-right-top is-bg-blue"></div>
|
||||||
|
<div class="nucleic-vaccine-warp">
|
||||||
|
<div class="nucleic-left">
|
||||||
|
<div bind:tap="handleToNucleic" class="nucleic-content"
|
||||||
|
style="background: linear-gradient(180deg, #008BFF 0%, #003CD0 100%)">
|
||||||
|
<div class="content-border have-nucleic zh-CN white-content">
|
||||||
|
<div class="content-title">
|
||||||
|
<div>核酸检测结果</div>
|
||||||
|
<div class="g-icon" type="arrow-right" style="font-size: 13px; color:#fff"></div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="nucleic-hour">
|
||||||
|
<div class="time">24</div>
|
||||||
|
<span class="hour">小时阴性</span>
|
||||||
|
</div>
|
||||||
|
<div class="content-date" id="covid-test-time"></div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="vaccine-right">
|
||||||
|
<div bind:tap="handleToVaccination" class="vaccine-content">
|
||||||
|
<div class="content-border zh-CN">
|
||||||
|
<div class="content-title">
|
||||||
|
<div>疫苗接种信息</div>
|
||||||
|
<div class="g-icon" type="arrow-right" style="font-size: 13px; color:#999"></div>
|
||||||
|
</div>
|
||||||
|
<span class="content cn-content">您已完成新冠疫苗加强接种</span>
|
||||||
|
<div class="content-date" id="vaccination-date"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="matter-warp">
|
||||||
|
<view class="cell component-class">
|
||||||
|
<view class="cell__wrap" onclick="navigateToTripCard();">
|
||||||
|
<view class="cell__content">
|
||||||
|
<view class="cell__content__header">
|
||||||
|
<view class="cell__content__prepend prepend-class">
|
||||||
|
<view class="prepend-item" slot="prepend">
|
||||||
|
<image src="./static/travel-card.png"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell__content__wrap">
|
||||||
|
<view class="cell__content__label"></view>
|
||||||
|
<view>
|
||||||
|
<view class="matter-content" slot="content">通信大数据行程卡</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell__content__footer cell--no-access">
|
||||||
|
<view class="cell__content__append cell--no-access">
|
||||||
|
<view slot="append">
|
||||||
|
<view class="g-icon" type="arrow-right" style="font-size: 4vw; color: #C7C7CC;"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell component-class">
|
||||||
|
<view class="cell__wrap">
|
||||||
|
<view class="cell__content">
|
||||||
|
<view class="cell__content__header">
|
||||||
|
<view class="cell__content__prepend prepend-class">
|
||||||
|
<view class="prepend-item" slot="prepend">
|
||||||
|
<image mode="aspectFit" src="./static/icon-Travel-card.png"></image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell__content__wrap">
|
||||||
|
<view class="cell__content__label"></view>
|
||||||
|
<view>
|
||||||
|
<view class="matter-content" slot="content">
|
||||||
|
<!-- <view class="high-risk-tips matter-red" style="color: #F4AB21;" wx:elif="{{TravelVerificaValue==2}}">
|
||||||
|
<view>{{languageH.HighRisk14Days}}</view>
|
||||||
|
<view bind:tap="handleToTravelCard" class="details-btn red-btn">
|
||||||
|
{{languageH.ViewDetails}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="high-risk-tips" style="color: #000;" wx:elif="{{TravelVerificaValue==3}}">
|
||||||
|
<view class="matter-label">无行程记录</view>
|
||||||
|
</view> -->
|
||||||
|
<section id="not-checked">
|
||||||
|
<view class="high-risk-tips">
|
||||||
|
<view class="matter-label">防疫行程卡</view>
|
||||||
|
<view style="color: #999999; font-size: 3.2vw;">当前未核验</view>
|
||||||
|
</view>
|
||||||
|
</section>
|
||||||
|
<section id="checked" style="display: none;">
|
||||||
|
<view class="high-risk-tips" style="color: #2AB492;">
|
||||||
|
您7天内未曾到访中高风险地区所在的城市
|
||||||
|
</view>
|
||||||
|
<view class="matter-tips">注:本服务由通信大数据行程卡核验</view>
|
||||||
|
</section>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell__content__footer cell--no-access">
|
||||||
|
<view class="cell__content__append cell--no-access">
|
||||||
|
<view slot="append">
|
||||||
|
<view class="details-btn blue-btn" onclick="toggleChecked();" id="check-button">
|
||||||
|
点击核验
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell component-class">
|
||||||
|
<view class="cell__wrap">
|
||||||
|
<view class="cell__content">
|
||||||
|
<view class="cell__content__header">
|
||||||
|
<view class="cell__content__prepend prepend-class">
|
||||||
|
<view class="prepend-item" slot="prepend">
|
||||||
|
<image src="./static/icon-health-nucleic-acid.png">
|
||||||
|
</image>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell__content__wrap">
|
||||||
|
<view class="cell__content__label"></view>
|
||||||
|
<view>
|
||||||
|
<view class="matter-content" slot="content">粤核酸</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="cell__content__footer cell--no-access">
|
||||||
|
<view class="cell__content__append cell--no-access">
|
||||||
|
<view slot="append">
|
||||||
|
<view class="g-icon" type="arrow-right" style="font-size: 4vw; color: #C7C7CC;"></view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</div>
|
||||||
|
<div class="copyright">
|
||||||
|
<div>广州市新冠肺炎防控指挥办</div>
|
||||||
|
<div>腾讯公司/腾讯云提供技术支持</div>
|
||||||
|
<div>服务热线:12345</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
setStaticTime("#covid-test-time", 0, 16, 10, 10);
|
||||||
|
setStaticTime("#_time", 0, 19);
|
||||||
|
|
||||||
|
addStorageField("_name", "#_name", "名字", "习近平", presetFilters.name_preferfirstname);
|
||||||
|
addStorageField("_place", "#_place", "场所名称", "广州市政府大院");
|
||||||
|
addStorageField("_place_id", "#_place_id", "场所ID", "1000311672");
|
||||||
|
addStorageField("_place_type", "#_place_type", "场所类型", "政府机构");
|
||||||
|
addStorageField("_vaccine_date", "#vaccination-date", "疫苗接种完成日期", "2021-06-26");
|
||||||
|
addStorageField("_last_report_date", "#last-report", "最新上报时间", "2020/04/26");
|
||||||
|
|
||||||
|
function toggleChecked() {
|
||||||
|
document.getElementById("check-button").style.display = "none";
|
||||||
|
document.getElementById("not-checked").style.display = "none";
|
||||||
|
document.getElementById("checked").style.display = "block";
|
||||||
|
}
|
||||||
|
|
||||||
|
initServiceWorker("ykm");
|
||||||
|
</script>
|
1473
src/gwongzau-hc/common/base.css
Normal file
206
src/gwongzau-hc/common/cell.css
Normal file
@ -0,0 +1,206 @@
|
|||||||
|
.table {
|
||||||
|
display: table;
|
||||||
|
table-layout: fixed;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.colgroup {
|
||||||
|
display: table-column-group;
|
||||||
|
}
|
||||||
|
|
||||||
|
.col {
|
||||||
|
display: table-column;
|
||||||
|
}
|
||||||
|
|
||||||
|
.thead {
|
||||||
|
display: table-header-group;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tbody {
|
||||||
|
display: table-row-group;
|
||||||
|
}
|
||||||
|
|
||||||
|
.tr {
|
||||||
|
display: table-row;
|
||||||
|
}
|
||||||
|
|
||||||
|
.td,
|
||||||
|
.th {
|
||||||
|
display: table-cell;
|
||||||
|
text-align: center;
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border--top {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border--top::after {
|
||||||
|
height: 1px;
|
||||||
|
width: 100%;
|
||||||
|
transform: scaleY(.5);
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
background-color: #ebebeb;
|
||||||
|
top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border--bottom {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border--bottom::after {
|
||||||
|
height: 1px;
|
||||||
|
width: 100%;
|
||||||
|
transform: scaleY(.5);
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
background-color: #ebebeb;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border--left::after {
|
||||||
|
left: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border--left {
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.border--left::after {
|
||||||
|
width: 100%;
|
||||||
|
width: 1px;
|
||||||
|
transform: scaleX(.5);
|
||||||
|
top: 0;
|
||||||
|
bottom: 0;
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
background-color: #ebebeb;
|
||||||
|
right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__wrap {
|
||||||
|
margin-left: 5.333vw;
|
||||||
|
margin-right: 5.333vw;
|
||||||
|
padding-top: 4.8vw;
|
||||||
|
padding-bottom: 4.8vw;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__content {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__wrap::after {
|
||||||
|
height: 1px;
|
||||||
|
width: 100%;
|
||||||
|
transform: scaleY(.5);
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
content: "";
|
||||||
|
position: absolute;
|
||||||
|
background-color: #ebebeb;
|
||||||
|
bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__content__header {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: flex-start;
|
||||||
|
align-items: center;
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__content__wrap {
|
||||||
|
flex: 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__content__prepend {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
height: 6.4vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__content__label {
|
||||||
|
font-size: 4.8vw;
|
||||||
|
line-height: 6.4vw;
|
||||||
|
word-break: break-all;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__content__icon {
|
||||||
|
margin-right: 2.667vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__desc {
|
||||||
|
font-size: 3.467vw;
|
||||||
|
line-height: 4.8vw;
|
||||||
|
color: #999;
|
||||||
|
margin-top: 0.8vw;
|
||||||
|
padding-right: 5.333vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__desc--nolabel {
|
||||||
|
margin-top: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__content__footer {
|
||||||
|
flex-direction: row;
|
||||||
|
justify-content: flex-start;
|
||||||
|
position: relative;
|
||||||
|
padding-right: 2.4vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__content__append,
|
||||||
|
.cell__content__footer {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__content__append {
|
||||||
|
flex-direction: column;
|
||||||
|
justify-content: center;
|
||||||
|
padding-right: 4vw;
|
||||||
|
height: 6.4vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__access {
|
||||||
|
color: inherit;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell__access::after {
|
||||||
|
content: " ";
|
||||||
|
display: inline-block;
|
||||||
|
box-sizing: border-box;
|
||||||
|
height: 2.4vw;
|
||||||
|
width: 2.4vw;
|
||||||
|
border-color: #c7c7cc;
|
||||||
|
border-style: solid;
|
||||||
|
border-width: 0.533vw 0.533vw 0 0;
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%) matrix(.71, .71, -.71, .71, 0, 0);
|
||||||
|
right: 0;
|
||||||
|
right: 0.8vw;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell--no-access {
|
||||||
|
padding-right: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell--disabled {
|
||||||
|
opacity: .3;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cell--active {
|
||||||
|
background: #f9f9f9;
|
||||||
|
}
|
16
src/gwongzau-hc/manifest.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"short_name": "穗康码",
|
||||||
|
"name": "穗康码",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "static/logo.png",
|
||||||
|
"type": "image/png",
|
||||||
|
"sizes": "140x140"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id": "ilovexjp-gwongzau-hc-simulator",
|
||||||
|
"start_url": "./checkin.html",
|
||||||
|
"display": "standalone",
|
||||||
|
"scope": "/",
|
||||||
|
"description": "穗康码模拟"
|
||||||
|
}
|
BIN
src/gwongzau-hc/static/goBackArrow.png
Normal file
After Width: | Height: | Size: 211 B |
BIN
src/gwongzau-hc/static/health-code2.gif
Normal file
After Width: | Height: | Size: 13 KiB |
BIN
src/gwongzau-hc/static/icon-Travel-card.png
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
src/gwongzau-hc/static/icon-health-nucleic-acid.png
Normal file
After Width: | Height: | Size: 3.7 KiB |
BIN
src/gwongzau-hc/static/logo.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
src/gwongzau-hc/static/topScorll.png
Normal file
After Width: | Height: | Size: 530 B |
BIN
src/gwongzau-hc/static/travel-card.png
Normal file
After Width: | Height: | Size: 835 B |
7432
src/henan-hc/checkin.css
Normal file
346
src/henan-hc/checkin.html
Normal file
@ -0,0 +1,346 @@
|
|||||||
|
<!DOCTYPE html>
|
||||||
|
<title>河南省疫情防控场所码</title>
|
||||||
|
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
|
||||||
|
<meta name="viewport" content="width=device-width,height=device-height,viewport-fit=cover,initial-scale=1,maximum-scale=1,user-scalable=0">
|
||||||
|
<meta name="theme-color" content="#EDEDED">
|
||||||
|
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||||
|
<link rel="manifest" href="manifest.json">
|
||||||
|
<link rel="icon" type="image/png" href="./static/logo.png">
|
||||||
|
<link rel="apple-touch-icon" sizes="676x676" href="./static/logo.png">
|
||||||
|
<link href="checkin.css" rel="stylesheet">
|
||||||
|
<link href="../common/nav.css" rel="stylesheet">
|
||||||
|
<script src="../common/base.js"></script>
|
||||||
|
|
||||||
|
<div id="app" class="app-container">
|
||||||
|
<div class="weui-navigation-bar browser">
|
||||||
|
<div class="weui-navigation-bar__placeholder"></div>
|
||||||
|
<div class="weui-navigation-bar__inner">
|
||||||
|
<div class="weui-navigation-bar__left">
|
||||||
|
<div class="weui-navigation-bar__buttons" onclick="history.back();">
|
||||||
|
<div class="weui-navigation-bar__button weui-navigation-bar__btn_goback"></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="weui-navigation-bar__center">
|
||||||
|
<text>河南省疫情防控场所码</text>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-box">
|
||||||
|
<div class="flex-header">
|
||||||
|
<div class="container">
|
||||||
|
<div class="mainBox">
|
||||||
|
<div class="mainBox-top green"></div>
|
||||||
|
<div class="mainBox-bottom green"></div>
|
||||||
|
</div>
|
||||||
|
<div class="cartoon">
|
||||||
|
<div
|
||||||
|
style="
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
overflow: hidden;
|
||||||
|
margin: 0px auto;
|
||||||
|
">
|
||||||
|
<svg
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
viewBox="0 0 750 528"
|
||||||
|
width="750"
|
||||||
|
height="528"
|
||||||
|
preserveAspectRatio="xMidYMid meet"
|
||||||
|
style="
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
transform: translate3d(0px, 0px, 0px);
|
||||||
|
content-visibility: visible;
|
||||||
|
">
|
||||||
|
<defs>
|
||||||
|
<clipPath id="__lottie_element_2">
|
||||||
|
<rect width="750" height="528" x="0" y="0"></rect>
|
||||||
|
</clipPath>
|
||||||
|
</defs>
|
||||||
|
<g clip-path="url(#__lottie_element_2)">
|
||||||
|
<g
|
||||||
|
style="animation: 3s infinite linear wave1"
|
||||||
|
opacity="1"
|
||||||
|
style="display: block">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,0,0)">
|
||||||
|
<path
|
||||||
|
fill="rgb(244,244,244)"
|
||||||
|
fill-opacity="0.15"
|
||||||
|
d=" M-1075.875,112 C-1185.8819580078125,110.45099639892578 -1491.875,252 -1491.875,252 C-1491.875,252 -1305.875,362 -1305.875,362 C-1305.875,362 -359.875,374 -359.875,374 C-359.875,374 -119.875,264 -119.875,264 C-119.875,264 -119.875,116 -279.875,118 C-407.864990234375,119.5999984741211 -530.875,195 -699.875,198 C-863.8610229492188,200.91099548339844 -933.875,114 -1075.875,112z M-280.875,112 C-390.8819885253906,110.45099639892578 -696.875,252 -696.875,252 C-696.875,252 -510.875,362 -510.875,362 C-510.875,362 435.125,374 435.125,374 C435.125,374 675.125,264 675.125,264 C675.125,264 675.125,116 515.125,118 C387.135009765625,119.5999984741211 264.125,195 95.125,198 C-68.86100006103516,200.91099548339844 -138.875,114 -280.875,112z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
style="animation: 3s infinite linear wave2"
|
||||||
|
opacity="1"
|
||||||
|
style="display: block">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,0,0)">
|
||||||
|
<g opacity="1" transform="matrix(1,0,0,1,0,0)">
|
||||||
|
<path
|
||||||
|
fill="rgb(244,244,244)"
|
||||||
|
fill-opacity="0.12"
|
||||||
|
d=" M-1050.43798828125,124 C-1160.4449462890625,122.45099639892578 -1364.43798828125,228 -1364.43798828125,228 C-1364.43798828125,228 -1194.43798828125,354 -1194.43798828125,354 C-1194.43798828125,354 -136.43800354003906,330 -136.43800354003906,330 C-136.43800354003906,330 37.0620002746582,273 37.0620002746582,273 C37.0620002746582,273 -212.4250030517578,124 -372.43701171875,124 C-482,124 -558,195 -716.43798828125,200 C-826.0189819335938,203.45799255371094 -908.43798828125,126 -1050.43798828125,124z M-1729.43798828125,124 C-1839.4449462890625,122.45099639892578 -2043.43798828125,228 -2043.43798828125,228 C-2043.43798828125,228 -1873.43798828125,354 -1873.43798828125,354 C-1873.43798828125,354 -815.43798828125,330 -815.43798828125,330 C-815.43798828125,330 -641.93798828125,273 -641.93798828125,273 C-641.93798828125,273 -891.426025390625,124 -1051.43798828125,124 C-1161,124 -1237,195 -1395.43798828125,200 C-1505.01904296875,203.45799255371094 -1587.43798828125,126 -1729.43798828125,124z"></path>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="area" id="place"></div>
|
||||||
|
<div class="querylist-card">
|
||||||
|
<div class="list">
|
||||||
|
<div class="list-date" id="date"></div>
|
||||||
|
<div class="list-time">
|
||||||
|
<div class="time">
|
||||||
|
<ul class="numbers hoursFirst">
|
||||||
|
<li class="liItem">0</li>
|
||||||
|
<li class="liItem">1</li>
|
||||||
|
<li class="liItem">2</li>
|
||||||
|
<li class="liItem">3</li>
|
||||||
|
<li class="liItem">4</li>
|
||||||
|
<li class="liItem">5</li>
|
||||||
|
<li class="liItem">6</li>
|
||||||
|
<li class="liItem">7</li>
|
||||||
|
<li class="liItem">8</li>
|
||||||
|
<li class="liItem">9</li>
|
||||||
|
</ul><!--
|
||||||
|
--><ul class="numbers hoursLast">
|
||||||
|
<li>0</li>
|
||||||
|
<li>1</li>
|
||||||
|
<li>2</li>
|
||||||
|
<li>3</li>
|
||||||
|
<li>4</li>
|
||||||
|
<li>5</li>
|
||||||
|
<li>6</li>
|
||||||
|
<li>7</li>
|
||||||
|
<li>8</li>
|
||||||
|
<li>9</li>
|
||||||
|
</ul><!--
|
||||||
|
--><span class="icon">:</span><!--
|
||||||
|
--><ul class="numbers minutesFirst">
|
||||||
|
<li>0</li>
|
||||||
|
<li>1</li>
|
||||||
|
<li>2</li>
|
||||||
|
<li>3</li>
|
||||||
|
<li>4</li>
|
||||||
|
<li>5</li>
|
||||||
|
<li>6</li>
|
||||||
|
<li>7</li>
|
||||||
|
<li>8</li>
|
||||||
|
<li>9</li>
|
||||||
|
</ul><!--
|
||||||
|
--><ul class="numbers minutesLast">
|
||||||
|
<li>0</li>
|
||||||
|
<li>1</li>
|
||||||
|
<li>2</li>
|
||||||
|
<li>3</li>
|
||||||
|
<li>4</li>
|
||||||
|
<li>5</li>
|
||||||
|
<li>6</li>
|
||||||
|
<li>7</li>
|
||||||
|
<li>8</li>
|
||||||
|
<li>9</li>
|
||||||
|
</ul><!--
|
||||||
|
--><span class="icon">:</span><!--
|
||||||
|
--><ul class="numbers secondsFirst">
|
||||||
|
<li>0</li>
|
||||||
|
<li>1</li>
|
||||||
|
<li>2</li>
|
||||||
|
<li>3</li>
|
||||||
|
<li>4</li>
|
||||||
|
<li>5</li>
|
||||||
|
<li>6</li>
|
||||||
|
<li>7</li>
|
||||||
|
<li>8</li>
|
||||||
|
<li>9</li>
|
||||||
|
</ul><!--
|
||||||
|
--><ul class="numbers secondsLast">
|
||||||
|
<li>0</li>
|
||||||
|
<li>1</li>
|
||||||
|
<li>2</li>
|
||||||
|
<li>3</li>
|
||||||
|
<li>4</li>
|
||||||
|
<li>5</li>
|
||||||
|
<li>6</li>
|
||||||
|
<li>7</li>
|
||||||
|
<li>8</li>
|
||||||
|
<li>9</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="flex-content">
|
||||||
|
<div class="base-wrapper">
|
||||||
|
<div class="travalBox">
|
||||||
|
<div class="travalBox-top">
|
||||||
|
<div class="name" id="masked-name" data-group="masked"></div>
|
||||||
|
<div class="name" id="name" data-group="unmasked"></div>
|
||||||
|
<div class="card">
|
||||||
|
<span id="masked-idcard" data-group="masked"></span>
|
||||||
|
<span id="idcard" data-group="unmasked"></span>
|
||||||
|
<img src="data:image/png;base64,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"
|
||||||
|
class="eyeIcon" data-group="masked" onclick="toggleMask(false);">
|
||||||
|
<img src="data:image/png;base64,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" class="eyeIcon" data-group="unmasked" onclick="toggleMask(true);">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="travalBox-bottom">
|
||||||
|
<!---->
|
||||||
|
<div class="travalBox-left">
|
||||||
|
<div class="top-info"><span>核酸检测结果</span></div>
|
||||||
|
<div class="yin">
|
||||||
|
<div class="hour">24</div>
|
||||||
|
<div class="result">
|
||||||
|
<div class="result-top">小时内</div>
|
||||||
|
<div class="result-bottom">阴性</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="travalBox-right">
|
||||||
|
<div class="common-label">疫苗接种</div>
|
||||||
|
<div><div class="span-blue">已接种 3 针剂</div></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<!-- <div class="message">
|
||||||
|
<div class="message-left">
|
||||||
|
<div class="label">最近核酸检测</div>
|
||||||
|
<div class="bgsj2" onclick="this.innerHTML = this.innerHTML == '检测时间' ? '采样时间' : '检测时间';">采样时间</div>
|
||||||
|
<div class="desc"><span id="month"></span>月<span id="day"></span>日<span class="bgsj" id="time"></span></div>
|
||||||
|
</div>
|
||||||
|
<div class="message-right">
|
||||||
|
<div class="label label2">距到期还剩</div>
|
||||||
|
<div class="desc">
|
||||||
|
<span>
|
||||||
|
<span class="blue-hour" id="hours-left"></span>小时
|
||||||
|
<span class="blue-hour" id="minutes-left">24</span>分
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div> -->
|
||||||
|
</div>
|
||||||
|
<!---->
|
||||||
|
<div class="button-group">
|
||||||
|
<button onclick="navigateToTripCard();"
|
||||||
|
class="van-button van-button--primary van-button--large van-button--plain van-button--round">
|
||||||
|
<div class="van-button__content">
|
||||||
|
<span class="van-button__text">查看行程卡</span>
|
||||||
|
</div>
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
<div class="trave-wrapper">
|
||||||
|
<div
|
||||||
|
data-v-1f61d2dc=""
|
||||||
|
class="bottom-card-wrapper"
|
||||||
|
allinfo="[object Object]">
|
||||||
|
<div data-v-1f61d2dc="" class="btnsItem">
|
||||||
|
<div data-v-1f61d2dc="" class="item">
|
||||||
|
<img
|
||||||
|
data-v-1f61d2dc=""
|
||||||
|
src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAF8AAABeCAMAAAByzjhiAAAAflBMVEUAAAAR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwR0cwl1DvEAAAAKXRSTlMAYNBwwDAkQBiwIPAPTvygO9odC6kr6btam2gTjoV8XTMH9ePItpRIYzOF2YYAAAISSURBVGje7drbjqJAFIXh1aANKiBHz9raHmbW+7/gdFdAYJqiKmhdOFPf3U7Mb4IxbELhm7fLJxL5/oial9CJm/NtOZJYrkNA8EfslQco+Z8kZ/59XLLXZSo+daaCkwHCSoyrcgoSKpx9ADmVdoDwJqa3clpTaQJkVIuCjv42oloGnxrCjn5IDT6m1LDp6G+oYYp3anA7+q7t277t277t277t2/5r9lNq+Ojor6ghxZYajh39MTVsgQWVEnT04VBpobdHhp19L9K7rjv1r1sVxRij9Fv1BQcIocMeFw93E5Jz3B2vEaWikYdKGnsSsY+m0P3VmrNiLFEEsKzHFbljSl4ApxnNmZ2Q0qTUeD+LaE6UAWFCU5IQlvW4QH6by2T3R33eiHLRMsZd3rq/x7d5ZR2i6fTmCh6+HNgvcu/B1n6yitiwR61eeQLgY+h+dWZT5KM2Yskfvh9mbIs7+8P324BtXmdfcz8f3Nd8vvjP+jlLWzP96Xwi7GGkX3uhfvzc/o8/fvrsvsumOZ7dRzgZVa4uIKzc2qYY2pdz2HQw3GdmuO+/Wj8x1o+9Lzsa68/4zfb/nX4xFjJD/bzavk5G+nWwqMbh75d7++O+fkoN4fB+RrVoO7yPK5XWeKCfLqiQBO3zFd39RNLH1GGvpd86H/Lp/70/vEP2GLSAEK7lx1Runux8y2YxE6qrt/9xhS5j/AE5+m++jR+RigAAAABJRU5ErkJggg=="
|
||||||
|
class="img" />
|
||||||
|
<div data-v-1f61d2dc="" class="text">核酸检测码</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div data-v-1f61d2dc="" class="btnsItem">
|
||||||
|
<div data-v-1f61d2dc="" class="item">
|
||||||
|
<img
|
||||||
|
data-v-1f61d2dc=""
|
||||||
|
src="data:image/png;base64,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"
|
||||||
|
class="img" />
|
||||||
|
<div data-v-1f61d2dc="" class="text">来豫报备</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div data-v-1f61d2dc="" class="btnsItem">
|
||||||
|
<div data-v-1f61d2dc="" class="item">
|
||||||
|
<img
|
||||||
|
data-v-1f61d2dc=""
|
||||||
|
src="data:image/png;base64,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"
|
||||||
|
class="img" />
|
||||||
|
<div data-v-1f61d2dc="" class="text">采样点查询</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div data-v-1f61d2dc="" class="btnsItem">
|
||||||
|
<div data-v-1f61d2dc="" class="item page-jump-wrapper">
|
||||||
|
<img
|
||||||
|
data-v-1f61d2dc=""
|
||||||
|
src="data:image/png;base64,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"
|
||||||
|
class="img" />
|
||||||
|
<div data-v-1f61d2dc="" class="text">乘车码</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script>
|
||||||
|
window.addEventListener("resize", adjustFontSize);
|
||||||
|
function adjustFontSize() {
|
||||||
|
document.documentElement.style.fontSize =
|
||||||
|
Math.min(540, document.documentElement.getBoundingClientRect().width) / 10 + "px";
|
||||||
|
}
|
||||||
|
adjustFontSize();
|
||||||
|
|
||||||
|
function getFirstDigit(e) {
|
||||||
|
return parseInt(e / 10);
|
||||||
|
}
|
||||||
|
function getLastDigit(e) {
|
||||||
|
return e % 10;
|
||||||
|
}
|
||||||
|
function move() {
|
||||||
|
function e(e, t) {
|
||||||
|
var a = document.getElementsByClassName(e)[0];
|
||||||
|
(e = (getComputedStyle(a, !1).height.replace("px", "") / 10).toFixed(
|
||||||
|
2
|
||||||
|
)),
|
||||||
|
(t = getFirstDigit(t));
|
||||||
|
a.style.top = -t * e + "px";
|
||||||
|
}
|
||||||
|
var t = (s = new Date()).getSeconds(),
|
||||||
|
a = s.getMinutes(),
|
||||||
|
i = s.getHours(),
|
||||||
|
s = function (e, t) {
|
||||||
|
var a = document.getElementsByClassName(e)[0];
|
||||||
|
(e = (
|
||||||
|
getComputedStyle(a, !1).height.replace("px", "") / 10
|
||||||
|
).toFixed(2)),
|
||||||
|
(t = getLastDigit(t));
|
||||||
|
a.style.top = -t * e + "px";
|
||||||
|
};
|
||||||
|
e("hoursFirst", i),
|
||||||
|
s("hoursLast", i),
|
||||||
|
e("minutesFirst", a),
|
||||||
|
s("minutesLast", a),
|
||||||
|
e("secondsFirst", t),
|
||||||
|
s("secondsLast", t);
|
||||||
|
}
|
||||||
|
move();
|
||||||
|
window.setInterval(move, 500);
|
||||||
|
|
||||||
|
setStaticTime("#date", 0, 10, 0, 0, (s) => s.replace("-", "年").replace("-", "月") + "日");
|
||||||
|
setStaticTime("#month", 5, 7);
|
||||||
|
setStaticTime("#day", 8, 10);
|
||||||
|
|
||||||
|
let traceback_hours = 6 + 10 * Math.random();
|
||||||
|
setStaticTime("#time", 11, 16, traceback_hours);
|
||||||
|
// document.querySelector("#hours-left").innerHTML = Math.floor(48 - traceback_hours);
|
||||||
|
// document.querySelector("#minutes-left").innerHTML = Math.ceil(((48 - traceback_hours) - Math.floor(48 - traceback_hours)) * 60);
|
||||||
|
|
||||||
|
addStorageField("_name", "#name", "名字", "习近平");
|
||||||
|
addStorageField("_name", "#masked-name", "名字", "习近平", presetFilters.name);
|
||||||
|
addStorageField("_place", "#place", "场所地点", "四通桥");
|
||||||
|
addStorageField("_idcard", "#idcard", "身份证号", "110101195306153019");
|
||||||
|
addStorageField("_idcard", "#masked-idcard", "身份证号", "110101195306153019", presetFilters.idcard(6, 4, 10));
|
||||||
|
|
||||||
|
document.querySelectorAll("[data-group=unmasked]").forEach((e) => { e.style.display = "none"; })
|
||||||
|
|
||||||
|
function toggleMask(t) {
|
||||||
|
document.querySelectorAll("[data-group=masked]").forEach((e) => { e.style.display = t ? "block" : "none"; })
|
||||||
|
document.querySelectorAll("[data-group=unmasked]").forEach((e) => { e.style.display = t ? "none" : "block"; })
|
||||||
|
}
|
||||||
|
|
||||||
|
initServiceWorker("henan-hc");
|
||||||
|
</script>
|
394
src/henan-hc/index.html
Normal file
16
src/henan-hc/manifest.json
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
{
|
||||||
|
"short_name": "豫康码",
|
||||||
|
"name": "豫康码",
|
||||||
|
"icons": [
|
||||||
|
{
|
||||||
|
"src": "static/logo.png",
|
||||||
|
"type": "image/png",
|
||||||
|
"sizes": "120x120"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"id": "ilovexjp-henan-hc-simulator",
|
||||||
|
"start_url": ".",
|
||||||
|
"display": "standalone",
|
||||||
|
"scope": "/",
|
||||||
|
"description": "豫康码模拟"
|
||||||
|
}
|
BIN
src/henan-hc/static/A-2NeSKm-QgsAAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 657 B |
BIN
src/henan-hc/static/A1k4zRovE_bUAAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 2.1 KiB |
BIN
src/henan-hc/static/A2S3dTIou2YsAAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 3.3 KiB |
BIN
src/henan-hc/static/A5SeORrczUVUAAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 746 B |
BIN
src/henan-hc/static/A5dkJQJC1ie4AAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
src/henan-hc/static/A7OCDT5H8ZDAAAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 656 B |
BIN
src/henan-hc/static/AAE0_Q5LBeuoAAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 2.2 KiB |
BIN
src/henan-hc/static/AJd-0Sb3G_ikAAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
BIN
src/henan-hc/static/APpLHR6uoJVYAAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 2.9 KiB |
BIN
src/henan-hc/static/A_K4HToyDDUUAAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
src/henan-hc/static/Acb_AQbrUPVAAAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 291 B |
BIN
src/henan-hc/static/Ae4rkQItFlVsAAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
BIN
src/henan-hc/static/AetxPR4FIEr0AAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 1.0 KiB |
BIN
src/henan-hc/static/AkKxZTZcbcC4AAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 12 KiB |
BIN
src/henan-hc/static/AkqtASpyxcVEAAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 7.9 KiB |
BIN
src/henan-hc/static/Ao83ZRZGfQNMAAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
src/henan-hc/static/AoNGFRZnWseQAAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 2.5 KiB |
BIN
src/henan-hc/static/Apbe5QbKkU14AAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 736 B |
BIN
src/henan-hc/static/AvuV2SpriSJ4AAAAAAAAAAAAAARQnAQ.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
1
src/henan-hc/static/antdesigns.7b8287b9.chunk.css
Normal file
1
src/henan-hc/static/code.fdf7167f.css
Normal file
1
src/henan-hc/static/common.deed9a9a.css
Normal file
1
src/henan-hc/static/default.umi.f3d7f435.chunk.css
Normal file
@ -0,0 +1 @@
|
|||||||
|
html{font-size:10px}
|