Xiao_123 8 месяцев назад
Родитель
Сommit
f01bd9011c

+ 24 - 2
layout/components/authModal/login/index.vue

@@ -1,7 +1,7 @@
 <template>
   <view class="ss-p-30 head-box">
     <view class="head-title">欢迎来到门墩儿招聘</view>
-    <uni-segmented-control class="ss-m-t-60" :current="current" :values="items" style-type="text" active-color="#00897B" @clickItem="onClickItem" />
+    <uni-segmented-control class="ss-m-t-30" :current="current" :values="items" style-type="text" active-color="#00897B" @clickItem="onClickItem" />
     <view class="head-subtitle ss-m-t-10">未注册的手机号,验证后自动注册账号</view>
 
     <view class="ss-m-t-30">
@@ -50,6 +50,19 @@
       </uni-forms>
 
       <button class="send-button" @tap="handleLogin"> 登录/注册 </button>
+      <view class="agreement-box ss-flex ss-row-center">
+        <uni-icons size="20" :type="protocol ? 'checkbox-filled' : 'circle'" :color="protocol ? '#00897B' : '#ccc'" @tap.stop="protocol = !protocol"></uni-icons>
+        <view class="color-999 ss-flex ss-col-center ss-m-l-8 font-size-13">
+          我已阅读并遵守
+          <view class="color-primary" @tap.stop="handleToDetail('user')">
+            《用户协议》
+          </view>
+          <view class="agreement-text">与</view>
+          <view class="color-primary" @tap.stop="handleToDetail('privacy')">
+            《隐私协议》
+          </view>
+        </view>
+      </view>
     </view>
   </view>
 </template>
@@ -65,6 +78,7 @@ const items = ['短信登录', '账号登录']
 const current = ref(1)
 const accountLoginRef = ref()
 const smsLoginRef = ref()
+const protocol = ref(false)
 const state = ref({
   isMobileEnd: false, // 手机号输入完毕
   codeText: '获取验证码',
@@ -106,8 +120,17 @@ const handleCode = () => {
   getSmsCode('smsLogin', state.value.sms.phone)
 }
 
+// 查看协议详情
+const handleToDetail = (type) => {
+  const url = type === 'user' ? '/pagesB/agreement/user' : '/pagesB/agreement/privacy'
+  uni.navigateTo({
+    url
+  })
+}
+
 // 登录
 const handleLogin = async () => {
+  if (!protocol.value) return uni.showToast({ title: '请先阅读并同意用户协议和隐私政策', icon: 'none' })
   const validate = await unref(current.value === 0 ? smsLoginRef : accountLoginRef).validate()
   if (!validate) return
   await useUserStore.handleSmsLogin(current.value === 0 ? state.value.sms : state.value.account, current.value === 0 ? true : false)
@@ -131,6 +154,5 @@ const handleLogin = async () => {
   text-align: center;
   color: #00897B;
   margin-top: 30rpx;
-  margin-bottom: 100rpx;
 }
 </style>

+ 12 - 0
pages.json

@@ -82,6 +82,18 @@
 					"style": {
 						"navigationBarTitleText": "职位详情"
 					}
+				},
+				{
+					"path": "agreement/user",
+					"style": {
+						"navigationBarTitleText": "用户协议"
+					}
+				},
+				{
+					"path": "agreement/privacy",
+					"style": {
+						"navigationBarTitleText": "隐私协议"
+					}
 				}
 			]
 		}

+ 159 - 0
pagesB/agreement/privacy.vue

