diff --git a/config.xml b/config.xml
index 6283731..0c356ca 100644
--- a/config.xml
+++ b/config.xml
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='utf-8'?>
-<widget id="com.dalicitycard.app" version="1.0.6" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
-    <name short="大理市民卡">dlapp</name>
+<widget id="com.dalipolice.app" version="1.0.6" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+    <name short="大理公安在线">dlapp</name>
     <description>
         A sample Apache Cordova application that responds to the deviceready event.
     </description>
diff --git a/platforms/android/app/build.gradle b/platforms/android/app/build.gradle
index b59ebb2..9a325ca 100644
--- a/platforms/android/app/build.gradle
+++ b/platforms/android/app/build.gradle
@@ -166,7 +166,7 @@
 
 android {
     defaultConfig {
-        applicationId 'com.dalicitycard.app'
+        applicationId 'com.dalipolice.app'
         if (cdvMinSdkVersion != null) {
             minSdkVersion cdvMinSdkVersion
         }
diff --git a/platforms/android/app/src/main/AndroidManifest.xml b/platforms/android/app/src/main/AndroidManifest.xml
index 3238e12..4eb48c9 100644
--- a/platforms/android/app/src/main/AndroidManifest.xml
+++ b/platforms/android/app/src/main/AndroidManifest.xml
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='utf-8'?>
-<manifest android:hardwareAccelerated="true" android:versionCode="10006" android:versionName="1.0.6" package="com.dalicitycard.app" xmlns:android="http://schemas.android.com/apk/res/android">
+<manifest android:hardwareAccelerated="true" android:versionCode="10006" android:versionName="1.0.6" package="com.dalipolice.app" xmlns:android="http://schemas.android.com/apk/res/android">
     <supports-screens android:anyDensity="true" android:largeScreens="true" android:normalScreens="true" android:resizeable="true" android:smallScreens="true" android:xlargeScreens="true" />
     <application android:hardwareAccelerated="true" android:icon="@mipmap/ic_launcher" android:label="@string/launcher_name" android:supportsRtl="true" android:usesCleartextTraffic="true">
         <activity android:configChanges="orientation|keyboardHidden|keyboard|screenSize|locale" android:label="@string/activity_name" android:launchMode="singleTop" android:name="MainActivity" android:screenOrientation="portrait" android:theme="@android:style/Theme.DeviceDefault.NoActionBar" android:windowSoftInputMode="adjustResize">
diff --git a/platforms/android/app/src/main/assets/www/css/index.css b/platforms/android/app/src/main/assets/www/css/index.css
index b23e33c..fb20796 100644
--- a/platforms/android/app/src/main/assets/www/css/index.css
+++ b/platforms/android/app/src/main/assets/www/css/index.css
@@ -38,6 +38,12 @@
     position: absolute;
     animation: myfirst 2s linear infinite alternate;
 }
+.mainmeun-div{
+    height: 100%;
+    flex-direction: row;justify-content: center;
+    align-items: center;display: flex!important;
+   font-size: 20px;
+}
 
 @keyframes myfirst {
     0% {
diff --git a/platforms/android/app/src/main/assets/www/index.html b/platforms/android/app/src/main/assets/www/index.html
index 576b5e9..005362a 100644
--- a/platforms/android/app/src/main/assets/www/index.html
+++ b/platforms/android/app/src/main/assets/www/index.html
@@ -1,6 +1,5 @@
 <!DOCTYPE html>
 <html>
-
 <head>
     <meta name="format-detection" content="telephone=no">
     <meta charset="utf-8">
@@ -9,15 +8,10 @@
     <link rel="stylesheet" type="text/css" href="css/weui.min.css">
     <link rel="stylesheet" type="text/css" href="css/jquery-weui.min.css">
     <link rel="stylesheet" type="text/css" href="css/index.css">
-    <title>大理市民卡</title>
+    <title>大理公安在线</title>
 </head>
 <body class="mainbg">
-    <div class="weui-footer weui-footer_fixed-bottom">
-        <p class="weui-footer__links">
-            <a href="#" class="weui-footer__link" style="color: white">大理市民卡</a>
-        </p>
-        <p class="weui-footer__text" style="color: white">© 2019 上海树维</p>
-    </div>
+   <img src="img/splashscreen.png" style="width: 100%;height: 100%" />
 </body>
 </html>
 <script type="text/javascript" src="cordova.js"></script>
diff --git a/platforms/android/app/src/main/assets/www/js/index.js b/platforms/android/app/src/main/assets/www/js/index.js
index db3d7ce..9e660c1 100644
--- a/platforms/android/app/src/main/assets/www/js/index.js
+++ b/platforms/android/app/src/main/assets/www/js/index.js
@@ -25,9 +25,16 @@
     },
 
     onDeviceReady: function() {
+        debugger;
+        var firstload = window.localStorage.getItem("firstload");
+       if(isEmpty(firstload)){
+         app.toPage("startload.html")
+         return;
+       }
         var uid = window.localStorage.getItem("token");
         if (isEmpty(uid)) {
-            window.location = "login.html";
+            //window.location = "login.html";
+            toPage("login.html")
         } else {
             //尝试登陆
             V1Infor(function(ok, ret) {
@@ -37,23 +44,32 @@
                         if(!isEmpty(ret.token)){
                              window.localStorage.setItem("token",ret.token); 
                         }
-                        window.location = "main.html";
+                        //window.location = "main.html";
+                        app.toPage("main.html")
                     }else{
-                        window.location = "login.html";
+                        //window.location = "login.html";
+                        app.toPage("login.html")
                     }
                 } else {
                     //alert('无法请求到服务器，请检查网络并稍后再试');
                     if (ret.status == 401) {
                         //need login
-                        window.location = "login.html";
+                        //window.location = "login.html";
+                        app.toPage("login.html")
                     } else {
                         //TODO ,没有网络
-                        
-                        window.location = "main.html";
+                        app.toPage("main.html")
+                        //window.location = "main.html";
                     }
                 }
             })
         }
+    },
+    toPage:function(page){
+        setTimeout(function() {
+           //window.location=page; 
+            window.location=page; 
+        },2000)
     }
 };
 app.initialize();
\ No newline at end of file
diff --git a/platforms/android/app/src/main/assets/www/login.html b/platforms/android/app/src/main/assets/www/login.html
index 60827f3..bce7fd5 100644
--- a/platforms/android/app/src/main/assets/www/login.html
+++ b/platforms/android/app/src/main/assets/www/login.html
@@ -12,7 +12,7 @@
 </head>
 <body>
     <div class="login-top">
-        大理市民卡
+        大理公安在线
     </div>
     <section class="aui-content" >
        <ul class="aui-list aui-form-list">
diff --git a/platforms/android/app/src/main/assets/www/main.html b/platforms/android/app/src/main/assets/www/main.html
index c8bb590..0d18b69 100644
--- a/platforms/android/app/src/main/assets/www/main.html
+++ b/platforms/android/app/src/main/assets/www/main.html
@@ -9,171 +9,73 @@
     <link rel="stylesheet" type="text/css" href="css/weui.min.css">
     <link rel="stylesheet" type="text/css" href="css/jquery-weui.min.css">
     <link rel="stylesheet" type="text/css" href="css/index.css" />
+    <link rel="stylesheet" type="text/css" href="css/aui-slide.css">
 </head>
 
 <body>
     <div id="main1">
         <div id="maintop">
-            <section class="aui-content " style="background-color: #03a9f4 !important;">
-                <h1 class="text-white align-left" style="font-size: 26px;color: #fff;padding: 30px 20px 0 20px;"><span id="maingt">您好！</span><span id="homename"></span></h1>
-                <div class="aui-grid aui-bg-info">
-                    <div class="aui-row" id="classify">
-                        <div class="aui-col-xs-6 top-btn" id="scanBtn">
-                            <div class="center-in"><img src="img/icon_scan.png" style="width:56px;"></div>
-                            <div class="aui-grid-label top-title">扫一扫</div>
-                        </div>
-                        <div class="aui-col-xs-6 top-btn" id="qrcodeBtn">
-                            <div class="center-in"><img src="img/icon_qrcode.png" style="width:56px;"></div>
-                            <div class="aui-grid-label top-title">我的码</div>
-                        </div>
+            <div id="startslider" class="main" style="height: 260px;display: block;">
+                <div class="aui-slide-wrap" >
+                    <div class="aui-slide-node bg-dark">
+                        <img  src="img/s1.jpg" />
+                    </div>
+                    <div class="aui-slide-node bg-dark">
+                        <img src="img/s2.jpg"  />
+                    </div>
+                    <div class="aui-slide-node bg-dark">
+                        <img src="img/s3.jpg"  />
                     </div>
                 </div>
-            </section>
-            <section class="aui-content aui-margin-b-10">
-                <div class="aui-grid">
-                    <div class="aui-row">
-                        <div class="aui-col-xs-4" id="cardBtn">
-                            <div class="center-in"><img src="img/icon_card.png" style="width:28px;height: 28px"></div>
-                            <div class="aui-grid-label" style="margin-top:10px;">市民卡挂失</div>
-                        </div>
-                        <div class="aui-col-xs-4" id="billBtn">
-                            <div class="center-in"><img src="img/icon_bill.png" style="width:28px;height: 28px"></div>
-                            <div class="aui-grid-label" style="margin-top:10px;">账单查询</div>
-                        </div>
-                        <div class="aui-col-xs-4" id="secBtn">
-                            <div class="center-in"><img src="img/icon_securty.png" style="width:28px;height: 28px"></div>
-                            <div class="aui-grid-label" style="margin-top:10px;">账户安全</div>
-                        </div>
-                        <div class="aui-col-xs-4" id="doorBtn">
-                            <div class="center-in"><img src="img/icon_door.png" style="width:28px;height: 28px"></div>
-                            <div class="aui-grid-label" style="margin-top:10px;">远程开门</div>
-                        </div>
-                    </div>
-                </div>
-            </section>
-            <div class="aui-card-list">
-                <div class="aui-card-list-header" style="border-bottom: 1px solid #f2f2f2">
-                    <div class="aui-font-size-14">近期交易</div>
-                    <div class="aui-list-item-right" style="font-size: 16px;color:#49bce9" id="moreBtn">更多></div>
-                </div>
+                <div class="aui-slide-page-wrap"><!--分页容器--></div>
             </div>
         </div>
