your_username 2 주 전
부모
커밋
eba033710c
9개의 변경된 파일1059개의 추가작업 그리고 17개의 파일을 삭제
  1. 6 2
      common/config.js
  2. 13 0
      my/order/pay.vue
  3. 7 0
      pages.json
  4. 2 12
      pages/jobManagement/jobManagement.vue
  5. 1 0
      pages/my/index.vue
  6. 6 3
      pages/talentSearch/index.vue
  7. 983 0
      pages/talentSearch/resumeDetail.vue
  8. 37 0
      pnpm-lock.yaml
  9. 4 0
      static/images/fujian.svg

+ 6 - 2
common/config.js

@@ -2,6 +2,8 @@ if (process.env.NODE_ENV !== 'development') {
 	//正式环境
 	const ROOTPATH = "https://yizhizan.edccc.cn/sqx_fast";
 	const ROOTPATH1 = "https://yizhizan.edccc.cn/sqx_fast";
+	// const ROOTPATH = "https://zp.xianmaxiong.com/sqx_fast";
+	// const ROOTPATH1 = "https://zp.xianmaxiong.com/sqx_fast";
 	const ROOTPATH2 = "wss://zp.xianmaxiong.com/wss/websocket/"; //联系客服
 	const ROOTPATH3 = "wss://zp.xianmaxiong.com/wss/chatSocket/"; //聊天
 	const ROOTPATH4 = "https://yizhizan.edccc.cn";
@@ -15,8 +17,10 @@ if (process.env.NODE_ENV !== 'development') {
 	};
 }else{
 	//测试环境
-	const ROOTPATH = "http://192.168.1.73:7155/sqx_fast";
-	const ROOTPATH1 = "http://192.168.1.73:7155/sqx_fast";
+	// const ROOTPATH = "http://192.168.1.73:7155/sqx_fast";
+	// const ROOTPATH1 = "http://192.168.1.73:7155/sqx_fast";
+	const ROOTPATH = "https://yizhizan.edccc.cn/sqx_fast";
+	const ROOTPATH1 = "https://yizhizan.edccc.cn/sqx_fast";
 	const ROOTPATH2 = "wss://zp.xianmaxiong.com/wss/websocket/"; //联系客服
 	const ROOTPATH3 = "wss://zp.xianmaxiong.com/wss/chatSocket/"; //聊天
 	const ROOTPATH4 = "http://192.168.1.73:7155";

+ 13 - 0
my/order/pay.vue

@@ -259,6 +259,19 @@
 			this.getInfo()
 		},
 		methods:{
+			//返回上一页
+			goBack() {
+				// 检查页面栈,如果没有可返回的页面,则跳转到职位管理
+				const pages = getCurrentPages()
+				if (pages.length > 1) {
+					uni.navigateBack()
+				} else {
+					// 如果没有可返回的页面,跳转到职位管理页面
+					uni.navigateTo({
+						url: '/pages/jobManagement/jobManagement'
+					})
+				}
+			},
 			//修改岗位
 			updataServeType(postPushId,type) {
 				let companyStatus = uni.getStorageSync('companyStatus')

+ 7 - 0
pages.json

@@ -200,6 +200,13 @@
 				"navigationStyle": "custom"
 			}
 		},
