<template>
<view class="container">
<view class="content">
<view class="meisheng_first_aid">
<image src="../../static/login/logo.png" mode=""></image>
</view>
<view class="con_btn">
<button v-if="select" type="primary" style="display: flex; align-items: center; justify-content: center;" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber" >
<img style="width: 50rpx;height: 50rpx;margin-right: 20rpx; " src="/static/weixin.png" alt="" />
一键登录
</button>
<button v-else type="primary" style="display: flex; align-items: center; justify-content: center;" @click="yijianlogin" >
<img style="width: 50rpx;height: 50rpx;margin-right: 20rpx; " src="/static/weixin.png" alt="" />
一键登录
</button>
<button style="background-color: #fff; border: 2rpx solid #eee;" ref="primaryBtn" @click="zanBtn">暂不登录</button>
<view class="login_agreement">
<checkbox-group style="display: flex; align-items: center;" @click="selectValue">
<label>
<checkbox style="transform:scale(0.7)" :checked="select" />请阅读并同意
<text @click.stop="$refs.popup.open('center')">《隐私权政策》</text> 以及<text @click.stop="$refs.popup1.open('center')">《用户协议》</text>
</label>
</label>
</checkbox-group>
</view>
</view>
<u-toast ref="uToast"></u-toast>
<!-- 内部使用 -->
<view class="tips">
<uni-icons type="info" size="35rpx" color="#5581FF" style="margin-right: 5rpx;height:30rpx;width: 30rpx;margin-top: -10rpx;"></uni-icons><text>仅限内部人员使用</text>
</view>
</view>
<!-- 隐私协议对话框 -->
<!-- 登录成功弹出层 -->
<view class="popup">
<!-- 协议勾没勾选的弹出层 -->
<uni-popup ref="popup1" type="center" :animation="false" :mask-click="false" >
<view class="agreement">
<view class="agreement_title">
用户及隐私保护协议
</view>
<view class="agreement_content">
<view>
尊敬的用户,为了更好地保障您的合法权益,我们依据相关法律法规制定了用户注册使用协议、隐私保护指引以及个人信息授权书,请您在点击同意注册之前仔细阅读并充分理解相关条款,其中的重点条款已经为您标注,方便您了解自己的权利。我们将通过《隐私保护指引》以及《个人信息处理授权书》向您说明:
</view>
<view class="agreement_empty">
</view>
<view>
1、为了更好地为您提供服务,我们会根据您的授权,收集和使用对应的必要信息(如您的姓名、联系电话等);
</view>
<view>
2、您可以对上述信息进行访问、更正、删除为了更好地为您提供服务,我们会根据您的授权,收集和使用对应的必要信息(如您的姓名、联系电话等);
</view>
</view>
<button type="default" class="but_no" @click=" $refs.popup1.close()">取消</button>
</view>
</uni-popup>
<!-- 协议勾没勾选的弹出层 -->
<uni-popup ref="popup" type="center" :animation="false" :mask-click="false" >
<view class="agreement">
<view class="agreement_title">
龙源美生急救《隐私协议》
</view>
<view class="agreement_content">
<view>
龙源美生医疗科技(北京)有限公司作为龙源美生急救的运营者,龙源美生急救依据《中华人民共和国网络安全法》、《信息安全技术个人信息安全规范》(GB/T35273-2017)以及其他相关法律法规和技术规范收集和使用您的个人信息,以帮助我们向您提供更优质的产品和服务。《龙源美生急救隐私政策》(以下简称“本政策”)将透明地呈现我们收集和使用您个人信息的情况,以及您享有的对个人信息的控制权。我们承诺会对您的个人信息和其它数据进行严格保密,并严格按照本政策所阐述的内容处理您的个人信息。以下是《龙源美生急救隐私政策》的要点说明:
</view>
<view>
1.为帮助您注册并使用龙源美生急救相关产品和服务,我们可能收集与提供服务相关的个人信息,您有权拒绝或撤回授权。<br>
2.您可以访问、更正、删除您的个人信息,改变您授权同意的范围,注销您的帐号,我们为您提供了行使这些权利的途径。<br>
3.我们采取了互联网业内标准的技术措施和数据安全措施来保护您的个人信息安全。<br>
4.除非再次征得您的同意,我们不会将您的个人信息用于本政策未载明的其他目的。<br>
5.当您对本政策有任何疑问,可以和我们进一步联系与咨询。<br>
</view>
<view>
本隐私政策帮助您了解以下内容:<br>
1.我们如何收集和使用您的个人信息;<br>
2.我们如何共享、转让、公开披露您的个人信息<br>
3.我们如何保护您的个人信息;<br>
4.您管理个人信息的权利;<br>
5.我们发出的通知;<br>
6.对个人信息的存储;<br>
7.我们如何处理未成年人的个人信息;<br>
8.如何更新与修改本政策;<br>
9.争议解决;<br>
10.名词解释。<br>
</view>
<view>
一、我们如何收集和使用您的个人信息我们会遵循正当、合法、必要的原则,出于本政策所述的以下目的,收集和使用您在使用服务过程中主动提供或因使用龙源美生急救产品和/或服务而产生的个人信息。如果我们要将您的个人信息用于本政策未载明的其它用途,或基于特定目的将收集而来的信息用于其他目的,我们将以合理的方式向您告知,并在使用前再次征得您的同意。<br>
<view>1.帮助您成为我们的在线用户-:由于医疗行业的特殊性,我们在平台端为医护人员佩章账号,医护人员根据配置的账号进行登录即可。
登录后并同意《龙源美生急救用户协议》和本政策后,您可以使用龙源美生急救的核心业务功能。如果您选择不提供为实现龙源美生急救核心业务功能的必备信息或使用其中某类功能的必备信息,将导致我们无法为您提供该功能。为实现龙源美生急救的核心业务功能,我们可能需要向您收集个人信息。以下将详细列出龙源美生急救的核心业务功能及为实现该功能所需收集的个人信息,若您拒绝收集,则无法使用该服务。
</view>
<view>
2.1.1 使用功能。您可使用的内容包括智能建档、地图导航、任务记录、个人信息。为此,我们可能会收集您使用龙源美生急救时的设备信息,如设备型号、唯一设备标识符、操作系统、分辨率、电信运营商等软硬件信息。我们还可能收集您的浏览器类型,以此来为您提供信息展示的最优方案。此外,在您使用浏览功能的过程中,我们会自动收集您使用龙源美生急救的详细情况,并作为有关的网络日志保存,包括但不限于您输入的搜索关键词信息和点击的链接,您浏览的内容及评论信息,访问的日期和时间、及您请求的网页记录、操作系统、软件版本号、IP信息。<br>
2.2 向您提供龙源美生急救产品和/或服务的附加业务功能要您提供姓名、手机号码、电子邮件及其他联系方式等个人信息。如您拒绝提供上述信息,我们可能无法向您及时反馈投诉、申诉或咨询结果。
</view>
</view>
<view>
3.敏感信息<br>
<view>
在向龙源美生急救提供任何属于敏感信息的个人信息前,请您清楚考虑这种提供是恰当的并且同意您的个人敏感信息可按本政策所述的目的和方式进行处理。我们会在得到您的同意后收集和使用您的敏感信息以实现与龙源美生急救业务相关的功能,并允许您对这些敏感信息的收集与使用做出不同意的选择,但是拒绝使用这些信息会影响您使用相关功能。
</view>
</view>
<view>
3.征得授权同意的例外<br>
<view>
根据相关法律法规的规定,在以下情形中,我们可以在不征得您的授权同意的情况下收集、使用一些必要的个人信息:<br>
a.与国家安全、国防安全直接相关的;<br>
b.与公共安全、公共卫生、重大公共利益直接相关的;<br>
C.与犯罪侦查、起诉、审判和判决执行等直接相关的;<br>
d.出于维护您或其他个人的生命、财产等重大合法权益但又很难得到本人同意的;<br>
e.所收集的个人信息是您自行向社会公众公开的;<br>
f.从合法公开披露的信息中收集到您的个人信息,如从合法的新闻报道、政府信息公开等渠道;<br>
g.根据您的要求签订和履行合同所必需的;<br>
h.用于维护龙源美生急救的产品和/或服务的安全稳定运行所必需的,例如发现、处置产品或服务的故障;<br>
i.法律法规规定的其他情形。<br>
6.如果您对我们收集和使用您的个人信息的法律依据有任何疑问或需要提供进一步的信息,请通过「如何联系我们」一节提供的联系方式与我们联系。<br>
</view>
</view>
<view>二、我们如何共享、转让、公开披露您的个人信息</view>
<view>
1.共享您的个人信息
<view>
1.1我们不会与任何公司、组织和个人共享您的个人信息,但以下情况除外:<br>
1.1.1 事先询问并获得您的明确授权或同意:获得您的明确同意后,我们会与其他方共享您的个人信息;<br>
1.1.2 在法定情形下的共享:根据适用的法律法规、法律程序、政府的强制命令或司法裁定而需共享您的个人信息;<br>
</view>
</view>
<view>
2.转让
<view>
除非获取您的明确同意,我们不会将您的个人信息转让给任何公司、组织或个人。如果发生合并、收购或破产清算,将可能涉及到个人信息转让,此种情况下我们会要求新的持有您个人信息的公司、组织继续受本政策的约束。如果本政策中约定的个人信息的收集、处理方式发生任何改变,该公司、组织将重新向您征求授权同意。
</view>
</view>
<view>
3.公开披露
<view>
除非获取您的明确同意,我们不会公开披露您的个人信息。
基于法律、法律程序、诉讼或政府主管部门强制性要求的情况下,我们可能会向有权机关披露您的个人信息。但我们保证,在上述情况发生时,我们会要求披露请求方必须出具与之相应的有效法律文件,并对被披露的信息采取符合法律和业界标准的安全防护措施。
</view>
</view>
<view>
4.共享、转让、公开披露个人信息授权同意的例外
<view>
根据相关法律法规的规定,在以下情形中,我们可以在不征得您的授权同意的情况下共享、转让、公开披露您的个人信息:<br>
A.与国家安全、国防安全有关的;<br>
B.与公共安全、公共卫生、重大公共利益有关的;<br>
C.与犯罪侦查、起诉、审判和判决执行等有关的;<br>
D.出于维护您或其他个人的生命、财产等重大合法权益但又很难得到本人同意的;<br>
E.您自行向社会公众公开的个人信息;<br>
F.从合法公开披露的信息中收集到的个人信息的,如合法的新闻报道、政府信息公开等渠道。<br>
G.法律法规规定的其他情形。<br>
根据法律规定,共享、转让经去标识化处理的个人信息,且确保数据接收方无法复原并重新识别个人信息主体的,不属于个人信息的对外共享、转让及公开披露行为,对此类数据的保存及处理将无需另行向您通知并征得您的同意。<br>
</view>
</view>
<view>
三、我们如何保护您的个人信息
<view>
您的个人信息安全对于我们至关重要。我们将严格遵守相关法律法规,采取业内认可的合理可行的措施,保护您的个人信息。防止信息遭到未经授权的访问、披露、使用、修改,避免信息损坏或丢失。
</view>
</view>
<view>
1.技术措施与数据安全措施
<view>
我们努力采取各种符合业界标准的物理、电子和管理方面的安全措施来保护您的个人信息安全。我们积极建立数据分类分级制度、数据安全管理规范、数据安全开发规范来管理规范个人信息的存储和使用,确保未收集与我们提供的服务无关的个人信息。<br>
我们通过与信息接触者签署保密协议、监控和审计机制来对数据进行全面安全控制。防止您的个人信息遭到未经授权的访问、公开披露、使用、修改、损坏或丢失。<br>
我们已使用符合业界标准的安全防护措施保护您提供的个人信息,防止数据遭到未经授权的访问、公开披露、使用、修改,防止数据发生损坏或丢失。我们会采取一切合理可行的措施,保护您的个人信息。<br>
</view>
</view>
<view>
2.安全认证
<view>
我们与监管机构、第三方测评机构建立了良好的协调沟通机制,及时抵御并处置各类信息安全威胁,为您的信息安全提供全方位保障。<br>
</view>
</view>
<view>
3.安全事件处置
<view>
我们将尽力确保您发送给我们的任何信息的安全性,但请您理解,由于技术的限制以及在互联网行业可能存在的各种恶意手段,不可能始终保证信息百分之百的安全。您需要了解,您接入我们服务所用的系统和通讯网络,有可能因我们可控范围外的因素而出现问题。为防止安全事故的发生,我们制定了妥善的预警机制和应急预案。若不幸发生个人信息安全事件,我们将按照法律法规的要求,及时向您告知:安全事件的基本情况和可能的影响、我们已采取或将要采取的处置措施、您可自主防范和降低风险的建议和对您的补救措施,并立即启动应急预案,力求将损失最小化。我们将及时将事件相关情况以电话、推送通知等方式告知您,难以逐一告知用户时,我们会采取合理、有效的方式发布公告。同时,我们还将按照监管部门要求,主动上报个人信息安全事件的处置情况,紧密配合政府机关的工作。
</view>
</view>
<view>
四、您管理个人信息的权利
<view>
我们非常重视您对个人信息的关注,并尽全力保护您对于自己个人信息访问、更正、删除以及撤回同意的权利,以使您拥有充分的能力保障您的隐私和安全。
您的权利包括:<br>
1.访问和更正您的个人信息<br>
1.1 除法律法规规定外,您有权随时访问和更正您的个人信息,具体包括:您可通过APP上【我的→设置→修改密码],访问或者修改您用户名绑定的密码;<br>
2.删除您的个人信息<br>
如果您需要删除您在使用龙源美生急救过程中产生的个人信息,在合理要求下,我们会向您提供。在以下情形中,您可以向我们提出删除个人信息的请求:<br>
a.如果我们处理个人信息的行为违反法律法规;<br>
b.如果我们收集、使用您的个人信息,却未征得您的同意;<br>
C.如果我们处理个人信息的行为违反了与您的约定;<br>
d.如果您注销了龙源美生急救帐号;<br>
e.如果我们终止服务及运营。<br>
以上删除请求一旦被响应,我们还将同时通知从龙源美生急救获得您个人信息的第三方实体(例如药品供应商等),要求其及时删除,除非法律法规另有规定,或这些实体获得您的独立授权。当您从我们的服务中删除信息后,我们可能不会立即从备份系统中删除相应的信息,但会在备份更新时删除这些信息。<br>
3改变您授权同意的范围<br>
每个业务功能需要一些基本的个人信息才能得以完成。对于您个人信息的收集和使用,您可以随时通过以下方式给予或收回您的授权同意。您可通过[设置→消息提醒设置]来开启或关闭「通知推送」。当您收回同意后,我们将不再处理相应的个人信息,但请您理解,当您撤回同意或授权后,我们无法继续为您提供撤回同意或授权所对应的特定功能和/或服务。但您收回同意的决定,不会影响此前基于您的授权而开展的个人信息处理。<br>
</view>
</view>
<view>
4.设备权限调用
<view>
为了提供更便捷、更优质的服务,努力提升您的体验,我们在向您提供的以下服务中需要您开通以下的设备权限。基于电话(设备信息)的服务:我们会在您开启电话权限以便正常使用APP,我们使用设备标识码进行统计、账号安全风控。<br>
基于存储权限的服务:我们会在您开启存储权限以便正常使用APP,您可以上传病历、病情照片、影像资料,以实现更好咨询服务,或与客服联系上传就诊记录信息。<br>
基于相机/摄像头的附加服务:您可在开启相机/摄像头权限后使用该功能与医生进行视频。<br>
基于相册(图片库)的图片访问及上传的附加服务:您可在开启相册权限后使用该功能上传您的病历、病情照片、影像资料,以实现更好咨询服务,或与客服联系上传就诊记录信息。<br>
基于麦克风的语音技术相关附加服务:你可在开启麦克风权限后使用麦克风实现与语音录制进行语音问答。<br>
基于拔打电话的相关附加服务:你可在开启拨打电话权限后拨打电话联系客服、联系医生。<br>
您理解并同意,上述附加服务可能需要您在您的设备中开启您的摄像头(相机)、相册(图片库)、麦克风(语音)、拨打电话的访问权限,以实现这些权限所涉及信息的收集和使用。您可在您的设备设置查看上述权限的状态,并可自行决定这些权限随时的开启或关闭。请您注意,您开启任一权限即代表您授权我们收集和使用相关个人信息来为您提供对应服务,您一旦关闭任一权限即代表您取消了授权,我们将不再基于对应权限继续收集和使用相关个人信息,也无法为您提供该权限所对应的服务。但是,您关闭权限的决定不会影响此前基于您的授权所进行的信息收集及使用。<br>
6.获取个人信息副本您有权获取您的个人信息副本。<br>
7.响应您的上述请求为保障安全,我们可能会先要求您验证自己的身份,然后再处理您的请求。您可能需要提供书面请求,或以其他方式证明您的身份。对于您的请求,我们原则上将于15 日内做出答复。对于您合理的请求,我们原则上不收取费用,但对多次重复、超出合理限度的请求,我们将视情收取一定成本费用。对于那些无端重复、需要过多技术手段(例如,需要开发新系统或从根本上改变现行惯例)、给他人合法权益带来风险或者非常不切实际(例如,涉及备份磁带上存放的信息)的请求,我们可能会予以拒绝。<br>
在以下情形中,按照法律法规要求,我们将无法响应您的请求<br>
a.与国家安全、国防安全直接相关的<br>
b.与公共安全、公共卫生、重大公共利益直接相关的;<br>
C.与犯罪侦查、起诉、审判和判决执行等直接相关的;<br>
d.有充分证据表明您存在主观恶意或滥用权利的;<br>
e.响应您的请求将导致您或其他个人、组织的合法权益受到严重损害的。<br>
f.涉及商业秘密的。<br>
五、我们发出的通知<br>
1.通知及其他类别的通讯<br>
当您使用龙源美生急救服务时,我们可利用您的个人信息向您的设备发出推送通知。您可通过【设置→消息提醒设置]来选择是否接受我们的推送通知。<br>
2.与服务有关的公告<br>
我们可在我们认为必需时(例如当我们暂停龙源美生急救服务进行维修时)不时向您发出一些与服务有关的公告。您不可取消这些与服务有关、性质不属于推广的公告。<br>
六、对个人信息的存储<br>
我们将从中华人民共和国境内获得的信息存放于中华人民共和国境内。如果发生数据的跨境传输,我们会单独向您以弹窗或邮件的方式告知您数据出境的目的、接收方等,并征得您的授权同意,我们会确保数据接收方有充足的数据保护能力来保护您的个人信息。<br>
我们承诺您个人信息的存储时间始终处于合理必要期限内。在仅浏览功能下所收集的个人信息如浏览记录、IP 信息,我们的存储期限不会超过一个月。对于超出期限的个人信息,我们会立即删除或做匿名化处理。如我们因经营不善或其他原因出现停止运营的情况,我们会立即停止对您个人信息的收集,删除已收集的个人信息。我们会将此情况在网站上进行公告或以站内信、邮件等其他合理方式逐一传达到各个用户。<br>
八、如何更新与修改本政策<br>
1.本政策为《龙源美生急救用户协议》的重要组成部分。龙源美生急救保留不时更新或修改本政策的权利。<br>
2.未经您明确同意,我们不会削减您按照本政策所应享有的权利。我们会通过App客户端推送通知、弹窗形式等合理方式通知您,以便您能及时了解本政策所做的任何变更。<br>
3.对于重大变更,视具体情况我们可能还会提供更为显著的通知以说明本政策的具体变更内容。重大变更包括但不限于:<br>
a.我们的服务模式发生重大变化。如处理个人信息的目的、处理的个人信息类型、个人信息的使用方式等;<br>
b.我们在所有权结构、组织架构等方面发生重大变化。如业务调整、破产并购等引起的所有者变更等;<br>
C.个人信息共享、转让或公开披露的主要对象发生变化;<br>
d.您参与个人信息处理方面的权利及其行使方式发生重大变化;<br>
e.我们负责处理个人信息安全的责任部门、联络方式及投诉渠道发生变化;<br>
f.个人信息安全影响评估报告表明存在高风险时。<br>
4.若您不同意修改后的隐私政策,您有权并应立即停止使用龙源美生急救的服务。如果您继续使用龙源美生急救的服务,则视为您接受龙源美生急救对本政策相关条款所做的修改。<br>
九、争议解决<br>
1.因本政策以及我们处理您个人信息事宜引起的任何争议,建议您首先与我们协商解决;协商未能达成一致时,可诉至北京市海淀区人民法院。<br>
2.如果您认为我们的个人信息处理行为损害了您的合法权益,您也可向有关政府部门进行反映。<br>
十、名词解释<br>
本隐私政策中使用到的名词,在通常意义中有如下定义:<br>
1.个人信息:个人信息是指以电子或者其他方式记录的能够单独或者与其他信息结合识别自然人个人身份的各种信息,包括但不限于自然人的姓名、出生日期、身份证件号码、个人生物识别信息、住址、电话号码等。<br>
2.个人敏感信息:个人敏感信息是指一旦泄露、非法提供或滥用可能危害人身和财产安全,极易导致个人名誉、身心健康受到损害或歧视性待遇等的个人信息。例如,个人敏感信息包括身份证件号码、个人生物识别信息、银行账号、通信内容、健康生理信息等。<br>
3.设备:设备是指可用于访问龙源美生急救产品和/或服务的装置,例如台式计算机、笔记本电脑、平板电脑或智能手机。<br>
4.唯一设备标识符:唯一设备标识符(专属ID或UUID)是指由设备制造商编入到设备中的一串字符,可用于以独有方式标识相应设备(例如手机的IMEI 号)。唯一设备标识符有多种用途,其中可在不能使用Cookie(例如在移动应用程序中)时用以提供广告。<br>
5.IP地址:每台上网的设备都会指定一个编号,称为互联网协议(IP)地址。这些编号通常都是根据地理区域指定的。IP 地址通常可用于识别设备连接至互联网时所在的位置。<br>
6.信息收集技术:我们在《龙源美生急救隐私政策》中所述的“自动收集”包括以下方式:<br>
A.Web beacon(网络信标)Web beacon 是装嵌在网站或电邮内的电子图像文件案或其他技术,可用于计算访客数目、记录您是否及何时阅览电邮或网站,或用以使用某些Cookie。<br>
B. Log files (日志文件)Log files 储存自动收集的若干数据。该等数据包括互联网协议(IP)地址、浏览器类型、互联网服务提供商(ISP)、引用/退出页面、操作系统、日期/时间戳和点击流数据等。<br>
C.ET Tag (实体标签)ETTag 是在互联网浏览器与互联网服务器之间背后传送的HTTP协议标头,用以追踪个别使用者,使我们可更深入地了解和改善我们的服务。<br>
D.JavaScript JavaScript是一种编程语言,用于制作更具互动性和动态的网页。<br>
7.算法:计算机在执行解题运算时遵循的流程或一系列规则。<br>
8 应用数据缓存:应用数据缓存是指设备上的一种数据存储机制。使用它有很多好处,例如,可让网络应用在未连接互联网的情况下运行,以及可通过提高内容加载速度来改善相关应用的性能。<br>
9.使用浏览器进行网络存储:“使用浏览器进行网络存储”的机制可让网站将数据存储在设备上的浏览器中。如果在“本地存储”模式下使用该机制,则数据可存储在各个会话中。这样一来,即使在关闭并重新打开浏览器后,用户仍可以获取相应数据。有助于实现网络存储的技术之一就是HTML 5。<br>
10.帐户:只要注册帐号并向我们提供一些个人信息,您就可以使用我们的服务。当您访问龙源美生急救时,系统会利用这些帐号信息对您进行身份验证,以防止未经授权的人员访问您的帐号。<br>
11.非个人身份信息:记录的与用户相关的信息,但实际上不可直接或间接识别您身份的信息,包括经过去标识化、匿名化处理或化名方式提供的个人信息。<br>
12.去标识化:指通过对个人信息的技术处理,使其在不借助额外信息的情况下,无法识别个人信息主体的过程。<br>
13 匿名化:指通过对个人信息的技术处理,使得个人信息主体无法被识别,且处理后的信息不能被复原的过程。
14.服务器日志:与大多数网站一样,我们的服务器会自动记录您在访问网站时所发出的网页请求。这些“服务器日志”通常包括您的网络请求、互联网协议地址、浏览器类型、浏览器语言、请求的日期和时间。
</view>
</view>
</view>
<view class="agreement_but">
<button type="default" class="but_no" @click="notArgree">不同意</button>
<button type="primary" class="but_yes" @click="agree" open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">同意</button>
</view>
</view>
</uni-popup>
</view>
</view>
</template>
<script>
import {request} from '../../request/request.js'
export default {
data() {
return {
select:false,
type:'',
code:'',
userInfo1:{},
avatarUrl:'',
nickName:'',
sessionKey:'',
unionId:'',
username:'',
phone:'',
openId:'',
form:{
},
};
},
methods: {
selectValue1(e){
console.log(e,'e');
},
agree(){
this.select = !this.select
this.$refs.popup.close()
},
notArgree(){
this.select = false
this.$refs.popup.close()
},
// 一键登陆
yijianlogin(){
this.$refs.uToast.show({
message:'请先同意用户协议',
type: 'default',
duration:1000
})
setTimeout(() =>{
this.$refs.popup.open('center')
},1000)
},
selectValue(){
this.select = !this.select;
// this.select = !this.select
},
button(){
uni.switchTab({
url:'/pages/home/index'
})
},
zanBtn(){
uni.navigateTo({
url:"/pages/index/index"
})
// 清空所有数据
uni.clearStorageSync();
},
async loginAndGetUserInfo() {
try {
uni.showLoading({
title: '加载中'
});
const res1 = await new Promise((resolve, reject) => {
uni.login({
provider: 'weixin',
success: (res1) => resolve(res1),
fail: (err) => reject(err)
});
});
const res2 = await request({url:'/user/code2Session', data:{code:res1.code}});
this.openId = res2.openid;
this.sessionKey = res2.session_key;
if (this.sessionKey) {
const res = await new Promise((resolve, reject) => {
uni.getUserInfo({
success: (res) => resolve(res),
fail: (err) => reject(err)
});
});
console.log(res,'res');
const userInfo = res.userInfo;
const encryptedData = res.encryptedData;
const iv = res.iv;
const wxEncryptedForm = {
encryptedData,
iv,
sessionKey: this.sessionKey
};
const data = await request({url:'/user/encryptedData', method:'POST', data:wxEncryptedForm});
const form = {
sessionKey: this.sessionKey,
avatarUrl: data.avatarUrl,
nickName: data.nickName,
unionId: '',
username: uni.getStorageSync('userName'),
phone: '',
openId: this.openId
};
return form;
}
} catch (error) {
throw error;
}
},
subtractMinutes(timestamp, minutes) {
// / 将时间戳转换为毫秒
let milliseconds = timestamp * 1000;
// 将分钟数转换为毫秒
let millisecondsToSubtract = minutes * 60 * 1000;
// 执行减法操作
let newTimestamp = milliseconds + millisecondsToSubtract;
// 将结果转换回秒
return Math.floor(newTimestamp / 1000);
},
// 一键登录
async getPhoneNumber(e){
console.log(e,'e');
if (e.detail.errMsg === 'getPhoneNumber:fail user deny') {
return;
}
try {
if(this.select){
const data1 = await this.loginAndGetUserInfo();
const code = e.detail.code;
const res = await request({url:'/getPhoneNumber', data:{code}});
const data = { ...data1, phone: res.purePhoneNumber };
const loginRes = await request({url:'/login', method:'POST', data});
const newdata = this.subtractMinutes(new Date().getTime(),loginRes.expire / 1000 / 60 - 1 )
uni.setStorageSync('newdata',newdata)
uni.setStorageSync('loginRes',JSON.stringify(loginRes))
uni.setStorageSync('token',loginRes.access_token)
uni.setStorageSync('openid',loginRes.openid)
// 可以加上lodoing
uni.redirectTo({
url:'/pages/home/index'
})
}
} catch (error) {
console.error(error);
}
},
}
}
</script>
<style lang="scss" scoped>
// ::v-deep .data-v-3426c4e6 {
// height: 10rpx;
// width: 10rpx;
// }
// 服务协议弹出层
.agreement {
width: 594rpx;
height: 779rpx;
background: #FFFFFF;
border-radius: 20rpx 20rpx 20rpx 20rpx;
position: relative;
text-align: left;
font-style: normal;
text-transform: none;
.agreement_title {
width: 401rpx;
height: 34rpx;
font-weight: 400;
font-size: 34rpx;
color: #141414;
line-height: 34rpx;
position: absolute;
left: 117rpx;
top: 45rpx;
}
.agreement_content {
width: 493rpx;
height: 505rpx;
font-weight: 400;
font-size: 26rpx;
color: #141414;
line-height: 40rpx;
position: absolute;
left: 50rpx;
top: 115rpx;
margin-top: 26rpx;
overflow-y: auto;
.agreement_empty {
height: 15rpx;
}
}
.agreement_but {
width: 493rpx;
height: 85rpx;
position: absolute;
left: 42rpx;
top: 657rpx;
display: flex;
justify-content: space-between;
align-items: center;
button {
width: 230rpx;
height: 82rpx;
border-radius: 40rpx 40rpx 40rpx 40rpx;
text-align: center;
line-height: 82rpx;
font-weight: 400;
font-size: 32rpx;
}
.but_no {
background: #F3F5F7;
color: #141414;
}
.but_yes {
background: #538DEB;
color: #FFFFFF;
}
}
}
.login_agreement {
width: 500rpx;
height: 20rpx;
margin-left: 20rpx;
margin-top: -20rpx;
font-weight: 400;
font-size: 18rpx;
color: #666666;
line-height: 20rpx;
text-align: left;
font-style: normal;
text-transform: none;
display: flex;
align-items: center;
}
.login_agreement text {
color: #F34141;
}
.container {
height: 100%;
position: relative;
}
.custom-header {
height: 77rpx;
background-color: #fff;
color: black;
display: flex;
align-items: center;
padding-top: 10rpx;
}
.uni_back{
margin-left: 25rpx;
}
.left-icon {
font-size: 20rpx;
color: #141414;
// width: 59rpx;
height: 29rpx;
line-height: 29rpx;
font-weight: 400;
font-size: 30rpx;
}
.content{
position: relative;
.meisheng_first_aid{
position: absolute;
top: 300rpx;
left: 273rpx;
width: 205rpx;
height: 158rpx;
image{
width: 100%;
height: 100%;
}
}
.con_btn{
width: 447rpx;
height: 309rpx;
position: absolute;
left: 150rpx;
top: 614rpx;
display: flex;
flex-wrap: wrap;
justify-content: center;
align-content: space-around;
button{
width: 325rpx;
height: 75rpx;
border-radius: 35rpx;
line-height: 75rpx;
font-size: 20rpx;
font-style: 400;
}
}
//提示信息
.tips{
position: absolute;
left: 250rpx;
top:1250rpx;
width: 250rpx;
height: 60rpx;
color: #5581FF;
font-size: 26rpx;
display: flex;
align-items: center;
justify-content: center;
}
}
.popup-content{
height: 600rpx;
}
//弹出层
.popup_my{
width: 749rpx;
height: 701rpx;
background: #fff;
border-radius: 20rpx 20rpx 0rpx 0rpx ;
display: flex;
flex-wrap: wrap;
justify-content: center;
box-sizing: border-box;
.popup_my_title{
width: 669rpx;
height: 80rpx;
display: flex;
justify-content: space-between;
align-items: center;
.title_name{
display: flex;
font-weight: 400;
font-size: 32rpx;
color: #141414;
.title_name_icon{
width: 54rpx;
height: 54rpx;
background: #548DEB;
border-radius: 50%;
margin-right: 20rpx;
}
}
}
.popup_my_message{
width: 669rpx;
height: 80rpx;
font-weight: 700;
font-size: 32rpx;
color: #141414;
border-bottom: 1rpx solid #ccc;
}
.popup_my_name{
width: 669rpx;
height: 90rpx;
border-bottom: 1rpx solid #ccc;
display: flex;
justify-content: space-between;
align-items: center;
padding-bottom: 40rpx;
.my_name_icon{
display: flex;
.my_name_img{
width: 93rpx;
height: 92rpx;
background: #A3C7AF;
border-radius: 8rpx 8rpx 8rpx 8rpx;
margin-right: 20rpx;
}
}
}
.popup_my_other{
width: 669rpx;
height: 60rpx;
color: #548DEB;
font-weight: 400;
font-size: 32rpx;
}
.popup_my_btn{
width: 669rpx;
height: 60rpx;
display: flex;
justify-content: space-around;
align-items: center;
button{
width: 250rpx;
height: 80rpx;
}
}
}
</style>