1
0

setting.html 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458
  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Hello MUI</title>
  6. <meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
  7. <meta name="apple-mobile-web-app-capable" content="yes">
  8. <meta name="apple-mobile-web-app-status-bar-style" content="black">
  9. <link rel="stylesheet" type="text/css" href="./css/common.css" />
  10. <link rel="stylesheet" href="./css/mui.min.css">
  11. <style>
  12. html,
  13. body {
  14. background-color: #efeff4;
  15. }
  16. .mui-views,
  17. .mui-view,
  18. .mui-pages,
  19. .mui-page,
  20. .mui-page-content {
  21. position: absolute;
  22. left: 0;
  23. right: 0;
  24. top: 0;
  25. bottom: 0;
  26. width: 100%;
  27. height: 100%;
  28. background-color: #efeff4;
  29. }
  30. .mui-pages {
  31. top: 46px;
  32. height: auto;
  33. }
  34. .mui-scroll-wrapper,
  35. .mui-scroll {
  36. background-color: #efeff4;
  37. }
  38. .mui-page.mui-transitioning {
  39. -webkit-transition: -webkit-transform 200ms ease;
  40. transition: transform 200ms ease;
  41. }
  42. .mui-page-left {
  43. -webkit-transform: translate3d(0, 0, 0);
  44. transform: translate3d(0, 0, 0);
  45. }
  46. .mui-ios .mui-page-left {
  47. -webkit-transform: translate3d(-20%, 0, 0);
  48. transform: translate3d(-20%, 0, 0);
  49. }
  50. .mui-navbar {
  51. position: fixed;
  52. right: 0;
  53. left: 0;
  54. z-index: 10;
  55. height: 44px;
  56. background-color: #f7f7f8;
  57. }
  58. .mui-navbar .mui-bar {
  59. position: absolute;
  60. background: transparent;
  61. text-align: center;
  62. }
  63. .mui-android .mui-navbar-inner.mui-navbar-left {
  64. opacity: 0;
  65. }
  66. .mui-ios .mui-navbar-left .mui-left,
  67. .mui-ios .mui-navbar-left .mui-center,
  68. .mui-ios .mui-navbar-left .mui-right {
  69. opacity: 0;
  70. }
  71. .mui-navbar .mui-btn-nav {
  72. -webkit-transition: none;
  73. transition: none;
  74. -webkit-transition-duration: .0s;
  75. transition-duration: .0s;
  76. }
  77. .mui-navbar .mui-bar .mui-title {
  78. display: inline-block;
  79. position: static;
  80. width: auto;
  81. }
  82. .mui-page-shadow {
  83. position: absolute;
  84. right: 100%;
  85. top: 0;
  86. width: 16px;
  87. height: 100%;
  88. z-index: -1;
  89. content: '';
  90. }
  91. .mui-page-shadow {
  92. background: -webkit-linear-gradient(left, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, .01) 50%, rgba(0, 0, 0, .2) 100%);
  93. background: linear-gradient(to right, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0) 10%, rgba(0, 0, 0, .01) 50%, rgba(0, 0, 0, .2) 100%);
  94. }
  95. .mui-navbar-inner.mui-transitioning,
  96. .mui-navbar-inner .mui-transitioning {
  97. -webkit-transition: opacity 200ms ease, -webkit-transform 200ms ease;
  98. transition: opacity 200ms ease, transform 200ms ease;
  99. }
  100. .mui-page {
  101. display: none;
  102. }
  103. .mui-pages .mui-page {
  104. display: block;
  105. }
  106. .mui-page .mui-table-view:first-child {
  107. margin-top: 15px;
  108. }
  109. .mui-page .mui-table-view:last-child {
  110. margin-bottom: 30px;
  111. }
  112. .mui-table-view {
  113. margin-top: 20px;
  114. }
  115. .mui-table-view:after {
  116. height: 0;
  117. }
  118. .mui-table-view span.mui-pull-right {
  119. color: #999;
  120. }
  121. .mui-table-view-divider {
  122. background-color: #efeff4;
  123. font-size: 14px;
  124. }
  125. .mui-table-view-divider:before,
  126. .mui-table-view-divider:after {
  127. height: 0;
  128. }
  129. .mui-content-padded {
  130. margin: 10px 0px;
  131. }
  132. .mui-locker {
  133. margin: 35px auto;
  134. display: none;
  135. }
  136. </style>
  137. </head>
  138. <body>
  139. <!--页面主结构开始-->
  140. <div id="app" class="mui-views">
  141. <div class="mui-view">
  142. <div class="mui-navbar">
  143. </div>
  144. <div class="mui-pages">
  145. </div>
  146. </div>
  147. </div>
  148. <!--页面主结构结束-->
  149. <!--单页面开始-->
  150. <div id="setting" class="mui-page">
  151. <!--页面标题栏开始-->
  152. <div class="mui-navbar-inner mui-bar mui-bar-nav">
  153. <button type="button" class="mui-left mui-action-back mui-btn mui-btn-link mui-btn-nav mui-pull-left">
  154. <span class="mui-icon mui-icon-left-nav"></span>
  155. </button>
  156. <h1 class="mui-center mui-title">设置</h1>
  157. </div>
  158. <!--页面标题栏结束-->
  159. <!--页面主内容区开始-->
  160. <div class="mui-page-content">
  161. <div class="mui-scroll-wrapper">
  162. <div class="mui-scroll">
  163. <ul class="mui-table-view mui-table-view-chevron">
  164. <li class="mui-table-view-cell">
  165. <a id="person-btn" href="#loginInfo" class="mui-navigate-right">登录信息</a>
  166. </li>
  167. <li class="mui-table-view-cell">
  168. <a id="tel" class="mui-navigate-right">客服电话</a>
  169. </li>
  170. </ul>
  171. <ul class="mui-table-view mui-table-view-chevron">
  172. <li class="mui-table-view-cell">
  173. <a href="#lock" class="mui-navigate-right">设置锁屏图案</a>
  174. </li>
  175. </ul>
  176. <ul class="mui-table-view">
  177. <li class="mui-table-view-cell" style="text-align: center;">
  178. <a id='exit'>退出</a>
  179. </li>
  180. </ul>
  181. </div>
  182. </div>
  183. </div>
  184. <!--页面主内容区结束-->
  185. </div>
  186. <div id="notifications_disturb" class="mui-page">
  187. <div class="mui-navbar-inner mui-bar mui-bar-nav">
  188. <button type="button" class="mui-left mui-action-back mui-btn mui-btn-link mui-btn-nav mui-pull-left">
  189. <span class="mui-icon mui-icon-left-nav"></span>新消息通知
  190. </button>
  191. <h1 class="mui-center mui-title">功能消息免打扰</h1>
  192. </div>
  193. <div class="mui-page-content">
  194. <div class="mui-scroll-wrapper">
  195. <div class="mui-scroll">
  196. <ul class="mui-table-view mui-table-view-radio">
  197. <li class="mui-table-view-cell">
  198. <a class="mui-navigate-right">开启</a>
  199. </li>
  200. <li class="mui-table-view-cell">
  201. <a class="mui-navigate-right">只在夜间开启</a>
  202. </li>
  203. <li class="mui-table-view-cell">
  204. <a class="mui-navigate-right">关闭</a>
  205. </li>
  206. </ul>
  207. </div>
  208. </div>
  209. </div>
  210. </div>
  211. <div id="lock" class="mui-page">
  212. <div class="mui-navbar-inner mui-bar mui-bar-nav">
  213. <button type="button" class="mui-left mui-action-back mui-btn mui-btn-link mui-btn-nav mui-pull-left">
  214. <span class="mui-icon mui-icon-left-nav"></span>设置
  215. </button>
  216. <h1 class="mui-center mui-title">锁屏图案</h1>
  217. </div>
  218. <div class="mui-page-content">
  219. <div class="mui-content-padded">
  220. <ul class="mui-table-view mui-table-view-chevron">
  221. <li class="mui-table-view-cell">
  222. 使用手势解锁
  223. <div id="lockState" class="mui-switch">
  224. <div class="mui-switch-handle"></div>
  225. </div>
  226. </li>
  227. </ul>
  228. <div class="mui-locker" data-locker-width='320' data-locker-height='320' data-locker-options='{"ringColor":"rgba(221,221,221,1)","fillColor":"#ffffff","pointColor":"rgba(0,136,204,1)","lineColor":"rgba(0,136,204,1)"}'>
  229. </div>
  230. </div>
  231. </div>
  232. </div>
  233. <div id="loginInfo" class="mui-page">
  234. <div class="mui-navbar-inner mui-bar mui-bar-nav">
  235. <button type="button" class="mui-left mui-action-back mui-btn mui-btn-link mui-btn-nav mui-pull-left">
  236. <span class="mui-icon mui-icon-left-nav"></span>设置
  237. </button>
  238. <h1 class="mui-center mui-title">登录信息</h1>
  239. </div>
  240. <div class="mui-page-content">
  241. <form class="mui-input-group">
  242. <div class="mui-input-row">
  243. <label>仓库代码</label>
  244. <input type="text" id="warehouseCode" placeholder="" readonly="readonly">
  245. </div>
  246. <div class="mui-input-row">
  247. <label>用户代码</label>
  248. <input type="text" id="userCode" placeholder="" readonly="readonly">
  249. </div>
  250. <div class="mui-input-row">
  251. <label>登录时间</label>
  252. <input type="text" id="loginTime" placeholder="" readonly="readonly">
  253. </div>
  254. </form>
  255. </div>
  256. </div>
  257. </body>
  258. <script src="./js/mui.min.js "></script>
  259. <script src="./js/mui.view.js "></script>
  260. <script src='./libs/easymob-webim-sdk/jquery-1.11.1.js'></script>
  261. <script src='./libs/easymob-webim-sdk/strophe-custom-2.0.0.js'></script>
  262. <script src='./libs/easymob-webim-sdk/json2.js'></script>
  263. <script src="./libs/easymob-webim-sdk/easemob.im-1.0.5.js"></script>
  264. <script src="./js/mui.locker.js"></script>
  265. <script src="./js/app.js"></script>
  266. <script>
  267. mui.init();
  268. //初始化单页view
  269. var viewApi = mui('#app').view({
  270. defaultPage: '#setting'
  271. });
  272. //初始化单页的区域滚动
  273. mui('.mui-scroll-wrapper').scroll();
  274. mui.plusReady(function() {
  275. document.addEventListener("netchange", checkNetwork, false);
  276. function checkNetwork() {
  277. if (plus.networkinfo.getCurrentType() == plus.networkinfo.CONNECTION_NONE) {
  278. mui.toast("网络异常,请检查网络设置!");
  279. }
  280. }
  281. });
  282. function loinInfo(){
  283. var warehouseCode = localStorage.getItem('$warehouseCode');
  284. var userCode = localStorage.getItem('$userCode');
  285. var loginTime = localStorage.getItem('$loginTime');
  286. document.getElementById("warehouseCode").value = warehouseCode;
  287. document.getElementById("userCode").value = userCode;
  288. document.getElementById("loginTime").value = loginTime;
  289. }
  290. loinInfo();
  291. //登录信息
  292. document.getElementById("loginInfo").addEventListener('tap', function() {
  293. loinInfo();
  294. });
  295. //客服电话
  296. document.getElementById("tel").addEventListener('tap', function() {
  297. plus.device.dial("15766447784");
  298. });
  299. //退出操作******************
  300. document.getElementById('exit').addEventListener('tap', function() {
  301. if (mui.os.ios) {
  302. app.setState({});
  303. mui.openWindow({
  304. url: 'login.html',
  305. id: 'login',
  306. show: {
  307. aniShow: 'pop-in'
  308. },
  309. waiting: {
  310. autoShow: false
  311. }
  312. });
  313. return;
  314. }
  315. var btnArray = [{
  316. title: "注销当前账号"
  317. }, {
  318. title: "直接关闭应用"
  319. }];
  320. plus.nativeUI.actionSheet({
  321. cancel: "取消",
  322. buttons: btnArray
  323. }, function(event) {
  324. var index = event.index;
  325. switch (index) {
  326. case 1:
  327. //注销账号
  328. app.setState({});
  329. /*
  330. * 注意:
  331. * 1、因本示例应用启动页就是登录页面,因此注册成功后,直接显示登录页即可;
  332. * 2、如果真实案例中,启动页不是登录页,则需修改,使用mui.openWindow打开真实的登录页面
  333. */
  334. plus.webview.getLaunchWebview().show("pop-in");
  335. //若启动页不是登录页,则需通过如下方式打开登录页
  336. // mui.openWindow({
  337. // url: 'login.html',
  338. // id: 'login',
  339. // show: {
  340. // aniShow: 'pop-in'
  341. // }
  342. // });
  343. break;
  344. case 2:
  345. plus.runtime.quit();
  346. break;
  347. }
  348. });
  349. }, false);
  350. //************************
  351. //锁屏设置
  352. (function($, doc) {
  353. //$.init();
  354. $.plusReady(function() {
  355. var settings = app.getSettings();
  356. var lockStateButton = doc.getElementById("lockState");
  357. var locker = doc.querySelector('.mui-locker');
  358. lockStateButton.classList[settings.gestures ? 'add' : 'remove']('mui-active')
  359. locker.style.display = settings.gestures ? 'block' : 'none';
  360. lockStateButton.addEventListener('toggle', function(event) {
  361. var isActive = event.detail.isActive;
  362. locker.style.display = isActive ? 'block' : 'none';
  363. if (!isActive) {
  364. // alert(0);
  365. settings.gestures = '';
  366. app.setSettings(settings);
  367. }
  368. }, false);
  369. var record = [];
  370. locker.addEventListener('done', function(event) {
  371. var rs = event.detail;
  372. if (rs.points.length < 4) {
  373. plus.nativeUI.toast('设定的手势太简单了');
  374. record = [];
  375. rs.sender.clear();
  376. return;
  377. }
  378. record.push(rs.points.join(''));
  379. if (record.length >= 2) {
  380. if (record[0] == record[1]) {
  381. plus.nativeUI.toast('解锁手势设定成功,以后用户只需使用手势解锁而无需输入密码登录。');
  382. settings.gestures = record[0];
  383. settings.autoLogin = true;
  384. app.setSettings(settings);
  385. setTimeout(function() {
  386. $.back();
  387. }, 200);
  388. } else {
  389. plus.nativeUI.toast('两次手势不一致,请重新设定');
  390. }
  391. rs.sender.clear();
  392. record = [];
  393. } else {
  394. plus.nativeUI.toast('请确认手势设定');
  395. rs.sender.clear();
  396. }
  397. }, false);
  398. });
  399. }(mui, document));
  400. //********************
  401. var view = viewApi.view;
  402. (function($) {
  403. //处理view的后退与webview后退
  404. var oldBack = $.back;
  405. $.back = function() {
  406. if (viewApi.canBack()) { //如果view可以后退,则执行view的后退
  407. viewApi.back();
  408. } else { //执行webview后退
  409. oldBack();
  410. }
  411. };
  412. //监听页面切换事件方案1,通过view元素监听所有页面切换事件,目前提供pageBeforeShow|pageShow|pageBeforeBack|pageBack四种事件(before事件为动画开始前触发)
  413. //第一个参数为事件名称,第二个参数为事件回调,其中e.detail.page为当前页面的html对象
  414. view.addEventListener('pageBeforeShow', function(e) {
  415. // console.log(e.detail.page.id + ' beforeShow');
  416. });
  417. view.addEventListener('pageShow', function(e) {
  418. //进入手执设定界面时
  419. if (e.detail.page.id == 'lock') {
  420. var settings = app.getSettings();
  421. /*if (!settings.autoLogin) {
  422. plus.nativeUI.toast('当前没有启用 “自动登录”,需要在登录时启用 "自动登录",设定的手势锁屏才会升效。');
  423. }*/
  424. var lockStateButton = document.getElementById("lockState");
  425. var locker = document.querySelector('.mui-locker');
  426. lockStateButton.classList[settings.gestures ? 'add' : 'remove']('mui-active')
  427. locker.style.display = settings.gestures ? 'block' : 'none';
  428. }
  429. // console.log(e.detail.page.id + ' show');
  430. });
  431. view.addEventListener('pageBeforeBack', function(e) {
  432. // console.log(e.detail.page.id + ' beforeBack');
  433. });
  434. view.addEventListener('pageBack', function(e) {
  435. // console.log(e.detail.page.id + ' back');
  436. });
  437. })(mui);
  438. </script>
  439. </html>