userLogin.js 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699
  1. (function ($) {
  2. $.fn.userLogin = function (param) {
  3. var html = '<div id="userLogin">' +
  4. '<div class="cover-content">' +
  5. '<div class="login">' +
  6. '<div class="left"><p class="loginBg"></p></div>' +
  7. '<ul class="right">' +
  8. '<li class="head">' +
  9. // '<span class="passWay active">密码登录</span>' +
  10. // '<span class="msgWay">短信登录</span>' +
  11. // '<p class="weixin">微信</p>' +
  12. // '<p class="qq">QQ</p>' +
  13. // '<p class="weibo">微博</p>' +
  14. // '<img src="../userLogin/images/wx.png" alt="微信" class="weixin">' +
  15. // '<img src="../userLogin/images/qq.png" alt="QQ" class="qq">' +
  16. // '<img src="../userLogin/images/weibo.png" alt="微博" class="weibo">' +
  17. '<button class="close"></button>' +
  18. '</li>' +
  19. '<li><input type="text" placeholder="请输入用户名" class="user"></li>' +
  20. '<li class="passShow show"><input type="password" placeholder="请输入密码" class="lock"></li>' +
  21. '<li class="msgShow"><input type="text" placeholder="请输入验证码" class="yzm"><button class="getYzm">获取短信验证码</button><div class="btn_cov"></div></li>' +
  22. '<li><button class="loginBtn">登录</button></li>' +
  23. '<li class="other"></li>' +// <button class="fl forgetPass">忘记密码</button> <button class="openReg fr">免费注册</button>
  24. '</ul>' +
  25. '</div>' +
  26. '<div class="regist">' +
  27. '<li class="para"><span class="menu">用户名</span><span class="redAlert">请输入用户名</span><input type="text" placeholder="请输入用户名" class="regName"></li>' +
  28. '<li class="para"><span class="menu">手机号</span><span class="redAlert">请输入手机号</span><input type="text" placeholder="可用于登录和找回密码" class="regNum"></li>' +
  29. '<li class="para"><span class="menu">密码</span><span class="redAlert">请输入密码</span><input type="password" placeholder="请设置登录密码" class="regPass"></li>' +
  30. '<li class="para li_cover"><span class="menu">验证码</span><span class="redAlert">请输入验证码</span><input type="text" placeholder="请输入验证码" class="yzm"><button class="getYzm">获取短信验证码</button><div class="btn_cov"></div></li>' +
  31. '<li class="xieyi"><span class="check"></span>阅读并接受《<a href="yonghuXieyi.html" target="_blank">MAPPLUS用户协议</a>》<span class="redAlert">请阅读协议及声明</span></li>' +
  32. '<li class="zhuce"><button class="regBtn">注册</button></li>' +
  33. '<li class="queding"><button class="queding">确定</button></li>' +
  34. '<li class="other">我已注册,现在去<button class="openLogin">登录</button></li>' +
  35. '<li class="back"><button class="openLogin">返回登录</button></li>' +
  36. '</div>' +
  37. '<div class="tip"></div>' +
  38. '</div>' +
  39. '</div>';
  40. $(this).append(html);
  41. //当前正在浏览的方式: pc/mobile
  42. var curNumCode = "sinup";
  43. function setTip(type, str) {
  44. $("#userLogin .tip").html(str)
  45. $("#userLogin .tip").addClass(type)
  46. $("#userLogin .tip").show()
  47. setTimeout(function () {
  48. $("#userLogin .tip").hide()
  49. $("#userLogin .tip").removeClass(type)
  50. $("#userLogin .tip").html("")
  51. }, 4000);
  52. }
  53. var cookie = {
  54. /**
  55. * 设置cookie
  56. * @type {Function}
  57. * @param name {String} 名称
  58. * @param value {String} 值
  59. * @param days {Number} 过期时间(天)
  60. * @example
  61. */
  62. set: function (name, value, days) {
  63. document.cookie = name + "=" + value;
  64. },
  65. /**
  66. * 获取cookie
  67. * @type {Function}
  68. * @param name {String} 名称
  69. * @returns {null|String} 返回值
  70. * @example
  71. */
  72. get: function (name) {
  73. var arr, reg = new RegExp("(^| )" + name + "=([^;]*)(;|$)");
  74. arr = document.cookie.match(reg);
  75. if (arr) {
  76. return arr[2];
  77. } else {
  78. return null;
  79. }
  80. },
  81. /**
  82. * 删除cookie
  83. * @type {Function}
  84. * @param name {String} 名称
  85. * @example
  86. */
  87. del: function (name) {
  88. var exp = new Date();
  89. exp.setTime(exp.getTime() - 1);
  90. var cval = this.get(name);
  91. if (cval !== null) document.cookie = name + "=" + cval + ";expires=" + exp.toGMTString();
  92. }
  93. }
  94. function uuid4() {
  95. var text = "";
  96. var length = [8, 4, 4, 4, 12];
  97. var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
  98. for (var j = 0; j < 5; j++) {
  99. for (var i = 0; i < length[j]; i++) {
  100. text += possible.charAt(Math.floor(Math.random() * possible.length));
  101. }
  102. if (j < 3) {
  103. text += "-"
  104. }
  105. }
  106. return text;
  107. }
  108. function getQueryString(name) {
  109. var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  110. var r = window.location.search.substr(1).match(reg);
  111. if (r != null) return decodeURI(r[2]);
  112. return '';
  113. };
  114. //判断接口中是否有session,如果有设置session
  115. if (getQueryString('session')) {
  116. session = getQueryString('session');
  117. cookie.del('session');
  118. cookie.set('session', session);
  119. var href = window.location.origin;
  120. window.location.replace(href);
  121. } else {
  122. session = uuid4();
  123. }
  124. var isLoad = false
  125. // $.ajax({
  126. // type: "get",
  127. // dataType: 'jsonp',
  128. // url: param.userServer + '/v1.0/user/me',
  129. // success: function (data) {
  130. // if (data.status == 401) {
  131. // isLoad = false
  132. // cookie.del('session');
  133. // cookie.set('session', session);
  134. // var callData = {
  135. // isLoad: isLoad,
  136. // userInfo: data.data
  137. // }
  138. // if (param.callback)
  139. // param.callback(callData)
  140. // } else {
  141. // //$("#userLogin").addClass('hide');
  142. // isLoad = true
  143. // if (param.callback)
  144. // var callData = {
  145. // isLoad: isLoad,
  146. // userInfo: data.data
  147. // }
  148. // getCurUserJWT(callData)
  149. // }
  150. // },
  151. // error: function (data) {
  152. // console.log(data)
  153. // }
  154. // });
  155. /**
  156. * 2024年1月31日10:40:41-add-刘梦祥
  157. * 1、判断地址栏是否有token
  158. * 2、验证token
  159. * 3、成功的话就默认用户登录
  160. * 4、不成功的话就跳转到他们的统一赋能平台
  161. */
  162. function inspectUrl() {
  163. const url = location.search
  164. let urlToken = "";
  165. if (url.indexOf("?token=") != -1) {
  166. urlToken = url.split("?token=")[1];
  167. verifyToken(urlToken);
  168. } else {
  169. goToLoginView();
  170. }
  171. }
  172. // 验证token
  173. function verifyToken(urlToken) {
  174. $.ajax({
  175. type: "POST",
  176. dataType: "json",
  177. url: "http://10.235.246.232:8000/api/sso/token/check?sysCode=87c9eb71-80dd-4b6a-8d1b-c1f1beafbb1b&secret=VEK0XKTF6VURFR8CAMKGZ4ZVMIP2N7O7&token=" + urlToken,
  178. success: function (result) {
  179. if (result.code == 0) {
  180. userLogin();
  181. } else {
  182. goToLoginView();
  183. }
  184. },
  185. error: function (err) {
  186. goToLoginView();
  187. }
  188. });
  189. }
  190. // 跳转到统一用户登录页面
  191. function goToLoginView() {
  192. window.open("http://10.235.246.232/web/ssologin?sysCode=87c9eb71-80dd-4b6a-8d1b-c1f1beafbb1b&callbackUrl=http://10.235.245.174:2024/", "_self");
  193. // window.open("http://10.235.246.232/web/ssologin?sysCode=87c9eb71-80dd-4b6a-8d1b-c1f1beafbb1b&callbackUrl=http://127.0.0.1:10152/", "_self");
  194. }
  195. if (localStorage.getItem("systemToken")) {
  196. $.ajax({
  197. type: "GET",
  198. headers: {
  199. token: localStorage.getItem("systemToken"),
  200. },
  201. dataType: "json",
  202. url: param.userServer + '/oauth/user/validateToken',
  203. success: function (result) {
  204. if (result.code == 200) {
  205. if (param.callback) {
  206. var callData = {
  207. isLoad: true,
  208. userInfo: JSON.parse(localStorage.getItem("userInfo"))
  209. }
  210. param.callback(callData)
  211. }
  212. } else {
  213. localStorage.removeItem("systemToken")
  214. localStorage.removeItem("userInfo")
  215. if (param.callback) {
  216. var callData = {
  217. isLoad: false
  218. }
  219. param.callback(callData)
  220. userLogin()
  221. // inspectUrl();
  222. }
  223. }
  224. },
  225. error: function (err) {
  226. localStorage.removeItem("systemToken")
  227. localStorage.removeItem("userInfo")
  228. if (param.callback) {
  229. var callData = {
  230. isLoad: false
  231. }
  232. param.callback(callData)
  233. userLogin()
  234. // inspectUrl();
  235. }
  236. }
  237. });
  238. } else {
  239. userLogin()
  240. // inspectUrl();
  241. }
  242. /**
  243. * [getCurUserJWT description]
  244. * 获取当前用户的jwt
  245. * @return {[type]} [description]
  246. */
  247. function getCurUserJWT(calldata) {
  248. $.ajax({
  249. type: "post",
  250. url: param.userServer + '/v1.0/user/jwt',
  251. success: function (data) {
  252. if (data.status == 0) {
  253. calldata.jwt = data.data;
  254. param.callback(calldata)
  255. }
  256. },
  257. error: function (data) {
  258. console.log(data)
  259. }
  260. });
  261. }
  262. /**
  263. * 交互
  264. */
  265. $("#userLogin .close").bind('click', function () {
  266. // $("#userLogin").addClass("hide");
  267. $("#userLogin").hide("hide");
  268. })
  269. //注册
  270. $("#userLogin .openReg").bind('click', function () {
  271. $("#userLogin .login").hide();
  272. $("#userLogin .regist").show();
  273. $("#userLogin .regist li.queding").hide();
  274. $("#userLogin .regist .zhuce, #userLogin .regist .xieyi, #userLogin .regist .other").show();
  275. $("#userLogin .regist .para").eq(0).show();
  276. $("#userLogin .regist .back").hide();
  277. curNumCode = "sinup";
  278. })
  279. //忘记密码
  280. $("#userLogin .forgetPass").bind('click', function () {
  281. $("#userLogin .regist").show();
  282. $("#userLogin .login").hide();
  283. $("#userLogin .regist li.queding").show();
  284. $("#userLogin .regist .zhuce, #userLogin .regist .xieyi, #userLogin .regist .other").hide();
  285. $("#userLogin .regist .para").eq(0).hide();
  286. $("#userLogin .regist .back").show();
  287. curNumCode = "forgetPass";
  288. })
  289. //登录
  290. $("#userLogin .openLogin").bind('click', function () {
  291. $("#userLogin .login").show();
  292. $("#userLogin .regist").hide();
  293. })
  294. //复选框
  295. $("#userLogin .autoLogin,#userLogin .check").bind('click', function () {
  296. if ($(this).hasClass('active')) {
  297. $(this).removeClass('active');
  298. } else {
  299. $(this).addClass('active');
  300. }
  301. })
  302. //登录方式
  303. $("#userLogin .head .passWay").bind('click', function () {
  304. $("#userLogin .head span").removeClass('active');
  305. $(this).addClass('active');
  306. $("#userLogin .passShow").addClass('show');
  307. $("#userLogin .msgShow").removeClass('show');
  308. $("#userLogin .login .user").attr("placeholder", "请输入用户名");
  309. })
  310. $("#userLogin .head .msgWay").bind('click', function () {
  311. $("#userLogin .head span").removeClass('active');
  312. $(this).addClass('active');
  313. $("#userLogin .msgShow").addClass('show');
  314. $("#userLogin .passShow").removeClass('show');
  315. $("#userLogin .login .user").attr("placeholder", "请输入手机号").text("");
  316. })
  317. // 协议
  318. $("#userLogin .regist li.xieyi a").bind('click', function () {
  319. $("#xieyi").addClass('active')
  320. })
  321. $("#xieyi .close").bind('click', function () {
  322. $("#xieyi").removeClass('active')
  323. })
  324. /**
  325. * 交互结束
  326. */
  327. /**
  328. * 请求开始
  329. */
  330. //重置密码
  331. $("#userLogin .regist button.queding").bind('click', function () {
  332. var shouji = $("#userLogin .regist .regNum").val();
  333. var mima = $("#userLogin .regist .regPass").val();
  334. var yanzhengma = $("#userLogin .regist .yzm").val();
  335. if (shouji.length > 0 && mima.length > 0 && yanzhengma.length > 0) {
  336. $.ajax({
  337. url: param.userServer + '/v1.0/user/mobile/reset_password',
  338. method: 'POST',
  339. dataType: 'json',
  340. data: {
  341. mobile: shouji,
  342. password: mima,
  343. code: yanzhengma
  344. }
  345. }).done(function (data) {
  346. console.log(data);
  347. if (data.status == 0) {
  348. setTip("success", "重置密码成功")
  349. $("#userLogin .regist").hide();
  350. $("#userLogin .login").show();
  351. $("#userLogin .regist li").show();
  352. $("#userLogin .regist li.queding").hide();
  353. } else {
  354. setTip("warning", data.message)
  355. }
  356. })
  357. } else {
  358. setTip("warning", '请填写正确信息')
  359. }
  360. })
  361. //注册获取验证码
  362. $("#userLogin .regist .getYzm").bind('click', function () {
  363. var num = $("#userLogin .regist .regNum").val();
  364. //验证手机号
  365. var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
  366. if (!reg.test(num)) {
  367. setTip("warning", '请输入正确的手机号')
  368. } else {
  369. if (curNumCode == "sinup") {
  370. var url = param.userServer + '/v1.0/user/mobile/register/code';
  371. } else {
  372. var url = param.userServer + '/v1.0/user/mobile/reset_password/code';
  373. }
  374. $.ajax({
  375. url: url,
  376. method: 'POST',
  377. dataType: 'json',
  378. data: {
  379. mobile: num
  380. }
  381. }).done(function (data) {
  382. console.log(data);
  383. if (data.status == 0) {
  384. showNumCover();
  385. setTip("success", '获取成功')
  386. } else {
  387. setTip("warning", data.message)
  388. }
  389. })
  390. }
  391. })
  392. //注册
  393. $("#userLogin .regist .regBtn").bind('click', function () {
  394. var check = $("#userLogin .regist .check").hasClass('active');
  395. if (!check) {
  396. $("#userLogin .regist .xieyi .redAlert").addClass('show');
  397. } else {
  398. $("#userLogin .regist .xieyi .redAlert").removeClass('show');
  399. }
  400. var redAlert = $("#userLogin .regist .para .redAlert");
  401. for (let i = 0; i < redAlert.length; i++) {
  402. if (redAlert.eq(i).next().val().length < 1) {
  403. redAlert.eq(i).addClass('show');
  404. } else {
  405. redAlert.eq(i).removeClass('show');
  406. }
  407. if (redAlert.eq(i).next().hasClass('regNum') && redAlert.eq(i).next().val().length < 11) {
  408. redAlert.eq(i).text('请输入正确的手机号').addClass('show');
  409. } else if (redAlert.eq(i).next().hasClass('regNum') && redAlert.eq(i).next().val().length >= 11) {
  410. var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
  411. if (!reg.test(redAlert.eq(i).next().val())) {
  412. setTip("warning", '请输入正确的手机号')
  413. } else {
  414. redAlert.eq(i).text('请输入手机号').removeClass('show');
  415. }
  416. }
  417. if (redAlert.eq(i).next().hasClass('regPass') && redAlert.eq(i).next().val().length < 6) {
  418. redAlert.eq(i).text('密码不得少于6位').addClass('show');
  419. } else if (redAlert.eq(i).next().hasClass('regPass') && redAlert.eq(i).next().val().length >= 6) {
  420. redAlert.eq(i).text('请输入密码').removeClass('show');
  421. }
  422. }
  423. if (!redAlert.hasClass('show') && check) {
  424. $.ajax({
  425. url: param.userServer + '/v1.0/user/mobile/register',
  426. method: 'POST',
  427. dataType: 'json',
  428. data: {
  429. username: $("#userLogin .regist .regName").val(),
  430. mobile: $("#userLogin .regist .regNum").val(),
  431. password: $("#userLogin .regist .regPass").val(),
  432. code: $("#userLogin .regist .yzm").val(),
  433. referer_src: document.title
  434. }
  435. }).done(function (data) {
  436. console.log(data);
  437. if (data.status == 0) {
  438. // ONEMAP.C.publisher.publish({
  439. // type: 'success',
  440. // message: '获取成功'
  441. // }, 'noteBar::add');
  442. setTip("success", '获取成功')
  443. } else {
  444. // ONEMAP.C.publisher.publish({
  445. // type: 'warning',
  446. // message: data.message
  447. // }, 'noteBar::add');
  448. setTip("warning", data.message)
  449. }
  450. })
  451. }
  452. })
  453. function showNumCover() {
  454. $("#userLogin .btn_cov").show();
  455. var i = 60;
  456. $("#userLogin .btn_cov").html(i + '秒后再次发送');
  457. setTimeout(function () {
  458. $("#userLogin .btn_cov").hide();
  459. clearInterval(interval);
  460. }, 60000)
  461. var interval = setInterval(function () {
  462. i--;
  463. $("#userLogin .btn_cov").html(i + '秒后再次发送');
  464. }, 1000)
  465. }
  466. //登录获取验证码
  467. $("#userLogin .login .getYzm").bind('click', function () {
  468. var phoneNum = $("#userLogin .login .user").val();
  469. //验证手机号
  470. var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
  471. if (!reg.test(phoneNum)) {
  472. // ONEMAP.C.publisher.publish({
  473. // type: 'warning',
  474. // message: '请输入正确的手机号'
  475. // }, 'noteBar::add');
  476. setTip("warning", "请输入正确的手机号!")
  477. } else {
  478. $.ajax({
  479. url: param.userServer + '/v1.0/user/mobile/login/code',
  480. method: 'POST',
  481. dataType: 'json',
  482. data: {
  483. mobile: phoneNum
  484. }
  485. }).done(function (data) {
  486. console.log(data);
  487. if (data.status == 0) {
  488. // ONEMAP.C.publisher.publish({
  489. // type: 'success',
  490. // message: '获取成功'
  491. // }, 'noteBar::add');
  492. showNumCover();
  493. setTip("success", "获取成功!")
  494. } else {
  495. // ONEMAP.C.publisher.publish({
  496. // type: 'warning',
  497. // message: data.message
  498. // }, 'noteBar::add');
  499. setTip("warning", data.message)
  500. }
  501. })
  502. }
  503. })
  504. $("#userLogin .login .lock").bind('keydown', function (e) {
  505. if (e.keyCode === 13) {
  506. userLogin();
  507. }
  508. });
  509. //登录
  510. $("#userLogin .login .loginBtn").bind('click', function () {
  511. userLogin();
  512. })
  513. function userLogin() {
  514. // var userEmail = $("#userLogin .login .user").val();
  515. // var psd = $("#userLogin .login .lock").val();
  516. var userEmail = "user_2025";
  517. var psd = "User@2025";
  518. $.ajax({
  519. url: param.userServer + '/oauth/user/login',
  520. method: 'POST',
  521. headers: {
  522. 'Content-Type': 'application/x-www-form-urlencoded;'
  523. },
  524. data: {
  525. userName: userEmail,
  526. password: psd,
  527. clientId: 0
  528. }
  529. }).done(function (data) {
  530. var result = JSON.parse(data);
  531. var content = result.content;
  532. content.name = content.username;
  533. content.nickname = content.username;
  534. if (result.code === 200) {
  535. localStorage.setItem("systemToken",
  536. result.message
  537. );
  538. localStorage.setItem("userInfo",
  539. JSON.stringify(content)
  540. );
  541. $("#userLogin").hide();
  542. var callData = {
  543. isLoad: true,
  544. userInfo: content
  545. }
  546. if (param.callback)
  547. param.callback(callData)
  548. setTimeout(() => {
  549. window.location.reload();
  550. }, 500);
  551. ONEMAP.C.publisher.publish({
  552. type: 'success',
  553. message: '登录成功!'
  554. }, 'noteBar::add');
  555. } else {
  556. var callData = {
  557. isLoad: false,
  558. }
  559. if (param.callback)
  560. param.callback(callData)
  561. ONEMAP.C.publisher.publish({
  562. type: 'error',
  563. message: '登录失败!'
  564. }, 'noteBar::add');
  565. }
  566. }).error(function (data) {
  567. // ONEMAP.C.publisher.publish({
  568. // type: 'warning',
  569. // message: '该用户尚未注册'
  570. // }, 'noteBar::add');
  571. // setTip("warning", '登录失败!')
  572. var callData = {
  573. isLoad: false,
  574. }
  575. if (param.callback)
  576. param.callback(callData)
  577. ONEMAP.C.publisher.publish({
  578. type: 'error',
  579. message: '登录失败!'
  580. }, 'noteBar::add');
  581. })
  582. return;
  583. // 通过验证码
  584. if ($("#userLogin .msgShow").hasClass('show')) {
  585. var phoneNum = $("#userLogin .login .user").val();
  586. var yzm = $("#userLogin .login .yzm").val();
  587. //验证手机号
  588. var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
  589. if (!reg.test(phoneNum)) {
  590. // ONEMAP.C.publisher.publish({
  591. // type: 'warning',
  592. // message: '请输入正确的手机号'
  593. // }, 'noteBar::add');
  594. setTip("warning", "请输入正确的手机号")
  595. } else if (yzm.length < 1) {
  596. // ONEMAP.C.publisher.publish({
  597. // type: 'warning',
  598. // message: '请输入验证码'
  599. // }, 'noteBar::add');
  600. setTip("warning", "请输入验证码")
  601. } else {
  602. $.ajax({
  603. url: param.userServer + '/v1.0/user/mobile/login',
  604. method: 'POST',
  605. dataType: 'json',
  606. headers: {
  607. "Cookie": session,
  608. },
  609. data: {
  610. mobile: phoneNum,
  611. code: yzm
  612. }
  613. }).done(function (data) {
  614. console.log(data);
  615. if (data.status == 0) {
  616. setTip("warning", '登录成功');
  617. window.location.reload();
  618. } else {
  619. // ONEMAP.C.publisher.publish({
  620. // type: 'warning',
  621. // message: data.message
  622. // }, 'noteBar::add');
  623. setTip("warning", data.message)
  624. }
  625. })
  626. }
  627. } else if ($("#userLogin .passShow").hasClass('show')) {
  628. var userEmail = $("#userLogin .login .user").val();
  629. var psd = $("#userLogin .login .lock").val();
  630. // shell示例
  631. // curl -v -XPOST 'http://202.107.245.52:3010/account/login' -H "Content-Type: application/json" -d '{"username": "admin", "password": "admin888"}'
  632. // curl -v 'http://202.107.245.52:3010/v1.0/user/me' -H 'Cookie: session=08eb5ff4-49a8-4efa-b725-228ceb24cda2'
  633. $.ajax({
  634. type: "POST",
  635. dataType: 'json',
  636. url: param.userServer + '/account/login', //3010
  637. contentType: 'application/json',
  638. headers: {
  639. "Cookie": session,
  640. },
  641. data: JSON.stringify({
  642. "username": userEmail,
  643. "password": psd
  644. })
  645. }).done(function (data) {
  646. if (data.meta.code == 400) {
  647. setTip("warning", '用户名或密码错误');
  648. return false;
  649. }
  650. window.location.reload();
  651. }).error(function (data) {
  652. // ONEMAP.C.publisher.publish({
  653. // type: 'warning',
  654. // message: '该用户尚未注册'
  655. // }, 'noteBar::add');
  656. setTip("warning", '该用户尚未注册!')
  657. })
  658. }
  659. }
  660. //微信登录
  661. $("#userLogin .login p.weixin").bind('click', function () {
  662. window.location.replace(param.userServer + '/oauth_client/weixin/login?next=' + param.system);
  663. })
  664. $("#userLogin .login p.qq").bind('click', function () {
  665. window.location.replace(param.userServer + '/oauth_client/qq/login?next=' + param.system);
  666. })
  667. $("#userLogin .login p.weibo").bind('click', function () {
  668. window.location.replace(param.userServer + '/oauth_client/weibo/login?next=' + param.system);
  669. })
  670. this.logout = function () {
  671. cookie.del('session');
  672. window.location.reload();
  673. }
  674. return this;
  675. }
  676. })(jQuery)