Update 7850c886
@ -247,7 +247,7 @@ footer {
|
||||
}
|
||||
|
||||
.link-wrapper {
|
||||
margin: 2px 8px;
|
||||
margin: 4px 8px;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
|
12
src/app.js
@ -60,7 +60,10 @@ const apps = {
|
||||
color: "#bf4046",
|
||||
help_text:
|
||||
"<p>点击姓名、证件号、场所地址等可以修改对应信息;</p><p>点击照片可以更改或移除照片,超过 4MB 的图片可能无法在本地保存;</p><p>点击二维码展示场所码。</p>",
|
||||
menu: [{ title: "场所", icon: "place", link: "ssm/checkin.html" }],
|
||||
menu: [
|
||||
{ title: "扫描", icon: "qr_code_scanner", link: "ssm/scan.html" },
|
||||
{ title: "场所", icon: "place", link: "ssm/checkin.html" },
|
||||
],
|
||||
},
|
||||
"shandong-hc": {
|
||||
title: "山东健康通行码",
|
||||
@ -163,6 +166,13 @@ const apps = {
|
||||
{ title: "核酸", icon: "vaccines", link: "chongqing-hc/detail.html" },
|
||||
]
|
||||
},
|
||||
"hebei-hc": {
|
||||
title: "河北健康码",
|
||||
icon: "hebei-hc/static/logo.png",
|
||||
link: "hebei-hc/index.html",
|
||||
color: "#926266",
|
||||
help_text: "<p>点击地点名称、姓名、证件号可以修改对应信息;</p><p>点击“扫码未见异常”可以隐藏该标识。</p>",
|
||||
},
|
||||
};
|
||||
|
||||
function onIconFail(t) {
|
||||
|
@ -69,7 +69,7 @@ body {
|
||||
}
|
||||
|
||||
.top {
|
||||
background-image: url("https://static-1300672061.file.myqcloud.com/cos/code_background.png");
|
||||
background-image: url("./static/code_background.png");
|
||||
background-repeat: no-repeat;
|
||||
background-size: 100% 100%;
|
||||
}
|
||||
|
@ -3,8 +3,8 @@
|
||||
<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="#368CF5">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||
<meta name="theme-color" content="#FFFFFF">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="default">
|
||||
<link rel="manifest" href="manifest.json">
|
||||
<link rel="icon" type="image/png" href="./static/logo.png">
|
||||
<link rel="apple-touch-icon" sizes="64x64" href="./static/logo.png">
|
||||
@ -98,14 +98,15 @@
|
||||
</view>
|
||||
<view class="summary">
|
||||
<view class="stitle">服务说明:</view>
|
||||
<view class="stext" wx:if="{{incomeType==='inside'}}">相关查询结果基于卫生健康部门数据库,数据由各检测机构提供,正在不断汇聚更新中。若有疑问,请咨询核酸检测机构。</view>
|
||||
<view class="stext" wx:if="{{incomeType==='external'}}">相关查询结果由卫生健康部门数据库提供,若有疑问,请咨询核酸检测机构。</view>
|
||||
<view class="stext">相关查询结果基于卫生健康部门数据库,数据由各检测机构提供,正在不断汇聚更新中。若有疑问,请咨询核酸检测机构。</view>
|
||||
</view>
|
||||
</view>
|
||||
<script>
|
||||
addStorageField("_name", "#name", "名字", "习近平", presetFilters.lastnameonly);
|
||||
addStorageField("_name", "#name", "名字", "习近平", function(n) {
|
||||
return null == n ? "" : 2 == n.length ? "*" + n.substring(1, 2) : 3 == n.length ? n.substring(0, 1) + "*" + n.substring(2, 3) : n.length > 3 ? n.substring(0, 1) + "**" + n.substring(3, n.length) : void 0;
|
||||
});
|
||||
addStorageField("_idcard", "#idcard", "身份证号", "110101195306153019", presetFilters.idcard(6, 4));
|
||||
addStorageField("_phone", "#phone", "手机号码", "13019890604", presetFilters.phone());
|
||||
addStorageField("_phone", "#phone", "手机号码", "13019890604", presetFilters.phone(3, 3));
|
||||
|
||||
// addStorageField("_covid_test_id", "#covid-test-id", "检测报告编号", "000000000000");
|
||||
addStorageField("_covid_test_method", "#covid-test-method", "采样方式", "咽拭子");
|
||||
|
@ -1,7 +1,8 @@
|
||||
<!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="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="#368CF5">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||
<link rel="manifest" href="manifest.json">
|
||||
@ -11,16 +12,16 @@
|
||||
<link rel="stylesheet" href="../common/nav.css">
|
||||
<script src="../common/base.js"></script>
|
||||
|
||||
<div class="capsule capsule--wechat capsule--alternative" onclick="navigateHome();">
|
||||
<div class="capsule capsule--wechat" 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"/>
|
||||
<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="capsule__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"/>
|
||||
<circle cx="30" cy="30" r="9" />
|
||||
<circle cx="30" cy="30" r="23" stroke-width="6" fill="transparent" />
|
||||
</svg>
|
||||
</div>
|
||||
|
||||
@ -38,14 +39,14 @@
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar__center">
|
||||
<span>我的渝康码</span>
|
||||
<span style="font-weight: normal;">我的渝康码</span>
|
||||
</div>
|
||||
<div class="navbar__right"></div>
|
||||
</div>
|
||||
</div>
|
||||
</view>
|
||||
<view class="light-code-container">
|
||||
<view class="top top_bg_mine">
|
||||
<view class="top">
|
||||
<view class="top-tip">温馨提示:代人申领已移至首页防疫服务的“亲友代领”</view>
|
||||
<view class="top-info">
|
||||
<view class="top-info-name" id="masked-info">
|
||||
@ -77,13 +78,11 @@
|
||||
</view>
|
||||
</view>
|
||||
<view class="middle">
|
||||
<view bindtap="handleNavigateTo"
|
||||
class="block-item nucleic-block nucleic-block__active"
|
||||
>
|
||||
<view class="block-item nucleic-block nucleic-block__active" onclick="window.location.href = 'detail.html';">
|
||||
<view class="block-title">
|
||||
<text>核酸检测</text>
|
||||
</view>
|
||||
<view class="block-container" onclick="window.location.href = 'detail.html';">
|
||||
<view class="block-container">
|
||||
<view class="block-number">24</view>
|
||||
<view class="block-des">
|
||||
<view class="block-des-item">小时</view>
|
||||
@ -95,9 +94,7 @@
|
||||
<text wx:if="{{orderState}}">({{orderNumber}}s)</text>
|
||||
</view> -->
|
||||
</view>
|
||||
<view bindtap="handleNavigateTo"
|
||||
class="block-item vaccines-block vaccines-block__active"
|
||||
>
|
||||
<view bindtap="handleNavigateTo" class="block-item vaccines-block vaccines-block__active">
|
||||
<view class="block-title">
|
||||
<text>疫苗接种</text>
|
||||
</view>
|
||||
|
BIN
src/chongqing-hc/static/code_background.png
Normal file
After Width: | Height: | Size: 175 KiB |
Before Width: | Height: | Size: 55 KiB |
BIN
src/common/images/reddit-logo.png
Normal file
After Width: | Height: | Size: 4.0 KiB |
1754
src/hebei-hc/app.css
Normal file
265
src/hebei-hc/index.html
Normal file
16
src/hebei-hc/manifest.json
Normal file
@ -0,0 +1,16 @@
|
||||
{
|
||||
"short_name": "河北健康码",
|
||||
"name": "河北健康码",
|
||||
"icons": [
|
||||
{
|
||||
"src": "static/logo.png",
|
||||
"type": "image/png",
|
||||
"sizes": "460x460"
|
||||
}
|
||||
],
|
||||
"id": "ilovexjp-hebei-hc-simulator",
|
||||
"start_url": ".",
|
||||
"display": "standalone",
|
||||
"scope": "/",
|
||||
"description": "河北健康码模拟"
|
||||
}
|
BIN
src/hebei-hc/static/banner.png
Normal file
After Width: | Height: | Size: 320 KiB |
BIN
src/hebei-hc/static/biankuang3.png
Normal file
After Width: | Height: | Size: 49 KiB |
BIN
src/hebei-hc/static/bmcc.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
src/hebei-hc/static/cjwt.png
Normal file
After Width: | Height: | Size: 7.5 KiB |
BIN
src/hebei-hc/static/close.png
Normal file
After Width: | Height: | Size: 300 B |
BIN
src/hebei-hc/static/csm.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
BIN
src/hebei-hc/static/dl.png
Normal file
After Width: | Height: | Size: 7.2 KiB |
BIN
src/hebei-hc/static/dzjkk.png
Normal file
After Width: | Height: | Size: 6.4 KiB |
BIN
src/hebei-hc/static/hsjc.png
Normal file
After Width: | Height: | Size: 1.4 KiB |
BIN
src/hebei-hc/static/huangguan.png
Normal file
After Width: | Height: | Size: 20 KiB |
BIN
src/hebei-hc/static/icon_home_selected@2x.png
Normal file
After Width: | Height: | Size: 487 B |
BIN
src/hebei-hc/static/icon_me@2x.png
Normal file
After Width: | Height: | Size: 453 B |
BIN
src/hebei-hc/static/jkxx.png
Normal file
After Width: | Height: | Size: 6.9 KiB |
BIN
src/hebei-hc/static/kyzcsb.png
Normal file
After Width: | Height: | Size: 5.8 KiB |
BIN
src/hebei-hc/static/logo.png
Normal file
After Width: | Height: | Size: 220 KiB |
BIN
src/hebei-hc/static/logo2.gif
Normal file
After Width: | Height: | Size: 224 KiB |
BIN
src/hebei-hc/static/lyzc.png
Normal file
After Width: | Height: | Size: 7.3 KiB |
BIN
src/hebei-hc/static/map.png
Normal file
After Width: | Height: | Size: 14 KiB |
BIN
src/hebei-hc/static/more.png
Normal file
After Width: | Height: | Size: 460 B |
BIN
src/hebei-hc/static/qvkaitong.png
Normal file
After Width: | Height: | Size: 1013 B |
BIN
src/hebei-hc/static/rjbjkm.png
Normal file
After Width: | Height: | Size: 6.7 KiB |
BIN
src/hebei-hc/static/snhsjcjg.png
Normal file
After Width: | Height: | Size: 7.2 KiB |
BIN
src/hebei-hc/static/syfxzb.png
Normal file
After Width: | Height: | Size: 10 KiB |
BIN
src/hebei-hc/static/txdsj.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/hebei-hc/static/txdsjxck.png
Normal file
After Width: | Height: | Size: 8.8 KiB |
BIN
src/hebei-hc/static/wyss.png
Normal file
After Width: | Height: | Size: 2.4 KiB |
BIN
src/hebei-hc/static/xgymjzxx.png
Normal file
After Width: | Height: | Size: 7.1 KiB |
@ -188,11 +188,6 @@ img {
|
||||
box-shadow: 0 1.333vw 2.667vw hsla(0, 0%, 84.7%, 0.5);
|
||||
content: "viewport-units-buggyfill; -webkit-box-shadow: 0px 1.333vw 2.667vw rgba(216, 216, 216, .5); box-shadow: 0px 1.333vw 2.667vw rgba(216, 216, 216, .5)";
|
||||
}
|
||||
.container header .card-info.inline .card-info-normal > span[data-v-64f646d0],
|
||||
.container header .card-info.inline .card-info-normal > span[data-v-8d952c2c],
|
||||
.no-before:before {
|
||||
display: none;
|
||||
}
|
||||
.item-arrow {
|
||||
padding-bottom: 2.667vw;
|
||||
height: 1.333vw;
|
||||
@ -529,32 +524,57 @@ ul {
|
||||
letter-spacing: 0.2em;
|
||||
content: "viewport-units-buggyfill; width: 26.667vw; height: 8vw; font-size: 4.8vw";
|
||||
}
|
||||
.container header .card-info[data-v-64f646d0],
|
||||
.container header .card-info[data-v-8d952c2c] {
|
||||
font-weight: 700;
|
||||
font-size: 4.8vw;
|
||||
content: "viewport-units-buggyfill; font-size: 4.8vw";
|
||||
|
||||
.container header .card-info {
|
||||
font-weight:700;
|
||||
display:-webkit-box;
|
||||
display:-webkit-flex;
|
||||
display:-ms-flexbox;
|
||||
display:flex;
|
||||
-webkit-box-align:start;
|
||||
-ms-flex-align:start;
|
||||
align-items:flex-start
|
||||
}
|
||||
.container header .card-info.inline > div[data-v-64f646d0],
|
||||
.container header .card-info.inline > div[data-v-8d952c2c] {
|
||||
vertical-align: top;
|
||||
display: inline-block;
|
||||
}
|
||||
.container header .card-info.inline > .card-info-name[data-v-64f646d0],
|
||||
.container header .card-info.inline > .card-info-name[data-v-8d952c2c] {
|
||||
margin-right: 9.333vw;
|
||||
content: "viewport-units-buggyfill; margin-right: 9.333vw";
|
||||
}
|
||||
.container header .card-info .card-info-name[data-v-64f646d0],
|
||||
.container header .card-info .card-info-name[data-v-8d952c2c] {
|
||||
.container header .card-info .card-info-name {
|
||||
margin-bottom:1.333vw;
|
||||
font-size:4.8vw;
|
||||
line-height:4.8vw;
|
||||
content:"viewport-units-buggyfill";
|
||||
margin-bottom: 1.333vw;
|
||||
content: "viewport-units-buggyfill; margin-bottom: 1.333vw";
|
||||
font-size: 4.8vw;
|
||||
line-height: 4.8vw;
|
||||
}
|
||||
.container header .card-info .card-info-normal[data-v-64f646d0],
|
||||
.container header .card-info .card-info-normal[data-v-8d952c2c] {
|
||||
font-size: 3.733vw;
|
||||
color: #656565;
|
||||
content: "viewport-units-buggyfill; font-size: 3.733vw";
|
||||
.container header .card-info .card-info-right {
|
||||
margin-left:4vw;
|
||||
content:"viewport-units-buggyfill";
|
||||
margin-left: 4vw;
|
||||
}
|
||||
.container header .card-info .card-info-normal {
|
||||
display:-webkit-box;
|
||||
display:-webkit-flex;
|
||||
display:-ms-flexbox;
|
||||
display:flex;
|
||||
-webkit-box-align:center;
|
||||
-ms-flex-align:center;
|
||||
align-items:center;
|
||||
font-size:3.867vw;
|
||||
font-weight:400;
|
||||
color:#5d5d5d;
|
||||
line-height:3.867vw;
|
||||
margin-bottom:.8vw;
|
||||
content:"viewport-units-buggyfill";
|
||||
font-size: 3.867vw;
|
||||
line-height: 3.867vw;
|
||||
margin-bottom: 0.8vw;
|
||||
}
|
||||
.container header .card-info .card-info-normal .sfz-icon {
|
||||
width:4.8vw;
|
||||
height:4.8vw;
|
||||
margin-right:2vw;
|
||||
content:"viewport-units-buggyfill";
|
||||
width: 4.8vw;
|
||||
height: 4.8vw;
|
||||
margin-right: 2vw;
|
||||
}
|
||||
.container header .qrcode[data-v-8d952c2c] {
|
||||
position: relative;
|
||||
|
@ -48,6 +48,11 @@
|
||||
onclick='window.location.href="https://t.me/gh_ilovexjp"'>
|
||||
<img src="common/images/telegram-logo.svg" /> <span>@gh_ilovexjp</span>
|
||||
</div>
|
||||
<div
|
||||
class="link-wrapper"
|
||||
onclick='window.location.href="https://www.reddit.com/r/ILoveHealthCode/"'>
|
||||
<img src="common/images/reddit-logo.png" /> <span>r/ILoveHealthCode</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="links-list links-list-help">
|
||||
@ -60,7 +65,7 @@
|
||||
|
||||
<div class="links-list links-list-help">
|
||||
<div class="link-wrapper">
|
||||
<a href="https://www.reddit.com/r/ILoveHealthCode/">Reddit</a>
|
||||
<a href="https://codeberg.org/ilovexjp/health-code-simulator/src/branch/main/docs/FAQ.md">常见问题</a>
|
||||
</div>
|
||||
<div class="link-wrapper">
|
||||
<a href="https://t.me/s/gh_ilovexjp/23">捐赠</a>
|
||||
@ -68,11 +73,8 @@
|
||||
<div class="link-wrapper">
|
||||
<a id="clear-local-data">清除本地数据</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="links-list links-list-help">
|
||||
<div class="link-wrapper">
|
||||
<span id="last-update" onclick="updateServiceWorker(this);">上次更新:2022-11-21<span id="last-update-version"></span></span>
|
||||
<span id="last-update" onclick="updateServiceWorker(this);">上次更新:2022-11-25<span id="last-update-version"></span></span>
|
||||
</div>
|
||||
</div>
|
||||
</footer>
|
||||
|
@ -2,8 +2,11 @@
|
||||
<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="#000000">
|
||||
<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/logo_jiankangbao1@2x.png">
|
||||
<link rel="apple-touch-icon" sizes="128x128" href="./static/logo_jiankangbao1@2x.png">
|
||||
<link rel="stylesheet" href="../common/nav.css">
|
||||
<script src="../common/base.js"></script>
|
||||
<style>
|
||||
|
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 8.4 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 184 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 31 KiB |
Before Width: | Height: | Size: 5.7 KiB |
Before Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.3 KiB |
@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1665477087240" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5128" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><path d="M960.8 515c-0.2-11.7-5.5-23.2-15.4-30.9-17.5-13.7-42.8-10.7-56.6 6.8-5.7 7.3-8.5 15.8-8.6 24.4h-0.4c-0.6 78.3-26.1 157-78 223.3-124.9 159.2-356 187.1-515.2 62.3S99.4 445 224.3 285.8c124.9-159.2 356-187.1 515.2-62.3 29.6 23.2 54.6 50.1 75 79.5H741c-22.4 0-40.7 18.3-40.7 40.7v3c0 22.4 18.3 40.7 40.7 40.7h177.3c22.4 0 40.7-18.3 40.7-40.7V169.3c0-22.4-18.3-40.7-40.7-40.7h-3c-22.4 0-40.7 18.3-40.7 40.7v78.5c-24.1-32.9-52.6-62.4-85.2-88-47.6-37.3-101-64.2-158.9-79.9C574.6 64.8 517 60.7 459.3 67.6c-57.7 7-112.7 24.7-163.3 52.8-52.5 29-98 67.9-135.3 115.4-37.3 47.6-64.2 101-79.9 158.9-15.2 55.9-19.3 113.5-12.3 171.2 7 57.7 24.7 112.7 52.8 163.3 29 52.5 67.9 98 115.4 135.3 47.6 37.3 101 64.2 158.9 79.9 55.9 15.2 113.5 19.3 171.2 12.3 57.7-7 112.7-24.7 163.3-52.8 52.5-29 98-67.9 135.3-115.4 37.3-47.6 64.2-101 79.9-158.9 10.2-37.5 15.4-75.9 15.5-114.6z" p-id="5129" fill="#870101"></path></svg>
|
Before Width: | Height: | Size: 1.2 KiB |
@ -1 +0,0 @@
|
||||
<?xml version="1.0" standalone="no"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg t="1665477087240" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="5128" xmlns:xlink="http://www.w3.org/1999/xlink" width="128" height="128"><path d="M960.8 515c-0.2-11.7-5.5-23.2-15.4-30.9-17.5-13.7-42.8-10.7-56.6 6.8-5.7 7.3-8.5 15.8-8.6 24.4h-0.4c-0.6 78.3-26.1 157-78 223.3-124.9 159.2-356 187.1-515.2 62.3S99.4 445 224.3 285.8c124.9-159.2 356-187.1 515.2-62.3 29.6 23.2 54.6 50.1 75 79.5H741c-22.4 0-40.7 18.3-40.7 40.7v3c0 22.4 18.3 40.7 40.7 40.7h177.3c22.4 0 40.7-18.3 40.7-40.7V169.3c0-22.4-18.3-40.7-40.7-40.7h-3c-22.4 0-40.7 18.3-40.7 40.7v78.5c-24.1-32.9-52.6-62.4-85.2-88-47.6-37.3-101-64.2-158.9-79.9C574.6 64.8 517 60.7 459.3 67.6c-57.7 7-112.7 24.7-163.3 52.8-52.5 29-98 67.9-135.3 115.4-37.3 47.6-64.2 101-79.9 158.9-15.2 55.9-19.3 113.5-12.3 171.2 7 57.7 24.7 112.7 52.8 163.3 29 52.5 67.9 98 115.4 135.3 47.6 37.3 101 64.2 158.9 79.9 55.9 15.2 113.5 19.3 171.2 12.3 57.7-7 112.7-24.7 163.3-52.8 52.5-29 98-67.9 135.3-115.4 37.3-47.6 64.2-101 79.9-158.9 10.2-37.5 15.4-75.9 15.5-114.6z" p-id="5129" fill="#FFAD4E"></path></svg>
|
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 364 B |
Before Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 1.3 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 8.2 KiB |
Before Width: | Height: | Size: 4.3 KiB |
@ -1,206 +1,209 @@
|
||||
<!DOCTYPE html>
|
||||
<title>随申码</title>
|
||||
<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="#DDC089">
|
||||
<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/ssbapp-logo.png">
|
||||
<link rel="apple-touch-icon" sizes="492x492" href="./static/ssbapp-logo.png">
|
||||
<link rel="stylesheet" href="app.css">
|
||||
<link rel="stylesheet" href="../common/nav.css">
|
||||
<link href="./static/app.cbd0be69.css" rel="stylesheet">
|
||||
<script src="../common/base.js"></script>
|
||||
<style>
|
||||
.eyes-open #img-eyes-open {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.eyes-open #img-eyes-closed {
|
||||
display: none;
|
||||
}
|
||||
<body style="font-size: 12px;">
|
||||
<div class="capsule capsule--wechat" 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="capsule__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>
|
||||
|
||||
#img-eyes-open {
|
||||
display: none;
|
||||
}
|
||||
<div class="navbar navbar--wechat">
|
||||
<div class="navbar__placeholder"></div>
|
||||
<div class="navbar__inner" style="background: white;">
|
||||
<div class="navbar__left">
|
||||
<div class="navbar__buttons">
|
||||
<div class="navbar__button-goback" onclick="history.back();"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar__center">
|
||||
<span>场所码</span>
|
||||
</div>
|
||||
<div class="navbar__right"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
#img-eyes-closed {
|
||||
display: block;
|
||||
}
|
||||
</style>
|
||||
<div class="capsule capsule--wechat" 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="capsule__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 class="top" style="height: 58px; padding-top: env(safe-area-inset-top, 0); box-sizing: content-box;">
|
||||
<image src="./static/suishenma_bg.png" style="width:100%;height:813.11px;"></image>
|
||||
<view class="text" style="bottom:3.333vw">随申码</view>
|
||||
<view bindtap="goBack" class="back">
|
||||
<image src="./static/back.png" onclick="history.back();"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="page" style="padding-top: 58px; padding-top: calc(58px + env(safe-area-inset-top, 0));">
|
||||
<canvas class="my-qrcode" id="myQrcode" type="2d"></canvas>
|
||||
<view class="content contentBox">
|
||||
<view style="height: 7.467vw;">
|
||||
<image class="title" src="./static/suishenma_title.png"></image>
|
||||
</view>
|
||||
<view style="display: flex;justify-content: center;margin-top: 4.267vw;">
|
||||
<view class="photo photoPicAfter">
|
||||
<image class="photoPic" mode="aspectFit" src="./static/suishenma_logo.png" id="_img"></image>
|
||||
</view>
|
||||
</view>
|
||||
<view class="nameBox">
|
||||
<view class="tainerBox eyes-open">
|
||||
<view class="name" id="_name"></view>
|
||||
<view bindtap="handleShowName" class="nameHide" id="img-eyes-open" onclick="switchNameDisplay(false);">
|
||||
<image src="./static/eysOpen.png" style="width:5.333vw;height:5.333vw;"></image>
|
||||
</view>
|
||||
<view bindtap="handleShowName" class="nameHide" id="img-eyes-closed" onclick="switchNameDisplay(true);">
|
||||
<image src="./static/eyeClose.png" style="width:5.333vw;height:5.333vw;"></image>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="time">
|
||||
<span id="_date"></span>
|
||||
<span id="_time"></span><span class="timeSecond" id="_sec"></span>
|
||||
</view>
|
||||
<view style="display: flex;justify-content: center;margin-top: 2.133vw;"
|
||||
onclick="window.location.href = './index.html';">
|
||||
<view class="qrCode">
|
||||
<view
|
||||
style="background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXIAAAFyCAIAAABnRsZeAAAIQElEQVR4nO3cMXLzuhWA0SijxllW9uIs6u3Fb1lpmfYvMnCBDwZIn9NqLFEU/Q2KO/f18fX5j2f577//Grz6r7//s+Vvx+54VWNn3o1d7njNM/65+wKAp5EVICYrQExWgJisADFZAWKyAsRkBYjJChB7j1+emZVcZ9305x3naNd97q7vO2PXE7tuUvaO/4NOK0BMVoCYrAAxWQFisgLEZAWIyQoQkxUgJitA7Jsp27HnTRbumv78bVtjz9zdO3bmxtkz/wedVoCYrAAxWQFisgLEZAWIyQoQkxUgJitATFaA2NSU7R3tmkrcNc86Zqfsn2au+cyNs7s4rQAxWQFisgLEZAWIyQoQkxUgJitATFaAmKwAsV83ZTu2bi/szN+eudt11w7ddXb9gs/jtALEZAWIyQoQkxUgJitATFaAmKwAMVkBYrICxKambJ83OzgzK7lu6nTXBOeuvbC7Zo7P3Dc8dub/oNMKEJMVICYrQExWgJisADFZAWKyAsRkBYjJChD7Zsp21+zgLs+b4Fw3oXvm932eO94NpxUgJitATFaAmKwAMVkBYrICxGQFiMkKEJMVIPa6rmv3NfyoXXthx9ZtjV03o7lrh+6Z21v5k9MKEJMVICYrQExWgJisADFZAWKyAsRkBYjJChB775poPHPX6bpp111mrmp8N86chV13VXfcKTu27m44rQAxWQFisgLEZAWIyQoQkxUgJitATFaAmKwAsW922Z45szgzg3vmLOzYuonkM3/BXc58Jnfd55lrdloBYrICxGQFiMkKEJMVICYrQExWgJisADFZAWLv8cu75v9mtqiOnTkbesc9qeuejTMng59n3X12WgFisgLEZAWIyQoQkxUgJitATFaAmKwAMVkBYq+Pr8/By2fOle7a0Hnm9OeuuzFj15088zc681cYs8sW+FGyAsRkBYjJChCTFSAmK0BMVoCYrAAxWQFi7zPn/8ZmrmrXNc/4bbO/Y2fuo73jczVj/Cs4rQAxWQFisgLEZAWIyQoQkxUgJitATFaAmKwAsdd1XYOX7zjReMc9qTOfu86ZO4PH1r3zjDOfjXX/R04rQExWgJisADFZAWKyAsRkBYjJChCTFSAmK0Ds9fH1OXh51ybUXc7cSLprp+yuSdkZ6yZHz/zbXUzZAj9KVoCYrAAxWQFisgLEZAWIyQoQkxUgJitAbOGU7Yxd+2jHnreB9bf9vmdOUY/d8blyWgFisgLEZAWIyQoQkxUgJitATFaAmKwAMVkBYq/rugYvP28j6ZnOvM8z7vgb3XFb7Zl7cJ1WgJisADFZAWKyAsRkBYjJChCTFSAmK0BMVoDYN1O2M3bNLI6tm2g883NnnHmvzpxYPfN53vXOTitATFaAmKwAMVkBYrICxGQFiMkKEJMVICYrQOw9fvnMjaQzV3XmFtXnTY6O7frbXdb9CrveecxpBYjJChCTFSAmK0BMVoCYrAAxWQFisgLEZAWIfbPL9sz9nWfa9X3vOHU6duZe2F3OfHLssgV+lKwAMVkBYrICxGQFiMkKEJMVICYrQExWgNjCKdsZZ847jq2b7zxzcvSO3/fM7cszzrxXTitATFaAmKwAMVkBYrICxGQFiMkKEJMVICYrQGxqynaXmV2nM++8zplTmDN2PTnrno11nvc8O60AMVkBYrICxGQFiMkKEJMVICYrQExWgJisALH3+OWZ+b8zN92eOYW5biPpmTOad9zOe+aE7tiuX99pBYjJChCTFSAmK0BMVoCYrAAxWQFisgLEZAWIvXdNyo6deVXPuxszE7rjz113Vesmv+84NT62a27YaQWIyQoQkxUgJitATFaAmKwAMVkBYrICxGQFiL1nZgd3bSQ9cxpy1wzujOdtb52x7m48779szGkFiMkKEJMVICYrQExWgJisADFZAWKyAsRkBYi9Pr4+By+fOXc4duZm0F13ctce3LEzJ5LP/BV2Pc8znFaAmKwAMVkBYrICxGQFiMkKEJMVICYrQExWgNjruq7d1/B/nDkpO/POu5x5J+84GTy26xuN7XqenVaAmKwAMVkBYrICxGQFiMkKEJMVICYrQExWgNh73VvPTBbecZJybNdV7Zr+3LWf9cx51ufNdo+v2WkFiMkKEJMVICYrQExWgJisADFZAWKyAsRkBYi9Pr4+F731mRs61znz++6adn3epttdd/JM47vhtALEZAWIyQoQkxUgJitATFaAmKwAMVkBYrICxF7Xde2+hh+1axpy19TpDBOrf9o1+zt25syx0woQkxUgJitATFaAmKwAMVkBYrICxGQFiMkKEHufOdE4Y91E48znztznO26cfd5k8Dq7JnTXcVoBYrICxGQFiMkKEJMVICYrQExWgJisADFZAWKvj6/PwctnTvjt2t+5zrqZ1DO3qO7627EzZ3/HzpySd1oBYrICxGQFiMkKEJMVICYrQExWgJisADFZAWLvmT9+3lTirqnidXO0u77v8z535j6fOQu7jtMKEJMVICYrQExWgJisADFZAWKyAsRkBYjJChCbmrK9o107VnfZtdt13eeeufd317Nx5ryy0woQkxUgJitATFaAmKwAMVkBYrICxGQFiMkKEPt1U7ZjZ05wjt1xMnjmc8/8vut+313zyjOcVoCYrAAxWQFisgLEZAWIyQoQkxUgJitATFaA2NSU7bopvV3WTWHumg294xzt2B03zo7dce/vmNMKEJMVICYrQExWgJisADFZAWKyAsRkBYjJChD7Zsp219zhOnf8Rmfuwb3j5+5yxx3JY+NrdloBYrICxGQFiMkKEJMVICYrQExWgJisADFZAWL/A32nk4AKWFFIAAAAAElFTkSuQmCC'); background-size: 85% 85%; background-position: center; background-repeat:no-repeat; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;">
|
||||
<img src="./static/logo.png" style="width: 12vw; height: 12vw;">
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="qrText"> 绿色 </view>
|
||||
<view class="yimaduoyong">
|
||||
<view class="btn3">
|
||||
<view class="place" id="_place_address_line1"></view>
|
||||
<view class="address" id="_place_address_line2"></view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="hesuan">
|
||||
<view style="color: #333333;">
|
||||
<text style="color: #09BD65;font-weight:bold;font-size:10.667vw;">24</text> 小时内核酸检测结果<text
|
||||
style="color: #09BD65;font-weight:bold;">【阴性】</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view class="more contentBox">
|
||||
<view class="rec-swiper" style="height:19.467vw">
|
||||
<view class="case">
|
||||
<view bindtap="goHesuan" class="caseItem">
|
||||
<view style="width:14.4vw;height:14.4vw;">
|
||||
<image class="caseItemIcon" src="./static/nucleic_acid_vaccine.png"></image>
|
||||
</view>
|
||||
<view class="caseItemName">疫苗&核酸</view>
|
||||
</view>
|
||||
<view bindtap="handleClickMoreItem" class="caseItem">
|
||||
<view style="width:14.4vw;height:14.4vw;">
|
||||
<image class="caseItemIcon" src="./static/newhscyd.png"></image>
|
||||
</view>
|
||||
<view class="caseItemName">采样点</view>
|
||||
</view>
|
||||
<view bindtap="handleClickMoreItem" class="caseItem">
|
||||
<view style="width:14.4vw;height:14.4vw;">
|
||||
<image class="caseItemIcon" src="./static/kangyuan.png"></image>
|
||||
</view>
|
||||
<view class="caseItemName">抗原查询</view>
|
||||
</view>
|
||||
<view bindtap="goXingchengma" class="caseItem" onclick="navigateToTripCard();">
|
||||
<view style="width:14.4vw;height:14.4vw;">
|
||||
<image class="caseItemIcon" src="./static/icon_xingcheng.png"></image>
|
||||
</view>
|
||||
<view class="caseItemName">行程卡</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view ariaHidden="true" class="dots-rec2" style="margin-top: 1.867vw;">
|
||||
<view class="dot2 active"></view>
|
||||
<view class="dot2"></view>
|
||||
</view>
|
||||
<view class="link">
|
||||
<text bindtap="goQa">常见问题</text>
|
||||
<text>|</text>
|
||||
<text bindtap="goKf">智能客服</text>
|
||||
<text>|</text>
|
||||
<text bindtap="toScan">扫码记录</text>
|
||||
<text>|</text>
|
||||
<text bindtap="goShensu">我要申诉</text>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<input type="file" style="display: none;" id="upload" oninput="onInput(this);">
|
||||
<script>
|
||||
setDynamicTime("#_date", 0, 10);
|
||||
setDynamicTime("#_time", 11, 17);
|
||||
setDynamicTime("#_sec", 17, 19);
|
||||
|
||||
addStorageField("_place_address_line1", "#_place_address_line1", "场所地址(第一行)", "地铁");
|
||||
addStorageField("_place_address_line2", "#_place_address_line2", "场所地址(第二行)", "地铁11号线");
|
||||
|
||||
let _name = localStorage.getItem("_name") || "习近平";
|
||||
document.getElementById("_name").addEventListener("click", () => {
|
||||
const res = window.prompt("修改名字:", _name);
|
||||
if (res == "" || res == null) localStorage.removeItem("_name");
|
||||
else localStorage.setItem("_name", res);
|
||||
_name = res || "习近平";
|
||||
switchNameDisplay(show_name);
|
||||
});
|
||||
let show_name = false;
|
||||
function switchNameDisplay(t) {
|
||||
show_name = t;
|
||||
const hidden_name = new Array(_name.length).join("*") + _name.substr(-1);
|
||||
document.getElementById("_name").innerText = show_name ? _name : hidden_name;
|
||||
document.getElementsByClassName("tainerBox")[0].classList.add(t ? "eyes-open" : "eyes-closed");
|
||||
document.getElementsByClassName("tainerBox")[0].classList.remove(t ? "eyes-closed" : "eyes-open");
|
||||
}
|
||||
switchNameDisplay(false);
|
||||
|
||||
const default_img = "./static/suishenma_logo.png";
|
||||
document.getElementById("_img").attributes["src"].value = localStorage.getItem("_img") || default_img;
|
||||
document.getElementById("_img").addEventListener("click", () => {
|
||||
if (localStorage.getItem("_img")) {
|
||||
localStorage.removeItem("_img");
|
||||
document.getElementById("_img").attributes["src"].value = default_img;
|
||||
return;
|
||||
<div id="app">
|
||||
<div>
|
||||
<div class="qr-wap">
|
||||
<div class="qr__main location">
|
||||
<div class="qr__main__img">
|
||||
<img src="./static/title.9e6c09b.png">
|
||||
</div>
|
||||
<div class="qr__main__logo">
|
||||
<div class="qr__main__logo_img" id="_img" style="background-image: url(./static/default_head.59cc591.png);"></div>
|
||||
<div class="qr__main__logo__idcard" style="display: none;"></div>
|
||||
<input type="file" style="display: none;" id="upload" oninput="onInput(this);">
|
||||
</div>
|
||||
<div class="qr__main__name qr__main__name_no_service">
|
||||
<span>
|
||||
<span id="masked-name" style="display: inline;"></span>
|
||||
<span id="name" style="display: none;"></span>
|
||||
<i class="qr__main__name__open close" onclick="toggleMask();"></i>
|
||||
</span>
|
||||
</div>
|
||||
<div class="qr__main__date location qr__main__date_no_service">
|
||||
<span id="datetime"></span><strong id="sec"></strong>
|
||||
</div>
|
||||
<div class="qr__main__wapper">
|
||||
<div class="qr__main__ewm" onclick="window.location.href = 'index.html';">
|
||||
<div>
|
||||
<div style="display: flex; align-items: center; justify-content: center;">
|
||||
<img src="./static/logo.png" style="width: 11vw; height: 11vw; position: absolute;">
|
||||
<img class="qr__main__ewm__obj" style="display: inline-block;"
|
||||
src="data:image/png;base64,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">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="qr__main__status-text" style="color: rgb(9, 189, 101);">
|
||||
绿色
|
||||
</div>
|
||||
<div class="qr__main__tip strong qr__main__tip_no_service" style="letter-spacing: 0px; margin-bottom: 0px;">
|
||||
<p class="qr__location-name"></p>
|
||||
<p class="qr__location-address"></p>
|
||||
</div>
|
||||
<div class="qr__main__hesuan">
|
||||
<p><strong style="color: rgb(9, 189, 101);">
|
||||
24
|
||||
</strong>
|
||||
小时内核酸检测结果
|
||||
<span style="color: rgb(9, 189, 101);">【阴性】</span>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="qr__bottom">
|
||||
<div class="more_service location">
|
||||
<div class="my-swipe van-swipe">
|
||||
<div class="van-swipe__track">
|
||||
<div class="van-swipe-item">
|
||||
<div class="more_service_ul location" style="justify-content: space-between;"><a href="javascript:;"
|
||||
class="li"><img src="./static/hsym.png">
|
||||
<div style="color: rgb(0, 0, 0);">
|
||||
核酸&疫苗
|
||||
</div>
|
||||
</a><a href="javascript:;" class="li" onclick="navigateToTripCard();"><img src="./static/xck.png">
|
||||
<div style="color: rgb(0, 0, 0);">
|
||||
行程卡
|
||||
</div>
|
||||
</a><a href="javascript:;" class="li"><img src="./static/txz.png">
|
||||
<div style="color: rgb(0, 0, 0);">
|
||||
通行证
|
||||
</div>
|
||||
</a><a href="javascript:;" class="li"><img src="./static/fkdj.png">
|
||||
<div style="color: rgb(0, 0, 0);">
|
||||
访客登记
|
||||
</div>
|
||||
</a></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="qr__main__link"><span class="strong">常见问题</span> <span class="strong split">|</span> <span
|
||||
class="strong">智能客服</span> <span class="strong split">|</span> <span class="strong">我要申诉</span></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
(function (win, lib) { var doc = win.document; var docEl = doc.documentElement; var metaEl = doc.querySelector('meta[name="viewport"]'); var flexibleEl = doc.querySelector('meta[name="flexible"]'); var dpr = 0; var scale = 0; var tid; var flexible = lib.flexible || (lib.flexible = {}); if (metaEl) { console.warn("将根据已有的meta标签来设置缩放比例"); var match = metaEl.getAttribute("content").match(/initial\-scale=([\d\.]+)/); if (match) { scale = parseFloat(match[1]); dpr = parseInt(1 / scale) } } else { if (flexibleEl) { var content = flexibleEl.getAttribute("content"); if (content) { var initialDpr = content.match(/initial\-dpr=([\d\.]+)/); var maximumDpr = content.match(/maximum\-dpr=([\d\.]+)/); if (initialDpr) { dpr = parseFloat(initialDpr[1]); scale = parseFloat((1 / dpr).toFixed(2)) } if (maximumDpr) { dpr = parseFloat(maximumDpr[1]); scale = parseFloat((1 / dpr).toFixed(2)) } } } } if (!dpr && !scale) { var isAndroid = win.navigator.appVersion.match(/android/gi); var isIPhone = win.navigator.appVersion.match(/iphone/gi); var devicePixelRatio = win.devicePixelRatio; if (isIPhone) { if (devicePixelRatio >= 3 && (!dpr || dpr >= 3)) { dpr = 3 } else { if (devicePixelRatio >= 2 && (!dpr || dpr >= 2)) { dpr = 2 } else { dpr = 1 } } } else { dpr = 1 } scale = 1 / dpr } docEl.setAttribute("data-dpr", dpr); if (!metaEl) { metaEl = doc.createElement("meta"); metaEl.setAttribute("name", "viewport"); metaEl.setAttribute("content", "initial-scale=" + scale + ", maximum-scale=" + scale + ", minimum-scale=" + scale + ", user-scalable=no"); if (docEl.firstElementChild) { docEl.firstElementChild.appendChild(metaEl) } else { var wrap = doc.createElement("div"); wrap.appendChild(metaEl); doc.write(wrap.innerHTML) } } function refreshRem() { var width = docEl.getBoundingClientRect().width; if (width / dpr > 540) { width = 540 * dpr } var rem = width / 10; docEl.style.fontSize = rem + "px"; flexible.rem = win.rem = rem } win.addEventListener("resize", function () { clearTimeout(tid); tid = setTimeout(refreshRem, 300) }, false); win.addEventListener("pageshow", function (e) { if (e.persisted) { clearTimeout(tid); tid = setTimeout(refreshRem, 300) } }, false); if (doc.readyState === "complete") { doc.body.style.fontSize = 12 * dpr + "px" } else { doc.addEventListener("DOMContentLoaded", function (e) { doc.body.style.fontSize = 12 * dpr + "px" }, false) } refreshRem(); flexible.dpr = win.dpr = dpr; flexible.refreshRem = refreshRem; flexible.rem2px = function (d) { var val = parseFloat(d) * this.rem; if (typeof d === "string" && d.match(/rem$/)) { val += "px" } return val }; flexible.px2rem = function (d) { var val = parseFloat(d) / this.rem; if (typeof d === "string" && d.match(/px$/)) { val += "rem" } return val } })(window, window["lib"] || (window["lib"] = {}));
|
||||
</script>
|
||||
<script>
|
||||
function clip(n, t = 15) {
|
||||
return {
|
||||
first: n.substring(0, t),
|
||||
second: n.length <= 2 * t ? n.substring(t) : n.substring(t, 2 * t) + "...",
|
||||
};
|
||||
}
|
||||
const input = document.getElementById("upload");
|
||||
input.click();
|
||||
});
|
||||
|
||||
function onInput(t) {
|
||||
// getting a hold of the file reference
|
||||
const file = t.files[0];
|
||||
setDynamicTime("#datetime", 0, 17);
|
||||
setDynamicTime("#sec", 17, 19);
|
||||
addStorageField("_name", "#masked-name", "名字", "习近平", (s) => {
|
||||
return "* ".repeat(s.length - 1) + s.slice(-1);
|
||||
});
|
||||
addStorageField("_name", "#name", "名字", "习近平");
|
||||
addStorageField("_place_address_line1", ".qr__location-name",
|
||||
"场所名称(第一行)", "16号线华夏中路站", (s) => {
|
||||
const res = clip(s, 15);
|
||||
return `${res.first}<span style="white-space: nowrap;"><br>${res.second}</span>`;
|
||||
}
|
||||
);
|
||||
addStorageField("_place_address_line2", ".qr__location-address",
|
||||
"场所地址(第二行)", "上海市/浦东新区/北蔡镇/罗山路4151号", (s) => {
|
||||
const res = clip(s, 17);
|
||||
return `${res.first}<span style="white-space: nowrap;"><br>${res.second}</span>`;
|
||||
}
|
||||
);
|
||||
|
||||
// setting up the reader
|
||||
const reader = new FileReader();
|
||||
|
||||
// here we tell the reader what to do when it's done reading...
|
||||
reader.onload = readerEvent => {
|
||||
const content = readerEvent.target.result; // this is the content!
|
||||
if (content) {
|
||||
try {
|
||||
localStorage.setItem("_img", content);
|
||||
} catch (e) {
|
||||
alert("照片文件较大,暂时不能保存在本地。");
|
||||
localStorage.setItem("_img", default_img);
|
||||
}
|
||||
document.getElementById("_img").attributes["src"].value = content;
|
||||
function toggleMask() {
|
||||
const eye_icon = document.querySelector(".qr__main__name__open");
|
||||
if (eye_icon.classList.contains("close")) {
|
||||
eye_icon.classList.remove("close");
|
||||
document.getElementById("masked-name").style.display = "none";
|
||||
document.getElementById("name").style.display = "inline";
|
||||
} else {
|
||||
eye_icon.classList.add("close");
|
||||
document.getElementById("masked-name").style.display = "inline";
|
||||
document.getElementById("name").style.display = "none";
|
||||
}
|
||||
}
|
||||
|
||||
reader.readAsDataURL(file); // this is reading as data url
|
||||
}
|
||||
const default_img = "./static/default_head.59cc591.png";
|
||||
if (localStorage.getItem("_img")) {
|
||||
document.getElementById("_img").style.backgroundImage = `url(${localStorage.getItem("_img")})`;
|
||||
document.querySelector(".qr__main__logo__idcard").style.display = "block";
|
||||
}
|
||||
|
||||
initServiceWorker("ssm");
|
||||
</script>
|
||||
document.getElementById("_img").addEventListener("click", () => {
|
||||
if (localStorage.getItem("_img")) {
|
||||
localStorage.removeItem("_img");
|
||||
document.getElementById("_img").style.backgroundImage = `url(${default_img})`;
|
||||
document.querySelector(".qr__main__logo__idcard").style.display = "none";
|
||||
return;
|
||||
}
|
||||
const input = document.getElementById("upload");
|
||||
input.click();
|
||||
});
|
||||
|
||||
function onInput(t) {
|
||||
const file = t.files[0];
|
||||
const reader = new FileReader();
|
||||
|
||||
reader.onload = readerEvent => {
|
||||
const content = readerEvent.target.result;
|
||||
if (content) {
|
||||
try {
|
||||
localStorage.setItem("_img", content);
|
||||
} catch (e) {
|
||||
alert("照片文件较大,暂时不能保存在本地。");
|
||||
localStorage.setItem("_img", default_img);
|
||||
}
|
||||
document.getElementById("_img").style.backgroundImage = `url(${content})`;
|
||||
document.querySelector(".qr__main__logo__idcard").style.display = "block";
|
||||
}
|
||||
}
|
||||
|
||||
reader.readAsDataURL(file);
|
||||
}
|
||||
|
||||
initServiceWorker("ssm");
|
||||
</script>
|
||||
</body>
|
@ -50,7 +50,7 @@
|
||||
<image class="title" src="./static/suishenma_title.png"></image>
|
||||
</view>
|
||||
<view style="display: flex;justify-content: center;margin-top: 4.267vw;">
|
||||
<view class="photo photoPicAfter">
|
||||
<view class="photo">
|
||||
<image class="photoPic" mode="aspectFit" src="./static/suishenma_logo.png" id="_img"></image>
|
||||
</view>
|
||||
</view>
|
||||
@ -75,7 +75,7 @@
|
||||
<span id="_date"></span>
|
||||
<span id="_time"></span><span class="timeSecond" id="_sec"></span>
|
||||
</view>
|
||||
<view style="display: flex;justify-content: center;margin-top: 2.133vw;" onclick="window.location.href = './checkin.html';">
|
||||
<view style="display: flex;justify-content: center;margin-top: 2.133vw;" onclick="window.location.href = './scan.html';">
|
||||
<view class="qrCode">
|
||||
<view style="background: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXIAAAFyCAIAAABnRsZeAAAIQElEQVR4nO3cMXLzuhWA0SijxllW9uIs6u3Fb1lpmfYvMnCBDwZIn9NqLFEU/Q2KO/f18fX5j2f577//Grz6r7//s+Vvx+54VWNn3o1d7njNM/65+wKAp5EVICYrQExWgJisADFZAWKyAsRkBYjJChB7j1+emZVcZ9305x3naNd97q7vO2PXE7tuUvaO/4NOK0BMVoCYrAAxWQFisgLEZAWIyQoQkxUgJitA7Jsp27HnTRbumv78bVtjz9zdO3bmxtkz/wedVoCYrAAxWQFisgLEZAWIyQoQkxUgJitATFaA2NSU7R3tmkrcNc86Zqfsn2au+cyNs7s4rQAxWQFisgLEZAWIyQoQkxUgJitATFaAmKwAsV83ZTu2bi/szN+eudt11w7ddXb9gs/jtALEZAWIyQoQkxUgJitATFaAmKwAMVkBYrICxKambJ83OzgzK7lu6nTXBOeuvbC7Zo7P3Dc8dub/oNMKEJMVICYrQExWgJisADFZAWKyAsRkBYjJChD7Zsp21+zgLs+b4Fw3oXvm932eO94NpxUgJitATFaAmKwAMVkBYrICxGQFiMkKEJMVIPa6rmv3NfyoXXthx9ZtjV03o7lrh+6Z21v5k9MKEJMVICYrQExWgJisADFZAWKyAsRkBYjJChB775poPHPX6bpp111mrmp8N86chV13VXfcKTu27m44rQAxWQFisgLEZAWIyQoQkxUgJitATFaAmKwAsW922Z45szgzg3vmLOzYuonkM3/BXc58Jnfd55lrdloBYrICxGQFiMkKEJMVICYrQExWgJisADFZAWLv8cu75v9mtqiOnTkbesc9qeuejTMng59n3X12WgFisgLEZAWIyQoQkxUgJitATFaAmKwAMVkBYq+Pr8/By2fOle7a0Hnm9OeuuzFj15088zc681cYs8sW+FGyAsRkBYjJChCTFSAmK0BMVoCYrAAxWQFi7zPn/8ZmrmrXNc/4bbO/Y2fuo73jczVj/Cs4rQAxWQFisgLEZAWIyQoQkxUgJitATFaAmKwAsdd1XYOX7zjReMc9qTOfu86ZO4PH1r3zjDOfjXX/R04rQExWgJisADFZAWKyAsRkBYjJChCTFSAmK0Ds9fH1OXh51ybUXc7cSLprp+yuSdkZ6yZHz/zbXUzZAj9KVoCYrAAxWQFisgLEZAWIyQoQkxUgJitAbOGU7Yxd+2jHnreB9bf9vmdOUY/d8blyWgFisgLEZAWIyQoQkxUgJitATFaAmKwAMVkBYq/rugYvP28j6ZnOvM8z7vgb3XFb7Zl7cJ1WgJisADFZAWKyAsRkBYjJChCTFSAmK0BMVoDYN1O2M3bNLI6tm2g883NnnHmvzpxYPfN53vXOTitATFaAmKwAMVkBYrICxGQFiMkKEJMVICYrQOw9fvnMjaQzV3XmFtXnTY6O7frbXdb9CrveecxpBYjJChCTFSAmK0BMVoCYrAAxWQFisgLEZAWIfbPL9sz9nWfa9X3vOHU6duZe2F3OfHLssgV+lKwAMVkBYrICxGQFiMkKEJMVICYrQExWgNjCKdsZZ847jq2b7zxzcvSO3/fM7cszzrxXTitATFaAmKwAMVkBYrICxGQFiMkKEJMVICYrQGxqynaXmV2nM++8zplTmDN2PTnrno11nvc8O60AMVkBYrICxGQFiMkKEJMVICYrQExWgJisALH3+OWZ+b8zN92eOYW5biPpmTOad9zOe+aE7tiuX99pBYjJChCTFSAmK0BMVoCYrAAxWQFisgLEZAWIvXdNyo6deVXPuxszE7rjz113Vesmv+84NT62a27YaQWIyQoQkxUgJitATFaAmKwAMVkBYrICxGQFiL1nZgd3bSQ9cxpy1wzujOdtb52x7m48779szGkFiMkKEJMVICYrQExWgJisADFZAWKyAsRkBYi9Pr4+By+fOXc4duZm0F13ctce3LEzJ5LP/BV2Pc8znFaAmKwAMVkBYrICxGQFiMkKEJMVICYrQExWgNjruq7d1/B/nDkpO/POu5x5J+84GTy26xuN7XqenVaAmKwAMVkBYrICxGQFiMkKEJMVICYrQExWgNh73VvPTBbecZJybNdV7Zr+3LWf9cx51ufNdo+v2WkFiMkKEJMVICYrQExWgJisADFZAWKyAsRkBYi9Pr4+F731mRs61znz++6adn3epttdd/JM47vhtALEZAWIyQoQkxUgJitATFaAmKwAMVkBYrICxF7Xde2+hh+1axpy19TpDBOrf9o1+zt25syx0woQkxUgJitATFaAmKwAMVkBYrICxGQFiMkKEHufOdE4Y91E48znztznO26cfd5k8Dq7JnTXcVoBYrICxGQFiMkKEJMVICYrQExWgJisADFZAWKvj6/PwctnTvjt2t+5zrqZ1DO3qO7627EzZ3/HzpySd1oBYrICxGQFiMkKEJMVICYrQExWgJisADFZAWLvmT9+3lTirqnidXO0u77v8z535j6fOQu7jtMKEJMVICYrQExWgJisADFZAWKyAsRkBYjJChCbmrK9o107VnfZtdt13eeeufd317Nx5ryy0woQkxUgJitATFaAmKwAMVkBYrICxGQFiMkKEPt1U7ZjZ05wjt1xMnjmc8/8vut+313zyjOcVoCYrAAxWQFisgLEZAWIyQoQkxUgJitATFaA2NSU7bopvV3WTWHumg294xzt2B03zo7dce/vmNMKEJMVICYrQExWgJisADFZAWKyAsRkBYjJChD7Zsp219zhOnf8Rmfuwb3j5+5yxx3JY+NrdloBYrICxGQFiMkKEJMVICYrQExWgJisADFZAWL/A32nk4AKWFFIAAAAAElFTkSuQmCC'); background-size: 85% 85%; background-position: center; background-repeat:no-repeat; width: 100%; height: 100%; display: flex; align-items: center; justify-content: center;">
|
||||
<img src="./static/logo.png" style="width: 12vw; height: 12vw;">
|
||||
@ -175,11 +175,15 @@
|
||||
switchNameDisplay(false);
|
||||
|
||||
const default_img = "./static/suishenma_logo.png";
|
||||
document.getElementById("_img").attributes["src"].value = localStorage.getItem("_img") || default_img;
|
||||
if (localStorage.getItem("_img")) {
|
||||
document.getElementById("_img").attributes["src"].value = localStorage.getItem("_img");
|
||||
document.querySelector(".photo").classList.add("photoPicAfter");
|
||||
}
|
||||
document.getElementById("_img").addEventListener("click", () => {
|
||||
if (localStorage.getItem("_img")) {
|
||||
localStorage.removeItem("_img");
|
||||
document.getElementById("_img").attributes["src"].value = default_img;
|
||||
document.querySelector(".photo").classList.remove("photoPicAfter");
|
||||
return;
|
||||
}
|
||||
const input = document.getElementById("upload");
|
||||
@ -204,6 +208,7 @@
|
||||
localStorage.setItem("_img", default_img);
|
||||
}
|
||||
document.getElementById("_img").attributes["src"].value = content;
|
||||
document.querySelector(".photo").classList.add("photoPicAfter");
|
||||
}
|
||||
}
|
||||
|
||||
|
287
src/ssm/scan.html
Normal file
@ -0,0 +1,287 @@
|
||||
<!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/ssbapp-logo.png">
|
||||
<link rel="apple-touch-icon" sizes="492x492" href="./static/ssbapp-logo.png">
|
||||
<link rel="stylesheet" href="../common/nav.css">
|
||||
<script src="../common/base.js"></script>
|
||||
<style>
|
||||
body {
|
||||
margin: 0;
|
||||
height: 100vh;
|
||||
font-family: "PingFang SC", sans-serif;
|
||||
}
|
||||
#scan {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: absolute;
|
||||
top: 50%;
|
||||
background: radial-gradient(circle, rgba(93,200,148,1) 0%, rgba(0,0,0,0) 50%);
|
||||
}
|
||||
#scan-parent {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
bottom: 30%;
|
||||
transform: scale(1, 0.2);
|
||||
overflow: hidden;
|
||||
animation: scan 2s linear infinite, opacity 1s ease-out infinite alternate;
|
||||
z-index: 30;
|
||||
}
|
||||
@keyframes scan {
|
||||
from {
|
||||
bottom: 40%;
|
||||
}
|
||||
to {
|
||||
bottom: -20%;
|
||||
}
|
||||
}
|
||||
@keyframes opacity {
|
||||
from {
|
||||
opacity: 0;
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
#mask {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
position: fixed;
|
||||
left: 0;
|
||||
top: 0;
|
||||
background-color: rgba(0, 0, 0, .2);
|
||||
z-index: 10;
|
||||
}
|
||||
#scan-widgets > * {
|
||||
z-index: 20;
|
||||
}
|
||||
#close-button {
|
||||
position: fixed;
|
||||
top: 36px;
|
||||
top: calc(36px + env(safe-area-inset-top, 0));
|
||||
left: 30px;
|
||||
height: 26px;
|
||||
width: 26px;
|
||||
border-radius: 100px;
|
||||
background-color: #fff;
|
||||
color: rgba(0, 0, 0, .6);
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
#album-button {
|
||||
position: fixed;
|
||||
right: 30px;
|
||||
bottom: 90px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: rgba(255, 255, 255, .87);
|
||||
font-size: 14px;
|
||||
}
|
||||
#album-button > div {
|
||||
height: 48px;
|
||||
width: 48px;
|
||||
border-radius: 50px;
|
||||
background-color: rgba(0, 0, 0, .4);
|
||||
margin-bottom: 6px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
video {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
}
|
||||
#info {
|
||||
background-color: rgba(255, 255, 255, .7);
|
||||
box-sizing: border-box;
|
||||
width: 100vw;
|
||||
height: 100vh;
|
||||
padding: 50px 20px 0 20px;
|
||||
text-align: center;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
#info > span {
|
||||
color: rgba(0, 0, 0, .6);
|
||||
}
|
||||
#info b {
|
||||
color: rgba(0, 0, 0, 1);
|
||||
}
|
||||
#tap-to-continue {
|
||||
color: rgba(0, 0, 0, 1);
|
||||
font-style: italic;
|
||||
animation: opacity 1.5s ease-out infinite alternate-reverse;
|
||||
}
|
||||
#transition {
|
||||
position: fixed;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
top: -10%;
|
||||
display: none;
|
||||
flex-direction: column;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
#transition > img {
|
||||
width: 15vw;
|
||||
height: 15vw;
|
||||
border-radius: 20vw;
|
||||
border: 1px solid #ccc;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
#transition > span {
|
||||
font-weight: bold;
|
||||
font-size: 4vw;
|
||||
}
|
||||
#nav {
|
||||
position: fixed;
|
||||
z-index: 50;
|
||||
}
|
||||
iframe {
|
||||
position: fixed;
|
||||
border: 0;
|
||||
z-index: 40;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
top: 0;
|
||||
left: 0;
|
||||
display: none;
|
||||
}
|
||||
#skip-scan {
|
||||
position: fixed;
|
||||
bottom: 24px;
|
||||
height: 28px;
|
||||
width: fit-content;
|
||||
padding: 6px 24px;
|
||||
border-radius: 100px;
|
||||
color: #777;
|
||||
text-decoration: underline;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
#skip-scan:hover {
|
||||
color: #fff;
|
||||
background-color: #777;
|
||||
}
|
||||
</style>
|
||||
<meta name="theme-color" content="#ffffff">
|
||||
<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent">
|
||||
<audio style="display: none;" preload="auto" src="./static/绿码,核酸24小时内阴性.mp3"></audio>
|
||||
<div id="info">
|
||||
<h2>场所码扫描</h2>
|
||||
<br>
|
||||
<span>“扫描” 时将使用摄像头</span>
|
||||
<span>获取到的所有信息均在本地处理</span>
|
||||
<br>
|
||||
<span>“扫描” 开始后</span>
|
||||
<span><b>轻触屏幕</b> 将会 <b>播放“绿码,核酸24小时内阴性”提示音</b></span>
|
||||
<span>并显示随申码场所码页面</span>
|
||||
<br><br>
|
||||
<p id="tap-to-continue">轻触屏幕继续...</p>
|
||||
<br><br>
|
||||
<div id="skip-scan">跳过扫描</div>
|
||||
</div>
|
||||
<div class="navbar navbar--wechat" id="nav">
|
||||
<div class="navbar__placeholder"></div>
|
||||
<div class="navbar__inner" style="color: black; background: white;">
|
||||
<div class="navbar__left">
|
||||
<div class="navbar__buttons" onclick="history.back();">
|
||||
<div class="navbar__button-goback"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="navbar__center">
|
||||
<text>随申码 - 场所码</text>
|
||||
</div>
|
||||
<div class="navbar__right">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="capsule capsule--wechat" 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="capsule__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 id="scan-content" style="display: none;">
|
||||
<video width="auto" height="100%" autoplay muted playsinline></video>
|
||||
<div id="mask"></div>
|
||||
<div id="scan-parent">
|
||||
<div id="scan"></div>
|
||||
</div>
|
||||
<div id="scan-widgets">
|
||||
<div id="close-button" onclick="window.location.reload();">
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="14px" viewBox="0 0 24 24" width="14px" fill="rgba(0, 0, 0, .6)"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41z"/></svg>
|
||||
</div>
|
||||
<div id="album-button">
|
||||
<div>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" height="28px" viewBox="0 0 24 24" width="28px" fill="rgba(255, 255, 255, .87)"><path d="M0 0h24v24H0V0z" fill="none"/><path d="M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-4.86 8.86l-3 3.87L9 13.14 6 17h12l-3.86-5.14z"/></svg>
|
||||
</div>
|
||||
<span>相册</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<iframe src="./checkin.html"></iframe>
|
||||
<script>
|
||||
document.getElementById("skip-scan").addEventListener("click", (e) => {
|
||||
e.stopPropagation();
|
||||
window.location.href = "./checkin.html";
|
||||
});
|
||||
const video = document.querySelector("video");
|
||||
document.getElementById("info").addEventListener("click", () => {
|
||||
document.getElementById("nav").style.display = "none";
|
||||
if (!navigator.mediaDevices) {
|
||||
alert("无法使用摄像头。请确保源码部署在 https 环境下。");
|
||||
} else {
|
||||
navigator.mediaDevices.getUserMedia({
|
||||
audio: false,
|
||||
video: {
|
||||
facingMode: "environment",
|
||||
}
|
||||
})
|
||||
.then((stream) => {
|
||||
video.srcObject = stream;
|
||||
video.onloadedmetadata = () => {
|
||||
video.play();
|
||||
};
|
||||
})
|
||||
.catch((err) => {
|
||||
console.log(err);
|
||||
});
|
||||
}
|
||||
document.getElementById("info").remove();
|
||||
document.getElementById("scan-content").style.display = "block";
|
||||
});
|
||||
document.getElementById("scan-content").addEventListener("click", () => {
|
||||
const audio = document.querySelector("audio");
|
||||
audio.play();
|
||||
document.getElementById("scan-content").remove();
|
||||
document.querySelector("iframe").style.display = "block";
|
||||
document.querySelector("iframe").onload = () => {
|
||||
window.location.href = document.querySelector("iframe").contentWindow.location.pathname;
|
||||
};
|
||||
video.srcObject.getTracks().forEach(function(track) {
|
||||
track.stop();
|
||||
});
|
||||
});
|
||||
|
||||
initServiceWorker("ssm");
|
||||
</script>
|
2681
src/ssm/static/app.cbd0be69.css
Normal file
BIN
src/ssm/static/card.de2442d.png
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
src/ssm/static/default_head.59cc591.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
BIN
src/ssm/static/eyeC.7bfb9de.png
Normal file
After Width: | Height: | Size: 712 B |
BIN
src/ssm/static/eyeO.a3eead3.png
Normal file
After Width: | Height: | Size: 1.3 KiB |
BIN
src/ssm/static/fkdj.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
src/ssm/static/hsym.png
Normal file
After Width: | Height: | Size: 3.1 KiB |
BIN
src/ssm/static/title.9e6c09b.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
src/ssm/static/txz.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/ssm/static/xck.png
Normal file
After Width: | Height: | Size: 2.7 KiB |
BIN
src/ssm/static/绿码,核酸24小时内阴性.mp3
Normal file
@ -76,7 +76,7 @@
|
||||
</view>
|
||||
<view class="tabs__content">
|
||||
<view class="tab-pane">
|
||||
<view class="txt">说明:省内核酸数据来源于广东省新冠病毒检测信息系统,支持查询近一个月记录。我省核酸检测结果信息由省有关部门统一报送国家平台,无需群众自行上报。</view>
|
||||
<view class="txt">说明:省内核酸数据来源于广东省新冠病毒检测信息系统,支持查询近7日记录。我省核酸检测结果信息由省有关部门统一报送国家平台,无需群众自行上报。</view>
|
||||
<view class="member-list">
|
||||
<view class="member-item">
|
||||
<view class="member-top">
|
||||
@ -177,6 +177,59 @@
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <template is="t" data="{{item:item,key:'采样时间'}}" wx:if="{{type==='hesuan'&&item['采样时间']&&item['采样时间']!=item['检测时间']}}"></template>
|
||||
<template is="t" data="{{item:item,key:'检测时间'}}" wx:if="{{type==='hesuan'&&item['检测时间']}}"></template>
|
||||
<template is="t" data="{{item:item,key:'检测机构'}}"></template>
|
||||
<template is="t" data="{{item:item,key:'数据来源'}}"></template>
|
||||
<template is="t" data="{{item:item,key:'检测结果'}}"></template> -->
|
||||
</view>
|
||||
</view>
|
||||
<view class="member-item">
|
||||
<view class="member-top">
|
||||
<view class="member-name">习近平</view>
|
||||
</view>
|
||||
<view class="preview g-preview" direction="row">
|
||||
<view class="preview-item">
|
||||
<view class="preview-item__label">
|
||||
<text>采样时间</text>
|
||||
</view>
|
||||
<view class="preview-item__content preview-item__content__text-right">
|
||||
<text class="sample-time" data-traceback-hours="64" data-traceback-range="8"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="preview-item">
|
||||
<view class="preview-item__label">
|
||||
<text>检测时间</text>
|
||||
</view>
|
||||
<view class="preview-item__content preview-item__content__text-right">
|
||||
<text class="test-time" data-traceback-hours="54" data-traceback-range="8"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="preview-item">
|
||||
<view class="preview-item__label">
|
||||
<text>检测机构</text>
|
||||
</view>
|
||||
<view class="preview-item__content preview-item__content__text-right">
|
||||
<text class="test-institution"></text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="preview-item">
|
||||
<view class="preview-item__label">
|
||||
<text>数据来源</text>
|
||||
</view>
|
||||
<view class="preview-item__content preview-item__content__text-right">
|
||||
<text>广东省卫生健康委员会</text>
|
||||
</view>
|
||||
</view>
|
||||
<view class="preview-item">
|
||||
<view class="preview-item__label">
|
||||
<text>检测结果</text>
|
||||
</view>
|
||||
<view class="preview-item__content preview-item__content__text-right">
|
||||
<text style="color: #09BB07;">阴性</text>
|
||||
</view>
|
||||
</view>
|
||||
|
||||
<!-- <template is="t" data="{{item:item,key:'采样时间'}}" wx:if="{{type==='hesuan'&&item['采样时间']&&item['采样时间']!=item['检测时间']}}"></template>
|
||||
<template is="t" data="{{item:item,key:'检测时间'}}" wx:if="{{type==='hesuan'&&item['检测时间']}}"></template>
|
||||
<template is="t" data="{{item:item,key:'检测机构'}}"></template>
|
||||
|