<template>
	<view style="height: 100vh;" class="flex flex-direction">
		<!-- 顶部导航栏 -->
		<view class="navbar" :style="{ paddingTop: (12 + statusBarHeight) + 'px' }">
			<view class="navbar-content">
				<view class="navbar-left" @click="goBack">
					<u-icon name="arrow-leftward" size="36" color="#333"></u-icon>
				</view>
				<view class="navbar-title">附件管理</view>
				<view class="navbar-right"></view>
			</view>
		</view>

		<!-- <nav-bar title="基本信息"></nav-bar> -->
		<view class="contain flex flex-direction">
			<scroll-view scroll-with-animation scroll-y>
				<!-- 我的公司 -->
				<view class="usermain-item item-padding" v-for="item in content">
					<view class="usermain-item-title c-flex-center">
						<image
							:src="item.fileType == 'pdf' ? '../../static/images/pdf.svg' : '../../static/images/docx.svg'"
							class="header-icon" mode="aspectFill" />
					</view>
					<view @click="seekDoc(item)" class="fileContent c-flex-center">
						<view class="fileName m-ellipsis">{{ item.attachmentName }}</view>
						<view class="filedesc">{{ item.attachmentSize }}kb 更新于{{ item.createTime }}</view>
					</view>
					<view @click.stop="more(item.resumesAttachmentId)" class="c-flex-center">
						<u-icon name="more-dot-fill"></u-icon>
					</view>
				</view>
				<empty :isShow="false" v-if="content.length == 0" />
			</scroll-view>
		</view>
		<!-- #ifdef APP-PLUS -->
		<view class="white-btn" v-if="showWXUploadBtn" @click="handleWeChatUpload">微信上传</view>
		<!-- #endif -->
		<view class="buttons flex align-center">
			<view class="button pain" @click="showTipPopup = true">Ai一键解析简历</view>
			<view class="button primary">
				简历上传
				<fileSelector title="" allowType=".doc,.docx,.xls,.xlsx,.pdf" @fileSelected="uploadResumes"
					@filesChanged="onFilesChanged" />
			</view>
		</view>
		<!-- 简历解析确认弹窗 -->
		<view class="popup-container" v-if="showTipPopup" @click="showTipPopup = false">
			<view class="popup-content">
				<view class="popup-title">温馨提示</view>
				<view class="tip-container">
					<view>1-2页简历识别预计耗时1分钟；</view>
					<view>3-5页简历识别预计耗时1-3分钟；</view>
					<view>5页简历以上耗时将会超过5分；</view>
					<view>请您耐心等待！</view>
				</view>
				<image src="@/static/upload-tip.png" class="upload-tip"></image>
				<view class="button-primary" @click.stop="handlUploadFile">知道了</view>
			</view>
		</view>
		<!-- 简历解析加载 -->
		<view class="load-container" v-if="showLoadCard">
			<image src="@/static/loading.gif" class="loading-image" mode="aspectFit"></image>
		</view>
		<!-- 权限说明弹窗 -->
		<u-popup mode="top" ref="permission">
			<view class="popup-content">
				<view class="popup-text-permission">选择/拍摄照片需要相机/相册权限，用于上传用户头像</view>
			</view>
		</u-popup>
		<!-- 同步解析简历数据 -->
		<u-popup v-model="showResumesAnalysis" mode="bottom" border-radius="14" :mask-close-able="false">
			<view class="resume-popup">
				<view class="close-button flex align-center justify-center" @click="showResumesAnalysis = false">
					<u-icon name="close" color="#fff" size="22" />
				</view>
				<view class="title">从附件简历中解析出<text>{{ validInfoCount }}段</text>有效信息</view>
				<view class="tip">无需手动填写，可直接添加到在线简历中</view>
				<view class="info-list">
					<view class="info-item flex align-center" v-for="(item, index) in analysisList" :key="index">
						<view class="label">{{ item.title }}</view>
						<view class="border"></view>
						<view class="content">{{ item.value }}</view>
					</view>
				</view>
				<view class="button" @click="handleSync">立即同步</view>
			</view>
		</u-popup>
	</view>
</template>

