login.js 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. /**
  2. * 创建者:王成
  3. * 创建日期:2022年02月28日
  4. * 描述:登录页面专用脚本
  5. */
  6. /* 变量定义及绑定 */
  7. var dUserName = document.getElementById('userName');
  8. var dPassWord = document.getElementById('passWord');
  9. var divButtom = document.getElementById("divButtom");
  10. var dAutoLoginSwitch = document.getElementById("autoLogin");
  11. var height = window.innerHeight; //初始的窗口高度
  12. mui.init(); /* 初始化*/
  13. /**
  14. * plus初始化完成
  15. */
  16. plusInit(function() {
  17. /* 设置全屏 */
  18. // plus.navigator.setFullscreen(true);
  19. /* 窗口变化监听 */
  20. window.onresize = function(e) {
  21. var curHeight = window.innerHeight;
  22. if (curHeight < height) {
  23. divButtom.style.display = 'none';
  24. } else {
  25. divButtom.style.display = 'block';
  26. }
  27. }
  28. /* 获取存储的用户名和密码 填充*/
  29. getUserNameAndPassword({
  30. success: function(userData) {
  31. dUserName.value = userData.username;
  32. dPassWord.value = userData.password;
  33. },
  34. });
  35. /* 检测数据库文件 */
  36. DB_CheckDatabase({
  37. success: function(msg) {
  38. printToConsole(msg);
  39. },
  40. error: function(err) {
  41. printToConsole(err);
  42. }
  43. });
  44. /* 检测各专题地图图层配置键值存储项 并删除 以免由于本地登录时管理图层变化导致控制混乱 */
  45. getStroageAllKey(function(data) {
  46. /* 初始化 */
  47. mapLayerConfigKeys = [];
  48. /* 提取符合条件的键值 */
  49. for (let i in data.keys) {
  50. let key = data.keys[i];
  51. if (key.indexOf('map_layer_') != -1) {
  52. mapLayerConfigKeys.push(key);
  53. }
  54. }
  55. /* 判断是否需要删除 */
  56. if (mapLayerConfigKeys.length > 0) {
  57. printToConsole("专题图层控制配置键值 = " + JSON.stringify(mapLayerConfigKeys));
  58. removeLayerControlConfigStorage(0);
  59. }
  60. }, function(err) {
  61. printToConsole("获取全部键值错误 = " + err);
  62. })
  63. /* 页面信息初始化 */
  64. pageInit();
  65. });
  66. /* 删除各专题图层控制配置 */
  67. let mapLayerConfigKeys = [];
  68. /**
  69. * 删除各专题图层控制配置存储键值
  70. * @param {number} index 索引
  71. */
  72. function removeLayerControlConfigStorage(index) {
  73. if (index == mapLayerConfigKeys.length) {
  74. /* 删除成功 */
  75. printToConsole("图层配置存储键值删除完成!");
  76. } else {
  77. removeStorage({
  78. key: mapLayerConfigKeys[index],
  79. success: function() {
  80. removeLayerControlConfigStorage(index + 1);
  81. },
  82. error: function(err) {
  83. removeLayerControlConfigStorage(index + 1);
  84. }
  85. })
  86. }
  87. }
  88. /**
  89. * 页面信息初始化
  90. */
  91. function pageInit() {
  92. getConfigInfo(function(info) {
  93. var copyrightHtml = "";
  94. copyrightHtml += "<p>版权所有:" + info.devCopyright + " @Copyright 2023</p>";
  95. copyrightHtml += "<p>技术支持:" + info.devName + "</p>";
  96. $('#divButtom').html(copyrightHtml);
  97. /* App名称 */
  98. $('#lblAppName').html(info.name);
  99. /* App版本 */
  100. var vHtml = "";
  101. vHtml += "<span>当前版本</span>";
  102. vHtml += "<span class=\"jt-font-number\">{v" + info.version + "}</span>"
  103. $('#lblAppVersion').html(vHtml);
  104. });
  105. }
  106. /* iOS平台单独初始化 */
  107. plusInitiOS(function() {
  108. });
  109. /* Android平台单独初始化 */
  110. plusInitAndroid(function() {
  111. })
  112. /* 打开设置页面 */
  113. function setting() {
  114. // mui.openWindow('setIpAndCom.html');
  115. createAndOpenPage({
  116. htmlPath: 'setIpAndCom.html',
  117. autoback: true,
  118. title: '服务设置'
  119. });
  120. }
  121. /**
  122. * 登录信息检查验证
  123. */
  124. function loginCheck() {
  125. var strUserName = dUserName.value.trim();
  126. var strPassWord = dPassWord.value.trim();
  127. if (strUserName == "") {
  128. muiAlert("请输入用户名!", "提示", function() {
  129. dUserName.focus();
  130. });
  131. } else if (strPassWord == "") {
  132. muiAlert("请输入密码!", "提示", function() {
  133. dPassWord.focus();
  134. });
  135. } else {
  136. var userData = {
  137. userId: strUserName,
  138. userPwd: strPassWord
  139. };
  140. /* 登录请求 */
  141. login(userData);
  142. }
  143. }
  144. /**
  145. * 登录请求
  146. * @param {JSON} userData 账号数据
  147. */
  148. function login(userData) {
  149. sendAjax({
  150. data: userData,
  151. type: 'post',
  152. url: 'appQueryUser',
  153. waitMessage: '正在认证登录...',
  154. success: function(resData) {
  155. /* 如果认证成功 则保存用户信息 */
  156. saveUserInfo({
  157. user: resData[0],
  158. success: function() {
  159. /* 判断是否需要保存账号和密码 */
  160. var isSave = dAutoLoginSwitch.classList.contains("mui-active");
  161. if (isSave) {
  162. saveUserNameAndPassword({
  163. username: userData.userId,
  164. password: userData.userPwd,
  165. success: function() {
  166. getLayers(resData[0].userID);
  167. },
  168. error: function(err) {
  169. muiAlert(err, "错误");
  170. }
  171. })
  172. } else {
  173. removeUserNameAndPassword({
  174. success: function() {
  175. getLayers(resData[0].userID);
  176. },
  177. error: function(err) {
  178. muiAlert(err, "错误");
  179. }
  180. })
  181. }
  182. },
  183. error: function(err) {
  184. muiAlert(err, "错误");
  185. }
  186. })
  187. },
  188. nodata: function(msg) {
  189. muiAlert(msg, "警告");
  190. },
  191. error: function(err) {
  192. muiAlert(err, "错误");
  193. }
  194. })
  195. }
  196. /**
  197. * 获取图层列表
  198. * @param {String} userId 账号Id
  199. */
  200. function getLayers(userId) {
  201. /**
  202. * 远程请求
  203. */
  204. sendAjax({
  205. data: {
  206. userId: userId
  207. },
  208. type: 'post',
  209. url: 'appQueryCategoryAndLayers',
  210. waitMessage: '初始化地图图层...',
  211. success: function(resData) {
  212. saveUserLayers({
  213. layers: resData,
  214. success: function() {
  215. mui.openWindow({
  216. url: 'main.html',
  217. show: {
  218. autoShow: true, //页面loaded事件发生后自动显示,默认为true
  219. aniShow: 'slide-in-right', //页面显示动画,默认为”slide-in-right“;
  220. duration: 300 //页面动画持续时间,Android平台默认100毫秒,iOS平台默认200毫秒;
  221. },
  222. styles: {
  223. "contentAdjust": true,
  224. top: '0px',
  225. bottom: '0px',
  226. },
  227. });
  228. // createAndOpenPage({
  229. // htmlPath: 'main.html',
  230. // autoback: false,
  231. // title: '服务设置'
  232. // });
  233. },
  234. error: function(err) {
  235. muiAlert(err, "错误");
  236. }
  237. })
  238. },
  239. nodata: function(msg) {
  240. muiAlert(msg, "警告");
  241. },
  242. error: function(err) {
  243. muiAlert(err, "错误");
  244. }
  245. })
  246. }
  247. /**
  248. * APP更新
  249. */
  250. function click_AppUpload() {
  251. appUpload();
  252. }