new
|
@ -0,0 +1,36 @@
|
||||||
|
// src/composables/useWeChatAuth.js
|
||||||
|
import { ref } from 'vue';
|
||||||
|
import request from '@/request/index.js';
|
||||||
|
|
||||||
|
//滑块获取验证码
|
||||||
|
export function getHkCode(data){
|
||||||
|
return request({
|
||||||
|
url: `/sys/getHkCode`,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//发送验证码
|
||||||
|
export function smsCode(data){
|
||||||
|
return request({
|
||||||
|
url: `/sys/smsCode`,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
//验证码是否正确
|
||||||
|
export function checkPhoneCode(data){
|
||||||
|
return request({
|
||||||
|
url: `/sys/checkPhoneCode`,
|
||||||
|
method: 'post',
|
||||||
|
data,
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
//不知道干啥的
|
||||||
|
export function getList(){
|
||||||
|
return request({
|
||||||
|
url: `/NuBizAdvisoryInfo/nuBizAdvisoryInfo/list`,
|
||||||
|
method: 'get',
|
||||||
|
})
|
||||||
|
}
|
|
@ -6,22 +6,22 @@
|
||||||
<view class="overlay" :style="{width: containerWidth + 'rpx', height: containerHeight + 'rpx'}">
|
<view class="overlay" :style="{width: containerWidth + 'rpx', height: containerHeight + 'rpx'}">
|
||||||
<view class="hole" :style="{
|
<view class="hole" :style="{
|
||||||
top: originY + 'rpx',
|
top: originY + 'rpx',
|
||||||
left: originX + 'rpx',
|
left: (originX +50 ) + 'rpx',
|
||||||
width: pieceSize + 'rpx',
|
width: pieceSize + 'rpx',
|
||||||
height: pieceSize + 'rpx',
|
height: pieceSize + 'rpx',
|
||||||
clipPath: clipPath,
|
clipPath: clipPath,
|
||||||
transform: 'translate(-50%, -50%)',
|
transform: 'translate(-50%, -50%)',
|
||||||
backgroundColor: 'rgba(0,0,0,0.3)'
|
backgroundColor: 'rgba(0,0,0,0.6)'
|
||||||
}"></view>
|
}"></view>
|
||||||
|
|
||||||
<view class="piece" :style="{
|
<view class="piece" :style="{
|
||||||
top: originY + 'rpx',
|
top: originY + 'rpx',
|
||||||
left: offsetX + 'rpx',
|
left: (offsetX +50 ) + 'rpx',
|
||||||
width: pieceSize + 'rpx',
|
width: pieceSize + 'rpx',
|
||||||
height: pieceSize + 'rpx',
|
height: pieceSize + 'rpx',
|
||||||
backgroundImage: `url(${bgImage})`,
|
backgroundImage: `url(${bgImage})`,
|
||||||
backgroundSize: containerWidth + 'rpx ' + containerHeight + 'rpx',
|
backgroundSize: containerWidth + 'rpx ' + containerHeight + 'rpx',
|
||||||
backgroundPosition: `-${originX-30}rpx -${originY-45}rpx`,
|
backgroundPosition: `-${originX+10}rpx -${originY-20}rpx`,
|
||||||
clipPath: clipPath,
|
clipPath: clipPath,
|
||||||
transform: 'translate(-50%, -50%)'
|
transform: 'translate(-50%, -50%)'
|
||||||
}"></view>
|
}"></view>
|
||||||
|
@ -29,8 +29,13 @@
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
<view class="slider-bar">
|
<view class="slider-bar">
|
||||||
|
<view class="slider-bar-font">
|
||||||
|
向右滑动滑块填充拼图
|
||||||
|
</view>
|
||||||
<view class="slider-button" ref="btn" @touchstart.prevent="onStart" @mousedown.prevent="onStart"
|
<view class="slider-button" ref="btn" @touchstart.prevent="onStart" @mousedown.prevent="onStart"
|
||||||
:style="{ left: offsetX + 'rpx', maxWidth: (containerWidth - pieceSize) + 'rpx' }"></view>
|
:style="{ left: offsetX + 'rpx', maxWidth: (containerWidth - pieceSize) + 'rpx' }">
|
||||||
|
<image src="/static/login/right.png" style="width: 50rpx;height: 50rpx;" mode="widthFix" />
|
||||||
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</template>
|
</template>
|
||||||
|
@ -49,6 +54,8 @@
|
||||||
import img2 from '@/static/login/2.png'
|
import img2 from '@/static/login/2.png'
|
||||||
import img3 from '@/static/login/3.png'
|
import img3 from '@/static/login/3.png'
|
||||||
|
|
||||||
|
const emit = defineEmits(['success'])
|
||||||
|
|
||||||
const pieceSizePx = 50;
|
const pieceSizePx = 50;
|
||||||
const pieceSize = pieceSizePx * 2;
|
const pieceSize = pieceSizePx * 2;
|
||||||
const tolerance = 20;
|
const tolerance = 20;
|
||||||
|
@ -108,6 +115,10 @@
|
||||||
containerHeight.value = data.height * 2;
|
containerHeight.value = data.height * 2;
|
||||||
|
|
||||||
originX.value = Math.random() * (containerWidth.value - pieceSize * 2) + pieceSize;
|
originX.value = Math.random() * (containerWidth.value - pieceSize * 2) + pieceSize;
|
||||||
|
// console.log("!!!!!",originX.value)
|
||||||
|
if (originX.value < 100) {
|
||||||
|
originX.value = 100;
|
||||||
|
}
|
||||||
originY.value = containerHeight.value / 2;
|
originY.value = containerHeight.value / 2;
|
||||||
offsetX.value = 0;
|
offsetX.value = 0;
|
||||||
|
|
||||||
|
@ -141,9 +152,15 @@
|
||||||
window.removeEventListener('mouseup', onEnd);
|
window.removeEventListener('mouseup', onEnd);
|
||||||
window.removeEventListener('touchmove', onMove);
|
window.removeEventListener('touchmove', onMove);
|
||||||
window.removeEventListener('touchend', onEnd);
|
window.removeEventListener('touchend', onEnd);
|
||||||
|
|
||||||
if (Math.abs(offsetX.value - originX.value) < tolerance) {
|
if (Math.abs(offsetX.value - originX.value) < tolerance) {
|
||||||
console.log('验证成功');
|
// console.log('验证成功');
|
||||||
|
|
||||||
|
uni.showToast({
|
||||||
|
title: '验证成功',
|
||||||
|
icon: 'none', // 不显示图标(提示信息)
|
||||||
|
duration: 2000 // 显示时长(毫秒)
|
||||||
|
})
|
||||||
|
emit('success')
|
||||||
} else {
|
} else {
|
||||||
offsetX.value = 0;
|
offsetX.value = 0;
|
||||||
uni.showToast({
|
uni.showToast({
|
||||||
|
@ -170,13 +187,13 @@
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
<style scoped>
|
<style scoped lang="scss">
|
||||||
.captcha-container {
|
.captcha-container {
|
||||||
/* margin: 20rpx auto; */
|
/* margin: 20rpx auto; */
|
||||||
user-select: none;
|
user-select: none;
|
||||||
background-color: #fff;
|
background-color: #fff;
|
||||||
width: 600rpx;
|
width: 600rpx;
|
||||||
height: 800rpx;
|
height: 700rpx;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
z-index: 999;
|
z-index: 999;
|
||||||
border-radius: 30rpx;
|
border-radius: 30rpx;
|
||||||
|
@ -212,7 +229,7 @@
|
||||||
.piece {
|
.piece {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
z-index: 101;
|
z-index: 101;
|
||||||
border-radius: 5rpx;
|
/* border-radius: 5rpx; */
|
||||||
box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.4);
|
box-shadow: 0 0 6rpx rgba(0, 0, 0, 0.4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -228,23 +245,38 @@
|
||||||
|
|
||||||
.slider-bar {
|
.slider-bar {
|
||||||
position: relative;
|
position: relative;
|
||||||
height: 160rpx;
|
height: 100rpx;
|
||||||
margin-top: 0rpx;
|
margin-top: 0rpx;
|
||||||
background: #eee;
|
background: rgb(245, 246, 252);
|
||||||
border-radius: 80rpx;
|
/* border-radius: 80rpx; */
|
||||||
width: 600rpx;
|
width: 540rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.slider-bar-font {
|
||||||
|
// z-index: -1;
|
||||||
|
color: rgb(169, 169, 171);
|
||||||
|
font-size: 28rpx;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.slider-button {
|
.slider-button {
|
||||||
position: absolute;
|
position: absolute;
|
||||||
top: 20rpx;
|
top: 0rpx;
|
||||||
width: 120rpx;
|
left: 0;
|
||||||
height: 120rpx;
|
width: 100rpx;
|
||||||
|
height: 100rpx;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
border-radius: 60rpx;
|
/* border-radius: 60rpx; */
|
||||||
box-shadow: 0 0 20rpx rgba(0, 0, 0, 0.2);
|
box-shadow: 0 0 20rpx rgba(0, 0, 0, 0.2);
|
||||||
transition: background 0.3s;
|
transition: background 0.3s;
|
||||||
user-select: none;
|
user-select: none;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
border: 3rpx solid rgb(139, 218, 202);
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
.slider-button.success {
|
.slider-button.success {
|
||||||
|
@ -256,8 +288,8 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
height: 80rpx;
|
height: 100rpx;
|
||||||
font-size: 30rpx;
|
font-size: 35rpx;
|
||||||
font-weight: 700;
|
font-weight: 700;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -3,7 +3,7 @@ import { ref } from 'vue';
|
||||||
import request from '@/request/index.js';
|
import request from '@/request/index.js';
|
||||||
|
|
||||||
const APPID = 'wx8fc3e4305d2fbf0b';
|
const APPID = 'wx8fc3e4305d2fbf0b';
|
||||||
const REDIRECT_URI = encodeURIComponent('https://www.focusnu.com/wechat/thd/#/pages/index/callback');
|
const REDIRECT_URI = encodeURIComponent('https://www.focusnu.com/wechat/thd/#/pages/login/callback');
|
||||||
|
|
||||||
export function useWeChatAuth() {
|
export function useWeChatAuth() {
|
||||||
const code = ref('');
|
const code = ref('');
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="app"><!--app-html--></div>
|
<div id="app"><!--app-html--></div>
|
||||||
|
<script src="https://unpkg.com/html5-qrcode"></script>
|
||||||
<script type="module" src="/main.js"></script>
|
<script type="module" src="/main.js"></script>
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
|
22
pages.json
|
@ -37,9 +37,27 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"path": "pages/map/index",
|
"path": "pages/addoldman/hukou",
|
||||||
"style": {
|
"style": {
|
||||||
"navigationBarTitleText": "地图"
|
"navigationBarTitleText": "长者信息采集"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/addoldman/yibao",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "长者信息采集"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/addoldman/IDcard",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "长者信息采集"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"path": "pages/selectunit/map",
|
||||||
|
"style": {
|
||||||
|
"navigationBarTitleText": "选择护理单元"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
|
@ -0,0 +1,246 @@
|
||||||
|
<template>
|
||||||
|
<div class="container">
|
||||||
|
<view class="white-content">
|
||||||
|
<view class="content-title">
|
||||||
|
<view class="content-weight">身份证上传</view>
|
||||||
|
<image class="content-img" src="@/static/index/bian.png" />
|
||||||
|
</view>
|
||||||
|
<view class="white-photo" @click="getMessage">
|
||||||
|
<view class="photo-left">
|
||||||
|
<view class="photo-weight">人像面</view>
|
||||||
|
<view class="photo-font">请上传身份证人像面</view>
|
||||||
|
</view>
|
||||||
|
<image class="photo" src="@/static/index/IDcard.png" />
|
||||||
|
</view>
|
||||||
|
<view class="white-photo" style="margin-top: 30rpx;" @click="getMessage">
|
||||||
|
<view class="photo-left">
|
||||||
|
<view class="photo-weight">国徽面</view>
|
||||||
|
<view class="photo-font">请上传身份证国徽面</view>
|
||||||
|
</view>
|
||||||
|
<image class="photo" src="@/static/index/backIDcard.png" />
|
||||||
|
</view>
|
||||||
|
<view class="white-message">
|
||||||
|
<view class="message-title">
|
||||||
|
<view class="shu"></view>
|
||||||
|
<view class="message-weight">
|
||||||
|
确认户口本本人页信息
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view style="margin-bottom: 20rpx;">
|
||||||
|
<view v-for="(item,index) in nameArray" :key="index" class="one">
|
||||||
|
<view class="one-left">{{item}}</view>
|
||||||
|
<view class="one-right">自动获得</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="gray-font">
|
||||||
|
<view class="">注意事项:</view>
|
||||||
|
<view class="">同一个身份证号只能认证一个账号国徽而与正面信息应为同一身份证的信息目在有效期内,所有上传照片需清晰且未遮挡,请勿进行美化和修改,所有上传信息均会被妥善保管,不会用于其他商业用途或传输给第三方。</view>
|
||||||
|
</view>
|
||||||
|
<view class="finish-button" @click="next">
|
||||||
|
下一步
|
||||||
|
</view>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
ref
|
||||||
|
} from 'vue'
|
||||||
|
|
||||||
|
const nameArray = ["姓名", "性别", "身份证号码","民族","出生日期","住址","签发机关","有效期限"]
|
||||||
|
|
||||||
|
// 本地保存的临时文件路径
|
||||||
|
const tempImagePath = ref('')
|
||||||
|
|
||||||
|
// 拍照并上传
|
||||||
|
function getMessage() {
|
||||||
|
// 使用 UniApp 的 API 调用摄像头
|
||||||
|
uni.chooseImage({
|
||||||
|
count: 1,
|
||||||
|
sourceType: ['camera'],
|
||||||
|
success: chooseRes => {
|
||||||
|
tempImagePath.value = chooseRes.tempFilePaths[0]
|
||||||
|
// 拍照成功后,调用上传函数
|
||||||
|
uploadImage(tempImagePath.value)
|
||||||
|
},
|
||||||
|
fail: err => {
|
||||||
|
console.error('拍照失败:', err)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 上传图片到服务器
|
||||||
|
function uploadImage(filePath) {
|
||||||
|
uni.uploadFile({
|
||||||
|
url: `${uni.getStorageSync('serverUrl')}/api/ocr/idCard`, // 替换为你的POST接口地址
|
||||||
|
filePath,
|
||||||
|
name: 'file', // 后端接收时的字段名
|
||||||
|
header: {
|
||||||
|
'X-Access-Token': uni.getStorageSync('token') || '',
|
||||||
|
},
|
||||||
|
formData: {
|
||||||
|
// 可以根据接口需要添加额外表单字段
|
||||||
|
// userId: '12345'
|
||||||
|
},
|
||||||
|
success: uploadRes => {
|
||||||
|
console.log("????",JSON.parse(JSON.parse(uploadRes.data).result).data)
|
||||||
|
|
||||||
|
},
|
||||||
|
fail: err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: '上传出错',
|
||||||
|
icon: 'error'
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const next = () =>{
|
||||||
|
uni.navigateTo({
|
||||||
|
url: "/pages/addoldman/yibao"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
min-height: 100vh;
|
||||||
|
width: 100%;
|
||||||
|
background-color: rgb(239, 241, 252);
|
||||||
|
position: relative;
|
||||||
|
box-shadow: 2rpx 2rpx 4rpx rgba(0, 0, 0, 0.1);
|
||||||
|
|
||||||
|
.white-content {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
// height: 1200rpx;
|
||||||
|
border-radius: 35rpx;
|
||||||
|
background-color: rgb(245, 251, 254);
|
||||||
|
|
||||||
|
.content-title {
|
||||||
|
display: flex;
|
||||||
|
// align-items: center;
|
||||||
|
height: 100rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.content-weight {
|
||||||
|
// font-size: 35rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
margin-left: 70rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-img {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 400rpx;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.white-photo {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
// margin-top: 30rpx;
|
||||||
|
height: 300rpx;
|
||||||
|
border-radius: 35rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
box-shadow: 4rpx 4rpx 8rpx rgba(0, 0, 0, 0.1);
|
||||||
|
justify-content: space-around;
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.photo {
|
||||||
|
width: 300rpx;
|
||||||
|
height: 200rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.white-message{
|
||||||
|
width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
// height: 800rpx;
|
||||||
|
border-radius: 35rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
box-shadow: 4rpx 4rpx 8rpx rgba(0, 0, 0, 0.1);
|
||||||
|
justify-content: space-around;
|
||||||
|
// align-items: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
.message-title{
|
||||||
|
width: 100%;
|
||||||
|
height: 100rpx;
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
.shu{
|
||||||
|
width: 10rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
background-color: #0097FF;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
margin: 0 20rpx 0 30rpx;
|
||||||
|
}
|
||||||
|
.message-weight{
|
||||||
|
font-size: 30rpx;
|
||||||
|
// font-weight: 600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.one{
|
||||||
|
width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
border-bottom: 1rpx solid #d7d7d7;
|
||||||
|
height: 90rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
.one-left{
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
.one-right{
|
||||||
|
margin-right: 10rpx;
|
||||||
|
color: #999999 ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.photo-left {
|
||||||
|
.photo-weight {
|
||||||
|
font-size: 26rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.photo-font {
|
||||||
|
font-size: 23rpx;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.gray-font{
|
||||||
|
padding: 30rpx 60rpx;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
.finish-button{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 70%;
|
||||||
|
height: 100rpx;
|
||||||
|
margin: 0rpx auto;
|
||||||
|
margin-bottom: 80rpx;
|
||||||
|
color: #fff;
|
||||||
|
background: linear-gradient(to right,#00C9FF,#0076FF );
|
||||||
|
border-radius: 50rpx;
|
||||||
|
font-size: 35rpx;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,239 @@
|
||||||
|
<template>
|
||||||
|
<div class="container">
|
||||||
|
<view class="white-content">
|
||||||
|
<view class="content-title">
|
||||||
|
<view class="content-weight">上传户口本本人页</view>
|
||||||
|
<image class="content-img" src="@/static/index/bian.png" />
|
||||||
|
</view>
|
||||||
|
<view class="white-photo" @click="getMessage">
|
||||||
|
<view class="photo-left">
|
||||||
|
<view class="photo-weight">户口本本人页</view>
|
||||||
|
<view class="photo-font">请上传户口本本人页</view>
|
||||||
|
</view>
|
||||||
|
<image class="photo" src="@/static/index/photoID.png" />
|
||||||
|
</view>
|
||||||
|
<view class="white-message">
|
||||||
|
<view class="message-title">
|
||||||
|
<view class="shu"></view>
|
||||||
|
<view class="message-weight">
|
||||||
|
确认户口本本人页信息
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view style="margin-bottom: 20rpx;">
|
||||||
|
<view v-for="(item,index) in nameArray" :key="index" class="one">
|
||||||
|
<view class="one-left">{{item}}</view>
|
||||||
|
<view class="one-right">自动获得</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="gray-font">
|
||||||
|
<view class="">注意事项:</view>
|
||||||
|
<view class="">1.所有上传信息均会被妥善保管,不用于其他商业用途或传输给第三方。</view>
|
||||||
|
</view>
|
||||||
|
<view class="finish-button" @click="goback">
|
||||||
|
确认提交
|
||||||
|
</view>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
ref
|
||||||
|
} from 'vue'
|
||||||
|
|
||||||
|
const nameArray = ["姓名", "户主或与户主关系", "曾用名", "性别", "出生地", "民族", "籍贯", "出生日期", "本市(县)其他住址", "宗教信仰", "公民身份证件编号", "身高",
|
||||||
|
"血型", "文化程度", "婚姻状况","兵役状况","服务住所","职业","何时由何地迁来本市(县)","何时由何地迁来本址"
|
||||||
|
]
|
||||||
|
|
||||||
|
// 本地保存的临时文件路径
|
||||||
|
const tempImagePath = ref('')
|
||||||
|
|
||||||
|
// 拍照并上传
|
||||||
|
function getMessage() {
|
||||||
|
// 使用 UniApp 的 API 调用摄像头
|
||||||
|
uni.chooseImage({
|
||||||
|
count: 1,
|
||||||
|
sourceType: ['camera'],
|
||||||
|
success: chooseRes => {
|
||||||
|
tempImagePath.value = chooseRes.tempFilePaths[0]
|
||||||
|
// 拍照成功后,调用上传函数
|
||||||
|
uploadImage(tempImagePath.value)
|
||||||
|
},
|
||||||
|
fail: err => {
|
||||||
|
console.error('拍照失败:', err)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 上传图片到服务器
|
||||||
|
function uploadImage(filePath) {
|
||||||
|
uni.uploadFile({
|
||||||
|
url: `${uni.getStorageSync('serverUrl')}/api/ocr/idCard`, // 替换为你的POST接口地址
|
||||||
|
filePath,
|
||||||
|
name: 'file', // 后端接收时的字段名
|
||||||
|
header: {
|
||||||
|
'X-Access-Token': uni.getStorageSync('token') || '',
|
||||||
|
},
|
||||||
|
formData: {
|
||||||
|
// 可以根据接口需要添加额外表单字段
|
||||||
|
// userId: '12345'
|
||||||
|
},
|
||||||
|
success: uploadRes => {
|
||||||
|
console.log("????",JSON.parse(JSON.parse(uploadRes.data).result).data)
|
||||||
|
|
||||||
|
},
|
||||||
|
fail: err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: '上传出错',
|
||||||
|
icon: 'error'
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const goback = () =>{
|
||||||
|
uni.redirectTo({
|
||||||
|
url: `/pages/index/index`
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
min-height: 100vh;
|
||||||
|
width: 100%;
|
||||||
|
background-color: rgb(239, 241, 252);
|
||||||
|
position: relative;
|
||||||
|
box-shadow: 2rpx 2rpx 4rpx rgba(0, 0, 0, 0.1);
|
||||||
|
|
||||||
|
.white-content {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
// height: 1200rpx;
|
||||||
|
border-radius: 35rpx;
|
||||||
|
background-color: rgb(245, 251, 254);
|
||||||
|
|
||||||
|
.content-title {
|
||||||
|
display: flex;
|
||||||
|
// align-items: center;
|
||||||
|
height: 100rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.content-weight {
|
||||||
|
// font-size: 35rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
margin-left: 20rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-img {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 400rpx;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.white-photo {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
// margin-top: 30rpx;
|
||||||
|
height: 300rpx;
|
||||||
|
border-radius: 35rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
box-shadow: 4rpx 4rpx 8rpx rgba(0, 0, 0, 0.1);
|
||||||
|
justify-content: space-around;
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.photo {
|
||||||
|
width: 300rpx;
|
||||||
|
height: 200rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.white-message{
|
||||||
|
width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
// height: 800rpx;
|
||||||
|
border-radius: 35rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
box-shadow: 4rpx 4rpx 8rpx rgba(0, 0, 0, 0.1);
|
||||||
|
justify-content: space-around;
|
||||||
|
// align-items: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
.message-title{
|
||||||
|
width: 100%;
|
||||||
|
height: 100rpx;
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
.shu{
|
||||||
|
width: 10rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
background-color: #0097FF;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
margin: 0 20rpx 0 30rpx;
|
||||||
|
}
|
||||||
|
.message-weight{
|
||||||
|
font-size: 30rpx;
|
||||||
|
// font-weight: 600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.one{
|
||||||
|
width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
border-bottom: 1rpx solid #d7d7d7;
|
||||||
|
height: 90rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
.one-left{
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
.one-right{
|
||||||
|
margin-right: 10rpx;
|
||||||
|
color: #999999 ;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.photo-left {
|
||||||
|
.photo-weight {
|
||||||
|
font-size: 26rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.photo-font {
|
||||||
|
font-size: 23rpx;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
.gray-font{
|
||||||
|
padding: 30rpx 60rpx;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
.finish-button{
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 70%;
|
||||||
|
height: 100rpx;
|
||||||
|
margin: 0rpx auto;
|
||||||
|
margin-bottom: 80rpx;
|
||||||
|
color: #fff;
|
||||||
|
background: linear-gradient(to right,#00C9FF,#0076FF );
|
||||||
|
border-radius: 50rpx;
|
||||||
|
font-size: 35rpx;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -0,0 +1,259 @@
|
||||||
|
<template>
|
||||||
|
<div class="container">
|
||||||
|
<view class="white-content">
|
||||||
|
<view class="content-title">
|
||||||
|
<view class="content-weight">医保卡上传</view>
|
||||||
|
<image class="content-img" src="@/static/index/bian.png" />
|
||||||
|
</view>
|
||||||
|
<view class="white-photo" @click="getMessage">
|
||||||
|
<view class="photo-left">
|
||||||
|
<view class="photo-weight">医保卡正面</view>
|
||||||
|
<view class="photo-font">请上传身份证医保卡正面</view>
|
||||||
|
</view>
|
||||||
|
<image class="photo" src="@/static/index/yibaocard.png" />
|
||||||
|
</view>
|
||||||
|
<view class="white-photo" style="margin-top: 30rpx;" @click="getMessage">
|
||||||
|
<view class="photo-left">
|
||||||
|
<view class="photo-weight">医保卡背面</view>
|
||||||
|
<view class="photo-font">请上传身份证医保卡背面</view>
|
||||||
|
</view>
|
||||||
|
<image class="photo" src="@/static/index/backyibaocard.png" />
|
||||||
|
</view>
|
||||||
|
<view class="white-message">
|
||||||
|
<view class="message-title">
|
||||||
|
<view class="shu"></view>
|
||||||
|
<view class="message-weight">
|
||||||
|
确认户口本本人页信息
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view style="margin-bottom: 20rpx;">
|
||||||
|
<view v-for="(item,index) in nameArray" :key="index" class="one">
|
||||||
|
<view class="one-left">{{item}}</view>
|
||||||
|
<view class="one-right">自动获得</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="gray-font">
|
||||||
|
<view class="">注意事项:</view>
|
||||||
|
<view class="">
|
||||||
|
1.同一个医保卡号只能认证一个账号;
|
||||||
|
</view>
|
||||||
|
<view class="">2.正反面医保卡信息应为同一医保卡信息;</view>
|
||||||
|
<view class="">3.所有上传照片需清晰且未遮挡,请勿进行美化和修改;</view>
|
||||||
|
<view class="">4.所有上传信息均会被妥善保管,不会用于其他商业用途或传输给第三方;</view>
|
||||||
|
</view>
|
||||||
|
<view class="finish-button" @click="next">
|
||||||
|
下一步
|
||||||
|
</view>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
ref
|
||||||
|
} from 'vue'
|
||||||
|
|
||||||
|
const nameArray = ["姓名", "社会保障卡号码", "社会保障卡卡号", "发卡日期"]
|
||||||
|
|
||||||
|
// 本地保存的临时文件路径
|
||||||
|
const tempImagePath = ref('')
|
||||||
|
|
||||||
|
// 拍照并上传
|
||||||
|
function getMessage() {
|
||||||
|
// 使用 UniApp 的 API 调用摄像头
|
||||||
|
uni.chooseImage({
|
||||||
|
count: 1,
|
||||||
|
sourceType: ['camera'],
|
||||||
|
success: chooseRes => {
|
||||||
|
tempImagePath.value = chooseRes.tempFilePaths[0]
|
||||||
|
// 拍照成功后,调用上传函数
|
||||||
|
uploadImage(tempImagePath.value)
|
||||||
|
},
|
||||||
|
fail: err => {
|
||||||
|
console.error('拍照失败:', err)
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
// 上传图片到服务器
|
||||||
|
function uploadImage(filePath) {
|
||||||
|
uni.uploadFile({
|
||||||
|
url: `${uni.getStorageSync('serverUrl')}/api/ocr/idCard`, // 替换为你的POST接口地址
|
||||||
|
filePath,
|
||||||
|
name: 'file', // 后端接收时的字段名
|
||||||
|
header: {
|
||||||
|
'X-Access-Token': uni.getStorageSync('token') || '',
|
||||||
|
},
|
||||||
|
formData: {
|
||||||
|
// 可以根据接口需要添加额外表单字段
|
||||||
|
// userId: '12345'
|
||||||
|
},
|
||||||
|
success: uploadRes => {
|
||||||
|
console.log("????", JSON.parse(JSON.parse(uploadRes.data).result).data)
|
||||||
|
|
||||||
|
},
|
||||||
|
fail: err => {
|
||||||
|
uni.showToast({
|
||||||
|
title: '上传出错',
|
||||||
|
icon: 'error'
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
const next = () => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: "/pages/addoldman/hukou"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
min-height: 100vh;
|
||||||
|
width: 100%;
|
||||||
|
background-color: rgb(239, 241, 252);
|
||||||
|
position: relative;
|
||||||
|
box-shadow: 2rpx 2rpx 4rpx rgba(0, 0, 0, 0.1);
|
||||||
|
|
||||||
|
.white-content {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
// height: 1200rpx;
|
||||||
|
border-radius: 35rpx;
|
||||||
|
background-color: rgb(245, 251, 254);
|
||||||
|
|
||||||
|
.content-title {
|
||||||
|
display: flex;
|
||||||
|
// align-items: center;
|
||||||
|
height: 100rpx;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.content-weight {
|
||||||
|
// font-size: 35rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
margin-left: 70rpx;
|
||||||
|
margin-top: 20rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-img {
|
||||||
|
position: absolute;
|
||||||
|
right: 0;
|
||||||
|
top: 0;
|
||||||
|
width: 400rpx;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.white-photo {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
// margin-top: 30rpx;
|
||||||
|
height: 300rpx;
|
||||||
|
border-radius: 35rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
box-shadow: 4rpx 4rpx 8rpx rgba(0, 0, 0, 0.1);
|
||||||
|
justify-content: space-around;
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.photo {
|
||||||
|
width: 300rpx;
|
||||||
|
height: 200rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.white-message {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
margin-bottom: 30rpx;
|
||||||
|
// height: 800rpx;
|
||||||
|
border-radius: 35rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
box-shadow: 4rpx 4rpx 8rpx rgba(0, 0, 0, 0.1);
|
||||||
|
justify-content: space-around;
|
||||||
|
// align-items: center;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
.message-title {
|
||||||
|
width: 100%;
|
||||||
|
height: 100rpx;
|
||||||
|
align-items: center;
|
||||||
|
display: flex;
|
||||||
|
|
||||||
|
.shu {
|
||||||
|
width: 10rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
background-color: #0097FF;
|
||||||
|
border-radius: 10rpx;
|
||||||
|
margin: 0 20rpx 0 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.message-weight {
|
||||||
|
font-size: 30rpx;
|
||||||
|
// font-weight: 600;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.one {
|
||||||
|
width: 90%;
|
||||||
|
margin-left: 5%;
|
||||||
|
border-bottom: 1rpx solid #d7d7d7;
|
||||||
|
height: 90rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
align-items: center;
|
||||||
|
margin-bottom: 10rpx;
|
||||||
|
|
||||||
|
.one-left {
|
||||||
|
margin-left: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.one-right {
|
||||||
|
margin-right: 10rpx;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.photo-left {
|
||||||
|
.photo-weight {
|
||||||
|
font-size: 26rpx;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.photo-font {
|
||||||
|
font-size: 23rpx;
|
||||||
|
margin-top: 10rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.gray-font {
|
||||||
|
padding: 30rpx 60rpx;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
|
||||||
|
.finish-button {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
width: 70%;
|
||||||
|
height: 100rpx;
|
||||||
|
margin: 0rpx auto;
|
||||||
|
margin-bottom: 80rpx;
|
||||||
|
color: #fff;
|
||||||
|
background: linear-gradient(to right, #00C9FF, #0076FF);
|
||||||
|
border-radius: 50rpx;
|
||||||
|
font-size: 35rpx;
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -1,14 +1,177 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="login-container">
|
<view class="login-container">
|
||||||
|
<!-- 扫码遮罩层 -->
|
||||||
|
<view v-show="scanning" class="scan-mask">
|
||||||
|
<!-- 半透明背景自动铺满 -->
|
||||||
|
<view class="mask-bg" @click="cancelScan"></view>
|
||||||
|
<!-- 扫描框容器,绝对居中 -->
|
||||||
|
<view class="mask-center" @click.stop >
|
||||||
|
<div id="reader" class="reader"></div>
|
||||||
|
<!-- <view class="cancel-btn" @click="scanQrCode">取消扫描</view> -->
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="index-up">
|
||||||
|
<image class="index-up-img" src="@/static/index/indexgif.gif" mode="widthFix" lazy-load="false" />
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view class="index-ball-father">
|
||||||
|
<view class="white-ball">
|
||||||
|
<image class="small-img" @click="gotoPay" src="@/static/index/button/money.png" mode="widthFix"
|
||||||
|
lazy-load="false" />
|
||||||
|
</view>
|
||||||
|
<view class="white-ball">
|
||||||
|
<image class="small-img" src="@/static/index/button/scan.png" mode="widthFix" lazy-load="false" />
|
||||||
|
</view>
|
||||||
|
<view class="white-ball">
|
||||||
|
<image class="small-img" src="@/static/index/button/watch.png" mode="widthFix" lazy-load="false" />
|
||||||
|
</view>
|
||||||
|
<view class="super-white-ball" @click="jumpTo">
|
||||||
|
<image class="small-img" src="@/static/index/button/more.png" mode="widthFix" lazy-load="false" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="index-smallPhoto">
|
||||||
|
<view class="photo-box" @click="preview()">
|
||||||
|
<image class="photo-box-img" src="@/static/index/kuai.png" mode="widthFix" lazy-load="false" />
|
||||||
|
<image class="photo-box-img" :src="tu" mode="widthFix" lazy-load="false" />
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="white-scan" v-show="scaning">
|
||||||
|
<view class="scan-title">
|
||||||
|
<image class="scan-img" src="@/static/index/badscan.png" />
|
||||||
|
<view class="scan-font">
|
||||||
|
<view class="weight">
|
||||||
|
扫描机构二维码
|
||||||
|
</view>
|
||||||
|
<view class="noral">
|
||||||
|
持续搜索中...
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="scan-back" @click="scaning = false;">
|
||||||
|
返回
|
||||||
|
</view>
|
||||||
|
<!-- <image class="scan-back" src="@/static/index/index/back.png" @click="scaning = false;" /> -->
|
||||||
|
</view>
|
||||||
|
|
||||||
|
<view v-if="qrResult" class="result">
|
||||||
|
扫描结果:{{ qrResult }}
|
||||||
|
</view>
|
||||||
|
<view class="other-scan">
|
||||||
|
<view class="scan-circle" @click="scanQrCode">
|
||||||
|
<view class="small-circle"></view>
|
||||||
|
<image class="scan-img" src="@/static/index/goodscan.png" />
|
||||||
|
</view>
|
||||||
|
<view class="scan-text">
|
||||||
|
扫描二维码
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="white-content-father-time" v-show="!scaning">
|
||||||
|
<view class="white-content">
|
||||||
|
<view class="time-father">
|
||||||
|
<view class="font-weight">
|
||||||
|
{{ hours }}:{{ minutes }}:{{ seconds }}
|
||||||
|
</view>
|
||||||
|
<view class="font-small">
|
||||||
|
{{ month }}月{{ day }}日 {{ weekday }}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="white-shu"></view>
|
||||||
|
<view class="wendu-content">
|
||||||
|
<image class="wendu-img" src="@/static/index/index/wendu.png" lazy-load="false" />
|
||||||
|
<view class="wendu-font">
|
||||||
|
<view>温度</view>
|
||||||
|
<view style="font-weight: 600;">16℃</view>
|
||||||
|
</view>
|
||||||
|
<image class="wendu-img" src="@/static/index/index/shidu.png" lazy-load="false" />
|
||||||
|
<view class="wendu-font">
|
||||||
|
<view>湿度</view>
|
||||||
|
<view style="font-weight: 600;">49%</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="white-content-father" v-show="!scaning">
|
||||||
|
<swiper style="width: 100%;" :duration="500" :style="{height: `600rpx`}" :current="which"
|
||||||
|
@change="swiperchange">
|
||||||
|
<swiper-item style="width: 100%;">
|
||||||
|
<view class="white-content">
|
||||||
|
<image class="white-content-img" src="@/static/index/index/nobang.png" lazy-load="false" />
|
||||||
|
<view class="white-font">
|
||||||
|
请绑定护理单元~
|
||||||
|
</view>
|
||||||
|
<view class="botton-button">
|
||||||
|
<view class="botton-button-father">
|
||||||
|
<view class="botton-button-bgc">
|
||||||
|
<image class="botton-button-img" src="@/static/index/index/cloudbang.png" />
|
||||||
|
</view>
|
||||||
|
<view class="botton-button-font">
|
||||||
|
云绑定
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="botton-button-father">
|
||||||
|
<view class="botton-button-bgc" @click="scaning = true">
|
||||||
|
<image class="botton-button-img" src="@/static/index/index/scan.png" />
|
||||||
|
</view>
|
||||||
|
<view class="botton-button-font" @click="scaning = true">
|
||||||
|
扫码绑定
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</swiper-item>
|
||||||
|
<swiper-item>
|
||||||
|
<view class="white-content">
|
||||||
|
<image style="top: 10rpx;width: 600rpx;height: 400rpx;" class="white-content-img"
|
||||||
|
src="@/static/index/badold.png" />
|
||||||
|
<view style="margin-top: 350rpx;" class="white-font">
|
||||||
|
请添加长者信息
|
||||||
|
</view>
|
||||||
|
<view class="bad-button">
|
||||||
|
<view class="blue-button" @click="addoldman">
|
||||||
|
+添加长者
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</swiper-item>
|
||||||
|
<swiper-item>
|
||||||
|
<view class="zhiling-box">
|
||||||
|
<view class="">
|
||||||
|
单元清洁服务指令已执行完毕,点击查看
|
||||||
|
</view>
|
||||||
|
<image class="zhiling-img" src="@/static/index/index/back.png" />
|
||||||
|
</view>
|
||||||
|
<view class="white-box-father">
|
||||||
|
<view v-for="(item,index) in buttonArray" :key="index" class="white-box">
|
||||||
|
<image class="box-img" :src="`/static/index/jumpbutton/${index}.png`" />
|
||||||
|
<view class="box-font">{{item}}</view>
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<view class="white-box">
|
||||||
|
<view style="font-weight: 600;font-size: 80rpx;">+</view>
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
</swiper-item>
|
||||||
|
</swiper>
|
||||||
|
</view>
|
||||||
|
|
||||||
<!-- 底部的栏,为啥这样写,是因为要做左右拉动 -->
|
<!-- 底部的栏,为啥这样写,是因为要做左右拉动 -->
|
||||||
<view class="botton-view">
|
<view class="botton-view">
|
||||||
|
<view class="jia-box">
|
||||||
|
<view class="gray-box" v-show="whichMenu===2"></view>
|
||||||
|
<view class="jia">
|
||||||
|
+
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
<view v-for="(item,index) in itemArray" class="array-father">
|
<view v-for="(item,index) in itemArray" class="array-father">
|
||||||
<view :class="itemTarget===index ? `bottom-button-target` : `bottom-button`" @click="itemTarget=index">
|
<view :class="itemTarget===index ? `bottom-button-target` : `bottom-button`" @click="itemTarget=index">
|
||||||
<view class="">
|
<image class="botton-img"
|
||||||
|
:src="`/static/index/itemsbutton/${index}${itemTarget===index?1:0}.png`" />
|
||||||
|
<view class="bottom-text" :style="!index ?{fontWeight:600}:{}">
|
||||||
{{item}}
|
{{item}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view v-show="itemTarget===index" class="blue-heng"></view>
|
<!-- <view v-show="itemTarget===index" class="blue-heng"></view> -->
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
|
@ -17,10 +180,139 @@
|
||||||
<script setup>
|
<script setup>
|
||||||
import {
|
import {
|
||||||
reactive,
|
reactive,
|
||||||
ref
|
ref,
|
||||||
|
onMounted,
|
||||||
|
onUnmounted
|
||||||
} from 'vue';
|
} from 'vue';
|
||||||
|
import tu from '@/static/index/tu.png'
|
||||||
|
import request from '@/request/index.js' // 你封装的 uni.request
|
||||||
|
|
||||||
|
|
||||||
const itemArray = ["NU", "动态", "我的"];
|
const itemArray = ["NU", "动态", "我的"];
|
||||||
|
const buttonArray = ref(["护理流程", "服务指令", "实时监控", "客户信息", "缴费账单", "充值缴费", "退住管理"])
|
||||||
const itemTarget = ref(0);
|
const itemTarget = ref(0);
|
||||||
|
const which = ref(0);
|
||||||
|
const scaning = ref(false)
|
||||||
|
|
||||||
|
function preview() {
|
||||||
|
uni.previewImage({
|
||||||
|
urls: [tu], // 需要预览的所有图片地址数组
|
||||||
|
// current: imgList.value[currentIndex], // 当前点击的那张
|
||||||
|
})
|
||||||
|
}
|
||||||
|
const jumpTo = () => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: "/pages/index/indexone"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
const month = ref('01')
|
||||||
|
const day = ref('01')
|
||||||
|
const weekday = ref('周一')
|
||||||
|
const weekMap = ['周日', '周一', '周二', '周三', '周四', '周五', '周六']
|
||||||
|
const hours = ref('00')
|
||||||
|
const minutes = ref('00')
|
||||||
|
const seconds = ref('00')
|
||||||
|
let timer = null
|
||||||
|
|
||||||
|
function updateTime() {
|
||||||
|
const now = new Date()
|
||||||
|
// 月份要 +1,保证两位
|
||||||
|
month.value = String(now.getMonth() + 1).padStart(2, '0')
|
||||||
|
day.value = String(now.getDate()).padStart(2, '0')
|
||||||
|
weekday.value = weekMap[now.getDay()]
|
||||||
|
// 如果想要两位数显示,不足两位前面补 0
|
||||||
|
hours.value = String(now.getHours()).padStart(2, '0')
|
||||||
|
minutes.value = String(now.getMinutes()).padStart(2, '0')
|
||||||
|
seconds.value = String(now.getSeconds()).padStart(2, '0')
|
||||||
|
}
|
||||||
|
const whichMenu = ref(0);
|
||||||
|
const swiperchange = (res) => {
|
||||||
|
whichMenu.value = res.detail.current
|
||||||
|
// console.log("res",res.detail.current)
|
||||||
|
}
|
||||||
|
const addoldman = () => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: "/pages/addoldman/IDcard"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
const gotoPay = () => {
|
||||||
|
uni.navigateTo({
|
||||||
|
url: "/pages/pay/index"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const qrResult = ref('')
|
||||||
|
const scanning = ref(false)
|
||||||
|
let html5QrCode = null
|
||||||
|
async function cancelScan() {
|
||||||
|
if (html5QrCode && scanning.value) {
|
||||||
|
try {
|
||||||
|
await html5QrCode.stop()
|
||||||
|
} catch (e) {
|
||||||
|
console.warn('停止扫码出错', e)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
scanning.value = false
|
||||||
|
}
|
||||||
|
function scanQrCode() {
|
||||||
|
// 如果正在扫描,先停止一次
|
||||||
|
if (html5QrCode && scanning.value) {
|
||||||
|
html5QrCode.stop().catch(() => {}).finally(() => {
|
||||||
|
scanning.value = false
|
||||||
|
})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
// 标记为正在扫描,显示容器
|
||||||
|
scanning.value = true
|
||||||
|
qrResult.value = ''
|
||||||
|
|
||||||
|
// 创建扫码实例(指定容器ID)
|
||||||
|
html5QrCode = new Html5Qrcode("reader")
|
||||||
|
|
||||||
|
// 扫码配置:每秒 10 帧,识别框大小 250×250
|
||||||
|
const config = {
|
||||||
|
fps: 10,
|
||||||
|
qrbox: {
|
||||||
|
width: 350,
|
||||||
|
height: 350
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
html5QrCode.start({
|
||||||
|
facingMode: "environment"
|
||||||
|
}, // 后置摄像头
|
||||||
|
config,
|
||||||
|
decodedText => {
|
||||||
|
// 扫码成功回调
|
||||||
|
qrResult.value = decodedText
|
||||||
|
// 停止扫描并隐藏容器
|
||||||
|
html5QrCode.stop().catch(console.warn).finally(() => {
|
||||||
|
scanning.value = false
|
||||||
|
})
|
||||||
|
uni.navigateTo({
|
||||||
|
url: "/pages/selectunit/map"
|
||||||
|
});
|
||||||
|
|
||||||
|
},
|
||||||
|
errorMessage => {
|
||||||
|
// 解析过程中报错,不用处理
|
||||||
|
}
|
||||||
|
).catch(err => {
|
||||||
|
console.error("扫码启动失败", err)
|
||||||
|
scanning.value = false
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
|
onMounted(async () => {
|
||||||
|
updateTime() // 立刻执行一次,保证页面一加载就有值
|
||||||
|
timer = setInterval(updateTime, 1000) // 每秒更新
|
||||||
|
})
|
||||||
|
|
||||||
|
onUnmounted(() => {
|
||||||
|
clearInterval(timer) // 组件销毁时清理定时器
|
||||||
|
html5QrCode && html5QrCode.stop().catch(console.warn)
|
||||||
|
})
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
@ -31,23 +323,31 @@
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background-color: rgb(239, 241, 252);
|
background-color: rgb(239, 241, 252);
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.array-father {
|
.array-father {
|
||||||
width: 33%;
|
width: 33%;
|
||||||
position: relative;
|
position: relative;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
.botton-view {
|
.botton-view {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
bottom: 0;
|
bottom: 0;
|
||||||
left: 0;
|
left: 0;
|
||||||
height: 200rpx;
|
// margin-top: 50rpx;
|
||||||
|
// margin: 0 auto;
|
||||||
|
// margin-top: 60rpx;
|
||||||
|
height: 120rpx;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
// border-radius: 60rpx;
|
||||||
|
background-color: #fff;
|
||||||
// background-color: greenyellow;
|
// background-color: greenyellow;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
font-weight: 500;
|
font-weight: 500;
|
||||||
|
z-index: 999;
|
||||||
|
|
||||||
.bottom-button {
|
.bottom-button {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
|
@ -55,6 +355,7 @@
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
.bottom-button-target {
|
.bottom-button-target {
|
||||||
|
@ -64,6 +365,7 @@
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
color: rgb(42, 133, 235);
|
color: rgb(42, 133, 235);
|
||||||
|
flex-direction: column;
|
||||||
}
|
}
|
||||||
|
|
||||||
.blue-heng {
|
.blue-heng {
|
||||||
|
@ -77,4 +379,479 @@
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.index-up {
|
||||||
|
position: absolute;
|
||||||
|
top: -70rpx;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
|
||||||
|
.index-up-img {
|
||||||
|
width: 100%;
|
||||||
|
height: 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.index-ball-father {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
// margin-top: 35rpx;
|
||||||
|
position: fixed;
|
||||||
|
top: 35rpx;
|
||||||
|
left: 0;
|
||||||
|
z-index: 999;
|
||||||
|
|
||||||
|
.white-ball {
|
||||||
|
width: 60rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-right: 20rpx;
|
||||||
|
box-shadow: 2rpx 2rpx 4rpx rgba(0, 0, 0, 0.1);
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.super-white-ball {
|
||||||
|
width: 70rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 50%;
|
||||||
|
margin-right: 40rpx;
|
||||||
|
box-shadow: 2rpx 2rpx 4rpx rgba(0, 0, 0, 0.1);
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.small-img {
|
||||||
|
width: 25rpx;
|
||||||
|
height: 25rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.index-smallPhoto {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
margin-top: 480rpx;
|
||||||
|
margin-bottom: 50rpx;
|
||||||
|
|
||||||
|
.photo-box {
|
||||||
|
margin-right: 40rpx;
|
||||||
|
height: 180rpx;
|
||||||
|
width: 250rpx;
|
||||||
|
// background-color: #fff;
|
||||||
|
z-index: 2;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.photo-box-img {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.white-content-father {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
margin-top: 30rpx;
|
||||||
|
|
||||||
|
margin-bottom: 200rpx;
|
||||||
|
|
||||||
|
.white-content {
|
||||||
|
height: 500rpx;
|
||||||
|
width: 92%;
|
||||||
|
margin-left: 4%;
|
||||||
|
background-color: #fff;
|
||||||
|
box-shadow: 2rpx 2rpx 5rpx rgba(0, 0, 0, 0.1);
|
||||||
|
border-radius: 30rpx;
|
||||||
|
z-index: 2;
|
||||||
|
display: flex;
|
||||||
|
// justify-content: space-evenly;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
.white-content-img {
|
||||||
|
position: absolute;
|
||||||
|
top: -40rpx;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
width: 80%;
|
||||||
|
height: 370rpx;
|
||||||
|
// margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.white-font {
|
||||||
|
margin-top: 240rpx;
|
||||||
|
font-size: 27rpx;
|
||||||
|
color: #222222;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.botton-button {
|
||||||
|
width: 100%;
|
||||||
|
height: 280rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
|
||||||
|
.botton-button-father {
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
.botton-button-bgc {
|
||||||
|
width: 100rpx;
|
||||||
|
height: 100rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
background-color: #D8DEEA;
|
||||||
|
|
||||||
|
.botton-button-img {
|
||||||
|
width: 35rpx;
|
||||||
|
height: 35rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.botton-button-font {
|
||||||
|
margin-top: 10rpx;
|
||||||
|
font-size: 30rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.botton-img {
|
||||||
|
width: 36rpx;
|
||||||
|
height: 36rpx;
|
||||||
|
margin-bottom: 5rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom-text {
|
||||||
|
font-size: 22rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.jia-box {
|
||||||
|
position: absolute;
|
||||||
|
top: -40rpx;
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
display: flex;
|
||||||
|
}
|
||||||
|
|
||||||
|
.jia {
|
||||||
|
width: 30rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
background-color: rgb(1, 168, 255);
|
||||||
|
color: #fff;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 30rpx;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.gray-box {
|
||||||
|
border-radius: 20rpx;
|
||||||
|
height: 30rpx;
|
||||||
|
width: 50rpx;
|
||||||
|
margin-right: 15rpx;
|
||||||
|
background-color: #A4A8BD;
|
||||||
|
}
|
||||||
|
|
||||||
|
.white-content-father-time {
|
||||||
|
width: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
|
||||||
|
.white-content {
|
||||||
|
height: 170rpx;
|
||||||
|
width: 92%;
|
||||||
|
background-color: #fff;
|
||||||
|
background-image:
|
||||||
|
linear-gradient(rgba(255, 255, 255, 0.5), rgba(255, 255, 255, 0.5)),
|
||||||
|
url("@/static/index/bluebgc.png");
|
||||||
|
background-repeat: no-repeat;
|
||||||
|
background-position: center top;
|
||||||
|
|
||||||
|
/* 2. 水平方向拉满容器,垂直方向保持原始比例 */
|
||||||
|
background-size: 100% auto;
|
||||||
|
box-shadow: 2rpx 2rpx 5rpx rgba(0, 0, 0, 0.1);
|
||||||
|
border-radius: 35rpx;
|
||||||
|
z-index: 2;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
border: 2rpx solid #fff;
|
||||||
|
|
||||||
|
.time-father {
|
||||||
|
margin-left: 45rpx;
|
||||||
|
|
||||||
|
.font-weight {
|
||||||
|
font-weight: 600;
|
||||||
|
font-size: 40rpx;
|
||||||
|
margin-bottom: 7rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.font-small {
|
||||||
|
color: #7C788D;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.white-shu {
|
||||||
|
height: 100%;
|
||||||
|
width: 2rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
margin: 0 20rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.wendu-content {
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
.wendu-img {
|
||||||
|
width: 50rpx;
|
||||||
|
height: 50rpx;
|
||||||
|
margin: 0 20rpx 0 60rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.wendu-font {
|
||||||
|
font-size: 25rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.bad-button {
|
||||||
|
width: 100%;
|
||||||
|
margin-top: 40rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: flex-end;
|
||||||
|
|
||||||
|
.blue-button {
|
||||||
|
background: linear-gradient(to right, #00C9FF, #0076FF);
|
||||||
|
color: #fff;
|
||||||
|
font-size: 25rpx;
|
||||||
|
padding: 10rpx 20rpx;
|
||||||
|
border-radius: 35rpx;
|
||||||
|
margin-right: 40rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.zhiling-box {
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-around;
|
||||||
|
align-items: center;
|
||||||
|
width: 92%;
|
||||||
|
margin-left: 3%;
|
||||||
|
height: 100rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
box-shadow: 2rpx 2rpx 5rpx rgba(0, 0, 0, 0.1);
|
||||||
|
// margin-top: 20rpx;
|
||||||
|
border-radius: 35rpx;
|
||||||
|
|
||||||
|
.zhiling-img {
|
||||||
|
width: 25rpx;
|
||||||
|
height: 25rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.white-box-father {
|
||||||
|
display: flex;
|
||||||
|
width: 100%;
|
||||||
|
flex-wrap: wrap;
|
||||||
|
|
||||||
|
.white-box {
|
||||||
|
margin-top: 20rpx;
|
||||||
|
width: 20%;
|
||||||
|
margin-left: 4%;
|
||||||
|
height: 190rpx;
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 35rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
box-shadow: 2rpx 2rpx 5rpx rgba(0, 0, 0, 0.1);
|
||||||
|
|
||||||
|
.box-img {
|
||||||
|
width: 55rpx;
|
||||||
|
height: 55rpx;
|
||||||
|
margin-bottom: 15rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.box-font {
|
||||||
|
font-size: 25rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.white-scan {
|
||||||
|
background-color: #fff;
|
||||||
|
border-radius: 35rpx;
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
box-shadow: 2rpx 2rpx 5rpx rgba(0, 0, 0, 0.1);
|
||||||
|
width: 92%;
|
||||||
|
margin-left: 4%;
|
||||||
|
height: 700rpx;
|
||||||
|
z-index: 2;
|
||||||
|
margin-bottom: 300rpx;
|
||||||
|
|
||||||
|
.scan-title {
|
||||||
|
width: 100%;
|
||||||
|
height: 180rpx;
|
||||||
|
display: flex;
|
||||||
|
position: relative;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scan-img {
|
||||||
|
margin-left: 65rpx;
|
||||||
|
width: 65rpx;
|
||||||
|
height: 65rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
.scan-font {
|
||||||
|
margin-left: 30rpx;
|
||||||
|
|
||||||
|
.weight {
|
||||||
|
font-weight: 500;
|
||||||
|
}
|
||||||
|
|
||||||
|
.noral {
|
||||||
|
font-size: 25rpx;
|
||||||
|
color: #999999;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.other-scan {
|
||||||
|
width: 100%;
|
||||||
|
height: 520rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
|
||||||
|
.scan-circle {
|
||||||
|
width: 300rpx;
|
||||||
|
height: 300rpx;
|
||||||
|
border-radius: 50%;
|
||||||
|
background-color: #fbfbfb;
|
||||||
|
display: flex;
|
||||||
|
align-items: center;
|
||||||
|
position: relative;
|
||||||
|
|
||||||
|
// animation: fadeInOut 2s infinite;
|
||||||
|
.scan-img {
|
||||||
|
width: 30%;
|
||||||
|
height: 30%;
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.small-circle {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform-origin: center center;
|
||||||
|
/* 从中心缩放,否则宽高从左上角开始 */
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
animation: shrinkExpand 1s infinite;
|
||||||
|
border-radius: 50%;
|
||||||
|
background-color: #f5f5f5;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.scan-text {
|
||||||
|
margin-top: 30rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
.scan-back {
|
||||||
|
// width: 40rpx;
|
||||||
|
// height: 30rpx;
|
||||||
|
position: absolute;
|
||||||
|
right: 60rpx;
|
||||||
|
top: auto;
|
||||||
|
color: #999999;
|
||||||
|
font-size: 32rpx;
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes shrinkExpand {
|
||||||
|
|
||||||
|
0%,
|
||||||
|
100% {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
50% {
|
||||||
|
width: 0%;
|
||||||
|
height: 0%;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 扫码遮罩层 */
|
||||||
|
.scan-mask {
|
||||||
|
position: fixed;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
z-index: 1000;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 半透明背景 */
|
||||||
|
.mask-bg {
|
||||||
|
position: absolute;
|
||||||
|
top: 0;
|
||||||
|
left: 0;
|
||||||
|
right: 0;
|
||||||
|
bottom: 0;
|
||||||
|
background-color: rgba(0, 0, 0, 0.6);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 中心容器 */
|
||||||
|
.mask-center {
|
||||||
|
position: absolute;
|
||||||
|
top: 50%;
|
||||||
|
left: 50%;
|
||||||
|
transform: translate(-50%, -50%);
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
align-items: center;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 扫码区域 */
|
||||||
|
.reader {
|
||||||
|
width: 600rpx;
|
||||||
|
height: 600rpx;
|
||||||
|
background: #000;
|
||||||
|
/* 可以用透明,html5-qrcode 会覆盖视频流 */
|
||||||
|
// border: 4rpx solid #fff;
|
||||||
|
border-radius: 16rpx;
|
||||||
|
box-sizing: border-box;
|
||||||
|
overflow: hidden;
|
||||||
|
}
|
||||||
|
.result{
|
||||||
|
margin: 0 auto;
|
||||||
|
}
|
||||||
</style>
|
</style>
|
|
@ -1,6 +1,21 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="callback-container">
|
<view class="login-container">
|
||||||
回调成功{{ceshi.name}}{{ceshi.openid}}
|
页面跳转中,请稍后...
|
||||||
|
<!-- 底部的栏,为啥这样写,是因为要做左右拉动 -->
|
||||||
|
<!-- <view class="botton-view">
|
||||||
|
<view v-for="(item,index) in itemArray" class="array-father">
|
||||||
|
<view :class="itemTarget===index ? `bottom-button-target` : `bottom-button`" @click="itemTarget=index">
|
||||||
|
<view class="">
|
||||||
|
{{item}}
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view v-show="itemTarget===index" class="blue-heng"></view>
|
||||||
|
</view>
|
||||||
|
</view> -->
|
||||||
|
|
||||||
|
</view>
|
||||||
|
<!-- <view class="callback-container">
|
||||||
|
回调成功{{ceshi.name}}{{ceshi.openid}} -->
|
||||||
<!-- {{look}} -->
|
<!-- {{look}} -->
|
||||||
<!-- <text v-if="!userInfo">授权中...</text>
|
<!-- <text v-if="!userInfo">授权中...</text>
|
||||||
<view v-else>
|
<view v-else>
|
||||||
|
@ -8,7 +23,7 @@
|
||||||
<text v-if="userInfo.nickname">昵称: {{ userInfo.nickname }}</text>
|
<text v-if="userInfo.nickname">昵称: {{ userInfo.nickname }}</text>
|
||||||
<image v-if="userInfo.headimgurl" :src="userInfo.headimgurl" class="avatar" />
|
<image v-if="userInfo.headimgurl" :src="userInfo.headimgurl" class="avatar" />
|
||||||
</view> -->
|
</view> -->
|
||||||
<view v-for="(item,index) in jigouArray" :key="index">
|
<!-- <view v-for="(item,index) in jigouArray" :key="index">
|
||||||
<view style="font-size: 30rpx;margin-top: 10rpx;font-weight: 700;" @click="jigouClick(item)">
|
<view style="font-size: 30rpx;margin-top: 10rpx;font-weight: 700;" @click="jigouClick(item)">
|
||||||
{{item.departName}}
|
{{item.departName}}
|
||||||
</view>
|
</view>
|
||||||
|
@ -20,46 +35,48 @@
|
||||||
{{item.nuName}}
|
{{item.nuName}}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view> -->
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import {
|
import {
|
||||||
onLoad
|
onLoad
|
||||||
} from '@dcloudio/uni-app';
|
} from '@dcloudio/uni-app';
|
||||||
import {
|
// import {
|
||||||
useWeChatAuth
|
// useWeChatAuth
|
||||||
} from '@/compontent/useWeChatAuth.js';
|
// } from '@/compontent/useWeChatAuth.js';
|
||||||
import request from '@/request/index.js';
|
import request from '@/request/index.js';
|
||||||
import {
|
import {
|
||||||
reactive,
|
reactive,
|
||||||
ref
|
ref
|
||||||
} from 'vue';
|
} from 'vue';
|
||||||
|
import {getList} from "@/api/loginApi.js"
|
||||||
|
|
||||||
const {
|
const itemArray = ["NU", "动态", "我的"];
|
||||||
fetchUserInfo,
|
const itemTarget = ref(0);
|
||||||
openid,
|
// const {
|
||||||
userInfo
|
// fetchUserInfo,
|
||||||
} = useWeChatAuth();
|
// openid,
|
||||||
|
// userInfo
|
||||||
|
// } = useWeChatAuth();
|
||||||
|
|
||||||
const ceshi = reactive({
|
const ceshi = reactive({
|
||||||
name: "",
|
name: "",
|
||||||
openid: "",
|
openid: "",
|
||||||
accessToken: ""
|
accessToken: ""
|
||||||
})
|
})
|
||||||
const jumpto = () => {
|
// const jumpto = () => {
|
||||||
console.log("???")
|
// console.log("???")
|
||||||
uni.navigateTo({
|
// uni.navigateTo({
|
||||||
url: "/pages/pay/index"
|
// url: "/pages/pay/index"
|
||||||
});
|
// });
|
||||||
}
|
// }
|
||||||
const getOpenId = (code) => {
|
const getOpenId = (code) => {
|
||||||
const url = `https://www.focusnu.com/nursing-unit/weixin/wechat/callback?code=${encodeURIComponent(code)}`;
|
const url = `https://www.focusnu.com/nursing-unit/weixin/wechat/callback?code=${encodeURIComponent(code)}`;
|
||||||
|
|
||||||
fetch(url)
|
fetch(url)
|
||||||
.then(res => res.json())
|
.then(res => res.json())
|
||||||
.then(data => {
|
.then(data => {
|
||||||
console.log("✅ 获取用户信息成功:", data);
|
|
||||||
ceshi.name = data.data.nickname
|
ceshi.name = data.data.nickname
|
||||||
ceshi.openid = data.data.openid
|
ceshi.openid = data.data.openid
|
||||||
ceshi.accessToken = data.accessToken
|
ceshi.accessToken = data.accessToken
|
||||||
|
@ -81,38 +98,74 @@
|
||||||
const look = ref("")
|
const look = ref("")
|
||||||
const getUserMessage = () => {
|
const getUserMessage = () => {
|
||||||
const url =
|
const url =
|
||||||
`https://www.focusnu.com/nursing-unit/h5Api/nuBizAdvisoryInfo/queryWeixinInfo?openId=${encodeURIComponent(ceshi.openid)}&wechatName=${encodeURIComponent(ceshi.name)}`;
|
`https://www.focusnu.com/nursing-unit/h5Api/nuBizAdvisoryInfo/queryWeixinInfo?openId=${encodeURIComponent(ceshi.openid)}`;
|
||||||
fetch(url)
|
fetch(url)
|
||||||
.then(res => res.json())
|
.then(res => res.json())
|
||||||
.then(data => {
|
.then(data => {
|
||||||
console.log("个人信息打印", data)
|
console.log("个人信息打印", data)
|
||||||
// serve.value = data.result.serverUrl
|
uni.setStorageSync('token', data.result.token);
|
||||||
|
uni.setStorageSync('serverUrl', data.result.serverUrl);
|
||||||
|
console.log("???token存储",data.result.token)
|
||||||
|
// uni.getStorageSync('token')
|
||||||
|
|
||||||
const urlpost = `${data.result.serverUrl}/weiXinPay/getUserInfo`;
|
const post = `${data.result.serverUrl}/weiXinPay/getJsApiInfo`;
|
||||||
const payload = {
|
const pay = {
|
||||||
openid: ceshi.openid,
|
|
||||||
access_token: ceshi.accessToken,
|
access_token: ceshi.accessToken,
|
||||||
// serverUrl: serve.value
|
|
||||||
};
|
};
|
||||||
console.log("???/", payload)
|
console.log("???/", pay)
|
||||||
fetch(urlpost, {
|
fetch(post, {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
headers: {
|
headers: {
|
||||||
'Content-Type': 'application/json'
|
'Content-Type': 'application/json'
|
||||||
},
|
},
|
||||||
body: JSON.stringify(payload)
|
body: JSON.stringify(pay)
|
||||||
})
|
})
|
||||||
.then(res => res.json())
|
.then(res => res.json())
|
||||||
.then(data => {
|
.then(data => {
|
||||||
// secondArray.value = [...data.result];
|
// secondArray.value = [...data.result];
|
||||||
look.value = data
|
console.log("???调取微信", data)
|
||||||
console.log("!!!!!!!!!!!!!!!!!!!!!!!", data)
|
|
||||||
})
|
})
|
||||||
.catch(err => {
|
.catch(err => {
|
||||||
console.error('请求失败:', err);
|
console.error('请求失败:', err);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// const urlpost = `${data.result.serverUrl}/weiXinPay/getUserInfo`;
|
||||||
|
// const payload = {
|
||||||
|
// openid: ceshi.openid,
|
||||||
|
// access_token: ceshi.accessToken,
|
||||||
|
// // serverUrl: serve.value
|
||||||
|
// };
|
||||||
|
// console.log("???/", payload)
|
||||||
|
// fetch(urlpost, {
|
||||||
|
// method: 'POST',
|
||||||
|
// headers: {
|
||||||
|
// 'Content-Type': 'application/json'
|
||||||
|
// },
|
||||||
|
// body: JSON.stringify(payload)
|
||||||
|
// })
|
||||||
|
// .then(res => res.json())
|
||||||
|
// .then(data => {
|
||||||
|
// // secondArray.value = [...data.result];
|
||||||
|
// look.value = data
|
||||||
|
// console.log("!!!!!!!!!!!!!!!!!!!!!!!", data)
|
||||||
|
// })
|
||||||
|
// .catch(err => {
|
||||||
|
// console.error('请求失败:', err);
|
||||||
|
// });
|
||||||
|
|
||||||
|
if(!data.result.tel){
|
||||||
|
uni.redirectTo({
|
||||||
|
url: `/pages/login/phonebumber`
|
||||||
|
});
|
||||||
|
}else{
|
||||||
|
uni.redirectTo({
|
||||||
|
url: `/pages/index/index`
|
||||||
|
});
|
||||||
|
}
|
||||||
getjigou()
|
getjigou()
|
||||||
})
|
})
|
||||||
|
|
||||||
|
@ -179,13 +232,12 @@
|
||||||
|
|
||||||
if (query.code) {
|
if (query.code) {
|
||||||
getOpenId(query.code)
|
getOpenId(query.code)
|
||||||
|
|
||||||
// 调用你的方法,比如 fetchUserInfo(query.code)
|
// 调用你的方法,比如 fetchUserInfo(query.code)
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style scoped>
|
<style scoped lang="scss">
|
||||||
.callback-container {
|
.callback-container {
|
||||||
padding: 24px;
|
padding: 24px;
|
||||||
}
|
}
|
||||||
|
@ -196,4 +248,57 @@
|
||||||
border-radius: 40px;
|
border-radius: 40px;
|
||||||
margin-top: 12px;
|
margin-top: 12px;
|
||||||
}
|
}
|
||||||
|
.login-container {
|
||||||
|
display: flex;
|
||||||
|
flex-direction: column;
|
||||||
|
min-height: 100vh;
|
||||||
|
width: 100%;
|
||||||
|
background-color: rgb(239, 241, 252);
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.array-father {
|
||||||
|
width: 33%;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
|
|
||||||
|
.botton-view {
|
||||||
|
position: fixed;
|
||||||
|
bottom: 0;
|
||||||
|
left: 0;
|
||||||
|
height: 200rpx;
|
||||||
|
width: 100%;
|
||||||
|
// background-color: greenyellow;
|
||||||
|
display: flex;
|
||||||
|
justify-content: space-between;
|
||||||
|
font-weight: 500;
|
||||||
|
|
||||||
|
.bottom-button {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.bottom-button-target {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
color: rgb(42, 133, 235);
|
||||||
|
}
|
||||||
|
|
||||||
|
.blue-heng {
|
||||||
|
height: 6rpx;
|
||||||
|
width: 150rpx;
|
||||||
|
background-color: rgb(42, 133, 235);
|
||||||
|
position: absolute;
|
||||||
|
bottom: 55rpx;
|
||||||
|
left: 50%;
|
||||||
|
/* 左边缘到父容器左边的距离占父宽度 50% */
|
||||||
|
transform: translateX(-50%);
|
||||||
|
}
|
||||||
|
}
|
||||||
</style>
|
</style>
|
|
@ -15,21 +15,21 @@
|
||||||
请输入验证码
|
请输入验证码
|
||||||
</view>
|
</view>
|
||||||
<view class="code-number">
|
<view class="code-number">
|
||||||
验证码已发送至{{ phonenumber }}
|
验证码已发送至{{ mobile }}
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="captcha-container">
|
<view class="captcha-container">
|
||||||
<view class="captcha-box">
|
<view class="captcha-box">
|
||||||
<view v-for="(digit, index) in captcha" :key="index" class="captcha-item">
|
<view v-for="(digit, index) in captcha" :key="index" class="captcha-item">
|
||||||
<input v-model="captcha[index]" class="captcha-input" type="number" maxlength="1"
|
<input v-model="captcha[index]" class="captcha-input" type="number" maxlength="4"
|
||||||
:placeholder="index < 3 ? '' : ' '" @input="handleInput(index)"
|
:placeholder="index < 3 ? '' : ' '" @input="handleInput(index, $event)"
|
||||||
@keydown="handleKeydown(index, $event)" :focus="focusedIndex === index" />
|
@keydown="handleKeydown(index, $event)" :focus="focusedIndex === index" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="under-view">
|
<view class="under-view">
|
||||||
|
|
||||||
<view class="right-blue" v-show="!countdown">
|
<view class="right-blue" v-show="!countdown" @click="getcode">
|
||||||
重新发送
|
重新发送
|
||||||
</view>
|
</view>
|
||||||
<view class="right-white" v-show="countdown">
|
<view class="right-white" v-show="countdown">
|
||||||
|
@ -72,9 +72,15 @@
|
||||||
onLoad
|
onLoad
|
||||||
} from '@dcloudio/uni-app';
|
} from '@dcloudio/uni-app';
|
||||||
|
|
||||||
const phonenumber = ref("")
|
import {
|
||||||
|
smsCode,
|
||||||
|
checkPhoneCode
|
||||||
|
} from "@/api/loginApi.js"
|
||||||
|
|
||||||
|
const mobile = ref("")
|
||||||
|
const hkcode = ref("")
|
||||||
const captcha = ref(['', '', '', '']); // 用来存储4个小方块的验证码输入
|
const captcha = ref(['', '', '', '']); // 用来存储4个小方块的验证码输入
|
||||||
const focusedIndex = ref(0); // 当前聚焦的小方块索引
|
const focusedIndex = ref(-1); // 当前聚焦的小方块索引
|
||||||
const isFadingOut = ref(false);
|
const isFadingOut = ref(false);
|
||||||
// 遮罩色,rgba 可调透明度
|
// 遮罩色,rgba 可调透明度
|
||||||
const maskColor = ref('rgba(0, 0, 0, 0.5)')
|
const maskColor = ref('rgba(0, 0, 0, 0.5)')
|
||||||
|
@ -82,24 +88,63 @@
|
||||||
function closeModal() {
|
function closeModal() {
|
||||||
isFadingOut.value = false
|
isFadingOut.value = false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function filterToSingleDigit(number) {
|
||||||
|
if (typeof number === 'number') {
|
||||||
|
return number % 10; // 只保留个位数
|
||||||
|
}
|
||||||
|
return number; // 如果不是 number,原样返回
|
||||||
|
}
|
||||||
// 输入框输入时的处理函数
|
// 输入框输入时的处理函数
|
||||||
const handleInput = (index) => {
|
const handleInput = (index, event) => {
|
||||||
|
const val = event.detail.value || ''
|
||||||
|
console.log("??????", event)
|
||||||
|
if (val.length == 4) {
|
||||||
|
// 1. 转成字符串,并补足前导 0 到 4 位
|
||||||
|
const codeStr = event.detail.value.toString().padStart(4, '0') // "0123"
|
||||||
|
captcha.value = codeStr.split('')
|
||||||
|
focusedIndex.value = 3
|
||||||
|
nextTick(() => {
|
||||||
|
submitCaptcha()
|
||||||
|
})
|
||||||
|
} else if (val.length == 2) {
|
||||||
|
captcha.value[index] = filterToSingleDigit(captcha.value[index])
|
||||||
if (captcha.value[index]) {
|
if (captcha.value[index]) {
|
||||||
if (index < 3) {
|
if (index < 3) {
|
||||||
focusedIndex.value = index + 1; // 输入后自动聚焦到下一个小方块
|
focusedIndex.value = index + 1; // 输入后自动聚焦到下一个小方块
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let isFour = true;
|
let isFour = true;
|
||||||
captcha.value.forEach(number=>{
|
captcha.value.forEach(number => {
|
||||||
if(!number){
|
if (!number) {
|
||||||
isFour = false;
|
isFour = false;
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
nextTick(()=>{
|
nextTick(() => {
|
||||||
if(isFour){
|
if (isFour) {
|
||||||
submitCaptcha()
|
submitCaptcha()
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
|
} else {
|
||||||
|
if (captcha.value[index]) {
|
||||||
|
if (index < 3) {
|
||||||
|
focusedIndex.value = index + 1; // 输入后自动聚焦到下一个小方块
|
||||||
|
}
|
||||||
|
}
|
||||||
|
let isFour = true;
|
||||||
|
captcha.value.forEach(number => {
|
||||||
|
if (!number) {
|
||||||
|
isFour = false;
|
||||||
|
}
|
||||||
|
})
|
||||||
|
nextTick(() => {
|
||||||
|
if (isFour) {
|
||||||
|
submitCaptcha()
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// 处理删除键
|
// 处理删除键
|
||||||
|
@ -110,64 +155,52 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
const rightCode = ref("")
|
||||||
// 提交验证码
|
// 提交验证码
|
||||||
const submitCaptcha = () => {
|
const submitCaptcha = () => {
|
||||||
const code = captcha.value.join('');
|
const code = captcha.value.join('');
|
||||||
if (code.length === 4) {
|
if (code.length === 4) {
|
||||||
console.log('提交验证码:', code);
|
console.log('提交验证码:', code);
|
||||||
uni.reLaunch({
|
if (rightCode.value != code) {
|
||||||
|
rightCode.value = code;
|
||||||
|
checkPhoneCode({
|
||||||
|
mobile: mobile.value,
|
||||||
|
openId : uni.getStorageSync('openid').openid,
|
||||||
|
smscode: code
|
||||||
|
}).then(res => {
|
||||||
|
if (res.success) {
|
||||||
|
uni.redirectTo({
|
||||||
url: `/pages/index/index`
|
url: `/pages/index/index`
|
||||||
});
|
});
|
||||||
|
} else {
|
||||||
|
uni.showToast({
|
||||||
|
title: '验证码错误',
|
||||||
|
icon: 'none', // 不显示图标(提示信息)
|
||||||
|
duration: 2000 // 显示时长(毫秒)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
}
|
||||||
// 执行验证码提交的逻辑
|
// 执行验证码提交的逻辑
|
||||||
} else {
|
} else {
|
||||||
console.log('验证码未输入完整');
|
console.log('验证码未输入完整');
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const getcode = () =>{
|
const getcode = () => {
|
||||||
// uni.getStorage({
|
|
||||||
// key: 'serverUrl',
|
smsCode({
|
||||||
// success: (res) => {
|
mobile: mobile.value,
|
||||||
// // res.data 就是你存进去的对象 { url: '...' }
|
hkcode: hkcode.value,
|
||||||
// const { url } = res.data;
|
smsmode:1
|
||||||
// console.log('取到的 serverUrl:', url);
|
}).then(res => {
|
||||||
// const url = `${url}/h5Api/nuBaseInfo/list`;
|
if (res.success) {
|
||||||
// fetch(url)
|
uni.showToast({
|
||||||
// .then(res => res.json())
|
title: '发送成功',
|
||||||
// .then(data => {
|
icon: 'none', // 不显示图标(提示信息)
|
||||||
// secondArray.value = [...data.result]
|
duration: 2000 // 显示时长(毫秒)
|
||||||
// })
|
|
||||||
// // 后续逻辑…
|
|
||||||
// },
|
|
||||||
// fail: (err) => {
|
|
||||||
// console.error('取 serverUrl 失败', err);
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
const url = `https://www.focusnu.com/nursing-unit/sys/randomImage/${Date.now()}`;
|
|
||||||
fetch(url)
|
|
||||||
.then(res => res.json())
|
|
||||||
.then(data => {
|
|
||||||
console.log("code测试",data)
|
|
||||||
})
|
})
|
||||||
}
|
focusedIndex.value = 0;
|
||||||
|
|
||||||
// 新增:倒计时相关
|
|
||||||
const countdown = ref(60);
|
|
||||||
let timerId = null;
|
|
||||||
// 页面卸载时清除定时器
|
|
||||||
onUnmounted(() => {
|
|
||||||
if (timerId) {
|
|
||||||
clearInterval(timerId);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
|
|
||||||
onLoad((options) => {
|
|
||||||
phonenumber.value = options.phonenumber;
|
|
||||||
getcode()
|
|
||||||
|
|
||||||
|
|
||||||
// 倒计时逻辑
|
// 倒计时逻辑
|
||||||
countdown.value = 60;
|
countdown.value = 60;
|
||||||
timerId = setInterval(() => {
|
timerId = setInterval(() => {
|
||||||
|
@ -178,6 +211,33 @@
|
||||||
timerId = null;
|
timerId = null;
|
||||||
}
|
}
|
||||||
}, 1000);
|
}, 1000);
|
||||||
|
} else {
|
||||||
|
uni.showToast({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'none', // 不显示图标(提示信息)
|
||||||
|
duration: 2000 // 显示时长(毫秒)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
// 新增:倒计时相关
|
||||||
|
const countdown = ref(0);
|
||||||
|
let timerId = null;
|
||||||
|
// 页面卸载时清除定时器
|
||||||
|
onUnmounted(() => {
|
||||||
|
if (timerId) {
|
||||||
|
clearInterval(timerId);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
onLoad((options) => {
|
||||||
|
mobile.value = options.mobile;
|
||||||
|
hkcode.value = options.hkcode;
|
||||||
|
getcode()
|
||||||
|
|
||||||
|
|
||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
@ -329,27 +389,31 @@
|
||||||
border-color: #00C9FF;
|
border-color: #00C9FF;
|
||||||
}
|
}
|
||||||
|
|
||||||
.right-blue{
|
.right-blue {
|
||||||
// float: right;
|
// float: right;
|
||||||
color: #0083FF;
|
color: #0083FF;
|
||||||
margin-left: 60rpx;
|
margin-left: 60rpx;
|
||||||
}
|
}
|
||||||
.right-white{
|
|
||||||
color: rgb(194,198,211);
|
.right-white {
|
||||||
|
color: rgb(194, 198, 211);
|
||||||
margin-left: 60rpx;
|
margin-left: 60rpx;
|
||||||
}
|
}
|
||||||
.right-black{
|
|
||||||
|
.right-black {
|
||||||
// float: right;
|
// float: right;
|
||||||
// color: #0083FF;
|
// color: #0083FF;
|
||||||
margin-right: 80rpx;
|
margin-right: 80rpx;
|
||||||
color: black;
|
color: black;
|
||||||
}
|
}
|
||||||
.under-view{
|
|
||||||
|
.under-view {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
margin-top: 10rpx;
|
margin-top: 10rpx;
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: space-between;
|
justify-content: space-between;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 遮罩 */
|
/* 遮罩 */
|
||||||
.overlay {
|
.overlay {
|
||||||
position: fixed;
|
position: fixed;
|
||||||
|
@ -453,7 +517,8 @@
|
||||||
.slide-up-leave-from {
|
.slide-up-leave-from {
|
||||||
transform: translateY(0);
|
transform: translateY(0);
|
||||||
}
|
}
|
||||||
.text-view{
|
|
||||||
|
.text-view {
|
||||||
margin-bottom: 20rpx;
|
margin-bottom: 20rpx;
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
|
@ -1,14 +1,14 @@
|
||||||
<template>
|
<template>
|
||||||
<view class="login-container">
|
<view class="login-container">
|
||||||
<view class="title">
|
<view class="title">
|
||||||
<image class="title-imge" src="/static/index/nu.png" />
|
<image class="title-imge" src="/static/index/nu.png" @click="ceshi" />
|
||||||
<view class="title-font">
|
<view class="title-font">
|
||||||
<view class="">您好,</view>
|
<view class="">您好,</view>
|
||||||
<view class="">欢迎使用护理单元~</view>
|
<view class="">欢迎使用护理单元~</view>
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<image class="photo-imge" src="/static/index/bgc.png" />
|
<image class="photo-imge" src="/static/index/bgc.png" />
|
||||||
<image class="old-imge" src="/static/index/old.png" />
|
<image class="old-imge" src="/static/index/old.png" @click="ceshiscan" />
|
||||||
<view class="under-container">
|
<view class="under-container">
|
||||||
<view class="under-container-title">
|
<view class="under-container-title">
|
||||||
<view :class="isTarget ? 'radio-circle-target' : 'radio-circle'" @click="isTarget = !isTarget"></view>
|
<view :class="isTarget ? 'radio-circle-target' : 'radio-circle'" @click="isTarget = !isTarget"></view>
|
||||||
|
@ -73,22 +73,27 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
const loginIt = () => {
|
const loginIt = () => {
|
||||||
|
|
||||||
if (!isTarget.value) {
|
if (!isTarget.value) {
|
||||||
isFadingOut.value = true;
|
isFadingOut.value = true;
|
||||||
} else {
|
} else {
|
||||||
uni.navigateTo({
|
login();
|
||||||
url: "/pages/login/phonebumber"
|
|
||||||
});
|
|
||||||
// login();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
const jumpToPro = () =>{
|
const jumpToPro = () =>{
|
||||||
console.log("????")
|
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: "/pages/login/protocol"
|
url: "/pages/login/protocol"
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
const ceshi = () =>{
|
||||||
|
uni.navigateTo({
|
||||||
|
url: "/pages/index/index"
|
||||||
|
});
|
||||||
|
}
|
||||||
|
const ceshiscan = () =>{
|
||||||
|
uni.navigateTo({
|
||||||
|
url: "/pages/selectunit/map"
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<style lang="scss" scoped>
|
<style lang="scss" scoped>
|
||||||
|
|
|
@ -17,9 +17,6 @@
|
||||||
@input="isRight" />
|
@input="isRight" />
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="button-blue" @click="huakuaiOpen = true">
|
|
||||||
滑块校验
|
|
||||||
</view>
|
|
||||||
<view class="button-blue" v-show="canClick" @click="jumpto">
|
<view class="button-blue" v-show="canClick" @click="jumpto">
|
||||||
获得验证码
|
获得验证码
|
||||||
</view>
|
</view>
|
||||||
|
@ -28,7 +25,7 @@
|
||||||
</view>
|
</view>
|
||||||
</view>
|
</view>
|
||||||
<view class="bg-mask" v-if="huakuaiOpen" @click="huakuaiOpen=false" >
|
<view class="bg-mask" v-if="huakuaiOpen" @click="huakuaiOpen=false" >
|
||||||
<huakuai @click.stop />
|
<huakuai @click.stop @success="codeIsOk" />
|
||||||
</view>
|
</view>
|
||||||
|
|
||||||
|
|
||||||
|
@ -42,13 +39,29 @@
|
||||||
} from 'vue';
|
} from 'vue';
|
||||||
|
|
||||||
import huakuai from "@/compontent/public/huakuai.vue"
|
import huakuai from "@/compontent/public/huakuai.vue"
|
||||||
|
import { getHkCode } from "@/api/loginApi.js"
|
||||||
|
|
||||||
const huakuaiOpen = ref(false);
|
const huakuaiOpen = ref(false);
|
||||||
|
|
||||||
const jumpto = () => {
|
const jumpto = () => {
|
||||||
|
huakuaiOpen.value = true;
|
||||||
|
}
|
||||||
|
const codeIsOk = () =>{
|
||||||
|
huakuaiOpen.value = false;
|
||||||
|
getHkCode({mobile:phonenumber.value}).then(res=>{
|
||||||
|
// console.log("????????????//",res.success)
|
||||||
|
if(res.success){
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: `/pages/login/code?phonenumber=${phonenumber.value}`
|
url: `/pages/login/code?mobile=${phonenumber.value}&hkcode=${res.message}`
|
||||||
});
|
});
|
||||||
|
}else{
|
||||||
|
uni.showToast({
|
||||||
|
title: res.message,
|
||||||
|
icon: 'none', // 不显示图标(提示信息)
|
||||||
|
duration: 2000 // 显示时长(毫秒)
|
||||||
|
})
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
||||||
//检测是不是11位手机号
|
//检测是不是11位手机号
|
||||||
function is11DigitNumber(value) {
|
function is11DigitNumber(value) {
|
||||||
|
|
|
@ -60,7 +60,8 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const diaoqu = () =>{
|
const diaoqu = () =>{
|
||||||
const urlpost = `${saveurl.value}/weiXinPay/native`;
|
// const urlpost = `${saveurl.value}/weiXinPay/native`;
|
||||||
|
const urlpost = `https://www.focusnu.com/nursing-unit_0010507/weiXinPay/native`
|
||||||
const payload = {
|
const payload = {
|
||||||
title: "测试",
|
title: "测试",
|
||||||
openId: openid.value,
|
openId: openid.value,
|
||||||
|
|
|
@ -0,0 +1,102 @@
|
||||||
|
<template>
|
||||||
|
<div class="container">
|
||||||
|
<view class="select" @click.stop >
|
||||||
|
<view class="select-left" @click="isRuler=true" :style="!isRuler?{color:`black`,backgroundColor:`#fff`}:{}">
|
||||||
|
列表
|
||||||
|
</view>
|
||||||
|
<view class="select-right" @click="isRuler=false" :style="isRuler?{color:`black`,backgroundColor:`#fff`}:{}">
|
||||||
|
地图
|
||||||
|
</view>
|
||||||
|
</view>
|
||||||
|
<view class="title-map">
|
||||||
|
<view class="right-bad">
|
||||||
|
<view>北</view>
|
||||||
|
<image class="right-bad-img" src="@/static/index/zhinan.png" />
|
||||||
|
<view>南</view>
|
||||||
|
</view>
|
||||||
|
<image class="title-img" src="@/static/index/map.png" />
|
||||||
|
</view>
|
||||||
|
</div>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<script setup>
|
||||||
|
import {
|
||||||
|
ref
|
||||||
|
} from 'vue'
|
||||||
|
const isRuler = ref(true);
|
||||||
|
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<style lang="scss" scoped>
|
||||||
|
.container{
|
||||||
|
width: 100%;
|
||||||
|
min-height: 100vh;
|
||||||
|
position: relative;
|
||||||
|
.select{
|
||||||
|
position: absolute;
|
||||||
|
left: 30rpx;
|
||||||
|
top: -20rpx;
|
||||||
|
width: 170rpx;
|
||||||
|
height: 60rpx;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
background-color: #01A8FF;
|
||||||
|
z-index: 1;
|
||||||
|
display: flex;
|
||||||
|
border: 4rpx solid #01A8FF;
|
||||||
|
.select-left{
|
||||||
|
border-top-left-radius: 15rpx;
|
||||||
|
border-bottom-left-radius: 15rpx;
|
||||||
|
width: 50%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 25rpx;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
.select-right{
|
||||||
|
border-top-right-radius: 15rpx;
|
||||||
|
border-bottom-right-radius: 15rpx;
|
||||||
|
width: 50%;
|
||||||
|
height: 100%;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
font-size: 25rpx;
|
||||||
|
color: #fff;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.title-map{
|
||||||
|
width: 100%;
|
||||||
|
height: 650rpx;
|
||||||
|
background-color: #E0E2E9;
|
||||||
|
margin-top: 50rpx;
|
||||||
|
position: relative;
|
||||||
|
.right-bad{
|
||||||
|
position: absolute;
|
||||||
|
top: 10rpx;
|
||||||
|
right: 20rpx;
|
||||||
|
width: 50rpx;
|
||||||
|
height: 130rpx;
|
||||||
|
display: flex;
|
||||||
|
justify-content: center;
|
||||||
|
align-items: center;
|
||||||
|
flex-direction: column;
|
||||||
|
background-color: #fff;
|
||||||
|
z-index:1;
|
||||||
|
border-radius: 20rpx;
|
||||||
|
font-size: 23rpx;
|
||||||
|
.right-bad-img{
|
||||||
|
width: 30rpx;
|
||||||
|
height: 55rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
.title-img{
|
||||||
|
width: 700rpx;
|
||||||
|
height: 600rpx;
|
||||||
|
margin-left: 25rpx;
|
||||||
|
margin-top: 25rpx;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
|
@ -1,5 +1,5 @@
|
||||||
// 全局请求封装
|
// 全局请求封装
|
||||||
const base_url = 'http://192.168.2.199:8081/nursing-unit_001'
|
const base_url = 'https://www.focusnu.com/nursing-unit'
|
||||||
// 请求超出时间
|
// 请求超出时间
|
||||||
const timeout = 5000
|
const timeout = 5000
|
||||||
|
|
||||||
|
@ -9,10 +9,10 @@ export default (params) => {
|
||||||
let method = params.method || "get";
|
let method = params.method || "get";
|
||||||
let data = params.data || {};
|
let data = params.data || {};
|
||||||
let header = {
|
let header = {
|
||||||
'Blade-Auth': uni.getStorageSync('token') || '',
|
'X-Access-Token': uni.getStorageSync('token') || '',
|
||||||
'Content-Type': 'application/json;charset=UTF-8',
|
'Content-Type': 'application/json;charset=UTF-8',
|
||||||
'Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0',
|
'Authorization': 'Basic c2FiZXI6c2FiZXJfc2VjcmV0',
|
||||||
'Tenant-Id': uni.getStorageSync('tenantId') || 'xxx', // avue配置相关
|
|
||||||
...params.header
|
...params.header
|
||||||
}
|
}
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
|
@ -25,6 +25,7 @@ export default (params) => {
|
||||||
success(response) {
|
success(response) {
|
||||||
const res = response
|
const res = response
|
||||||
// 根据返回的状态码做出对应的操作
|
// 根据返回的状态码做出对应的操作
|
||||||
|
|
||||||
if (res.statusCode == 200) {
|
if (res.statusCode == 200) {
|
||||||
resolve(res.data);
|
resolve(res.data);
|
||||||
} else {
|
} else {
|
||||||
|
@ -38,7 +39,7 @@ export default (params) => {
|
||||||
success() {
|
success() {
|
||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
uni.navigateTo({
|
uni.navigateTo({
|
||||||
url: "/pages/login/login",
|
url: "/pages/login/index",
|
||||||
})
|
})
|
||||||
}, 1000);
|
}, 1000);
|
||||||
},
|
},
|
||||||
|
|
After Width: | Height: | Size: 3.6 KiB |
After Width: | Height: | Size: 4.0 KiB |
After Width: | Height: | Size: 3.7 KiB |
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 24 KiB |
After Width: | Height: | Size: 306 KiB |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 389 B |
After Width: | Height: | Size: 633 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 257 B |
After Width: | Height: | Size: 604 B |
After Width: | Height: | Size: 41 KiB |
After Width: | Height: | Size: 1013 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 849 B |
After Width: | Height: | Size: 1.4 MiB |
After Width: | Height: | Size: 845 B |
After Width: | Height: | Size: 1.0 KiB |
After Width: | Height: | Size: 873 B |
After Width: | Height: | Size: 1.1 KiB |
After Width: | Height: | Size: 639 B |
After Width: | Height: | Size: 803 B |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 1.4 KiB |
After Width: | Height: | Size: 1.5 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 995 B |
After Width: | Height: | Size: 1.2 KiB |
After Width: | Height: | Size: 1.3 KiB |
After Width: | Height: | Size: 905 B |
After Width: | Height: | Size: 229 KiB |
After Width: | Height: | Size: 3.1 KiB |
After Width: | Height: | Size: 20 KiB |
After Width: | Height: | Size: 2.9 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 1.7 KiB |
After Width: | Height: | Size: 598 KiB |
Before Width: | Height: | Size: 940 KiB |
Before Width: | Height: | Size: 733 KiB |
After Width: | Height: | Size: 592 KiB |
After Width: | Height: | Size: 537 KiB |
After Width: | Height: | Size: 796 KiB |
|
@ -0,0 +1 @@
|
||||||
|
.container[data-v-82ee0fe1]{display:flex;flex-direction:column;min-height:100vh;width:100%;background-color:#eff1fc;position:relative;box-shadow:.0625rem .0625rem .125rem rgba(0,0,0,.1)}.container .white-content[data-v-82ee0fe1]{width:90%;margin-left:5%;margin-top:.9375rem;border-radius:1.09375rem;background-color:#f5fbfe}.container .white-content .content-title[data-v-82ee0fe1]{display:flex;height:3.125rem;position:relative}.container .white-content .content-title .content-weight[data-v-82ee0fe1]{font-weight:600;margin-left:2.1875rem;margin-top:.625rem}.container .white-content .content-title .content-img[data-v-82ee0fe1]{position:absolute;right:0;top:0;width:12.5rem;height:100%}.container .white-photo[data-v-82ee0fe1]{width:90%;margin-left:5%;height:9.375rem;border-radius:1.09375rem;background-color:#fff;box-shadow:.125rem .125rem .25rem rgba(0,0,0,.1);justify-content:space-around;align-items:center;display:flex}.container .white-photo .photo[data-v-82ee0fe1]{width:9.375rem;height:6.25rem}.container .white-message[data-v-82ee0fe1]{width:90%;margin-left:5%;margin-top:.9375rem;margin-bottom:.9375rem;border-radius:1.09375rem;background-color:#fff;box-shadow:.125rem .125rem .25rem rgba(0,0,0,.1);justify-content:space-around;display:flex;flex-direction:column}.container .white-message .message-title[data-v-82ee0fe1]{width:100%;height:3.125rem;align-items:center;display:flex}.container .white-message .message-title .shu[data-v-82ee0fe1]{width:.3125rem;height:.9375rem;background-color:#0097ff;border-radius:.3125rem;margin:0 .625rem 0 .9375rem}.container .white-message .message-title .message-weight[data-v-82ee0fe1]{font-size:.9375rem}.container .white-message .one[data-v-82ee0fe1]{width:90%;margin-left:5%;border-bottom:.03125rem solid #d7d7d7;height:2.8125rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:.3125rem}.container .white-message .one .one-left[data-v-82ee0fe1]{margin-left:.3125rem}.container .white-message .one .one-right[data-v-82ee0fe1]{margin-right:.3125rem;color:#999}.photo-left .photo-weight[data-v-82ee0fe1]{font-size:.8125rem;font-weight:600}.photo-left .photo-font[data-v-82ee0fe1]{font-size:.71875rem;margin-top:.3125rem}.gray-font[data-v-82ee0fe1]{padding:.9375rem 1.875rem;color:#999}.finish-button[data-v-82ee0fe1]{display:flex;justify-content:center;align-items:center;width:70%;height:3.125rem;margin:0 auto;margin-bottom:2.5rem;color:#fff;background:linear-gradient(to right,#00c9ff,#0076ff);border-radius:1.5625rem;font-size:1.09375rem}
|
After Width: | Height: | Size: 50 KiB |
After Width: | Height: | Size: 24 KiB |
|
@ -0,0 +1 @@
|
||||||
|
const n="/wechat/thd/assets/bian-Bn6jzrNn.png";export{n as _};
|
After Width: | Height: | Size: 306 KiB |
|
@ -1 +0,0 @@
|
||||||
.callback-container[data-v-4644647c]{padding:24px}.avatar[data-v-4644647c]{width:80px;height:80px;border-radius:40px;margin-top:12px}
|
|
|
@ -0,0 +1 @@
|
||||||
|
.callback-container[data-v-812fd514]{padding:24px}.avatar[data-v-812fd514]{width:80px;height:80px;border-radius:40px;margin-top:12px}.login-container[data-v-812fd514]{display:flex;flex-direction:column;min-height:100vh;width:100%;background-color:#eff1fc;position:relative}.array-father[data-v-812fd514]{width:33%;position:relative}.botton-view[data-v-812fd514]{position:fixed;bottom:0;left:0;height:6.25rem;width:100%;display:flex;justify-content:space-between;font-weight:500}.botton-view .bottom-button[data-v-812fd514]{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.botton-view .bottom-button-target[data-v-812fd514]{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:#2a85eb}.botton-view .blue-heng[data-v-812fd514]{height:.1875rem;width:4.6875rem;background-color:#2a85eb;position:absolute;bottom:1.71875rem;left:50%;transform:translate(-50%)}
|
|
@ -0,0 +1 @@
|
||||||
|
.login-container[data-v-f1b5ebad]{display:flex;flex-direction:column;min-height:100vh;width:100%;background-color:#eff1fc;position:relative}.login-container .title[data-v-f1b5ebad]{margin-top:2.1875rem;align-items:center}.login-container .title .title-imge[data-v-f1b5ebad]{width:3.125rem;height:3.28125rem;margin-left:3.125rem}.login-container .title .title-font[data-v-f1b5ebad]{font-size:1.09375rem;font-weight:600;margin-left:3.28125rem;margin-top:.3125rem}.login-container .photo-imge[data-v-f1b5ebad]{position:absolute;top:3.75rem;left:0;width:100%;height:34.375rem}.login-container .old-imge[data-v-f1b5ebad]{position:absolute;right:.9375rem;top:12.5rem;width:12.5rem;height:12.5rem}.login-container .under-container[data-v-f1b5ebad]{position:fixed;left:0;bottom:0;width:100%;height:45vh;background-color:#fff;border-top-left-radius:1.5625rem;border-top-right-radius:1.5625rem;box-shadow:.3125rem .3125rem .625rem rgba(0,0,0,.1);display:flex;flex-direction:column;color:#5a607f}.login-container .under-container .radio-circle[data-v-f1b5ebad],.login-container .under-container .radio-circle-target[data-v-f1b5ebad]{position:relative;margin-top:.0625rem;width:1.25rem;height:1.25rem;border-radius:50%;border:.0625rem solid #C0C5D9;background-color:transparent}.login-container .under-container .radio-circle-target[data-v-f1b5ebad]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.9375rem;height:.9375rem;background-color:#00c9ff;border-radius:50%}.under-container-title[data-v-f1b5ebad]{margin-top:1.5625rem;margin-bottom:.625rem;font-size:.78125rem;font-weight:500;width:100%}.under-container-title .code-title[data-v-f1b5ebad]{margin-left:2.5rem;font-size:1.09375rem;color:#000;font-weight:500;margin-bottom:.625rem}.under-container-title .code-number[data-v-f1b5ebad]{margin-left:2.5rem;font-size:.875rem;margin-bottom:.625rem}.captcha-container[data-v-f1b5ebad]{display:flex;flex-direction:column;align-items:center;margin-top:.625rem}.captcha-box[data-v-f1b5ebad]{display:flex;justify-content:space-between;margin-bottom:.625rem}.captcha-item[data-v-f1b5ebad]{display:flex;justify-content:center;align-items:center}.captcha-input[data-v-f1b5ebad]{width:3.4375rem;height:3.4375rem;border:.09375rem solid #C0C5D9;border-radius:.9375rem;font-size:1.5625rem;font-weight:700;text-align:center;margin-right:1.25rem;outline:none}.captcha-input[data-v-f1b5ebad]:focus{border-color:#00c9ff}.right-blue[data-v-f1b5ebad]{color:#0083ff;margin-left:1.875rem}.right-white[data-v-f1b5ebad]{color:#c2c6d3;margin-left:1.875rem}.right-black[data-v-f1b5ebad]{margin-right:2.5rem;color:#000}.under-view[data-v-f1b5ebad]{width:100%;margin-top:.3125rem;display:flex;justify-content:space-between}.overlay[data-v-f1b5ebad]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:998}.modal[data-v-f1b5ebad]{position:fixed;bottom:0;left:0;background-color:#fff;z-index:999;border-top-left-radius:1.5625rem;border-top-right-radius:1.5625rem;width:100%;height:15.625rem;display:flex;flex-direction:column;align-items:center}.modal .modal-title[data-v-f1b5ebad]{font-size:1rem;font-weight:700;margin:1.5625rem 0 .9375rem}.modal .model-p[data-v-f1b5ebad]{padding:0 1.5625rem;width:100%;font-size:.9375rem}.modal .model-down[data-v-f1b5ebad]{display:flex;width:100%;justify-content:space-between;padding:0 1.5625rem;margin-top:1.25rem}.modal .model-down .model-white[data-v-f1b5ebad]{border-radius:1.5625rem;width:9.375rem;height:2.96875rem;border:.15625rem solid #008dff;color:#008dff;font-size:1.09375rem;display:flex;justify-content:center;align-items:center}.modal .model-down .model-blue[data-v-f1b5ebad]{border-radius:1.5625rem;width:9.375rem;height:2.96875rem;background:linear-gradient(to right,#00c9ff,#0076ff);color:#fff;font-size:1.09375rem;display:flex;justify-content:center;align-items:center}.fade-enter-active[data-v-f1b5ebad],.fade-leave-active[data-v-f1b5ebad]{transition:opacity .3s}.fade-enter-from[data-v-f1b5ebad],.fade-leave-to[data-v-f1b5ebad]{opacity:0}.fade-enter-to[data-v-f1b5ebad],.fade-leave-from[data-v-f1b5ebad]{opacity:1}.slide-up-enter-active[data-v-f1b5ebad],.slide-up-leave-active[data-v-f1b5ebad]{transition:transform .3s}.slide-up-enter-from[data-v-f1b5ebad],.slide-up-leave-to[data-v-f1b5ebad]{transform:translateY(100%)}.slide-up-enter-to[data-v-f1b5ebad],.slide-up-leave-from[data-v-f1b5ebad]{transform:translateY(0)}.text-view[data-v-f1b5ebad]{margin-bottom:.625rem}
|
|
@ -1 +0,0 @@
|
||||||
.login-container[data-v-edc97756]{display:flex;flex-direction:column;min-height:100vh;width:100%;background-color:#eff1fc;position:relative}.login-container .title[data-v-edc97756]{margin-top:2.1875rem;align-items:center}.login-container .title .title-imge[data-v-edc97756]{width:3.125rem;height:3.28125rem;margin-left:3.125rem}.login-container .title .title-font[data-v-edc97756]{font-size:1.09375rem;font-weight:600;margin-left:3.28125rem;margin-top:.3125rem}.login-container .photo-imge[data-v-edc97756]{position:absolute;top:3.75rem;left:0;width:100%;height:34.375rem}.login-container .old-imge[data-v-edc97756]{position:absolute;right:.9375rem;top:12.5rem;width:12.5rem;height:12.5rem}.login-container .under-container[data-v-edc97756]{position:fixed;left:0;bottom:0;width:100%;height:45vh;background-color:#fff;border-top-left-radius:1.5625rem;border-top-right-radius:1.5625rem;box-shadow:.3125rem .3125rem .625rem rgba(0,0,0,.1);display:flex;flex-direction:column;color:#5a607f}.login-container .under-container .radio-circle[data-v-edc97756],.login-container .under-container .radio-circle-target[data-v-edc97756]{position:relative;margin-top:.0625rem;width:1.25rem;height:1.25rem;border-radius:50%;border:.0625rem solid #C0C5D9;background-color:transparent}.login-container .under-container .radio-circle-target[data-v-edc97756]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.9375rem;height:.9375rem;background-color:#00c9ff;border-radius:50%}.under-container-title[data-v-edc97756]{margin-top:1.5625rem;margin-bottom:.625rem;font-size:.78125rem;font-weight:500;width:100%}.under-container-title .code-title[data-v-edc97756]{margin-left:2.5rem;font-size:1.09375rem;color:#000;font-weight:500;margin-bottom:.625rem}.under-container-title .code-number[data-v-edc97756]{margin-left:2.5rem;font-size:.875rem;margin-bottom:.625rem}.captcha-container[data-v-edc97756]{display:flex;flex-direction:column;align-items:center;margin-top:.625rem}.captcha-box[data-v-edc97756]{display:flex;justify-content:space-between;margin-bottom:.625rem}.captcha-item[data-v-edc97756]{display:flex;justify-content:center;align-items:center}.captcha-input[data-v-edc97756]{width:3.4375rem;height:3.4375rem;border:.09375rem solid #C0C5D9;border-radius:.9375rem;font-size:1.5625rem;font-weight:700;text-align:center;margin-right:1.25rem;outline:none}.captcha-input[data-v-edc97756]:focus{border-color:#00c9ff}.right-blue[data-v-edc97756]{color:#0083ff;margin-left:1.875rem}.right-white[data-v-edc97756]{color:#c2c6d3;margin-left:1.875rem}.right-black[data-v-edc97756]{margin-right:2.5rem;color:#000}.under-view[data-v-edc97756]{width:100%;margin-top:.3125rem;display:flex;justify-content:space-between}.overlay[data-v-edc97756]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:998}.modal[data-v-edc97756]{position:fixed;bottom:0;left:0;background-color:#fff;z-index:999;border-top-left-radius:1.5625rem;border-top-right-radius:1.5625rem;width:100%;height:15.625rem;display:flex;flex-direction:column;align-items:center}.modal .modal-title[data-v-edc97756]{font-size:1rem;font-weight:700;margin:1.5625rem 0 .9375rem}.modal .model-p[data-v-edc97756]{padding:0 1.5625rem;width:100%;font-size:.9375rem}.modal .model-down[data-v-edc97756]{display:flex;width:100%;justify-content:space-between;padding:0 1.5625rem;margin-top:1.25rem}.modal .model-down .model-white[data-v-edc97756]{border-radius:1.5625rem;width:9.375rem;height:2.96875rem;border:.15625rem solid #008dff;color:#008dff;font-size:1.09375rem;display:flex;justify-content:center;align-items:center}.modal .model-down .model-blue[data-v-edc97756]{border-radius:1.5625rem;width:9.375rem;height:2.96875rem;background:linear-gradient(to right,#00c9ff,#0076ff);color:#fff;font-size:1.09375rem;display:flex;justify-content:center;align-items:center}.fade-enter-active[data-v-edc97756],.fade-leave-active[data-v-edc97756]{transition:opacity .3s}.fade-enter-from[data-v-edc97756],.fade-leave-to[data-v-edc97756]{opacity:0}.fade-enter-to[data-v-edc97756],.fade-leave-from[data-v-edc97756]{opacity:1}.slide-up-enter-active[data-v-edc97756],.slide-up-leave-active[data-v-edc97756]{transition:transform .3s}.slide-up-enter-from[data-v-edc97756],.slide-up-leave-to[data-v-edc97756]{transform:translateY(100%)}.slide-up-enter-to[data-v-edc97756],.slide-up-leave-from[data-v-edc97756]{transform:translateY(0)}.text-view[data-v-edc97756]{margin-bottom:.625rem}
|
|
|
@ -0,0 +1 @@
|
||||||
|
.container[data-v-d30bd38d]{display:flex;flex-direction:column;min-height:100vh;width:100%;background-color:#eff1fc;position:relative;box-shadow:.0625rem .0625rem .125rem rgba(0,0,0,.1)}.container .white-content[data-v-d30bd38d]{width:90%;margin-left:5%;margin-top:.9375rem;border-radius:1.09375rem;background-color:#f5fbfe}.container .white-content .content-title[data-v-d30bd38d]{display:flex;height:3.125rem;position:relative}.container .white-content .content-title .content-weight[data-v-d30bd38d]{font-weight:600;margin-left:.625rem;margin-top:.625rem}.container .white-content .content-title .content-img[data-v-d30bd38d]{position:absolute;right:0;top:0;width:12.5rem;height:100%}.container .white-photo[data-v-d30bd38d]{width:90%;margin-left:5%;height:9.375rem;border-radius:1.09375rem;background-color:#fff;box-shadow:.125rem .125rem .25rem rgba(0,0,0,.1);justify-content:space-around;align-items:center;display:flex}.container .white-photo .photo[data-v-d30bd38d]{width:9.375rem;height:6.25rem}.container .white-message[data-v-d30bd38d]{width:90%;margin-left:5%;margin-top:.9375rem;margin-bottom:.9375rem;border-radius:1.09375rem;background-color:#fff;box-shadow:.125rem .125rem .25rem rgba(0,0,0,.1);justify-content:space-around;display:flex;flex-direction:column}.container .white-message .message-title[data-v-d30bd38d]{width:100%;height:3.125rem;align-items:center;display:flex}.container .white-message .message-title .shu[data-v-d30bd38d]{width:.3125rem;height:.9375rem;background-color:#0097ff;border-radius:.3125rem;margin:0 .625rem 0 .9375rem}.container .white-message .message-title .message-weight[data-v-d30bd38d]{font-size:.9375rem}.container .white-message .one[data-v-d30bd38d]{width:90%;margin-left:5%;border-bottom:.03125rem solid #d7d7d7;height:2.8125rem;display:flex;justify-content:space-between;align-items:center;margin-bottom:.3125rem}.container .white-message .one .one-left[data-v-d30bd38d]{margin-left:.3125rem}.container .white-message .one .one-right[data-v-d30bd38d]{margin-right:.3125rem;color:#999}.photo-left .photo-weight[data-v-d30bd38d]{font-size:.8125rem;font-weight:600}.photo-left .photo-font[data-v-d30bd38d]{font-size:.71875rem;margin-top:.3125rem}.gray-font[data-v-d30bd38d]{padding:.9375rem 1.875rem;color:#999}.finish-button[data-v-d30bd38d]{display:flex;justify-content:center;align-items:center;width:70%;height:3.125rem;margin:0 auto;margin-bottom:2.5rem;color:#fff;background:linear-gradient(to right,#00c9ff,#0076ff);border-radius:1.5625rem;font-size:1.09375rem}
|
|
@ -1 +0,0 @@
|
||||||
.container[data-v-d6f4282f]{width:100%;height:400px}.three-container[data-v-d6f4282f]{width:100%;height:100%}
|
|
|
@ -0,0 +1 @@
|
||||||
|
.container[data-v-51197c27]{padding:20px}.input-group[data-v-51197c27]{display:flex;align-items:center;gap:10px;margin-bottom:20px}.amount-input[data-v-51197c27]{flex:1;height:40px;border:1px solid #ddd;padding:0 10px;border-radius:4px}.pay-btn[data-v-51197c27]{padding:0 20px;height:40px;background-color:#1aad19;color:#fff;border:none;border-radius:4px;cursor:pointer}.status-group[data-v-51197c27]{margin-top:10px}
|
|
@ -1 +0,0 @@
|
||||||
.container[data-v-8d52c10e]{padding:20px}.input-group[data-v-8d52c10e]{display:flex;align-items:center;gap:10px;margin-bottom:20px}.amount-input[data-v-8d52c10e]{flex:1;height:40px;border:1px solid #ddd;padding:0 10px;border-radius:4px}.pay-btn[data-v-8d52c10e]{padding:0 20px;height:40px;background-color:#1aad19;color:#fff;border:none;border-radius:4px;cursor:pointer}.status-group[data-v-8d52c10e]{margin-top:10px}
|
|
|
@ -0,0 +1 @@
|
||||||
|
.login-container[data-v-71ce103a]{display:flex;flex-direction:column;min-height:100vh;width:100%;background-color:#eff1fc;position:relative}.login-container .title[data-v-71ce103a]{margin-top:2.1875rem;align-items:center}.login-container .title .title-imge[data-v-71ce103a]{width:3.125rem;height:3.28125rem;margin-left:3.125rem}.login-container .title .title-font[data-v-71ce103a]{font-size:1.09375rem;font-weight:600;margin-left:3.28125rem;margin-top:.3125rem}.login-container .photo-imge[data-v-71ce103a]{position:absolute;top:3.75rem;left:0;width:100%;height:34.375rem}.login-container .old-imge[data-v-71ce103a]{position:absolute;right:.9375rem;top:12.5rem;width:12.5rem;height:12.5rem}.login-container .under-container[data-v-71ce103a]{position:fixed;left:0;bottom:0;width:100%;height:45vh;background-color:#fff;border-top-left-radius:1.5625rem;border-top-right-radius:1.5625rem;box-shadow:.3125rem .3125rem .625rem rgba(0,0,0,.1);display:flex;flex-direction:column;align-items:center}.login-container .under-container .radio-circle[data-v-71ce103a],.login-container .under-container .radio-circle-target[data-v-71ce103a]{position:relative;margin-top:.0625rem;width:1.25rem;height:1.25rem;border-radius:50%;border:.0625rem solid #C0C5D9;background-color:transparent}.login-container .under-container .radio-circle-target[data-v-71ce103a]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.9375rem;height:.9375rem;background-color:#00c9ff;border-radius:50%}.under-container-title[data-v-71ce103a]{display:flex;margin-top:1.875rem;margin-bottom:1.25rem;align-items:center;font-size:.78125rem;font-weight:500}.under-container-title .radio-circle-blue[data-v-71ce103a]{color:#0083ff;margin-top:.09375rem}.under-container-title .radio-circle-font[data-v-71ce103a]{color:#5a607f;margin-top:.09375rem}.button-blue[data-v-71ce103a]{width:80%;display:flex;justify-content:center;align-items:center;height:3.125rem;border-radius:1.34375rem;background:linear-gradient(to right,#00c9ff,#0076ff);color:#fff;font-size:1.03125rem;margin-bottom:.9375rem}.overlay[data-v-71ce103a]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:998}.modal[data-v-71ce103a]{position:fixed;bottom:0;left:0;background-color:#fff;z-index:999;border-top-left-radius:1.5625rem;border-top-right-radius:1.5625rem;width:100%;height:15.625rem;display:flex;flex-direction:column;align-items:center}.modal .modal-title[data-v-71ce103a]{font-size:1rem;font-weight:700;margin:1.5625rem 0}.modal .model-p[data-v-71ce103a]{padding:0 1.5625rem;width:100%;font-size:.9375rem}.modal .model-down[data-v-71ce103a]{display:flex;width:100%;justify-content:space-between;padding:0 1.5625rem;margin-top:1.25rem}.modal .model-down .model-white[data-v-71ce103a]{border-radius:1.5625rem;width:9.375rem;height:2.96875rem;border:.15625rem solid #008dff;color:#008dff;font-size:1.09375rem;display:flex;justify-content:center;align-items:center}.modal .model-down .model-blue[data-v-71ce103a]{border-radius:1.5625rem;width:9.375rem;height:2.96875rem;background:linear-gradient(to right,#00c9ff,#0076ff);color:#fff;font-size:1.09375rem;display:flex;justify-content:center;align-items:center}.fade-enter-active[data-v-71ce103a],.fade-leave-active[data-v-71ce103a]{transition:opacity .3s}.fade-enter-from[data-v-71ce103a],.fade-leave-to[data-v-71ce103a]{opacity:0}.fade-enter-to[data-v-71ce103a],.fade-leave-from[data-v-71ce103a]{opacity:1}.slide-up-enter-active[data-v-71ce103a],.slide-up-leave-active[data-v-71ce103a]{transition:transform .3s}.slide-up-enter-from[data-v-71ce103a],.slide-up-leave-to[data-v-71ce103a]{transform:translateY(100%)}.slide-up-enter-to[data-v-71ce103a],.slide-up-leave-from[data-v-71ce103a]{transform:translateY(0)}
|
|
@ -1 +0,0 @@
|
||||||
.login-container[data-v-8017333f]{display:flex;flex-direction:column;min-height:100vh;width:100%;background-color:#eff1fc;position:relative}.login-container .title[data-v-8017333f]{margin-top:2.1875rem;align-items:center}.login-container .title .title-imge[data-v-8017333f]{width:3.125rem;height:3.28125rem;margin-left:3.125rem}.login-container .title .title-font[data-v-8017333f]{font-size:1.09375rem;font-weight:600;margin-left:3.28125rem;margin-top:.3125rem}.login-container .photo-imge[data-v-8017333f]{position:absolute;top:3.75rem;left:0;width:100%;height:34.375rem}.login-container .old-imge[data-v-8017333f]{position:absolute;right:.9375rem;top:12.5rem;width:12.5rem;height:12.5rem}.login-container .under-container[data-v-8017333f]{position:fixed;left:0;bottom:0;width:100%;height:45vh;background-color:#fff;border-top-left-radius:1.5625rem;border-top-right-radius:1.5625rem;box-shadow:.3125rem .3125rem .625rem rgba(0,0,0,.1);display:flex;flex-direction:column;align-items:center}.login-container .under-container .radio-circle[data-v-8017333f],.login-container .under-container .radio-circle-target[data-v-8017333f]{position:relative;margin-top:.0625rem;width:1.25rem;height:1.25rem;border-radius:50%;border:.0625rem solid #C0C5D9;background-color:transparent}.login-container .under-container .radio-circle-target[data-v-8017333f]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.9375rem;height:.9375rem;background-color:#00c9ff;border-radius:50%}.under-container-title[data-v-8017333f]{display:flex;margin-top:1.875rem;margin-bottom:1.25rem;align-items:center;font-size:.78125rem;font-weight:500}.under-container-title .radio-circle-blue[data-v-8017333f]{color:#0083ff;margin-top:.09375rem}.under-container-title .radio-circle-font[data-v-8017333f]{color:#5a607f;margin-top:.09375rem}.button-blue[data-v-8017333f]{width:80%;display:flex;justify-content:center;align-items:center;height:3.125rem;border-radius:1.34375rem;background:linear-gradient(to right,#00c9ff,#0076ff);color:#fff;font-size:1.03125rem;margin-bottom:.9375rem}.overlay[data-v-8017333f]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:998}.modal[data-v-8017333f]{position:fixed;bottom:0;left:0;background-color:#fff;z-index:999;border-top-left-radius:1.5625rem;border-top-right-radius:1.5625rem;width:100%;height:15.625rem;display:flex;flex-direction:column;align-items:center}.modal .modal-title[data-v-8017333f]{font-size:1rem;font-weight:700;margin:1.5625rem 0}.modal .model-p[data-v-8017333f]{padding:0 1.5625rem;width:100%;font-size:.9375rem}.modal .model-down[data-v-8017333f]{display:flex;width:100%;justify-content:space-between;padding:0 1.5625rem;margin-top:1.25rem}.modal .model-down .model-white[data-v-8017333f]{border-radius:1.5625rem;width:9.375rem;height:2.96875rem;border:.15625rem solid #008dff;color:#008dff;font-size:1.09375rem;display:flex;justify-content:center;align-items:center}.modal .model-down .model-blue[data-v-8017333f]{border-radius:1.5625rem;width:9.375rem;height:2.96875rem;background:linear-gradient(to right,#00c9ff,#0076ff);color:#fff;font-size:1.09375rem;display:flex;justify-content:center;align-items:center}.fade-enter-active[data-v-8017333f],.fade-leave-active[data-v-8017333f]{transition:opacity .3s}.fade-enter-from[data-v-8017333f],.fade-leave-to[data-v-8017333f]{opacity:0}.fade-enter-to[data-v-8017333f],.fade-leave-from[data-v-8017333f]{opacity:1}.slide-up-enter-active[data-v-8017333f],.slide-up-leave-active[data-v-8017333f]{transition:transform .3s}.slide-up-enter-from[data-v-8017333f],.slide-up-leave-to[data-v-8017333f]{transform:translateY(100%)}.slide-up-enter-to[data-v-8017333f],.slide-up-leave-from[data-v-8017333f]{transform:translateY(0)}
|
|
|
@ -1 +0,0 @@
|
||||||
.login-container[data-v-0ae6d08b]{display:flex;flex-direction:column;min-height:100vh;width:100%;background-color:#eff1fc;position:relative}.array-father[data-v-0ae6d08b]{width:33%;position:relative}.botton-view[data-v-0ae6d08b]{position:fixed;bottom:0;left:0;height:6.25rem;width:100%;display:flex;justify-content:space-between;font-weight:500}.botton-view .bottom-button[data-v-0ae6d08b]{width:100%;height:100%;display:flex;justify-content:center;align-items:center}.botton-view .bottom-button-target[data-v-0ae6d08b]{width:100%;height:100%;display:flex;justify-content:center;align-items:center;color:#2a85eb}.botton-view .blue-heng[data-v-0ae6d08b]{height:.1875rem;width:4.6875rem;background-color:#2a85eb;position:absolute;bottom:1.71875rem;left:50%;transform:translate(-50%)}
|
|
After Width: | Height: | Size: 1.4 MiB |
|
@ -0,0 +1 @@
|
||||||
|
import{y as e,A as t,B as s,s as o,C as a,f as n,D as r,E as i}from"./index-BMxaUgem.js";const c=c=>{let u=c.url,d=c.method||"get",l=c.data||{},h={"X-Access-Token":e("token")||"","Content-Type":"application/json;charset=UTF-8",Authorization:"Basic c2FiZXI6c2FiZXJfc2VjcmV0",...c.header};return new Promise(((e,c)=>{t({url:"https://www.focusnu.com/nursing-unit"+u,method:d,header:h,data:l,timeout:5e3,success(t){const r=t;if(200==r.statusCode)e(r.data);else switch(s(),r.statusCode){case 401:a({title:"提示",content:"请登录",showCancel:!1,success(){setTimeout((()=>{n({url:"/pages/login/index"})}),1e3)}});break;case 404:o({title:"请求地址不存在...",duration:2e3});break;default:o({title:"请重试...",duration:2e3})}},fail(e){console.log(e),-1!==e.errMsg.indexOf("request:fail")?o({title:"网络异常",icon:"error",duration:2e3}):o({title:"未知异常",duration:2e3}),c(e)},complete(){r(),i()}})})).catch((()=>{}))};function u(e){return c({url:"/sys/getHkCode",method:"post",data:e})}function d(e){return c({url:"/sys/smsCode",method:"post",data:e})}function l(e){return c({url:"/sys/checkPhoneCode",method:"post",data:e})}export{l as c,u as g,d as s};
|
After Width: | Height: | Size: 229 KiB |
|
@ -0,0 +1 @@
|
||||||
|
.container[data-v-40d5300a]{width:100%;min-height:100vh;position:relative}.container .select[data-v-40d5300a]{position:absolute;left:.9375rem;top:-.625rem;width:5.3125rem;height:1.875rem;border-radius:.625rem;background-color:#01a8ff;z-index:1;display:flex;border:.125rem solid #01A8FF}.container .select .select-left[data-v-40d5300a]{border-top-left-radius:.46875rem;border-bottom-left-radius:.46875rem;width:50%;height:100%;display:flex;justify-content:center;align-items:center;font-size:.78125rem;color:#fff}.container .select .select-right[data-v-40d5300a]{border-top-right-radius:.46875rem;border-bottom-right-radius:.46875rem;width:50%;height:100%;display:flex;justify-content:center;align-items:center;font-size:.78125rem;color:#fff}.container .title-map[data-v-40d5300a]{width:100%;height:20.3125rem;background-color:#e0e2e9;margin-top:1.5625rem;position:relative}.container .title-map .right-bad[data-v-40d5300a]{position:absolute;top:.3125rem;right:.625rem;width:1.5625rem;height:4.0625rem;display:flex;justify-content:center;align-items:center;flex-direction:column;background-color:#fff;z-index:1;border-radius:.625rem;font-size:.71875rem}.container .title-map .right-bad .right-bad-img[data-v-40d5300a]{width:.9375rem;height:1.71875rem}.container .title-map .title-img[data-v-40d5300a]{width:21.875rem;height:18.75rem;margin-left:.78125rem;margin-top:.78125rem}
|
After Width: | Height: | Size: 41 KiB |
|
@ -1 +0,0 @@
|
||||||
import{r as a,c as s,w as t,i as e,o as l,a as o,q as n,s as u,F as r,n as c,b as _,t as d,m as i,v as f}from"./index-DVIfOFfO.js";import{_ as b}from"./_plugin-vue_export-helper.BCo6x5W8.js";const m=b({__name:"index",setup(b){const m=["NU","动态","我的"],p=a(0);return(a,b)=>{const v=e;return l(),s(v,{class:"login-container"},{default:t((()=>[o(v,{class:"botton-view"},{default:t((()=>[(l(),n(r,null,u(m,((a,s)=>o(v,{class:"array-father"},{default:t((()=>[o(v,{class:c(p.value===s?"bottom-button-target":"bottom-button"),onClick:a=>p.value=s},{default:t((()=>[o(v,{class:""},{default:t((()=>[_(d(a),1)])),_:2},1024)])),_:2},1032,["class","onClick"]),i(o(v,{class:"blue-heng"},null,512),[[f,p.value===s]])])),_:2},1024))),64))])),_:1})])),_:1})}}},[["__scopeId","data-v-0ae6d08b"]]);export{m as default};
|
|
|
@ -1 +0,0 @@
|
||||||
import{y as e,r as n,c as o,w as s,z as t,i as a,o as c,b as i,t as r,q as l,s as p,F as u,a as d,f as h,g as f}from"./index-DVIfOFfO.js";import{o as m}from"./uni-app.es.DNqITeUz.js";import{u as g}from"./useWeChatAuth.s7uh5--2.js";import{_ as w}from"./_plugin-vue_export-helper.BCo6x5W8.js";const y=w({__name:"callback",setup(w){g();const y=e({name:"",openid:"",accessToken:""}),v=()=>{console.log("???"),h({url:"/pages/pay/index"})},k=n(""),I=()=>{const e=`https://www.focusnu.com/nursing-unit/h5Api/nuBizAdvisoryInfo/queryWeixinInfo?openId=${encodeURIComponent(y.openid)}&wechatName=${encodeURIComponent(y.name)}`;fetch(e).then((e=>e.json())).then((e=>{console.log("个人信息打印",e);const n=`${e.result.serverUrl}/weiXinPay/getUserInfo`,o={openid:y.openid,access_token:y.accessToken};console.log("???/",o),fetch(n,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}).then((e=>e.json())).then((e=>{k.value=e,console.log("!!!!!!!!!!!!!!!!!!!!!!!",e)})).catch((e=>{console.error("请求失败:",e)})),j()}))},_=n([]),j=()=>{fetch("https://www.focusnu.com/nursing-unit/sys/sysDepart/queryInstitutionsList").then((e=>e.json())).then((e=>{_.value=[...e],console.log("机构打印",_.value)}))},x=n([]);return m((()=>{var e;const n=null==(e=window.location.href.split("?")[1])?void 0:e.split("#")[0],o={};n&&n.split("&").forEach((e=>{const[n,s]=e.split("=");o[n]=decodeURIComponent(s)})),console.log("解析到的 query 参数:",o),o.code&&(e=>{const n=`https://www.focusnu.com/nursing-unit/weixin/wechat/callback?code=${encodeURIComponent(e)}`;fetch(n).then((e=>e.json())).then((e=>{console.log("✅ 获取用户信息成功:",e),y.name=e.data.nickname,y.openid=e.data.openid,y.accessToken=e.accessToken,t({key:"openid",data:{openid:e.data.openid,accessToken:e.accessToken}}),I()})).catch((e=>{console.error("❌ 获取用户信息失败:",e)}))})(o.code)})),(e,n)=>{const h=a,m=f;return c(),o(h,{class:"callback-container"},{default:s((()=>[i(" 回调成功"+r(y.name)+r(y.openid)+" ",1),(c(!0),l(u,null,p(_.value,((e,n)=>(c(),o(h,{key:n},{default:s((()=>[d(h,{style:{"font-size":"30rpx","margin-top":"10rpx","font-weight":"700"},onClick:n=>(e=>{const n=`${e.serverUrl}/h5Api/nuBaseInfo/list`;fetch(n).then((e=>e.json())).then((e=>{x.value=[...e.result]})),t({key:"serverUrl",data:{url:e.serverUrl}});const o={openId:y.openid,serverUrl:e.serverUrl};console.log("???/",o),fetch("https://www.focusnu.com/nursing-unit/h5Api/nuBizAdvisoryInfo/editNuBizAdvisoryInfo",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(o)}).then((e=>e.json())).then((e=>{console.log("???",e)})).catch((e=>{console.error("请求失败:",e)}))})(e)},{default:s((()=>[i(r(e.departName),1)])),_:2},1032,["onClick"]),d(m,{style:{width:"60rpx",height:"60rpx"},src:`https://www.focusnu.com/nursing-unit/sys/common/static/${e.picUrl}`},null,8,["src"])])),_:2},1024)))),128)),(c(!0),l(u,null,p(x.value,((e,n)=>(c(),o(h,{key:n,onClick:v},{default:s((()=>[d(h,{style:{"font-size":"30rpx","margin-top":"10rpx","font-weight":"700"}},{default:s((()=>[i(r(e.nuName),1)])),_:2},1024)])),_:2},1024)))),128))])),_:1})}}},[["__scopeId","data-v-4644647c"]]);export{y as default};
|
|
|
@ -0,0 +1 @@
|
||||||
|
import{r as e,G as o,c as n,w as s,H as t,J as c,z as a,i as r,o as i,b as l}from"./index-BMxaUgem.js";import{o as p}from"./uni-app.es.B5-OajNy.js";import{_ as u}from"./_plugin-vue_export-helper.BCo6x5W8.js";const d=u({__name:"callback",setup(u){e(0);const d=o({name:"",openid:"",accessToken:""});e("");const h=()=>{const e=`https://www.focusnu.com/nursing-unit/h5Api/nuBizAdvisoryInfo/queryWeixinInfo?openId=${encodeURIComponent(d.openid)}`;fetch(e).then((e=>e.json())).then((e=>{console.log("个人信息打印",e),c("token",e.result.token),c("serverUrl",e.result.serverUrl),console.log("???token存储",e.result.token);const o=`${e.result.serverUrl}/weiXinPay/getJsApiInfo`,n={access_token:d.accessToken};console.log("???/",n),fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(n)}).then((e=>e.json())).then((e=>{console.log("???调取微信",e)})).catch((e=>{console.error("请求失败:",e)})),e.result.tel?a({url:"/pages/index/index"}):a({url:"/pages/login/phonebumber"}),m()}))},f=e([]),m=()=>{fetch("https://www.focusnu.com/nursing-unit/sys/sysDepart/queryInstitutionsList").then((e=>e.json())).then((e=>{f.value=[...e],console.log("机构打印",f.value)}))};return e([]),p((()=>{var e;const o=null==(e=window.location.href.split("?")[1])?void 0:e.split("#")[0],n={};o&&o.split("&").forEach((e=>{const[o,s]=e.split("=");n[o]=decodeURIComponent(s)})),console.log("解析到的 query 参数:",n),n.code&&(e=>{const o=`https://www.focusnu.com/nursing-unit/weixin/wechat/callback?code=${encodeURIComponent(e)}`;fetch(o).then((e=>e.json())).then((e=>{d.name=e.data.nickname,d.openid=e.data.openid,d.accessToken=e.accessToken,t({key:"openid",data:{openid:e.data.openid,accessToken:e.accessToken}}),h()})).catch((e=>{console.error("❌ 获取用户信息失败:",e)}))})(n.code)})),(e,o)=>{const t=r;return i(),n(t,{class:"login-container"},{default:s((()=>[l(" 页面跳转中,请稍后... ")])),_:1})}}},[["__scopeId","data-v-812fd514"]]);export{d as default};
|
|
@ -0,0 +1 @@
|
||||||
|
import{r as e,p as a,c as l,w as s,s as t,i as u,o,a as c,b as n,t as d,q as i,u as r,F as v,m as f,v as p,d as m,e as _,T as g,g as h,x as b,I as x,y,z as k}from"./index-BMxaUgem.js";import{_ as w,a as I,b as j}from"./old.CKixGO1Z.js";import{o as C}from"./uni-app.es.B5-OajNy.js";import{s as S,c as V}from"./loginApi.Csw35X6S.js";import{_ as E}from"./_plugin-vue_export-helper.BCo6x5W8.js";const K=E({__name:"code",setup(E){const K=e(""),U=e(""),q=e(["","","",""]),z=e(-1),A=e(!1),B=e("rgba(0, 0, 0, 0.5)");function F(){A.value=!1}const M=e(""),T=()=>{const e=q.value.join("");4===e.length?(console.log("提交验证码:",e),M.value!=e&&(M.value=e,V({mobile:K.value,openId:y("openid").openid,smscode:e}).then((e=>{e.success?k({url:"/pages/index/index"}):t({title:"验证码错误",icon:"none",duration:2e3})})))):console.log("验证码未输入完整")},D=()=>{S({mobile:K.value,hkcode:U.value,smsmode:1}).then((e=>{e.success?(t({title:"发送成功",icon:"none",duration:2e3}),z.value=0,G.value=60,H=setInterval((()=>{G.value>0?G.value--:(clearInterval(H),H=null)}),1e3)):t({title:e.message,icon:"none",duration:2e3})}))},G=e(0);let H=null;return a((()=>{H&&clearInterval(H)})),C((e=>{K.value=e.mobile,U.value=e.hkcode,D()})),(e,a)=>{const t=h,y=u,k=x;return o(),l(y,{class:"login-container"},{default:s((()=>[c(y,{class:"title"},{default:s((()=>[c(t,{class:"title-imge",src:w}),c(y,{class:"title-font"},{default:s((()=>[c(y,{class:""},{default:s((()=>[n("您好,")])),_:1}),c(y,{class:""},{default:s((()=>[n("欢迎使用护理单元~")])),_:1})])),_:1})])),_:1}),c(t,{class:"photo-imge",src:I}),c(t,{class:"old-imge",src:j}),c(y,{class:"under-container"},{default:s((()=>[c(y,{class:"under-container-title"},{default:s((()=>[c(y,{class:"code-title"},{default:s((()=>[n(" 请输入验证码 ")])),_:1}),c(y,{class:"code-number"},{default:s((()=>[n(" 验证码已发送至"+d(K.value),1)])),_:1})])),_:1}),c(y,{class:"captcha-container"},{default:s((()=>[c(y,{class:"captcha-box"},{default:s((()=>[(o(!0),i(v,null,r(q.value,((e,a)=>(o(),l(y,{key:a,class:"captcha-item"},{default:s((()=>[c(k,{modelValue:q.value[a],"onUpdate:modelValue":e=>q.value[a]=e,class:"captcha-input",type:"number",maxlength:"4",placeholder:a<3?"":" ",onInput:e=>((e,a)=>{const l=a.detail.value||"";if(console.log("??????",a),4==l.length){const e=a.detail.value.toString().padStart(4,"0");q.value=e.split(""),z.value=3,b((()=>{T()}))}else if(2==l.length){q.value[e]="number"==typeof(s=q.value[e])?s%10:s,q.value[e]&&e<3&&(z.value=e+1);let a=!0;q.value.forEach((e=>{e||(a=!1)})),b((()=>{a&&T()}))}else{q.value[e]&&e<3&&(z.value=e+1);let a=!0;q.value.forEach((e=>{e||(a=!1)})),b((()=>{a&&T()}))}var s})(a,e),onKeydown:e=>((e,a)=>{"Backspace"!==a.key||q.value[e]||e>0&&(z.value=e-1)})(a,e),focus:z.value===a},null,8,["modelValue","onUpdate:modelValue","placeholder","onInput","onKeydown","focus"])])),_:2},1024)))),128))])),_:1})])),_:1}),c(y,{class:"under-view"},{default:s((()=>[f(c(y,{class:"right-blue",onClick:D},{default:s((()=>[n(" 重新发送 ")])),_:1},512),[[p,!G.value]]),f(c(y,{class:"right-white"},{default:s((()=>[n(d(G.value)+"S后重新发送 ",1)])),_:1},512),[[p,G.value]]),c(y,{class:"right-black",onClick:a[0]||(a[0]=e=>A.value=!0)},{default:s((()=>[n(" 收不到验证码 ")])),_:1})])),_:1})])),_:1}),c(g,{name:"fade"},{default:s((()=>[A.value?(o(),l(y,{key:0,class:"overlay",onClick:F,style:m({backgroundColor:B.value})},null,8,["style"])):_("",!0)])),_:1}),c(g,{name:"slide-up"},{default:s((()=>[A.value?(o(),l(y,{key:0,class:"modal"},{default:s((()=>[c(y,{class:"modal-title"},{default:s((()=>[n("收不到验证码")])),_:1}),c(y,{class:"model-p"},{default:s((()=>[c(y,{class:"text-view",style:{"font-weight":"600"}},{default:s((()=>[n("手机号可正常使用:")])),_:1}),c(y,{class:"text-view"},{default:s((()=>[n("1 是否输错手机号")])),_:1}),c(y,{class:"text-view"},{default:s((()=>[n("2 手机是否设置短信拦截/欠费/信号不好")])),_:1}),c(y,{class:"text-view"},{default:s((()=>[n("3 手机内存是否满了")])),_:1}),c(y,{class:"text-view"},{default:s((()=>[n("4 手机卡是否为物联卡,而非SIM卡")])),_:1})])),_:1})])),_:1})):_("",!0)])),_:1})])),_:1})}}},[["__scopeId","data-v-f1b5ebad"]]);export{K as default};
|
|
@ -1 +0,0 @@
|
||||||
import{r as e,p as a,c as l,w as s,i as t,o as u,a as c,b as o,t as n,q as d,s as r,F as i,m as f,v,d as _,e as p,T as m,g as h,u as g,I as w,x}from"./index-DVIfOFfO.js";import{_ as y,a as b,b as k}from"./old.CKixGO1Z.js";import{o as I}from"./uni-app.es.DNqITeUz.js";import{_ as j}from"./_plugin-vue_export-helper.BCo6x5W8.js";const V=j({__name:"code",setup(j){const V=e(""),C=e(["","","",""]),K=e(0),S=e(!1),U=e("rgba(0, 0, 0, 0.5)");function q(){S.value=!1}const B=()=>{const e=C.value.join("");4===e.length?(console.log("提交验证码:",e),x({url:"/pages/index/index"})):console.log("验证码未输入完整")},D=e(60);let E=null;return a((()=>{E&&clearInterval(E)})),I((e=>{V.value=e.phonenumber,(()=>{const e=`https://www.focusnu.com/nursing-unit/sys/randomImage/${Date.now()}`;fetch(e).then((e=>e.json())).then((e=>{console.log("code测试",e)}))})(),D.value=60,E=setInterval((()=>{D.value>0?D.value--:(clearInterval(E),E=null)}),1e3)})),(e,a)=>{const x=h,I=t,j=w;return u(),l(I,{class:"login-container"},{default:s((()=>[c(I,{class:"title"},{default:s((()=>[c(x,{class:"title-imge",src:y}),c(I,{class:"title-font"},{default:s((()=>[c(I,{class:""},{default:s((()=>[o("您好,")])),_:1}),c(I,{class:""},{default:s((()=>[o("欢迎使用护理单元~")])),_:1})])),_:1})])),_:1}),c(x,{class:"photo-imge",src:b}),c(x,{class:"old-imge",src:k}),c(I,{class:"under-container"},{default:s((()=>[c(I,{class:"under-container-title"},{default:s((()=>[c(I,{class:"code-title"},{default:s((()=>[o(" 请输入验证码 ")])),_:1}),c(I,{class:"code-number"},{default:s((()=>[o(" 验证码已发送至"+n(V.value),1)])),_:1})])),_:1}),c(I,{class:"captcha-container"},{default:s((()=>[c(I,{class:"captcha-box"},{default:s((()=>[(u(!0),d(i,null,r(C.value,((e,a)=>(u(),l(I,{key:a,class:"captcha-item"},{default:s((()=>[c(j,{modelValue:C.value[a],"onUpdate:modelValue":e=>C.value[a]=e,class:"captcha-input",type:"number",maxlength:"1",placeholder:a<3?"":" ",onInput:e=>(e=>{C.value[e]&&e<3&&(K.value=e+1);let a=!0;C.value.forEach((e=>{e||(a=!1)})),g((()=>{a&&B()}))})(a),onKeydown:e=>((e,a)=>{"Backspace"!==a.key||C.value[e]||e>0&&(K.value=e-1)})(a,e),focus:K.value===a},null,8,["modelValue","onUpdate:modelValue","placeholder","onInput","onKeydown","focus"])])),_:2},1024)))),128))])),_:1})])),_:1}),c(I,{class:"under-view"},{default:s((()=>[f(c(I,{class:"right-blue"},{default:s((()=>[o(" 重新发送 ")])),_:1},512),[[v,!D.value]]),f(c(I,{class:"right-white"},{default:s((()=>[o(n(D.value)+"S后重新发送 ",1)])),_:1},512),[[v,D.value]]),c(I,{class:"right-black",onClick:a[0]||(a[0]=e=>S.value=!0)},{default:s((()=>[o(" 收不到验证码 ")])),_:1})])),_:1})])),_:1}),c(m,{name:"fade"},{default:s((()=>[S.value?(u(),l(I,{key:0,class:"overlay",onClick:q,style:_({backgroundColor:U.value})},null,8,["style"])):p("",!0)])),_:1}),c(m,{name:"slide-up"},{default:s((()=>[S.value?(u(),l(I,{key:0,class:"modal"},{default:s((()=>[c(I,{class:"modal-title"},{default:s((()=>[o("收不到验证码")])),_:1}),c(I,{class:"model-p"},{default:s((()=>[c(I,{class:"text-view",style:{"font-weight":"600"}},{default:s((()=>[o("手机号可正常使用:")])),_:1}),c(I,{class:"text-view"},{default:s((()=>[o("1 是否输错手机号")])),_:1}),c(I,{class:"text-view"},{default:s((()=>[o("2 手机是否设置短信拦截/欠费/信号不好")])),_:1}),c(I,{class:"text-view"},{default:s((()=>[o("3 手机内存是否满了")])),_:1}),c(I,{class:"text-view"},{default:s((()=>[o("4 手机卡是否为物联卡,而非SIM卡")])),_:1})])),_:1})])),_:1})):p("",!0)])),_:1})])),_:1})}}},[["__scopeId","data-v-edc97756"]]);export{V as default};
|
|
|
@ -0,0 +1 @@
|
||||||
|
import{r as l,c as e,w as a,i as s,o as t,a as o,b as c,n,d as u,e as i,T as d,f as r,g as f,h as _}from"./index-BMxaUgem.js";import{_ as p,a as m,b as g}from"./old.CKixGO1Z.js";import{_ as v}from"./_plugin-vue_export-helper.BCo6x5W8.js";const k=encodeURIComponent("https://www.focusnu.com/wechat/thd/#/pages/login/callback");const C=v({__name:"index",setup(v){const C=l(!1),b=l(!1),{login:h}=(l(""),l(""),l(null),{login:function(l="snsapi_userinfo",e=""){const a=`https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8fc3e4305d2fbf0b&redirect_uri=${k}&response_type=code&scope=${l}&state=${e}#wechat_redirect`;window.location.href=a}}),w=l("rgba(0, 0, 0, 0.5)");function x(){b.value=!1}const y=()=>{C.value?h():b.value=!0},j=()=>{r({url:"/pages/login/protocol"})},$=()=>{r({url:"/pages/index/index"})},q=()=>{r({url:"/pages/selectunit/map"})};return(l,r)=>{const v=f,k=s,h=_;return t(),e(k,{class:"login-container"},{default:a((()=>[o(k,{class:"title"},{default:a((()=>[o(v,{class:"title-imge",src:p,onClick:$}),o(k,{class:"title-font"},{default:a((()=>[o(k,{class:""},{default:a((()=>[c("您好,")])),_:1}),o(k,{class:""},{default:a((()=>[c("欢迎使用护理单元~")])),_:1})])),_:1})])),_:1}),o(v,{class:"photo-imge",src:m}),o(v,{class:"old-imge",src:g,onClick:q}),o(k,{class:"under-container"},{default:a((()=>[o(k,{class:"under-container-title"},{default:a((()=>[o(k,{class:n(C.value?"radio-circle-target":"radio-circle"),onClick:r[0]||(r[0]=l=>C.value=!C.value)},null,8,["class"]),o(k,{style:{"margin-left":"17rpx"},class:"radio-circle-font",onClick:r[1]||(r[1]=l=>C.value=!C.value)},{default:a((()=>[c("同意")])),_:1}),o(k,{class:"radio-circle-blue",onClick:j},{default:a((()=>[c(" 《护理单元使用条款》 ")])),_:1}),o(k,{class:"radio-circle-font",onClick:r[2]||(r[2]=l=>C.value=!C.value)},{default:a((()=>[c("并授权NU获取本机号码")])),_:1})])),_:1}),o(k,{class:"button-blue",onClick:y},{default:a((()=>[c(" 一键登录 ")])),_:1})])),_:1}),o(d,{name:"fade"},{default:a((()=>[b.value?(t(),e(k,{key:0,class:"overlay",onClick:x,style:u({backgroundColor:w.value})},null,8,["style"])):i("",!0)])),_:1}),o(d,{name:"slide-up"},{default:a((()=>[b.value?(t(),e(k,{key:0,class:"modal"},{default:a((()=>[o(k,{class:"modal-title"},{default:a((()=>[c("服务协议及隐私保护")])),_:1}),o(k,{class:"model-p"},{default:a((()=>[o(h,null,{default:a((()=>[c(" 为了更好地保障您的合法权益,请阅读并同意以下协议")])),_:1}),o(h,{style:{color:"rgb(0,141,255)"},onClick:j},{default:a((()=>[c("《护理单元使用条款》")])),_:1}),o(h,null,{default:a((()=>[c(",同意后将自动登录。")])),_:1})])),_:1}),o(k,{class:"model-down"},{default:a((()=>[o(k,{class:"model-white",onClick:x},{default:a((()=>[c(" 不同意 ")])),_:1}),o(k,{class:"model-blue",onClick:r[3]||(r[3]=l=>{x(),C.value=!0})},{default:a((()=>[c(" 同意 ")])),_:1})])),_:1})])),_:1})):i("",!0)])),_:1})])),_:1})}}},[["__scopeId","data-v-71ce103a"]]);export{C as default};
|
|
@ -1 +0,0 @@
|
||||||
import{r as l,c as a,w as e,i as s,o as t,a as o,b as c,n as u,d as n,e as d,T as r,f as i,g as f,h as _}from"./index-DVIfOFfO.js";import{_ as m,a as p,b as v}from"./old.CKixGO1Z.js";import{u as g}from"./useWeChatAuth.s7uh5--2.js";import{_ as b}from"./_plugin-vue_export-helper.BCo6x5W8.js";const k=b({__name:"index",setup(b){const k=l(!1),C=l(!1);g();const h=l("rgba(0, 0, 0, 0.5)");function y(){C.value=!1}const x=()=>{k.value?i({url:"/pages/login/phonebumber"}):C.value=!0},j=()=>{console.log("????"),i({url:"/pages/login/protocol"})};return(l,i)=>{const g=f,b=s,w=_;return t(),a(b,{class:"login-container"},{default:e((()=>[o(b,{class:"title"},{default:e((()=>[o(g,{class:"title-imge",src:m}),o(b,{class:"title-font"},{default:e((()=>[o(b,{class:""},{default:e((()=>[c("您好,")])),_:1}),o(b,{class:""},{default:e((()=>[c("欢迎使用护理单元~")])),_:1})])),_:1})])),_:1}),o(g,{class:"photo-imge",src:p}),o(g,{class:"old-imge",src:v}),o(b,{class:"under-container"},{default:e((()=>[o(b,{class:"under-container-title"},{default:e((()=>[o(b,{class:u(k.value?"radio-circle-target":"radio-circle"),onClick:i[0]||(i[0]=l=>k.value=!k.value)},null,8,["class"]),o(b,{style:{"margin-left":"17rpx"},class:"radio-circle-font",onClick:i[1]||(i[1]=l=>k.value=!k.value)},{default:e((()=>[c("同意")])),_:1}),o(b,{class:"radio-circle-blue",onClick:j},{default:e((()=>[c(" 《护理单元使用条款》 ")])),_:1}),o(b,{class:"radio-circle-font",onClick:i[2]||(i[2]=l=>k.value=!k.value)},{default:e((()=>[c("并授权NU获取本机号码")])),_:1})])),_:1}),o(b,{class:"button-blue",onClick:x},{default:e((()=>[c(" 一键登录 ")])),_:1})])),_:1}),o(r,{name:"fade"},{default:e((()=>[C.value?(t(),a(b,{key:0,class:"overlay",onClick:y,style:n({backgroundColor:h.value})},null,8,["style"])):d("",!0)])),_:1}),o(r,{name:"slide-up"},{default:e((()=>[C.value?(t(),a(b,{key:0,class:"modal"},{default:e((()=>[o(b,{class:"modal-title"},{default:e((()=>[c("服务协议及隐私保护")])),_:1}),o(b,{class:"model-p"},{default:e((()=>[o(w,null,{default:e((()=>[c(" 为了更好地保障您的合法权益,请阅读并同意以下协议")])),_:1}),o(w,{style:{color:"rgb(0,141,255)"},onClick:j},{default:e((()=>[c("《护理单元使用条款》")])),_:1}),o(w,null,{default:e((()=>[c(",同意后将自动登录。")])),_:1})])),_:1}),o(b,{class:"model-down"},{default:e((()=>[o(b,{class:"model-white",onClick:y},{default:e((()=>[c(" 不同意 ")])),_:1}),o(b,{class:"model-blue",onClick:i[3]||(i[3]=l=>{y(),k.value=!0})},{default:e((()=>[c(" 同意 ")])),_:1})])),_:1})])),_:1})):d("",!0)])),_:1})])),_:1})}}},[["__scopeId","data-v-8017333f"]]);export{k as default};
|
|
|
@ -1 +0,0 @@
|
||||||
import{r as e,j as a,o as t,c as l,w as n,a as s,d as o,k as u,l as r,g as i,i as c,b as v,m as d,v as h,e as p,f as m,I as f}from"./index-DVIfOFfO.js";import{_ as g,a as w,b as _}from"./old.CKixGO1Z.js";import{o as x}from"./uni-app.es.DNqITeUz.js";import{_ as b}from"./_plugin-vue_export-helper.BCo6x5W8.js";const y="/wechat/thd/assets/1-BjS2h1iy.png",$=b({__name:"huakuai",setup(v){const d=100,h=e(null),p=e(null),m=e(400),f=e(600),g=e(0),w=e(0),_=e(0),b=e(!1),$=e(0);const k=`path('${L=d,`\n M20 0\n h${L/3-20}\n a20 20 0 0 1 0 40\n h${L/3}\n a20 20 0 0 0 0 -40\n h${L/3-20}\n v${L/3-20}\n a20 20 0 0 1 -40 0\n v${L/3}\n a20 20 0 0 0 40 0\n v${L/3-20}\n h-${L/3-20}\n a20 20 0 0 1 0 -40\n h-${L/3}\n a20 20 0 0 0 0 40\n h-${L/3-20}\n z\n `}')`;var L;function E(){r().in(h.value).select(".bg-image").boundingClientRect((e=>{e?(console.log("图片宽高:",e.width,e.height),m.value=2*e.width,f.value=2*e.height,g.value=Math.random()*(m.value-200)+d,w.value=f.value/2,_.value=0,console.log("originX:",g.value,"originY:",w.value)):console.error("无法获取.bg-image尺寸")})).exec()}function C(e){b.value=!0,$.value=e.touches?2*e.touches[0].clientX:2*e.clientX,window.addEventListener("mousemove",M),window.addEventListener("mouseup",j),window.addEventListener("touchmove",M),window.addEventListener("touchend",j)}function M(e){if(!b.value)return;let a=(e.touches?2*e.touches[0].clientX:2*e.clientX)-$.value;a=Math.max(0,Math.min(a,m.value-d)),_.value=a}function j(){b.value=!1,window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",j),window.removeEventListener("touchmove",M),window.removeEventListener("touchend",j),Math.abs(_.value-g.value)<20?console.log("验证成功"):_.value=0}const I=e("");return x((()=>{let e=Math.floor(4*Math.random());const a=["/wechat/thd/assets/0-DC0meffC.png",y,y,y];I.value=a[e]})),a((()=>{window.removeEventListener("mousemove",M),window.removeEventListener("mouseup",j),window.removeEventListener("touchmove",M),window.removeEventListener("touchend",j)})),(e,a)=>{const r=i,v=c;return t(),l(v,{class:"captcha-container",ref_key:"container",ref:h},{default:n((()=>[s(v,{class:"captcha-image",style:{position:"relative",width:"100%",height:"400rpx",overflow:"hidden"}},{default:n((()=>[s(r,{src:I.value,class:"bg-image",mode:"widthFix",onLoad:E},null,8,["src"]),s(v,{class:"overlay",style:o({width:m.value+"rpx",height:f.value+"rpx"})},{default:n((()=>[s(v,{class:"hole",style:o({top:w.value+"rpx",left:g.value+"rpx",width:"100rpx",height:"100rpx",clipPath:k,transform:"translate(-50%, -50%)",backgroundColor:"rgba(0,0,0,0.3)"})},null,8,["style"]),s(v,{class:"piece",style:o({top:w.value+"rpx",left:_.value+"rpx",width:"100rpx",height:"100rpx",backgroundImage:`url(${I.value})`,backgroundSize:m.value+"rpx "+f.value+"rpx",backgroundPosition:`-${g.value}rpx -${w.value}rpx`,clipPath:k,transform:"translate(-50%, -50%)"})},null,8,["style"])])),_:1},8,["style"])])),_:1}),s(v,{class:"slider-bar"},{default:n((()=>[s(v,{class:"slider-button",ref_key:"btn",ref:p,onTouchstart:u(C,["prevent"]),onMousedown:u(C,["prevent"]),style:o({left:_.value+"rpx",maxWidth:m.value-d+"rpx"})},null,8,["style"])])),_:1})])),_:1},512)}}},[["__scopeId","data-v-9fb232f4"]]),k=b({__name:"phonebumber",setup(a){const o=e(!1),r=()=>{m({url:`/pages/login/code?phonenumber=${x.value}`})};const x=e(""),b=e(!1),y=e=>{var a;console.log("????",e.detail.value),a=e.detail.value,/^\d{11}$/.test(a.toString())?(x.value=e.detail.value,b.value=!0):b.value=!1};return(e,a)=>{const m=i,x=c,k=f;return t(),l(x,{class:"login-container"},{default:n((()=>[s(x,{class:"title"},{default:n((()=>[s(m,{class:"title-imge",src:g}),s(x,{class:"title-font"},{default:n((()=>[s(x,{class:""},{default:n((()=>[v("您好,")])),_:1}),s(x,{class:""},{default:n((()=>[v("欢迎使用护理单元~")])),_:1})])),_:1})])),_:1}),s(m,{class:"photo-imge",src:w}),s(m,{class:"old-imge",src:_}),s(x,{class:"under-container"},{default:n((()=>[s(x,{class:"under-container-title"},{default:n((()=>[s(x,{class:"under-container-input"},{default:n((()=>[s(x,{class:"input-left"},{default:n((()=>[v("+86")])),_:1}),s(k,{type:"number",style:{width:"600rpx","font-size":"33rpx"},maxlength:"11",placeholder:"请输入绑定手机号",onInput:y})])),_:1})])),_:1}),s(x,{class:"button-blue",onClick:a[0]||(a[0]=e=>o.value=!0)},{default:n((()=>[v(" 滑块校验 ")])),_:1}),d(s(x,{class:"button-blue",onClick:r},{default:n((()=>[v(" 获得验证码 ")])),_:1},512),[[h,b.value]]),d(s(x,{class:"button-gray"},{default:n((()=>[v(" 获得验证码 ")])),_:1},512),[[h,!b.value]])])),_:1}),o.value?(t(),l(x,{key:0,class:"bg-mask",onClick:a[2]||(a[2]=e=>o.value=!1)},{default:n((()=>[s($,{onClick:a[1]||(a[1]=u((()=>{}),["stop"]))})])),_:1})):p("",!0)])),_:1})}}},[["__scopeId","data-v-a00813dc"]]);export{k as default};
|
|