<script>
import configdata from '../../common/config.js';
import navBar from "@/components/nav-bar/index.vue";
// 引入组件
import fileSelector from '@/uni_modules/zhouquan-fileSelector/components/zhouquan-fileSelector/file-selector.vue';
import empty from '../../components/empty.vue'
// #ifdef APP-PLUS
import { chooseFileFromModule } from '@/uni_modules/sr-file-choose'
// #endif
let AIResumeData = {}
export default {
	components: {
		navBar,
		fileSelector,
		empty
	},
	data() {
		return {
			statusBarHeight: 0, // 状态栏高度
			phone: '',
			weChatNum: '',//微信号
			email: '',//接收简历邮箱
			selectedCompany: '深圳市汉瑞国际猎头服务有限公司', // 我的公司
			selectedPosition: '人事总监', // 我的职务
			avatar: '../../static/logo.png',
			userName: '',
			nickName: '',
			userId: '',
			realName: '',
			weChatId: "",
			password: '',
			platform: '',
			createTime: '',
			money: '',
			jiFen: '',
			status: '',
			zhiFuBao: '',
			zhiFuBaoName: '',
			sex: 1,
			age: 0,
			content: [],
			showLoadCard: false,
			showResumesAnalysis: false,
			validInfoCount: 0, // 有效信息数量
			analysisList: [
				{
					title: '基本信息',
					value: '',
				},
				{
					title: '工作经历',
					value: '',
				},
				{
					title: '教育经历',
					value: '',
				},
				{
					title: '个人优势',
					value: '',
				},
			],
			loading: false,
			showTipPopup: false,
			showWXUploadBtn: false
		};
	},
	computed: {
		phoneWithMask() {
			if (this.phone && this.phone.length >= 11) {
				return this.phone.substring(0, 3) + '******' + this.phone.substring(9);
			}
			return this.phone || '请设置手机号';
		}
	},
	onLoad(e) {
		// 获取状态栏高度
		let systemInfo = uni.getSystemInfoSync();
		this.statusBarHeight = systemInfo.statusBarHeight || 0;

		this.getUserInfo()
		// this.avatar = uni.getStorageSync('avatar')
		this.getWXUploadConfigData()
	},
	methods: {
		// 返回上一页
		goBack() {
			uni.navigateBack();
		},
		// 修改手机号
		modifyPhone() {
			console.log('点击修改手机号，当前手机号：', this.phone);
			const url = `/pages/my/userphone?currentPhone=${this.phone}`;
			console.log('跳转路径：', url);

			uni.navigateTo({
				url: url,
			});
		},
		// 选择公司
		selectCompany() {
			uni.navigateTo({
				url: '/pages/my/myCompany'
			});
		},
		// 选择职务
		selectPosition() {
			// 这里可以跳转到职务选择页面或显示职务选择弹窗
			console.log('选择职务');
		},
		onChooseAvatar(e) {
			let that = this;
			let token = uni.getStorageSync('token');
			uni.uploadFile({
				url: this.$Request.config("APIHOST1") +
					'/alioss/upload', //真实的接口地址
				filePath: e.detail.avatarUrl,
				header: {
					token: token
				},
				name: 'file',
				success: uploadFileRes => {
					let url = JSON.parse(uploadFileRes.data);
					that.avatar = url.data
					uni.hideLoading();
				}
			});

		},
		goMyAddress() {
			uni.navigateTo({
				url: '../jifen/myaddress'
			});
		},
		getUserInfo() {
			this.$Request.get("/app/resumes/getAttachment").then(res => {
				if (res.code == 0) {
					res.data.forEach(function (item) {
						const ext = item.attachmentName.split('.').pop().toLowerCase();
						item.fileType = ext
					})
					this.content = res.data
				}
				uni.hideLoading();
			});


		},
		// 保存
		uploadResumes(e) {
			var that = this
			console.log(e.path)
			const validExtensions = ['pdf', 'doc', 'docx'];
			const ext = e.name.split('.').pop().toLowerCase();
			if (!validExtensions.includes(ext)) {
				this.$queue.showToast('仅支持PDF/DOC/DOCX格式')
				return;
			}
			uni.getFileInfo({
				filePath: e.path,
				success: (info) => {

					console.log('文件大小:', info.size); // 单位：字节
					let attachment_size = (info.size / 1024).toFixed(1)
					that.$queue.uploadFile(e.path, function (path) {
						if (path)
							that.$Request.postJson("/app/resumes/saveAttachment", {
								attachmentAddress: path,
								attachmentName: e.name,
								attachmentSize: attachment_size
							}).then(res => {
								if (res.code === 0) {
									that.getUserInfo()
									uni.$emit('updateAttachmentList')
								} else {
									uni.showToast({
										title: res.msg,
										icon: "none"
									})
								}
							})
						else
							that.$queue.showToast('文件上传失败')
					})
				},
				fail: (err) => {
					console.error('获取失败', err);
				}
			});

		},
		more(id) {
			uni.showActionSheet({
				itemList: ["AI解析", "删除"],
				itemColor: "#3273db",
				success: res => {
					if (res.tapIndex == 0) {
						let [resume] = this.content.filter(item => item.resumesAttachmentId == id)
						if (resume) {
							this.analyserResumeByUrl(resume?.attachmentAddress)
						} else {
							this.$queue.showToast('获取简历失败')
						}
					} else if (res.tapIndex == 1) {
						this.deleteAttachment(id)
					}
				},
				fail(res) {
					console.log(res.errMsg);
				},
			});
		},
		handleWeChatUpload() {
			plus.share.getServices(res => {
			let weixinService = null;
			for (let i in res) {
				if (res[i].id === 'weixin') {
				weixinService = res[i];
				break;
				}
			}
			console.log('weixinService :>> ', weixinService);
			const userId =  uni.getStorageSync('userId')
			if (weixinService) {
				weixinService.launchMiniProgram({
				id: 'gh_854ab5288c2d', 
				path: `/pages/index/index?userId=${userId}`,
				type: 0 // 小程序版本类型：0-正式版；1-测试版；2-体验版
				});
			} else {
				console.log('未安装微信或获取微信服务失败');
			}
			});
		},
		deleteAttachment(id) {
			var that = this;
			uni.showModal({
				title: '提示',
				content: '确定删除？',
				success(res) {
					if (res.confirm) {
						that.$Request.postJson("/app/resumes/deleteAttachment", {
							resumesAttachmentId: id
						}).then(res => {
							if (res.code === 0) {
								var info = that.content.filter(function (item) {
									return item.resumesAttachmentId != id;
								});
								that.content = info
								uni.$emit('updateAttachmentList')
							} else {
								uni.showToast({
									title: res.msg,
									icon: "none"
								})
							}
						})
					} else if (res.cancel) {
						console.log('用户点击取消')
					}
				}
			})
		},
		onFilesChanged(e) {
			console.log(e)
		},
		seekDoc(it) {
			//#ifdef APP-PLUS
			uni.downloadFile({
				url: it.attachmentAddress,
				success: function (res) {
					var filePath = res.tempFilePath;
					uni.openDocument({
						filePath: filePath,
						showMenu: true,
						success: function (res) {
							console.log('打开文档成功');
						}
					});
				}
			});
			return;
			//#endif
			uni.navigateTo({
				url: '/pages/index/webView?url=' + it.attachmentAddress + '&title=' + it.attachmentName
			});
		},
		// 附件一键识别
		handlUploadFile() {
			if (this.content.length >= 3) {
				this.showTipPopup = false
				this.$queue.showToast('最多保存三张附件简历，请删除后再试')
				return
			}
			
			// #ifdef APP-PLUS
			chooseFileFromModule({
				complete: res => {
					let path = res.path
					let name = res.name
					let fileType = ''
					// 如果没有name，默认为：截取最后一个/之后的内容
					if (!name) {
						let lastIndex = path.lastIndexOf('/');
						if (lastIndex !== -1) {
							name = path.substring(lastIndex + 1);
						} else {
							name = Math.random().toString(36).substr(2) + Date.now();
						}
					}
					// 使用 lastIndexOf 方法找到最后一个 . 的位置
					let lastDotIndex = name.lastIndexOf('.');
					if (lastDotIndex !== -1) {
						fileType = name.substring(lastDotIndex + 1);
					} else {
						console.log('文件路径中没有 .');
					}
					let file = {
						size: res.size,
						path,
						fileType,
						name
					}
					this.uploadAndAnalysisResumes(file)
				}
			})
			// #endif
			// #ifdef H5
			uni.chooseFile({
				count: 1,
				success: res => {
					this.uploadAndAnalysisResumes({
						path: res.tempFilePaths[0],
						name: 'file'
					})
				}
			})
			// #endif
		},
		// 上传解析简历
		uploadAndAnalysisResumes(file) {
			this.showTipPopup = false
			this.showLoadCard = true
			this.$queue.uploadFiles({
				url: '/app/resumes/resumesAnalysisPlus',
				path: file.path,
				name: 'file',
				timeout: 480000,
				hideUploadTask: true
			}, (res) => {
				if (!res) {
					this.showModal('解析失败，请稍后重试')
					this.stopLoadStatus()
					return
				}
				if (res.code == 0 && res.data) {
					// 识别前，先清空数据
					this.clearResumeData()
					this.setAiResumesAnalysis(JSON.parse(res.data))
					
					this.getUserInfo()
				} else {
					this.showModal(res?.msg || '解析失败，请稍后重试')
				}
				
				this.stopLoadStatus()
			})
		},
		stopLoadStatus() {
			this.showLoadCard = false
		},
		// 获取简历解析数据
		setAiResumesAnalysis(data) {
			AIResumeData = data || {}
			if (data) {
				this.showResumesAnalysis = true
				// 基本信息
				if (data.name || data.age || data.email) {
					this.validInfoCount++
					let dataArray = []
					if (data.name) {
						dataArray.push(data.name)
					}
					if (data.age) {
						dataArray.push(data.age)
					}
					if (data.email) {
						dataArray.push(data.email)
					}
					this.analysisList[0].value = dataArray.join('、')
				}
				
				// 工作经历
				if (data.workExperience?.length) {
					this.validInfoCount++
					let dataArray = data.workExperience.map(item => item.company)
					this.analysisList[1].value = dataArray.join('、')
				}
				
				// 教育经历
				if (data.education?.length) {
					this.validInfoCount++
					let dataArray = data.education.map(item => item.school)
					this.analysisList[2].value = dataArray.join('、')
				}
				
				// 个人优势
				if (data.selfEvaluation) {
					this.validInfoCount++
					this.analysisList[3].value = data.selfEvaluation
				}
			}
		},
		
		// 同步简历数据
		handleSync() {
			if (this.loading) return
			
			uni.showLoading({ title: '同步中' })
			this.loading = true
			this.$Request
				.postJson('/app/resumes/syncResumess', AIResumeData)
				.then(res => {
					if (res.code === 0) {
						this.showResumesAnalysis = false
						this.$queue.showToast('同步成功')
					} else {
						this.$queue.showToast('同步失败')
					}
				})
				.finally(() => {
					this.loading = false
					uni.hideLoading()
				})
		},
		
		// 清空数据
		clearResumeData() {
			this.analysisList.forEach(item => {
				item.value = ''
			})
		},
		
		showModal(content) {
			uni.showModal({
				title: '提示',
				content,
				showCancel: false
			})
		},
		
		// 通过文件地址解析简历
		analyserResumeByUrl(filePath) {
			this.showLoadCard = true
			this.$Request.getT('/app/resumes/resumesAnalysisAttach', {
				filePath
			}, null, 480000, true).then(res => {
				if (!res) {
					this.showModal('解析失败，请稍后重试')
					this.stopLoadStatus()
					return
				}
				if (res.code == 0 && res.data) {
					// 识别前，先清空数据
					this.clearResumeData()
					this.setAiResumesAnalysis(JSON.parse(res.data))
					
					this.getUserInfo()
				} else {
					this.showModal(res?.msg || '解析失败，请稍后重试')
				}
				
				this.stopLoadStatus()
			}).catch(err => {
				this.showModal('解析失败，请稍后重试')
				this.stopLoadStatus()
			})
		},
		
		// 获取微信上传配置数据
		getWXUploadConfigData() {
			this.$Request.getT('/app/dict/list', {
				type: '小程序入口'
			}).then(res => {
				if (res.code == 0 && res.data?.length > 0) {
					this.showWXUploadBtn = res.data[0].code == '开'
				}
			})
		}
	},
	// userphone(){
	// 	uni.navigateTo({
	// 		url:'/pages/my/userphone'
	// 	})
	// }

};
</script>