@@ -0,0 +1,159 @@
+<template>
+  <view class="wrap">
+    <view class="wrap-box">
+      <view class="text-center font-weight-bold font-size-20">门墩儿招聘隐私政策</view>
+      <view class="my tac">(本协议于2024年9月20日最新修订)</view>
+      <view>尊敬的用户: </view>
+      <view class="my">在您成为门墩儿招聘注册用户前,请您仔细阅读下面条款内容</view>
+      <view>版本更新提示: </view>
+      <view class="my">1、按照产品功能和业务场景重新梳理、归类了个人信息收集和使用情况。</view>
+      <view>正文: </view>
+      <view class="my">
+        门墩儿招聘非常重视用户的隐私和个人信息保护。您在使用我们服务时(如进行找工作、招聘、职业技能学习及职业问答活动等),我们可能会收集和使用您的相关信息。我们希望通过《门墩儿招聘隐私政策》(以下简称“本隐私政策”)帮助您了解我们会收集哪些信息、
+        为什么收集这些信息,会利用这些信息做些什么及如何保护这些信息。了解这些内容对于您行使隐私权及保护您的个人信息至关重要。请您在使用我们服务前仔细阅读此《门墩儿招聘隐私政策》并充分理解本隐私政策的全部内容,确定了解我们对您个人信息的处理规则。阅读过程中,如您有任何疑问,可联系我们进行咨询;一旦您继续访问或使用门墩儿招聘,
+        即表示您同意此等隐私政策,授权并接受我们按照本隐私政策的规定收集、保存、使用、共享、披露您的信息。如您不同意协议中的任何条款,您应立即停止访问门墩儿招聘及使用相关服务。
+      </view>
+      <view>本隐私政策适用于您通过任何方式(包括但不限于微信公众号、微信小程序等)对门墩儿招聘各项服务的访问和使用。另外,若您通过使用第三方产品和/或服务(如第三方账号)来使用门墩儿招聘服务,您的信息还应当适用该第三方的隐私政策。</view>
+      <view class="mt">本隐私政策的相关术语,在未作特别说明的情况下可参照《门墩儿招聘用户协议》。</view>
+
+      <view v-for="(item,index) in data" :key="index">
+        <uni-title type="h1" :title="item.title" color="#000"></uni-title>
+        <view>{{ item.describe }}</view>
+        <view v-for="(val,i) in item.subData" :key="i" class="mb">
+          <uni-title class="my" type="h2" :title="val.text" color="#000"></uni-title>
+          <view>{{ val.subText }}</view>
+          <view :class="{'my': val.content.length > 0}" v-for="(k,kIn) in val.content" :key="kIn">
+            <view :class="{'mb': k.content.length > 0, 'ml-10': k.content.length > 0}">{{ k.text }}</view>
+            <view :class="{'mb': k.subContent.length > 0}" v-for="(r,rIn) in k.subContent" :key="rIn">
+              <view :class="{'mb': k.subContent.length > 0, 'ml-10': k.subContent.length > 0}">{{ r }}</view>
+            </view>
+            <view>{{ k.endText }}</view>
+          </view>
+        </view>
+      </view>
+    </view>
+  </view>
+</template>
+
+<script setup>
+const data = [
+  {
+    title: '一、个人信息的收集及用途',
+    describe: '根据国家法律法规的规定,网络运营者为用户提供信息发布、即时通讯等服务,在与用户签订协议或者确认提供服务时,应当要求用户提供真实身份信息。用户不提供真实身份信息的,网络运营者不得为其提供相关服务。为了符合法律法规要求并更好地为您提供服务,我们将收集并使用您的个人信息。我们承诺将坚持“最小必要化”原则收集、使用、存储和传输用户信息,并通过用户协议和隐私政策告知您相关信息的使用目的和范围。',
+    subData: [
+      {
+        text: '(一)个人信息的定义',
+        subText: '个人信息,是指以电子或者其他方式记录的能够单独或者与其他信息结合识别特定自然人身份或者反映特定 自然人活动情况的各种信息,在本隐私政策中涉及的个人信息包括但不限于:',
+        content: [
+          { text: '1. 基本信息:包括个人姓名、年龄(生日)、性别、个人电话号码、行业、工作经历、教育经历、职业技能、所属公司等;'},
+          { text: '2. 个人身份信息:个人证件、面部特征等;'},
+          { text: '3. 账号信息:包括系统账号、IP地址、邮箱地址及与前述有关的密码等;'},
+          { text: '4. 个人常用设备信息:包括硬件型号、设备MAC地址、操作系统类型、AndroidID、软件安装列表等,详情请见《第三方SDK目录》'},
+          { text: '5. 个人位置信息:包括定位信息等;'},
+          { text: '6. 个人财产信息:包括交易和支付记录、账户及积分余额、各种优惠券、兑换券等;'},
+        ],
+        endText: '如无特别说明,本《隐私政策》中使用的特定词语,均遵循以上定义。'
+      },
+      {
+        text: '(二)为使用基本功能/服务用户须提供并授权平台收集、使用的信息',
+        subText: '在您使用平台基本功能/服务的过程中,我们可能会收集、保存和使用下列与您有关的信息。如果您不提供相关信息,您将无法使用平台的服务/具体功能。请您注意,您在使用平台服务/功能时所提供的所有个人信息,除非您删除或通过系统设置拒绝我们收集,否则将在您使用我们的产品与/或服务期间持续授权我们使用。部分个人信息的收集,需要您同意调取所使用设备的相应系统权限,具体参见第本条款第(五)部分需要您授权同意调取系统权限的情形。我们收集的您的个人信息类型会因产品/服务的内容不同而有所区别,具体以产品/服务实际提供为准。点击查看《门墩儿招聘已收集个人信息清单》。这些服务/功能包括但不限于:',
+        content: [
+          { 
+            text: '1. 用户注册',
+            subContent: [
+              '  1). 求职者:当您注册时,您需要至少向我们提供您本人的手机号码用于注册账号,我们可能会通过发送短信验证码、微信验证、支付宝验证、QQ验证等任意方式来验证您的身份是否有效。您可以自主设置您的账户密码,并补充个人基本信息包括用户名、个人姓名、性别、年龄、行业、工作经历、职业技能、所属公司以及相关信息等。这些信息均属于您的“账户信息”,您补充的账户信息将有助于我们为您提供个性化求职或招聘体验等',
+              '  2). 招聘者:当您注册时,您需要至少向我们提供您本人的邮箱或手机号用于注册账号,我们将通过发送邮箱验证码或手机短信的方式来验证您的身份是否有效;同时您还需要绑定您本人的手机号用于身份认证。您可以自主设置您的账户密码,并选择完善账号信息和绑定第三方账号(如微信、QQ、新浪微博、Apple账号等)。',
+              '  3). 请注意,您作为企事业单位或组织的招聘人员进行招聘者身份注册时,需要提供您的个人身份信息,包括但不限于身份证、护照和/或其他辅助证件,并进行实名认证(具体要求以注册页面的指示为准);另外,还需提供您所属的公司信息。如您不能或拒绝提供上述信息,将无法以招聘者身份完成注册。'
+            ]
+          },
+          { 
+            text: '2. 找工作',
+            subContent: [
+              '  1). 为了更好的为您匹配并推荐职位信息并让企业招聘负责人更好地发现您,我们将收集您的基本信息、个人上网记录、个人位置信息等。通过收集这些信息,平台将为您推荐更符合您的职位(例如与您所在城市、所在行业相匹配的职位)。',
+              '  2). 关于简历:由于本平台是连接求职者与用人者的中介信息平台及职业社区,如您作为求职者,您必须先完善您的个人在线简历后方可投递本网站上招聘企业发布的职位。个人在线简历包含前述个人基本信息以及其他因找工作所需提供的信息,如求职意向(期望职位、期望行业、期望城市和求职性质)、主要经历、图片作品等。当您注册成为求职者用户向平台上传附件简历或编辑在线简历,并选择了公开您的简历时,代表您已经同意:使用平台相应服务的招聘单位(及人员)可以通过我们的系统功能(如职位、行业、从业时间等关键词)发现您;对您感兴趣的招聘单位可以向您发送职位邀约,邀请您投递简历;购买了相应服务的用人者(及人员)拥有法律上许可的对您的简历进行查询、浏览、下载、使用、存储的权利;同时我们也有权根据您的简历特点、职业需求等匹配适合您的岗位,并帮您投递申请,以提高求职成功率。但是您仍然拥有通过系统隐私设置功能,选择是否完全公开您的简历或屏蔽某些招聘企业发现您的信息的权利,对于因此而引起的任何法律纠纷(包括但不限于招聘企业或人员错误或非法使用前述简历信息),本平台不承担任何法律责任',
+              '  3). 本平台致力于保护您的信息安全,针对上述内容您拥有通过系统的隐私设置功能,选择是否完全公开您的简历或屏蔽某些用人者/职业顾问发现您的信息的权利(具体见第四条第(二)款)。'
+            ]
+          },
+          { 
+            text: '3. 招聘',
+            subContent: [
+              '  1). 您在代表用人者注册招聘人员账号并入驻平台时提交的用人者相应资质材料(包括但不限于用人者的执照、用人单位出具的经办人员身份证明/委托证明等),并不属于您的个人信息,而是用于证明用人者的资质及用人者真实招聘需求。您作为用人者招聘人员代表企业在平台上提供的信息及使用平台所产生的信息,用人者均有权向平台申请获取或查看上述信息。',
+            ]
+          },
+          { 
+            text: '4. 沟通功能',
+            subContent: [
+              '  1). 平台为招聘企业及求职者之间提供了在线沟通的功能,为此平台需要使用双方的账号信息等。',
+            ]
+          },
+          { 
+            text: '5. 其它功能',
+            subContent: [
+              '  1). 依据《网络安全法》等相关法律法规规定,响应维护网络秩序和防欺诈的要求,您通过平台与他人在线沟通、拨打电话以及视频面试等商务场景下产生的文字、语音及视频等形式的沟通信息可能会被存储,但仅用于投诉举报的处理、安全风控及离线暂存功能的实现。本平台对该信息的采集、传输及存储均会采取加密、防泄露等相关措施。',
+            ]
+          }
+        ],
+        endText: '如无特别说明,本《隐私政策》中使用的特定词语,均遵循以上定义。'
+      },
+      {
+        text: '(三)需要您授权同意调取系统权限的情形',
+        subText: '',
+        content: [
+          { 
+            text: '1.为使您使用平台服务更加高效便捷,从而提升您在平台的服务使用体验,我们可能会通过您的设备收集和使用您的个人信息。如果您不授权这些具体应用权限,您依然可以使用平台提供的招聘、求职或职业问答等基本功能,但您可能无法充分使用这些可以为您带来高效便捷服务体验的附加功能。这些附加功能包括但不限于:',
+            subContent: [
+              '1).基于位置信息的个性化推荐功能:我们会收集您的位置信息(我们仅收集您当时所处的地理位置,但不会将您各时段的位置信息进行结合以判断您的行踪轨迹)来判断您所处的地点,为您推荐您所在区域的招聘信息。',
+              '2).基于摄像头(相机)的附加功能:您可以使用这个附加功能完成视频拍摄、拍照等功能,帮助您更好地使用在线沟通、言职问答等服务。',
+              '3).基于图片上传的附加功能:您可以在平台上传您的照片来设置头像、更好地使用招聘信息发布、在线沟通、言职问答等功能。',
+              '5).基于设备外部存储文件访问、读写、存储的附加功能:您可以调用您设备外部存储中的文件(比如文档文件、照片等)用于上传简历、编辑个人头像、进行在线沟通等;也可以相应下载、保存各类文件至外部存储中。',
+              '6).基于通知的附加功能:您开启通知权限后,平台才能向您发送各类服务通知(如职位推荐、其他招聘/求职用户的消息等)。'
+            ]
+          },
+          { text: '2.上述附加功能需要您在您的设备中向我们开启您的地理位置(位置信息)、相机(摄像头)、相册(图片库)、麦克风以及外部存储的访问权限。您可以在您的终端设备中逐项查看您上述权限的开启状态,并可以随时开启或关闭这些权限。请您注意,您开启这些权限即代表您授权我们可以收集和使用这些个人信息来实现上述的功能,您关闭权限即代表您取消了这些授权,则我们将不再继续收集和使用您的这些个人信息,也无法为您提供上述与这些授权所对应的功能。您关闭权限的决定不会影响此前基于您的授权所进行的个人信息的处理。'}
+        ],
+        endText: '如无特别说明,本《隐私政策》中使用的特定词语,均遵循以上定义。'
+      },
+      {
+        text: '(四) 从第三方获取您的个人信息',
+        subText: '我们可能从第三方获取您授权共享的账户信息(头像、昵称),并在您同意本隐私政策后将您的第三方账户与您的门墩儿招聘账户绑定,使您可以通过第三方账户直接登录并使用我们的产品与/或服务。我们会将依据与第三方的约定、对个人 信息来源的合法性进行确认后,在符合相关法律和法规规定的前提下,使用您的这些个人信息。',
+        content: [],
+        endText: ''
+      },
+      {
+        text: '(五) 个人信息去标识化后的使用',
+        subText: '在收集您的个人信息后,我们可以通过技术手段对数据进行去标识化处理,去标识化处理的信息将无法识别主体。您了解并同意,在此情况下我们有权使用已经去标识化的信息;并对您的个人信息进行脱敏处理的前提下,我们有权对用户数据库进行分析并予以商业化的利用。比如,我们会对我们服务使用情况进行统计,并可能会与公众或第三方共享这些统计信息,以展示互联网行业及招聘领域发展趋势等,但这些统计信息不包含您的任何身份识别信息。',
+        content: [],
+        endText: ''
+      }
+    ]
+  }
+]
+</script>
+
+<style scoped lang="scss">
+.wrap{
+  background-color: #f1f4f6;
+  padding: 30rpx;
+}
+.wrap-box{
+  font-size: 28rpx;
+  background-color: #fff;
+  border-radius: 12rpx;
+  padding: 20rpx;
+}
+.mb{
+  margin-bottom: 30rpx;
+}
+.my{
+  margin: 30rpx 0;
+}
+.tac{
+  text-align: center;
+}
+.ml-10{
+  margin-left: 30rpx;
+}
+.mt{
+  margin-top: 30rpx;
+}
+</style>

