if (typeof jQuery == 'undefined') { document.write(unescape("%3Cscript src='//passport.pai2345.com/static/js/jquery.min.js' type='text/javascript'%3E%3C/script%3E")); } if (typeof WxLogin == 'undefined') { document.write(unescape("%3Cscript src='//res.wx.qq.com/connect/zh_CN/htmledition/js/wxLogin.js' type='text/javascript'%3E%3C/script%3E")); } document.write(unescape("%3Clink rel='stylesheet' href='//passport.pai2345.com/static/css/passport.css?time=202404272113'%3E")); document.write(unescape("%3Cscript src='//passport.pai2345.com/static/js/gt.js' type='text/javascript'%3E%3C/script%3E")); var passportLogin = { smsCodeData: { geetest_challenge : '', geetest_validate : '', geetest_seccode : '', geetest_key : '', mobile : '', scenario : '', debug : '1', //debug模式 验证码固定123456 }, formData: { username : '', mobile : '', password : '', sms_key : '', sms_code : '', is_login: '1' }, bindData: { unionid : '', openid : '', nickname : '' }, userAgent: 'web', syncSites: [{"site":"https:\/\/www.pai2345.com","login":"\/web\/user\/passportlogin","logout":"\/web\/user\/passportlogout"},{"site":"https:\/\/edu.pai2345.com","login":"\/passportlogin","logout":"\/passportlogout"},{"site":"https:\/\/match.pai2345.com","login":"\/matchweb\/match\/passlogin","logout":"\/matchweb\/match\/passloginout"},{"site":"https:\/\/imgstore.pai2345.com","login":"\/api\/passport\/login","logout":"\/api\/passport\/logout"}], captchaObj : false, countdown : 60, countdownObj : false, loginSuccessUrl : '', submitLock : false, checkGeetestStatus : false, html: { //手机号 itemMobile: '
', //验证码 itemCode: '
'+ ''+ ''+ '
', //密码 itemPswd: '
', //确认密码 itemPswdAgain: '
', //微信登录 itemWeChat: '
'+ '
其他登录方式
'+ '微信登录'+ '
', //自动登录 itemRemember: '', //用户协议 itemAgreementForm: '

特别提示

福州全摄汇网络科技有限公司(以下简称“千途”)在此特别提醒您(以下或称“用户”)在注册成为用户之前,请认真阅读本《用户协议》(以下简称“协议”),以确保您充分理解本协议中各条款。您的注册、登录、使用等行为将视为对本协议的接受,并同意接受本协议各项条款的约束。

本协议约定千途与用户之间关于“千途”软件服务的权利义务。“用户”是指注册、登录、使用本服务的个人。本协议可由千途随时更新,更新后的协议条款一旦公布即代替原来的协议条款,恕不再另行通知,用户可在本网站查阅最新版协议条款。在修改协议条款后,如果用户不接受修改后的条款,请立即停止使用千途提供的服务,用户继续使用千途提供的服务将被视为接受修改后的协议。此外,千途对本协议拥有最终的解释权。

一、帐号注册

1、用户在使用本服务前需要注册一个“千途”帐号。“千途”帐号应当使用手机号码绑定注册,请用户使用尚未与“千途”帐号绑定的手机号码,以及未被千途根据本协议封禁的手机号码注册“千途”帐号。千途可以根据用户需求或产品需要对帐号注册和绑定的方式进行变更,而无须事先通知用户。

3、鉴于“千途”帐号的绑定注册方式,您同意千途在注册时将使用您提供的手机号码及/或自动提取您的手机号码及自动提取您的手机设备识别码等信息用于注册。

4、在用户注册及使用本服务时,千途需要搜集能识别用户身份的个人信息以便千途可以在必要时联系用户,为用户提供更好的使用体验。千途搜集的信息包括但不限于用户的性别、年龄、出生日期、个人说明及法律法规规定的必要身份信息,用户应确保信息的真实性、合法性、有效性,如用户提交的信息不完整或不符合法律法规的规定,则用户可能无法使用本服务或在使用本服务的过程中受到限制。

千途同意对这些信息的使用将受限于第三条用户个人隐私信息保护的约束。

二、服务内容

1、服务的具体内容由千途根据实际情况提供,包括但不限于授权用户通过其帐号进行即时通讯、添加好友、加入群组、发布留言等。千途可以对其提供的服务予以变更,且千途提供的服务内容可能随时变更;用户将会收到千途关于服务变更的通知。

2、千途提供的服务均为免费服务,若后期增加收费服务功能,将另行通知。

三、用户个人隐私信息保护

1、个人隐私信息是指涉及用户个人身份或个人隐私的信息,比如,用户真实姓名、身份证号、手机号码、手机设备识别码、IP地址、用户聊天记录。非个人隐私信息是指用户对本服务的操作状态以及使用习惯等明确且客观反映在千途服务器端的基本记录信息、个人隐私信息范围外的其它普通信息,以及用户同意公开的上述隐私信息。

2、尊重用户个人隐私信息是千途的一贯制度,千途将采取技术措施和其他必要措施,确保用户个人隐私信息安全,防止在本服务中收集的用户个人隐私信息泄露、毁损或丢失。在发生或者发现可能存在前述情形时,千途将及时采取补救措施。

3、千途未经用户同意不向任何第三方公开、透露用户个人隐私信息。但以下特定情形除外:

(1) 千途根据法律法规规定或有权机关的指示提供用户的个人隐私信息;

(2) 由于用户将其用户密码告知他人或与他人共享注册帐户与密码,由此导致的任何个人信息的泄漏,或其他非因千途原因导致的个人隐私信息的泄露;

(3) 用户自行向第三方公开其个人隐私信息;

(4) 用户与千途及合作单位之间就用户个人隐私信息的使用公开达成约定,千途因此向合作单位公开用户个人隐私信息;

(5) 任何由于黑客攻击、电脑病毒侵入及其他不可抗力事件导致用户个人隐私信息的泄露。

4、用户同意千途可在以下事项中使用用户的个人隐私信息:

(1) 千途向用户及时发送重要通知,如软件更新、本协议条款的变更;

(2) 千途内部进行审计、数据分析和研究等,以改进产品、服务和与用户之间的沟通;

(3) 依本协议约定,千途管理、审查用户信息及进行处理措施;

(4) 适用法律法规规定的其他事项。

除上述事项外,如未取得用户事先同意,千途不会将用户个人隐私信息使用于任何其他用途。

5、千途重视对未成年人个人隐私信息的保护。千途将依赖用户提供的个人信息判断用户是否为未成年人。任何18岁以下的未成年人注册帐号或使用本服务应事先取得家长或其法定监护人(以下简称"监护人")的书面同意。除根据法律法规的规定及有权机关的指示披露外,千途不会使用或向任何第三方透露未成年人的聊天记录及其他个人隐私信息。除本协议约定的例外情形外,未经监护人事先同意,千途不会使用或向任何第三方透露未成年人的个人隐私信息。除满足前述条件外,任何18岁以下的用户不得下载和使用千途所提供的软件服务。

6、用户确认,其地理位置信息为非个人隐私信息,用户成功注册“千途”帐号视为确认授权千途提取、公开及使用用户的地理位置信息。用户地理位置信息将作为用户公开资料之一,由千途向其他用户公开。如用户需要终止向其他用户公开其地理位置信息,可随时退出软件服务。

7、为了改善千途的技术和服务,向用户提供更好的服务体验,千途或可会自行收集使用或向第三方提供用户的非个人隐私信息。

四、内容规范

1、本条所述内容是指用户使用本服务过程中所制作、上载、复制、发布、传播的任何内容,包括但不限于帐号头像、名称、用户说明等注册信息及认证资料,或文字、语音、图片、视频、游记等发送、回复或自动回复消息和相关链接页面,以及其他使用帐号或本服务所产生的内容。

2、用户不得利用“千途”帐号或本服务制作、上载、复制、发布、传播如下法律、法规和政策禁止的内容:

(1) 反对宪法所确定的基本原则的;

(2) 危害国家安全,泄露国家秘密,颠覆国家政权,破坏国家统一的;

(3) 损害国家荣誉和利益的;

(4) 煽动民族仇恨、民族歧视,破坏民族团结的;

(5) 破坏国家宗教政策,宣扬邪教和封建迷信的;

(6) 散布谣言,扰乱社会秩序,破坏社会稳定的;

(7) 散布淫秽、色情、赌博、暴力、凶杀、恐怖或者教唆犯罪的;

(8) 侮辱或者诽谤他人,侵害他人合法权益的;

(9) 不遵守道德风尚要求的;

(10) 含有法律、行政法规禁止的信息。

3、用户不得利用“千途”帐号或本服务制作、上载、复制、发布、传播如下干扰“千途”正常运营,以及侵犯其他用户或第三方合法权益的内容:

(1) 含有任何性或性暗示的;

(2) 含有辱骂、恐吓、威胁内容的;

(3) 含有骚扰、垃圾广告、恶意信息、诱骗信息的;

(4) 涉及他人隐私、个人信息或资料的;

(5) 侵害他人名誉权、肖像权、知识产权、商业秘密等合法权利的;

(6) 含有其他干扰本服务正常运营和侵犯其他用户或第三方合法权益内容的信息。

五、使用规则

1、用户在使用千途或通过千途所传送、发布的任何内容并不反映或代表,也不得被视为反映或代表千途的观点、立场或政策,千途对此不承担任何责任。

2、用户不得利用“千途”帐号或本服务进行如下行为:

(1) 提交、发布虚假信息,或盗用他人头像或资料,冒充、利用他人名义的;

(2) 强制、诱导其他用户关注、点击链接页面或分享信息的;

(3) 虚构事实、隐瞒真相以误导、欺骗他人的;

(4) 利用技术手段批量建立虚假帐号的;

(5) 利用“千途”帐号或本服务从事任何违法犯罪活动的;

(6) 制作、发布与以上行为相关的方法、工具,或对此类方法、工具进行运营或传播,无论这些行为是否为商业目的;

(7) 其他违反法律法规规定、侵犯其他用户合法权益、干扰“千途”正常运营的行为。

3、用户须对利用“千途”帐号传送信息的真实性、合法性、无害性、准确性、有效性等全权负责,与用户所传播的信息相关的任何法律责任由用户自行承担,与千途无关。如因此给千途或第三方造成损害的,用户应自行承担由此产生的责任,并予以赔偿。

4、千途提供的服务中可能包括广告,用户同意在使用过程中显示千途和第三方供应商、合作伙伴提供的广告。除法律法规明确规定外,用户应自行对依该广告信息进行的交易负责,对用户因依该广告信息进行的交易或前述广告商提供的内容而遭受的损失或损害,千途不承担任何责任。

六、账户管理

1、“千途”帐号的所有权归千途所有,用户完成申请注册手续后,获得“千途”帐号的使用权,该使用权仅属于初始申请注册人,禁止赠与、借用、租用、转让或售卖。千途因经营需要,有权回收用户的“千途”帐号。

2、用户可以更改、删除“千途”帐户上的个人资料、注册信息及传送内容等,但需注意,删除有关信息的同时也会删除用户储存在系统中的文字和图片,用户需承担该风险。

3、用户有责任妥善保管注册帐号信息及帐号密码,且用户须对注册账号的所有行为和事件承担法律责任。因用户保管不善可能遭受盗号或密码失窃等风险,责任由用户自行承担。用户同意在任何情况下不使用其他用户的帐号或密码。在用户怀疑他人使用其帐号或密码时,用户同意立即通知千途。

4、用户应遵守本协议的各项条款,正确、适当地使用本服务,如因用户违反本协议中的任何条款,千途在通知用户后有权依据协议中断或终止对违约用户“千途”帐号提供服务。同时,千途保留在任何时候收回“千途”帐号、用户名的权利。

5、如用户注册“千途”帐号后一年不登录,通知用户后,千途可以收回该帐号,以免造成资源浪费,由此造成的不利后果由用户自行承担。

七、数据储存

1、千途不对用户在本服务中相关数据的删除或储存失败负责。

2、千途可以根据实际情况自行决定用户在本服务中数据的最长储存期限,并在服务器上为其分配数据最大存储空间等。用户可根据自己的需要自行备份本服务中的相关数据。

3、如用户停止使用千途或千途终止提供服务的,千途可以从服务器上永久地删除用户的数据,且千途没有义务向用户返还任何数据。

八、风险承担

1、用户理解并同意,“千途”仅为用户提供信息分享、传送及获取的平台,用户必须为自己注册帐号下的一切行为负责,包括用户所传送的任何内容以及由此产生的任何后果。用户应对“千途”及本服务中的内容自行加以判断,并承担因使用内容而引起的所有风险,包括因对内容的正确性、完整性或实用性的依赖而产生的风险。千途无法且不会对因用户行为而导致的任何损失或损害承担责任。

如果用户发现任何人违反本协议约定或以其他不当的方式使用千途的,请立即向千途举报或投诉,千途将依本协议约定进行处理。

2、用户理解并同意,因业务发展需要,千途保留单方面对千途提供的服务内容进行全部或部分变更、暂停、终止或撤销的权利,用户需承担此风险。

九、知识产权声明

1、千途在服务中提供的内容(包括但不限于网页、文字、图片、音频、视频、图表等)的知识产权均归千途或相关权利人所有。除另有特别声明外,千途提供服务时依托软件的著作权、专利权及其他知识产权均归千途或相关权利人所有。

千途在提供服务中所涉及的图形、文字或其组成,以及其他千途标志及产品、服务名称(以下统称“千途标识”),其著作权或商标权归千途所有。未经千途事先书面同意,用户不得将千途标识以任何方式展示或使用或作其他处理,也不得向他人表明用户有权展示、使用或其他有权处理千途标识的行为。

上述及其他任何千途或相关权利人依法拥有的知识产权均受到法律保护,未经千途或相关权利人书面许可,用户不得以任何形式进行使用或创造相关衍生作品。

2、千途同样尊重用户的知识产权,并承诺将保护用户的知识产权作为千途运营的基本原则之一。用户在千途上发表的内容,用户应保证其为著作权人或已取得合法授权,并且该内容不会侵犯任意第三方的合法权益,如产生纠纷,与千途无关,如因此造成千途损失(包括但不限于经济、商誉等),用户应予以赔偿。用户在千途上发表内容不作为用户或相关权利人放弃对该内容的权利。此外,用户可授权任意第三方使用该内容,而无需得到千途的同意。

3、针对用户的恶意评论、侵犯知识产权等行为,经举报,千途会依法或依本协议采取措施,但不保证能够满足用户的需求,也不对侵权承担任何责任,用户对此知悉并同意。

4、用户同意授予千途所发表内容在全球范围内的免费、不可撤销的、永久的、可再许可或转让的使用权许可,据该许可千途有权以展示、推广及其他不为法律所禁止的方式使用用户发表的内容。如因用户发表他人知识产权内容而未标明,导致千途根据本条款使用用户发表内容被追责的,用户应承担全部责任。

十、法律责任

1、如果千途发现或收到他人举报或投诉用户违反本协议约定的,千途有权不经通知随时对相关内容,包括但不限于用户资料、聊天记录进行审查、删除,并视情节轻重对违规帐号处以包括但不限于警告、帐号封禁、设备封禁、功能封禁的处罚,且通知用户处理结果。

2、用户理解并同意,千途有权依合理判断对违反有关法律法规或本协议规定的行为进行处罚,对违法违规的任何用户采取适当的法律行动,并依据法律法规保存有关信息向有关部门报告等,用户应承担由此而产生的一切法律责任。

3、用户理解并同意,因用户违反本协议约定,导致或产生的任何第三方主张的任何索赔、要求或损失,包括但不限于合理的律师费等,用户应当赔偿千途与合作公司、关联公司,使之免受损害,并承担由此引发的全部法律责任。

十一、不可抗力及其他免责事由

1、用户理解并确认,在使用千途的过程中,可能会遇到不可抗力等风险因素,使服务发生中断。不可抗力是指不能预见、不能克服并不能避免且对一方或双方造成重大影响的客观事件,包括但不限于自然灾害如洪水、地震、瘟疫流行和风暴等以及社会事件如战争、动乱、政府行为等。出现上述情况时,千途将努力在第一时间与相关单位配合,及时进行修复,但是由此给用户或第三方造成的损失,千途及合作单位依法免责。

2、本服务同大多数互联网服务一样,受包括但不限于用户原因、网络服务质量、社会环境等因素的差异影响,可能受到各种安全问题的侵扰,如他人利用用户的资料,造成现实生活中的骚扰;用户下载安装的其它软件或访问的其他网站中含有“特洛伊木马”等病毒,威胁到用户的计算机信息和数据的安全,继而影响本服务的正常使用等等。用户应加强信息安全及使用者资料的保护意识,要注意加强密码保护,以免遭致损失和骚扰。

3、用户理解并确认,千途提供的服务存在因不可抗力、计算机病毒或黑客攻击、系统不稳定、用户所在位置、用户关机以及其他任何技术、互联网络、通信线路原因等造成的服务中断或不能满足用户要求的风险,因此导致的用户或第三方任何损失,千途不承担任何责任。

4、用户理解并确认,在使用本服务过程中存在来自任何他人的包括误导性的、欺骗性的、威胁性的、诽谤性的、令人反感的或非法的信息,或侵犯他人合法权益的匿名或冒名的信息,以及伴随该等信息的行为,因此导致的用户或第三方的任何损失,千途不承担任何责任。

5、用户理解并确认,千途需要定期或不定期地对“千途”平台或相关的设备进行检修或者维护,如因此类情况而造成服务在合理时间内的中断,千途无需为此承担任何责任。

6、千途依据法律法规、本协议约定获得处理违法违规或违约内容的权利,该权利不构成千途的义务或承诺,千途不能保证及时发现违法违规或违约行为或进行相应处理。

7、用户理解并确认,对于千途向用户提供的下列产品或者服务的质量缺陷及其引发的任何损失,千途无需承担任何责任:

(1) 千途向用户免费提供的服务;

(2) 千途向用户赠送的任何产品或者服务。

8、用户发表的内容存在被其他用户复制、转载或做其他用途的风险,用户同意自行承担相应的责任;因用户使用千途服务而产生的一切后果也由用户自己承担,千途不对此承担任何责任。

9、用户明确同意千途有权利用第三方合作平台对其发布的内容进行推广发布,千途的此种行为不属于对用户相关权益的侵权,千途无须承担任何责任。

10、在任何情况下,千途均不对任何间接性、后果性、惩罚性、偶然性、特殊性或刑罚性的损害,包括因用户使用“千途”或本服务而遭受的利润损失,承担责任(即使千途已被告知该等损失的可能性亦然)。尽管本协议中可能含有相悖的规定,千途对用户承担的全部责任,无论因何原因或何种行为方式,始终不超过用户因使用千途提供的服务而支付给千途的费用(如有)。

十二、服务的变更、中断、终止

1、鉴于网络服务的特殊性,用户同意千途有权随时变更、中断或终止部分或全部的服务。千途变更、中断或终止的服务,千途应当在变更、中断或终止之前通知用户。

2、如发生下列任何一种情形,千途有权变更、中断或终止向用户提供的免费服务或收费服务,而无需对用户或任何第三方承担任何责任:

(1) 根据法律规定用户应提交真实信息,而用户提供的个人资料不真实、或与注册时信息不一致又未能提供合理证明;

(2) 用户违反相关法律法规或本协议的约定;

(3) 按照法律规定或有权机关的要求;

(4) 出于安全的原因或其他必要的情形。

十三、用户专属权利

千途尊重他人知识产权,呼吁用户也要同样尊重知识产权。 如果用户对他人的知识产权造成了侵害,千途将依国家法律法规的规定,或在适当的情形下,将依相关规定,删除特定内容或以至终止用户对账户的使用。 千途尊重他人的任何权利(包括知识产权),同时也要求用户尊重他人之权利。千途在适当情况下,有权自行决定终止侵害或违反他人权利之使用者的帐号。

若用户认为知识产权被侵犯,请及时向千途提供详实的举证材料,或提交《要求删除或断开链接侵权网络内容的通知》(下称“删除通知”)(“删除通知”系中华人民共和国国家版权局的示范格式,如果您不明白“删除通知”的内容,请登录中华人民共和国国家版权局查看《要求删除或断开链接侵权网络内容的通知》填写说明)。

十四、其他

1、千途郑重提醒用户注意本协议中免除千途责任和限制用户权利的条款,请用户仔细阅读,自主考虑风险。未成年人应在法定监护人的陪同下阅读本协议。

2、本协议的效力、解释及纠纷的解决,适用于中华人民共和国法律(不含港澳台法律)。若用户和千途之间发生任何纠纷或争议,首先应友好协商解决,协商不成的,用户同意将纠纷或争议提交千途住所地有管辖权的人民法院管辖。

3、如本协议的任何条款无论因何种原因无效或不具可执行性的,其余条款仍有效,对双方具有约束力。

4、千途联系方式如下: 3298507498@qq.com

', //用户协议 itemAgreement: '
'+ ''+ '
', //错误提示 itemError: '
', //注册 regForm: function () { //验证码场景设置 passportLogin.smsCodeData.scenario = 2; return '
' + passportLogin.html.itemMobile + passportLogin.html.itemCode + passportLogin.html.itemPswd + passportLogin.html.itemAgreement + '
'+ ''+ '
' + '
' + '
'+ '
'+ '已有账号,'+ '马上登录'+ '
'+ '
'; }, //免密登录 loginMobileForm: function () { //验证码场景设置 passportLogin.smsCodeData.scenario = 4; return '
'+ passportLogin.html.itemMobile + passportLogin.html.itemCode + '
'+ passportLogin.html.itemRemember + '忘记密码?'+ '
'+ '
'+ ''+ '
'+ '
'+ '
'+ '
'+ '密码登录'+ '注册新账号'+ '
'+ passportLogin.html.itemWeChat + '
'; }, //密码登录 loginPswdForm: function () { //验证码场景设置 passportLogin.smsCodeData.scenario = 4; return '
'+ passportLogin.html.itemMobile + passportLogin.html.itemPswd + '
'+ passportLogin.html.itemRemember + '忘记密码?'+ '
'+ '
'+ ''+ '
'+ '
'+ '
'+ '
'+ '免密登录'+ '注册新账号'+ '
'+ passportLogin.html.itemWeChat + '
'; }, //忘记密码 resetPswdForm: function () { //验证码场景设置 passportLogin.smsCodeData.scenario = 1; return '
'+ passportLogin.html.itemMobile + passportLogin.html.itemCode + passportLogin.html.itemPswd + passportLogin.html.itemPswdAgain + '
'+ ''+ '
'+ '
'; }, //绑定手机号 bindForm: function () { //验证码场景设置 passportLogin.smsCodeData.scenario = 6; return '
'+ '
'+ '

Hi,'+passportLogin.bindData.nickname+'欢迎来千途!

'+ '

完成绑定后还可以微信账号 一键登录哦~

'+ '
'+ passportLogin.html.itemMobile + passportLogin.html.itemCode + passportLogin.html.itemAgreement + '
'+ ''+ '
'+ '
'; }, //微信扫码 WeChatForm: function () { return '
'+ '
'+ ''+ '
'+ '
'+ ''+ '

打开微信
扫一扫登录

'+ '
'+ passportLogin.html.itemAgreement + '
'+ '
'+ '已有账号,'+ '马上登录'+ '
'+ '注册新账号'+ '
'+ '
'; } }, setSubmitLock: function (value) { passportLogin.submitLock = value; var btn = $('.passport-form .btn-reg, .passport-form .btn-login, .passport-form .btn-save'); if (value == true) { btn.addClass('disabled').prepend(''); } else { btn.removeClass('disabled').find(".passport-icon-loading").remove(); } }, initGeetest: function () { $.ajax({ // 获取id,challenge,success(是否启用failback) url: "//passport.pai2345.com/web/captcha/geetest?t=" + (new Date()).getTime(), // 加随机数防止缓存 type: "get", dataType: "json", success: function (response) { if (response.code == 200 && response.status == "success") { data = response.data; passportLogin.smsCodeData.geetest_key = data.key; initGeetest({ gt: data.gt, challenge: data.challenge, new_captcha: data.new_captcha, width: '100%', product: "bind", // 产品形式,包括:float,embed,popup。注意只对PC版验证码有效 offline: !data.success // 表示用户后台检测极验服务器是否宕机,一般不需要关注 }, passportLogin.geetestHandler); } } }); }, geetestHandler: function (captchaObj) { passportLogin.captchaObj = captchaObj; //极验校验成功 captchaObj.onSuccess(function () { var result = captchaObj.getValidate(); passportLogin.smsCodeData.geetest_challenge = result.geetest_challenge; passportLogin.smsCodeData.geetest_validate = result.geetest_validate; passportLogin.smsCodeData.geetest_seccode = result.geetest_seccode; if ($('#yzm').length > 0) { //验证成功发送短信 passportLogin.sendCode(); } else { passportLogin.loginPswdSubmit(); } }); //发送短信前先做极验行为验证 $('body').on('click','.passport-box .btn-yzm', function() { var mobile = $('#mobile').val(); if(passportLogin.countdown != 60){ return false; } if(!(/^1\d{10}$/.test(mobile))){ passportLogin.toast('手机号码有误,请重填!'); $('#mobile').focus(); return false; } passportLogin.checkGeetest('sendYzm'); }); }, //极验证 checkGeetest: function (act) { if (passportLogin.checkGeetestStatus == false) { $.ajax({ url: "//passport.pai2345.com/web/auth/check_geetest", type: "get", dataType: "json", async: false, success: function (response) { if (response.code == 200 && response.status == "success") { passportLogin.checkGeetestStatus = response.data.status == 0 ? false : true; } } }); } var op = passportLogin.checkGeetestStatus ? 1 : 0; switch (act + '_' + op) { case 'loginPswdSubmit_1': case 'sendYzm_1': passportLogin.captchaObj.reset(); passportLogin.captchaObj.verify(); break; case 'loginPswdSubmit_0': passportLogin.loginPswdSubmit(); break; case 'sendYzm_0': passportLogin.sendCode(); break; } }, sendCode: function () { //发送短信 passportLogin.setTime($('.passport-box .btn-yzm')); passportLogin.smsCodeData.mobile = $('#mobile').val(); $.ajax({ type: 'POST', dataType: 'json', url: "//passport.pai2345.com/web/captcha/sms", data: passportLogin.smsCodeData, success: function(result) { if(result.code == 200){ passportLogin.formData.sms_key = result.data.key; passportLogin.captchaObj.reset(); }else{ passportLogin.toast(result.message); } } }); }, showModal: function (title,form) { passportLogin.resetTime();//清空定时器 var passport = '
'+ '
'+ '
'+ '
' + title + '
'+ '
'+ form + '
'+ ''+ '
'+ '
'; $('.passport').remove(); $('body').append(passport); document.body.style.overflow='hidden'; }, closeModal: function () { $('.passport').remove(); document.body.style.overflow = 'auto'; }, toast: function (msg) { var $toastDom = '
' + msg + '
'; $('body').append($toastDom); setTimeout(function() { $('.toast-msg').remove(); }, 3000); }, setTime: function (e) { if (passportLogin.countdown === 0) { $(e).removeClass('disabled'); $(e).text('获取验证码'); passportLogin.countdown = 60; return; } else { $(e).text('重新发送(' + passportLogin.countdown + ')'); $(e).addClass('disabled'); passportLogin.countdown--; } passportLogin.countdownObj = setTimeout(function() { passportLogin.setTime(e); }, 1000); }, resetTime: function() { clearTimeout(passportLogin.countdownObj); passportLogin.countdown = 60; if ($('.passport-box .btn-yzm').length) { $('.passport-box .btn-yzm').removeClass('disabled'); $('.passport-box .btn-yzm').text('获取验证码'); } }, btnCheck: function (type) { var _mobileVal = $('#mobile').val(); var _yzmVal = $('#yzm').val(); var _passwordVal = $('#password').val(); var _password2Val = $('#password2').val(); if (type == 'regForm') { if(_mobileVal === '' || _yzmVal === '' || _passwordVal === '' || $('#agreement').is(':checked') == false){ $('.passport-form').find('.btn').addClass('disabled'); //提交按钮默认不可点击 }else{ $('.passport-form').find('.btn').removeClass('disabled'); } } else if (type == 'loginMobileForm') { if(_mobileVal === '' || _yzmVal === ''){ $('.passport-form').find('.btn').addClass('disabled'); //提交按钮默认不可点击 }else{ $('.passport-form').find('.btn').removeClass('disabled'); } } else if (type == 'loginPswdForm') { if(_mobileVal === '' || _passwordVal === ''){ $('.passport-form').find('.btn').addClass('disabled'); //提交按钮默认不可点击 }else{ $('.passport-form').find('.btn').removeClass('disabled'); } } else if (type == 'bindForm') { if(_mobileVal === '' || _yzmVal === '' || $('#agreement').is(':checked') == false){ $('.passport-form').find('.btn').addClass('disabled'); //提交按钮默认不可点击 }else{ $('.passport-form').find('.btn').removeClass('disabled'); } } else if (type == 'resetPswdForm') { if(_mobileVal === '' || _yzmVal === '' || _passwordVal === '' || _password2Val === ''){ $('.passport-form').find('.btn').addClass('disabled'); //提交按钮默认不可点击 }else{ $('.passport-form').find('.btn').removeClass('disabled'); } } }, checkInput: function (id) { var input = $('#'+id); var value = input.val(); switch (id) { case 'mobile': if(!(/^1\d{10}$/.test(value))){ passportLogin.toast('手机号码有误,请重填!'); input.focus(); return false; } break; case 'yzm': if(value == ''){ passportLogin.toast('验证码不能为空!'); input.focus(); return false; } break; case 'password': if(value == ''){ passportLogin.toast('密码不能为空!'); input.focus(); return false; } if(!(/^\S{6,12}$/.test(value))){ passportLogin.toast('密码必须6-12位字母/数字/符号!'); input.focus(); return false; } break; case 'password2': if(value == ''){ passportLogin.toast('确认密码不能为空!'); input.focus(); return false; } if(value != $('#password').val()){ passportLogin.toast('两次密码不一致!'); input.focus(); return false; } break; } return value; }, agreement: function () { passportLogin.showModal('千途使用协议v1.0', passportLogin.html.itemAgreementForm); }, register: function () { passportLogin.showModal('注册账号', passportLogin.html.regForm()); $('body').on('input','.ipt', function() { passportLogin.btnCheck("regForm"); }); $('body').on('click','#agreement', function() { passportLogin.btnCheck("regForm"); }); }, resetPswd: function () { passportLogin.showModal('忘记密码', passportLogin.html.resetPswdForm()); $('body').on('input','.ipt', function() { passportLogin.btnCheck("resetPswdForm"); }); }, login: function () { passportLogin.loginMobile(); // if (passportLogin.userAgent == 'h5') { // //移动端默认 免密登录 // passportLogin.loginMobile(); // } else { // //WEB端默认账号密码登录 // passportLogin.loginPswd(); // } }, loginMobile: function () { //免密登录 passportLogin.showModal('免密登录', passportLogin.html.loginMobileForm()); $('body').on('input','.ipt', function() { passportLogin.btnCheck("loginMobileForm"); }); }, loginPswd: function () { //账号密码登录 passportLogin.showModal('密码登录', passportLogin.html.loginPswdForm()); $('body').on('input','.ipt', function() { passportLogin.btnCheck("loginPswdForm"); }); $('.passport-form').find("#password").attr("placeholder", "请输入密码"); }, loginWeChat: function (){ if (passportLogin.userAgent == 'h5') { //手机端 打开微信方式 window.location.href = 'http://passport.pai2345.com/web/social/wechat/login?app_id=web&is_ajax=0'; } else { //默认PC端 二维码 passportLogin.showModal('密码登录', passportLogin.html.WeChatForm()); var obj = new WxLogin({ self_redirect:true, id:"login_container", appid: "wxfc06e258ebee8db2", scope: "snsapi_login", redirect_uri: "https://passport.pai2345.com/script/callbackWechat", state: "595772c3cb27cb8be020d63b12756836", }); } }, loginWeChatCallback: function (data) { console.log(data); if (data.bind == 0) { //绑定手机号 passportLogin.bindData.unionid = data.unionid; passportLogin.bindData.openid = data.openid; passportLogin.bindData.nickname = data.nickname; passportLogin.bindUser(); } else { passportLogin.loginSuccess(data); } }, bindUser: function () { passportLogin.showModal('请绑定您的手机号', passportLogin.html.bindForm()); $('body').on('input','.ipt', function() { passportLogin.btnCheck("bindForm"); }); $('body').on('click','#agreement', function() { passportLogin.btnCheck("bindForm"); }); }, bindUserSubmit: function () { //请绑定您的手机号 passportLogin.formData.mobile = passportLogin.checkInput("mobile"); if (passportLogin.formData.mobile === false) { return false; } passportLogin.formData.username = passportLogin.formData.mobile; passportLogin.formData.sms_code = passportLogin.checkInput("yzm"); if (passportLogin.formData.sms_code === false) { return false; } if (passportLogin.formData.sms_key == '') { passportLogin.toast('请先进行短信验证!'); return false; } if (passportLogin.submitLock) { passportLogin.toast('表单提交中请稍等!'); return false; } passportLogin.setSubmitLock(true); $.ajax({ type: 'POST', dataType: 'json', data: { 'username': passportLogin.formData.username, 'unionid': passportLogin.bindData.unionid, 'nickname': passportLogin.bindData.nickname, 'sms_key': passportLogin.formData.sms_key, 'sms_code': passportLogin.formData.sms_code }, url: '//passport.pai2345.com/web/auth/bind_mobile', success: function(json) { console.log(json); passportLogin.setSubmitLock(false); if (json.code == 200) { //注册并登录成功 passportLogin.loginSuccess(json.data); } else { passportLogin.toast(json.message); } } }); }, resetPswdSubmit: function () { //忘记密码 passportLogin.formData.mobile = passportLogin.checkInput("mobile"); if (passportLogin.formData.mobile === false) { return false; } passportLogin.formData.username = passportLogin.formData.mobile; passportLogin.formData.sms_code = passportLogin.checkInput("yzm"); if (passportLogin.formData.sms_code === false) { return false; } if (passportLogin.formData.sms_key == '') { passportLogin.toast('请先进行短信验证!'); return false; } passportLogin.formData.password = passportLogin.checkInput("password"); if (passportLogin.formData.password === false) { return false; } if (passportLogin.checkInput("password2") === false) { return false; } if (passportLogin.submitLock) { passportLogin.toast('表单提交中请稍等!'); return false; } passportLogin.setSubmitLock(true); $.ajax({ type: 'POST', dataType: 'json', data: passportLogin.formData, url: '//passport.pai2345.com/web/auth/forgetpwd', success: function(json) { console.log(json); passportLogin.setSubmitLock(false); if (json.code == 200) { passportLogin.toast("密码修改成功"); passportLogin.closeModal(); } else { passportLogin.toast(json.message); } } }); }, loginPswdSubmit: function () { //账号密码登录 passportLogin.formData.mobile = $('#mobile').val(); if (passportLogin.formData.mobile == '') { passportLogin.toast('手机号码不能为空!'); $('#mobile').focus(); return false; } passportLogin.formData.password = passportLogin.checkInput("password"); if (passportLogin.formData.password === false) { return false; } if (passportLogin.checkGeetestStatus && !passportLogin.captchaObj.getValidate()) { passportLogin.toast('请先完成验证!'); return false; } passportLogin.setSubmitLock(true); $.ajax({ type: 'POST', dataType: 'json', data: { 'username' : passportLogin.formData.mobile, 'password' : passportLogin.formData.password, 'geetest_challenge' : passportLogin.smsCodeData.geetest_challenge, 'geetest_validate' : passportLogin.smsCodeData.geetest_validate, 'geetest_seccode' : passportLogin.smsCodeData.geetest_seccode, 'geetest_key' : passportLogin.smsCodeData.geetest_key, }, url: '//passport.pai2345.com/web/auth/login', success: function(json) { console.log(json); passportLogin.setSubmitLock(false); passportLogin.captchaObj.reset(); if (json.code == 200) { //注册并登录成功 passportLogin.loginSuccess(json.data); } else { passportLogin.toast(json.message); } } }); }, loginMobileSubmit: function () { //手机验证码登录 passportLogin.formData.mobile = passportLogin.checkInput("mobile"); if (passportLogin.formData.mobile === false) { return false; } passportLogin.formData.sms_code = passportLogin.checkInput("yzm"); if (passportLogin.formData.sms_code === false) { return false; } if (passportLogin.formData.sms_key == '') { passportLogin.toast('请先进行短信验证!'); return false; } if (passportLogin.submitLock) { passportLogin.toast('表单提交中请稍等!'); return false; } passportLogin.setSubmitLock(true); $.ajax({ type: 'POST', dataType: 'json', data: passportLogin.formData, url: '//passport.pai2345.com/web/auth/login_mobile', success: function(json) { console.log(json); passportLogin.setSubmitLock(false); if (json.code == 200) { //注册并登录成功 passportLogin.loginSuccess(json.data); } else { passportLogin.toast(json.message); } } }); }, registerSubmit: function () { //同意协议并注册 passportLogin.formData.mobile = passportLogin.checkInput("mobile"); if (passportLogin.formData.mobile === false) { return false; } passportLogin.formData.username = passportLogin.formData.mobile; passportLogin.formData.sms_code = passportLogin.checkInput("yzm"); if (passportLogin.formData.sms_code === false) { return false; } passportLogin.formData.password = passportLogin.checkInput("password"); if (passportLogin.formData.password === false) { return false; } if (passportLogin.formData.sms_key == '') { passportLogin.toast('请先进行短信验证!'); return false; } if (passportLogin.submitLock) { passportLogin.toast('表单提交中请稍等!'); return false; } passportLogin.setSubmitLock(true); $.ajax({ type: 'POST', dataType: 'json', data: passportLogin.formData, url: '//passport.pai2345.com/web/auth/register', success: function(json) { console.log(json); passportLogin.setSubmitLock(false); if (json.code == 200) { //注册并登录成功 passportLogin.loginSuccess(json.data); } else { passportLogin.toast(json.message); } } }); }, loginSuccess: function (data) { passportLogin.setCookies('username', data.username, data.expires_in); passportLogin.setCookies('access_token', data.access_token, data.expires_in); passportLogin.setCookies('pp_login_sync', '', -1); if (passportLogin.loginSuccessUrl == '') { location.reload(); } else { location.href = passportLogin.loginSuccessUrl; } }, getUrlParam : function (name) { var url = window.location.search; var strs = []; var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { theRequest[strs[i].split("=")[0]]=decodeURIComponent(strs[i].split("=")[1]); } } return theRequest[name] ? theRequest[name] : null; }, passportLoginSync: function () { //同步登录 var username = passportLogin.getCookies('username'); var access_token = passportLogin.getCookies('access_token'); var login_sync = passportLogin.getCookies('pp_login_sync'); if (access_token && !login_sync) { //passportLogin.setCookies('username', '', -1); //passportLogin.setCookies('access_token', '', -1); passportLogin.setCookies('pp_login_sync', '1', 3600); $(passportLogin.syncSites).each(function(index, item){ if (item.site.search(window.location.host) == -1 ) { var url = item.site + item.login + '?access_token=' + access_token + '&username=' + username; $("body").append(""); } }); } }, passportLogoutSync: function () { //同步退出 var logout = passportLogin.getCookies('pp_logout'); if (logout == '1') { passportLogin.setCookies("pp_logout", 1, -1); $(passportLogin.syncSites).each(function(index, item){ if (item.site.search(window.location.host) == -1 ) { var url = item.site + item.logout; $("body").append(""); } }); } }, passportLogout: function () { //退出操作 passportLogin.setCookies("pp_logout", 1, 3600); passportLogin.passportLogoutSync(); }, setCookies: function (cname, cvalue, expires) { var exp = new Date(); exp.setTime(exp.getTime() + expires*1000); document.cookie = cname + "=" + cvalue + ";expires=" + exp.toGMTString() + ";path=/;domain=pai2345.com"; }, getCookies: function (cname) { var name = cname + "="; var ca = document.cookie.split(';'); for(var i=0; i