<style lang="scss" scoped>
page {
	/* background: #f6f6f6; */
}

.navbar {
	padding: 24rpx 32rpx 20rpx 32rpx;
	background: #fff;

	.navbar-content {
		display: flex;
		align-items: center;
		justify-content: space-between;
		height: 60rpx;

		.navbar-left {
			width: 60rpx;
			height: 60rpx;
			display: flex;
			align-items: center;
			justify-content: center;
		}

		.navbar-title {
			color: rgba(23, 23, 37, 1);
			font-family: DM Sans;
			font-size: 36rpx;
			font-weight: 700;
			line-height: 52rpx;
			letter-spacing: 0%;
			text-align: center;
		}

		.navbar-right {
			width: 60rpx;
			height: 60rpx;
		}
	}
}

button::after {
	border: none;
	background-color: none;
}

button {
	position: relative;
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-left: 0px;
	padding-right: 0px;
	box-sizing: border-box;
	text-decoration: none;
	line-height: 1.35;
	overflow: hidden;
	color: #666666;
	/* background-color: #fff; */
	background-color: rgba(255, 255, 255, 0) !important;
	width: 100%;
	height: 100%;
}

.contain {
	flex: 1;
	scroll-view {
		height: 100%;
	}
}

.usermain-item {
	display: flex;
	justify-content: space-between;
	margin: 0 40rpx;
	padding: 30rpx 0;
	// border-bottom: 1rpx solid rgba(229, 229, 229, 0.3);
	background: #fff;

	.fileContent {
		width: 85%;
		margin: 0 20rpx;
	}

	.fileName {
		color: #222;
		font-size: 32rpx;
	}

	.filedesc {
		margin-top: 10rpx;
		font-size: 24rpx;
	}

	.c-flex-center {
		align-self: center;
		color: #aaa;
		flex-shrink: 0;
	}

}