-        <div style="position: absolute;top:320px;bottom:52px;width: 100%;overflow: auto;" id="maincontent">
-            <section class="aui-content">
-                <div class="weui-loadmore" id="loaddata">
-                    <i class="weui-loading"></i>
-                    <span class="weui-loadmore__tips">正在加载</span>
-                </div>
-                <div class="weui-loadmore weui-loadmore_line" id="nodata" style="display: none" onclick="app.loadBill()">
-                    <span class="weui-loadmore__tips" style="background: transparent;" id="nodatahint">暂无数据</span>
-                </div>
-                <div class="aui-card-list" id="billcontent" style="display: none">
-                    <div class="aui-card-list-header aui-card-list-user" onclick="app.toBillDetail()">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_meal.png" class="aui-margin-r-10 aui-img-round" />
+        <div style="position: absolute;bottom:50px;width: 100%;top:260px" id="maincontent">
+            <section class="aui-content " style="height: 100%">
+                <div class="aui-grid" style="height: 100%">
+                    <div class="aui-row" style="height: 50%">
+                        <div class="aui-col-xs-6  mainmeun-div" id="qrcodeBtn" style="background: #BBE6EC;">
+                            <div>
+                                <div class="center-in"><img src="img/icon_qrcode.png" style="width:100px;height: 100px"></div>
+                                <div class="aui-grid-label" style="margin-top:20px;font-size: 22px;">读码</div>
+                            </div>
                         </div>
-                        <div class="aui-card-list-user-name">
-                            <div>食堂就餐</div>
-                            <div class="aui-list-item-right">+100</div>
+                        <div class="aui-col-xs-6 mainmeun-div" id="scanBtn" style="background: #91DDEA;">
+                            <div>
+                                <div class="center-in"><img src="img/icon_scan.png" style="width:100px;height: 100px"></div>
+                                <div class="aui-grid-label" style="margin-top:20px;font-size: 22px;">扫码</div>
+                            </div>
                         </div>
-                        <div class="aui-card-list-user-info">2019-08-09 11:05</div>
                     </div>
-                    <div class="aui-card-list-header aui-card-list-user">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_water.png" class="aui-margin-r-10 aui-img-round" />
+                    <div class="aui-row" style="height: 50%">
+                        <div class="aui-col-xs-6 mainmeun-div" id="qrcodeBtn1" style="background: #fff;">
+                            <div>
+                                <div class="center-in"><img src="img/icon_securty.png" style="width:100px;height: 100px"></div>
+                                <div class="aui-grid-label" style="margin-top:20px;font-size: 22px;">访码</div>
+                            </div>
                         </div>
-                        <div class="aui-card-list-user-name">
-                            <div>生活用水</div>
-                            <div class="aui-list-item-right">+100</div>
+                        <div class="aui-col-xs-6 mainmeun-div" id="moreFuncBtn"  style="background: #FDD479;">
+                            <div>
+                                <div class="center-in"><img src="img/icon_door.png" style="width:100px;height: 100px"></div>
+                                <div class="aui-grid-label" style="margin-top:20px;font-size: 22px;">更多</div>
+                            </div>
                         </div>
-                        <div class="aui-card-list-user-info">今天 11:05</div>
                     </div>
-                    <div class="aui-card-list-header aui-card-list-user">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_car.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>交通出行</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">今天 11:05</div>
-                    </div>
-                    <div class="aui-card-list-header aui-card-list-user" onclick="app.toBillDetail()">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_meal.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>食堂就餐</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">2019-08-09 11:05</div>
-                    </div>
-                    <div class="aui-card-list-header aui-card-list-user">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_water.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>生活用水</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">今天 11:05</div>
-                    </div>
-                    <div class="aui-card-list-header aui-card-list-user">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_car.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>交通出行</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">今天 11:05</div>
-                    </div>
-                    <div class="aui-card-list-header aui-card-list-user" onclick="app.toBillDetail()">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_meal.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>食堂就餐</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">2019-08-09 11:05</div>
-                    </div>
-                    <div class="aui-card-list-header aui-card-list-user">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_water.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>生活用水</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">今天 11:05</div>
-                    </div>
-                    <div class="aui-card-list-header aui-card-list-user">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_car.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>交通出行</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">今天 11:05</div>
-                    </div>
-                    <div class="aui-card-list-header aui-card-list-user">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_car.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>交通出行</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">今天 11:05</div>
-                    </div>
-                   
                 </div>
             </section>
         </div>
     </div>
-    <div id="main2" style="display: none;">
+    <div id="main2" style="display: none">
+        <header class="aui-bar aui-bar-nav" style="padding-top:25px;font-size: 22px">
+            消息
+        </header>
+        <section class="aui-content">
+             <div class="weui-loadmore weui-loadmore_line"   >
+                <span class="weui-loadmore__tips" style="background: transparent;" id="nodatahint">暂无消息</span>
+            </div>
+        </section>
+    </div>
+    <div id="main3" style="display: none;">
         <header class="aui-bar aui-bar-nav" style="padding-top:25px;font-size: 22px">
             我的
         </header>
@@ -194,22 +96,6 @@
                     </div>
                 </div>
             </div>
-            <!--<section class="aui-content aui-grid ">
-                  <div class="aui-row aui-margin-t-10">
-                      <div class="aui-col-xs-4 aui-border-r">
-                          <big class="aui-text-warning" id="user-amount">0.00</big>
-                          <div class="aui-gird-lable aui-font-size-12">余额</div>
-                      </div>
-                      <div class="aui-col-xs-4 aui-border-r">
-                          <big class="aui-text-success" id="user-point">0</big>
-                          <div class="aui-gird-lable aui-font-size-12">积分</div>
-                      </div>
-                      <div class="aui-col-xs-4 ">
-                          <big class="aui-text-danger" id="user-coupon">0</big>
-                          <div class="aui-gird-lable aui-font-size-12">优惠券</div>
-                      </div>
-                  </div>
-              </section>-->
         </section>
         <section class="aui-content">
             <ul class="aui-list aui-list-in aui-margin-b-15">
@@ -253,6 +139,10 @@
             <div class="aui-bar-tab-label">首页</div>
         </div>
         <div class="aui-bar-tab-item" tapmode onclick="switchTo(2)" id="tab2">
+            <i class="aui-iconfont aui-icon-comment"></i>
+            <div class="aui-bar-tab-label">消息</div>
+        </div>
+        <div class="aui-bar-tab-item" tapmode onclick="switchTo(3)" id="tab3">
             <i class="aui-iconfont aui-icon-my"></i>
             <div class="aui-bar-tab-label">我的</div>
         </div>
@@ -262,8 +152,9 @@
 <script type="text/javascript" src="js/lib/jquery-2.1.4.js"></script>
 <script type="text/javascript" src="js/lib/aui-tab.js"></script>
 <script type="text/javascript" src="js/lib/aui-dialog.js"></script>
+<script type="text/javascript" src="js/lib/aui-slide.js"></script>
 <script type="text/javascript" src="js/server.js"></script>
-<script type="text/javascript" src="js/main.js"></script>
+<script type="text/javascript" src="js/mainmenu.js"></script>
 <script type="text/javascript">
 
 </script>
diff --git a/platforms/android/app/src/main/java/com/dalicitycard/app/MainActivity.java b/platforms/android/app/src/main/java/com/dalipolice/app/MainActivity.java
similarity index 97%
rename from platforms/android/app/src/main/java/com/dalicitycard/app/MainActivity.java
rename to platforms/android/app/src/main/java/com/dalipolice/app/MainActivity.java
index 7b7fe6b..9682df9 100644
--- a/platforms/android/app/src/main/java/com/dalicitycard/app/MainActivity.java
+++ b/platforms/android/app/src/main/java/com/dalipolice/app/MainActivity.java
@@ -17,7 +17,7 @@
        under the License.
  */
 
-package com.dalicitycard.app;
+package com.dalipolice.app;
 
 import android.os.Bundle;
 import org.apache.cordova.*;
