push
parent
26608e65ad
commit
b51ad6874b
@ -0,0 +1,2 @@
|
||||
/node_modules
|
||||
*unpackage
|
@ -0,0 +1,44 @@
|
||||
import http from "./interface";
|
||||
|
||||
const sendCode = (data) => {
|
||||
return http.request({
|
||||
url: "/api/staff/send",
|
||||
method: "POST",
|
||||
data,
|
||||
});
|
||||
};
|
||||
const login = (data) => {
|
||||
return http.request({
|
||||
url: "/api/staff/login",
|
||||
method: "POST",
|
||||
data,
|
||||
});
|
||||
};
|
||||
const qrCodeInfo = (data) => {
|
||||
return http.request({
|
||||
url: "/api/smart/appointment/get/ticket/info",
|
||||
method: "POST",
|
||||
data,
|
||||
});
|
||||
};
|
||||
const checkQr = (data) => {
|
||||
return http.request({
|
||||
url: "/api/smart/check/verify/qrCode",
|
||||
method: "POST",
|
||||
data,
|
||||
});
|
||||
};
|
||||
const openPicUrl = (data) => {
|
||||
return http.request({
|
||||
url: "/api/smart/check/start/camera",
|
||||
method: "POST",
|
||||
data,
|
||||
});
|
||||
};
|
||||
export default {
|
||||
sendCode,
|
||||
login,
|
||||
qrCodeInfo,
|
||||
checkQr,
|
||||
openPicUrl,
|
||||
};
|
@ -0,0 +1,92 @@
|
||||
<template>
|
||||
<div class="content2" :style="styleColor">
|
||||
<div class="wrap1">
|
||||
<div class="wrap1_1">
|
||||
<slot name="l1"></slot>
|
||||
</div>
|
||||
<div class="wrap1_2">
|
||||
<slot name="r1"></slot>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wrap1">
|
||||
<div class="wrap1_1">
|
||||
<slot name="l2"></slot>
|
||||
</div>
|
||||
<div class="wrap1_2">
|
||||
<slot name="r2"></slot>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wrap1">
|
||||
<div class="wrap1_1">
|
||||
<slot name="l3"></slot>
|
||||
</div>
|
||||
<div class="wrap1_2">
|
||||
<slot name="r3"></slot>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wrap1">
|
||||
<div class="wrap1_1">
|
||||
<slot name="l4"></slot>
|
||||
</div>
|
||||
<div class="wrap1_2">
|
||||
<slot name="r4"></slot>
|
||||
</div>
|
||||
</div>
|
||||
<div class="wrap1">
|
||||
<div class="wrap1_1">
|
||||
<slot name="l5"></slot>
|
||||
</div>
|
||||
<div class="wrap1_2">
|
||||
<slot name="r5"></slot>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script >
|
||||
export default {
|
||||
props: {
|
||||
styleColor: {
|
||||
type: Object,
|
||||
default: () => {
|
||||
return { backgroundColor: '#fff' }
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.content2 {
|
||||
border-radius: 24rpx;
|
||||
padding-left: 18rpx;
|
||||
padding-right: 32rpx;
|
||||
|
||||
.wrap1 {
|
||||
padding-left: 14rpx;
|
||||
padding-top: 26rpx;
|
||||
padding-bottom: 22rpx;
|
||||
border-bottom: 1rpx solid #E4EAF1;
|
||||
display: flex;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
|
||||
.wrap1_2 {
|
||||
flex-grow: 1;
|
||||
padding-left: 36rpx;
|
||||
font-size: 24rpx;
|
||||
color: #939393;
|
||||
}
|
||||
|
||||
.wrap1_1 {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 192rpx;
|
||||
border-right: 1rpx solid #E4EAF1;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
@ -0,0 +1,99 @@
|
||||
{
|
||||
"name": "museum-H5-V2",
|
||||
"lockfileVersion": 2,
|
||||
"requires": true,
|
||||
"packages": {
|
||||
"": {
|
||||
"dependencies": {
|
||||
"vconsole": "^3.15.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/runtime": {
|
||||
"version": "7.23.6",
|
||||
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.23.6.tgz",
|
||||
"integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==",
|
||||
"dependencies": {
|
||||
"regenerator-runtime": "^0.14.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/copy-text-to-clipboard": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz",
|
||||
"integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/core-js": {
|
||||
"version": "3.34.0",
|
||||
"resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.34.0.tgz",
|
||||
"integrity": "sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag==",
|
||||
"hasInstallScript": true
|
||||
},
|
||||
"node_modules/mutation-observer": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz",
|
||||
"integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA=="
|
||||
},
|
||||
"node_modules/regenerator-runtime": {
|
||||
"version": "0.14.1",
|
||||
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
|
||||
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
|
||||
},
|
||||
"node_modules/vconsole": {
|
||||
"version": "3.15.1",
|
||||
"resolved": "https://registry.npmmirror.com/vconsole/-/vconsole-3.15.1.tgz",
|
||||
"integrity": "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==",
|
||||
"dependencies": {
|
||||
"@babel/runtime": "^7.17.2",
|
||||
"copy-text-to-clipboard": "^3.0.1",
|
||||
"core-js": "^3.11.0",
|
||||
"mutation-observer": "^1.0.3"
|
||||
}
|
||||
}
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/runtime": {
|
||||
"version": "7.23.6",
|
||||
"resolved": "https://registry.npmmirror.com/@babel/runtime/-/runtime-7.23.6.tgz",
|
||||
"integrity": "sha512-zHd0eUrf5GZoOWVCXp6koAKQTfZV07eit6bGPmJgnZdnSAvvZee6zniW2XMF7Cmc4ISOOnPy3QaSiIJGJkVEDQ==",
|
||||
"requires": {
|
||||
"regenerator-runtime": "^0.14.0"
|
||||
}
|
||||
},
|
||||
"copy-text-to-clipboard": {
|
||||
"version": "3.2.0",
|
||||
"resolved": "https://registry.npmmirror.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz",
|
||||
"integrity": "sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q=="
|
||||
},
|
||||
"core-js": {
|
||||
"version": "3.34.0",
|
||||
"resolved": "https://registry.npmmirror.com/core-js/-/core-js-3.34.0.tgz",
|
||||
"integrity": "sha512-aDdvlDder8QmY91H88GzNi9EtQi2TjvQhpCX6B1v/dAZHU1AuLgHvRh54RiOerpEhEW46Tkf+vgAViB/CWC0ag=="
|
||||
},
|
||||
"mutation-observer": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmmirror.com/mutation-observer/-/mutation-observer-1.0.3.tgz",
|
||||
"integrity": "sha512-M/O/4rF2h776hV7qGMZUH3utZLO/jK7p8rnNgGkjKUw8zCGjRQPxB8z6+5l8+VjRUQ3dNYu4vjqXYLr+U8ZVNA=="
|
||||
},
|
||||
"regenerator-runtime": {
|
||||
"version": "0.14.1",
|
||||
"resolved": "https://registry.npmmirror.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz",
|
||||
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
|
||||
},
|
||||
"vconsole": {
|
||||
"version": "3.15.1",
|
||||
"resolved": "https://registry.npmmirror.com/vconsole/-/vconsole-3.15.1.tgz",
|
||||
"integrity": "sha512-KH8XLdrq9T5YHJO/ixrjivHfmF2PC2CdVoK6RWZB4yftMykYIaXY1mxZYAic70vADM54kpMQF+dYmvl5NRNy1g==",
|
||||
"requires": {
|
||||
"@babel/runtime": "^7.17.2",
|
||||
"copy-text-to-clipboard": "^3.0.1",
|
||||
"core-js": "^3.11.0",
|
||||
"mutation-observer": "^1.0.3"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -0,0 +1,5 @@
|
||||
{
|
||||
"dependencies": {
|
||||
"vconsole": "^3.15.1"
|
||||
}
|
||||
}
|
@ -0,0 +1,42 @@
|
||||
<template>
|
||||
<div class="main">
|
||||
<image src="@/static/bg2.png" mode="aspectFill" class="img" />
|
||||
<u-button type="primary" :text="'审核员 ' + name" shape="circle" color="#AB2F23"
|
||||
style="width:700rpx ;margin-top: 50rpx;"></u-button>
|
||||
<u-button type="primary" text="扫一扫" shape="circle" color="#000" style="width:700rpx ;margin-top: 50rpx"
|
||||
@click="goScan"></u-button>
|
||||
</div>
|
||||
</template>
|
||||
<script >
|
||||
export default {
|
||||
data() {
|
||||
return {
|
||||
name: uni.getStorageSync('nickName')
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
goScan() {
|
||||
uni.navigateTo({
|
||||
url: '/pages/scan/index'
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
</script>
|
||||
<style lang="scss" scoped>
|
||||
.main {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: url('@/static/bg.png');
|
||||
background-size: cover;
|
||||
|
||||
.img {
|
||||
width: 100%;
|
||||
height: 1256rpx;
|
||||
}
|
||||
}
|
||||
</style>
|
||||
|
@ -0,0 +1,128 @@
|
||||
<template>
|
||||
<div class="main">
|
||||
<image src="@/static/33@2x.png" mode="aspectFill" class="img" />
|
||||
<div class="loginInfo">
|
||||
<card>
|
||||
<template #l1>
|
||||
<div class="box-left">
|
||||
手机号(+86)
|
||||
</div>
|
||||
</template>
|
||||
<template #r1>
|
||||
<u--input placeholder="请输入手机号" clearable type="number" border="none" v-model="tel"
|
||||
style="width: 320rpx;"></u--input>
|
||||
</template>
|
||||
<template #l2>
|
||||
<div class="box-left">
|
||||
验证码
|
||||
</div>
|
||||
</template>
|
||||
<template #r2>
|
||||
<div class="box-right">
|
||||
<u--input placeholder="请输入验证码" border="none" v-model="code">
|
||||
<template #suffix>
|
||||
<u-code ref="uCodeRef" @change="codeChange" seconds="60" changeText="x秒重新获取"
|
||||
endText="重新获取"></u-code>
|
||||
<u-button @tap="getCode" :text="tips" type="success" size="mini"></u-button>
|
||||
</template>
|
||||
</u--input>
|
||||
</div>
|
||||
</template>
|
||||
</card>
|
||||
<u-button type="primary" text="登录" shape="circle" color="#000" style="width:436rpx ;"
|
||||
@click="goCheck"></u-button>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
import card from '@/components/card/index.vue'
|
||||
export default {
|
||||
components: {
|
||||
card
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
tips: '',
|
||||
tel: null,
|
||||
code: null,
|
||||
uCodeRef: null
|
||||
}
|
||||
},
|
||||
methods: {
|
||||
codeChange(text) {
|
||||
console.log(text)
|
||||
this.tips = text;
|
||||
},
|
||||
getCode() {
|
||||
if (this.$refs.uCodeRef.canGetCode) {
|
||||
uni.showLoading({
|
||||
title: '正在获取验证码',
|
||||
});
|
||||
this.$request.sendCode({ telNum: this.tel }).then((res) => {
|
||||
console.log(res)
|
||||
if (res.status === 0) {
|
||||
uni.hideLoading();
|
||||
uni.$u.toast('验证码已发送');
|
||||
this.$refs.uCodeRef.start();
|
||||
} else {
|
||||
uni.hideLoading();
|
||||
uni.$u.toast(res.msg);
|
||||
}
|
||||
})
|
||||
}
|
||||
},
|
||||
goCheck() {
|
||||
this.$request.login({
|
||||
telNum: this.tel,
|
||||
code: this.code
|
||||
}).then((res) => {
|
||||
if (res.status === 0) {
|
||||
uni.setStorageSync("token", res.data.token);
|
||||
uni.setStorageSync("nickName", res.data.accountInfo.nickName);
|
||||
uni.navigateTo({
|
||||
url: '/pages/check/index'
|
||||
})
|
||||
} else {
|
||||
uni.$u.toast(res.msg);
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
},
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<style lang="scss" scoped>
|
||||
.main {
|
||||
width: 100%;
|
||||
height: 100vh;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
background: url('@/static/bg.png');
|
||||
background-size: cover;
|
||||
|
||||
.img {
|
||||
width: 100%;
|
||||
height: 1000rpx;
|
||||
}
|
||||
|
||||
.loginInfo {
|
||||
height: 100%;
|
||||
padding: 42rpx;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
|
||||
.box-left {
|
||||
font-size: 28rpx;
|
||||
}
|
||||
}
|
||||
}
|
||||
</style>
|
Binary file not shown.
After Width: | Height: | Size: 794 KiB |
Binary file not shown.
After Width: | Height: | Size: 1.4 MiB |
Binary file not shown.
After Width: | Height: | Size: 1.7 MiB |
Binary file not shown.
Before Width: | Height: | Size: 3.9 KiB |
Loading…
Reference in New Issue