.usermain-item-title {
	color: rgba(31, 44, 55, 1);
	font-family: DM Sans;
	font-size: 28rpx;
	font-weight: 500;
	line-height: 44rpx;
	text-align: left;

	.header-icon {
		width: 50rpx;
		height: 50rpx;
		display: block;
	}
}

.usermain-item.item-padding {
	/* padding: 0; */
}

.cu-form-group {
	padding: 0;
	background: #ffffff;
	text-align: right;
}

.cu-form-group input {
	background: #ffffff;
	font-size: 28rpx;
	/* color: #fff; */

}

/* 姓名字段样式 - 参考basicInfo.vue */
.usermain-item .form-label {
	color: rgba(31, 44, 55, 1);
	font-family: DM Sans;
	font-size: 32rpx;
	font-weight: 500;
	line-height: 44rpx;
	letter-spacing: 0.5%;
	text-align: left;
	display: flex;
	align-items: center;
	margin-bottom: 16rpx;
}

.usermain-item .required-mark {
	color: #FF3B30;
	font-size: 36rpx;
	font-weight: 600;
	margin-right: 8rpx;
}

.usermain-item .cu-form-group {
	background: transparent;
	text-align: left;
	padding: 0;
}

.usermain-item .cu-form-group input {
	width: 100%;
	height: 68rpx;
	font-size: 28rpx;
	border: 1rpx solid rgba(227, 231, 236, 1);
	border-radius: 44rpx;
	color: rgba(23, 23, 37, 1);
	padding: 0 32rpx;
	background: #ffffff;
	font-family: DM Sans;
	font-weight: 400;
}