diff --git a/platforms/android/app/src/main/res/drawable-hdpi/icon.png b/platforms/android/app/src/main/res/drawable-hdpi/icon.png
index a79c7cf..cf210c5 100644
--- a/platforms/android/app/src/main/res/drawable-hdpi/icon.png
+++ b/platforms/android/app/src/main/res/drawable-hdpi/icon.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/drawable-ldpi/icon.png b/platforms/android/app/src/main/res/drawable-ldpi/icon.png
index 24166c6..7cfa69b 100644
--- a/platforms/android/app/src/main/res/drawable-ldpi/icon.png
+++ b/platforms/android/app/src/main/res/drawable-ldpi/icon.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/drawable-mdpi/icon.png b/platforms/android/app/src/main/res/drawable-mdpi/icon.png
index 613d8e7..74e4190 100644
--- a/platforms/android/app/src/main/res/drawable-mdpi/icon.png
+++ b/platforms/android/app/src/main/res/drawable-mdpi/icon.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/drawable-xhdpi/icon.png b/platforms/android/app/src/main/res/drawable-xhdpi/icon.png
index 1737ab8..96b824e 100644
--- a/platforms/android/app/src/main/res/drawable-xhdpi/icon.png
+++ b/platforms/android/app/src/main/res/drawable-xhdpi/icon.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/drawable-xxhdpi/icon.png b/platforms/android/app/src/main/res/drawable-xxhdpi/icon.png
index a8c7b45..8dea17d 100644
--- a/platforms/android/app/src/main/res/drawable-xxhdpi/icon.png
+++ b/platforms/android/app/src/main/res/drawable-xxhdpi/icon.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/drawable-xxxhdpi/icon.png b/platforms/android/app/src/main/res/drawable-xxxhdpi/icon.png
index 5b33488..d5a2e54 100644
--- a/platforms/android/app/src/main/res/drawable-xxxhdpi/icon.png
+++ b/platforms/android/app/src/main/res/drawable-xxxhdpi/icon.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/mipmap-hdpi-v26/ic_launcher_foreground.png b/platforms/android/app/src/main/res/mipmap-hdpi-v26/ic_launcher_foreground.png
index a79c7cf..cf210c5 100644
--- a/platforms/android/app/src/main/res/mipmap-hdpi-v26/ic_launcher_foreground.png
+++ b/platforms/android/app/src/main/res/mipmap-hdpi-v26/ic_launcher_foreground.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher.png b/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
index a79c7cf..cf210c5 100644
--- a/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
+++ b/platforms/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/mipmap-ldpi-v26/ic_launcher_foreground.png b/platforms/android/app/src/main/res/mipmap-ldpi-v26/ic_launcher_foreground.png
index 24166c6..7cfa69b 100644
--- a/platforms/android/app/src/main/res/mipmap-ldpi-v26/ic_launcher_foreground.png
+++ b/platforms/android/app/src/main/res/mipmap-ldpi-v26/ic_launcher_foreground.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/mipmap-ldpi/ic_launcher.png b/platforms/android/app/src/main/res/mipmap-ldpi/ic_launcher.png
index 24166c6..7cfa69b 100644
--- a/platforms/android/app/src/main/res/mipmap-ldpi/ic_launcher.png
+++ b/platforms/android/app/src/main/res/mipmap-ldpi/ic_launcher.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/mipmap-mdpi-v26/ic_launcher_foreground.png b/platforms/android/app/src/main/res/mipmap-mdpi-v26/ic_launcher_foreground.png
index 613d8e7..74e4190 100644
--- a/platforms/android/app/src/main/res/mipmap-mdpi-v26/ic_launcher_foreground.png
+++ b/platforms/android/app/src/main/res/mipmap-mdpi-v26/ic_launcher_foreground.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher.png b/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
index 613d8e7..74e4190 100644
--- a/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
+++ b/platforms/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/mipmap-xhdpi-v26/ic_launcher_foreground.png b/platforms/android/app/src/main/res/mipmap-xhdpi-v26/ic_launcher_foreground.png
index 1737ab8..96b824e 100644
--- a/platforms/android/app/src/main/res/mipmap-xhdpi-v26/ic_launcher_foreground.png
+++ b/platforms/android/app/src/main/res/mipmap-xhdpi-v26/ic_launcher_foreground.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png b/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
index 1737ab8..96b824e 100644
--- a/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
+++ b/platforms/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/mipmap-xxhdpi-v26/ic_launcher_foreground.png b/platforms/android/app/src/main/res/mipmap-xxhdpi-v26/ic_launcher_foreground.png
index a8c7b45..8dea17d 100644
--- a/platforms/android/app/src/main/res/mipmap-xxhdpi-v26/ic_launcher_foreground.png
+++ b/platforms/android/app/src/main/res/mipmap-xxhdpi-v26/ic_launcher_foreground.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png b/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
index a8c7b45..8dea17d 100644
--- a/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
+++ b/platforms/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/mipmap-xxxhdpi-v26/ic_launcher_foreground.png b/platforms/android/app/src/main/res/mipmap-xxxhdpi-v26/ic_launcher_foreground.png
index 5b33488..d5a2e54 100644
--- a/platforms/android/app/src/main/res/mipmap-xxxhdpi-v26/ic_launcher_foreground.png
+++ b/platforms/android/app/src/main/res/mipmap-xxxhdpi-v26/ic_launcher_foreground.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png b/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
index 5b33488..d5a2e54 100644
--- a/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
+++ b/platforms/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
Binary files differ
diff --git a/platforms/android/app/src/main/res/values/strings.xml b/platforms/android/app/src/main/res/values/strings.xml
index 04fccc7..c6e1b7a 100644
--- a/platforms/android/app/src/main/res/values/strings.xml
+++ b/platforms/android/app/src/main/res/values/strings.xml
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='utf-8'?>
 <resources>
     <string name="app_name">dlapp</string>
-    <string name="launcher_name">大理市民卡</string>
+    <string name="launcher_name">大理公安在线</string>
     <string name="activity_name">@string/launcher_name</string>
 </resources>
diff --git a/platforms/android/app/src/main/res/xml/config.xml b/platforms/android/app/src/main/res/xml/config.xml
index 648e931..a983c3b 100644
--- a/platforms/android/app/src/main/res/xml/config.xml
+++ b/platforms/android/app/src/main/res/xml/config.xml
@@ -1,5 +1,5 @@
 <?xml version='1.0' encoding='utf-8'?>
-<widget id="com.dalicitycard.app" version="1.0.6" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+<widget id="com.dalipolice.app" version="1.0.6" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
     <feature name="Whitelist">
         <param name="android-package" value="org.apache.cordova.whitelist.WhitelistPlugin" />
         <param name="onload" value="true" />
@@ -43,7 +43,7 @@
     <feature name="Fingerprint">
         <param name="android-package" value="de.niklasmerz.cordova.biometric.Fingerprint" />
     </feature>
-    <name short="大理市民卡">dlapp</name>
+    <name short="大理公安在线">dlapp</name>
     <description>
         A sample Apache Cordova application that responds to the deviceready event.
     </description>
diff --git a/platforms/browser/config.xml b/platforms/browser/config.xml
index c6f9fad..ca652aa 100644
--- a/platforms/browser/config.xml
+++ b/platforms/browser/config.xml
@@ -1,6 +1,6 @@
 <?xml version='1.0' encoding='utf-8'?>
-<widget id="com.dalicitycard.app" version="1.0.6" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
-    <name short="大理市民卡">dlapp</name>
+<widget id="com.dalipolice.app" version="1.0.6" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
+    <name short="大理公安在线">dlapp</name>
     <description>
         A sample Apache Cordova application that responds to the deviceready event.
     </description>
diff --git a/www/css/aui-slide.css b/www/css/aui-slide.css
new file mode 100644
index 0000000..7c1170e
--- /dev/null
+++ b/www/css/aui-slide.css
@@ -0,0 +1,113 @@
+/**
+ * aui-slide.css 轮播样式
+ * verson 0.0.2
+ * @author 流浪男
+ * http://www.auicss.com
+ * @todo more things to abstract, e.g. Loading css etc.
+ * Licensed under the MIT license.
+ * http://www.opensource.org/licenses/mit-license.php
+ */
+.aui-slide-wrap {
+    display: block;
+    position: relative;
+    list-style: none;
+    margin: 0;
+    padding: 0;
+    height: 100%;
+    width: 100%;
+    overflow: hidden;
+}
+.aui-slide-wrap .aui-slide-node {
+    position: absolute;
+    top: 0;
+    left: 0;
+    margin: 0;
+    padding: 0;
+    width: 100%;
+    height: 100%;
+    list-style: none;
+    overflow: hidden;
+    background: #ffffff;
+}
+.aui-slide-node-center {
+	display: -moz-box;
+    display: -webkit-box;
+    display: box;
+    -moz-box-pack: center;
+    -webkit-box-pack: center;
+    box-pack: center;
+}
+.aui-slide-node-middle {
+	display: -moz-box;
+    display: -webkit-box;
+    display: box;
+	-moz-box-align: center;
+    -webkit-box-align: center;
+    box-align: center;
+}
+.aui-slide-node img {
+    width: 100%;
+    height: 100%;
+}
+.aui-slide-page-wrap {
+    width: 100%;
+    height: 30px;
+    line-height: 30px;
+    position: absolute;
+    padding: 0;
+    left: 0;
+    right: 0;
+    bottom: 5px;
+    z-index: 9999;
+    text-align: center;
+}
+.aui-slide-page-dot {
+    position: relative;
+    display: inline-block;
+    width: 6px;
+    height: 6px;
+    border-radius: 50%;
+    list-style: none;
+    margin: 5px 3px 0 3px;
+    background: #c7c7c7;
+    -webkit-transition: all 0.5s;
+            transition: all 0.5s;
+}
+.aui-slide-page-line {
+	position: absolute;
+	bottom: -14px;
+	height: 1px !important;
+	position: relative;
+    display: inline-block;
+    background: #eeeeee;
+    -webkit-transition: all 0.5s;
+            transition: all 0.5s;
+}
+.aui-slide-page-active {
+    background: #1abc9c;
+    from { opacity: 0.3; }
+    to { opacity: 1 }
+}
+.aui-slide-prev-btn,
+.aui-slide-next-btn {
+    display: inline-block;
+    width: 50px;
+    height: 30px;
+    line-height: 30px;
+    font-size: 1.2em;
+    color: #1abc9c;
+    background: rgba(249,249,249,0.6);
+    position: relative;
+}
+.aui-slide-prev-btn {
+    border-top-left-radius: 15px;
+    border-bottom-left-radius: 15px;
+}
+.aui-slide-next-btn {
+    border-top-right-radius: 15px;
+    border-bottom-right-radius: 15px;
+}
+.aui-slide-prev-btn:active,
+.aui-slide-next-btn:active {
+    color: #f1c40f;
+}
\ No newline at end of file
diff --git a/www/css/index.css b/www/css/index.css
index b23e33c..fb20796 100644
--- a/www/css/index.css
+++ b/www/css/index.css
@@ -38,6 +38,12 @@
     position: absolute;
     animation: myfirst 2s linear infinite alternate;
 }
