userLogin.js 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696
  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. inspectUrl();
  221. }
  222. }
  223. },
  224. error: function (err) {
  225. localStorage.removeItem("systemToken")
  226. localStorage.removeItem("userInfo")
  227. if (param.callback) {
  228. var callData = {
  229. isLoad: false
  230. }
  231. param.callback(callData)
  232. inspectUrl();
  233. }
  234. }
  235. });
  236. } else {
  237. inspectUrl();
  238. }
  239. /**
  240. * [getCurUserJWT description]
  241. * 获取当前用户的jwt
  242. * @return {[type]} [description]
  243. */
  244. function getCurUserJWT(calldata) {
  245. $.ajax({
  246. type: "post",
  247. url: param.userServer + '/v1.0/user/jwt',
  248. success: function (data) {
  249. if (data.status == 0) {
  250. calldata.jwt = data.data;
  251. param.callback(calldata)
  252. }
  253. },
  254. error: function (data) {
  255. console.log(data)
  256. }
  257. });
  258. }
  259. /**
  260. * 交互
  261. */
  262. $("#userLogin .close").bind('click', function () {
  263. // $("#userLogin").addClass("hide");
  264. $("#userLogin").hide("hide");
  265. })
  266. //注册
  267. $("#userLogin .openReg").bind('click', function () {
  268. $("#userLogin .login").hide();
  269. $("#userLogin .regist").show();
  270. $("#userLogin .regist li.queding").hide();
  271. $("#userLogin .regist .zhuce, #userLogin .regist .xieyi, #userLogin .regist .other").show();
  272. $("#userLogin .regist .para").eq(0).show();
  273. $("#userLogin .regist .back").hide();
  274. curNumCode = "sinup";
  275. })
  276. //忘记密码
  277. $("#userLogin .forgetPass").bind('click', function () {
  278. $("#userLogin .regist").show();
  279. $("#userLogin .login").hide();
  280. $("#userLogin .regist li.queding").show();
  281. $("#userLogin .regist .zhuce, #userLogin .regist .xieyi, #userLogin .regist .other").hide();
  282. $("#userLogin .regist .para").eq(0).hide();
  283. $("#userLogin .regist .back").show();
  284. curNumCode = "forgetPass";
  285. })
  286. //登录
  287. $("#userLogin .openLogin").bind('click', function () {
  288. $("#userLogin .login").show();
  289. $("#userLogin .regist").hide();
  290. })
  291. //复选框
  292. $("#userLogin .autoLogin,#userLogin .check").bind('click', function () {
  293. if ($(this).hasClass('active')) {
  294. $(this).removeClass('active');
  295. } else {
  296. $(this).addClass('active');
  297. }
  298. })
  299. //登录方式
  300. $("#userLogin .head .passWay").bind('click', function () {
  301. $("#userLogin .head span").removeClass('active');
  302. $(this).addClass('active');
  303. $("#userLogin .passShow").addClass('show');
  304. $("#userLogin .msgShow").removeClass('show');
  305. $("#userLogin .login .user").attr("placeholder", "请输入用户名");
  306. })
  307. $("#userLogin .head .msgWay").bind('click', function () {
  308. $("#userLogin .head span").removeClass('active');
  309. $(this).addClass('active');
  310. $("#userLogin .msgShow").addClass('show');
  311. $("#userLogin .passShow").removeClass('show');
  312. $("#userLogin .login .user").attr("placeholder", "请输入手机号").text("");
  313. })
  314. // 协议
  315. $("#userLogin .regist li.xieyi a").bind('click', function () {
  316. $("#xieyi").addClass('active')
  317. })
  318. $("#xieyi .close").bind('click', function () {
  319. $("#xieyi").removeClass('active')
  320. })
  321. /**
  322. * 交互结束
  323. */
  324. /**
  325. * 请求开始
  326. */
  327. //重置密码
  328. $("#userLogin .regist button.queding").bind('click', function () {
  329. var shouji = $("#userLogin .regist .regNum").val();
  330. var mima = $("#userLogin .regist .regPass").val();
  331. var yanzhengma = $("#userLogin .regist .yzm").val();
  332. if (shouji.length > 0 && mima.length > 0 && yanzhengma.length > 0) {
  333. $.ajax({
  334. url: param.userServer + '/v1.0/user/mobile/reset_password',
  335. method: 'POST',
  336. dataType: 'json',
  337. data: {
  338. mobile: shouji,
  339. password: mima,
  340. code: yanzhengma
  341. }
  342. }).done(function (data) {
  343. console.log(data);
  344. if (data.status == 0) {
  345. setTip("success", "重置密码成功")
  346. $("#userLogin .regist").hide();
  347. $("#userLogin .login").show();
  348. $("#userLogin .regist li").show();
  349. $("#userLogin .regist li.queding").hide();
  350. } else {
  351. setTip("warning", data.message)
  352. }
  353. })
  354. } else {
  355. setTip("warning", '请填写正确信息')
  356. }
  357. })
  358. //注册获取验证码
  359. $("#userLogin .regist .getYzm").bind('click', function () {
  360. var num = $("#userLogin .regist .regNum").val();
  361. //验证手机号
  362. var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
  363. if (!reg.test(num)) {
  364. setTip("warning", '请输入正确的手机号')
  365. } else {
  366. if (curNumCode == "sinup") {
  367. var url = param.userServer + '/v1.0/user/mobile/register/code';
  368. } else {
  369. var url = param.userServer + '/v1.0/user/mobile/reset_password/code';
  370. }
  371. $.ajax({
  372. url: url,
  373. method: 'POST',
  374. dataType: 'json',
  375. data: {
  376. mobile: num
  377. }
  378. }).done(function (data) {
  379. console.log(data);
  380. if (data.status == 0) {
  381. showNumCover();
  382. setTip("success", '获取成功')
  383. } else {
  384. setTip("warning", data.message)
  385. }
  386. })
  387. }
  388. })
  389. //注册
  390. $("#userLogin .regist .regBtn").bind('click', function () {
  391. var check = $("#userLogin .regist .check").hasClass('active');
  392. if (!check) {
  393. $("#userLogin .regist .xieyi .redAlert").addClass('show');
  394. } else {
  395. $("#userLogin .regist .xieyi .redAlert").removeClass('show');
  396. }
  397. var redAlert = $("#userLogin .regist .para .redAlert");
  398. for (let i = 0; i < redAlert.length; i++) {
  399. if (redAlert.eq(i).next().val().length < 1) {
  400. redAlert.eq(i).addClass('show');
  401. } else {
  402. redAlert.eq(i).removeClass('show');
  403. }
  404. if (redAlert.eq(i).next().hasClass('regNum') && redAlert.eq(i).next().val().length < 11) {
  405. redAlert.eq(i).text('请输入正确的手机号').addClass('show');
  406. } else if (redAlert.eq(i).next().hasClass('regNum') && redAlert.eq(i).next().val().length >= 11) {
  407. var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
  408. if (!reg.test(redAlert.eq(i).next().val())) {
  409. setTip("warning", '请输入正确的手机号')
  410. } else {
  411. redAlert.eq(i).text('请输入手机号').removeClass('show');
  412. }
  413. }
  414. if (redAlert.eq(i).next().hasClass('regPass') && redAlert.eq(i).next().val().length < 6) {
  415. redAlert.eq(i).text('密码不得少于6位').addClass('show');
  416. } else if (redAlert.eq(i).next().hasClass('regPass') && redAlert.eq(i).next().val().length >= 6) {
  417. redAlert.eq(i).text('请输入密码').removeClass('show');
  418. }
  419. }
  420. if (!redAlert.hasClass('show') && check) {
  421. $.ajax({
  422. url: param.userServer + '/v1.0/user/mobile/register',
  423. method: 'POST',
  424. dataType: 'json',
  425. data: {
  426. username: $("#userLogin .regist .regName").val(),
  427. mobile: $("#userLogin .regist .regNum").val(),
  428. password: $("#userLogin .regist .regPass").val(),
  429. code: $("#userLogin .regist .yzm").val(),
  430. referer_src: document.title
  431. }
  432. }).done(function (data) {
  433. console.log(data);
  434. if (data.status == 0) {
  435. // ONEMAP.C.publisher.publish({
  436. // type: 'success',
  437. // message: '获取成功'
  438. // }, 'noteBar::add');
  439. setTip("success", '获取成功')
  440. } else {
  441. // ONEMAP.C.publisher.publish({
  442. // type: 'warning',
  443. // message: data.message
  444. // }, 'noteBar::add');
  445. setTip("warning", data.message)
  446. }
  447. })
  448. }
  449. })
  450. function showNumCover() {
  451. $("#userLogin .btn_cov").show();
  452. var i = 60;
  453. $("#userLogin .btn_cov").html(i + '秒后再次发送');
  454. setTimeout(function () {
  455. $("#userLogin .btn_cov").hide();
  456. clearInterval(interval);
  457. }, 60000)
  458. var interval = setInterval(function () {
  459. i--;
  460. $("#userLogin .btn_cov").html(i + '秒后再次发送');
  461. }, 1000)
  462. }
  463. //登录获取验证码
  464. $("#userLogin .login .getYzm").bind('click', function () {
  465. var phoneNum = $("#userLogin .login .user").val();
  466. //验证手机号
  467. var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
  468. if (!reg.test(phoneNum)) {
  469. // ONEMAP.C.publisher.publish({
  470. // type: 'warning',
  471. // message: '请输入正确的手机号'
  472. // }, 'noteBar::add');
  473. setTip("warning", "请输入正确的手机号!")
  474. } else {
  475. $.ajax({
  476. url: param.userServer + '/v1.0/user/mobile/login/code',
  477. method: 'POST',
  478. dataType: 'json',
  479. data: {
  480. mobile: phoneNum
  481. }
  482. }).done(function (data) {
  483. console.log(data);
  484. if (data.status == 0) {
  485. // ONEMAP.C.publisher.publish({
  486. // type: 'success',
  487. // message: '获取成功'
  488. // }, 'noteBar::add');
  489. showNumCover();
  490. setTip("success", "获取成功!")
  491. } else {
  492. // ONEMAP.C.publisher.publish({
  493. // type: 'warning',
  494. // message: data.message
  495. // }, 'noteBar::add');
  496. setTip("warning", data.message)
  497. }
  498. })
  499. }
  500. })
  501. $("#userLogin .login .lock").bind('keydown', function (e) {
  502. if (e.keyCode === 13) {
  503. userLogin();
  504. }
  505. });
  506. //登录
  507. $("#userLogin .login .loginBtn").bind('click', function () {
  508. userLogin();
  509. })
  510. function userLogin() {
  511. // var userEmail = $("#userLogin .login .user").val();
  512. // var psd = $("#userLogin .login .lock").val();
  513. var userEmail = "user001";
  514. var psd = "1234567890";
  515. $.ajax({
  516. url: param.userServer + '/oauth/user/login',
  517. method: 'POST',
  518. headers: {
  519. 'Content-Type': 'application/x-www-form-urlencoded;'
  520. },
  521. data: {
  522. userName: userEmail,
  523. password: psd,
  524. clientId: 0
  525. }
  526. }).done(function (data) {
  527. var result = JSON.parse(data);
  528. var content = result.content;
  529. content.name = content.username;
  530. content.nickname = content.username;
  531. if (result.code === 200) {
  532. localStorage.setItem("systemToken",
  533. result.message
  534. );
  535. localStorage.setItem("userInfo",
  536. JSON.stringify(content)
  537. );
  538. $("#userLogin").hide();
  539. var callData = {
  540. isLoad: true,
  541. userInfo: content
  542. }
  543. if (param.callback)
  544. param.callback(callData)
  545. setTimeout(() => {
  546. window.location.reload();
  547. }, 500);
  548. ONEMAP.C.publisher.publish({
  549. type: 'success',
  550. message: '登录成功!'
  551. }, 'noteBar::add');
  552. } else {
  553. var callData = {
  554. isLoad: false,
  555. }
  556. if (param.callback)
  557. param.callback(callData)
  558. ONEMAP.C.publisher.publish({
  559. type: 'error',
  560. message: '登录失败!'
  561. }, 'noteBar::add');
  562. }
  563. }).error(function (data) {
  564. // ONEMAP.C.publisher.publish({
  565. // type: 'warning',
  566. // message: '该用户尚未注册'
  567. // }, 'noteBar::add');
  568. // setTip("warning", '登录失败!')
  569. var callData = {
  570. isLoad: false,
  571. }
  572. if (param.callback)
  573. param.callback(callData)
  574. ONEMAP.C.publisher.publish({
  575. type: 'error',
  576. message: '登录失败!'
  577. }, 'noteBar::add');
  578. })
  579. return;
  580. // 通过验证码
  581. if ($("#userLogin .msgShow").hasClass('show')) {
  582. var phoneNum = $("#userLogin .login .user").val();
  583. var yzm = $("#userLogin .login .yzm").val();
  584. //验证手机号
  585. var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/;
  586. if (!reg.test(phoneNum)) {
  587. // ONEMAP.C.publisher.publish({
  588. // type: 'warning',
  589. // message: '请输入正确的手机号'
  590. // }, 'noteBar::add');
  591. setTip("warning", "请输入正确的手机号")
  592. } else if (yzm.length < 1) {
  593. // ONEMAP.C.publisher.publish({
  594. // type: 'warning',
  595. // message: '请输入验证码'
  596. // }, 'noteBar::add');
  597. setTip("warning", "请输入验证码")
  598. } else {
  599. $.ajax({
  600. url: param.userServer + '/v1.0/user/mobile/login',
  601. method: 'POST',
  602. dataType: 'json',
  603. headers: {
  604. "Cookie": session,
  605. },
  606. data: {
  607. mobile: phoneNum,
  608. code: yzm
  609. }
  610. }).done(function (data) {
  611. console.log(data);
  612. if (data.status == 0) {
  613. setTip("warning", '登录成功');
  614. window.location.reload();
  615. } else {
  616. // ONEMAP.C.publisher.publish({
  617. // type: 'warning',
  618. // message: data.message
  619. // }, 'noteBar::add');
  620. setTip("warning", data.message)
  621. }
  622. })
  623. }
  624. } else if ($("#userLogin .passShow").hasClass('show')) {
  625. var userEmail = $("#userLogin .login .user").val();
  626. var psd = $("#userLogin .login .lock").val();
  627. // shell示例
  628. // curl -v -XPOST 'http://202.107.245.52:3010/account/login' -H "Content-Type: application/json" -d '{"username": "admin", "password": "admin888"}'
  629. // curl -v 'http://202.107.245.52:3010/v1.0/user/me' -H 'Cookie: session=08eb5ff4-49a8-4efa-b725-228ceb24cda2'
  630. $.ajax({
  631. type: "POST",
  632. dataType: 'json',
  633. url: param.userServer + '/account/login', //3010
  634. contentType: 'application/json',
  635. headers: {
  636. "Cookie": session,
  637. },
  638. data: JSON.stringify({
  639. "username": userEmail,
  640. "password": psd
  641. })
  642. }).done(function (data) {
  643. if (data.meta.code == 400) {
  644. setTip("warning", '用户名或密码错误');
  645. return false;
  646. }
  647. window.location.reload();
  648. }).error(function (data) {
  649. // ONEMAP.C.publisher.publish({
  650. // type: 'warning',
  651. // message: '该用户尚未注册'
  652. // }, 'noteBar::add');
  653. setTip("warning", '该用户尚未注册!')
  654. })
  655. }
  656. }
  657. //微信登录
  658. $("#userLogin .login p.weixin").bind('click', function () {
  659. window.location.replace(param.userServer + '/oauth_client/weixin/login?next=' + param.system);
  660. })
  661. $("#userLogin .login p.qq").bind('click', function () {
  662. window.location.replace(param.userServer + '/oauth_client/qq/login?next=' + param.system);
  663. })
  664. $("#userLogin .login p.weibo").bind('click', function () {
  665. window.location.replace(param.userServer + '/oauth_client/weibo/login?next=' + param.system);
  666. })
  667. this.logout = function () {
  668. cookie.del('session');
  669. window.location.reload();
  670. }
  671. return this;
  672. }
  673. })(jQuery)