| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376 |
- define([
- 'html!templates/user/userLogin',
- 'css!styles/user/userLogin'
- ],
- function(tpcLyout) {
- /**
- * 模块状态,用于存储模块的状态 例如:收起,关闭
- * @type {Object}
- */
- var status = {
- initialized: false,
- showUserLogin: false,
- forgetStatu: false
- };
- /**
- * 模块数据 用于数据存储和外部调用
- * @type {Object}
- * 数据存放
- */
- var modValue = {
- loginUrl: onemapUrlConfig.login_serverUrl
- };
- function init() {
- if (!status.initialized) {
- $("body").append(tpcLyout)
- bindEvents();
- status.initialized = true;
- } else {
- $("#userLogin").removeClass("hide");
- }
- }
- function bindEvents() {
- /**
- * 交互
- */
- $("#userLogin .close").bind('click', function() {
- $("#userLogin").addClass("hide");
- })
- //注册
- $("#userLogin .openReg").bind('click', function() {
- $("#userLogin .login").hide();
- $("#userLogin .regist").show();
- })
- //登录
- $("#userLogin .openLogin").bind('click', function() {
- $("#userLogin .login").show();
- $("#userLogin .regist").hide();
- })
- //复选框
- $("#userLogin .autoLogin,#userLogin .check").bind('click', function() {
- if ($(this).hasClass('active')) {
- $(this).removeClass('active');
- } else {
- $(this).addClass('active');
- }
- })
- //登录方式
- $("#userLogin .head .passWay").bind('click', function() {
- $("#userLogin .head span").removeClass('active');
- $(this).addClass('active');
- $("#userLogin .passShow").addClass('show');
- $("#userLogin .msgShow").removeClass('show');
- $("#userLogin .login .user").attr("placeholder", "请输入邮箱");
- })
- $("#userLogin .head .msgWay").bind('click', function() {
- $("#userLogin .head span").removeClass('active');
- $(this).addClass('active');
- $("#userLogin .msgShow").addClass('show');
- $("#userLogin .passShow").removeClass('show');
- $("#userLogin .login .user").attr("placeholder", "请输入手机号").text("");
- })
- /**
- * 交互结束
- */
- /**
- * 请求开始
- */
- //忘记密码
- $("#userLogin .forgetPass").bind('click',function(){
- $("#userLogin .regist").show();
- $("#userLogin .login").hide();
- $("#userLogin .regist li.queding").show();
- $("#userLogin .regist .zhuce,#userLogin .regist .xieyi,#userLogin .regist .other").hide();
- $("#userLogin .regist .para").eq(0).hide();
- status.forgetStatu = true;
- })
- $("#userLogin .regist button.queding").bind('click',function(){
- var shouji = $("#userLogin .regist .regNum").val();
- var mima = $("#userLogin .regist .regPass").val();
- var yanzhengma = $("#userLogin .regist .yzm").val();
- if(shouji.length>0&&mima.length>0&&yanzhengma.length>0){
- $.ajax({
- url: onemapUrlConfig.login_serverUrl + '/v1.0/user/mobile/reset_password',
- method: 'POST',
- dataType: 'json',
- data: {
- mobile: shouji,
- password: mima,
- code: yanzhengma
- }
- }).done(function (data) {
- console.log(data);
- if (data.status == 0) {
- ONEMAP.C.publisher.publish({
- type: 'success',
- message: '重置密码成功'
- }, 'noteBar::add');
- $("#userLogin .regist").hide();
- $("#userLogin .login").show();
- $("#userLogin .regist li").show();
- $("#userLogin .regist li.queding").hide();
- status.forgetStatu = false;
- } else {
- ONEMAP.C.publisher.publish({
- type: 'warning',
- message: data.message
- }, 'noteBar::add');
- }
- })
- } else{
- // ONEMAP.C.publisher.publish({
- // type: 'warning',
- // message: '请填写正确信息'
- // }, 'noteBar::add');
- }
- })
- //注册获取验证码
- $("#userLogin .regist .getYzm").bind('click', function() {
- var num = $("#userLogin .regist .regNum").val();
- //验证手机号
- var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
- if (!reg.test(num)) {
- ONEMAP.C.publisher.publish({
- type: 'warning',
- message: '请输入正确的手机号'
- }, 'noteBar::add');
- } else {
- var pUrl = onemapUrlConfig.login_serverUrl + '/v1.0/user/mobile/register/code';
- if(status.forgetStatu){
- pUrl = onemapUrlConfig.login_serverUrl + '/v1.0/user/mobile/reset_password/code';
- }
- $.ajax({
- url: pUrl,
- method: 'POST',
- dataType: 'json',
- data: {
- mobile: num
- }
- }).done(function(data) {
- console.log(data);
- if (data.status == 0) {
- ONEMAP.C.publisher.publish({
- type: 'success',
- message: '获取成功'
- }, 'noteBar::add');
- } else {
- ONEMAP.C.publisher.publish({
- type: 'warning',
- message: data.message
- }, 'noteBar::add');
- }
- })
- }
- })
- //注册
- $("#userLogin .regist .regBtn").bind('click', function() {
- var check = $("#userLogin .regist .check").hasClass('active');
- if (!check) {
- $("#userLogin .regist .xieyi .redAlert").addClass('show');
- } else {
- $("#userLogin .regist .xieyi .redAlert").removeClass('show');
- }
- var redAlert = $("#userLogin .regist .para .redAlert");
- for (let i = 0; i < redAlert.length; i++) {
- if (redAlert.eq(i).next().val().length < 1) {
- redAlert.eq(i).addClass('show');
- } else {
- redAlert.eq(i).removeClass('show');
- }
- if (redAlert.eq(i).next().hasClass('regNum') && redAlert.eq(i).next().val().length < 11) {
- redAlert.eq(i).text('请输入正确的手机号').addClass('show');
- } else if (redAlert.eq(i).next().hasClass('regNum') && redAlert.eq(i).next().val().length >= 11) {
- var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
- if (!reg.test(redAlert.eq(i).next().val())) {
- ONEMAP.C.publisher.publish({
- type: 'warning',
- message: '请输入正确的手机号'
- }, 'noteBar::add');
- } else {
- redAlert.eq(i).text('请输入手机号').removeClass('show');
- }
- }
- if (redAlert.eq(i).next().hasClass('regPass') && redAlert.eq(i).next().val().length < 6) {
- redAlert.eq(i).text('密码不得少于6位').addClass('show');
- } else if (redAlert.eq(i).next().hasClass('regPass') && redAlert.eq(i).next().val().length >= 6) {
- redAlert.eq(i).text('请输入密码').removeClass('show');
- }
- }
- if (!redAlert.hasClass('show') && check) {
- $.ajax({
- url: onemapUrlConfig.login_serverUrl + '/v1.0/user/mobile/register',
- method: 'POST',
- dataType: 'json',
- data: {
- username: $("#userLogin .regist .regName").val(),
- mobile: $("#userLogin .regist .regNum").val(),
- password: $("#userLogin .regist .regPass").val(),
- code: $("#userLogin .regist .yzm").val()
- }
- }).done(function(data) {
- console.log(data);
- if (data.status == 0) {
- ONEMAP.C.publisher.publish({
- type: 'success',
- message: '获取成功'
- }, 'noteBar::add');
- } else {
- ONEMAP.C.publisher.publish({
- type: 'warning',
- message: data.message
- }, 'noteBar::add');
- }
- })
- }
- })
- // 协议
- $("#userLogin .regist li.xieyi a").bind('click', function() {
- $("#xieyi").addClass('active')
- })
- $("#xieyi .close").bind('click', function() {
- $("#xieyi").removeClass('active')
- })
- //登录获取验证码
- $("#userLogin .login .getYzm").bind('click', function() {
- var phoneNum = $("#userLogin .login .user").val();
- //验证手机号
- var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
- if (!reg.test(phoneNum)) {
- ONEMAP.C.publisher.publish({
- type: 'warning',
- message: '请输入正确的手机号'
- }, 'noteBar::add');
- } else {
- $.ajax({
- url: onemapUrlConfig.login_serverUrl + '/v1.0/user/mobile/login/code',
- method: 'POST',
- dataType: 'json',
- data: {
- mobile: phoneNum
- }
- }).done(function(data) {
- console.log(data);
- if (data.status == 0) {
- ONEMAP.C.publisher.publish({
- type: 'success',
- message: '获取成功'
- }, 'noteBar::add');
- } else {
- ONEMAP.C.publisher.publish({
- type: 'warning',
- message: data.message
- }, 'noteBar::add');
- }
- })
- }
- })
- //登录
- $("#userLogin .login .loginBtn").bind('click', function() {
- // 通过验证码
- if ($("#userLogin .msgShow").hasClass('show')) {
- var phoneNum = $("#userLogin .login .user").val();
- var yzm = $("#userLogin .login .yzm").val();
- //验证手机号
- var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
- if (!reg.test(phoneNum)) {
- ONEMAP.C.publisher.publish({
- type: 'warning',
- message: '请输入正确的手机号'
- }, 'noteBar::add');
- } else if (yzm.length < 1) {
- ONEMAP.C.publisher.publish({
- type: 'warning',
- message: '请输入验证码'
- }, 'noteBar::add');
- } else {
- $.ajax({
- url: onemapUrlConfig.oauthServiceUrl + '/v1.0/user/mobile/login',
- method: 'POST',
- dataType: 'json',
- headers: {
- "Cookie": ONEMAP.C.session,
- },
- data: {
- mobile: phoneNum,
- code: yzm
- }
- }).done(function(data) {
- console.log(data);
- if (data.status == 0) {
- ONEMAP.C.publisher.publish({
- type: 'success',
- message: '登录成功'
- }, 'noteBar::add');
- _.merge(ONEMAP.D.user, data.data);
- // ONEMAP.D.isLoad = true;
- ONEMAP.D.user.name = data.data.mobile;
- // ONEMAP.D.user.roles = data.data.roles;
- if (ONEMAP.D.user.name.indexOf("map_super_user") > -1) {
- $('#userContent .userInfo .moreLink .linkList li.set').show();
- }
- $("#userLogin").addClass('hide');
- $('#userContent .userInfo .moreLink,.lgtop').show();
- $('#userContent .popup-lt,#userContent .popup-lb,#userContent .popup-rt,#userContent .popup-rb').show();
- $('#userContent .username').html(ONEMAP.D.user.name); //填入用户名
- $("#userContent .mt10").show(); //展示上次登录时间
- $("#userContent .quit").show(); //展示退出登录
- $("#userContent .userInfo .login").hide(); //隐藏提示登录信息
- $("#userContent .userInfo .moreLink .linkList li.myBh").addClass('uFavo').addClass('active');
- } else {
- ONEMAP.C.publisher.publish({
- type: 'warning',
- message: data.message
- }, 'noteBar::add');
- }
- })
- }
- } else if ($("#userLogin .passShow").hasClass('show')) {
- var userEmail = $("#userLogin .login .user").val();
- var psd = $("#userLogin .login .lock").val();
- // shell示例
- // curl -v -XPOST 'http://202.107.245.52:3010/account/login' -H "Content-Type: application/json" -d '{"username": "admin", "password": "admin888"}'
- // curl -v 'http://202.107.245.52:3010/v1.0/user/me' -H 'Cookie: session=08eb5ff4-49a8-4efa-b725-228ceb24cda2'
- $.ajax({
- type: "POST",
- dataType: 'json',
- url: onemapUrlConfig.oauthServiceUrl + '/account/login', //3010
- contentType: 'application/json',
- headers: {
- "Cookie": ONEMAP.C.session,
- },
- data: JSON.stringify({
- "username": userEmail,
- "password": psd
- })
- }).done(function(data) {
- console.log(data)
- window.location.reload();
- }).error(function(data) {
- ONEMAP.C.publisher.publish({
- type: 'warning',
- message: '该用户尚未注册'
- }, 'noteBar::add');
- })
- }
- })
- //微信登录
- $("#userLogin .login img.weixin").bind('click', function() {
- window.location.replace(onemapUrlConfig.oauthServiceUrl + '/oauth_client/weixin/login?next=' + onemapUrlConfig.siteUrl);
- })
- $("#userLogin .login img.qq").bind('click', function() {
- window.location.replace(onemapUrlConfig.oauthServiceUrl + '/oauth_client/qq/login?next=' + onemapUrlConfig.siteUrl);
- })
- $("#userLogin .login img.weibo").bind('click', function() {
- window.location.replace(onemapUrlConfig.oauthServiceUrl + '/oauth_client/weibo/login?next=' + onemapUrlConfig.siteUrl);
- })
- }
- return ONEMAP.M.userLogin = {
- init: init
- }
- })
|