+ 190 - 0
pagesB/agreement/user.vue

@@ -0,0 +1,190 @@
+<template>
+  <view class="wrap">
+    <view class="wrap-box">
+      <view class="text-center font-weight-bold font-size-20">门墩儿招聘用户协议</view>
+      <view class="my tac">(本协议于2024年9月20日最新修订)</view>
+      <text>尊敬的用户,我们对《门墩儿招聘用户协议》进行了更新,此版本主要更新内容涉及门墩儿招聘企业账号身份和资质认证、推广营销相关规则等内容,请您仔细阅读更新后的条款。</text>
+      <view class="my">正文: </view>
+      <view>
+        《门墩儿招聘用户协议》(以下简称“本协议”)作为门墩儿招聘站(以下简称“本网站”)提供服务的依据,确定用户在何种条件、以何种方式使用本网站及本网站的服务(具体载体包括但不限于微信公众号平台、微信小程序等)。
+        请您认真阅读本协议(尤其是字体加粗及/或下划线的内容),当您点击“注册”或者“登录”或其他方式确认即表示您已经仔细阅读并完全理解、同意本协议项下的全部条款;如您对本协议的任何条款表示异议,您应当立即停止访问门墩儿招聘及使用相关服务。
+        用户根据自身需求可以向本平台购买付费服务/产品,相关服务/产品的部分或全部利用本网站所提供的互联网信息业务和增值业务,在遵守本用户协议的规定基础上还需遵守《门墩儿招聘在线增值服务协议》
+        (适用于在线支付购买的产品)、服务合同等付费服务涉及的特殊条款;您应当在购买前认真阅读,一旦购买付费服务即视为接受相关条款。
+      </view>
+      <view class="mb">
+        本协议包括基于本协议制定的各项规则,所有规则为本协议不可分割的一部分,与本协议具有同等效力。随着平台业务经营的发展及相关政策的变更,本网站用户协议将不时更新,我们会通过在网站公告、APP端推送、电子邮件等适当方式提醒您相关内容的更新。
+        您也可以随时访问我们的用户协议页面来获知最新版本。当您继续使用本网站及相关服务,则视为您接受协议的变更,否则您应当停止访问网站及使用服务。
+      </view>
+
+      <uni-title type="h1" title="一、服务描述及定义" color="#000"></uni-title>
+      <view class="mb">
+        本网站是连接求职者与用人者的中介信息平台及职业社区。“本网站”“本平台”“门墩儿招聘招聘”:指苏州识喜识谊信息科技有限公司(简称“门墩儿”)全权所有并运营的门墩儿招聘,载体包括但不限于微信公众号、微信小程序等。
+      </view>
+      <text>“用户”:指具有完全民事行为能力的门墩儿招聘使用者。用户身份包括“用人者”、“求职者”等。</text>
+      <view class="my">“用人者”:指有用人需求,具有用人资格,在本网站上发布招聘及相关信息的企事业单位或其他组织。</view>
+      <view>“求职者”:指利用本网站进行职位浏览、投递等等行为的个人。</view>
+      <view class="my">“账号”:指用户为使用本网站及相关服务而登记注册的用户身份识别信息;用户只有注册账号才能使用本网站的服务。</view>
+
+      <view v-for="(item,index) in data" :key="index">
+        <uni-title type="h1" :title="item.title" color="#000"></uni-title>
+        <view>{{ item.describe }}</view>
+        <view class="mb">{{ item.describe1 }}</view>
+        <view v-for="(val,i) in item.subData" :key="i" class="mb">
+          <uni-title class="my" type="h2" :title="val.text" color="#000"></uni-title>
+          <view>{{ val.subText }}</view>
+          <view :class="{'my': val.content.length > 0}" v-for="(k,kIn) in val.content" :key="kIn">
+            <view :class="{'mb': k.content.length > 0, 'ml-10': k.content.length > 0}">{{ k.text }}</view>
+            <view :class="{'mb': k.subContent.length > 0}" v-for="(r,rIn) in k.subContent" :key="rIn">
+              <view :class="{'mb': k.subContent.length > 0, 'ml-10': k.subContent.length > 0}">{{ r }}</view>
+            </view>
+            <view>{{ k.endText }}</view>
+          </view>
+        </view>
+      </view>
+    </view>
+  </view>
+</template>
+
+<script setup>
+const data = [
+  { 
+    title: '二、成为注册用户',
+    describe: '',
+    describe1: '',
+    subData: [
+      {
+        text: '(一)用户主体适格',
+        subText: '符合下列条件之一且未曾被本网站封禁账户的自然人或者组织可以注册成为本网站用户,但本网站不保证一定能够通过注册。',
+        content: [
+          { text: '  1. 具备完全民事行为能力的自然人。' },
+          { text: '  2. 符合中华人民共和国法律、行政法规、部门规章等规范性文件要求,合法设立并存续的企业、机关、社团、事业单位和其他组织,并且具有合法用人资格及真实招聘需求(统称为“用人者”);代表用人者进行注册的自然人需具备用人者的有效授权、并保证为职务行为。' }
+        ]
+      },
+      {
+        text: '(二)用户信息完备',
+        subText: '用户需要提供明确的联系方式、通讯地址、注册者真实姓名或名称、资质文件(如企业营业执照、个人身份证)等信息方能完成注册或使用本网站的服务。为了合法、合规地为用户提供更好的服务,本网站将不时调整用户需提交的信息。如用户不同意提供上述信息,则应当停止使用本网站的服务。用户保证以上信息真实、合法、准确,并同意本网站对其注册信息资料进行审查,并就相关疑问或问题进行解答。本网站将在必要的限度内收集、使用这些信息,并会妥善保存、处理这些信息,具体规则可参见《门墩儿招聘隐私政策》',
+        content: []
+      },
+      {
+        text: '(三)禁止入驻情形',
+        subText: '',
+        content: [
+          { 
+            text: '  1. 用人者入驻本平台需经过本平台审核,用人者有以下情形的不得入驻;如入驻之后出现此等情形的,平台有权对账户进行封禁,用人者违反法律、行政法规、部门规章、地方性法规等规范性文件,本网站的各项规则和协议以及社会公序良俗的,包括但不限于以下情形:' ,
+            subContent: [
+              ' 1). 涉嫌传销、赌博、色情、暴力、邪教与封建迷信、欺诈、非法集资等违法犯罪情形的;',
+              ' 2). 违法失信企业或法定代表人为失信被执行人的企业;',
+              ' 3). 被市监、工商、公安、税务、工信、网信、人社、外管、商委、海关等行政机关查处或行政处罚,情节严重的;',
+              ' 4). 涉嫌拖欠/未按法律规定支付薪资/劳务报酬或其他可能损害劳动者合法权益的情形;',
+              ' 5). 涉嫌以虚假招聘名义或其他不诚实的方式,实现招生等目的,在平台上发布与真实职位不符或存在虚假成分的招聘信息的;',
+              ' 6). 涉及其他违反法律、行政法规、部门规章等规范性文件的,以及违反社会公序良俗的。'
+            ],
+            endText: '对于上述情形,本网站将参考相关政府部门“黑名单”、用户的举报投诉、新闻媒体曝光、用人者提供的资质文件或说明文件等,并将依据常识及社会大众通常认知水平做出是否合规的判断而不必须依据公权力机关事后通知、查处、判决等文件。'
+          },
+          { 
+            text: '  2. 本网站有权要求用人者提供相应的资质文件(包括但不限于营业执照、经营许可证等),并依据常识及社会大众通常认知水平做出是否合规的判断而不必须依据公权力机关事后通知、查处、判决等文件。对于涉及经营劳务派遣、猎头业务(用户类型明示标记为猎头的除外)、招聘业务、职业教育培训业务的用人者,基于安全性、真实性、产品政策、行业竞争、利益冲突等原因,本平台保留拒绝注册或限制使用部分功能的权利。' 
+          }
+        ]
+      }
+    ]
+  },
+  {
+    title: '三、本网站的使用',
+    describe: '用户依据协议及本网站发布的相关规则,在本站进行找工作、招聘及职业问答、课程学习等活动,享受本网站的用户福利、接受本网站的资讯信息及使用其他服务,具体形式包括但不限于上传简历、发布招聘岗位、学习职业技能课程等。用户与平台基于服务各自享有必要的权利,承担相应的义务。',
+    describe1: '如用户违反下列条款中的各项承诺或触发各类行为限制,本网站有权立即采取下列一个或多个措施:立即停止提供服务;对相关信息予以下线、删除或要求整改;封禁用户账号;要求损害赔偿等。对于用户已支付的服务费用(如有),本网站不予退还。',
+    subData: [
+      {
+        text: '(一)用户承诺',
+        subText: '',
+        content: [
+          { text: '  1. 用户承诺使用“门墩儿招聘”仅用于用户自身招聘(含招聘宣传、雇主品牌建设)、找工作、职业技能学习以及进行职业问答等用途,不得偏离网站具体功能模块之目的。' },
+          { text: '  2. 为了使用本网站的服务,用户应当提供真实、合法、准确的信息,包括但不限于姓名或名称、个人身份证明、资质证明、通讯地址、职位信息、公司介绍等(为了进行招聘/求职活动,另一方用户通过本网站的特定功能可以查看此类信息)。用户承诺使用以上内容均出于自愿并已得到有效授权,且应如实描述和及时更新。'},
+          { text: '  3. 用户应妥善设置及保管自己的账户和密码(例如设置较为复杂的密码,不将密码泄露给任何人),该账户在本网站进行的所有操作和活动(包括但不限于信息浏览、上传简历、发布招聘相关等)均视为用户自身真实的意思表示。 尤其用人者应对其在本网站下账号及子账号的实际使用人(包括但不限于用人者员工)进行严格管理,并保证实际使用人严格遵守本网站的协议与规则,实际使用人在本网站上进行的任何行为均视为用人者行为,用人者就上述行为承担全部责任。'},
+          { text: '  4. 用户承诺使用本网站服务过程中的任何行为以及发布的相关信息均应严格遵守法律、法规等规范性文件、本网站的各项规则和协议以及社会公序良俗;并确保不侵犯任何第三人的合法权益(包括但不限于知识产权、商业秘密等),在使用本网站的服务过程中将最大程度的遵守诚实信用原则。'},
+          { text: '  5. 如用户违反上述承诺,导致自身、平台或第三人遭受任何损失的,应由其自行承担所有责任。'},
+          { text: '  6. 付费用户除应遵守本协议外,还应遵守付费服务对应的合同条款的约定。'}
+        ]
+      },
+      {
+        text: '(二)用户行为限制',
+        subText: '',
+        content: [
+          { text: '  1. 用户的行为(包括但不限于使用本网站过程中的所有行为、针对本网站所进行的任何行为、利用本网站服务进行的后续行为等)不得违反法律、行政法规、部门规章、地方性法规等规范性文件,本网站的各项规则和协议以及社会公序良俗。本网站有权依据常识及社会大众通常认知水平做出是否合规的判断而不必须依据公权力机关事后通知、查处、判决等文件。' },
+          { text: '  2. 用户不得在本网站或者利用本网站的服务制作、复制、发布、传播以下信息:反对宪法所确定的基本原则的;危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;损害国家荣誉和利益的;煽动民族仇恨、民族歧视、破坏民族团结的;破坏国家宗教政策,宣扬邪教和封建迷信的;散布谣言,扰乱社会秩序,破坏社会稳定的;散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;侮辱或者诽谤他人,侵害他人合法权利的;涉及政治敏感内容的;含有虚假、有害、胁迫、侵害他人隐私、骚扰、侵害、中伤、粗俗、猥亵、人身攻击、或其它有悖社会公序良俗令人反感的内容;对本网站可能造成严重负面影响的内容的;含有中国法律、法规、规章、条例以及任何具有法律效力的规范所限制或禁止的其它内容的;其他本网站认为不合适的内容。'},
+          { text: '  3. 用户不得破坏网站运营秩序,不得从事与本网站服务无关的行为,不得发布除招聘信息、自身简历、职业问答所必需信息外的其他内容。'},
+          { text: '  4. 用户不得以任何形式骚扰、侮辱、伤害其他用户。'},
+          { text: '  5. 用户不得以虚假信息注册账号,不得冒用、盗用、借用他人、关联机构或社会名人的名义注册或使用账号,或以虚伪不实的方式陈述或谎称与任何人或机构有关。'},
+          { text: '  6. 用户在未经本网站同意的情况下,不得转让或授权他人使用其所有的本网站账号。'},
+          { text: '  7. 用户不得使用任何机器人软件、脚本等其他方式,自动访问或登录本网站;未经许可,不得通过其他第三方工具或运营平台如外挂、插件、第三方招聘管理系统(ATS)等,接入、访问本网站或使用本网站服务,包括但不限于通过第三方软件登录门墩儿招聘账号、发布职位、浏览职位、收发简历等。'},
+          { text: '  8. 用户不得以任何手段或形式干扰本网站服务,包括但不限于利用技术手段恶意破坏网站、干扰或破坏与本网站相连线之服务器和网络、大量发布垃圾信息等。'},
+          { text: '  9. 用户不得以任何方式对本网站(以及已有或可能发布的相关App、微信公众号、微信小程序等平台服务载体)进行反向工程;未经网站允许,不得采取任何爬虫、抓取、批量检索等手段对公开或非公开网站信息进行复制、收集。'},
+          { text: '  10. 用户不得在未经本网站和招聘/找工作行为相对方的同意下,将本网站提供的服务和/或本网站的任何信息、资料以及在招聘找工作过程中任何信息、资料进行转让、出售、传播(包括但不限于以复制、修改、转发、收集、翻译等形式制作复制品、衍生品,或使其公布于众)或其他商业、非商业用途。'}
+        ]
+      },
+      {
+        text: '(三)用人者的特别保证',
+        subText: '',
+        content: [
+          { text: '  1. 对于用人者及其关联单位(包括但不限于分公司、子公司、独立事业部等)入驻本网站并使用招聘相关服务事宜,用人者承诺并担保如下: 用人者使用门墩儿招聘服务仅限用于经合法授权的有效招聘,承诺不利用服务从事其他事宜,包括但不限于收集求职者数据;将简历用作他用;以自身招聘为名实则招收学员或办理贷款等营利性活动;使用平台服务从事公司业务经营活动;利用平台服务中聊天沟通等功能进行广告营销等情形。用人者成功入驻后,不得出现本协议“禁止入驻情形”条款中所列举的禁止情形。用人者使用本网站服务,保证严格遵守平台用户协议、平台规则及与本网站签署的一切合同文件(如有)。在使用服务期间,保证不从事任何违反平台规则的业务、不发布任何违反平台规则的信息。' },
+          { text: '  2. 如用人者违反上述承诺,本网站有权立即停止提供服务并对用人者在平台上的公司主页和/或发布的信息进行封禁,且对于用人者已支付的服务费用或保证金(如有),本网站有权不予退还;若给本网站造成任何不良影响,用人者需负责赔偿,赔偿金额不低于伍拾万元整。'}
+        ]
+      },
+      {
+        text: '(四)找工作行为',
+        subText: '',
+        content: [
+          { text: '  1. 用户(求职者)可发布找工作相关信息,通过本网站简历模块完善个人简历及相关信息,也可上传独立简历。上述行为均为用户自行操作,本网站不对用户的简历做任何审查、修改或指导。' },
+          { text: '  2. 用户投递简历、利用本网站提供的沟通工具与用人者进行沟通的,应严格遵守本用户协议第三条第(二)款项下的全部规则,简历内容、沟通行为及沟通内容应仅限于找工作相关。用户不得利用简历投递、简历曝光、在线沟通等功能进行垃圾营销、广告宣传等非求职行为。'},
+          { text: '  3. 用户找工作,应当如实提供本人基本信息以及应聘岗位相关的知识、技能、工作经历等情况,保证遵守法律、法规对于服务期、从业限制、保密等方面的规定。如前述信息不实或行为违反法律法规的,用户自行承担相应的不利后果,包括被用人者不予录用或录用后解除劳动关系等。因此给用人者、本网站或第三人造成损失的,还应承担相应的赔偿责任。'},
+          { text: '  4. 本网站将不时举办某些专项活动,用于满足用人者特殊的招聘需求和求职者的职业发展需求。用户可能需要满足一定的要求,如工作经验、技能证书等,经过本网站一定审查,方可获得参与资格。'}
+        ]
+      },
+      {
+        text: '(五)招聘行为',
+        subText: '',
+        content: [
+          { text: '  1. 用户(用人者)通过本平台审核,并依据法律法规及本协议第二条第(二)款规定提供招聘简章、营业执照或有关部门批准设立的文件、经办人身份证件、用人单位的委托证明等资料后,方可发布招聘信息、进行招聘活动。' },
+          { text: '  2. 用户在本网站指定位置(包括本网站各级页面、为用人者生成的公司主页等)发布招聘相关信息,包括但不限于职位信息、公司简介(包含公司商标、名称、Logo、文字说明等)、配图等。上述行为均为用户自行操作。'},
+          { text: '  3. 用人者发布的信息除用于招聘所需的必要信息外不得有其他内容,包括但不限于自身产品或服务的推广、销售等。'},
+          { text: '  4. 本网站认为有必要的情况下,有权对用户发布的信息做出审查、指导,并有权要求用户做出解释、更正或说明。'},
+          { text: '  5. 用户应当确保发布的招聘信息真实合法。用户招聘信息不实或违规的,用户自行承担相应的不利后果。因此给求职者、本网站或第三人造成损失的,还应承担相应的赔偿责任。涉及违法或构成刑事犯罪的,依据法律法规承担相应的责任。'},
+          { text: '  6. 用户发布招聘信息或利用本网站提供的沟通工具与求职者进行沟通的,应严格遵守本用户协议第三条第(二)款项下的全部规则,另外还不得涉及以下内容:性别、地域等各类歧视;联系方式等内容;夸张性描述、夸大性承诺或虚假宣传;职位内容重复描述、无意义描述;多个职位相似;职位要求与职位描述不一致;侮辱、诽谤、骚扰、诋毁、攻击第三人的;虚假招聘信息;与招聘无关内容;其他可能违反国家法律法规、社会公序良俗或伤害求职者权益的情形。如用户违反上述要求,本网站有权立即采取下列一个或多个措施:立即停止提供服务;对相关信息予以下线、删除或要求整改;封禁用户账号;已支付的服务费用或保证金(如有)不予退还;损害赔偿,赔偿金额不低于伍拾万元整等。职位发布详情规则可查看《门墩儿招聘职位信息发布规则》。'}
+        ]
+      },
+      {
+        text: '(六)用户间保密',
+        subText: '用户对利用本网站服务进行找工作、招聘和职业问答活动,从而获取的其他用户的任何信息,负有保密的义务。保密的程度依据法律法规、用户间的合意以及一般人的合理注意义务决定。',
+        content: []
+      }
+    ]
+  }
+]
+</script>
+
+<style scoped lang="scss">
+.wrap{
+  background-color: #f1f4f6;
+  padding: 30rpx;
+}
+.wrap-box{
+  font-size: 28rpx;
+  background-color: #fff;
+  border-radius: 12rpx;
+  padding: 20rpx;
+}
+.mb{
+  margin-bottom: 30rpx;
+}
+.my{
+  margin: 30rpx 0;
+}
+.tac{
+  text-align: center;
+}
+.ml-10{
+  margin-left: 30rpx;
+}
+.mt{
+  margin-top: 30rpx;
+}
+</style>