+.mainmeun-div{
+    height: 100%;
+    flex-direction: row;justify-content: center;
+    align-items: center;display: flex!important;
+   font-size: 20px;
+}
 
 @keyframes myfirst {
     0% {
diff --git a/www/img/s1.jpg b/www/img/s1.jpg
new file mode 100644
index 0000000..d664916
--- /dev/null
+++ b/www/img/s1.jpg
Binary files differ
diff --git a/www/img/s2.jpg b/www/img/s2.jpg
new file mode 100644
index 0000000..6f8e3d3
--- /dev/null
+++ b/www/img/s2.jpg
Binary files differ
diff --git a/www/img/s3.jpg b/www/img/s3.jpg
new file mode 100644
index 0000000..4fd46a4
--- /dev/null
+++ b/www/img/s3.jpg
Binary files differ
diff --git a/www/img/splashscreen.png b/www/img/splashscreen.png
new file mode 100644
index 0000000..a93b845
--- /dev/null
+++ b/www/img/splashscreen.png
Binary files differ
diff --git a/www/index.html b/www/index.html
index 576b5e9..005362a 100644
--- a/www/index.html
+++ b/www/index.html
@@ -1,6 +1,5 @@
 <!DOCTYPE html>
 <html>
-
 <head>
     <meta name="format-detection" content="telephone=no">
     <meta charset="utf-8">
@@ -9,15 +8,10 @@
     <link rel="stylesheet" type="text/css" href="css/weui.min.css">
     <link rel="stylesheet" type="text/css" href="css/jquery-weui.min.css">
     <link rel="stylesheet" type="text/css" href="css/index.css">
-    <title>大理市民卡</title>
+    <title>大理公安在线</title>
 </head>
 <body class="mainbg">
-    <div class="weui-footer weui-footer_fixed-bottom">
-        <p class="weui-footer__links">
-            <a href="#" class="weui-footer__link" style="color: white">大理市民卡</a>
-        </p>
-        <p class="weui-footer__text" style="color: white">© 2019 上海树维</p>
-    </div>
+   <img src="img/splashscreen.png" style="width: 100%;height: 100%" />
 </body>
 </html>
 <script type="text/javascript" src="cordova.js"></script>
diff --git a/www/js/index.js b/www/js/index.js
index db3d7ce..9e660c1 100644
--- a/www/js/index.js
+++ b/www/js/index.js
@@ -25,9 +25,16 @@
     },
 
     onDeviceReady: function() {
+        debugger;
+        var firstload = window.localStorage.getItem("firstload");
+       if(isEmpty(firstload)){
+         app.toPage("startload.html")
+         return;
+       }
         var uid = window.localStorage.getItem("token");
         if (isEmpty(uid)) {
-            window.location = "login.html";
+            //window.location = "login.html";
+            toPage("login.html")
         } else {
             //尝试登陆
             V1Infor(function(ok, ret) {
@@ -37,23 +44,32 @@
                         if(!isEmpty(ret.token)){
                              window.localStorage.setItem("token",ret.token); 
                         }
-                        window.location = "main.html";
+                        //window.location = "main.html";
+                        app.toPage("main.html")
                     }else{
-                        window.location = "login.html";
+                        //window.location = "login.html";
+                        app.toPage("login.html")
                     }
                 } else {
                     //alert('无法请求到服务器，请检查网络并稍后再试');
                     if (ret.status == 401) {
                         //need login
-                        window.location = "login.html";
+                        //window.location = "login.html";
+                        app.toPage("login.html")
                     } else {
                         //TODO ,没有网络
-                        
-                        window.location = "main.html";
+                        app.toPage("main.html")
+                        //window.location = "main.html";
                     }
                 }
             })
         }
+    },
+    toPage:function(page){
+        setTimeout(function() {
+           //window.location=page; 
+            window.location=page; 
+        },2000)
     }
 };
 app.initialize();