.usermain-item .cu-form-group input::placeholder {
	color: rgba(155, 155, 155, 1);
	font-size: 28rpx;
}

/* 联系方式样式 */
.contact-structure {
	border-bottom: none !important;
}

.contact-wrapper {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0;
	margin-top: 8rpx;
}

.phone-display {
	color: rgba(23, 23, 37, 1);
	font-family: DM Sans;
	font-size: 28rpx;
	font-weight: 400;
	line-height: 40rpx;
	letter-spacing: 0.5%;
}

.modify-link {
	color: rgba(24, 144, 255, 1);
	font-family: DM Sans;
	font-size: 28rpx;
	font-weight: 400;
	line-height: 40rpx;
	letter-spacing: 0.5%;
	cursor: pointer;
	text-decoration: none;
}

.modify-link:active {
	opacity: 0.7;
}

/* 头像编辑图标样式 */
.avatar-wrapper {
	position: relative;
	display: inline-block;
}

.edit-avatar-icon {
	position: absolute;
	bottom: 10rpx;
	right: 2rpx;
	width: 24rpx;
	height: 24rpx;
	// background: #fff;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
}

.avatar-button {
	position: relative;
	padding: 0;
	margin: 0;
	background: transparent;
	border: none;
}

.buttons {
	padding: 40rpx 40rpx 60rpx;
	.button {
		position: relative;
		flex: 1;
		height: 80rpx;
		line-height: 80rpx;
		text-align: center;
		border-radius: 80rpx;
		&:first-child {
			margin-right: 16rpx;
		}
	}
	.pain {
		color: rgba(1, 107, 246, 1);
		background: rgba(1, 107, 246, 0.1);
	}
	.primary {
		color: #fff;
		background: linear-gradient(90.00deg, rgba(13, 39, 247, 1),rgba(19, 193, 234, 1));
	}
	::v-deep .main {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		padding: 0;
		.upload-area {
			margin: 0;
			background: transparent;
		}
	}
}

