diff --git a/.gitignore b/.gitignore
index 77b125f..d360db4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -92,3 +92,6 @@
 .fusebox/
 .dynamodb/
 
+# ide
+.idea/*
+
diff --git a/package-lock.json b/package-lock.json
index ab7c5fd..937680e 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,5 +1,5 @@
 {
-    "name": "com.dalicitycard.app",
+    "name": "com.dalipolice.app",
     "version": "1.0.3",
     "lockfileVersion": 1,
     "requires": true,
@@ -205,6 +205,13 @@
                 "properties-parser": "^0.3.1",
                 "q": "^1.4.1",
                 "shelljs": "^0.5.3"
+            },
+            "dependencies": {
+                "shelljs": {
+                    "version": "0.5.3",
+                    "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
+                    "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM="
+                }
             }
         },
         "cordova-browser": {
@@ -216,6 +223,13 @@
                 "cordova-serve": "^3.0.0",
                 "nopt": "^4.0.1",
                 "shelljs": "^0.5.3"
+            },
+            "dependencies": {
+                "shelljs": {
+                    "version": "0.5.3",
+                    "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
+                    "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM="
+                }
             }
         },
         "cordova-common": {
@@ -252,6 +266,13 @@
                 "unorm": "^1.4.1",
                 "xcode": "^2.0.0",
                 "xml-escape": "^1.1.0"
+            },
+            "dependencies": {
+                "shelljs": {
+                    "version": "0.5.3",
+                    "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
+                    "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM="
+                }
             }
         },
         "cordova-plugin-add-swift-support": {
@@ -654,6 +675,11 @@
             "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz",
             "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4="
         },
+        "interpret": {
+            "version": "1.2.0",
+            "resolved": "https://registry.npmjs.org/interpret/-/interpret-1.2.0.tgz",
+            "integrity": "sha512-mT34yGKMNceBQUoVn7iCDKDntA7SC6gycMAWzGx1z/CMCTV7b2AAtXlo3nRyHZ1FelRkQbQjprHSYGwzLtkVbw=="
+        },
         "ios-sim": {
             "version": "8.0.1",
             "resolved": "https://registry.npmjs.org/ios-sim/-/ios-sim-8.0.1.tgz",
@@ -960,6 +986,14 @@
                 }
             }
         },
+        "rechoir": {
+            "version": "0.6.2",
+            "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.6.2.tgz",
+            "integrity": "sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=",
+            "requires": {
+                "resolve": "^1.1.6"
+            }
+        },
         "resolve": {
             "version": "1.10.1",
             "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.10.1.tgz",
@@ -1058,9 +1092,14 @@
             "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM="
         },
         "shelljs": {
-            "version": "0.5.3",
-            "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.5.3.tgz",
-            "integrity": "sha1-xUmCuZbHbvDB5rWfvcWCX1txMRM="
+            "version": "0.8.3",
+            "resolved": "https://registry.npmjs.org/shelljs/-/shelljs-0.8.3.tgz",
+            "integrity": "sha512-fc0BKlAWiLpwZljmOvAOTE/gXawtCoNrP5oaY7KIaQbbyHeQVg01pSEuEGvGh3HEdBU4baCD7wQBwADmM/7f7A==",
+            "requires": {
+                "glob": "^7.0.0",
+                "interpret": "^1.0.0",
+                "rechoir": "^0.6.2"
+            }
         },
         "simctl": {
             "version": "2.0.0",
diff --git a/package.json b/package.json
index d267972..e94d001 100644
--- a/package.json
+++ b/package.json
@@ -31,7 +31,8 @@
     "cordova-plugin-themeablebrowser": "^0.2.18",
     "cordova-plugin-touch-id": "^3.4.0",
     "cordova-plugin-wkwebview-engine": "^1.2.1",
-    "jpush-phonegap-plugin": "^3.7.2"
+    "jpush-phonegap-plugin": "^3.7.2",
+    "shelljs": "^0.8.3"
   },
   "cordova": {
     "plugins": {
diff --git a/platforms/android/app/src/main/assets/www/js/bindcard.js b/platforms/android/app/src/main/assets/www/js/bindcard.js
index 7af7d38..0ee9d01 100644
--- a/platforms/android/app/src/main/assets/www/js/bindcard.js
+++ b/platforms/android/app/src/main/assets/www/js/bindcard.js
@@ -85,7 +85,7 @@
                     window.localStorage.setItem("signed", ret.signed);
                     window.localStorage.setItem("paypwdset", ret.paypwdset);
                     if(ret.signed=='yes'){
-                        window.location = "main.html"
+                        window.location = "signsfp.html";
                     }else{
                         window.location = "bindcheck.html";
                     }
diff --git a/platforms/android/app/src/main/assets/www/js/main.js b/platforms/android/app/src/main/assets/www/js/main.js
index 78b896f..066334a 100644
--- a/platforms/android/app/src/main/assets/www/js/main.js
+++ b/platforms/android/app/src/main/assets/www/js/main.js
@@ -260,10 +260,10 @@
         var userid = window.localStorage.getItem("userid");
         var signed = window.localStorage.getItem("signed");
         if (isEmpty(userid)) {
-            $("#userbank").text("未绑定");
+            $("#userbank").text("未签约");
             $("#userbank").css("color", "red")
         } else {
-            $("#userbank").text("已绑定");
+            $("#userbank").text("已签约");
             $("userbank").css("color", "#757575");
         }
         if (isEmpty(signed) || signed != 'yes') {
@@ -295,8 +295,8 @@
                 var cum = new auiDialog({});
                 var confirm = cum.alert({
                     title: "提示",
-                    msg: '为了不影响您正常使用相关功能，请先绑定银行卡',
-                    buttons: ['取消', '去绑卡']
+                    msg: '为了不影响您正常使用相关功能，请先进行市民卡签约',
+                    buttons: ['取消', '去签约']
                 }, function(ret) {
                     if (ret.buttonIndex == 2) {
                         window.location = 'bindcard.html'
diff --git a/platforms/android/app/src/main/assets/www/main.html b/platforms/android/app/src/main/assets/www/main.html
index d57a15a..e21d691 100644
--- a/platforms/android/app/src/main/assets/www/main.html
+++ b/platforms/android/app/src/main/assets/www/main.html
@@ -25,10 +25,13 @@
                         <img  src="img/p1.png" />
                     </div>
                     <div class="aui-slide-node ">
-                        <img src="img/p1.png"  />
+                        <img src="img/p2.png"  />
                     </div>
                     <div class="aui-slide-node ">
-                        <img src="img/p1.png"  />
+                        <img src="img/p3.png"  />
+                    </div>
+                    <div class="aui-slide-node ">
+                        <img src="img/p4.png"  />
                     </div>
                 </div>
                 <div class="aui-slide-page-wrap"><!--分页容器--></div>
@@ -108,19 +111,19 @@
                         <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-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>
+                <!--<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">
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/JPushConfig.plist b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/JPushConfig.plist
index 96bc470..7d293b5 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/JPushConfig.plist
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/JPushConfig.plist
Binary files differ
diff --git a/platforms/ios/dlapp.xcodeproj/project.pbxproj b/platforms/ios/dlapp.xcodeproj/project.pbxproj
index 7e856ef..a0dceb2 100644
--- a/platforms/ios/dlapp.xcodeproj/project.pbxproj
+++ b/platforms/ios/dlapp.xcodeproj/project.pbxproj
@@ -644,7 +644,7 @@
 					"\"$(SRCROOT)/$(TARGET_NAME)/Plugins/cordova-plugin-jcore\"",
 					"\"$(SRCROOT)/$(TARGET_NAME)/Plugins/jpush-phonegap-plugin\"",
 				);
-				PRODUCT_BUNDLE_IDENTIFIER = com.dalicitycard.app;
+				PRODUCT_BUNDLE_IDENTIFIER = com.dalipolice.app;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE_SPECIFIER = "";
 				SWIFT_OBJC_BRIDGING_HEADER = "$(PROJECT_DIR)/$(PROJECT_NAME)/Bridging-Header.h";
@@ -680,7 +680,7 @@
 					"\"$(SRCROOT)/$(TARGET_NAME)/Plugins/cordova-plugin-jcore\"",
 					"\"$(SRCROOT)/$(TARGET_NAME)/Plugins/jpush-phonegap-plugin\"",
 				);
-				PRODUCT_BUNDLE_IDENTIFIER = com.dalicitycard.app;
+				PRODUCT_BUNDLE_IDENTIFIER = com.dalipolice.app;
 				PRODUCT_NAME = "$(TARGET_NAME)";
 				PROVISIONING_PROFILE_SPECIFIER = "";
 				SWIFT_OBJC_BRIDGING_HEADER = "$(PROJECT_DIR)/$(PROJECT_NAME)/Bridging-Header.h";
@@ -727,7 +727,7 @@
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
 				ONLY_ACTIVE_ARCH = YES;
-				PRODUCT_BUNDLE_IDENTIFIER = com.dalicitycard.app;
+				PRODUCT_BUNDLE_IDENTIFIER = com.dalipolice.app;
 				SDKROOT = iphoneos;
 				SKIP_INSTALL = NO;
 				SWIFT_OBJC_BRIDGING_HEADER = "$(PROJECT_DIR)/$(PROJECT_NAME)/Bridging-Header.h";
@@ -772,7 +772,7 @@
 				GCC_WARN_UNINITIALIZED_AUTOS = YES;
 				GCC_WARN_UNUSED_FUNCTION = YES;
 				GCC_WARN_UNUSED_VARIABLE = YES;
-				PRODUCT_BUNDLE_IDENTIFIER = com.dalicitycard.app;
+				PRODUCT_BUNDLE_IDENTIFIER = com.dalipolice.app;
 				SDKROOT = iphoneos;
 				SKIP_INSTALL = NO;
 				SWIFT_OBJC_BRIDGING_HEADER = "$(PROJECT_DIR)/$(PROJECT_NAME)/Bridging-Header.h";
diff --git a/platforms/ios/dlapp/config.xml b/platforms/ios/dlapp/config.xml
index b06fe28..90986af 100755
--- a/platforms/ios/dlapp/config.xml
+++ b/platforms/ios/dlapp/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="LocalStorage">
         <param name="ios-package" value="CDVLocalStorage" />
     </feature>
@@ -67,7 +67,7 @@
     <feature name="Fingerprint">
         <param name="ios-package" value="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/ios/dlapp/dlapp-Info.plist b/platforms/ios/dlapp/dlapp-Info.plist
index 8ba05fa..de17430 100644
--- a/platforms/ios/dlapp/dlapp-Info.plist
+++ b/platforms/ios/dlapp/dlapp-Info.plist
@@ -5,7 +5,7 @@
 	<key>CFBundleDevelopmentRegion</key>
 	<string>en_US</string>
 	<key>CFBundleDisplayName</key>
-	<string>大理市民卡</string>
+	<string>大理智警</string>
 	<key>CFBundleExecutable</key>
 	<string>$(EXECUTABLE_NAME)</string>
 	<key>CFBundleIdentifier</key>
@@ -37,16 +37,12 @@
 			</dict>
 		</dict>
 	</dict>
-	<key>NSCameraUsageDescription</key>
-	<string>APP需要使用您的相机权限，没有该权限将无法完成扫一扫功能</string>
 	<key>NSFaceIDUsageDescription</key>
 	<string/>
 	<key>NSMainNibFile</key>
 	<string/>
 	<key>NSMainNibFile~ipad</key>
 	<string/>
-	<key>NSPhotoLibraryUsageDescription</key>
-	<string>APP需要使用您的相册权限，没有该权限将无法完成扫一扫功能</string>
 	<key>UIBackgroundModes</key>
 	<array>
 		<string>remote-notification</string>
@@ -69,5 +65,9 @@
 		<string>UIInterfaceOrientationPortrait</string>
 		<string>UIInterfaceOrientationPortraitUpsideDown</string>
 	</array>
+	<key>NSCameraUsageDescription</key>
+	<string>APP需要使用您的相机权限，没有该权限将无法完成扫一扫功能</string>
+	<key>NSPhotoLibraryUsageDescription</key>
+	<string>APP需要使用您的相册权限，没有该权限将无法完成扫一扫功能</string>
 </dict>
 </plist>
\ No newline at end of file
diff --git a/www/cardinfor.html b/www/cardinfor.html
index bcda2dd..946108f 100644
--- a/www/cardinfor.html
+++ b/www/cardinfor.html
@@ -42,7 +42,7 @@
             </div>
         </div>
         <div style="padding: 20px;margin-top: 40px;">
-                <a href="javascript:app.unBindcard();" class="weui-btn weui-btn_warn">解除绑定</a>
+                <a href="unsignedcheck.html" class="weui-btn weui-btn_warn">解除签约</a>
             </div>  
     </div>
 </body>
diff --git a/www/img/p2.png b/www/img/p2.png
new file mode 100644
index 0000000..f388b59
--- /dev/null
+++ b/www/img/p2.png
Binary files differ
diff --git a/www/img/p3.png b/www/img/p3.png
new file mode 100644
index 0000000..0d1e524
--- /dev/null
+++ b/www/img/p3.png
Binary files differ
diff --git a/www/img/p4.png b/www/img/p4.png
new file mode 100644
index 0000000..380fec3
--- /dev/null
+++ b/www/img/p4.png
Binary files differ
diff --git a/www/img/s1.jpg b/www/img/s1.jpg
index d664916..17867ae 100644
--- a/www/img/s1.jpg
+++ b/www/img/s1.jpg
Binary files differ
diff --git a/www/img/s2.jpg b/www/img/s2.jpg
index 6f8e3d3..64c6eeb 100644
--- a/www/img/s2.jpg
+++ b/www/img/s2.jpg
Binary files differ
diff --git a/www/img/s3.jpg b/www/img/s3.jpg
index 4fd46a4..9cbf2fb 100644
--- a/www/img/s3.jpg
+++ b/www/img/s3.jpg
Binary files differ
diff --git a/www/img/splashscreen.png b/www/img/splashscreen.png
index 87329cb..86b05b0 100644
--- a/www/img/splashscreen.png
+++ b/www/img/splashscreen.png
Binary files differ
diff --git a/www/js/mainmenu.js b/www/js/mainmenu.js
index 9d9fad6..02e67ba 100644
--- a/www/js/mainmenu.js
+++ b/www/js/mainmenu.js
@@ -329,8 +329,8 @@
                 var cum = new auiDialog({});
                 var confirm = cum.alert({
                     title: "提示",
-                    msg: '为了不影响您正常使用相关功能，请先绑定银行卡',
-                    buttons: ['取消', '去绑卡']
+                    msg: '为了不影响您正常使用相关功能，请先进行市民卡签约',
+                    buttons: ['取消', '去签约']
                 }, function(ret) {
                     if (ret.buttonIndex == 2) {
                         window.location = 'bindcard.html'
@@ -386,10 +386,10 @@
         window.location = 'billdetail.html';
     },
     toCard: function() {
-        var userid = window.localStorage.getItem("userid");
-        if (isEmpty(userid)) {
+        var signed = window.localStorage.getItem("signed");
+        if (isEmpty(signed) || signed != 'yes') {
             window.location = 'bindcard.html'
-        } else {
+        }else{
             window.location = 'cardinfor.html'
         }
     },
diff --git a/www/main.html b/www/main.html
index d57a15a..d3bb142 100644
--- a/www/main.html
+++ b/www/main.html
@@ -25,10 +25,13 @@
                         <img  src="img/p1.png" />
                     </div>
                     <div class="aui-slide-node ">
-                        <img src="img/p1.png"  />
+                        <img src="img/p2.png"  />
                     </div>
                     <div class="aui-slide-node ">
-                        <img src="img/p1.png"  />
+                        <img src="img/p3.png"  />
+                    </div>
+                    <div class="aui-slide-node ">
+                        <img src="img/p4.png"  />
                     </div>
                 </div>
                 <div class="aui-slide-page-wrap"><!--分页容器--></div>
@@ -108,19 +111,19 @@
                         <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-title">市民卡签约</div>
                         <div class="aui-list-item-right" id="usersign"></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">
diff --git a/www/signsfp.html b/www/signsfp.html
new file mode 100644
index 0000000..bc068f8
--- /dev/null
+++ b/www/signsfp.html
@@ -0,0 +1,54 @@
+<!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>
+<header class="aui-bar aui-bar-nav" style="padding-top:25px;">
+    <a class="aui-pull-left" href="main.html">
+        <span class="aui-iconfont aui-icon-left"></span>
+    </a>
+    <div class="aui-title">签约</div>
+</header>
+<div style="text-align: center;margin: 10px 0">
+    请输入验证码
+</div>
+<div class="weui-panel__hd">已发送验证码到您的手机：<span id="phone"></span></div>
+<div class="weui-cells weui-cells_form">
+    <div class="weui-cell weui-cell_vcode" style="padding:0 10px; ">
+        <div class="weui-cell__hd">
+            <label class="weui-label" style="width: 80px;font-size: 14px;">验证码</label>
+        </div>
+        <div class="weui-cell__bd">
+            <input class="weui-input" type="tel" id="code" style="font-size: 14px;" placeholder="请输入验证码" maxlength="6">
+        </div>
+    </div>
+</div>
+<div style="margin: 10px 0">
+    <label for="agree" class="weui-agree" style="padding: .5em 5px .5em 15px;display: inline-block;">
+        <input id="agree" type="checkbox" class="weui-agree__checkbox" value="1" checked="checked">
+        <span class="weui-agree__text">
+                    我已仔细阅读并同意
+                </span>
+    </label>
+    <a href="signxy.html" style="font-size: 13px;">《市民卡免密代扣签约协议》</a>
+</div>
+</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/server.js"></script>
+<script type="text/javascript" src="js/bindcard.js"></script>
\ No newline at end of file
diff --git a/www/startload.html b/www/startload.html
index ae0e039..925feff 100644
--- a/www/startload.html
+++ b/www/startload.html
@@ -52,10 +52,11 @@
      window.localStorage.setItem("tabindex",1); 
      var slide = new auiSlide({
             container:document.getElementById("startslider"),
+            "speed":500,
             "pageShow":true,
-            "autoPlay":0,
+            "autoPlay":3000,
             "pageStyle":'dot',
-            "loop":false,
+            "loop":true,
             'dotPosition':'center',
             currentPage:currentFun
         })