\ No newline at end of file
diff --git a/www/js/mainmenu.js b/www/js/mainmenu.js
new file mode 100644
index 0000000..226091a
--- /dev/null
+++ b/www/js/mainmenu.js
@@ -0,0 +1,445 @@
+var app = {
+
+    // Application Constructor
+    initialize: function() {
+        this.initTab();
+        document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
+        document.addEventListener('jpush.receiveRegistrationId', function(event) {
+             console.log(event.registrationId)
+        }, false)
+        document.addEventListener("jpush.openNotification", function (event) {
+          var refno
+          console.log("openNotify:"+event);
+          if(device.platform == "Android") {
+            refno = event.extras.refno
+          } else {
+            refno = event.refno
+            window.JPush.setApplicationIconBadgeNumber(0);
+          }
+          app.openBill(refno);
+          console.log("openNotify:"+refno);
+        }, false)
+    },
+    openBill:function(billno){
+        window.localStorage.setItem("currentrefno",billno);
+        window.location='billdetail.html';
+    },
+    initJpush: function() {
+        if(device.platform == "Android") {
+        } else {
+         window.JPush.setApplicationIconBadgeNumber(0);
+        }
+        window.JPush.init();
+        window.JPush.setDebugMode(true);
+        window.JPush.isPushStopped(function(result) {
+            if (result == 0) {
+                //window.JPush.resumePush();
+            } else {
+                window.JPush.resumePush();
+            }
+        });
+        window.JPush.getUserNotificationSettings(function(result) {
+          if(result == 0) {
+          } else if(result > 0) {
+          }
+         });
+        var uid = window.localStorage.getItem("uid");
+        window.JPush.setAlias({ sequence: 1, alias: uid },
+          (result) => {
+            var sequence = result.sequence
+            var alias = result.alias
+            //alert(JSON.stringify(result))
+          }, (error) => {
+            var sequence = error.sequence
+            var errorCode = error.code
+            //alert(JSON.stringify(error))
+          })
+    },
+
+    onDeviceReady: function() {
+        var uid = window.localStorage.getItem("token");
+        this.initJpush();
+        $('#scanBtn').click(function() {
+            //window.location = "scan.html";
+            app.checkBefore(function() {
+                app.checkOther(function() {
+                    window.location = "scan.html";
+                })
+            })
+        });
+        $('#qrcodeBtn').click(function() {
+            app.checkBefore(function() {
+                app.checkOther(function() {
+                    window.location = "qrcode.html";
+                })
+            })
+        });
+        $('#qrcodeBtn1').click(function() {
+            app.checkBefore(function() {
+                app.checkOther(function() {
+                    window.location = "qrcode.html";
+                })
+            })
+        });
+        /*$('#cardBtn').click(function() {
+            app.checkBefore(function() {
+                app.checkOther(function() {
+                    window.location = "card.html";
+                })
+            })
+        });
+        $('#billBtn').click(function() {
+            app.checkBefore(function() {
+                window.location = "bill.html";
+            })
+        });
+        $('#moreBtn').click(function() {
+            app.checkBefore(function() {
+                window.location = "bill.html";
+            })
+        });
+        $('#secBtn').click(function() {
+            //window.location = "security.html";
+            app.checkBefore(function() {
+                app.checkOther(function() {
+                    window.location = "security.html";
+                })
+            })
+        });
+        
+        $("#doorBtn").click(function(){
+            app.checkBefore(function() {
+                showRet(DOOR_URl);
+            })
+        })*/
+        $("#moreFuncBtn").click(function(){
+            window.location = "more.html";
+        })
+        $('#usersec').click(function() {
+            app.checkBefore(function() {
+                app.checkOther(function() {
+                    window.location = "security.html";
+                })
+            })
+        });
+        $('#accsignbtn').click(function() {
+            app.checkBefore(function() {
+                var signed = window.localStorage.getItem("signed");
+                var cum = new auiDialog({});
+                 if (isEmpty(signed) || signed != 'yes') {
+                    var confirm = cum.alert({
+                        title: "提示",
+                        msg: '您尚未签约市民卡免密代扣签约协议，无法使用该功能',
+                        buttons: ['取消', '去签约']
+                    }, function(ret) {
+                        if (ret.buttonIndex == 2) {
+                           app.toSignCode();
+                        }
+                    })
+                }else{
+                    window.location = 'signxycheck.html'
+                }
+            })
+        });
+        this.initSlider();
+        this.initData();
+        this.backBtn();
+    },
+    backBtn: function(){
+        document.addEventListener("backbutton", function(e){
+               e.preventDefault();
+               navigator.app.exitApp();
+            }, false);
+    },
+    initTab: function() {
+        //$("#maincontent").css("top", $("#maintop").height())
+        var tab = new auiTab({
+            element: document.getElementById("footer"),
+        }, function(ret) {
+            window.localStorage.setItem("tabindex", ret.index);
+
+            changeTab(ret.index);
+        });
+        var tabindex = window.localStorage.getItem("tabindex");
+        if (!tabindex || tabindex == 0) {
+            tabindex = 1
+        }
+        changeTab(tabindex);
+        tab.setActive(tabindex)
+
+        function changeTab(index) {
+            if (index == 1) {
+                $("#main1").show();
+                $("#main2").hide();
+                $("#main3").hide();
+            } else if (index == 2) {
+                $("#main1").hide();
+                $("#main2").show();
+                $("#main3").hide();
+            } else if (index == 3) {
+                $("#main1").hide();
+                $("#main2").hide();
+                $("#main3").show();
+            }
+        }
+    },
+    initSlider:function(){
+        var slide = new auiSlide({
+            container:document.getElementById("startslider"),
+            "height":260,
+            "speed":500,
+            "pageShow":true,
+            "autoPlay":3000,
+            "pageStyle":'dot',
+            "loop":true,
+            'dotPosition':'center',
+            currentPage:currentFun
+        });
+        function currentFun(index){
+            //console.log(index)
+        }
+    },
+    initData: function() {
+        this.loadBill()
+    },
+    loadBill: function() {
+        //$("#loaddata").show()
+        //$("#nodata").hide();
+        var param = {
+            "pageno": 1,
+            "platform":device.platform
+        }
+        V1Bills(param, function(ok, ret) {
+            if (ok) {
+                console.log(ret)
+                if (ret.code == 200) {
+                    app.checkVersion(ret.version,ret.minversion,ret.versionmsg,ret.versionurl);
+                    //app.checkVersion("1.3.9","1","new func","https://shouji.baidu.com/software/26706357.html");
+                    //$("#maingt").text(ret.t + "！")
+                    $("#user-amount").text(ret.amount)
+                    $("#user-point").text(ret.point)
+                    if (ret.needrebind) {
+                        window.localStorage.removeItem("userid");
+                    } else {
+                        window.localStorage.setItem("userid", ret.userid);
+                    }
+                    window.localStorage.setItem("signed", ret.signed);
+                    window.localStorage.setItem("paypwdset", ret.paypwdset);
+                    window.localStorage.setItem("name", ret.name);
+                    if (ret.page && ret.page.count > 0) {
+                        GLOBAL_TODAY = ret.today;
+                        GLOBAL_YESTERDAY = ret.yesterday;
+                        //app.initBillView(ret.page)
+                        app.initView();
+                    } else {
+                        //$("#loaddata").hide()
+                        //$("#nodatahint").text("暂无数据")
+                        //$("#nodata").show();
+                        app.initView();
+                    }
+                } else {
+                    //$("#loaddata").hide()
+                    //$("#nodatahint").text("数据加载异常")
+                    //$("#nodata").show();
+                    app.initView();
+                }
+            } else {
+                //$("#loaddata").hide()
+                //$("#nodatahint").text("请求数据失败")
+                //$("#nodata").show();
+                app.initView();
+            }
+        })
+    },
+    checkVersion:function(ver,minver,m,url){
+        cordova.getAppVersion.getVersionNumber(function (version) {
+            //alert(version);
+            //alert(version);
+            if(ver>version){
+                var cum = new auiDialog({});
+                var confirm = cum.alert({
+                    title: "有新的版本",
+                    msg: m,
+                    buttons: ['取消', '去更新']
+                }, function(ret) {
+                    if (ret.buttonIndex == 2) {
+                       cordova.InAppBrowser.open(url, '_system', 'location=no,toolbar=yes,toolbarposition=top,closebuttoncaption=关闭');
+                    }
+                })  
+            }
+        });
+    },
+    initBillView: function(page) {
+        var html = '';
+        for (var i = 0; i < page.data.length; i++) {
+            var bean = page.data[i]
+            html += '<div class="aui-card-list-header aui-card-list-user" onclick="app.toBillDetail(\'' + bean.refno + '\')">';
+            html += '<div class="aui-card-list-user-avatar"><img src="img/icon_meal.png" class="aui-margin-r-10 aui-img-round" />';
+            html += '</div><div class="aui-card-list-user-name">';
+            html += '<div>' + bean.transdesc + '</div>';
+            if (bean.tradeflag == 'in') {
+                html += '<div class="aui-list-item-right">+' + bean.amount + '</div>';
+            } else {
+                html += '<div class="aui-list-item-right">' + bean.amount + '</div>';
+            }
+            html += '</div><div class="aui-card-list-user-info">' + formatDateNoYear(bean.transdate, bean.transtime) + '</div></div>';
+        }
+        $("#billcontent").html(html);
+        $("#loaddata").hide()
+        $("#nodata").hide();
+        $("#billcontent").show();
+
+    },
+    initView: function() {
+        var userid = window.localStorage.getItem("userid");
+        var signed = window.localStorage.getItem("signed");
+        if (isEmpty(userid)) {
+            $("#userbank").text("未绑定");
+            $("#userbank").css("color", "red")
+        } else {
+            $("#userbank").text("已绑定");
+            $("userbank").css("color", "#757575");
+        }
+        if (isEmpty(signed) || signed != 'yes') {
+            $("#usersign").text("未签约");
+            $("#usersign").css("color", "red")
+        } else {
+            $("#usersign").text("已签约");
+            $("usersign").css("color", "#757575");
+        }
+        var phone = window.localStorage.getItem("phoneX");
+        if (!isEmpty(phone)) {
+            $("#userphone").text(phone)
+        }
+        var name = window.localStorage.getItem("name");
+        if (isEmpty(name)) {
+            $("#username").text("匿名")
+        } else {
+            $("#username").text(name)
+            $("#homename").text(name)
+        }
+    },
+    checkBefore: function(callback) {
+        var uid = window.localStorage.getItem("token");
+        if (isEmpty(uid)) {
+            window.location = "login.html";
+        } else {
+            var userid = window.localStorage.getItem("userid");
+            if (isEmpty(userid)) {
+                var cum = new auiDialog({});
+                var confirm = cum.alert({
+                    title: "提示",
+                    msg: '为了不影响您正常使用相关功能，请先绑定银行卡',
+                    buttons: ['取消', '去绑卡']
+                }, function(ret) {
+                    if (ret.buttonIndex == 2) {
+                        window.location = 'bindcard.html'
+                    }
+                })
+            } else {
+                if (callback) {
+                    callback()
+                }
+            }
+        }
+    },
+    checkOther: function(callback) {
+        var signed = window.localStorage.getItem("signed");
+        var cum = new auiDialog({});
+
+        if (isEmpty(signed) || signed != 'yes') {
+            var confirm = cum.alert({
+                title: "提示",
+                msg: '您尚未签约市民卡免密代扣签约协议，无法使用该功能',
+                buttons: ['取消', '去签约']
+            }, function(ret) {
+                if (ret.buttonIndex == 2) {
+                   app.toSignCode();
+                }
+            })
+        } else {
+            if (callback) {
+                callback()
+            }
+        }
+    },
+    toSignCode: function(){
+        var param = {
+        }
+        V1Bindcardcode(param, function(ok, ret) {
+            if (ok) {
+                if (ret.code == 200) {
+                    window.location = 'bindcheck.html'
+                } else {
+                    $.alert(ret.msg, "错误");
+                }
+            } else {
+                $.alert("请求失败了 " + ret.status + "，请稍后再试", "错误");
+            }
+        })
+    },
+    toSign: function() {
+        window.location = 'signxycheck.html'
+    },
+    toBillDetail: function(refno) {
+        window.localStorage.setItem("currentrefno", refno);
+        window.location = 'billdetail.html';
+    },
+    toCard: function() {
+        var userid = window.localStorage.getItem("userid");
+        if (isEmpty(userid)) {
+            window.location = 'bindcard.html'
+        } else {
+            window.location = 'cardinfor.html'
+        }
+    },
+    logout:function(){
+        window.localStorage.removeItem("token");
+        window.location = "login.html";
+    }
+};
+app.initialize();
+
+function showRet(url) {
+        if(isEmpty(url)){
+            return;
+        }
+        var userid = window.localStorage.getItem("userid"); 
+        //if (url.indexOf("yy.dlsmk.cn")>=0) {
+            if(url.indexOf("?")>0){
+                url=url+'&userid='+userid;
+            }else{
+                url=url+'?userid='+userid;
+            }
+        //}
+        console.log(url)
+        var inAppBrowserRef = cordova.ThemeableBrowser.open(url, '_blank', {
+            statusbar: {
+                color: '#03a9f4ff'
+            },
+            toolbar: {
+                height: 44,
+                color: '#03a9f4ff'
+            },
+            title: {
+                color: '#ffffffff',
+                showPageTitle: true
+            },
+            backButton: {
+                image: 'back.png',
+                imagePressed: 'back.png',
+                align: 'left',
+                event: 'backPressed'
+            },
+            closeButton: {
+                image: 'close.png',
+                imagePressed: 'close.png',
+                align: 'left',
+                event: 'closePressed'
+            },
+            backButtonCanClose: true
+        }).addEventListener('closePressed', function(params){
+            inAppBrowserRef.close();
+            //window.location = "main.html"
+         });
+    }
diff --git a/www/js/startload.js b/www/js/startload.js
new file mode 100644
index 0000000..2ac0b7d
--- /dev/null
+++ b/www/js/startload.js
@@ -0,0 +1,20 @@
+var app = {
+    initialize: function() {
+        document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
+    },
+
+    onDeviceReady: function() {
+        
+    },
+    toMain:function(){
+         window.localStorage.setItem("firstload",'no'); 
+         var uid = window.localStorage.getItem("token");
+        if (isEmpty(uid)) {
+            window.location = "login.html";
+            //toPage("login.html")
+        } else {
+            window.location = "main.html"; 
+        }
+    }
+};
+app.initialize();
\ No newline at end of file
diff --git a/www/login.html b/www/login.html
index 60827f3..bce7fd5 100644
--- a/www/login.html
+++ b/www/login.html
@@ -12,7 +12,7 @@
 </head>
 <body>
     <div class="login-top">
-        大理市民卡
+        大理公安在线
     </div>
     <section class="aui-content" >
        <ul class="aui-list aui-form-list">
