CINXE.COM

会通教育官网

<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>会通教育官网</title> <meta name="renderer" content="webkit|ie-comp|ie-stand" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta name="keywords" content="会课网,会通教育,高中,在线,教育,组卷,刷题,大数据,精准教学,分析,对比,答题卡" /> <meta name="description" content="会课网是会通教育旗下智能学习平台,旨在通过大数据为老师智能精准组卷、为学生提供最优学习路径。" /> <link rel="stylesheet" href="/zui/zui.css"> <link rel="stylesheet" type="text/css" href="/stylesheets/style.css" /> <link rel="stylesheet" href="/less/swiper-3.3.1.min.css"> <link rel="stylesheet" href="/less/cascader.css"> <link href="/images/favicon.ico" rel="bookmark" type="image/x-icon" /> <link href="/images/favicon.ico" rel="bookmark" type="image/x-icon" /> <link href="/images/favicon.ico" rel="icon" type="image/x-icon" /> <link href="/images/favicon.ico" rel="shortcut icon" type="image/x-icon" /> <style> html, body { background: #fff; width: 100%; height: 100%; } @media screen and (min-width:1600px) { body { zoom: 1.2; } } </style> <script src="https://turing.captcha.qcloud.com/TCaptcha.js"></script> </head> <body> <div class="index_container"> <div class="swiper-container big_full"> <div class="swiper-wrapper"> <div class="swiper-slide full_screen full_screen1"> <div class="home_container"> <div class="header_container "> <div class="header default_width"> <h1 title="会通教育"> <a href="/"><img src="images/logo.png" /></a> </h1> <div class="download"> <a href="https://app.willclass.com/">下载APP</a> <a href="https://app.willclass.com/downloadClient.html">下载客户端</a> </div> </div> </div> <div class="login_box default_width"> <div class="index_img img_fn1">专注学生核心素养的发展</div> <div class="index_img img_fn2"></div> <div class="index_img img_pc login_img_pc"></div> <div class="container"> <div id="roles" class="row"> <div class="text-right" style="padding:0 10px 5px 0"> <a href="https://s.willclass.com/" target="_blank" style="color:#fff;">学生用户登录&gt;</a> </div> <div class="col-xs-12"><button class="role_btn">教师用户登录<img src="/images/teacher.png" /></button></div> </div> <div id="login_container" class="form_container teacher form"> <div class="login_tab"> <div class="active"><span id="account_tab">密码登录</span></div> <div id="code_tab_active"><span id="code_tab">扫码登录</span></div> <div><span id="sms_tab">短信登录</span></div> </div> <form id="account_login" class="account_login" onsubmit="return false" autocomplete="off"> <div class="input phone"> <input name="accountPhone" type="text" placeholder="请输入手机号" /> </div> <div class="input pwd"> <input name="acountPwd" type="password" placeholder="请输入密码" autocomplete="new-password"/> <i class="show_pwd iconfont iconfont-eye-close"></i> </div> <div class="forget"> <span> <a id="account_active" href="javascript:;">激活账号</a> <a id="account_reset" href="javascript:;">忘记密码</a> </span> </div> <div class="submit_btn"> <input type="submit" value="登录" onclick="accountSubmit()"> </div> </form> <form id="sms_login" class="sms_login hide" onsubmit="return false" autocomplete="off"> <div class="input phone"><input name="smsPhone" type="text" placeholder="请输入手机号" /> </div> <div class="row"> <div class="col-xs-7"> <div class="input code"><input name="smsAuthCode" type="text" placeholder="请输入短信验证码" /></div> </div> <div class="col-xs-5"> <button type="button" class="smsCode_btn">获取短信验证码</button> </div> </div> <div class="forget"> <span> <a id="sms_active" href="javascript:;">激活账号</a> <a id="sms_reset" href="javascript:;">忘记密码</a> </span> </div> <div class="submit_btn"> <input type="submit" value="登录" onclick="smsSubmit()"/> </div> </form> <div class="qrcode_login hide"> <div class="qrcode_main"> <div class="qrcode_img"></div> <div class="qrcode_valid" onclick="checkAndCreateQRCode()"> <div class="qrcode_valid_img"></div> <div class="qrcode_valid_mask"></div> <img class="qrcode_valid_icon" src="/images/refresh.png" alt=""> </div> <h4 class="qrcode_msg">请使用会课教师版App>我的>扫码登录</h4> <h4 class="valid_msg">二维码已过期,点击重新生成</h4> <div class="forget"> <span> <a id="code_active" href="javascript:;">激活账号</a> <a id="code_reset" href="javascript:;">忘记密码</a> </span> </div> </div> </div> </div> <div class="qrcode_desc">请使用会课学生端APP,进入云课堂,找到对应直播教室,使用扫码功能扫描屏幕二维码登录后收看直播课程</div> <div id="active_container" class="form_container hide"> <h3>激活账号</h3> <form onsubmit="return false" autocomplete="off"> <div class="step1"> <div class="cascaderbox" id="cascaderbox"> <div class="inputbox input school"> <input autocomplete="off" class="searchtxt" type="text" placeholder="请选择学校"> <span class="labelshow"></span> <span class="down"><svg viewBox="64 64 896 896" class="" data-icon="down" width="1em" height="1em" fill="currentColor" aria-hidden="true" focusable="false"><path d="M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z"></path></svg></span> </div> <div class="dlist hid"> </div> <div class="dlist searchdlist hid"></div> </div> <input id="activeSchoolId" name="activeSchoolId" type="text" hidden placeholder="请选择学校" /> <div class="row"> <div class="col-xs-6"> <div class="input account"><input name="activeNo" type="text" placeholder="请输入教师号" /></div> </div> <div class="col-xs-6"> <div class="input name"><input name="activeName" type="text" placeholder="请输入姓名" /></div> </div> </div> <div class="input phone"><input name="activePhone" type="text" placeholder="请输入手机号" /> </div> <div class="row"> <div class="col-xs-7"> <div class="input code"><input name="activeSmsCode" type="text" placeholder="请输入短信验证码" /></div> </div> <div class="col-xs-5"> <button type="button" class="smsCode_btn">获取短信验证码</button> </div> </div> <div class="submit_btn"> <input type="submit" value="下一步" onclick="nextSubmit()"> </div> </div> <div class="step2" style="display: none"> <div class="input pwd"> <input name="activePassword" type="password" autocomplete="new-password" placeholder="请输入密码" /> <i class="show_pwd iconfont iconfont-eye-close"></i> </div> <div class="input confirmPwd"> <input name="activeRepeat" type="password" autocomplete="new-password" placeholder="请再次输入一次" /> <i class="show_pwd iconfont iconfont-eye-close"></i> </div> <div class="submit_btn"> <input type="submit" value="立即激活" onclick="activeSubmit()"> </div> </div> <div class="forget"> <a id="active_reset" href="javascript:;">忘记密码</a> <span> 已有帐号? <a id="active_login" href="javascript:;">直接登录</a> </span> </div> </form> </div> <div id="reset_container" class="form_container hide"> <h3 id="psdTitle">找回密码</h3> <form onsubmit="return false" autocomplete="off"> <div class="input phone"><input name="resetPhone" type="text" placeholder="请输入手机号" /> </div> <div class="row"> <div class="col-xs-7"> <div class="input code"><input name="resetSmsCode" type="text" placeholder="请输入短信验证码" /></div> </div> <div class="col-xs-5"> <button type="button" class="smsCode_btn">获取短信验证码</button> </div> </div> <div class="input pwd"> <input name="resetPassword" type="password" autocomplete="new-password" placeholder="请输入密码" /> <i class="show_pwd iconfont iconfont-eye-close"></i> </div> <div class="input confirmPwd"> <input name="resetConfirm" type="password" autocomplete="new-password" placeholder="请再次输入一次" /> <i class="show_pwd iconfont iconfont-eye-close"></i> </div> <div class="submit_btn"> <input type="submit" id="psdValue" value="找回密码" onclick="resetSubmit()"> </div> <div class="forget"> <a id="reset_active" href="javascript:;">开通帐号</a> <span> 已有帐号? <a id="reset_login" href="javascript:;">直接登录</a> </span> </div> </form> </div> </div> </div> </div> <div class="login_bgr"></div> </div> <div class="swiper-slide full_screen"> <div class="product_container"> <div class="product default_width"> <h2>产品介绍</h2> <div class="product_info"> <dl class="type1"> <dt><a href="/category/practice"></a><img src="/images/product/pro_2.png" alt=""> </dt> <dd><a href="/category/practice">课后练习</a></dd> </dl> <dl class="type1"> <dt><img src="/images/product/pro_9.png" alt=""></dt> <dd>考前复习(开发中)</dd> </dl> <dl class="type1"> <dt><a href="/category/test"></a><img src="/images/product/pro_3.png" alt=""></dt> <dd><a href="/category/test">考试中心</a></dd> </dl> <dl class="type1"> <dt><a href="/category/report"></a><img src="/images/product/pro_5.png" alt=""></dt> <dd><a href="/category/report">考后评测</a></dd> </dl> <dl class="type1"> <dt><a href="/category/resource"></a><img src="/images/product/pro_4.png" alt=""> </dt> <dd><a href="/category/resource">资源库</a></dd> </dl> <dl class="type2"> <dt><a href="/category/paike"></a><img src="/images/product/pro_6.png" alt=""></dt> <dd><a href="/category/paike">排课</a></dd> </dl> <dl class="type3"> <dt><a href="/category/student"></a><img src="/images/product/pro_7.png" alt=""> </dt> <dd><a href="/category/student">学生课外练</a></dd> </dl> <dl class="type3"> <dt><a href="/category/parent"></a><img src="/images/product/pro_8.png" alt=""></dt> <dd><a href="/category/parent">家长端</a></dd> </dl> </div> </div> </div> </div> <div class="swiper-slide full_screen"> <div class="trade_container"> <div class="trade default_width"> <h2>行业动态</h2> <div class="trade_line"></div> <img class="trade_pc" src="/images/trade/tra_1.png" alt=""> <a class="gkgg" href="javascript:;"> <span class="trade_bgr"></span> <span class="trade_pointer"></span> 政策导航 </a> <a class="jll" href="javascript:;"> <span class="trade_bgr"></span> <span class="trade_pointer"></span> 学术动态 </a> <a class="institute" href="javascript:;"> <span class="trade_bgr"></span> <span class="trade_pointer"></span> 会课教学研究院 </a> <a class="shjts" href="javascript:;"> <span class="trade_bgr"></span> <span class="trade_pointer"></span> 实践探索 </a> </div> </div> </div> <div class="swiper-slide full_screen"> <div class="school_container"> <div class="school default_width"> <h2>名校联盟</h2> <div class="school_name shadows"> <img src="/images/school_1.png" alt=""> </div> <h3>合作学校</h3> <div class="swiper-container school_list"> <div class="swiper-wrapper"> <div class="swiper-slide"> <span>安徽省亳州市第一中学</span> <span>合肥市第三十二中学</span> <span>淮北市开渠中学</span> <span>安庆市皖江高级中学</span> <span>马鞍山阳光学校</span> <span>安徽省临泉第二中学</span> </div> <div class="swiper-slide"> <span>巢湖二中</span> <span>藤县二中</span> <span>横县二高</span> <span>崇左高中</span> <span>南宁34中</span> <span>新洲中学</span> <span>桂平第一中学</span> <span>南宁二中</span> <span>南宁28中</span> </div> <div class="swiper-slide"> <span>南宁市第四十二中学</span> <span>卫辉市第一中学</span> <span>郑州市扶轮外国语学校</span> <span>河南省淇县第一中学</span> <span>鄢陵县第二高级中学</span> <span>郑州市第三十一中学</span> </div> <div class="swiper-slide"> <span>河南师范大学附属中学</span> <span>河南师范大学附属中学金龙学校</span> <span>河南省卢氏县第一高级中学</span> <span>安阳市三十六中学</span> <span>青田县船寮中学</span> </div> <div class="swiper-slide"> <span>浙江省新昌中学</span> <span>嘉兴嘉高实验中学</span> <span>淳安县汾口中学</span> <span>开化县马金中学</span> <span>磐安县第二中学</span> <span>宁波光华中学</span> <span>湖州练市中学</span> </div> <div class="swiper-slide"> <span>慈湖中学</span> <span>镇海区龙赛中学</span> <span>嘉兴第四高级中学</span> <span>嘉兴第三高级中学</span> <span>武利中学</span> <span>滁州中学</span> <span>安吉县高级中学</span> </div> </div> </div> </div> </div> </div> <div class="swiper-slide full_screen"> <div class="about_container"> <div class="about_us default_width"> <h2><a href="/category/about">关于我们</a></h2> <a class="about_img img_fn" href="/category/about">北京会通教育科技有限公司,简称“会通教育”,成立于2014年,是一家专注于k12教育的互联网高科技企业,公司自创立以来一直致力于研发智能化、个性化学习产品,通过互联网、大数据等方式,打造为广大教师、学生提供的在线练习、智能组卷、多种形式分发作业、学习能力报告等功能的智能化教学平台。</a> <a class="about_img img_pc" href="/category/about"><img class="about_pc_fn" src="/images/index_7.png" alt=""></a> </div> <div class="footer_container"> <div class="footer default_width"> <p>公司地址:北京市海淀区丹棱街1号院1号楼11层1107</p> <p>© 2016-<span id="nowyear"></span> 北京会通教育科技有限公司 <a href="https://beian.miit.gov.cn">京ICP备15036618号-1</a></p> <p>违法和不良信息公开举报电话: 010-82582561</p> <p>举报邮箱: jubao@huitongjy.com</p> <div style="padding-left:120px;"> <a style="color:#fff;font-size:12px;" target="_blank" href="https://www.beian.gov.cn/portal/registerSystemInfo?recordcode=11010802026886" style="display:inline-block;text-decoration:none;height:20px;line-height:20px;"><img src="/images/beian.png" />&nbsp; 京公网安备 11010802026886号</a> </div> <img class="ewm" height="115" src="/images/ewm.png" alt=""> </div> </div> </div> </div> </div> <div class="swiper-pagination"></div> </div> </div> <div class="modal fade" id="schoolModal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h4 class="modal-title">请选择要登录的学校</h4> </div> <div class="modal-body"> <div class="row"> <div class="col-xs-8" id="chooseSchool"> <select class="form-control"> </select> </div> <div class="col-xs-4"> <button type="button" class="btn btn-primary" data-dismiss="modal" id="selectSchool">确定</button> </div> </div> </div> </div> </div> </div> <div class="modal fade" id="loginInfoModal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-body"> <p id="loginInfo"></p> <p>若需要同时登录多个系统,请打开其他浏览器</p> </div> <div class="modal-footer"> <a data-dismiss="modal">使用其他帐号</a> <button type="button" class="btn btn-primary" data-dismiss="modal" onclick="loginRedirect()">确定</button> </div> </div> </div> </div> <div class="modal fade" id="modifyPsdModal"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-body modify-box"> <p class="modify-title">系统检测到您的密码仍是默认密码</p> <p class="modify-txt">为了您账号的安全,请修改密码</p> </div> <div class="modal-footer"> <button type="button" class="btn btn-primary" data-dismiss="modal" onclick="modifyRedirect()">去修改</button> </div> </div> </div> </div> <script type="text/javascript" src="/js/jquery.js"></script> <script src="/js/swiper-3.3.1.min.js"></script> <script src="/js/cascader.js"></script> <script src="/js/util.js"></script> <script type="text/javascript" src="/zui/zui.min.js"></script> <script src="/js/es6-promise.auto.min.js"></script> <script> var domain = location.host.replace(/^(www\.|www2\.)/g,'') var g = "" var app = 2 var loginType = 0 var currentContainer = '#login_container' var smsMax = 3; var validator = null; var appId = location.host.indexOf('willclass') > -1 ? '2072513305' : '2089843330' var qrcodeTimeout, validateQRCode, timerId console.log(g) if (localStorage.getItem('a')){ $('.account_login').find('.phone input').val(localStorage.getItem('a')); $('.account_login').find('.pwd input').val(localStorage.getItem('p')); $('.account_login').find('.checkbox input').prop('checked', true) } else { $('.account_login').find('.phone input').val(''); $('.account_login').find('.pwd input').val(''); $('.account_login').find('.checkbox input').prop('checked', false) } document.getElementById('nowyear').innerHTML = new Date().getFullYear(); $('.type1').hover(function () { $('.type1').addClass('shadows'); }, function () { $('.type1').removeClass('shadows'); }) $('.type2').hover(function () { $('.type2').addClass('shadows'); }, function () { $('.type2').removeClass('shadows'); }) $('.type3').hover(function () { $('.type3').addClass('shadows'); }, function () { $('.type3').removeClass('shadows'); }) var dtime = new Date().getTime(); var mySwiper = new Swiper('.school_list', { direction: 'horizontal', autoplay: 1200, loop: true, speed: 1500, }) var flag = true; var t1, t2, t3, t4, t5; var mySwiper2 = new Swiper('.big_full', { direction: 'vertical', mousewheelControl: true, pagination: '.swiper-pagination', paginationClickable: true, onlyExternal: true, onSlideChangeEnd: function (swiper) { if (mySwiper2.activeIndex == 2) { if (flag) { $(".trade_line").animate({ width: "1000px", }, 2000); // t1=setTimeout(function(){ // $('.trade_pc').css('opacity','1'); // },500); t2 = setTimeout(function () { $('.gkgg').css('opacity', '1'); }, 200); t3 = setTimeout(function () { $('.jll').css('opacity', '1'); }, 700); t4 = setTimeout(function () { $('.institute').css('opacity', '1'); }, 1100); t5 = setTimeout(function () { $('.shjts').css('opacity', '1'); }, 1500); } flag = false; $('.about_pc_fn').fadeOut(100); } else if (mySwiper2.activeIndex == 4) { $('.about_pc_fn').fadeIn(1000); flag = true; $(".trade_line").stop(true).animate({ width: "266px", }, 200); // clearTimeout(t1); clearTimeout(t2); clearTimeout(t3); clearTimeout(t4); clearTimeout(t5); // $('.trade_pc').css('opacity','0'); $('.gkgg').css('opacity', '0'); $('.jll').css('opacity', '0'); $('.institute').css('opacity', '0'); $('.shjts').css('opacity', '0'); } else { $('.about_pc_fn').fadeOut(100); flag = true; $(".trade_line").stop(true).animate({ width: "266px", }, 200); // clearTimeout(t1); clearTimeout(t2); clearTimeout(t3); clearTimeout(t4); clearTimeout(t5); // $('.trade_pc').css('opacity','0'); $('.gkgg').css('opacity', '0'); $('.jll').css('opacity', '0'); $('.institute').css('opacity', '0'); $('.shjts').css('opacity', '0'); } } }) $('#cascaderbox').on('mouseover',mySwiper2.disableMousewheelControl) $('#cascaderbox').on('mouseout',mySwiper2.enableMousewheelControl) function validatorShow(needValidator){ if(!needValidator){ return Promise.resolve('我是占位的') } if(validator) return validator; return new Promise((resolve,reject)=>{ validator = new TencentCaptcha(appId, function(res){ //ret:验证结果,0:验证成功。2:用户主动关闭验证码。 if(res.ret == 0){ resolve({ appid:res.appid, ticket:res.ticket, randStr:res.randstr }) }else{ reject(res); } validatorDestroy(); }); validator.show(); }) } function validatorDestroy(){ validator && validator.destroy(); validator = null; } function request(url, data, success) { var options = { headers: { 'HT-app': app }, dataType: 'json', contentType: 'application/json', method: 'POST', url: url, success: function (result) { if(result.status === 16){ //弱密码拦截 switchFormContainer('#reset_container') $("#psdTitle").text('找回密码') $("#psdValue").val('找回密码') Util.message('密码强度不足,请先修改密码') }else{ success && success(result) } } } if (data) options.data = JSON.stringify(data) $.ajax(options) } var lists2 = [] var cascader = $('#cascaderbox').cascader({ data: lists2, changeOnSelect: true, //开启选择任意级 searchFn: function(label, callback){ request( '/api/v100/user_new/page/fetch/school/info', { schoolTypeCode: 3, schoolName: label, pageSize: 100000 }, function (result) { if (result.status == 0) { callback(result.data.result.map(function(item){ return {value: item.schoolId, label: item.schoolName} })) } } ) }, selectFn: function (selectjson) { //selectFn回调函数 if (selectjson.length == 2) { var i = lists2.findIndex(function(item){ return item.value == selectjson[0].value }) var j = lists2[i].children.findIndex(function(item){ return item.value == selectjson[1].value }) var curRegion = lists2[i].children[j] request( '/api/v100/user_new/page/fetch/school/info', { schoolTypeCode: 3, provinceId: selectjson[0].value, cityId: selectjson[1].value, pageSize: 100000 }, function (result) { if (result.status == 0) { curRegion.children = result.data.result.map(function(item){ return {value: item.schoolId, label: item.schoolName} }) cascader.update(lists2,true) } } ) } else if (selectjson.length == 3){ $("#activeSchoolId").val(selectjson[2].value) } else { $("#activeSchoolId").val(selectjson[0].value) } } }); function validLoginInfo() { request( '/api/v100/ssonew/fetch/login/info', null, function (result) { if (result.status == 0) { if (result.data.phone) { $('#loginInfo').html('是否以 <b style="color:#f66152">'+result.data.accountName+' '+result.data.phone+'</b> 登录 '+['','','教师端','','学生端'][app]) $('#loginInfoModal').modal('show',true) } } else { Util.message(result.msg) } } ) } validLoginInfo() function loginRedirect(){ if (app == 4){ location.href = 'https://s.' + domain + '/login'; } else { fetchSchools() } } function modifyRedirect() { switchFormContainer('#reset_container') $("#psdTitle").text('修改密码') $("#psdValue").val('修改密码') const accountPhone = $('#account_login').find('.phone input').val(); const smsPhone = $('#sms_login').find('.phone input').val(); if(loginType == 0) { $('#reset_container').find('.phone input').val(accountPhone); }else if(loginType == 1) { $('#reset_container').find('.phone input').val(smsPhone); } } request( '/api/v100/user_new/fetch/region/tree/info', { parentId: "0", loopCount: 2 }, function (result) { if (result.status == 0) { lists2 = result.data.map(function (item) { item.value = item.regionId item.label = item.name item.children = item.treeResponses.map(function(child){ child.value = child.regionId child.label = child.name child.children = [] return child }) return item }) cascader.update(lists2) } } ) function checkAndCreateQRCode(){ clearTimeout(qrcodeTimeout) clearTimeout(validateQRCode) $(".qrcode_valid,.valid_msg").css("display", "none") $('.qrcode_img,.qrcode_msg').css("display","block") var container = $('#login_container') request( '/create/qrcode', null, function (result) { if (result.status == 0) { var image = new Image() var image_valid = new Image() image.src = result.data.url; image_valid.src = result.data.url; $(".qrcode_img").empty().append(image) $(".qrcode_valid_img").empty().append(image_valid) var expiredTime = (result.data.expiredTime - 2) * 1000 qrcodeTimeout = setTimeout(function(){ clearTimeout(qrcodeTimeout) clearTimeout(validateQRCode) $(".qrcode_valid,.valid_msg").css("display", "block") $('.qrcode_img,.qrcode_msg').css("display","none") }, expiredTime) checkQRCodeValidate(result.data.uuid) } } ) } function checkQRCodeValidate(uuid){ var container = $('#login_container') validateQRCode = setTimeout(function(){ request( '/api/v100/ssonew/validate/qrcode/login', {uuid: uuid}, function (result) { if (result.status == 9){ checkQRCodeValidate(uuid) } else if(result.status == 0){ fetchSchools() } else if(result.status == 23){ $('#modifyPsdModal').modal('show',true) } else { Util.message(result.msg) } } ) }, 2000) } $('#roles button').on('click', function(){ $('#roles button>.point').removeClass('checked') $(this).find('.point').addClass('checked') app = [2,4][$(this).index('#roles button')] if (app == 2){ $('#login_container').removeClass('student').addClass('teacher') $('#active_container .account input').attr('placeholder','请输入教师号') } else { $('#login_container').removeClass('teacher').addClass('student') $('#active_container .account input').attr('placeholder','请输入学生号') //checkAndCreateQRCode() } validLoginInfo() }) $('.login_tab').on('click', function (e) { $(this).find('div').removeClass('active') $(e.target).parent().addClass('active') if (e.target.id == 'account_tab') { $(".account_login").removeClass('hide') $(".sms_login").addClass('hide') $(".qrcode_login").addClass('hide') loginType = 0 clearTimeout(validateQRCode) let phone = $('.sms_login').find('.phone input').val(); $('.account_login').find('.phone input').val(phone); } else if (e.target.id == 'sms_tab'){ $(".sms_login").removeClass('hide') $(".account_login").addClass('hide') $(".qrcode_login").addClass('hide') loginType = 1 clearTimeout(validateQRCode) let phone = $('.account_login').find('.phone input').val(); $('.sms_login').find('.phone input').val(phone); } else { $('#code_tab_active').addClass('active') // 点击扫码登录两侧边缘时,获取不到$(e.target).parent(),手动赋active类名 $(".qrcode_login").removeClass('hide') $(".sms_login").addClass('hide') $(".account_login").addClass('hide') let phone = $('.account_login').find('.phone input').val(); let phone_sms = $('.sms_login').find('.phone input').val(); $('#reset_container').find('.phone input').val(phone || phone_sms); checkAndCreateQRCode() } }) $('#reset_container').find('.phone input').on('input propertychange', function(e) { e.stopPropagation(); console.log('aaaa') }); function syncPhone(type) { if(type == 1) { const phone = $('#account_login').find('.phone input').val(); $('#sms_login').find('.phone input').val(phone); $('#reset_container').find('.phone input').val(phone); } else if(type == 2) { const phone = $('#sms_login').find('.phone input').val(); $('#account_login').find('.phone input').val(phone); $('#reset_container').find('.phone input').val(phone); } else { const phone = $('#reset_container').find('.phone input').val(); $('#sms_login').find('.phone input').val(phone); $('#account_login').find('.phone input').val(phone); } } $('#account_active').on('click',function(){ // 密码登录页:激活账号 syncPhone(1) switchFormContainer('#active_container') }) $('#account_reset').on('click',function(){ // 密码登录页:忘记密码 syncPhone(1) switchFormContainer('#reset_container') $("#psdTitle").text('找回密码') $("#psdValue").val('找回密码') }) $('#sms_active').on('click',function(){ // 短信登录页:激活账号 syncPhone(2) switchFormContainer('#active_container') }) $('#sms_reset').on('click',function(){ // 短信登录页:忘记密码 syncPhone(2) switchFormContainer('#reset_container') $("#psdTitle").text('找回密码') $("#psdValue").val('找回密码') }) $('#reset_active').on('click',function(){ // 忘记密码页:开通账号 syncPhone(3) switchFormContainer('#active_container') }) $('#reset_login').on('click',function(){ // 忘记密码页:直接登录 syncPhone(3) switchFormContainer('#login_container') }) $('#active_reset,#code_reset').on('click',function(){ // 激活账号页:忘记密码 | 扫码登录页:忘记密码 switchFormContainer('#reset_container') $("#psdTitle").text('找回密码') $("#psdValue").val('找回密码') }) $('#active_login').on('click',function(){ // 激活账号页:直接登录 switchFormContainer('#login_container') }) $('#code_active').on('click',function(){ // 扫码登录页:激活账号 switchFormContainer('#active_container') }) function switchFormContainer(containerId){ clearTimeout(validateQRCode) $('.form_container').removeClass('hide').addClass('hide') //$(".form_container input:not([type='submit']").val('') if($(containerId).attr('id') == 'reset_container'){ $('#roles').css('display','none') } else { $('#roles').css('display','block') } if($(containerId).attr('id') == 'active_container'){ $('#active_container .step1').css({'display':'block'}) $('#active_container .step2').css({'display':'none'}) } $('.show_pwd').siblings('input')[0].type = 'password' $('.show_pwd').removeClass('iconfont-eye').addClass('iconfont-eye-close') $(containerId).removeClass('hide') currentContainer = containerId } $(".smsCode_btn").on('click', fetchSmsCode) function smsTimer($btn){ var time = 60; $btn.attr('disabled',true) $btn.text("重新发送("+time+")") return (function(){ timerId = setInterval(function(){ time--; if (time == 0){ clearInterval(timerId) timerId=null $btn.text("重新发送") $btn.attr('disabled',false) return; } $btn.text("重新发送("+time+")") },1000) })() } function fetchSmsCode(randStr, ticket){ if(timerId) return; var phone, url, btn; if (currentContainer == "#login_container"){ phone = $('.sms_login .phone').find('input').val(); url = '/api/v100/ssonew/login/sms/authcode' btn = $(".sms_login").find('.smsCode_btn') } else if (currentContainer == "#reset_container"){ phone = $('#reset_container .phone').find('input').val(); url = '/api/v100/ssonew/modifypwd/sms/authcode' btn = $("#reset_container").find('.smsCode_btn') } else { phone = $('#active_container .phone').find('input').val(); url = '/api/v100/ssonew/useractive/sms/authcode' btn = $("#active_container").find('.smsCode_btn') } if (checkPhone(phone)){ var data = {phone: phone} if (ticket){ data = { phone: phone, randStr: randStr, ticket: ticket } } request( url, data, function (result) { if (result.status == 0) { if (!ticket && result.data >= (smsMax - 1)){ validatorShow(true).then(function(res){ fetchSmsCode(res.randStr, res.ticket) }) } else { smsTimer(btn) } } else { Util.message(result.msg) } } ) } } // 登录手机号校验 function checkPhone(phone) { if (phone) { if (/^1\d{10}$/.test(phone)) { return true } else { Util.message('您输入的手机号有误'); return false; } } else { Util.message('您输入的手机号不能为空!'); return false; } return true; } function checkPwd(pwd) { if (!/^(?![a-zA-Z]+$)(?![A-Z0-9]+$)(?![A-Z\W_]+$)(?![a-z0-9]+$)(?![a-z\W_]+$)(?![0-9\W_]+$)[a-zA-Z0-9\W_]{8,30}$/.test(pwd)) { Util.message('密码至少8位,且至少包含大写字母、小写字母、数字、特殊符号中的3种',4000); return false; } return true } function checkConfirmPwd(confirmPwd, pwd) { if (confirmPwd != pwd) { Util.message('两次输入的密码不一致'); return false; } return true } function checkCode(code) { if (!code) { Util.message('您输入的短信验证码不能为空!'); return false; } return true } function checkSchool(school) { if (!school) { Util.message('请选择学校'); return false; } return true } function checkAccount(account) { if (!account) { Util.message(app == 2?'请输入教师号':'请输入学生号'); return false; } return true } function checkName(name) { if (!name) { Util.message('请输入姓名'); return false; } return true } function checkErrorTimes(phone, pwd){ request( '/api/v100/ssonew/op/errorcount', {phone:phone}, function(result){ if (result.status == 0) { validatorShow(result.data >= (smsMax-1)).then(function(res){ var postObj = { phone: phone, pwd: pwd, loginType: loginType } if(typeof res === 'object'){ postObj.ticket = res.ticket postObj.randStr = res.randStr } login(postObj) }) } else { Util.message(result.msg) } } ) } function accountSubmit(e) { var phone = $('.account_login').find('.phone input').val(); var pwd = $('.account_login').find('.pwd input').val(); if(checkPhone(phone)){ if(!pwd) { Util.message('请输入密码'); return } checkErrorTimes(phone, pwd) } } function smsSubmit(){ var phone = $('.sms_login').find('.phone input').val(); var smsAuthCode = $('.sms_login').find('.code input').val(); if(phone) { if(checkPhone(phone)) { if(smsAuthCode){ login({phone: phone, smsAuthCode: smsAuthCode, loginType: loginType}) } else { fetchSmsCode() } } }else{ Util.message('您输入的手机号不能为空!'); } } function resetSubmit(){ var phone = $('#reset_container').find('.phone input').val(); var smsAuthCode = $('#reset_container').find('.code input').val(); var pwd = $('#reset_container').find('.pwd input').val(); var confirmPwd = $('#reset_container').find('.confirmPwd input').val(); if (checkPhone(phone) && checkCode(smsAuthCode) && checkPwd(pwd) && checkConfirmPwd(confirmPwd, pwd)) { reset({phone: phone, smsCode: smsAuthCode, pwd: pwd, confirmPwd: confirmPwd}) } } function nextSubmit(){ var schoolId = $('#active_container').find('#activeSchoolId').val(); var userAccount = $('#active_container').find('.account input').val(); var name = $('#active_container').find('.name input').val(); var phone = $('#active_container').find('.phone input').val(); var smsCode = $('#active_container').find('.code input').val(); var apiSystemCode = app == 2 ? 2 : 1 if (checkSchool(schoolId) && checkAccount(userAccount) && checkName(name) && checkPhone(phone) && checkCode(smsCode)) { checkActive({schoolId:schoolId,userAccount:userAccount,name:name,phone:phone,smsCode:smsCode,apiSystemCode: apiSystemCode}) } } function activeSubmit(){ var schoolId = $('#active_container').find('#activeSchoolId').val(); var userAccount = $('#active_container').find('.account input').val(); var name = $('#active_container').find('.name input').val(); var phone = $('#active_container').find('.phone input').val(); var smsCode = $('#active_container').find('.code input').val(); var pwd = $('#active_container').find('.pwd input').val(); var confirmPwd = $('#active_container').find('.confirmPwd input').val(); var apiSystemCode = app == 2 ? 2 : 1 if (checkSchool(schoolId) && checkAccount(userAccount) && checkName(name) && checkPhone(phone) && checkCode(smsCode) && checkPwd(pwd) && checkConfirmPwd(confirmPwd, pwd)) { active({schoolId:schoolId,userAccount:userAccount,name:name,phone:phone,smsCode:smsCode,pwd:pwd,confirmPwd:confirmPwd,apiSystemCode: apiSystemCode}) } } function login(data) { request( '/api/v100/ssonew/login', data, function (result) { if (result.status == 0) { if (data.loginType == 0){ if($('.account_login').find('.checkbox input').prop('checked')){ localStorage.setItem('a', data.phone); localStorage.setItem('p', data.pwd); } else { localStorage.removeItem('a'); localStorage.removeItem('p'); } } if (app == 2){ fetchSchools() } else { location.href = 'https://s.' + domain + '/login' } } else if(result.status == 23){ // 修改初始密码 $('#modifyPsdModal').modal('show',true) } else { Util.message(result.msg) } } ) } function fetchSchools(){ request( '/api/v100/user_new/fetch/teacher/own/schools', null, function(result){ if (result.status == 0){ var options = '' result.data.forEach(function(item){ options += '<option value='+item.schoolId+'>'+item.schoolName+'</option>' }) if (result.data.length == 1){ selectSchool(result.data[0].schoolId) } else { $('#chooseSchool select').html(options) $("#schoolModal").modal({show:true}) } } else { Util.message(result.msg) } } ) } $('#selectSchool').on('click', function(){ selectSchool($('#chooseSchool select').val()) }) $('.show_pwd').on('click', function(){ var input = $(this).siblings('input')[0] if($(this).hasClass('iconfont-eye')){ input.type = 'password' $(this).removeClass('iconfont-eye').addClass('iconfont-eye-close') }else{ input.type = 'text' $(this).addClass('iconfont-eye').removeClass('iconfont-eye-close') } }) function selectSchool(id){ request( '/api/v100/user_new/set/schoolid/to/cookie', {schoolId: id}, function(result){ if (result.status == 0){ location.href = 'https://t.' + domain + '/login/?g='+g } else { Util.message(result.msg) } } ) } function reset(data) { request( '/api/v100/user_new/forgot/password', data, function (result) { if (result.status == 0) { Util.message("密码修改成功") switchFormContainer($('#login_container')) } else { Util.message(result.msg) } } ) } function checkActive(data){ request( '/api/v100/user_new/check/teacherOrStudent/active/info', data, function (result) { if (result.status == 0) { if (result.data){ active(data) } else { $('#active_container .step1').css({'display':'none'}) $('#active_container .step2').css({'display':'block'}) } } else { Util.message(result.msg) } } ) } function active(data){ request( '/api/v100/user_new/active/account', data, function (result) { if (result.status == 0) { Util.message("激活成功,请登录") switchFormContainer($('#login_container')) } else { Util.message(result.msg) } } ) } </script> <script> var _hmt = _hmt || []; (function () { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?90f25cfb99ca64dd04586cdbd67afd78"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10