/* 选择器样式 - 参考workExperience页面 */
.form-input-selector {
	width: 100%;
	height: 68rpx;
	padding: 0 40rpx;
	border: 1px solid rgba(227, 231, 236, 1);
	border-radius: 24px;
	background: rgba(255, 255, 255, 1);
	display: flex;
	align-items: center;
	justify-content: space-between;
	cursor: pointer;
	transition: all 0.2s ease;

	.placeholder {
		color: #999999;
		font-family: DM Sans;
		font-size: 28rpx;
		font-weight: 400;
		line-height: 40rpx;
	}

	text {
		color: rgba(23, 23, 37, 1);
		font-family: DM Sans;
		font-size: 28rpx;
		font-weight: 400;
		line-height: 40rpx;
	}
}

.arrow-down {
	color: rgba(96, 98, 102, 1);
	font-size: 24rpx;
	font-weight: 400;
	transform: scale(1.5);
}

.selector-group:active {
	background: #f5f7fa !important;
	transform: scale(0.99);
}

.white-btn {
	width: 600rpx;
	font-size: 32rpx;
	text-align: center;
	color: #016bf6;
	background-color: #fff;
	border-radius: 88rpx;
	margin: 32rpx auto 0;
}

.load-container {
	position: fixed;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 1);
	.loading-image {
		width: 100%;
		height: 100%;
	}
}
// 解析简历popup
.resume-popup {
	position: relative;
	padding: 70rpx 40rpx 40rpx;
	.title {
		font-size: 40rpx;
		font-weight: 700;
		line-height: 52rpx;
		color: #333;
		margin-bottom: 12rpx;
		text {
			color: #016bf6;
		}
	}
	.tip {
		font-size: 28rpx;
		line-height: 36rpx;
		color: #999999;
	}
	.info-list {
		.info-item {
			box-sizing: border-box;
			border: 1px solid rgba(242, 242, 242, 1);
			border-radius: 6px;
			background: rgba(250, 250, 250, 1);
			padding: 26rpx 24rpx;
			margin-top: 40rpx;
			.label {
				font-size: 28rpx;
				font-weight: 500;
				line-height: 1;
				color: rgba(51, 51, 51, 1);
			}
			.border {
				width: 1px;
				height: 20rpx;
				margin: 0 20rpx;
				background: rgba(234, 234, 234, 1);
			}
			.content {
				flex: 1;
				width: 0;
				overflow: hidden;
				text-overflow: ellipsis;
				white-space: nowrap;
				color: rgba(153, 153, 153, 1);
				font-size: 28rpx;
				line-height: 1;
			}
		}
	}
	.button {
		width: 600rpx;
		height: 88rpx;
		border-radius: 88rpx;
		background: linear-gradient(90.00deg, rgba(13, 39, 247, 1),rgba(19, 193, 234, 1));
		font-size: 32rpx;
		font-weight: 500;
		line-height: 88rpx;
		text-align: center;
		color: #fff;
		margin: 60rpx auto 0;
	}
	.close-button {
		position: absolute;
		top: 30rpx;
		right: 40rpx;
		width: 40rpx;
		height: 40rpx;
		border-radius: 40rpx;
		background: rgba(230, 230, 230, 1);
	}
}

// 简历解析提示弹窗
.popup-container {
	position: fixed;
	left: 0;
	top: 0;
	width: 100vw;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.4);
	.popup-content {
		padding: 40rpx 0;
		border-radius: 20rpx;
		background: #fff;
		.popup-title {
			font-size: 32rpx;
			font-weight: 600;
			line-height: 56rpx;
			color: rgba(16, 24, 40, 1);
			text-align: center;
			margin-bottom: 20rpx;
		}
		.tip-container {
			padding: 0 130rpx;
			color: rgba(96, 96, 96, 1);
			font-size: 28rpx;
			line-height: 36rpx;
		}
		.upload-tip {
			display: block;
			width: 654rpx;
			height: 802rpx;
		}
		.button-primary {
			height: 80rpx;
			border-radius: 80rpx;
			text-align: center;
			color: #fff;
			font-size: 32rpx;
			line-height: 80rpx;
			margin: 0 40rpx;
			background: linear-gradient(90.00deg, rgba(13, 39, 247, 1),rgba(19, 193, 234, 1));
		}
	}
}
</style>