diff --git a/www/main.html b/www/main.html
index c8bb590..0d18b69 100644
--- a/www/main.html
+++ b/www/main.html
@@ -9,171 +9,73 @@
     <link rel="stylesheet" type="text/css" href="css/weui.min.css">
     <link rel="stylesheet" type="text/css" href="css/jquery-weui.min.css">
     <link rel="stylesheet" type="text/css" href="css/index.css" />
+    <link rel="stylesheet" type="text/css" href="css/aui-slide.css">
 </head>
 
 <body>
     <div id="main1">
         <div id="maintop">
-            <section class="aui-content " style="background-color: #03a9f4 !important;">
-                <h1 class="text-white align-left" style="font-size: 26px;color: #fff;padding: 30px 20px 0 20px;"><span id="maingt">您好！</span><span id="homename"></span></h1>
-                <div class="aui-grid aui-bg-info">
-                    <div class="aui-row" id="classify">
-                        <div class="aui-col-xs-6 top-btn" id="scanBtn">
-                            <div class="center-in"><img src="img/icon_scan.png" style="width:56px;"></div>
-                            <div class="aui-grid-label top-title">扫一扫</div>
-                        </div>
-                        <div class="aui-col-xs-6 top-btn" id="qrcodeBtn">
-                            <div class="center-in"><img src="img/icon_qrcode.png" style="width:56px;"></div>
-                            <div class="aui-grid-label top-title">我的码</div>
-                        </div>
+            <div id="startslider" class="main" style="height: 260px;display: block;">
+                <div class="aui-slide-wrap" >
+                    <div class="aui-slide-node bg-dark">
+                        <img  src="img/s1.jpg" />
+                    </div>
+                    <div class="aui-slide-node bg-dark">
+                        <img src="img/s2.jpg"  />
+                    </div>
+                    <div class="aui-slide-node bg-dark">
+                        <img src="img/s3.jpg"  />
                     </div>
                 </div>
-            </section>
-            <section class="aui-content aui-margin-b-10">
-                <div class="aui-grid">
-                    <div class="aui-row">
-                        <div class="aui-col-xs-4" id="cardBtn">
-                            <div class="center-in"><img src="img/icon_card.png" style="width:28px;height: 28px"></div>
-                            <div class="aui-grid-label" style="margin-top:10px;">市民卡挂失</div>
-                        </div>
-                        <div class="aui-col-xs-4" id="billBtn">
-                            <div class="center-in"><img src="img/icon_bill.png" style="width:28px;height: 28px"></div>
-                            <div class="aui-grid-label" style="margin-top:10px;">账单查询</div>
-                        </div>
-                        <div class="aui-col-xs-4" id="secBtn">
-                            <div class="center-in"><img src="img/icon_securty.png" style="width:28px;height: 28px"></div>
-                            <div class="aui-grid-label" style="margin-top:10px;">账户安全</div>
-                        </div>
-                        <div class="aui-col-xs-4" id="doorBtn">
-                            <div class="center-in"><img src="img/icon_door.png" style="width:28px;height: 28px"></div>
-                            <div class="aui-grid-label" style="margin-top:10px;">远程开门</div>
-                        </div>
-                    </div>
-                </div>
-            </section>
-            <div class="aui-card-list">
-                <div class="aui-card-list-header" style="border-bottom: 1px solid #f2f2f2">
-                    <div class="aui-font-size-14">近期交易</div>
-                    <div class="aui-list-item-right" style="font-size: 16px;color:#49bce9" id="moreBtn">更多></div>
-                </div>
+                <div class="aui-slide-page-wrap"><!--分页容器--></div>
             </div>
         </div>
-        <div style="position: absolute;top:320px;bottom:52px;width: 100%;overflow: auto;" id="maincontent">
-            <section class="aui-content">
-                <div class="weui-loadmore" id="loaddata">
-                    <i class="weui-loading"></i>
-                    <span class="weui-loadmore__tips">正在加载</span>
-                </div>
-                <div class="weui-loadmore weui-loadmore_line" id="nodata" style="display: none" onclick="app.loadBill()">
-                    <span class="weui-loadmore__tips" style="background: transparent;" id="nodatahint">暂无数据</span>
-                </div>
-                <div class="aui-card-list" id="billcontent" style="display: none">
-                    <div class="aui-card-list-header aui-card-list-user" onclick="app.toBillDetail()">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_meal.png" class="aui-margin-r-10 aui-img-round" />
+        <div style="position: absolute;bottom:50px;width: 100%;top:260px" id="maincontent">
+            <section class="aui-content " style="height: 100%">
+                <div class="aui-grid" style="height: 100%">
+                    <div class="aui-row" style="height: 50%">
+                        <div class="aui-col-xs-6  mainmeun-div" id="qrcodeBtn" style="background: #BBE6EC;">
+                            <div>
+                                <div class="center-in"><img src="img/icon_qrcode.png" style="width:100px;height: 100px"></div>
+                                <div class="aui-grid-label" style="margin-top:20px;font-size: 22px;">读码</div>
+                            </div>
                         </div>
-                        <div class="aui-card-list-user-name">
-                            <div>食堂就餐</div>
-                            <div class="aui-list-item-right">+100</div>
+                        <div class="aui-col-xs-6 mainmeun-div" id="scanBtn" style="background: #91DDEA;">
+                            <div>
+                                <div class="center-in"><img src="img/icon_scan.png" style="width:100px;height: 100px"></div>
+                                <div class="aui-grid-label" style="margin-top:20px;font-size: 22px;">扫码</div>
+                            </div>
                         </div>
-                        <div class="aui-card-list-user-info">2019-08-09 11:05</div>
                     </div>
-                    <div class="aui-card-list-header aui-card-list-user">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_water.png" class="aui-margin-r-10 aui-img-round" />
+                    <div class="aui-row" style="height: 50%">
+                        <div class="aui-col-xs-6 mainmeun-div" id="qrcodeBtn1" style="background: #fff;">
+                            <div>
+                                <div class="center-in"><img src="img/icon_securty.png" style="width:100px;height: 100px"></div>
+                                <div class="aui-grid-label" style="margin-top:20px;font-size: 22px;">访码</div>
+                            </div>
                         </div>
-                        <div class="aui-card-list-user-name">
-                            <div>生活用水</div>
-                            <div class="aui-list-item-right">+100</div>
+                        <div class="aui-col-xs-6 mainmeun-div" id="moreFuncBtn"  style="background: #FDD479;">
+                            <div>
+                                <div class="center-in"><img src="img/icon_door.png" style="width:100px;height: 100px"></div>
+                                <div class="aui-grid-label" style="margin-top:20px;font-size: 22px;">更多</div>
+                            </div>
                         </div>
-                        <div class="aui-card-list-user-info">今天 11:05</div>
                     </div>
-                    <div class="aui-card-list-header aui-card-list-user">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_car.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>交通出行</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">今天 11:05</div>
-                    </div>
-                    <div class="aui-card-list-header aui-card-list-user" onclick="app.toBillDetail()">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_meal.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>食堂就餐</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">2019-08-09 11:05</div>
-                    </div>
-                    <div class="aui-card-list-header aui-card-list-user">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_water.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>生活用水</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">今天 11:05</div>
-                    </div>
-                    <div class="aui-card-list-header aui-card-list-user">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_car.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>交通出行</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">今天 11:05</div>
-                    </div>
-                    <div class="aui-card-list-header aui-card-list-user" onclick="app.toBillDetail()">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_meal.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>食堂就餐</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">2019-08-09 11:05</div>
-                    </div>
-                    <div class="aui-card-list-header aui-card-list-user">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_water.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>生活用水</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">今天 11:05</div>
-                    </div>
-                    <div class="aui-card-list-header aui-card-list-user">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_car.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>交通出行</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">今天 11:05</div>
-                    </div>
-                    <div class="aui-card-list-header aui-card-list-user">
-                        <div class="aui-card-list-user-avatar">
-                            <img src="img/icon_car.png" class="aui-margin-r-10 aui-img-round" />
-                        </div>
-                        <div class="aui-card-list-user-name">
-                            <div>交通出行</div>
-                            <div class="aui-list-item-right">+100</div>
-                        </div>
-                        <div class="aui-card-list-user-info">今天 11:05</div>
-                    </div>
-                   
                 </div>
             </section>
         </div>
     </div>
-    <div id="main2" style="display: none;">
+    <div id="main2" style="display: none">
+        <header class="aui-bar aui-bar-nav" style="padding-top:25px;font-size: 22px">
+            消息
+        </header>
+        <section class="aui-content">
+             <div class="weui-loadmore weui-loadmore_line"   >
+                <span class="weui-loadmore__tips" style="background: transparent;" id="nodatahint">暂无消息</span>
+            </div>
+        </section>
+    </div>
+    <div id="main3" style="display: none;">
         <header class="aui-bar aui-bar-nav" style="padding-top:25px;font-size: 22px">
             我的
         </header>
@@ -194,22 +96,6 @@
                     </div>
                 </div>
             </div>
-            <!--<section class="aui-content aui-grid ">
-                  <div class="aui-row aui-margin-t-10">
-                      <div class="aui-col-xs-4 aui-border-r">
-                          <big class="aui-text-warning" id="user-amount">0.00</big>
-                          <div class="aui-gird-lable aui-font-size-12">余额</div>
-                      </div>
-                      <div class="aui-col-xs-4 aui-border-r">
-                          <big class="aui-text-success" id="user-point">0</big>
-                          <div class="aui-gird-lable aui-font-size-12">积分</div>
-                      </div>
-                      <div class="aui-col-xs-4 ">
-                          <big class="aui-text-danger" id="user-coupon">0</big>
-                          <div class="aui-gird-lable aui-font-size-12">优惠券</div>
-                      </div>
-                  </div>
-              </section>-->
         </section>
         <section class="aui-content">
             <ul class="aui-list aui-list-in aui-margin-b-15">
