diff --git a/www/js/main.js b/www/js/main.js
index 9d3b017..bc93d91 100644
--- a/www/js/main.js
+++ b/www/js/main.js
@@ -99,11 +99,11 @@
                 })
             })
         });
-        /*$("#doorBtn").click(function(){
+        $("#doorBtn").click(function(){
             app.checkBefore(function() {
                 showRet(DOOR_URl);
             })
-        })*/
+        })
         $('#usersec').click(function() {
             app.checkBefore(function() {
                 app.checkOther(function() {
diff --git a/www/js/security.js b/www/js/security.js
index f12a1cc..dd5475d 100644
--- a/www/js/security.js
+++ b/www/js/security.js
@@ -18,7 +18,7 @@
     },
     loginByTouchId: function() {
        Fingerprint.isAvailable(function(result){
-            alert("Fingerprint available");
+            $.alert("设备不支持指纹", "提示");
        }, function(message){
             alert(message);
        });
diff --git a/www/js/server.js b/www/js/server.js
index 0674e1a..3e8ae05 100644
--- a/www/js/server.js
+++ b/www/js/server.js
@@ -1,6 +1,6 @@
-var dev = false;
+var dev = true;
 var SERVER = "https://yy.dlsmk.cn/payapi/mobileapi";
-var DOOR_URl = "http://172.28.43.8:8099/door/app/appMintUIindex";//门禁服务地址
+var DOOR_URl = "https://yy.dlsmk.cn/door/app/appMintUIindex";//门禁服务地址
 var GLOBAL_TODAY="";
 var GLOBAL_YESTERDAY="";
 var CURRENT_INDEX=1;
diff --git a/www/js/signxycheck.js b/www/js/signxycheck.js
index 80ef9d7..524b8c4 100644
--- a/www/js/signxycheck.js
+++ b/www/js/signxycheck.js
@@ -16,9 +16,9 @@
                 if (ret.code == 200) {
                     $("#content").html(ret.page);
                     if (isEmpty(ret.signed) || ret.signed != 'yes') {
-                        $("#btn").show();
-                        app.checkTime();
-                        $("#content").css("bottom", "135px");
+                        //$("#btn").show();
+                        //app.checkTime();
+                        //$("#content").css("bottom", "135px");
                     } else {
                         $("#unbtn").show();
                         $("#content").css("bottom", "10px");
diff --git a/www/main.html b/www/main.html
index 79e824b..b357ca3 100644
--- a/www/main.html
+++ b/www/main.html
@@ -24,7 +24,7 @@
                         </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 class="aui-grid-label top-title">我的码</div>
                         </div>
                     </div>
                 </div>
@@ -44,10 +44,10 @@
                             <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="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>
                 </div>
             </section>
diff --git a/www/qrcode.html b/www/qrcode.html
index 3edeb36..5ce5788 100644
--- a/www/qrcode.html
+++ b/www/qrcode.html
@@ -11,14 +11,14 @@
     <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>
+    <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:app.backTo()">
             <span class="aui-iconfont aui-icon-left"></span>
         </a>
-        <div class="aui-title">付款码</div>
+        <div class="aui-title">我的码</div>
     </header>
     <div style="display: flex;flex-direction: row;justify-content: center;align-items: center;margin-top: 50px;">
         <div style="background: #fff;text-align: center;" id="qrcode"></div>
diff --git a/www/security.html b/www/security.html
index 39a40ca..b205cdb 100644
--- a/www/security.html
+++ b/www/security.html
@@ -31,7 +31,7 @@
                     <div class="aui-list-item-right"></div>
                 </div>
             </li>
-            <!--<li class="aui-list-item" onclick="app.loginByTouchId()">
+            <li class="aui-list-item" onclick="app.loginByTouchId()">
                 <div class="aui-list-item-label-icon">
                     <i class="aui-iconfont aui-icon-lock aui-text-info"></i>
                 </div>
@@ -39,7 +39,7 @@
                     <div class="aui-list-item-title">指纹\人脸登录</div>
                     <div class="aui-list-item-right"><input type="checkbox" id="login" class="aui-switch" ></div>
                 </div>
-            </li>-->
+            </li>
             <li class="aui-list-item" onclick="app.toPayPwd()">
                 <div class="aui-list-item-label-icon">
                     <i class="aui-iconfont aui-icon-pencil aui-text-danger"></i>
@@ -50,9 +50,6 @@
                 </div>
             </li>
         </ul>
-        <div style="padding: 20px;margin-top: 40px;">
-            <a href="javascript:app.logout();" class="weui-btn weui-btn_warn">退出登录</a>
-        </div>
     </section>
 </body>
 
diff --git a/www/signxycheck.html b/www/signxycheck.html
index 180aa9b..0740fee 100644
--- a/www/signxycheck.html
+++ b/www/signxycheck.html
@@ -28,19 +28,6 @@
             <div class="aui-btn aui-btn-block " apmode onclick="app.unAgreeXY()" id="unsignBtn">解除代扣协议</div>
         </section>
     </div>
-    <div class="weui-footer weui-footer_fixed-bottom" style="background: #fff;display: none;" id="btn">
-        <div style="margin-top: 10px;">
-            <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="yes">
-                <span class="weui-agree__text">
-                    我已阅读并同意该协议
-                </span>
-            </label>
-        </div>
-        <section class="aui-content-padded" style="margin-top: 20px;">
-            <div class="aui-btn aui-btn-block "  tapmode onclick="app.agreeXY()" id="signBtn">签约代扣协议</div>
-        </section>
-    </div>
 </body>
 </html>
 <script type="text/javascript" src="cordova.js"></script>