+		{
+			"path": "pages/talentSearch/resumeDetail",
+			"style": {
+				"navigationBarTitleText": "简历详情",
+				"navigationStyle": "custom"
+			}
+		},
 		{
 			"path": "pages/index/webView",
 			"style": {

+ 2 - 12
pages/jobManagement/jobManagement.vue

@@ -125,23 +125,13 @@ export default {
 	},
 	methods: {
 		goBack() {
-			// 检查页面栈,如果没有可返回的页面,则跳转到首页
-			const pages = getCurrentPages()
-			if (pages.length > 1) {
-				uni.navigateBack()
-			} else {
-				// 如果没有可返回的页面,跳转到首页
-				uni.switchTab({
-					url: '/pages/index/index'
-				})
-			}
+			uni.navigateBack()
 		},
 		// 切换菜单
 		tabChange(e) {
-			// u-tabs组件的change事件传递的是事件对象,需要获取index
 			const index = typeof e === 'number' ? e : e.index
 			this.tabIndex = index
-			this.jobList = []; // 置空列表,显示加载进度条
+			this.jobList = [];
 			this.page = 1;
 			this.getJobList();
 		},

+ 1 - 0
pages/my/index.vue

@@ -1002,6 +1002,7 @@ export default {
         url: "/pages/my/switchRoles",
       });
     },
+    
     // 在线客服
     goChat() {
       let that = this;

+ 6 - 3
pages/talentSearch/index.vue

@@ -45,7 +45,7 @@
 				class="talent-card" 
 				v-for="(talent, index) in talentList" 
 				:key="index"
-				@click="goToTalentDetail(talent)"
+				@click="goToResumeDetail(talent)"
 			>
 				<view class="talent-content">
 					<!-- 头像和基本信息 -->
@@ -314,9 +314,12 @@ export default {
 		},
 		
 		// 跳转到人才详情
-		goToTalentDetail(talent) {
+		goToResumeDetail(talent) {
 			console.log('查看人才详情:', talent)
-			// 这里可以跳转到人才详情页面
+			// 跳转到简历详情页面
+			uni.navigateTo({
+				url: `/pages/talentSearch/resumeDetail?resumeId=${talent.id || talent.resumeId || ''}`
+			})
 		}
 	}
 }

+ 983 - 0
pages/talentSearch/resumeDetail.vue

@@ -0,0 +1,983 @@
+<template>
+	<view class="resume-detail">
+		<!-- 顶部导航栏 -->
+		<view class="navbar">
+			<view class="navbar-content">
+				<view class="navbar-left" @click="goBack">
+					<u-icon name="arrow-leftward" size="38" color="#333"></u-icon>
+				</view>
+				<view class="navbar-title">简历详情</view>
+				<view class="navbar-right"></view>
+			</view>
+		</view>
+
+		<!-- 用户信息区域 -->
+		<view class="user-profile">
+			<view class="profile-header">
+				<view class="name-section">
+					<view class="user-name">{{resumeData.name || '李世明'}}</view>
+					<view class="status-tag">热门搜索</view>
+				</view>
+				<view class="avatar-container">
+					<image :src="resumeData.avatar || '../../static/logo.png'" class="user-avatar" mode="aspectFill"></image>
+					<view class="notification-badge"></view>
+				</view>
+			</view>
+			
+			<view class="current-job">
+                <image src="../../static/images/aixin.svg" class="job-icon" mode="aspectFit"></image>
+				<text class="job-text">{{resumeData.currentJob || '世迪贸易-亚马逊运营'}}</text>
+			</view>
+			
+			<view class="availability">
+				<text class="status-text">{{resumeData.status || '离职&随时到岗位'}}</text>
+			</view>
+			
+			<view class="summary-info">
+				<view class="summary-item">
+					<text class="summary-text">{{resumeData.experience || '4年'}}</text>
+				</view>
+				<view class="summary-item">
+					<text class="summary-text">{{resumeData.education || '本科'}}</text>
+				</view>
+				<view class="summary-item">
+					<text class="summary-text">{{resumeData.age || '25岁'}}</text>
+				</view>
+			</view>
+		</view>
+
+		<!-- 内容区域 -->
+		<view class="content-section">
+			<!-- 个人优势 -->
+			<view class="section-item">
+				<view class="advantage-content">
+					{{resumeData.advantage || '这是求职者的个人优势这是求职者的个人优势这是求职者的个人优势这是求职者的个人优势这是求职者的个人优势这是求职者的个人优势这是求职者的个人优。(最多展示三行)'}}
+				</view>
+			</view>
+			
+			<!-- 附件简历 -->
+			<view class="attachment-section">
+				<view class="attachment-btn">
+					<image src="../../static/images/fujian.svg" class="attachment-icon" mode="aspectFit"></image>
+					<text class="attachment-text">已上传附件简历</text>
+				</view>
+			</view>
+
+            <!-- 求职期望 -->
+            <view class="expectation-card">
+                <view class="card-header">
+                    <text class="header-title">求职期望</text>
+                </view>
+                
+                <view class="job-expectation">
+                    <text class="expectation-text">亚马逊店铺运营, 深圳</text>
+                    <text class="salary-range">24-36K</text>
+                </view>
+			</view>
+
+            <view class="jobRemarks-box-c-title flex align-center">
+				<image src="/static/images/index/ins.png" class="title-icon"></image>
+				<text>工作经历</text>
+			</view>
+
+			<!-- 工作经历 -->
+			<view class="work-experience-section">
+				<view class="section-header">
+					<view class="section-title">
+						<text class="required-mark">*</text>
+						<text class="required-title">工作经历</text>
+                        <view class="section-desc">请填写专属跨境行业的工作经验</view>
+					</view>
+					<view class="edit-icon">
+						<image src="../../static/images/index/Combined-Shape.svg" style="width: 48rpx;height: 48rpx;" mode=""></image>
+					</view>
+				</view>
+				
+				<view class="experience-list">
+					<view class="experience-item">
+						<view class="company-logo">
+							<image src="../../static/images/index/changsha.svg" class="logo-img" mode="aspectFit"></image>
+						</view>
+						<view class="experience-content">
+							<view class="job-info-row">
+								<view class="job-title">资深亚马逊运营</view>
+								<view class="job-department">运营部</view>
+							</view>
+							<view class="company-period-row">
+								<view class="company-name">深圳市世迪贸易科技有限公司</view>
+								<view class="work-period">2019.02-至今</view>
+							</view>
+							<view class="job-description">
+								负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析市场信息,竞争对手状况,并根据产品销售与排名变化,及时制定和调整产品的销售...
+							</view>
+							<view class="skill-tags">
+								<view class="tag">精品铺货</view>
+								<view class="tag">独立站</view>
+								<view class="tag">3C数码</view>
+								<view class="tag">品类运营</view>
+							</view>
+						</view>
+					</view>
+					
+					<view class="experience-item">
+						<view class="company-logo">
+							<image src="../../static/images/index/changsha.svg" class="logo-img" mode="aspectFit"></image>
+						</view>
+						<view class="experience-content">
+							<view class="job-info-row">
+								<view class="job-title">高级ebay运营</view>
+								<view class="job-department">运营部</view>
+							</view>
+							<view class="company-period-row">
+								<view class="company-name">深圳市世迪贸易科技有限公司</view>
+								<view class="work-period">2018.01-2019.01</view>
+							</view>
+							<view class="job-description">
+								负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析市场信息,竞争对手状况,并根据产品销售与排名变化,及时制定和调整产品的销售....
+							</view>
+							<view class="skill-tags">
+								<view class="tag">精品铺货</view>
+								<view class="tag">独立站</view>
+								<view class="tag">3C数码</view>
+								<view class="tag">品类运营</view>
+							</view>
+						</view>
+					</view>
+					
+					<view class="experience-item">
+						<view class="company-logo">
+							<image src="../../static/images/index/changsha.svg" class="logo-img" mode="aspectFit"></image>
+						</view>
+						<view class="experience-content">
+							<view class="job-info-row">
+								<view class="job-title">高级产品开发经理</view>
+								<view class="job-department">产品开发部</view>
+							</view>
+							<view class="company-period-row">
+								<view class="company-name">深圳虾皮科技有限公司</view>
+								<view class="work-period">2023.04 -至今</view>
+							</view>
+							<view class="job-description">
+								这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容这是简历填写的内容...
+							</view>
+							<view class="skill-tags">
+								<view class="tag">技能标签</view>
+								<view class="tag">技能标签</view>
+								<view class="tag">技能标签</view>
+								<view class="tag">技能标签</view>
+								<view class="tag">技能标签</view>
+								<view class="tag">技能标签</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+
+			<!-- 教育经历 -->
+			<view class="education-section">
+				<view class="section-header">
+					<view class="section-title">
+						<text>教育经历</text>
+					</view>
+					<view class="edit-icon">
+						<image src="../../static/images/index/Combined-Shape.svg" style="width: 48rpx;height: 48rpx;" mode=""></image>
+					</view>
+				</view>
+				
+				<view class="education-list">
+					<view class="education-item">
+						<view class="school-logo">
+							<image src="../../static/images/index/wuhan.svg" class="logo-img" mode="aspectFit"></image>
+						</view>
+						<view class="education-content">
+							<view class="school-name">武汉工程大学</view>
+							<view class="degree-info">硕士 • 高分子化学与物理 • 2014-2017</view>
+							<view class="education-description">
+								这是简历填写的内容这是简历填写的内容内容这是简历填写的内是简历填写的内容这是简历填写的内容...
+							</view>
+						</view>
+					</view>
+					
+					<view class="education-item">
+						<view class="school-logo">
+							<image src="../../static/images/index/wuhan.svg" class="logo-img" mode="aspectFit"></image>
+						</view>
+						<view class="education-content">
+							<view class="school-name">武汉工程大学</view>
+							<view class="degree-info">硕士 • 高分子化学与物理 • 2014-2017</view>
+							<view class="education-description">
+								这是简历填写的内容这是简历填写的内容这是简的内容这是的内容这是简历填写的内容这是简历填写的内容...
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+
+			<!-- 资格证书 -->
+			<view class="certificates-section">
+				<view class="section-header">
+					<view class="section-title">
+						<text>资格证书</text>
+					</view>
+				</view>
+				
+				<view class="certificates-grid">
+					<view class="certificate-tag" v-for="cert in resumeData.certificates || defaultCertificates" :key="cert">{{cert}}</view>
+				</view>
+			</view>
+
+			<!-- 专业技能 -->
+			<view class="skills-section">
+				<view class="section-header">
+					<view class="section-title">
+						<text>专业技能</text>
+					</view>
+				</view>
+				
+				<view class="skills-content">
+					{{resumeData.skills || '熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练使用熟练'}}
+				</view>
+			</view>
+		</view>
+
+		<!-- 底部操作按钮 -->
+		<view class="bottom-actions">
+			<view class="action-btn contact-btn" @click="contactCandidate">
+				<text>立即联系</text>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				resumeId: '',
+				resumeData: {},
+				defaultExpectations: [
+					{
+						title: '亚马逊运营总监',
+						salary: '30-40K',
+						type: '不限',
+						location: '深圳'
+					},
+					{
+						title: 'TikTok运营总监',
+						salary: '30-40K',
+						type: '精品铺货',
+						location: '深圳'
+					}
+				],
+				defaultWorkExperience: [
+					{
+						position: '资深亚马逊运营',
+						department: '运营部',
+						company: '深圳市世迪贸易科技有限公司',
+						period: '2019.02-至今',
+						description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析市场信息,竞争对手状况,并根据产品销售与排名变化,及时制定和调整产品的销售...',
+						skills: ['精品铺货', '独立站', '3C数码', '品类运营']
+					}
+				],
+				defaultEducation: [
+					{
+						school: '武汉工程大学',
+						degree: '硕士',
+						major: '高分子化学与物理',
+						period: '2014-2017',
+						description: '这是简历填写的内容这是简历填写的内容内容这是简历填写的内是简历填写的内容这是简历填写的内容...'
+					}
+				],
+				defaultSkills: ['Design & Creative', 'Wireframing UX', 'Figma', 'UI Design', 'Prototype', 'Adobe XD', 'UX Design', 'Front End'],
+				defaultCertificates: ['大学英语六级', '计算机职业资格', '初级会计师', '中级会计师', '高级会计师', '注册会计师']
+			}
+		},
+		onLoad(options) {
+			if (options.resumeId) {
+				this.resumeId = options.resumeId;
+				this.loadResumeData();
+			}
+		},
+		methods: {
+			goBack() {
+				uni.navigateBack();
+			},
+			loadResumeData() {
+				// 这里应该根据 resumeId 加载简历数据
+				// 暂时使用默认数据
+				console.log('加载简历数据:', this.resumeId);
+			},
+			contactCandidate() {
+				uni.showToast({
+					title: '功能开发中',
+					icon: 'none'
+				});
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.resume-detail {
+		min-height: 100vh;
+		padding-bottom: 120rpx;
+	}
+
+	// 顶部导航栏
+	.navbar {
+		background: #fff;
+		padding: 80rpx 0 40rpx 0;
+		
+		.navbar-content {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			padding: 0 30rpx;
+			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: 20px;
+                font-weight: 700;
+                line-height: 26px;
+                letter-spacing: 0%;
+                text-align: center;
+			}
+			
+			.navbar-right {
+				width: 60rpx;
+				height: 60rpx;
+			}
+		}
+	}
+
+	// 用户信息区域
+	.user-profile {
+		background: #fff;
+		padding: 30rpx;
+		
+		.profile-header {
+			display: flex;
+			justify-content: space-between;
+			align-items: flex-start;
+			margin-bottom: 20rpx;
+			
+			.name-section {
+				flex: 1;
+                display: flex;
+                align-items: center;
+                justify-content: flex-start;
+                gap: 12rpx;
+				
+				.user-name {
+                    color: rgba(58, 57, 67, 1);
+                    font-family: DM Sans;
+                    font-size: 48rpx;
+                    font-weight: 700;
+                    line-height: 60rpx;
+                    letter-spacing: 0px;
+                    text-align: left;
+                    margin-right: 12rpx;
+				}
+				
+				.status-tag {
+					background: rgba(252, 233, 220, 1);
+					color: rgba(1, 107, 246, 1);
+                    font-family: DM Sans;
+					font-size: 18rpx;
+					padding: 4rpx 8rpx;
+					border-radius: 8rpx;
+					display: inline-block;
+				}
+			}
+			
+			.avatar-container {
+				position: relative;
+				
+				.user-avatar {
+					width: 72rpx;
+					height: 72rpx;
+					border-radius: 50%;
+				}
+				
+				.notification-badge {
+					position: absolute;
+					top: 0;
+					right: 0;
+					width: 20rpx;
+					height: 20rpx;
+					background: #FF3B30;
+					border-radius: 50%;
+					border: 2rpx solid #fff;
+				}
+			}
+		}
+		
+		.current-job {
+			display: flex;
+			align-items: center;
+			gap: 8rpx;
+			margin-bottom: 12rpx;
+			
+			.job-icon {
+				width: 36rpx;
+				height: 36rpx;
+			}
+			
+			.job-text {
+                color: rgba(156, 164, 171, 1);
+                font-family: DM Sans;
+                font-size: 24rpx;
+                font-weight: 400;
+                line-height: 40rpx;
+                letter-spacing: 0.5%;
+                text-align: left;
+			}
+		}
+		
+		.availability {
+			display: flex;
+			align-items: center;
+			gap: 8rpx;
+			margin-bottom: 12rpx;
+			
+			.status-text {
+                color: rgba(156, 164, 171, 1);
+                font-family: DM Sans;
+                font-size: 24rpx;
+                font-weight: 400;
+                line-height: 32rpx;
+                letter-spacing: 0%;
+                text-align: left;
+			}
+		}
+		
+		.summary-info {
+			display: flex;
+			gap: 12rpx;
+			margin-right: 12rpx;
+			
+			.summary-item {
+				.summary-text {
+					color: rgba(153, 153, 153, 1);
+					font-family: DM Sans;
+					font-size: 20rpx;
+					font-weight: 400;
+					line-height: 20rpx;
+					letter-spacing: -0.5px;
+					text-align: left;
+					padding: 12rpx;
+					border-radius: 8rpx;
+					background: rgba(198, 198, 198, 0.1);
+				}
+			}
+		}
+	}
+
+	// 内容区域
+	.content-section {
+		padding: 0 30rpx 30rpx 30rpx;
+		
+		.section-item {
+			background: #fff;
+			border-radius: 12rpx;
+			padding: 30rpx;
+			margin-bottom: 20rpx;
+            box-sizing: border-box;
+			
+			.advantage-content {
+                color: rgba(97, 110, 124, 1);
+                font-family: DM Sans;
+                font-size: 26rpx;
+                font-weight: 400;
+                line-height: 32rpx;
+                letter-spacing: 0px;
+                text-align: left;
+			}
+		}
+		
+		.attachment-section {
+			margin-bottom: 20rpx;
+			
+			.attachment-btn {
+				background: rgba(246, 246, 246, 1);
+				border-radius: 8rpx;
+				padding: 20rpx;
+				display: flex;
+				align-items: center;
+				gap: 12rpx;
+				
+				.attachment-icon {
+					width: 32rpx;
+					height: 32rpx;
+				}
+				
+				.attachment-text {
+                    color: rgba(1, 107, 246, 1);
+                    font-family: DM Sans;
+                    font-size: 24rpx;
+                    font-weight: 400;
+                    line-height: 32rpx;
+                    letter-spacing: 0px;
+                    text-align: left;
+				}
+			}
+		}
+		
+		// 求职期望卡片样式
+		.expectation-card {
+			background: #ffffff;
+			border-radius: 12rpx;
+			padding: 30rpx;
+			margin-bottom: 20rpx;
+			box-sizing: border-box;
+			
+			.card-header {
+				margin-bottom: 20rpx;
+				
+				.header-title {
+                    color: rgba(34, 37, 42, 1);
+                    font-family: DM Sans;
+                    font-size: 32rpx;
+                    font-weight: 400;
+                    line-height: 48rpx;
+                    letter-spacing: 0px;
+                    text-align: left;
+				}
+			}
+			
+			.job-expectation {
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+				
+				.expectation-text {
+                    color: rgba(153, 153, 153, 1);
+                    font-family: DM Sans;
+                    font-size: 24rpx;
+                    font-weight: 500;
+                    line-height: 48rpx;
+                    letter-spacing: 0.5%;
+                    text-align: left;
+				}
+				
+				.salary-range {
+                    color: rgba(1, 107, 246, 1);
+                    font-family: DM Sans;
+                    font-size: 32rpx;
+                    font-weight: 700;
+                    line-height: 40rpx;
+                    letter-spacing: 0.5%;
+                    text-align: right;
+				}
+			}
+		}
+		
+		// 工作经历部分样式
+		.work-experience-section {
+			background: #fff;
+			border-radius: 12px;
+			padding: 30rpx;
+			margin-bottom: 20rpx;
+			box-sizing: border-box;
+			border: 1px solid rgba(1, 107, 246, 1);
+			
+			.section-header {
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				margin-bottom: 30rpx;
+				
+				.section-title {
+
+					display: flex;
+					align-items: center;
+					
+					.required-mark {
+						color: #FF3B30;
+						font-size: 18px;
+						font-weight: 600;
+						margin-right: 8rpx;
+					}
+
+                    .required-title {
+                        font-family: DM Sans;
+                        font-size: 28rpx;
+                        font-weight: 700;
+                        line-height: 52rpx;
+                        letter-spacing: 0%;
+                        text-align: left;
+                        margin-right: 12rpx;
+                    }
+					
+					text {
+						color: rgba(23, 23, 37, 1);
+						font-family: Inter;
+						font-size: 20px;
+						font-weight: 600;
+						line-height: 24px;
+					}
+				}
+				
+				.section-desc {
+                    color: rgba(1, 107, 246, 1);
+                    font-family: DM Sans;
+                    font-size: 20rpx;
+                    font-weight: 400;
+                    line-height: 44rpx;
+                    letter-spacing: 0%;
+                    text-align: left;
+				}
+			}
+			
+			.experience-list {
+				.experience-item {
+					display: flex;
+					padding: 24rpx 0;
+					border-bottom: 1rpx solid #F0F0F0;
+					
+					&:last-child {
+						border-bottom: none;
+					}
+					
+					.company-logo {
+						width: 90rpx;
+						height: 90rpx;
+						margin-right: 24rpx;
+						flex-shrink: 0;
+                        border-radius: 8px;
+                        background: rgba(246, 246, 246, 1);
+						
+						.logo-img {
+							width: 100%;
+							height: 100%;
+							border-radius: 8rpx;
+						}
+					}
+					
+					.experience-content {
+						flex: 1;
+						
+						.job-info-row {
+							display: flex;
+							align-items: center;
+							margin-bottom: 4rpx;
+						}
+						
+						.job-title {
+                            color: rgba(23, 23, 37, 1);
+                            font-family: DM Sans;
+                            font-size: 28rpx;
+                            font-weight: 400;
+                            line-height: 44rpx;
+                            letter-spacing: 0%;
+                            text-align: left;
+                            margin-right: 12rpx;
+						}
+						
+						.job-department {
+                            color: rgba(120, 130, 138, 1);
+                            font-family: DM Sans;
+                            font-size: 20rpx;
+                            font-weight: 400;
+                            line-height: 44rpx;
+                            letter-spacing: 0%;
+                            text-align: left;
+						}
+						
+						.company-period-row {
+							display: flex;
+							align-items: center;
+							justify-content: flex-start;
+							margin-bottom: 12rpx;
+                            gap: 12rpx;
+							padding: 12rpx 0;
+						}
+						
+						.company-name {
+							color: rgba(120, 130, 138, 1);
+							font-family: DM Sans;
+							font-size: 20rpx;
+							font-weight: 400;
+							line-height: 10px;
+							letter-spacing: 0.5%;
+							text-align: left;
+						}
+						
+						.work-period {
+							color: rgba(120, 130, 138, 1);
+							font-family: DM Sans;
+							font-size: 20rpx;
+							font-weight: 400;
+							line-height: 10px;
+							letter-spacing: 0.5%;
+							text-align: left;
+						}
+						
+						.job-description {
+                            color: rgba(120, 130, 138, 1);
+                            font-family: DM Sans;
+                            font-size: 16rpx;
+                            font-weight: 400;
+                            line-height: 24rpx;
+                            letter-spacing: 0%;
+                            text-align: left;
+						}
+						
+						.skill-tags {
+							display: flex;
+							flex-wrap: wrap;
+							gap: 8rpx;
+                            margin-top: 12rpx;
+							
+							.tag {
+								background: rgba(153, 153, 153, 0.1);
+								border-radius: 12rpx;
+								padding: 6rpx;
+                                color: rgba(102, 102, 102, 1);
+                                font-family: DM Sans;
+                                font-size: 16rpx;
+                                font-weight: 400;
+                                letter-spacing: 0%;
+                                text-align: left;
+							}
+						}
+					}
+				}
+			}
+		}
+		
+		// 教育经历部分样式
+		.education-section {
+			background: #fff;
+			border-radius: 12px;
+			padding: 30rpx;
+			margin-bottom: 20rpx;
+			box-sizing: border-box;
+			border: 1px solid rgba(227, 231, 236, 1);
+			
+			.section-header {
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+				margin-bottom: 30rpx;
+				
+				.section-title {
+					text {
+						color: rgba(23, 23, 37, 1);
+						font-family: Inter;
+						font-size: 20px;
+						font-weight: 600;
+						line-height: 24px;
+					}
+				}
+			}
+			
+			.education-list {
+				.education-item {
+					display: flex;
+					padding: 24rpx 0;
+					border-bottom: 1rpx solid #F0F0F0;
+					
+					&:last-child {
+						border-bottom: none;
+					}
+					
+					.school-logo {
+						width: 90rpx;
+						height: 90rpx;
+						margin-right: 24rpx;
+						flex-shrink: 0;
+						border-radius: 8px;
+						background: rgba(246, 246, 246, 1);
+						
+						.logo-img {
+							width: 100%;
+							height: 100%;
+							border-radius: 8rpx;
+						}
+					}
+					
+					.education-content {
+						flex: 1;
+						
+						.school-name {
+                            color: rgba(23, 23, 37, 1);
+                            font-family: DM Sans;
+                            font-size: 18px;
+                            font-weight: 400;
+                            line-height: 22px;
+                            letter-spacing: 0%;
+                            text-align: left;
+						}
+						
+						.degree-info {
+                            color: rgba(120, 130, 138, 1);
+                            font-family: DM Sans;
+                            font-size: 20rpx;
+                            font-weight: 500;
+                            line-height: 24px;
+                            letter-spacing: 0%;
+                            text-align: left;
+							padding: 12rpx 0;
+						}
+						
+						.education-description {
+                            color: rgba(120, 130, 138, 1);
+                            font-family: DM Sans;
+                            font-size: 20rpx;
+                            font-weight: 400;
+                            line-height: 16px;
+                            letter-spacing: 0%;
+                            text-align: left;
+						}
+					}
+				}
+			}
+		}
+		
+		// 资格证书部分样式
+		.certificates-section {
+			background: #fff;
+			border-radius: 12px;
+			padding: 30rpx;
+			margin-bottom: 20rpx;
+			box-sizing: border-box;
+			
+			.section-header {
+				margin-bottom: 30rpx;
+				
+				.section-title {
+					text {
+                        color: rgba(34, 37, 42, 1);
+                        font-family: DM Sans;
+                        font-size: 32rpx;
+                        font-weight: 400;
+                        line-height: 48rpx;
+                        letter-spacing: 0px;
+                        text-align: left;
+					}
+				}
+			}
+			
+			.certificates-grid {
+				display: flex;
+				flex-wrap: wrap;
+				gap: 12rpx;
+				
+				.certificate-tag {
+                    padding: 8rpx 16rpx;
+                    color: rgba(1, 107, 246, 1);
+                    font-family: DM Sans;
+                    font-size: 16rpx;
+                    font-weight: 400;
+                    line-height: 20rpx;
+                    letter-spacing: -0.5px;
+                    text-align: left;
+                    border-radius: 8rpx;
+                    background: rgba(252, 233, 220, 1);
+				}
+			}
+		}
+
+		// 专业技能部分样式
+		.skills-section {
+			background: #fff;
+			border-radius: 12px;
+			padding: 30rpx;
+			margin-bottom: 20rpx;
+			box-sizing: border-box;
+			
+			.section-header {
+				margin-bottom: 30rpx;
+				
+				.section-title {
+					text {
+                        color: rgba(34, 37, 42, 1);
+                        font-family: DM Sans;
+                        font-size: 32rpx;
+                        font-weight: 400;
+                        line-height: 48rpx;
+                        letter-spacing: 0px;
+                        text-align: left;
+					}
+				}
+			}
+			
+			.skills-content {
+                color: rgba(97, 110, 124, 1);
+                font-family: DM Sans;
+                font-size: 24rpx;
+                font-weight: 400;
+                line-height: 32rpx;
+                letter-spacing: 0px;
+                text-align: left;
+			}
+		}
+		
+		// 工作经历标题样式
+		.jobRemarks-box-c-title {
+			color: rgba(1, 107, 246, 1);
+			font-size: 32rpx;
+			padding: 8px 12px;
+			border-radius: 36px;
+			font-weight: 500;
+			background: rgba(246, 246, 246, 1);
+			display: flex;
+			align-items: center;
+			margin-bottom: 20rpx;
+			
+			.title-icon {
+				width: 32rpx;
+				height: 32rpx;
+				margin-right: 12rpx;
+			}
+			
+			text {
+				color: rgba(1, 107, 246, 1);
+				font-family: DM Sans;
+				font-size: 32rpx;
+				font-weight: 500;
+				line-height: 48rpx;
+				letter-spacing: 0px;
+				text-align: left;
+			}
+		}
+	}
+
+	// 底部操作按钮
+	.bottom-actions {
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		background: #fff;
+		padding: 30rpx;
+		box-shadow: 0 -2rpx 10rpx rgba(0,0,0,0.1);
+		
+		.action-btn {
+			width: 100%;
+			height: 88rpx;
+			border-radius: 44rpx;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+			font-size: 32rpx;
+			font-weight: 500;
+		}
+		
+		.contact-btn {
+			background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
+			color: #fff;
+		}
+	}
+</style>

+ 37 - 0
pnpm-lock.yaml

@@ -0,0 +1,37 @@
+lockfileVersion: '9.0'
+
+settings:
+  autoInstallPeers: true
+  excludeLinksFromLockfile: false
+
+importers:
+
+  .:
+    dependencies:
+      trtc-sdk-v5:
+        specifier: ^5.8.3
+        version: 5.13.0
+
+packages:
+
+  sdp@3.2.1:
+    resolution: {integrity: sha512-lwsAIzOPlH8/7IIjjz3K0zYBk7aBVVcvjMwt3M4fLxpjMYyy7i3I97SLHebgn4YBjirkzfp3RvRDWSKsh/+WFw==}
+
+  trtc-sdk-v5@5.13.0:
+    resolution: {integrity: sha512-taOimqLUmkp0wfgq1yrNGgOGJmnR/7nocsFNU+YRoiyr/L+Ish5jPcWFjbzEMrb3G734h8w9khgbQmN+4K7naA==}
+
+  webrtc-adapter@8.2.4:
+    resolution: {integrity: sha512-VwtwbYNKnVQW8koB9qb8YcxNwpSVHTvvKEZLzY6uQ3gFrA9E87VPbB5xE+m1AGwUjL1UgN35jRR9hQgteZI5bg==}
+    engines: {node: '>=6.0.0', npm: '>=3.10.0'}
+
+snapshots:
+
+  sdp@3.2.1: {}
+
+  trtc-sdk-v5@5.13.0:
+    dependencies:
+      webrtc-adapter: 8.2.4
+
+  webrtc-adapter@8.2.4:
+    dependencies:
+      sdp: 3.2.1

+ 4 - 0
static/images/fujian.svg

@@ -0,0 +1,4 @@
+<svg viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="16.000000" height="16.000000" fill="none">
+	<rect id="svg 57" width="16.000000" height="16.000000" x="0.000000" y="0.000000" />
+	<path id="矢量 56" d="M8.28678 1.31088C8.68377 1.31088 9.00559 1.63248 9.00559 2.02922L9.00559 5.22927C9.00559 5.52681 9.24695 5.76803 9.5447 5.76803L12.9618 5.76803C13.3588 5.76803 13.6806 6.08964 13.6806 6.48637L13.6806 13.0559C13.6806 14.1469 12.7956 15.0313 11.7039 15.0313L3.97672 15.0313C2.885 15.0313 2 14.1469 2 13.0559L2 3.28633C2 2.19531 2.885 1.31088 3.97672 1.31088L8.28678 1.31088L8.28678 1.31088ZM10.1502 7.39198C9.61177 6.85144 8.74022 6.8503 8.20041 7.38945L5.39986 10.1866L5.37778 10.209C4.65611 10.9536 4.65928 12.1456 5.39044 12.8862L5.41694 12.9125C6.16061 13.6373 7.34766 13.6305 8.08295 12.8915L10.7929 10.1624L10.7982 10.1569C10.9055 10.0431 10.9036 9.86341 10.7926 9.75194C10.6799 9.63866 10.4972 9.63878 10.3846 9.75219L7.67611 12.4799L7.65947 12.4964C7.14109 13.0007 6.31439 12.9952 5.80275 12.4801L5.79992 12.4772L5.78466 12.4615C5.28606 11.9398 5.29405 11.1103 5.80647 10.5985L8.60703 7.80133L8.61652 7.792C8.93153 7.48739 9.43209 7.49116 9.74252 7.80281C10.0556 8.11714 10.0566 8.62706 9.74475 8.94263L7.19408 11.5236L7.18834 11.5293C7.08066 11.6322 6.91042 11.6306 6.80466 11.5244C6.69428 11.4136 6.69262 11.2342 6.80095 11.1214L8.96523 8.86639L8.97042 8.86086C9.07578 8.74527 9.07089 8.56559 8.95805 8.45603C8.84341 8.34472 8.66075 8.34795 8.55008 8.46327L6.38578 10.7182L6.37606 10.7285C6.05884 11.0698 6.06703 11.604 6.397 11.9352C6.73008 12.2696 7.26962 12.2691 7.60209 11.9341L10.154 9.3518L10.1699 9.33542C10.6901 8.79172 10.6831 7.92705 10.1502 7.39198L10.1502 7.39198ZM9.76308 1.26563C9.84004 1.26562 9.90631 1.29223 9.96191 1.34545L13.6298 4.85694C13.7445 4.96675 13.7484 5.14873 13.6386 5.26344C13.6115 5.29176 13.5799 5.31362 13.5439 5.32901C13.5078 5.34441 13.4702 5.35211 13.431 5.35211L9.9787 5.35211C9.70084 5.35211 9.47558 5.12686 9.47558 4.84898L9.47558 1.55313C9.47558 1.39434 9.6043 1.26562 9.76308 1.26562L9.76308 1.26563Z" fill="rgb(1,107,246)" fill-rule="nonzero" />
+</svg>