@@ -253,6 +139,10 @@
             <div class="aui-bar-tab-label">首页</div>
         </div>
         <div class="aui-bar-tab-item" tapmode onclick="switchTo(2)" id="tab2">
+            <i class="aui-iconfont aui-icon-comment"></i>
+            <div class="aui-bar-tab-label">消息</div>
+        </div>
+        <div class="aui-bar-tab-item" tapmode onclick="switchTo(3)" id="tab3">
             <i class="aui-iconfont aui-icon-my"></i>
             <div class="aui-bar-tab-label">我的</div>
         </div>
@@ -262,8 +152,9 @@
 <script type="text/javascript" src="js/lib/jquery-2.1.4.js"></script>
 <script type="text/javascript" src="js/lib/aui-tab.js"></script>
 <script type="text/javascript" src="js/lib/aui-dialog.js"></script>
+<script type="text/javascript" src="js/lib/aui-slide.js"></script>
 <script type="text/javascript" src="js/server.js"></script>
-<script type="text/javascript" src="js/main.js"></script>
+<script type="text/javascript" src="js/mainmenu.js"></script>
 <script type="text/javascript">
 
 </script>
diff --git a/www/main2.html b/www/main2.html
new file mode 100644
index 0000000..c8bb590
--- /dev/null
+++ b/www/main2.html
@@ -0,0 +1,270 @@
+<!doctype html>
+<html>
+
+<head>
+    <meta charset="utf-8">
+    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0" />
+    <meta name="format-detection" content="telephone=no,email=no,date=no,address=no">
+    <link rel="stylesheet" type="text/css" href="css/aui.css" />
+    <link rel="stylesheet" type="text/css" href="css/weui.min.css">
+    <link rel="stylesheet" type="text/css" href="css/jquery-weui.min.css">
+    <link rel="stylesheet" type="text/css" href="css/index.css" />
+</head>
+
+<body>
+    <div id="main1">
+        <div id="maintop">
+            <section class="aui-content " style="background-color: #03a9f4 !important;">
+                <h1 class="text-white align-left" style="font-size: 26px;color: #fff;padding: 30px 20px 0 20px;"><span id="maingt">您好！</span><span id="homename"></span></h1>
+                <div class="aui-grid aui-bg-info">
+                    <div class="aui-row" id="classify">
+                        <div class="aui-col-xs-6 top-btn" id="scanBtn">
+                            <div class="center-in"><img src="img/icon_scan.png" style="width:56px;"></div>
+                            <div class="aui-grid-label top-title">扫一扫</div>
+                        </div>
+                        <div class="aui-col-xs-6 top-btn" id="qrcodeBtn">
+                            <div class="center-in"><img src="img/icon_qrcode.png" style="width:56px;"></div>
+                            <div class="aui-grid-label top-title">我的码</div>
+                        </div>
+                    </div>
+                </div>
+            </section>
+            <section class="aui-content aui-margin-b-10">
+                <div class="aui-grid">
+                    <div class="aui-row">
+                        <div class="aui-col-xs-4" id="cardBtn">
+                            <div class="center-in"><img src="img/icon_card.png" style="width:28px;height: 28px"></div>
+                            <div class="aui-grid-label" style="margin-top:10px;">市民卡挂失</div>
+                        </div>
+                        <div class="aui-col-xs-4" id="billBtn">
+                            <div class="center-in"><img src="img/icon_bill.png" style="width:28px;height: 28px"></div>
+                            <div class="aui-grid-label" style="margin-top:10px;">账单查询</div>
+                        </div>
+                        <div class="aui-col-xs-4" id="secBtn">
+                            <div class="center-in"><img src="img/icon_securty.png" style="width:28px;height: 28px"></div>
+                            <div class="aui-grid-label" style="margin-top:10px;">账户安全</div>
+                        </div>
+                        <div class="aui-col-xs-4" id="doorBtn">
+                            <div class="center-in"><img src="img/icon_door.png" style="width:28px;height: 28px"></div>
+                            <div class="aui-grid-label" style="margin-top:10px;">远程开门</div>
+                        </div>
+                    </div>
+                </div>
+            </section>
+            <div class="aui-card-list">
+                <div class="aui-card-list-header" style="border-bottom: 1px solid #f2f2f2">
+                    <div class="aui-font-size-14">近期交易</div>
+                    <div class="aui-list-item-right" style="font-size: 16px;color:#49bce9" id="moreBtn">更多></div>
+                </div>
+            </div>
+        </div>
+        <div style="position: absolute;top:320px;bottom:52px;width: 100%;overflow: auto;" id="maincontent">
+            <section class="aui-content">
+                <div class="weui-loadmore" id="loaddata">
+                    <i class="weui-loading"></i>
+                    <span class="weui-loadmore__tips">正在加载</span>
+                </div>
+                <div class="weui-loadmore weui-loadmore_line" id="nodata" style="display: none" onclick="app.loadBill()">
+                    <span class="weui-loadmore__tips" style="background: transparent;" id="nodatahint">暂无数据</span>
+                </div>
+                <div class="aui-card-list" id="billcontent" style="display: none">
+                    <div class="aui-card-list-header aui-card-list-user" onclick="app.toBillDetail()">
+                        <div class="aui-card-list-user-avatar">
+                            <img src="img/icon_meal.png" class="aui-margin-r-10 aui-img-round" />
+                        </div>
+                        <div class="aui-card-list-user-name">
+                            <div>食堂就餐</div>
+                            <div class="aui-list-item-right">+100</div>
+                        </div>
+                        <div class="aui-card-list-user-info">2019-08-09 11:05</div>
+                    </div>
+                    <div class="aui-card-list-header aui-card-list-user">
+                        <div class="aui-card-list-user-avatar">
+                            <img src="img/icon_water.png" class="aui-margin-r-10 aui-img-round" />
+                        </div>
+                        <div class="aui-card-list-user-name">
+                            <div>生活用水</div>
+                            <div class="aui-list-item-right">+100</div>
+                        </div>
+                        <div class="aui-card-list-user-info">今天 11:05</div>
+                    </div>
+                    <div class="aui-card-list-header aui-card-list-user">
+                        <div class="aui-card-list-user-avatar">
+                            <img src="img/icon_car.png" class="aui-margin-r-10 aui-img-round" />
+                        </div>
+                        <div class="aui-card-list-user-name">
+                            <div>交通出行</div>
+                            <div class="aui-list-item-right">+100</div>
+                        </div>
+                        <div class="aui-card-list-user-info">今天 11:05</div>
+                    </div>
+                    <div class="aui-card-list-header aui-card-list-user" onclick="app.toBillDetail()">
+                        <div class="aui-card-list-user-avatar">
+                            <img src="img/icon_meal.png" class="aui-margin-r-10 aui-img-round" />
+                        </div>
+                        <div class="aui-card-list-user-name">
+                            <div>食堂就餐</div>
+                            <div class="aui-list-item-right">+100</div>
+                        </div>
+                        <div class="aui-card-list-user-info">2019-08-09 11:05</div>
+                    </div>
+                    <div class="aui-card-list-header aui-card-list-user">
+                        <div class="aui-card-list-user-avatar">
+                            <img src="img/icon_water.png" class="aui-margin-r-10 aui-img-round" />
+                        </div>
+                        <div class="aui-card-list-user-name">
+                            <div>生活用水</div>
+                            <div class="aui-list-item-right">+100</div>
+                        </div>
+                        <div class="aui-card-list-user-info">今天 11:05</div>
+                    </div>
+                    <div class="aui-card-list-header aui-card-list-user">
+                        <div class="aui-card-list-user-avatar">
+                            <img src="img/icon_car.png" class="aui-margin-r-10 aui-img-round" />
+                        </div>
+                        <div class="aui-card-list-user-name">
+                            <div>交通出行</div>
+                            <div class="aui-list-item-right">+100</div>
+                        </div>
+                        <div class="aui-card-list-user-info">今天 11:05</div>
+                    </div>
+                    <div class="aui-card-list-header aui-card-list-user" onclick="app.toBillDetail()">
+                        <div class="aui-card-list-user-avatar">
+                            <img src="img/icon_meal.png" class="aui-margin-r-10 aui-img-round" />
+                        </div>
+                        <div class="aui-card-list-user-name">
+                            <div>食堂就餐</div>
+                            <div class="aui-list-item-right">+100</div>
+                        </div>
+                        <div class="aui-card-list-user-info">2019-08-09 11:05</div>
+                    </div>
+                    <div class="aui-card-list-header aui-card-list-user">
+                        <div class="aui-card-list-user-avatar">
+                            <img src="img/icon_water.png" class="aui-margin-r-10 aui-img-round" />
+                        </div>
+                        <div class="aui-card-list-user-name">
+                            <div>生活用水</div>
+                            <div class="aui-list-item-right">+100</div>
+                        </div>
+                        <div class="aui-card-list-user-info">今天 11:05</div>
+                    </div>
+                    <div class="aui-card-list-header aui-card-list-user">
+                        <div class="aui-card-list-user-avatar">
+                            <img src="img/icon_car.png" class="aui-margin-r-10 aui-img-round" />
+                        </div>
+                        <div class="aui-card-list-user-name">
+                            <div>交通出行</div>
+                            <div class="aui-list-item-right">+100</div>
+                        </div>
+                        <div class="aui-card-list-user-info">今天 11:05</div>
+                    </div>
+                    <div class="aui-card-list-header aui-card-list-user">
+                        <div class="aui-card-list-user-avatar">
+                            <img src="img/icon_car.png" class="aui-margin-r-10 aui-img-round" />
+                        </div>
+                        <div class="aui-card-list-user-name">
+                            <div>交通出行</div>
+                            <div class="aui-list-item-right">+100</div>
+                        </div>
+                        <div class="aui-card-list-user-info">今天 11:05</div>
+                    </div>
+                   
+                </div>
+            </section>
+        </div>
+    </div>
+    <div id="main2" style="display: none;">
+        <header class="aui-bar aui-bar-nav" style="padding-top:25px;font-size: 22px">
+            我的
+        </header>
+        <!-- bg-white -->
+        <section class="aui-content aui-margin-b-15" style=" margin-top: -2px;">
+            <div class="aui-list aui-media-list aui-list-noborder aui-bg-info user-info">
+                <div class="aui-list-item aui-list-item-middle top-btn">
+                    <div class="aui-media-list-item-inner ">
+                        <div class="aui-list-item-media" style="width:3rem;">
+                            <img src="img/icon_header.png" class="aui-img-round" id="userlogo">
+                        </div>
+                        <div class="aui-list-item-inner">
+                            <div class="aui-list-item-text text-white aui-font-size-18" id="username">匿名</div>
+                            <div class="aui-list-item-text text-white">
+                                <div><i class="aui-iconfont aui-icon-mobile aui-font-size-14"></i><span id="userphone"></span></div>
+                            </div>
+                        </div>
+                    </div>
+                </div>
+            </div>
+            <!--<section class="aui-content aui-grid ">
+                  <div class="aui-row aui-margin-t-10">
+                      <div class="aui-col-xs-4 aui-border-r">
+                          <big class="aui-text-warning" id="user-amount">0.00</big>
+                          <div class="aui-gird-lable aui-font-size-12">余额</div>
+                      </div>
+                      <div class="aui-col-xs-4 aui-border-r">
+                          <big class="aui-text-success" id="user-point">0</big>
+                          <div class="aui-gird-lable aui-font-size-12">积分</div>
+                      </div>
+                      <div class="aui-col-xs-4 ">
+                          <big class="aui-text-danger" id="user-coupon">0</big>
+                          <div class="aui-gird-lable aui-font-size-12">优惠券</div>
+                      </div>
+                  </div>
+              </section>-->
+        </section>
+        <section class="aui-content">
+            <ul class="aui-list aui-list-in aui-margin-b-15">
+                <li class="aui-list-item" onclick="app.toCard()">
+                    <div class="aui-list-item-label-icon">
+                        <i class="aui-iconfont aui-icon-cert aui-text-info"></i>
+                    </div>
+                    <div class="aui-list-item-inner aui-list-item-arrow">
+                        <div class="aui-list-item-title">银行卡</div>
+                        <div class="aui-list-item-right" id="userbank"></div>
+                    </div>
+                </li>
+                <li class="aui-list-item" id="accsignbtn">
+                    <div class="aui-list-item-label-icon">
+                        <i class="aui-iconfont aui-icon-pencil aui-text-danger"></i>
+                    </div>
+                    <div class="aui-list-item-inner aui-list-item-arrow">
+                        <div class="aui-list-item-title">签约代扣免密付</div>
+                        <div class="aui-list-item-right" id="usersign"></div>
+                    </div>
+                </li>
+            </ul>
+            <ul class="aui-list aui-list-in">
+                <li class="aui-list-item" id="usersec">
+                    <div class="aui-list-item-label-icon">
+                        <i class="aui-iconfont aui-icon-lock aui-text-info"></i>
+                    </div>
+                    <div class="aui-list-item-inner aui-list-item-arrow">
+                        <div class="aui-list-item-title">账户安全</div>
+                    </div>
+                </li>
+            </ul>
+            <div style="padding: 20px;margin-top: 40px;">
+                <a href="javascript:app.logout();" class="weui-btn weui-btn_warn">退出登录</a>
+            </div>  
+        </section>
+    </div>
+    <footer class="aui-bar aui-bar-tab aui-border-t" id="footer">
+        <div class="aui-bar-tab-item aui-active" tapmode onclick="switchTo(1)" id="tab1">
+            <i class="aui-iconfont aui-icon-home"></i>
+            <div class="aui-bar-tab-label">首页</div>
+        </div>
+        <div class="aui-bar-tab-item" tapmode onclick="switchTo(2)" id="tab2">
+            <i class="aui-iconfont aui-icon-my"></i>
+            <div class="aui-bar-tab-label">我的</div>
+        </div>
+    </footer>
+</body>
+<script type="text/javascript" src="cordova.js"></script>
+<script type="text/javascript" src="js/lib/jquery-2.1.4.js"></script>
+<script type="text/javascript" src="js/lib/aui-tab.js"></script>
+<script type="text/javascript" src="js/lib/aui-dialog.js"></script>
+<script type="text/javascript" src="js/server.js"></script>
+<script type="text/javascript" src="js/main.js"></script>
+<script type="text/javascript">
+
+</script>
+</html>
\ No newline at end of file
diff --git a/www/more.html b/www/more.html
new file mode 100644
index 0000000..f9aef06
--- /dev/null
+++ b/www/more.html
@@ -0,0 +1,34 @@
+<!DOCTYPE html>
+<html>
+
+<head>
+    <link rel="stylesheet" type="text/css" href="mobileui/style.css">
+    <meta name="format-detection" content="telephone=no">
+    <meta charset="utf-8">
+    <meta name="msapplication-tap-highlight" content="no">
+    <meta name="viewport" content="viewport-fit=cover, initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width" />
+    <link rel="stylesheet" type="text/css" href="css/index.css">
+    <link rel="stylesheet" type="text/css" href="css/aui.css">
+    <link rel="stylesheet" type="text/css" href="css/weui.min.css">
+    <link rel="stylesheet" type="text/css" href="css/jquery-weui.min.css">
+    <title>更多功能</title>
+</head>
+<body style="background: #fff"  >
+    <header class="aui-bar aui-bar-nav" style="padding-top:25px;">
+        <a class="aui-pull-left" href="javascript:window.history.back();">
+            <span class="aui-iconfont aui-icon-left"></span>
+        </a>
+        <div class="aui-title">更多功能</div>
+    </header>
+    <section class="aui-content">
+         <div class="weui-loadmore weui-loadmore_line"   >
+            <span class="weui-loadmore__tips" style="background: transparent;" >敬请期待</span>
+        </div>
+    </section>
+</body>
+</html>
+<script type="text/javascript" src="cordova.js"></script>
+<script type="text/javascript" src="js/lib/jquery-2.1.4.js"></script>
+<script type="text/javascript" src="js/lib/jquery-weui.js"></script>
+<script type="text/javascript" src="js/lib/qrcode.min.js"></script>
+<script type="text/javascript" src="js/server.js"></script>
diff --git a/www/startload.html b/www/startload.html
new file mode 100644
index 0000000..93c1cc1
--- /dev/null
+++ b/www/startload.html
@@ -0,0 +1,65 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <meta name="format-detection" content="telephone=no">
+    <meta charset="utf-8">
+    <meta name="msapplication-tap-highlight" content="no">
+    <meta name="viewport" content="viewport-fit=cover, initial-scale=1, maximum-scale=1, user-scalable=no, width=device-width" />
+    <link rel="stylesheet" type="text/css" href="css/aui.css">
+    <link rel="stylesheet" type="text/css" href="css/aui-slide.css">
+    <link rel="stylesheet" type="text/css" href="css/index.css">
+    <title>大理公安在线</title>
+    <style type="text/css">
+        .main{
+          position: absolute!important;
+          height: 100%;
+          width: 100%;
+        }
+        body{
+            background: #fff!important;
+        }
+        .aui-slide-node img {
+            width: 100%;
+            height: 100%;
+        }
+    </style>
+</head>
+<body class="mainbg">
+    <div id="startslider" class="main">
+        <div class="aui-slide-wrap" >
+            <div class="aui-slide-node bg-dark">
+                <img  src="img/s1.jpg" />
+            </div>
+            <div class="aui-slide-node bg-dark">
+                <img src="img/s2.jpg"  />
+            </div>
+            <div class="aui-slide-node bg-dark">
+                <img src="img/s3.jpg"  />
+                <div style="position: absolute;bottom: 35px;left: 0;right: 0;display: flex;flex-direction: row;justify-content: center;align-items: center;"> <div class="aui-btn aui-btn-primary aui-btn-block aui-btn-outlined aui-btn-sm" style="width: 40%" onclick="app.toMain()">开始使用</div> </div>
+            </div>
+        </div>
+        <div class="aui-slide-page-wrap"><!--分页容器--></div>
+    </div>
+</body>
+</html>
+<script type="text/javascript" src="cordova.js"></script>
+<script type="text/javascript" src="js/startload.js"></script>
+<script type="text/javascript" src="js/lib/jquery-2.1.4.js"></script>
+<script type="text/javascript" src="js/lib/jquery-weui.min.js"></script>
+<script type="text/javascript" src="js/lib/aui-slide.js"></script>
+<script type="text/javascript" src="js/server.js"></script>
+<script type="text/javascript">
+     window.localStorage.setItem("tabindex",1); 
+     var slide = new auiSlide({
+            container:document.getElementById("startslider"),
+            "pageShow":true,
+            "autoPlay":0,
+            "pageStyle":'dot',
+            "loop":false,
+            'dotPosition':'center',
+            currentPage:currentFun
+        })
+       function currentFun(index){
+            console.log(index)
+       }
+</script>
\ No newline at end of file