+ 12 - 209
pagesB/positionDetail/index.vue

@@ -141,6 +141,11 @@
 				@close="uploadPopup.close()"
       ></uni-popup-dialog>
 		</uni-popup>
+
+    <!-- 职位分享 -->
+    <uni-popup ref="sharePopup" type="share">
+      <uni-popup-share title="分享到" @select="handleSelect"></uni-popup-share>
+    </uni-popup>
   </layout-page>
 </template>
 
@@ -164,10 +169,10 @@ import { dealDictObjData } from '@/utils/position'
 import { getAccessToken } from '@/utils/request'
 import { onLoad } from '@dcloudio/uni-app';
 
+const sharePopup = ref()
 const loading = ref(false)
 const loadingText = ref('加载中 . . . ')
 
-
 // 职位详情
 const info = ref({})
 const positionInfo = ref({})
@@ -252,7 +257,6 @@ const popupClose = () => {
   popup.value.close()
 }
 
-
 // 效验求职者是否有收藏该职位
 const isCollection = ref(false)
 const getCollectionStatus = async () => {
@@ -308,217 +312,16 @@ const handleUpload = () => {
 
 // 分享
 const handleClickShare = () => {
+  sharePopup.value.open()
+}
+
+const handleSelect = (e) => {
+  console.log(e, 'share')
   uni.showToast({ title: '正在努力建设中 . . .', icon: 'none', duration: 2000, })
 }
 
 </script>
 
 <style scoped lang="scss">
-.mb5 { margin-bottom: 5px; }
-.my5 { margin: 5px 0; }
-.my10 { margin: 10px 0; }
-.mt10 { margin-top: 10px; }
-.fs14 { font-size: 14px; }
-.fs15 { font-size: 15px; }
-.box {
-  padding: 10px 30rpx 100px;
-}
-
-.JobName {
-  color: #37576c;
-  font-size: 24px;
-  margin-right: 30px;
-  margin-top: 1px;
-  vertical-align: middle;
-  flex: 1;
-}
-
-.tagList {
-  width: 100%;
-  display: flex;
-  flex-wrap: wrap;
-  .tagListItem {
-    margin: 10rpx 10rpx 10rpx 0;
-  }
-}
-.topLine {
-  border-top: 1px solid #EDEDED;
-  // border-bottom: 1px solid #EDEDED;
-  padding-top: 10px;
-}
-.tag {
-  padding: 5px 10px;
-  background-color: #e2f0ef;
-  color: #00897B;
-  border-radius: 5px;
-  font-size: 14px;
-  margin-right: 8px;
-  margin-top: 4px;
-}
-.hirePrice {
-  padding: 5px 10px;
-  background-color: #fc6d5e63;
-  color: #ff250e;
-  border-radius: 5px;
-  font-size: 14px;
-  margin-left: 8px;
-  margin-top: 4px;
-}
-
-.htmlCss {
-  white-space: pre-wrap;
-  word-break: break-all;
-  line-height: 28px;
-  color: var(--color-333);
-  font-size: 15px;
-  text-align: justify;
-  letter-spacing: 0;
-}
-
-//底部按钮公用定位
-.bottom-sticky{
-  display: flex;
-  width:100vw;
-  position: fixed;
-  bottom:0;
-  left: 0;
-  background-image:linear-gradient(rgba(255,255,255,1),white);
-}
-
-.buttons{
-  width: 60vw;
-  height: 44px;
-  border-radius: 25px;
-  margin: 0;
-  color: #fff !important;
-  background-color: #00897b !important;
-}
-.disable { background-color: #00897bbe !important; color: #ffffffec !important;}
-
-.noMore{
-  margin: 20px 0;
-}
-
-.date-time{
-  color:#d9d0d2;
-  float: right;
-}
-
-.viewided-line {
-  width: 100%;
-  height: 1px;
-  background-color: #f0f2f7;
-  margin: 20px 0;
-
-}
-.avatarBox{
-	max-width: 40px;
-	max-height: 40px;
-  margin: 0 10px;
-}
-.avatar{
-	width: 40px;
-	height: 40px;
-}
-
-.sub-li-bottom {
-  display: flex;
-  justify-content:space-between;
-  align-items: center;
-  background: linear-gradient(90deg, #f5fcfc 0, #fcfbfa 100%);
-  font-size: 13px;
-  padding: 5px 30rpx;
-}
-
-.salary {
-  color: #fe574a;
-  line-height: 41px;
-  font-weight: 600;
-  height: auto;
-  display: inline-block;
-  vertical-align: sub;
-}
-.list-shape {
-	padding: 10px 30rpx 10px;
-  margin-top: 10px;
-  background-color: #fff;
-  .titleBox {
-    display: flex;
-    align-items: center;
-    justify-content: space-between;
-  }
-}
-.viewider-mx{
-	margin: 0 10rpx;
-}
-.viewider {
-	color:#e4d4d2;
-}
-
-//公司名称
-.cer-end{
-  position: absolute;
-  top: 85%;
-  right: 16%;
-}
-.cer-text{
-  text-decoration: underline;
-  margin: 0 5rpx;
-}
-//一行展示不全...
-.dis{
-	display: flex;
-	align-items: center;
-}
-.showPopup-more{
-	width: 26vw;
-	white-space: nowrap;
-	overflow: hidden;
-	text-overflow: ellipsis;
-}
-/* 列表触底暂无更多 */
-.noMore{ text-align:center; color:grey; }
-.mt { margin-top: 10rpx; }
-.mb { margin-bottom: 10rpx; }
-.ml { margin-left: 20rpx; }
-.mr { margin-right: 20rpx; }
-.mr-10{ margin-right: 10rpx; }
-.my-5{ margin: 5px 0; }
-
-
-// 选择简历
-.dialogBox {
-  .dialog-title {
-    display: flex;
-    justify-content: space-between;
-    align-items: center;
-    color:#767a82;
-    padding: 20rpx;
-    .title {
-      font-weight: bold;
-      margin-left: 10rpx;
-    }
-  }
-  .dialog-content{
-    padding: 20rpx;
-    padding-bottom: 50rpx;
-    .selected {
-      background-color: #00897b !important;
-    }
-  }
-  .selectOnline {
-    font-size: 14px;
-    color: #00897b;
-    text-align: center;
-    margin-top: 10rpx;
-  }
-  .dialog-bottom{
-    width: 100%;
-    height: 44px;
-    line-height: 44px;
-    text-align: center;
-    color: #fff !important;
-    background-color: #00897b !important;
-  }
-}
+@import '../../static/style/position/index.scss';
 </style>

+ 261 - 0
static/style/position/index.css

@@ -0,0 +1,261 @@
+@charset "UTF-8";
+.mb5 {
+  margin-bottom: 5px;
+}
+
+.my5 {
+  margin: 5px 0;
+}
+
+.my10 {
+  margin: 10px 0;
+}
+
+.mt10 {
+  margin-top: 10px;
+}
+
+.fs14 {
+  font-size: 14px;
+}
+
+.fs15 {
+  font-size: 15px;
+}
+
+.box {
+  padding: 10px 30rpx 100px;
+}
+
+.JobName {
+  color: #37576c;
+  font-size: 24px;
+  margin-right: 30px;
+  margin-top: 1px;
+  vertical-align: middle;
+  flex: 1;
+}
+
+.tagList {
+  width: 100%;
+  display: flex;
+  flex-wrap: wrap;
+}
+
+.tagList .tagListItem {
+  margin: 10rpx 10rpx 10rpx 0;
+}
+
+.topLine {
+  border-top: 1px solid #EDEDED;
+  padding-top: 10px;
+}
+
+.tag {
+  padding: 5px 10px;
+  background-color: #e2f0ef;
+  color: #00897B;
+  border-radius: 5px;
+  font-size: 14px;
+  margin-right: 8px;
+  margin-top: 4px;
+}
+
+.hirePrice {
+  padding: 5px 10px;
+  background-color: #fc6d5e63;
+  color: #ff250e;
+  border-radius: 5px;
+  font-size: 14px;
+  margin-left: 8px;
+  margin-top: 4px;
+}
+
+.htmlCss {
+  white-space: pre-wrap;
+  word-break: break-all;
+  line-height: 28px;
+  color: var(--color-333);
+  font-size: 15px;
+  text-align: justify;
+  letter-spacing: 0;
+}
+
+.bottom-sticky {
+  display: flex;
+  width: 100vw;
+  position: fixed;
+  bottom: 0;
+  left: 0;
+  background-image: linear-gradient(white, white);
+}
+
+.buttons {
+  width: 60vw;
+  height: 44px;
+  border-radius: 25px;
+  margin: 0;
+  color: #fff !important;
+  background-color: #00897b !important;
+}
+
+.disable {
+  background-color: #41a79d !important;
+  color: #ffffec !important;
+}
+
+.noMore {
+  margin: 20px 0;
+}
+
+.date-time {
+  color: #d9d0d2;
+  float: right;
+}
+
+.viewided-line {
+  width: 100%;
+  height: 1px;
+  background-color: #f0f2f7;
+  margin: 20px 0;
+}
+
+.avatarBox {
+  max-width: 40px;
+  max-height: 40px;
+  margin: 0 10px;
+}
+
+.avatar {
+  width: 40px;
+  height: 40px;
+}
+
+.sub-li-bottom {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  background: linear-gradient(90deg, #f5fcfc 0, #fcfbfa 100%);
+  font-size: 13px;
+  padding: 5px 30rpx;
+}
+
+.salary {
+  color: #fe574a;
+  line-height: 41px;
+  font-weight: 600;
+  height: auto;
+  display: inline-block;
+  vertical-align: sub;
+}
+
+.list-shape {
+  padding: 10px 30rpx 10px;
+  margin-top: 10px;
+  background-color: #fff;
+}
+
+.list-shape .titleBox {
+  display: flex;
+  align-items: center;
+  justify-content: space-between;
+}
+
+.viewider-mx {
+  margin: 0 10rpx;
+}
+
+.viewider {
+  color: #e4d4d2;
+}
+
+.cer-end {
+  position: absolute;
+  top: 85%;
+  right: 16%;
+}
+
+.cer-text {
+  text-decoration: underline;
+  margin: 0 5rpx;
+}
+
+.dis {
+  display: flex;
+  align-items: center;
+}
+
+.showPopup-more {
+  width: 26vw;
+  white-space: nowrap;
+  overflow: hidden;
+  text-overflow: ellipsis;
+}
+
+/* 列表触底暂无更多 */
+.noMore {
+  text-align: center;
+  color: grey;
+}
+
+.mt {
+  margin-top: 10rpx;
+}
+
+.mb {
+  margin-bottom: 10rpx;
+}
+
+.ml {
+  margin-left: 20rpx;
+}
+
+.mr {
+  margin-right: 20rpx;
+}
+
+.mr-10 {
+  margin-right: 10rpx;
+}
+
+.my-5 {
+  margin: 5px 0;
+}
+
+.dialogBox .dialog-title {
+  display: flex;
+  justify-content: space-between;
+  align-items: center;
+  color: #767a82;
+  padding: 20rpx;
+}
+
+.dialogBox .dialog-title .title {
+  font-weight: bold;
+  margin-left: 10rpx;
+}
+
+.dialogBox .dialog-content {
+  padding: 20rpx;
+  padding-bottom: 50rpx;
+}
+
+.dialogBox .dialog-content .selected {
+  background-color: #00897b !important;
+}
+
+.dialogBox .selectOnline {
+  font-size: 14px;
+  color: #00897b;
+  text-align: center;
+  margin-top: 10rpx;
+}
+
+.dialogBox .dialog-bottom {
+  width: 100%;
+  height: 44px;
+  line-height: 44px;
+  text-align: center;
+  color: #fff !important;
+  background-color: #00897b !important;
+}

Разница между файлами не показана из-за своего большого размера
+ 0 - 0
static/style/position/index.min.css


+ 207 - 0
static/style/position/index.scss

@@ -0,0 +1,207 @@
+.mb5 { margin-bottom: 5px; }
+.my5 { margin: 5px 0; }
+.my10 { margin: 10px 0; }
+.mt10 { margin-top: 10px; }
+.fs14 { font-size: 14px; }
+.fs15 { font-size: 15px; }
+.box {
+  padding: 10px 30rpx 100px;
+}
+
+.JobName {
+  color: #37576c;
+  font-size: 24px;
+  margin-right: 30px;
+  margin-top: 1px;
+  vertical-align: middle;
+  flex: 1;
+}
+
+.tagList {
+  width: 100%;
+  display: flex;
+  flex-wrap: wrap;
+  .tagListItem {
+    margin: 10rpx 10rpx 10rpx 0;
+  }
+}
+.topLine {
+  border-top: 1px solid #EDEDED;
+  // border-bottom: 1px solid #EDEDED;
+  padding-top: 10px;
+}
+.tag {
+  padding: 5px 10px;
+  background-color: #e2f0ef;
+  color: #00897B;
+  border-radius: 5px;
+  font-size: 14px;
+  margin-right: 8px;
+  margin-top: 4px;
+}
+.hirePrice {
+  padding: 5px 10px;
+  background-color: #fc6d5e63;
+  color: #ff250e;
+  border-radius: 5px;
+  font-size: 14px;
+  margin-left: 8px;
+  margin-top: 4px;
+}
+
+.htmlCss {
+  white-space: pre-wrap;
+  word-break: break-all;
+  line-height: 28px;
+  color: var(--color-333);
+  font-size: 15px;
+  text-align: justify;
+  letter-spacing: 0;
+}
+
+//底部按钮公用定位
+.bottom-sticky{
+  display: flex;
+  width:100vw;
+  position: fixed;
+  bottom:0;
+  left: 0;
+  background-image:linear-gradient(rgba(255,255,255,1),white);
+}
+
+.buttons{
+  width: 60vw;
+  height: 44px;
+  border-radius: 25px;
+  margin: 0;
+  color: #fff !important;
+  background-color: #00897b !important;
+}
+.disable { background-color: #41a79d !important; color: #ffffec !important;}
+
+.noMore{
+  margin: 20px 0;
+}
+
+.date-time{
+  color:#d9d0d2;
+  float: right;
+}
+
+.viewided-line {
+  width: 100%;
+  height: 1px;
+  background-color: #f0f2f7;
+  margin: 20px 0;
+
+}
+.avatarBox{
+	max-width: 40px;
+	max-height: 40px;
+  margin: 0 10px;
+}
+.avatar{
+	width: 40px;
+	height: 40px;
+}
+
+.sub-li-bottom {
+  display: flex;
+  justify-content:space-between;
+  align-items: center;
+  background: linear-gradient(90deg, #f5fcfc 0, #fcfbfa 100%);
+  font-size: 13px;
+  padding: 5px 30rpx;
+}
+
+.salary {
+  color: #fe574a;
+  line-height: 41px;
+  font-weight: 600;
+  height: auto;
+  display: inline-block;
+  vertical-align: sub;
+}
+.list-shape {
+	padding: 10px 30rpx 10px;
+  margin-top: 10px;
+  background-color: #fff;
+  .titleBox {
+    display: flex;
+    align-items: center;
+    justify-content: space-between;
+  }
+}
+.viewider-mx{
+	margin: 0 10rpx;
+}
+.viewider {
+	color:#e4d4d2;
+}
+
+//公司名称
+.cer-end{
+  position: absolute;
+  top: 85%;
+  right: 16%;
+}
+.cer-text{
+  text-decoration: underline;
+  margin: 0 5rpx;
+}
+//一行展示不全...
+.dis{
+	display: flex;
+	align-items: center;
+}
+.showPopup-more{
+	width: 26vw;
+	white-space: nowrap;
+	overflow: hidden;
+	text-overflow: ellipsis;
+}
+/* 列表触底暂无更多 */
+.noMore{ text-align:center; color:grey; }
+.mt { margin-top: 10rpx; }
+.mb { margin-bottom: 10rpx; }
+.ml { margin-left: 20rpx; }
+.mr { margin-right: 20rpx; }
+.mr-10{ margin-right: 10rpx; }
+.my-5{ margin: 5px 0; }
+
+
+// 选择简历
+.dialogBox {
+  .dialog-title {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    color:#767a82;
+    padding: 20rpx;
+    .title {
+      font-weight: bold;
+      margin-left: 10rpx;
+    }
+  }
+  .dialog-content{
+    padding: 20rpx;
+    padding-bottom: 50rpx;
+    .selected {
+      background-color: #00897b !important;
+    }
+  }
+  .selectOnline {
+    font-size: 14px;
+    color: #00897b;
+    text-align: center;
+    margin-top: 10rpx;
+  }
+  .dialog-bottom{
+    width: 100%;
+    height: 44px;
+    line-height: 44px;
+    text-align: center;
+    color: #fff !important;
+    background-color: #00897b !important;
+  }
+}

+ 21 - 15
uni_modules/uni-popup/components/uni-popup-share/uni-popup-share.vue

@@ -45,20 +45,25 @@
 						name: 'wx'
 					},
 					{
-						text: '支付宝',
-						icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/d684ae40-50be-11eb-8ff1-d5dcf8779628.png',
-						name: 'ali'
-					},
-					{
-						text: 'QQ',
-						icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/e7a79520-50be-11eb-b997-9918a5dda011.png',
-						name: 'qq'
-					},
-					{
-						text: '新浪',
-						icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/0dacdbe0-50bf-11eb-8ff1-d5dcf8779628.png',
-						name: 'sina'
-					},
+						text: '生成海报',
+						icon: 'https://minio.citupro.com/dev/menduner/down-icon.png',
+						name: 'poster'
+					}
+					// {
+					// 	text: '支付宝',
+					// 	icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/d684ae40-50be-11eb-8ff1-d5dcf8779628.png',
+					// 	name: 'ali'
+					// },
+					// {
+					// 	text: 'QQ',
+					// 	icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/e7a79520-50be-11eb-b997-9918a5dda011.png',
+					// 	name: 'qq'
+					// },
+					// {
+					// 	text: '新浪',
+					// 	icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/0dacdbe0-50bf-11eb-8ff1-d5dcf8779628.png',
+					// 	name: 'sina'
+					// },
 					// {
 					// 	text: '百度',
 					// 	icon: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/1ec6e920-50bf-11eb-8a36-ebb87efcf8c0.png',
@@ -134,10 +139,11 @@
 	.uni-share-content-box {
 		/* #ifndef APP-NVUE */
 		display: flex;
+		justify-content: space-around;
 		/* #endif */
 		flex-direction: row;
 		flex-wrap: wrap;
-		width: 360px;
+		width: 100%;
 	}
 
 	.uni-share-content-item {

Некоторые файлы не были показаны из-за большого количества измененных файлов