diff --git a/.gitignore b/.gitignore
index edf24b6..77b125f 100644
--- a/.gitignore
+++ b/.gitignore
@@ -36,6 +36,7 @@
 platforms/android/CordovaLib/gen
 platforms/android/CordovaLib/local.properties
 platforms/android/app/src/main/assets/www
+
 # wp8
 platforms/wp8/bin
 platforms/wp8/obj
diff --git a/build.json b/build.json
new file mode 100644
index 0000000..3d10d93
--- /dev/null
+++ b/build.json
@@ -0,0 +1,18 @@
+{
+    "android": {
+        "debug": {
+            "keystore": "release-key.keystore",
+            "storePassword": "kingstar",
+            "alias": "dlapp-supwisdom",
+            "password" : "kingstar",
+            "keystoreType": ""
+        },
+        "release": {
+            "keystore": "release-key.keystore",
+            "storePassword": "kingstar",
+            "alias": "dlapp-supwisdom",
+            "password" : "kingstar",
+            "keystoreType": ""
+        }
+    }
+}
\ No newline at end of file
diff --git a/config.xml b/config.xml
index af731f8..a20cd9e 100644
--- a/config.xml
+++ b/config.xml
@@ -7,8 +7,9 @@
     <author email="dev@cordova.apache.org" href="http://cordova.io">
         Apache Cordova Team
     </author>
-    <preference name="AutoHideSplashScreen" value="true" />
+    <preference name="AutoHideSplashScreen" value="true"/>
     <preference name="SplashScreenDelay" value="0"/>
+    <preference name="SplashShowOnlyFirstTime" value="true" />
 
     <content src="index.html" />
     <access origin="*" />
diff --git a/platforms/android/CordovaLib/CordovaLib.iml b/platforms/android/CordovaLib/CordovaLib.iml
new file mode 100644
index 0000000..b80b08f
--- /dev/null
+++ b/platforms/android/CordovaLib/CordovaLib.iml
@@ -0,0 +1,106 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id=":CordovaLib" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="android-gradle" name="Android-Gradle">
+      <configuration>
+        <option name="GRADLE_PROJECT_PATH" value=":CordovaLib" />
+      </configuration>
+    </facet>
+    <facet type="android" name="Android">
+      <configuration>
+        <option name="SELECTED_BUILD_VARIANT" value="debug" />
+        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
+        <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
+        <afterSyncTasks>
+          <task>generateDebugSources</task>
+        </afterSyncTasks>
+        <option name="ALLOW_USER_CONFIGURATION" value="false" />
+        <option name="PROJECT_TYPE" value="1" />
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+    <output url="file://$MODULE_DIR$/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes" />
+    <output-test url="file://$MODULE_DIR$/build/intermediates/javac/debugUnitTest/compileDebugUnitTestJavaWithJavac/classes" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debug/compileDebugAidl/out" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debug/compileDebugRenderscript/out" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debugAndroidTest/compileDebugAndroidTestAidl/out" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debugAndroidTest/compileDebugAndroidTestRenderscript/out" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/aapt_friendly_merged_manifests" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotation_processor_list" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/check_manifest_result" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/compile_only_not_namespaced_r_class_jar" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/intermediate-jars" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javac" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/library_assets" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/library_manifest" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint_jar" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_manifests" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/packaged_res" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/public_res" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shader_assets" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
+      <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
+    </content>
+    <orderEntry type="jdk" jdkName="Android API 28 Platform" jdkType="Android SDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/platforms/android/android.iml b/platforms/android/android.iml
new file mode 100644
index 0000000..f0a5ac2
--- /dev/null
+++ b/platforms/android/android.iml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id="android" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$" external.system.id="GRADLE" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="java-gradle" name="Java-Gradle">
+      <configuration>
+        <option name="BUILD_FOLDER_PATH" value="$MODULE_DIR$/build" />
+        <option name="BUILDABLE" value="false" />
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8" inherit-compiler-output="true">
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <excludeFolder url="file://$MODULE_DIR$/.gradle" />
+    </content>
+    <orderEntry type="inheritedJdk" />
+    <orderEntry type="sourceFolder" forTests="false" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/platforms/android/app/app.iml b/platforms/android/app/app.iml
new file mode 100644
index 0000000..2f4beb8
--- /dev/null
+++ b/platforms/android/app/app.iml
@@ -0,0 +1,123 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module external.linked.project.id=":app" external.linked.project.path="$MODULE_DIR$" external.root.project.path="$MODULE_DIR$/.." external.system.id="GRADLE" type="JAVA_MODULE" version="4">
+  <component name="FacetManager">
+    <facet type="android-gradle" name="Android-Gradle">
+      <configuration>
+        <option name="GRADLE_PROJECT_PATH" value=":app" />
+      </configuration>
+    </facet>
+    <facet type="android" name="Android">
+      <configuration>
+        <option name="SELECTED_BUILD_VARIANT" value="debug" />
+        <option name="ASSEMBLE_TASK_NAME" value="assembleDebug" />
+        <option name="COMPILE_JAVA_TASK_NAME" value="compileDebugSources" />
+        <afterSyncTasks>
+          <task>generateDebugSources</task>
+        </afterSyncTasks>
+        <option name="ALLOW_USER_CONFIGURATION" value="false" />
+        <option name="MANIFEST_FILE_RELATIVE_PATH" value="/src/main/AndroidManifest.xml" />
+        <option name="RES_FOLDER_RELATIVE_PATH" value="/src/main/res" />
+        <option name="ASSETS_FOLDER_RELATIVE_PATH" value="/src/main/assets" />
+      </configuration>
+    </facet>
+  </component>
+  <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_8">
+    <output url="file://$MODULE_DIR$/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes" />
+    <output-test url="file://$MODULE_DIR$/build/intermediates/javac/debugUnitTest/compileDebugUnitTestJavaWithJavac/classes" />
+    <exclude-output />
+    <content url="file://$MODULE_DIR$">
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debug/compileDebugAidl/out" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/debug" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debug/compileDebugRenderscript/out" isTestSource="false" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/debug" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/debug" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/aidl_source_output_dir/debugAndroidTest/compileDebugAndroidTestAidl/out" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/buildConfig/androidTest/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/renderscript_source_output_dir/debugAndroidTest/compileDebugAndroidTestRenderscript/out" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/rs/androidTest/debug" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/res/resValues/androidTest/debug" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/build/generated/source/apt/test/debug" isTestSource="true" generated="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/aidl" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/rs" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/debug/shaders" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTestDebug/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/testDebug/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/res" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/resources" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/assets" type="java-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/aidl" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/rs" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/main/shaders" isTestSource="false" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/test/shaders" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/res" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/resources" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/assets" type="java-test-resource" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/aidl" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/java" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/rs" isTestSource="true" />
+      <sourceFolder url="file://$MODULE_DIR$/src/androidTest/shaders" isTestSource="true" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/annotation_processor_list" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/apk_list" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/blame" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/bundle_manifest" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/check_manifest_result" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/compatible_screen_manifest" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/incremental" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_app_manifest" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/instant_run_merged_manifests" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/javac" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/jniLibs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/lint_jar" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_assets" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/merged_manifests" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/metadata_feature_manifest" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/prebuild" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/processed_res" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/res" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/rs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shader_assets" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/shaders" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/signing_config" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/symbols" />
+      <excludeFolder url="file://$MODULE_DIR$/build/intermediates/transforms" />
+      <excludeFolder url="file://$MODULE_DIR$/build/outputs" />
+      <excludeFolder url="file://$MODULE_DIR$/build/tmp" />
+    </content>
+    <orderEntry type="jdk" jdkName="Android API 24 Platform" jdkType="Android SDK" />
+    <orderEntry type="sourceFolder" forTests="false" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-annotations:24.1.1@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.squareup.okio:okio:1.14.0@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.google.zxing:core:3.2.1@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.journeyapps:zxing-android-embedded-3.3.0" level="project" />
+    <orderEntry type="library" name="Gradle: com.squareup.okhttp3:okhttp-urlconnection:3.10.0@jar" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:appcompat-v7-23.1.0" level="project" />
+    <orderEntry type="library" name="Gradle: com.android.support:support-v4-24.1.1" level="project" />
+    <orderEntry type="library" name="Gradle: com.squareup.okhttp3:okhttp:3.10.0@jar" level="project" />
+    <orderEntry type="module" module-name="CordovaLib" />
+  </component>
+</module>
\ No newline at end of file
diff --git a/platforms/android/app/build.gradle b/platforms/android/app/build.gradle
index 871aabb..3ce2e04 100644
--- a/platforms/android/app/build.gradle
+++ b/platforms/android/app/build.gradle
@@ -177,8 +177,8 @@
       abortOnError false;
     }
 
-    compileSdkVersion cdvCompileSdkVersion
-    buildToolsVersion cdvBuildToolsVersion
+    compileSdkVersion 24
+    buildToolsVersion '28.0.3'
 
     // This code exists for Crosswalk and other Native APIs.
     // By default, we multiply the existing version code in the
@@ -264,7 +264,7 @@
 
 
 dependencies {
-    implementation fileTree(dir: 'libs', include: '*.jar')
+    implementation fileTree(include: '*.jar', dir: 'libs')
     // SUB-PROJECT DEPENDENCIES START
     implementation(project(path: ":CordovaLib"))
     implementation "com.squareup.okhttp3:okhttp-urlconnection:3.10.0"
diff --git a/platforms/android/app/src/main/assets/www/bill.html b/platforms/android/app/src/main/assets/www/bill.html
index e70285f..e2b99b1 100644
--- a/platforms/android/app/src/main/assets/www/bill.html
+++ b/platforms/android/app/src/main/assets/www/bill.html
@@ -16,7 +16,7 @@
 
 <body>
     <header class="aui-bar aui-bar-nav" style="padding-top:25px;">
-        <a class="aui-pull-left" href="javascript:window.history.back()">
+        <a class="aui-pull-left" href="javascript:window.history.go(-1)">
             <span class="aui-iconfont aui-icon-left"></span>
         </a>
         <div class="aui-title">账单</div>
diff --git a/platforms/android/app/src/main/assets/www/billdetail.html b/platforms/android/app/src/main/assets/www/billdetail.html
index 8bbde06..e419a98 100644
--- a/platforms/android/app/src/main/assets/www/billdetail.html
+++ b/platforms/android/app/src/main/assets/www/billdetail.html
@@ -16,7 +16,7 @@
 
 <body>
     <header class="aui-bar aui-bar-nav" style="padding-top:25px;">
-        <a class="aui-pull-left" href="javascript:window.history.back()">
+        <a class="aui-pull-left" href="javascript:window.history.go(-1)">
             <span class="aui-iconfont aui-icon-left"></span>
         </a>
         <div class="aui-title">账单详情</div>
diff --git a/platforms/android/app/src/main/assets/www/index.html b/platforms/android/app/src/main/assets/www/index.html
index 4afb0bf..576b5e9 100644
--- a/platforms/android/app/src/main/assets/www/index.html
+++ b/platforms/android/app/src/main/assets/www/index.html
@@ -26,4 +26,5 @@
 <script type="text/javascript" src="js/lib/jquery-weui.min.js"></script>
 <script type="text/javascript" src="js/server.js"></script>
 <script type="text/javascript">
+     window.localStorage.setItem("tabindex",1); 
 </script>
\ No newline at end of file
diff --git a/platforms/android/app/src/main/assets/www/js/bill.js b/platforms/android/app/src/main/assets/www/js/bill.js
index 4b0bca5..c0af3fd 100644
--- a/platforms/android/app/src/main/assets/www/js/bill.js
+++ b/platforms/android/app/src/main/assets/www/js/bill.js
@@ -9,6 +9,9 @@
         curpage = 1;
         this.loadBill(curpage)
     },
+    toBack: function (){
+        window.history.back();
+    },
     loadBill:function(pageno){
         $.showLoading("加载中");
         var param={
diff --git a/platforms/android/app/src/main/assets/www/js/billdetail.js b/platforms/android/app/src/main/assets/www/js/billdetail.js
index 057b106..3615234 100644
--- a/platforms/android/app/src/main/assets/www/js/billdetail.js
+++ b/platforms/android/app/src/main/assets/www/js/billdetail.js
@@ -8,6 +8,9 @@
     onDeviceReady: function() {
         this.loadBill()
     },
+    toBack: function (){
+        window.history.back();
+    },
     loadBill: function() {
         var refno = window.localStorage.getItem("currentrefno");
         if (isEmpty(refno)) {
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 53ac0cf..649098d 100644
--- a/platforms/android/app/src/main/assets/www/js/bindcard.js
+++ b/platforms/android/app/src/main/assets/www/js/bindcard.js
@@ -29,7 +29,7 @@
         }*/
         $.showLoading("正在处理");
         var param={
-            "card":cardnum,
+            "cardno":cardnum,
             "code":code,
             "name":name
         }
diff --git a/platforms/android/app/src/main/assets/www/js/card.js b/platforms/android/app/src/main/assets/www/js/card.js
index 0c0a91e..8dc9675 100644
--- a/platforms/android/app/src/main/assets/www/js/card.js
+++ b/platforms/android/app/src/main/assets/www/js/card.js
@@ -4,17 +4,17 @@
     initialize: function() {
         document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
     },
-  
+
     onDeviceReady: function() {
         var uid = window.localStorage.getItem("uid");
-        
+
     },
     doNext: function() {
-        var pwd =  $("#pwd").val();
-        if(isEmpty(pwd)){
+        var pwd = $("#pwd").val();
+        if (isEmpty(pwd)) {
             return;
         }
-        if(pwd.length!=6){
+        if (pwd.length != 6) {
             $.alert("支付密码为6位数字", "提示");
             return;
         }
@@ -26,24 +26,26 @@
         }, function(ret) {
             if (ret.buttonIndex == 2) {
                 $.showLoading("正在处理");
-                var param={
-                    "paypwd":pwd
+                var param = {
+                    "paypwd": pwd
                 }
-                V1CardLost(param,function(ok,ret){
-                    if(ok){
+                V1CardLost(param, function(ok, ret) {
+                    if (ok) {
                         $.hideLoading();
-                        if(ret.code==200){
-                             $.alert("卡片挂失成功", "提示");
-                        }else{
+                        if (ret.code == 200) {
+                            $.alert("卡片挂失成功", "提示", function() {
+                                window.location = "main.html"
+                            });
+                        } else {
                             $.alert(ret.msg, "错误");
-                        } 
-                    }else{
+                        }
+                    } else {
                         $.hideLoading();
-                        $.alert("请求失败了"+ret.status+"，请稍后再试", "错误");
+                        $.alert("请求失败了" + ret.status + "，请稍后再试", "错误");
                     }
                 })
             }
         })
     }
 };
-app.initialize();
+app.initialize();
\ No newline at end of file
diff --git a/platforms/android/app/src/main/assets/www/js/login.js b/platforms/android/app/src/main/assets/www/js/login.js
index 77b8b2a..ab55032 100644
--- a/platforms/android/app/src/main/assets/www/js/login.js
+++ b/platforms/android/app/src/main/assets/www/js/login.js
@@ -23,6 +23,7 @@
         window.location = "findpwd.html";
     },
     login: function(){
+        window.location = "main.html";  
         //loading("正在处理");
         var phone = $("#phone").val()
         var pwd = $("#pwd").val()
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 87d6f53..3b01a2a 100644
--- a/platforms/android/app/src/main/assets/www/js/main.js
+++ b/platforms/android/app/src/main/assets/www/js/main.js
@@ -2,6 +2,7 @@
 
     // Application Constructor
     initialize: function() {
+        this.initTab();
         document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
     },
 
@@ -42,19 +43,47 @@
         });
         $('#secBtn').click(function() {
             app.checkBefore(function() {
-                window.location = "security.html";
+                app.checkOther(function() {
+                    window.location = "security.html";
+                })
             })
         });
         $('#usersec').click(function() {
             app.checkBefore(function() {
-                window.location = "security.html";
+                app.checkOther(function() {
+                    window.location = "security.html";
+                })
             })
         });
         this.initData();
     },
+    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();
+            } else if (index == 2) {
+                $("#main1").hide();
+                $("#main2").show();
+            }
+        }
+    },
     initData: function() {
         this.loadBill()
-
     },
     loadBill: function() {
         $("#loaddata").show()
@@ -122,7 +151,7 @@
         $("#loaddata").hide()
         $("#nodata").hide();
         $("#billcontent").show();
-        
+
     },
     initView: function() {
         var userid = window.localStorage.getItem("userid");
@@ -210,18 +239,18 @@
             }
         }
     },
-    toSign:function(){
+    toSign: function() {
         window.location = 'signxycheck.html'
     },
     toBillDetail: function(refno) {
         window.localStorage.setItem("currentrefno", refno);
         window.location = 'billdetail.html';
     },
-    toCard:function(){
+    toCard: function() {
         var userid = window.localStorage.getItem("userid");
         if (isEmpty(userid)) {
             window.location = 'bindcard.html'
-        }else{
+        } else {
             window.location = 'cardinfor.html'
         }
     }
diff --git a/platforms/android/app/src/main/assets/www/main.html b/platforms/android/app/src/main/assets/www/main.html
index 57c416c..b6a2d8c 100644
--- a/platforms/android/app/src/main/assets/www/main.html
+++ b/platforms/android/app/src/main/assets/www/main.html
@@ -258,18 +258,6 @@
 <script type="text/javascript" src="js/server.js"></script>
 <script type="text/javascript" src="js/main.js"></script>
 <script type="text/javascript">
-var tab = new auiTab({
-    element: document.getElementById("footer"),
-}, function(ret) {
-    if (ret.index == 1) {
-        $("#main1").show();
-        $("#main2").hide();
-    } else if (ret.index == 2) {
-        $("#main1").hide();
-        $("#main2").show();
-    }
-});
-$("#maincontent").css("top", $("#maintop").height())
-</script>
 
+</script>
 </html>
\ No newline at end of file
diff --git a/platforms/android/app/src/main/assets/www/register.html b/platforms/android/app/src/main/assets/www/register.html
index 34e5998..640b3ee 100644
--- a/platforms/android/app/src/main/assets/www/register.html
+++ b/platforms/android/app/src/main/assets/www/register.html
@@ -15,7 +15,7 @@
 </head>
 <body>
     <header class="aui-bar aui-bar-nav" style="padding-top:25px;">
-        <a class="aui-pull-left" href="login.html">
+        <a class="aui-pull-left" href="javascript:window.history.back()">
             <span class="aui-iconfont aui-icon-left"></span>
         </a>
         <div class="aui-title">注册</div>
diff --git a/platforms/android/app/src/main/assets/www/security.html b/platforms/android/app/src/main/assets/www/security.html
index d9811ec..6994b22 100644
--- a/platforms/android/app/src/main/assets/www/security.html
+++ b/platforms/android/app/src/main/assets/www/security.html
@@ -15,7 +15,7 @@
 </head>
 <body>
     <header class="aui-bar aui-bar-nav" style="padding-top:25px;">
-        <a class="aui-pull-left" href="main.html">
+        <a class="aui-pull-left" href="javascript:window.history.go(-1)">
             <span class="aui-iconfont aui-icon-left"></span>
         </a>
         <div class="aui-title">账户安全</div>
diff --git a/platforms/android/app/src/main/java/org/apache/cordova/statusbar/StatusBar.java b/platforms/android/app/src/main/java/org/apache/cordova/statusbar/StatusBar.java
index 714c30e..09a38b9 100644
--- a/platforms/android/app/src/main/java/org/apache/cordova/statusbar/StatusBar.java
+++ b/platforms/android/app/src/main/java/org/apache/cordova/statusbar/StatusBar.java
@@ -60,10 +60,23 @@
                 window.clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
 
                 // Read 'StatusBarBackgroundColor' from config.xml, default is #000000.
-                setStatusBarBackgroundColor(preferences.getString("StatusBarBackgroundColor", "#000000"));
+                //setStatusBarBackgroundColor(preferences.getString("StatusBarBackgroundColor", "#000000"));
 
                 // Read 'StatusBarStyle' from config.xml, default is 'lightcontent'.
-                setStatusBarStyle(preferences.getString("StatusBarStyle", "lightcontent"));
+                //setStatusBarStyle(preferences.getString("StatusBarStyle", "lightcontent"));
+                //window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); // 添加半透明状态栏
+                
+                // window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUND);
+                
+                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
+                    window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
+                }
+                if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
+                    window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
+                    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
+                    window.setStatusBarColor(Color.TRANSPARENT);
+                    window.getDecorView().setFitsSystemWindows(true);
+                }
             }
         });
     }
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 5384261..4edb4c6 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 5384261..4edb4c6 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-hdpi/icon.png b/platforms/android/app/src/main/res/mipmap-hdpi/icon.png
deleted file mode 100644
index 4edb4c6..0000000
--- a/platforms/android/app/src/main/res/mipmap-hdpi/icon.png
+++ /dev/null
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 203223a..0508de6 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 c5fcaeb..0508de6 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-ldpi/icon.png b/platforms/android/app/src/main/res/mipmap-ldpi/icon.png
deleted file mode 100644
index 0508de6..0000000
--- a/platforms/android/app/src/main/res/mipmap-ldpi/icon.png
+++ /dev/null
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 8ca658e..ed81661 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 a18167b..ed81661 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-mdpi/icon.png b/platforms/android/app/src/main/res/mipmap-mdpi/icon.png
deleted file mode 100644
index ed81661..0000000
--- a/platforms/android/app/src/main/res/mipmap-mdpi/icon.png
+++ /dev/null
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 ae324f2..b764a7e 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 9e3eec3..b764a7e 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-xhdpi/icon.png b/platforms/android/app/src/main/res/mipmap-xhdpi/icon.png
deleted file mode 100644
index b764a7e..0000000
--- a/platforms/android/app/src/main/res/mipmap-xhdpi/icon.png
+++ /dev/null
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 7983ef4..3c7efa4 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 a569289..3c7efa4 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-xxhdpi/icon.png b/platforms/android/app/src/main/res/mipmap-xxhdpi/icon.png
deleted file mode 100644
index 3c7efa4..0000000
--- a/platforms/android/app/src/main/res/mipmap-xxhdpi/icon.png
+++ /dev/null
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 6857bef..8c027a7 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 3c322f2..8c027a7 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/mipmap-xxxhdpi/icon.png b/platforms/android/app/src/main/res/mipmap-xxxhdpi/icon.png
deleted file mode 100644
index 8c027a7..0000000
--- a/platforms/android/app/src/main/res/mipmap-xxxhdpi/icon.png
+++ /dev/null
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 e68e2c4..04fccc7 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">大理APP</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 0bff711..e81ee23 100644
--- a/platforms/android/app/src/main/res/xml/config.xml
+++ b/platforms/android/app/src/main/res/xml/config.xml
@@ -34,7 +34,7 @@
     <feature name="ThemeableBrowser">
         <param name="android-package" value="com.initialxy.cordova.themeablebrowser.ThemeableBrowser" />
     </feature>
-    <name short="大理APP">dlapp</name>
+    <name short="大理市民卡">dlapp</name>
     <description>
         A sample Apache Cordova application that responds to the deviceready event.
     </description>
diff --git a/platforms/android/debug-signing.properties b/platforms/android/debug-signing.properties
new file mode 100644
index 0000000..7fc2a24
--- /dev/null
+++ b/platforms/android/debug-signing.properties
@@ -0,0 +1,6 @@
+# This file is automatically generated.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+key.store=/Users/shuwei/works2/cordova/dlapp/release-key.keystore
+key.alias=dlapp-supwisdom
+key.store.password=kingstar
+key.alias.password=kingstar
diff --git a/platforms/android/release-signing.properties b/platforms/android/release-signing.properties
new file mode 100644
index 0000000..7fc2a24
--- /dev/null
+++ b/platforms/android/release-signing.properties
@@ -0,0 +1,6 @@
+# This file is automatically generated.
+# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
+key.store=/Users/shuwei/works2/cordova/dlapp/release-key.keystore
+key.alias=dlapp-supwisdom
+key.store.password=kingstar
+key.alias.password=kingstar
diff --git a/platforms/browser/config.xml b/platforms/browser/config.xml
index df4c7f6..05a30f1 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.supwisdom.dlapp" version="1.0.0" xmlns="http://www.w3.org/ns/widgets" xmlns:cdv="http://cordova.apache.org/ns/1.0">
-    <name short="大理APP">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.xcarchive/Info.plist b/platforms/ios/dlapp.xcarchive/Info.plist
index 1ea4592..ab546c0 100644
--- a/platforms/ios/dlapp.xcarchive/Info.plist
+++ b/platforms/ios/dlapp.xcarchive/Info.plist
@@ -20,7 +20,7 @@
 	<key>ArchiveVersion</key>
 	<integer>2</integer>
 	<key>CreationDate</key>
-	<date>2019-07-10T08:13:18Z</date>
+	<date>2019-07-11T08:13:54Z</date>
 	<key>Name</key>
 	<string>dlapp</string>
 	<key>SchemeName</key>
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Assets.car b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Assets.car
index 4dcb824..9f9c06d 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Assets.car
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Assets.car
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/CDVLaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/CDVLaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib
deleted file mode 100644
index 4265641..0000000
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/CDVLaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib
+++ /dev/null
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/CDVLaunchScreen.storyboardc/Info.plist b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/CDVLaunchScreen.storyboardc/Info.plist
deleted file mode 100644
index 32288e8..0000000
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/CDVLaunchScreen.storyboardc/Info.plist
+++ /dev/null
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/CDVLaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/CDVLaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib
deleted file mode 100644
index 450a882..0000000
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/CDVLaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib
+++ /dev/null
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftAVFoundation.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftAVFoundation.dylib
index 7bc9f2f..5d8f51d 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftAVFoundation.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftAVFoundation.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCore.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCore.dylib
index 672e105..5a7b766 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCore.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCore.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreAudio.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreAudio.dylib
index 8827440..55ed0e1 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreAudio.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreAudio.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreFoundation.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreFoundation.dylib
index f2a71e5..57c9a54 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreFoundation.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreFoundation.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreGraphics.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreGraphics.dylib
index 4d86670..452a7cf 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreGraphics.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreGraphics.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreImage.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreImage.dylib
index 60cd94f..faacd33 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreImage.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreImage.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreMedia.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreMedia.dylib
index 8728cf9..84a3a0e 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreMedia.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftCoreMedia.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftDarwin.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftDarwin.dylib
index 2c674dd..5faef15 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftDarwin.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftDarwin.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftDispatch.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftDispatch.dylib
index 1847643..58e5afd 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftDispatch.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftDispatch.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftFoundation.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftFoundation.dylib
index 229b24b..16d173a 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftFoundation.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftFoundation.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftMetal.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftMetal.dylib
index 2506dfc..2cf513d 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftMetal.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftMetal.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftObjectiveC.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftObjectiveC.dylib
index 4df4261..86e778f 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftObjectiveC.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftObjectiveC.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftQuartzCore.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftQuartzCore.dylib
index 0ac42bb..1915c46 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftQuartzCore.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftQuartzCore.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftSwiftOnoneSupport.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftSwiftOnoneSupport.dylib
index 3234957..b3f01a3 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftSwiftOnoneSupport.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftSwiftOnoneSupport.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftUIKit.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftUIKit.dylib
index c884ecf..e2393fb 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftUIKit.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftUIKit.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftos.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftos.dylib
index d331ee9..b0a7156 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftos.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftos.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftsimd.dylib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftsimd.dylib
index cfdce4f..cfe8be5 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftsimd.dylib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Frameworks/libswiftsimd.dylib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Info.plist b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Info.plist
index ff3d497..ecc0335 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Info.plist
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/Info.plist
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/MainViewController.nib b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/MainViewController.nib
index 1ab9c60..7a6b496 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/MainViewController.nib
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/MainViewController.nib
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/_CodeSignature/CodeResources b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/_CodeSignature/CodeResources
index 35f4677..f1694b6 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/_CodeSignature/CodeResources
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/_CodeSignature/CodeResources
@@ -102,91 +102,79 @@
 		</data>
 		<key>Assets.car</key>
 		<data>
-		M9y4B5f85UdyeyDoa4mw7YNN6Bk=
-		</data>
-		<key>CDVLaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib</key>
-		<data>
-		DpfAvIjL3kCSfefgV671itSU7Z4=
-		</data>
-		<key>CDVLaunchScreen.storyboardc/Info.plist</key>
-		<data>
-		n2t8gsDpfE6XkhG31p7IQJRxTxU=
-		</data>
-		<key>CDVLaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib</key>
-		<data>
-		iq85hsiCVgzh8ud0xUY8MMrk/so=
+		1wtgF/ExOGL1W/mA4wnDp5cHy2E=
 		</data>
 		<key>Frameworks/libswiftAVFoundation.dylib</key>
 		<data>
-		MyWbgH+LclNwvYiky83lqJD2UnI=
+		bFhFecgMtM74RuBXDVR2qtNEzdE=
 		</data>
 		<key>Frameworks/libswiftCore.dylib</key>
 		<data>
-		4zn76y1y9gHtnbnA9xAJN3gTjfc=
+		3hgQ/rk02s2dnMvPe6o7fK+MPyA=
 		</data>
 		<key>Frameworks/libswiftCoreAudio.dylib</key>
 		<data>
-		k5MV4RdAF+U9IPs23qAxEkQ1zSY=
+		xIW++NG4WQ2AqZl87LaxzU51MrA=
 		</data>
 		<key>Frameworks/libswiftCoreFoundation.dylib</key>
 		<data>
-		1M+6tKeVk9K8z4pcj76/nX0Orp4=
+		Qk0gKMeM+NqBiiCpvjR/AjBeJrI=
 		</data>
 		<key>Frameworks/libswiftCoreGraphics.dylib</key>
 		<data>
-		uqFMn/wUXGsLEyNEkJDsUvqV+1Y=
+		aAHvmYFzdspKiWtBVwI1+5L2gYE=
 		</data>
 		<key>Frameworks/libswiftCoreImage.dylib</key>
 		<data>
-		pSXJcUvGBwZSSzpqxgZO9fYQpSQ=
+		AcxQUQItoQMqR8A/LBZeJogLNns=
 		</data>
 		<key>Frameworks/libswiftCoreMedia.dylib</key>
 		<data>
-		1bCvwJsFxbLj3ouPYWb1vBRiF2s=
+		7X8eMN4JSjb6fH1bdFWatqIIZRQ=
 		</data>
 		<key>Frameworks/libswiftDarwin.dylib</key>
 		<data>
-		0eedFvcTWdCm0JCdXXbYsjbQu2k=
+		mdDRWQektqz4DAGLWBnCTdnSfv8=
 		</data>
 		<key>Frameworks/libswiftDispatch.dylib</key>
 		<data>
-		nEKmyjjqaE/4KcHgQ94WgKlVbaU=
+		cl3JWbY6uCuYce/Pe7/O60+RjSQ=
 		</data>
 		<key>Frameworks/libswiftFoundation.dylib</key>
 		<data>
-		cmNqhtGBh6e4ZTYjiJLbhuHRdc0=
+		uw2IWbZstGSgudTbIAmCz6qTkYY=
 		</data>
 		<key>Frameworks/libswiftMetal.dylib</key>
 		<data>
-		PAm/ukk7wQ4Z7Ys9ul+Hq4PJP+E=
+		EQb0L/gN7hCeLHhMgc4/b6oiSWw=
 		</data>
 		<key>Frameworks/libswiftObjectiveC.dylib</key>
 		<data>
-		3E9JJ2xzHu8f2j5JZYfoZ+x1jMU=
+		FFBiWOfRpbuPMKXSaTWem9dUaiY=
 		</data>
 		<key>Frameworks/libswiftQuartzCore.dylib</key>
 		<data>
-		gU++xPxoA7pH+w+RtHN0v1dAmqw=
+		+9+ghkyJl1XgWZEjfr/PHuAWa6U=
 		</data>
 		<key>Frameworks/libswiftSwiftOnoneSupport.dylib</key>
 		<data>
-		LGWUYmpGsrLP9agzpGxQh2sK3O8=
+		D6TDd70LujXe+TVih2L/BcWgrCA=
 		</data>
 		<key>Frameworks/libswiftUIKit.dylib</key>
 		<data>
-		9LyLZC3F/xaRK32VipuXkcFiy4A=
+		zdFg7002veyn+u8AMRXUzg5m40I=
 		</data>
 		<key>Frameworks/libswiftos.dylib</key>
 		<data>
-		z2KM6mxXHkBs94Ln+AnUxg3KoDo=
+		PMOxdcpMwmMnYQ734wG+ID3XAyA=
 		</data>
 		<key>Frameworks/libswiftsimd.dylib</key>
 		<data>
-		qDj17iVa9j3JsBh2vsfJcrvT19g=
+		kIz+jWC70pLIua66e2E5iQk37v0=
 		</data>
 		<key>Info.plist</key>
 		<data>
-		Ec2xR2CoDXFQNiK5N3/3pfMREdY=
+		xCcMK6i5qsOv40GndCWSWjMi70w=
 		</data>
 		<key>LaunchImage-1100-Landscape-2436h@3x.png</key>
 		<data>
@@ -230,7 +218,7 @@
 		</data>
 		<key>MainViewController.nib</key>
 		<data>
-		C9CLtoiVDlYPacBkIs+hN8qWL2w=
+		0YdqkbfI8H2NNtKRO5dBoBtUB6Q=
 		</data>
 		<key>PkgInfo</key>
 		<data>
@@ -238,7 +226,7 @@
 		</data>
 		<key>config.xml</key>
 		<data>
-		AjI+ESkl36HBKYsk8ULo6f9LwCw=
+		O33IIDUH183cwlV6v9zaOFqmJ1o=
 		</data>
 		<key>embedded.mobileprovision</key>
 		<data>
@@ -246,15 +234,19 @@
 		</data>
 		<key>www/bill.html</key>
 		<data>
-		1Q6bs+kjPSyg+Yl2MrIlAdkCDEM=
+		b3QBi0fz3wb78XRoWYnvDwcDvOY=
 		</data>
 		<key>www/billdetail.html</key>
 		<data>
-		y/BRy2p3Q5Cx9yIIKJSruC5hdVU=
+		cqHtFm0XLXtu3pFFlRV0wqo3bLo=
 		</data>
 		<key>www/bindcard.html</key>
 		<data>
-		9PZ9wKXqzkXFm00p7Y0R3qjtldY=
+		tNpfSnkH292JpxhwxUczhqxxsJM=
+		</data>
+		<key>www/bindcheck.html</key>
+		<data>
+		jGx5uAhkm+a3PdC0Z5ENLMfZa+M=
 		</data>
 		<key>www/card.html</key>
 		<data>
@@ -398,23 +390,27 @@
 		</data>
 		<key>www/index.html</key>
 		<data>
-		5T2zYcDtNLEO0qcTZGgyv5wCdsQ=
+		Zda9OWa9Ge/2z3SHFqU/i+MJ/Gs=
 		</data>
 		<key>www/js/bill.js</key>
 		<data>
-		PtiPisUNF3iV9vPSlzdIpHwidUg=
+		ldkYDTIUC9PYeLqrzP/QCXJ/fFw=
 		</data>
 		<key>www/js/billdetail.js</key>
 		<data>
-		Df3zwuOjyxYT1atvBcZGR3EVdh4=
+		ICgW8NAQBBEJmmNYuELt2HMjRtk=
 		</data>
 		<key>www/js/bindcard.js</key>
 		<data>
-		QcQm/WcOXL3pjL8WUEBsXTDLCmQ=
+		0B7mevzLJOBg0VXTUpHtZ//18PQ=
+		</data>
+		<key>www/js/bindcheck.js</key>
+		<data>
+		5RfLHKNNVVwPSEOzS8TfUZ0lpJQ=
 		</data>
 		<key>www/js/card.js</key>
 		<data>
-		pIuWD/nNiuDsXe2wowI2s9+3FQE=
+		7aKpuRYAUQzufAe0mT4dSCySRqE=
 		</data>
 		<key>www/js/cardinfor.js</key>
 		<data>
@@ -442,7 +438,7 @@
 		</data>
 		<key>www/js/index.js</key>
 		<data>
-		7VB6kBtU0FQ+JUAh0cbyy2dfHak=
+		asyakUNRxlJpE4P7WMiyTJTY97Y=
 		</data>
 		<key>www/js/lib/aui-actionsheet.js</key>
 		<data>
@@ -550,7 +546,7 @@
 		</data>
 		<key>www/js/main.js</key>
 		<data>
-		0LqnXw5oToAfNnPBWMOt3Pj41y4=
+		I2Jj7RTovo4kH11m8CRuakKi3nk=
 		</data>
 		<key>www/js/mobile.js</key>
 		<data>
@@ -586,7 +582,7 @@
 		</data>
 		<key>www/js/server.js</key>
 		<data>
-		8l2vn+ra5zayhEwQQpy1806GZX8=
+		6JlWzinRBn6MsREucfIEiCvn5oA=
 		</data>
 		<key>www/js/signxy.js</key>
 		<data>
@@ -594,7 +590,7 @@
 		</data>
 		<key>www/js/signxycheck.js</key>
 		<data>
-		gDocQNgzvA/TxPmLCDCjG8iRQGQ=
+		OQxn/Q3V2ODyeXPO0htt940uIyM=
 		</data>
 		<key>www/js/uxy.js</key>
 		<data>
@@ -610,7 +606,7 @@
 		</data>
 		<key>www/main.html</key>
 		<data>
-		gOippmPYY80xg/JnHqP8Kpg59H8=
+		sV+PofATUmBIxpJeRyO928SNbfc=
 		</data>
 		<key>www/main1.html</key>
 		<data>
@@ -1054,7 +1050,7 @@
 		</data>
 		<key>www/register.html</key>
 		<data>
-		j0E17LezraXxL2i9s0tnnWrl9vw=
+		q/NP40bBQOZfbeq+nId2UNahWqk=
 		</data>
 		<key>www/scan.html</key>
 		<data>
@@ -1062,7 +1058,7 @@
 		</data>
 		<key>www/security.html</key>
 		<data>
-		WAAOaAVzFhUpl9ay3iHsxkW83wo=
+		LQqkVW0wcKOsVTN4GeoIHaLFmHA=
 		</data>
 		<key>www/signxy.html</key>
 		<data>
@@ -1347,231 +1343,198 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			M9y4B5f85UdyeyDoa4mw7YNN6Bk=
+			1wtgF/ExOGL1W/mA4wnDp5cHy2E=
 			</data>
 			<key>hash2</key>
 			<data>
-			duad8nu5wyFRXbyfel2nmGPHnx+Llq1pcjbhdANANHw=
-			</data>
-		</dict>
-		<key>CDVLaunchScreen.storyboardc/01J-lp-oVM-view-Ze5-6b-2t3.nib</key>
-		<dict>
-			<key>hash</key>
-			<data>
-			DpfAvIjL3kCSfefgV671itSU7Z4=
-			</data>
-			<key>hash2</key>
-			<data>
-			9WZh89T9f9Hw1Fl+v0/Uob2o7H9VJAhl9TTos0k6oHo=
-			</data>
-		</dict>
-		<key>CDVLaunchScreen.storyboardc/Info.plist</key>
-		<dict>
-			<key>hash</key>
-			<data>
-			n2t8gsDpfE6XkhG31p7IQJRxTxU=
-			</data>
-			<key>hash2</key>
-			<data>
-			HyVdXMU7Ux4/KalAao30mpWOK/lEPT4gvYN09wf31cg=
-			</data>
-		</dict>
-		<key>CDVLaunchScreen.storyboardc/UIViewController-01J-lp-oVM.nib</key>
-		<dict>
-			<key>hash</key>
-			<data>
-			iq85hsiCVgzh8ud0xUY8MMrk/so=
-			</data>
-			<key>hash2</key>
-			<data>
-			ew0r9e3KiNvhfbon3lG36Fsog5H6JlAavyDmCe+DJJ0=
+			9OxWSnf3xL4RNzSZKWnkIthR38wz5TwFc0KyK2fGf2g=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftAVFoundation.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			MyWbgH+LclNwvYiky83lqJD2UnI=
+			bFhFecgMtM74RuBXDVR2qtNEzdE=
 			</data>
 			<key>hash2</key>
 			<data>
-			IjpjjsSxhJkjtYt0IACD6PCrlMEsP/rFQrn+PeDRmkw=
+			QwcRT95IpTIMKQDFPiCcByGKzObuV+pmj2Id3bdqpE0=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftCore.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			4zn76y1y9gHtnbnA9xAJN3gTjfc=
+			3hgQ/rk02s2dnMvPe6o7fK+MPyA=
 			</data>
 			<key>hash2</key>
 			<data>
-			YjP5QRTvdgBOHnMpa1v378XXpHheFq7Q00dUT3ElKDU=
+			9ttrw8kFAeUSnSy5qJhPcRz27NsHAZr1B0/mfwd1ASc=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftCoreAudio.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			k5MV4RdAF+U9IPs23qAxEkQ1zSY=
+			xIW++NG4WQ2AqZl87LaxzU51MrA=
 			</data>
 			<key>hash2</key>
 			<data>
-			Qn8QRhMEyKPpSFi4fpzdxS0xvCD0RDRWzOnPCOWleJw=
+			p+z9s2WquW8PBpoicJ5RT1O5rFm00CeAFxVBGTBRi9o=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftCoreFoundation.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			1M+6tKeVk9K8z4pcj76/nX0Orp4=
+			Qk0gKMeM+NqBiiCpvjR/AjBeJrI=
 			</data>
 			<key>hash2</key>
 			<data>
-			WS7J8/3xUQcFUG9uPnDgeO6LRJSEubOpxNWSKXjs7jQ=
+			4s9Ks0mYFnKRxOjNrEUw7EG3M0+2mStedXwqt3WEdNE=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftCoreGraphics.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			uqFMn/wUXGsLEyNEkJDsUvqV+1Y=
+			aAHvmYFzdspKiWtBVwI1+5L2gYE=
 			</data>
 			<key>hash2</key>
 			<data>
-			8v8NzWtjlYaEngfnhNCrwis/t4uy1D/hKL9Mi0iALDA=
+			Z4tWoZgN/tOWnlFRwlKI0LicqJV/V43f8j/nHfT2Eow=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftCoreImage.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			pSXJcUvGBwZSSzpqxgZO9fYQpSQ=
+			AcxQUQItoQMqR8A/LBZeJogLNns=
 			</data>
 			<key>hash2</key>
 			<data>
-			EUtBS7YKQL4IFn0mPxgDgFClheyYPTa6FlklEQEbmHc=
+			PqMpyk3R2oowT5bGOcfb3yvMJm4GTH36YqFbmJ49MJc=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftCoreMedia.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			1bCvwJsFxbLj3ouPYWb1vBRiF2s=
+			7X8eMN4JSjb6fH1bdFWatqIIZRQ=
 			</data>
 			<key>hash2</key>
 			<data>
-			I/QwtpQQe3B2xT4C21p7IcQZzn4myAoQKZI850YdzHg=
+			gyeQw6Jm1jhba+V5UXc92OWQ0nsCdqiioRbv0uSpleQ=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftDarwin.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			0eedFvcTWdCm0JCdXXbYsjbQu2k=
+			mdDRWQektqz4DAGLWBnCTdnSfv8=
 			</data>
 			<key>hash2</key>
 			<data>
-			y1h93Tcj4VDDnFboKwtqtUpFg8b/YzdZ4sXKQyyth4U=
+			S7PolSzfo9RRkDhDrSiPo2YEAfYEmm3XK0NQRFJ3zcI=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftDispatch.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			nEKmyjjqaE/4KcHgQ94WgKlVbaU=
+			cl3JWbY6uCuYce/Pe7/O60+RjSQ=
 			</data>
 			<key>hash2</key>
 			<data>
-			cRqD5x6M2KFowR26/9icxu6/UtjQxwNzP5GgUwhuiio=
+			3dAtGpDTtgA2GcAANIMcpkZBa5aez+asZu+BFsa4eqk=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftFoundation.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			cmNqhtGBh6e4ZTYjiJLbhuHRdc0=
+			uw2IWbZstGSgudTbIAmCz6qTkYY=
 			</data>
 			<key>hash2</key>
 			<data>
-			/KLnMtHKigpKDNCEnguM8XW6EDo6d3+EbQTFUrw6b9Y=
+			dpgzlYheuxiOuytRGAnPWd4sTIlW5H9wETEDsKuOLZY=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftMetal.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			PAm/ukk7wQ4Z7Ys9ul+Hq4PJP+E=
+			EQb0L/gN7hCeLHhMgc4/b6oiSWw=
 			</data>
 			<key>hash2</key>
 			<data>
-			in88VUVfQfFw8ZOJ3lMU7LMj647arDJ6QnScyuNTtRk=
+			+sNCybBv1NCTK8Lpu1V4p91z8FxnpnMIrAzbpuzbVEI=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftObjectiveC.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			3E9JJ2xzHu8f2j5JZYfoZ+x1jMU=
+			FFBiWOfRpbuPMKXSaTWem9dUaiY=
 			</data>
 			<key>hash2</key>
 			<data>
-			dfLWycynWL8swTWdAClrjvFpPyJJ5VJAtLlp4iQz5O8=
+			C4ja8DjlPjssQgsovQ6P9NKqw91sEhu4Bu2+XT0KSUg=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftQuartzCore.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			gU++xPxoA7pH+w+RtHN0v1dAmqw=
+			+9+ghkyJl1XgWZEjfr/PHuAWa6U=
 			</data>
 			<key>hash2</key>
 			<data>
-			R3JOsJBdYqRk1xUD3R07fNtwfqcVX6Cosrn0kNtHcOQ=
+			mzolCUUtouZep3PAJzf4yGgdWgHfqh1itMS/m0MF4LA=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftSwiftOnoneSupport.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			LGWUYmpGsrLP9agzpGxQh2sK3O8=
+			D6TDd70LujXe+TVih2L/BcWgrCA=
 			</data>
 			<key>hash2</key>
 			<data>
-			eE52l8payczU7l0Hpo32LG6NrMEKFNBhwOGjdRUjF0M=
+			LZzscOQ4Ac7xoiHWif9kzR47K8jENX/iwQA3noutxbo=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftUIKit.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			9LyLZC3F/xaRK32VipuXkcFiy4A=
+			zdFg7002veyn+u8AMRXUzg5m40I=
 			</data>
 			<key>hash2</key>
 			<data>
-			ISC/W9w0RKMj1oo/csCey/4SY4JU2WRuBoleGbYMZmg=
+			DDFLfdGCgpwMjZQtLOmJjYGvNQDDZJHvXt0haIOs7hc=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftos.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			z2KM6mxXHkBs94Ln+AnUxg3KoDo=
+			PMOxdcpMwmMnYQ734wG+ID3XAyA=
 			</data>
 			<key>hash2</key>
 			<data>
-			zTvBd7YDqAgmq7JggNFuubZcYcnl70BadnOjxBUB1lM=
+			rQkhc+oJnh/WWfjiCeABN0t4e7iYS6eEb2S1rVFWTfE=
 			</data>
 		</dict>
 		<key>Frameworks/libswiftsimd.dylib</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			qDj17iVa9j3JsBh2vsfJcrvT19g=
+			kIz+jWC70pLIua66e2E5iQk37v0=
 			</data>
 			<key>hash2</key>
 			<data>
-			UR+OfsV43DVSPDtQBVFoEJ9tuvOvvpfPu019PBw+0hk=
+			SRiywNfLGVV76m2x4Lo4lPgsXlCs+oCdr19tw07TUeM=
 			</data>
 		</dict>
 		<key>LaunchImage-1100-Landscape-2436h@3x.png</key>
@@ -1688,22 +1651,22 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			C9CLtoiVDlYPacBkIs+hN8qWL2w=
+			0YdqkbfI8H2NNtKRO5dBoBtUB6Q=
 			</data>
 			<key>hash2</key>
 			<data>
-			BPamdQ+XBxFRB1ecGx7xsTVexVgU6cCqM/3nSx/SDxo=
+			0N2gtbHH4drQLWL34Fb9eFw5f6o+ysLy6LSeYA/f+hY=
 			</data>
 		</dict>
 		<key>config.xml</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			AjI+ESkl36HBKYsk8ULo6f9LwCw=
+			O33IIDUH183cwlV6v9zaOFqmJ1o=
 			</data>
 			<key>hash2</key>
 			<data>
-			UdpfViruJpsDGJAY8b/SX38vV8TW44PF28Nf62U+iRg=
+			ExbxvWR+hO0yJrjtxpQRzs4QKpPR2lD4ssUd6lHa2DU=
 			</data>
 		</dict>
 		<key>embedded.mobileprovision</key>
@@ -1721,33 +1684,44 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			1Q6bs+kjPSyg+Yl2MrIlAdkCDEM=
+			b3QBi0fz3wb78XRoWYnvDwcDvOY=
 			</data>
 			<key>hash2</key>
 			<data>
-			aQ18IOK1WD+xB0HoL1rOKcacc0APEyZB0ZArD4e0ZHA=
+			V5904egADuCN+qIoCAJ8Wgq+zmNUYitizRQWYh49at4=
 			</data>
 		</dict>
 		<key>www/billdetail.html</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			y/BRy2p3Q5Cx9yIIKJSruC5hdVU=
+			cqHtFm0XLXtu3pFFlRV0wqo3bLo=
 			</data>
 			<key>hash2</key>
 			<data>
-			0RTbZ8J/3k5IrHFIcDKDK/s36izM/vPn38xQ6QQBc7A=
+			eBgSw3AJ1XGN6ICOgI4lpS0w5l9Rt4WghqVHpJoWORY=
 			</data>
 		</dict>
 		<key>www/bindcard.html</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			9PZ9wKXqzkXFm00p7Y0R3qjtldY=
+			tNpfSnkH292JpxhwxUczhqxxsJM=
 			</data>
 			<key>hash2</key>
 			<data>
-			zo8Ha9qzyk1B/L5POHRECSQv7lA0GI70kpuOSkDOxrQ=
+			3o4+6ntUJiLGHeu796ZgXSMtyq/NhekN2MNIUk2LR0w=
+			</data>
+		</dict>
+		<key>www/bindcheck.html</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			jGx5uAhkm+a3PdC0Z5ENLMfZa+M=
+			</data>
+			<key>hash2</key>
+			<data>
+			xlAGhILXieaQ+He/c01QmmUhffREXODF7o31Lf64ah8=
 			</data>
 		</dict>
 		<key>www/card.html</key>
@@ -2139,55 +2113,66 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			5T2zYcDtNLEO0qcTZGgyv5wCdsQ=
+			Zda9OWa9Ge/2z3SHFqU/i+MJ/Gs=
 			</data>
 			<key>hash2</key>
 			<data>
-			bbbTW+ZzNRuI2n8ez38NzoUEiSfP0QKFk7A+8LLG3u8=
+			wCqsKKeq61a3ZMKr75zXjtFuH3SUpeRVo2AqoVo1wOE=
 			</data>
 		</dict>
 		<key>www/js/bill.js</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			PtiPisUNF3iV9vPSlzdIpHwidUg=
+			ldkYDTIUC9PYeLqrzP/QCXJ/fFw=
 			</data>
 			<key>hash2</key>
 			<data>
-			EVNRbGJRHseLA3axCbgGcz29IGU6xOmdGFdvWIugfnE=
+			06ZruQrpjAyNi+N2MNqKm3lNrw9qicpuSfr+FHlD2EQ=
 			</data>
 		</dict>
 		<key>www/js/billdetail.js</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			Df3zwuOjyxYT1atvBcZGR3EVdh4=
+			ICgW8NAQBBEJmmNYuELt2HMjRtk=
 			</data>
 			<key>hash2</key>
 			<data>
-			FyGdQXizxc01cqVOn0QqA1F59oAIlgBekP0GYYGdBn0=
+			PNjIMH7Xh1rt0BEaJDkghE6nzhKQ1LeXA9vvohMWl0E=
 			</data>
 		</dict>
 		<key>www/js/bindcard.js</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			QcQm/WcOXL3pjL8WUEBsXTDLCmQ=
+			0B7mevzLJOBg0VXTUpHtZ//18PQ=
 			</data>
 			<key>hash2</key>
 			<data>
-			6w5TbEgi58X6ax41nX5HNkseAndhXsBoDdMbkC5ZN0s=
+			RTbz/7lGwjEFRysFNUCFqZu0zLr5jrz4hYhhqEhW6co=
+			</data>
+		</dict>
+		<key>www/js/bindcheck.js</key>
+		<dict>
+			<key>hash</key>
+			<data>
+			5RfLHKNNVVwPSEOzS8TfUZ0lpJQ=
+			</data>
+			<key>hash2</key>
+			<data>
+			iIc+Xy+koHZAAKkSK4SrrTOz6KoHuiM/du4yk7IV3xI=
 			</data>
 		</dict>
 		<key>www/js/card.js</key>
 		<dict>
 			<key>hash</key>
 			<data>
-			pIuWD/nNiuDsXe2wowI2s9+3FQE=
+			7aKpuRYAUQzufAe0mT4dSCySRqE=
 			</data>
 			<key>hash2</key>
 			<data>
-			0uPvlo+ps3yiA4Nr0TxLLLqbo7L/kbBlTasufVbwIBo=
+			dHaUqiUT0kifFeKQluaSwEJROmdMQ1HJXH9pFExxSYM=
 			</data>
 		</dict>
 		<key>www/js/cardinfor.js</key>
@@ -2260,11 +2245,11 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			7VB6kBtU0FQ+JUAh0cbyy2dfHak=
+			asyakUNRxlJpE4P7WMiyTJTY97Y=
 			</data>
 			<key>hash2</key>
 			<data>
-			3NRfVaJToNjIzE5ZaKN6wU1XoXox/FthPuwx1DZcyTQ=
+			/E23wKzs+L6w6sRklGOiQqSAtMN20zBHMCvJDzaTtA4=
 			</data>
 		</dict>
 		<key>www/js/lib/aui-actionsheet.js</key>
@@ -2557,11 +2542,11 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			0LqnXw5oToAfNnPBWMOt3Pj41y4=
+			I2Jj7RTovo4kH11m8CRuakKi3nk=
 			</data>
 			<key>hash2</key>
 			<data>
-			Ax5z71inU53ze1vUxVRhaQ3jST+ysuyVQ6ft9GOkIp0=
+			+3DiCEwGQX3VJAAfi0B9bkRsfSwDHXtcmO6S/jaoZFs=
 			</data>
 		</dict>
 		<key>www/js/mobile.js</key>
@@ -2656,11 +2641,11 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			8l2vn+ra5zayhEwQQpy1806GZX8=
+			6JlWzinRBn6MsREucfIEiCvn5oA=
 			</data>
 			<key>hash2</key>
 			<data>
-			7xi+g6PEIs8+EcyXCCGlOwVJF4gL3Opbbe7Oj9KK08g=
+			9BIwn+Du4nx0VxOUv39nWFXNeN9k5+QoZyWWWetbBIA=
 			</data>
 		</dict>
 		<key>www/js/signxy.js</key>
@@ -2678,11 +2663,11 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			gDocQNgzvA/TxPmLCDCjG8iRQGQ=
+			OQxn/Q3V2ODyeXPO0htt940uIyM=
 			</data>
 			<key>hash2</key>
 			<data>
-			Vh4NcgQQik+8mAFenFg/ixdjbZqqruikr/1UpMF7Lt0=
+			eW7ouno0m+7r/ecUWfaUCLB8d/xGdvBMxK+RmBI3bYQ=
 			</data>
 		</dict>
 		<key>www/js/uxy.js</key>
@@ -2722,11 +2707,11 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			gOippmPYY80xg/JnHqP8Kpg59H8=
+			sV+PofATUmBIxpJeRyO928SNbfc=
 			</data>
 			<key>hash2</key>
 			<data>
-			FI8NhTNqHdUwCEkp/A4flZiB2KiUb7zmd9e95nWeBFM=
+			Ut8U/hTR51RvrtpZGoxPvr8RETQF1NBBDg11JqYeuzY=
 			</data>
 		</dict>
 		<key>www/main1.html</key>
@@ -3943,11 +3928,11 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			j0E17LezraXxL2i9s0tnnWrl9vw=
+			q/NP40bBQOZfbeq+nId2UNahWqk=
 			</data>
 			<key>hash2</key>
 			<data>
-			Iu5z6Xp9qSJxhhkhGheMQI9Ns2tMH0hhOpULa3eMjek=
+			WsYPx/6kDCp5gr/e4lMTJvGzW/VDXMwvnHlWa3MjS5w=
 			</data>
 		</dict>
 		<key>www/scan.html</key>
@@ -3965,11 +3950,11 @@
 		<dict>
 			<key>hash</key>
 			<data>
-			WAAOaAVzFhUpl9ay3iHsxkW83wo=
+			LQqkVW0wcKOsVTN4GeoIHaLFmHA=
 			</data>
 			<key>hash2</key>
 			<data>
-			PQQQEnclRlF/NWm1k2k7h+03o0vELPqdci0FJbjkxHE=
+			xzEaRg38D+hgjxJoKsj3oFwfrqsYIm4s4H7MDEAsXNY=
 			</data>
 		</dict>
 		<key>www/signxy.html</key>
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/config.xml b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/config.xml
index 4096c07..ed6c95a 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/config.xml
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/config.xml
@@ -55,7 +55,7 @@
     <feature name="ThemeableBrowser">
         <param name="ios-package" value="CDVThemeableBrowser" />
     </feature>
-    <name short="大理APP">dlapp</name>
+    <name short="大理市民卡">dlapp</name>
     <description>
         A sample Apache Cordova application that responds to the deviceready event.
     </description>
@@ -97,6 +97,7 @@
     <preference name="CameraUsesGeolocation" value="false" />
     <preference name="AutoHideSplashScreen" value="true" />
     <preference name="SplashScreenDelay" value="0" />
+    <preference name="SplashShowOnlyFirstTime" value="true" />
     <preference name="ErrorUrl" value="error.html" />
     <preference name="Orientation" value="portrait" />
     <preference name="UseSwiftLanguageVersion" value="4.0" />
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/dlapp b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/dlapp
index 1d04bf9..f844f95 100755
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/dlapp
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/dlapp
Binary files differ
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/bill.html b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/bill.html
index e70285f..e2b99b1 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/bill.html
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/bill.html
@@ -16,7 +16,7 @@
 
 <body>
     <header class="aui-bar aui-bar-nav" style="padding-top:25px;">
-        <a class="aui-pull-left" href="javascript:window.history.back()">
+        <a class="aui-pull-left" href="javascript:window.history.go(-1)">
             <span class="aui-iconfont aui-icon-left"></span>
         </a>
         <div class="aui-title">账单</div>
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/billdetail.html b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/billdetail.html
index 8bbde06..e419a98 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/billdetail.html
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/billdetail.html
@@ -16,7 +16,7 @@
 
 <body>
     <header class="aui-bar aui-bar-nav" style="padding-top:25px;">
-        <a class="aui-pull-left" href="javascript:window.history.back()">
+        <a class="aui-pull-left" href="javascript:window.history.go(-1)">
             <span class="aui-iconfont aui-icon-left"></span>
         </a>
         <div class="aui-title">账单详情</div>
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/bindcard.html b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/bindcard.html
index 3ec9d26..8d2ee2f 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/bindcard.html
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/bindcard.html
@@ -30,34 +30,24 @@
                 </div>
             </div>
             <div class="weui-cell" 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="text" id='idtype' placeholder="请选择证件类型" style="font-size: 14px;" />
+                </div>
+            </div>
+            <div class="weui-cell" 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="text" id="idno" style="font-size: 14px;" placeholder="请输入您的证件号" >
+                </div>
+            </div>
+            <div class="weui-cell" 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="text" id="cardnum" style="font-size: 14px;" placeholder="市民卡对应的银行卡号">
                 </div>
             </div>
         </div>
-
-        <div class="weui-cells__title">短信验证市民卡预留的手机号</div>
-        <div class="weui-cells weui-cells_form">
-            <div class="weui-cell" 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="phone" style="font-size: 14px;" placeholder="请输入市民卡预留的手机号" disabled="disabled" >
-                </div>
-            </div>
-            <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="number" id="code" style="font-size: 14px;" placeholder="请输入验证码" maxlength="6">
-                </div>
-                <div class="weui-cell__ft">
-                    <button class="weui-vcode-btn" onclick="app.getCode()" id="codebtn" style="width: 100px;height: 1rem;font-size: 14px;">获取验证码</button>
-                </div>
-            </div>
-        </div>
-
         <section class="aui-content-padded" style="margin-top: 30px;">
             <div class="aui-btn aui-btn-block aui-btn-info" tapmode onclick="app.doNext()">下一步</div>
         </section>
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/bindcheck.html b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/bindcheck.html
new file mode 100644
index 0000000..51e13e9
--- /dev/null
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/bindcheck.html
@@ -0,0 +1,45 @@
+<!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="javascript:window.history.back()">
+            <span class="aui-iconfont aui-icon-left"></span>
+        </a>
+        <div class="aui-title">手机验证码</div>
+    </header>
+    <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>
+        <section class="aui-content-padded" style="margin-top: 30px;">
+            <div class="aui-btn aui-btn-block aui-btn-info" tapmode onclick="app.doNext()">验证</div>
+        </section>
+    </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/bindcheck.js"></script>
\ No newline at end of file
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/index.html b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/index.html
index 4afb0bf..576b5e9 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/index.html
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/index.html
@@ -26,4 +26,5 @@
 <script type="text/javascript" src="js/lib/jquery-weui.min.js"></script>
 <script type="text/javascript" src="js/server.js"></script>
 <script type="text/javascript">
+     window.localStorage.setItem("tabindex",1); 
 </script>
\ No newline at end of file
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/bill.js b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/bill.js
index 4b0bca5..c0af3fd 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/bill.js
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/bill.js
@@ -9,6 +9,9 @@
         curpage = 1;
         this.loadBill(curpage)
     },
+    toBack: function (){
+        window.history.back();
+    },
     loadBill:function(pageno){
         $.showLoading("加载中");
         var param={
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/billdetail.js b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/billdetail.js
index 057b106..3615234 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/billdetail.js
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/billdetail.js
@@ -8,6 +8,9 @@
     onDeviceReady: function() {
         this.loadBill()
     },
+    toBack: function (){
+        window.history.back();
+    },
     loadBill: function() {
         var refno = window.localStorage.getItem("currentrefno");
         if (isEmpty(refno)) {
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/bindcard.js b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/bindcard.js
index 53ac0cf..e9cb86c 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/bindcard.js
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/bindcard.js
@@ -1,25 +1,58 @@
+var dict;
 var app = {
 
     // Application Constructor
     initialize: function() {
         document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
     },
-  
+
     onDeviceReady: function() {
         var uid = window.localStorage.getItem("uid");
-        var phone =  window.localStorage.getItem("phoneX");
-        if(!isEmpty(phone)){
-            $("#phone").val(phone)
-        }else{
-            phone =  window.localStorage.getItem("phone");
-            $("#phone").val(phone)
-        }
+        this.loadData();
+    },
+    loadData: function() {
+        $.showLoading("正在加载");
+        V1Idtypes(function(ok, ret) {
+            if (ok) {
+                $.hideLoading();
+                if (ret.code == 200) {
+                    dict = ret.idtypes;
+                    let keys = Object.keys(dict);
+                    let vals = Object.values(dict);
+                    console.log(keys, vals)
+                    var items=[];
+                    for(var key of keys){
+                        var bean = {
+                            "title":dict[key],
+                            "value":key
+                        }
+                        items.push(bean)
+                    }
+                    $("#idtype").val(items[0].title)
+                    $("#idtype").attr("data-values",items[0].value)
+                    $("#idtype").select({
+                      title: "请选择证件类型",
+                      items: items
+                    });
+                } else {
+                    $.alert(ret.msg, "错误");
+                }
+            } else {
+                $.hideLoading();
+                $.alert("请求失败了 " + ret.status + "，请稍后再试", "错误");
+            }
+        })
     },
     doNext: function() {
-        var code =  $("#code").val();
-        var cardnum =  $("#cardnum").val();
-        var name =  $("#name").val();
-        if(isEmpty(name)||isEmpty(code)||isEmpty(cardnum)){
+        var cardnum = $("#cardnum").val();
+        var name = $("#name").val();
+        var idno = $("#idno").val();
+        if (isEmpty(name) || isEmpty(cardnum)||isEmpty(idno)) {
+            return;
+        }
+        var idtype = $("#idtype").attr("data-values")
+        if(isEmpty(idtype)){
+            $.alert("请选择证件类型", "错误");
             return;
         }
         /*var agree = $("input[type=checkbox]:checked").val();
@@ -28,62 +61,37 @@
             return;
         }*/
         $.showLoading("正在处理");
-        var param={
-            "card":cardnum,
-            "code":code,
-            "name":name
+        var param = {
+            "cardno": cardnum,
+            "idtype": idtype,
+            "name": name,
+            "idno": idno
         }
-        V1Bindcard(param,function(ok,ret){
-            if(ok){
+        V1Bindcard(param, function(ok, ret) {
+            if (ok) {
                 $.hideLoading();
                 console.log(ret)
-                if(ret.code==200){
-                     window.localStorage.setItem("paypwdtype","new"); 
-                     window.localStorage.setItem("userid",ret.userid);
-                     window.localStorage.setItem("signed",ret.signed); 
-                     window.localStorage.setItem("name",name); 
-                     window.localStorage.setItem("paypwdset",ret.paypwdset); 
-                     if(ret.paypwdset){
-                        if(!isEmpty(ret.signed)&&signed=='yes'){
-                            window.location='main.html'
-                        }else{
-                            window.location='signxy.html'
-                        }
-                     }else{
-                        window.location="paypwdset.html";
-                     }
-                }else{
-                    if(ret.code==-1){
-                        $.alert(ret.msg, "提示",function(){
-                            window.location="main.html"
+                if (ret.code == 200) {
+                    window.localStorage.setItem("phoneX",ret.phonex);
+                    window.localStorage.setItem("name", name);
+                    window.localStorage.setItem("personid", ret.personid);
+                    window.localStorage.setItem("signed", ret.signed);
+                    window.localStorage.setItem("paypwdset", ret.paypwdset);
+                    window.location = "bindcheck.html";
+                } else {
+                    if (ret.code == -1) {
+                        $.alert(ret.msg, "提示", function() {
+                            window.location = "main.html"
                         });
-                    }else{
-                       $.alert(ret.msg, "错误");
+                    } else {
+                        $.alert(ret.msg, "错误");
                     }
-                } 
-            }else{
+                }
+            } else {
                 $.hideLoading();
-                $.alert("请求失败了 "+ret.status+"，请稍后再试", "错误");
-            }
-        })
-    },
-    getCode :function(){
-        $.showLoading("请求中");
-        V1Code(function(ok,ret){
-            if(ok){
-                $.hideLoading();
-                if(ret.code==200){
-                    $("#codebtn").attr("disabled","disabled")
-                    $("#codebtn").addClass("vcodedisabled")
-                    btnTime('codebtn');
-                }else{
-                    $.alert(ret.msg, "错误");
-                } 
-            }else{
-                $.hideLoading();
-                $.alert("请求失败了"+ret.status+"，请稍后再试", "错误");
+                $.alert("请求失败了 " + ret.status + "，请稍后再试", "错误");
             }
         })
     }
 };
-app.initialize();
+app.initialize();
\ No newline at end of file
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/bindcheck.js b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/bindcheck.js
new file mode 100644
index 0000000..a4214fc
--- /dev/null
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/bindcheck.js
@@ -0,0 +1,57 @@
+var dict;
+var app = {
+
+    // Application Constructor
+    initialize: function() {
+        document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
+    },
+    onDeviceReady: function() {
+        var phone = window.localStorage.getItem("phoneX");
+        if(!isEmpty(phone)){
+            $("#phone").text(phone)
+        }else{
+            phone =  window.localStorage.getItem("phone");
+            $("#phone").text(phone)
+        }
+    },
+    doNext: function() {
+        var code =  $("#code").val();
+        if(isEmpty(code)){
+            return;
+        }
+        var personid = window.localStorage.getItem("personid");
+        $.showLoading("正在处理");
+        var param={
+            "personid":personid,
+            "code":code,
+        }
+        V1Checkcode(param,function(ok,ret){
+            if(ok){
+                $.hideLoading();
+                console.log(ret)
+                if(ret.code==200){
+                    window.localStorage.setItem("paypwdtype", "new");
+                    window.localStorage.setItem("userid", personid);
+                    var signed =  window.localStorage.getItem("signed");
+                    var paypwdset =  window.localStorage.getItem("paypwdset");
+                    console.log(paypwdset)
+                    if (!paypwdset||'false'==paypwdset) {
+                        window.location = "paypwdset.html";
+                    } else {
+                        if (!isEmpty(signed) && signed == 'yes') {
+                            window.location = 'main.html'
+                        } else {
+                            window.location = 'signxy.html'
+                        }
+                    }
+                }else{
+                     $.alert(ret.msg, "错误");
+                } 
+            }else{
+                $.hideLoading();
+                $.alert("请求失败了"+ret.status+"，请稍后再试", "错误");
+            }
+        })
+    }
+};
+app.initialize();
\ No newline at end of file
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/card.js b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/card.js
index 0c0a91e..8dc9675 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/card.js
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/card.js
@@ -4,17 +4,17 @@
     initialize: function() {
         document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
     },
-  
+
     onDeviceReady: function() {
         var uid = window.localStorage.getItem("uid");
-        
+
     },
     doNext: function() {
-        var pwd =  $("#pwd").val();
-        if(isEmpty(pwd)){
+        var pwd = $("#pwd").val();
+        if (isEmpty(pwd)) {
             return;
         }
-        if(pwd.length!=6){
+        if (pwd.length != 6) {
             $.alert("支付密码为6位数字", "提示");
             return;
         }
@@ -26,24 +26,26 @@
         }, function(ret) {
             if (ret.buttonIndex == 2) {
                 $.showLoading("正在处理");
-                var param={
-                    "paypwd":pwd
+                var param = {
+                    "paypwd": pwd
                 }
-                V1CardLost(param,function(ok,ret){
-                    if(ok){
+                V1CardLost(param, function(ok, ret) {
+                    if (ok) {
                         $.hideLoading();
-                        if(ret.code==200){
-                             $.alert("卡片挂失成功", "提示");
-                        }else{
+                        if (ret.code == 200) {
+                            $.alert("卡片挂失成功", "提示", function() {
+                                window.location = "main.html"
+                            });
+                        } else {
                             $.alert(ret.msg, "错误");
-                        } 
-                    }else{
+                        }
+                    } else {
                         $.hideLoading();
-                        $.alert("请求失败了"+ret.status+"，请稍后再试", "错误");
+                        $.alert("请求失败了" + ret.status + "，请稍后再试", "错误");
                     }
                 })
             }
         })
     }
 };
-app.initialize();
+app.initialize();
\ No newline at end of file
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/index.js b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/index.js
index ba4ea86..112a927 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/index.js
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/index.js
@@ -41,9 +41,10 @@
                         if(ret.now-t>1000*60*10){
                              window.location = "login.html";
                         }else{
-                             
                              window.location = "main.html";
                         }
+                    }else{
+                        window.location = "login.html";
                     }
                 } else {
                     //alert('无法请求到服务器，请检查网络并稍后再试');
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/main.js b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/main.js
index 87d6f53..3b01a2a 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/main.js
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/main.js
@@ -2,6 +2,7 @@
 
     // Application Constructor
     initialize: function() {
+        this.initTab();
         document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
     },
 
@@ -42,19 +43,47 @@
         });
         $('#secBtn').click(function() {
             app.checkBefore(function() {
-                window.location = "security.html";
+                app.checkOther(function() {
+                    window.location = "security.html";
+                })
             })
         });
         $('#usersec').click(function() {
             app.checkBefore(function() {
-                window.location = "security.html";
+                app.checkOther(function() {
+                    window.location = "security.html";
+                })
             })
         });
         this.initData();
     },
+    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();
+            } else if (index == 2) {
+                $("#main1").hide();
+                $("#main2").show();
+            }
+        }
+    },
     initData: function() {
         this.loadBill()
-
     },
     loadBill: function() {
         $("#loaddata").show()
@@ -122,7 +151,7 @@
         $("#loaddata").hide()
         $("#nodata").hide();
         $("#billcontent").show();
-        
+
     },
     initView: function() {
         var userid = window.localStorage.getItem("userid");
@@ -210,18 +239,18 @@
             }
         }
     },
-    toSign:function(){
+    toSign: function() {
         window.location = 'signxycheck.html'
     },
     toBillDetail: function(refno) {
         window.localStorage.setItem("currentrefno", refno);
         window.location = 'billdetail.html';
     },
-    toCard:function(){
+    toCard: function() {
         var userid = window.localStorage.getItem("userid");
         if (isEmpty(userid)) {
             window.location = 'bindcard.html'
-        }else{
+        } else {
             window.location = 'cardinfor.html'
         }
     }
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/server.js b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/server.js
index 3194de9..94f7c65 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/server.js
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/server.js
@@ -6,6 +6,9 @@
 if (dev) {
     SERVER = "http://172.28.43.3:8099/payapi/mobileapi";
 }
+function V1Idtypes(callback) {
+    ajaxPost("/v1/idtypes", {}, callback)
+}
 function V1Cardinfor(callback) {
     ajaxPost("/v1/cardinfor", {}, callback)
 }
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/signxycheck.js b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/signxycheck.js
index f97f3d4..4e52298 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/signxycheck.js
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/js/signxycheck.js
@@ -10,17 +10,23 @@
         $.showLoading("加载中");
         V1Bxy(function(ok, ret, err) {
             if (ok) {
-                $.hideLoading(); 
-                if(ret.code==200){
+                $.hideLoading();
+                if (ret.code == 200) {
                     $("#content").html(ret.page);
-                    if(isEmpty(ret.signed)||ret.signed!='yes'){
-                        $("#btn").show();   
-                        $("#content").css("bottom","135px");
-                    }else{
-                        $("#content").css("bottom","10px");
+                    if (isEmpty(ret.signed) || ret.signed != 'yes') {
+                        $("#btn").show();
+                        $("#content").css("bottom", "135px");
+                    } else {
+                        $("#content").css("bottom", "10px");
                     }
-                }else{
-                    $.alert(ret.msg, "错误");
+                } else {
+                    if (ret.code == -1) {
+                        $.alert(ret.msg, "提示", function() {
+                            window.location = 'bindcard.html'
+                        });
+                    } else {
+                        $.alert(ret.msg, "错误");
+                    }
                 }
             } else {
                 $.hideLoading();
@@ -28,28 +34,28 @@
             }
         })
     },
-    agreeXY:function(){
+    agreeXY: function() {
         var agree = $("input[type=checkbox]:checked").val();
-        if(isEmpty(agree)){
+        if (isEmpty(agree)) {
             $.alert("请同意签约代扣协议", "提示");
             return;
         }
         $.showLoading("正在请求");
-        var param={
-            "agree":agree
+        var param = {
+            "agree": agree
         }
-        V1Signbxy(param,function(ok, ret, err) {
+        V1Signbxy(param, function(ok, ret, err) {
             if (ok) {
-                $.hideLoading(); 
-                if(ret.code==200){
-                    window.localStorage.setItem("signed",ret.signed); 
-                    window.location="main.html";
-                }else{
+                $.hideLoading();
+                if (ret.code == 200) {
+                    window.localStorage.setItem("signed", ret.signed);
+                    window.location = "main.html";
+                } else {
                     $.alert(ret.msg, "错误");
                 }
             } else {
                 $.hideLoading();
-                $.alert("请求失败了:" + ret.status+"请稍后再试", "错误");
+                $.alert("请求失败了:" + ret.status + "请稍后再试", "错误");
             }
         })
     }
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/main.html b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/main.html
index 57c416c..b6a2d8c 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/main.html
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/main.html
@@ -258,18 +258,6 @@
 <script type="text/javascript" src="js/server.js"></script>
 <script type="text/javascript" src="js/main.js"></script>
 <script type="text/javascript">
-var tab = new auiTab({
-    element: document.getElementById("footer"),
-}, function(ret) {
-    if (ret.index == 1) {
-        $("#main1").show();
-        $("#main2").hide();
-    } else if (ret.index == 2) {
-        $("#main1").hide();
-        $("#main2").show();
-    }
-});
-$("#maincontent").css("top", $("#maintop").height())
-</script>
 
+</script>
 </html>
\ No newline at end of file
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/register.html b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/register.html
index 34e5998..640b3ee 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/register.html
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/register.html
@@ -15,7 +15,7 @@
 </head>
 <body>
     <header class="aui-bar aui-bar-nav" style="padding-top:25px;">
-        <a class="aui-pull-left" href="login.html">
+        <a class="aui-pull-left" href="javascript:window.history.back()">
             <span class="aui-iconfont aui-icon-left"></span>
         </a>
         <div class="aui-title">注册</div>
diff --git a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/security.html b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/security.html
index d9811ec..6994b22 100644
--- a/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/security.html
+++ b/platforms/ios/dlapp.xcarchive/Products/Applications/dlapp.app/www/security.html
@@ -15,7 +15,7 @@
 </head>
 <body>
     <header class="aui-bar aui-bar-nav" style="padding-top:25px;">
-        <a class="aui-pull-left" href="main.html">
+        <a class="aui-pull-left" href="javascript:window.history.go(-1)">
             <span class="aui-iconfont aui-icon-left"></span>
         </a>
         <div class="aui-title">账户安全</div>
diff --git a/platforms/ios/dlapp.xcodeproj/project.pbxproj b/platforms/ios/dlapp.xcodeproj/project.pbxproj
index 70728ef..f9c0c1b 100755
--- a/platforms/ios/dlapp.xcodeproj/project.pbxproj
+++ b/platforms/ios/dlapp.xcodeproj/project.pbxproj
@@ -5,6 +5,7 @@
 	};
 	objectVersion = 46;
 	objects = {
+
 /* Begin PBXBuildFile section */
 		0207DA581B56EA530066E2B4 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 0207DA571B56EA530066E2B4 /* Images.xcassets */; };
 		0FBFC45D12B44FF79785B959 /* UIImage+CropScaleOrientation.m in Sources */ = {isa = PBXBuildFile; fileRef = 281DF600F6B747808087E4FC /* UIImage+CropScaleOrientation.m */; };
@@ -15,11 +16,11 @@
 		302D95F114D2391D003F00A1 /* MainViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 302D95EF14D2391D003F00A1 /* MainViewController.m */; };
 		302D95F214D2391D003F00A1 /* MainViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 302D95F014D2391D003F00A1 /* MainViewController.xib */; };
 		3772C27945674D8D9D6BA455 /* AFURLRequestSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 4BF1AE7251084FD2876E0BF5 /* AFURLRequestSerialization.m */; };
+		4F83621E48F143429B20FB3A /* CDVThemeableBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = 28B91F31B6FD410AAF87BBDC /* CDVThemeableBrowser.m */; };
 		5E2BDB8CFE4E41F39241956C /* CordovaHttpPlugin.m in Sources */ = {isa = PBXBuildFile; fileRef = 07B9D06BD3024E0FBFF74967 /* CordovaHttpPlugin.m */; };
 		5F67F2BDBB534EF4A4F1F319 /* BinaryResponseSerializer.m in Sources */ = {isa = PBXBuildFile; fileRef = E9F753C8AE424EAE851FA1FD /* BinaryResponseSerializer.m */; };
 		5F8969599D7F41909F597D14 /* AFNetworkReachabilityManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 6FEED8E986814AC1AC60FC28 /* AFNetworkReachabilityManager.m */; };
 		6561A2871EB1420892CDE701 /* AFHTTPSessionManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 04B5E1A8BB504B8FB8CE9627 /* AFHTTPSessionManager.m */; };
-		6AFF5BF91D6E424B00AB3073 /* CDVLaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 6AFF5BF81D6E424B00AB3073 /* CDVLaunchScreen.storyboard */; };
 		6F6B3ADF72094BF58EF5C4AC /* CDVJpegHeaderWriter.m in Sources */ = {isa = PBXBuildFile; fileRef = 1836D178C8A74923B944A79E /* CDVJpegHeaderWriter.m */; };
 		6FB343627AC8409CB2AA79B7 /* CDVInAppBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = 607F51FCFC7C4062A93BD011 /* CDVInAppBrowser.m */; };
 		74A56CC7F6724870ABD136F2 /* AVFoundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 11A34CB026314A2AA98A0044 /* AVFoundation.framework */; };
@@ -44,7 +45,6 @@
 		F46AE1B50D8B4A81B05D4100 /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A673D8D8920E4086A9152FC4 /* Security.framework */; };
 		F939AD8D22BB769B006B371B /* libsqlite3.0.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = F939AD8C22BB769B006B371B /* libsqlite3.0.tbd */; };
 		FDE92C386167415E8040F8AB /* AFURLResponseSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = FDEE8379D7A34C55A616F700 /* AFURLResponseSerialization.m */; };
-		4F83621E48F143429B20FB3A /* CDVThemeableBrowser.m in Sources */ = {isa = PBXBuildFile; fileRef = 28B91F31B6FD410AAF87BBDC /* CDVThemeableBrowser.m */; };
 /* End PBXBuildFile section */
 
 /* Begin PBXContainerItemProxy section */
@@ -92,6 +92,7 @@
 		2625E3AABA8145E6901F06D3 /* SystemConfiguration.framework */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = wrapper.framework; name = SystemConfiguration.framework; path = System/Library/Frameworks/SystemConfiguration.framework; sourceTree = SDKROOT; };
 		265BE52D975B49ACA2F7B3FE /* CDVDevice.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = CDVDevice.h; path = "cordova-plugin-device/CDVDevice.h"; sourceTree = "<group>"; };
 		281DF600F6B747808087E4FC /* UIImage+CropScaleOrientation.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = "UIImage+CropScaleOrientation.m"; path = "cordova-plugin-camera/UIImage+CropScaleOrientation.m"; sourceTree = "<group>"; };
+		28B91F31B6FD410AAF87BBDC /* CDVThemeableBrowser.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = CDVThemeableBrowser.m; path = "cordova-plugin-themeablebrowser/CDVThemeableBrowser.m"; sourceTree = "<group>"; };
 		29B97316FDCFA39411CA2CEA /* main.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; };
 		2F977C7D2E4448098AA27AE8 /* CDVAssetLibraryFilesystem.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = CDVAssetLibraryFilesystem.h; path = "cordova-plugin-file/CDVAssetLibraryFilesystem.h"; sourceTree = "<group>"; };
 		301BF52D109A57CC0062928A /* CordovaLib/CordovaLib.xcodeproj */ = {isa = PBXFileReference; lastKnownFileType = "wrapper.pb-project"; path = CordovaLib/CordovaLib.xcodeproj; sourceTree = "<group>"; };
@@ -114,7 +115,6 @@
 		61106E22F1D348DDBDC4DC0B /* DisableStatusbar.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = DisableStatusbar.m; path = "cordova-plugin-disable-ios11-statusbar/DisableStatusbar.m"; sourceTree = "<group>"; };
 		62C24B1E8F294AC587C6D051 /* UIImage+CropScaleOrientation.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "UIImage+CropScaleOrientation.h"; path = "cordova-plugin-camera/UIImage+CropScaleOrientation.h"; sourceTree = "<group>"; };
 		683645F69456461BB8712924 /* AFNetworkReachabilityManager.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = AFNetworkReachabilityManager.h; path = "cordova-plugin-advanced-http/AFNetworkReachabilityManager.h"; sourceTree = "<group>"; };
-		6AFF5BF81D6E424B00AB3073 /* CDVLaunchScreen.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = CDVLaunchScreen.storyboard; path = dlapp/CDVLaunchScreen.storyboard; sourceTree = SOURCE_ROOT; };
 		6DC53FCFEEFD4EC89C2073E0 /* TextRequestSerializer.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = TextRequestSerializer.h; path = "cordova-plugin-advanced-http/TextRequestSerializer.h"; sourceTree = "<group>"; };
 		6FEED8E986814AC1AC60FC28 /* AFNetworkReachabilityManager.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = AFNetworkReachabilityManager.m; path = "cordova-plugin-advanced-http/AFNetworkReachabilityManager.m"; sourceTree = "<group>"; };
 		7601E9450D7240078C98ED9D /* CordovaHttpPlugin.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = CordovaHttpPlugin.h; path = "cordova-plugin-advanced-http/CordovaHttpPlugin.h"; sourceTree = "<group>"; };
@@ -142,13 +142,12 @@
 		EB87FDF31871DA8E0020F90C /* www */ = {isa = PBXFileReference; lastKnownFileType = folder; name = www; path = ../../www; sourceTree = "<group>"; };
 		EB87FDF41871DAF40020F90C /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = ../../config.xml; sourceTree = "<group>"; };
 		ED33DF2A687741AEAF9F8254 /* Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Bridging-Header.h"; sourceTree = "<group>"; };
+		EF1A4FA720C24397A32AF09C /* CDVThemeableBrowser.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = CDVThemeableBrowser.h; path = "cordova-plugin-themeablebrowser/CDVThemeableBrowser.h"; sourceTree = "<group>"; };
 		F3A85B8119074F699E1A15CD /* LocalAuthentication.framework */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 9; includeInIndex = 0; lastKnownFileType = wrapper.framework; name = LocalAuthentication.framework; path = System/Library/Frameworks/LocalAuthentication.framework; sourceTree = SDKROOT; };
 		F840E1F0165FE0F500CFE078 /* config.xml */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = config.xml; path = dlapp/config.xml; sourceTree = "<group>"; };
 		F939AD8C22BB769B006B371B /* libsqlite3.0.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.0.tbd; path = usr/lib/libsqlite3.0.tbd; sourceTree = SDKROOT; };
 		FCC7E279D80D4FB9BCF2530A /* Bridging-Header.h */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.h; name = "Bridging-Header.h"; path = "cordova-plugin-fingerprint-aio/Bridging-Header.h"; sourceTree = "<group>"; };
 		FDEE8379D7A34C55A616F700 /* AFURLResponseSerialization.m */ = {isa = PBXFileReference; explicitFileType = undefined; fileEncoding = 4; includeInIndex = 0; lastKnownFileType = sourcecode.c.objc; name = AFURLResponseSerialization.m; path = "cordova-plugin-advanced-http/AFURLResponseSerialization.m"; sourceTree = "<group>"; };
-		28B91F31B6FD410AAF87BBDC /* CDVThemeableBrowser.m */ = {isa = PBXFileReference; name = "CDVThemeableBrowser.m"; path = "cordova-plugin-themeablebrowser/CDVThemeableBrowser.m"; sourceTree = "<group>"; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; explicitFileType = undefined; includeInIndex = 0; };
-		EF1A4FA720C24397A32AF09C /* CDVThemeableBrowser.h */ = {isa = PBXFileReference; name = "CDVThemeableBrowser.h"; path = "cordova-plugin-themeablebrowser/CDVThemeableBrowser.h"; sourceTree = "<group>"; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; explicitFileType = undefined; includeInIndex = 0; };
 /* End PBXFileReference section */
 
 /* Begin PBXFrameworksBuildPhase section */
@@ -225,7 +224,6 @@
 				0207DA571B56EA530066E2B4 /* Images.xcassets */,
 				3047A50E1AB8057F00498E2A /* config */,
 				8D1107310486CEB800E47090 /* dlapp-Info.plist */,
-				6AFF5BF81D6E424B00AB3073 /* CDVLaunchScreen.storyboard */,
 			);
 			name = Resources;
 			path = dlapp/Resources;
@@ -414,7 +412,6 @@
 			files = (
 				302D95F214D2391D003F00A1 /* MainViewController.xib in Resources */,
 				0207DA581B56EA530066E2B4 /* Images.xcassets in Resources */,
-				6AFF5BF91D6E424B00AB3073 /* CDVLaunchScreen.storyboard in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -547,6 +544,7 @@
 			baseConfigurationReference = 3047A5111AB8059700498E2A /* build.xcconfig */;
 			buildSettings = {
 				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
 				CLANG_ENABLE_MODULES = YES;
 				CLANG_ENABLE_OBJC_ARC = YES;
 				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
@@ -585,7 +583,6 @@
 				SWIFT_OBJC_BRIDGING_HEADER = "$(PROJECT_DIR)/$(PROJECT_NAME)/Bridging-Header.h";
 				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
 				SWIFT_VERSION = 4.0;
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
 			};
 			name = Debug;
 		};
@@ -594,6 +591,7 @@
 			baseConfigurationReference = 3047A5111AB8059700498E2A /* build.xcconfig */;
 			buildSettings = {
 				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
+				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
 				CLANG_ENABLE_MODULES = YES;
 				CLANG_ENABLE_OBJC_ARC = YES;
 				CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
@@ -629,7 +627,6 @@
 				SKIP_INSTALL = NO;
 				SWIFT_OBJC_BRIDGING_HEADER = "$(PROJECT_DIR)/$(PROJECT_NAME)/Bridging-Header.h";
 				SWIFT_VERSION = 4.0;
-				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
 			};
 			name = Release;
 		};
diff --git a/platforms/ios/dlapp/CDVLaunchScreen.storyboard b/platforms/ios/dlapp/CDVLaunchScreen.storyboard
deleted file mode 100644
index 9f21416..0000000
--- a/platforms/ios/dlapp/CDVLaunchScreen.storyboard
+++ /dev/null
@@ -1,45 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14490.70" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM">
-    <device id="retina6_1" orientation="portrait">
-        <adaptation id="fullscreen"/>
-    </device>
-    <dependencies>
-        <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14490.49"/>
-        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
-    </dependencies>
-    <scenes>
-        <!--View Controller-->
-        <scene sceneID="EHf-IW-A2E">
-            <objects>
-                <viewController id="01J-lp-oVM" sceneMemberID="viewController">
-                    <layoutGuides>
-                        <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/>
-                        <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/>
-                    </layoutGuides>
-                    <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3">
-                        <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
-                        <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
-                        <subviews>
-                            <imageView userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="LaunchStoryboard" translatesAutoresizingMaskIntoConstraints="NO" id="2ns-9I-Qjs">
-                                <rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
-                            </imageView>
-                        </subviews>
-                        <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                        <constraints>
-                            <constraint firstAttribute="trailing" secondItem="2ns-9I-Qjs" secondAttribute="trailing" id="FZL-3Z-NFz"/>
-                            <constraint firstItem="2ns-9I-Qjs" firstAttribute="bottom" secondItem="Ze5-6b-2t3" secondAttribute="bottom" id="L9l-pw-wXj"/>
-                            <constraint firstItem="2ns-9I-Qjs" firstAttribute="top" secondItem="Ze5-6b-2t3" secondAttribute="top" id="oGN-hc-Uzj"/>
-                            <constraint firstItem="2ns-9I-Qjs" firstAttribute="leading" secondItem="Ze5-6b-2t3" secondAttribute="leading" id="rS9-Wd-zY4"/>
-                        </constraints>
-                    </view>
-                </viewController>
-                <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/>
-            </objects>
-            <point key="canvasLocation" x="53" y="375"/>
-        </scene>
-    </scenes>
-    <resources>
-        <image name="LaunchStoryboard" width="1366" height="1366"/>
-    </resources>
-</document>
diff --git a/platforms/ios/dlapp/config.xml b/platforms/ios/dlapp/config.xml
index 4096c07..ed6c95a 100755
--- a/platforms/ios/dlapp/config.xml
+++ b/platforms/ios/dlapp/config.xml
@@ -55,7 +55,7 @@
     <feature name="ThemeableBrowser">
         <param name="ios-package" value="CDVThemeableBrowser" />
     </feature>
-    <name short="大理APP">dlapp</name>
+    <name short="大理市民卡">dlapp</name>
     <description>
         A sample Apache Cordova application that responds to the deviceready event.
     </description>
@@ -97,6 +97,7 @@
     <preference name="CameraUsesGeolocation" value="false" />
     <preference name="AutoHideSplashScreen" value="true" />
     <preference name="SplashScreenDelay" value="0" />
+    <preference name="SplashShowOnlyFirstTime" value="true" />
     <preference name="ErrorUrl" value="error.html" />
     <preference name="Orientation" value="portrait" />
     <preference name="UseSwiftLanguageVersion" value="4.0" />
diff --git a/platforms/ios/dlapp/dlapp-Info.plist b/platforms/ios/dlapp/dlapp-Info.plist
index 8035b4b..1e0b815 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>大理APP</string>
+	<string>大理市民卡</string>
 	<key>CFBundleExecutable</key>
 	<string>$(EXECUTABLE_NAME)</string>
 	<key>CFBundleIdentifier</key>
diff --git a/release-key.keystore b/release-key.keystore
new file mode 100644
index 0000000..f6af059
--- /dev/null
+++ b/release-key.keystore
Binary files differ
diff --git a/www/bill.html b/www/bill.html
index e70285f..e2b99b1 100644
--- a/www/bill.html
+++ b/www/bill.html
@@ -16,7 +16,7 @@
 
 <body>
     <header class="aui-bar aui-bar-nav" style="padding-top:25px;">
-        <a class="aui-pull-left" href="javascript:window.history.back()">
+        <a class="aui-pull-left" href="javascript:window.history.go(-1)">
             <span class="aui-iconfont aui-icon-left"></span>
         </a>
         <div class="aui-title">账单</div>
diff --git a/www/billdetail.html b/www/billdetail.html
index 8bbde06..e419a98 100644
--- a/www/billdetail.html
+++ b/www/billdetail.html
@@ -16,7 +16,7 @@
 
 <body>
     <header class="aui-bar aui-bar-nav" style="padding-top:25px;">
-        <a class="aui-pull-left" href="javascript:window.history.back()">
+        <a class="aui-pull-left" href="javascript:window.history.go(-1)">
             <span class="aui-iconfont aui-icon-left"></span>
         </a>
         <div class="aui-title">账单详情</div>
diff --git a/www/bindcard.html b/www/bindcard.html
index 3ec9d26..8d2ee2f 100644
--- a/www/bindcard.html
+++ b/www/bindcard.html
@@ -30,34 +30,24 @@
                 </div>
             </div>
             <div class="weui-cell" 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="text" id='idtype' placeholder="请选择证件类型" style="font-size: 14px;" />
+                </div>
+            </div>
+            <div class="weui-cell" 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="text" id="idno" style="font-size: 14px;" placeholder="请输入您的证件号" >
+                </div>
+            </div>
+            <div class="weui-cell" 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="text" id="cardnum" style="font-size: 14px;" placeholder="市民卡对应的银行卡号">
                 </div>
             </div>
         </div>
-
-        <div class="weui-cells__title">短信验证市民卡预留的手机号</div>
-        <div class="weui-cells weui-cells_form">
-            <div class="weui-cell" 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="phone" style="font-size: 14px;" placeholder="请输入市民卡预留的手机号" disabled="disabled" >
-                </div>
-            </div>
-            <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="number" id="code" style="font-size: 14px;" placeholder="请输入验证码" maxlength="6">
-                </div>
-                <div class="weui-cell__ft">
-                    <button class="weui-vcode-btn" onclick="app.getCode()" id="codebtn" style="width: 100px;height: 1rem;font-size: 14px;">获取验证码</button>
-                </div>
-            </div>
-        </div>
-
         <section class="aui-content-padded" style="margin-top: 30px;">
             <div class="aui-btn aui-btn-block aui-btn-info" tapmode onclick="app.doNext()">下一步</div>
         </section>
diff --git a/www/bindcheck.html b/www/bindcheck.html
new file mode 100644
index 0000000..51e13e9
--- /dev/null
+++ b/www/bindcheck.html
@@ -0,0 +1,45 @@
+<!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="javascript:window.history.back()">
+            <span class="aui-iconfont aui-icon-left"></span>
+        </a>
+        <div class="aui-title">手机验证码</div>
+    </header>
+    <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>
+        <section class="aui-content-padded" style="margin-top: 30px;">
+            <div class="aui-btn aui-btn-block aui-btn-info" tapmode onclick="app.doNext()">验证</div>
+        </section>
+    </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/bindcheck.js"></script>
\ No newline at end of file
diff --git a/www/index.html b/www/index.html
index 4afb0bf..576b5e9 100644
--- a/www/index.html
+++ b/www/index.html
@@ -26,4 +26,5 @@
 <script type="text/javascript" src="js/lib/jquery-weui.min.js"></script>
 <script type="text/javascript" src="js/server.js"></script>
 <script type="text/javascript">
+     window.localStorage.setItem("tabindex",1); 
 </script>
\ No newline at end of file
diff --git a/www/js/bill.js b/www/js/bill.js
index 4b0bca5..c0af3fd 100644
--- a/www/js/bill.js
+++ b/www/js/bill.js
@@ -9,6 +9,9 @@
         curpage = 1;
         this.loadBill(curpage)
     },
+    toBack: function (){
+        window.history.back();
+    },
     loadBill:function(pageno){
         $.showLoading("加载中");
         var param={
diff --git a/www/js/billdetail.js b/www/js/billdetail.js
index 057b106..3615234 100644
--- a/www/js/billdetail.js
+++ b/www/js/billdetail.js
@@ -8,6 +8,9 @@
     onDeviceReady: function() {
         this.loadBill()
     },
+    toBack: function (){
+        window.history.back();
+    },
     loadBill: function() {
         var refno = window.localStorage.getItem("currentrefno");
         if (isEmpty(refno)) {
diff --git a/www/js/bindcard.js b/www/js/bindcard.js
index 53ac0cf..e9cb86c 100644
--- a/www/js/bindcard.js
+++ b/www/js/bindcard.js
@@ -1,25 +1,58 @@
+var dict;
 var app = {
 
     // Application Constructor
     initialize: function() {
         document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
     },
-  
+
     onDeviceReady: function() {
         var uid = window.localStorage.getItem("uid");
-        var phone =  window.localStorage.getItem("phoneX");
-        if(!isEmpty(phone)){
-            $("#phone").val(phone)
-        }else{
-            phone =  window.localStorage.getItem("phone");
-            $("#phone").val(phone)
-        }
+        this.loadData();
+    },
+    loadData: function() {
+        $.showLoading("正在加载");
+        V1Idtypes(function(ok, ret) {
+            if (ok) {
+                $.hideLoading();
+                if (ret.code == 200) {
+                    dict = ret.idtypes;
+                    let keys = Object.keys(dict);
+                    let vals = Object.values(dict);
+                    console.log(keys, vals)
+                    var items=[];
+                    for(var key of keys){
+                        var bean = {
+                            "title":dict[key],
+                            "value":key
+                        }
+                        items.push(bean)
+                    }
+                    $("#idtype").val(items[0].title)
+                    $("#idtype").attr("data-values",items[0].value)
+                    $("#idtype").select({
+                      title: "请选择证件类型",
+                      items: items
+                    });
+                } else {
+                    $.alert(ret.msg, "错误");
+                }
+            } else {
+                $.hideLoading();
+                $.alert("请求失败了 " + ret.status + "，请稍后再试", "错误");
+            }
+        })
     },
     doNext: function() {
-        var code =  $("#code").val();
-        var cardnum =  $("#cardnum").val();
-        var name =  $("#name").val();
-        if(isEmpty(name)||isEmpty(code)||isEmpty(cardnum)){
+        var cardnum = $("#cardnum").val();
+        var name = $("#name").val();
+        var idno = $("#idno").val();
+        if (isEmpty(name) || isEmpty(cardnum)||isEmpty(idno)) {
+            return;
+        }
+        var idtype = $("#idtype").attr("data-values")
+        if(isEmpty(idtype)){
+            $.alert("请选择证件类型", "错误");
             return;
         }
         /*var agree = $("input[type=checkbox]:checked").val();
@@ -28,62 +61,37 @@
             return;
         }*/
         $.showLoading("正在处理");
-        var param={
-            "card":cardnum,
-            "code":code,
-            "name":name
+        var param = {
+            "cardno": cardnum,
+            "idtype": idtype,
+            "name": name,
+            "idno": idno
         }
-        V1Bindcard(param,function(ok,ret){
-            if(ok){
+        V1Bindcard(param, function(ok, ret) {
+            if (ok) {
                 $.hideLoading();
                 console.log(ret)
-                if(ret.code==200){
-                     window.localStorage.setItem("paypwdtype","new"); 
-                     window.localStorage.setItem("userid",ret.userid);
-                     window.localStorage.setItem("signed",ret.signed); 
-                     window.localStorage.setItem("name",name); 
-                     window.localStorage.setItem("paypwdset",ret.paypwdset); 
-                     if(ret.paypwdset){
-                        if(!isEmpty(ret.signed)&&signed=='yes'){
-                            window.location='main.html'
-                        }else{
-                            window.location='signxy.html'
-                        }
-                     }else{
-                        window.location="paypwdset.html";
-                     }
-                }else{
-                    if(ret.code==-1){
-                        $.alert(ret.msg, "提示",function(){
-                            window.location="main.html"
+                if (ret.code == 200) {
+                    window.localStorage.setItem("phoneX",ret.phonex);
+                    window.localStorage.setItem("name", name);
+                    window.localStorage.setItem("personid", ret.personid);
+                    window.localStorage.setItem("signed", ret.signed);
+                    window.localStorage.setItem("paypwdset", ret.paypwdset);
+                    window.location = "bindcheck.html";
+                } else {
+                    if (ret.code == -1) {
+                        $.alert(ret.msg, "提示", function() {
+                            window.location = "main.html"
                         });
-                    }else{
-                       $.alert(ret.msg, "错误");
+                    } else {
+                        $.alert(ret.msg, "错误");
                     }
-                } 
-            }else{
+                }
+            } else {
                 $.hideLoading();
-                $.alert("请求失败了 "+ret.status+"，请稍后再试", "错误");
-            }
-        })
-    },
-    getCode :function(){
-        $.showLoading("请求中");
-        V1Code(function(ok,ret){
-            if(ok){
-                $.hideLoading();
-                if(ret.code==200){
-                    $("#codebtn").attr("disabled","disabled")
-                    $("#codebtn").addClass("vcodedisabled")
-                    btnTime('codebtn');
-                }else{
-                    $.alert(ret.msg, "错误");
-                } 
-            }else{
-                $.hideLoading();
-                $.alert("请求失败了"+ret.status+"，请稍后再试", "错误");
+                $.alert("请求失败了 " + ret.status + "，请稍后再试", "错误");
             }
         })
     }
 };
-app.initialize();
+app.initialize();
\ No newline at end of file
diff --git a/www/js/bindcheck.js b/www/js/bindcheck.js
new file mode 100644
index 0000000..a4214fc
--- /dev/null
+++ b/www/js/bindcheck.js
@@ -0,0 +1,57 @@
+var dict;
+var app = {
+
+    // Application Constructor
+    initialize: function() {
+        document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
+    },
+    onDeviceReady: function() {
+        var phone = window.localStorage.getItem("phoneX");
+        if(!isEmpty(phone)){
+            $("#phone").text(phone)
+        }else{
+            phone =  window.localStorage.getItem("phone");
+            $("#phone").text(phone)
+        }
+    },
+    doNext: function() {
+        var code =  $("#code").val();
+        if(isEmpty(code)){
+            return;
+        }
+        var personid = window.localStorage.getItem("personid");
+        $.showLoading("正在处理");
+        var param={
+            "personid":personid,
+            "code":code,
+        }
+        V1Checkcode(param,function(ok,ret){
+            if(ok){
+                $.hideLoading();
+                console.log(ret)
+                if(ret.code==200){
+                    window.localStorage.setItem("paypwdtype", "new");
+                    window.localStorage.setItem("userid", personid);
+                    var signed =  window.localStorage.getItem("signed");
+                    var paypwdset =  window.localStorage.getItem("paypwdset");
+                    console.log(paypwdset)
+                    if (!paypwdset||'false'==paypwdset) {
+                        window.location = "paypwdset.html";
+                    } else {
+                        if (!isEmpty(signed) && signed == 'yes') {
+                            window.location = 'main.html'
+                        } else {
+                            window.location = 'signxy.html'
+                        }
+                    }
+                }else{
+                     $.alert(ret.msg, "错误");
+                } 
+            }else{
+                $.hideLoading();
+                $.alert("请求失败了"+ret.status+"，请稍后再试", "错误");
+            }
+        })
+    }
+};
+app.initialize();
\ No newline at end of file
diff --git a/www/js/card.js b/www/js/card.js
index 0c0a91e..8dc9675 100644
--- a/www/js/card.js
+++ b/www/js/card.js
@@ -4,17 +4,17 @@
     initialize: function() {
         document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
     },
-  
+
     onDeviceReady: function() {
         var uid = window.localStorage.getItem("uid");
-        
+
     },
     doNext: function() {
-        var pwd =  $("#pwd").val();
-        if(isEmpty(pwd)){
+        var pwd = $("#pwd").val();
+        if (isEmpty(pwd)) {
             return;
         }
-        if(pwd.length!=6){
+        if (pwd.length != 6) {
             $.alert("支付密码为6位数字", "提示");
             return;
         }
@@ -26,24 +26,26 @@
         }, function(ret) {
             if (ret.buttonIndex == 2) {
                 $.showLoading("正在处理");
-                var param={
-                    "paypwd":pwd
+                var param = {
+                    "paypwd": pwd
                 }
-                V1CardLost(param,function(ok,ret){
-                    if(ok){
+                V1CardLost(param, function(ok, ret) {
+                    if (ok) {
                         $.hideLoading();
-                        if(ret.code==200){
-                             $.alert("卡片挂失成功", "提示");
-                        }else{
+                        if (ret.code == 200) {
+                            $.alert("卡片挂失成功", "提示", function() {
+                                window.location = "main.html"
+                            });
+                        } else {
                             $.alert(ret.msg, "错误");
-                        } 
-                    }else{
+                        }
+                    } else {
                         $.hideLoading();
-                        $.alert("请求失败了"+ret.status+"，请稍后再试", "错误");
+                        $.alert("请求失败了" + ret.status + "，请稍后再试", "错误");
                     }
                 })
             }
         })
     }
 };
-app.initialize();
+app.initialize();
\ No newline at end of file
diff --git a/www/js/index.js b/www/js/index.js
index ba4ea86..112a927 100644
--- a/www/js/index.js
+++ b/www/js/index.js
@@ -41,9 +41,10 @@
                         if(ret.now-t>1000*60*10){
                              window.location = "login.html";
                         }else{
-                             
                              window.location = "main.html";
                         }
+                    }else{
+                        window.location = "login.html";
                     }
                 } else {
                     //alert('无法请求到服务器，请检查网络并稍后再试');
diff --git a/www/js/main.js b/www/js/main.js
index 87d6f53..3b01a2a 100644
--- a/www/js/main.js
+++ b/www/js/main.js
@@ -2,6 +2,7 @@
 
     // Application Constructor
     initialize: function() {
+        this.initTab();
         document.addEventListener('deviceready', this.onDeviceReady.bind(this), false);
     },
 
@@ -42,19 +43,47 @@
         });
         $('#secBtn').click(function() {
             app.checkBefore(function() {
-                window.location = "security.html";
+                app.checkOther(function() {
+                    window.location = "security.html";
+                })
             })
         });
         $('#usersec').click(function() {
             app.checkBefore(function() {
-                window.location = "security.html";
+                app.checkOther(function() {
+                    window.location = "security.html";
+                })
             })
         });
         this.initData();
     },
+    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();
+            } else if (index == 2) {
+                $("#main1").hide();
+                $("#main2").show();
+            }
+        }
+    },
     initData: function() {
         this.loadBill()
-
     },
     loadBill: function() {
         $("#loaddata").show()
@@ -122,7 +151,7 @@
         $("#loaddata").hide()
         $("#nodata").hide();
         $("#billcontent").show();
-        
+
     },
     initView: function() {
         var userid = window.localStorage.getItem("userid");
@@ -210,18 +239,18 @@
             }
         }
     },
-    toSign:function(){
+    toSign: function() {
         window.location = 'signxycheck.html'
     },
     toBillDetail: function(refno) {
         window.localStorage.setItem("currentrefno", refno);
         window.location = 'billdetail.html';
     },
-    toCard:function(){
+    toCard: function() {
         var userid = window.localStorage.getItem("userid");
         if (isEmpty(userid)) {
             window.location = 'bindcard.html'
-        }else{
+        } else {
             window.location = 'cardinfor.html'
         }
     }
diff --git a/www/js/server.js b/www/js/server.js
index 3194de9..94f7c65 100644
--- a/www/js/server.js
+++ b/www/js/server.js
@@ -6,6 +6,9 @@
 if (dev) {
     SERVER = "http://172.28.43.3:8099/payapi/mobileapi";
 }
+function V1Idtypes(callback) {
+    ajaxPost("/v1/idtypes", {}, callback)
+}
 function V1Cardinfor(callback) {
     ajaxPost("/v1/cardinfor", {}, callback)
 }
diff --git a/www/js/signxycheck.js b/www/js/signxycheck.js
index f97f3d4..4e52298 100644
--- a/www/js/signxycheck.js
+++ b/www/js/signxycheck.js
@@ -10,17 +10,23 @@
         $.showLoading("加载中");
         V1Bxy(function(ok, ret, err) {
             if (ok) {
-                $.hideLoading(); 
-                if(ret.code==200){
+                $.hideLoading();
+                if (ret.code == 200) {
                     $("#content").html(ret.page);
-                    if(isEmpty(ret.signed)||ret.signed!='yes'){
-                        $("#btn").show();   
-                        $("#content").css("bottom","135px");
-                    }else{
-                        $("#content").css("bottom","10px");
+                    if (isEmpty(ret.signed) || ret.signed != 'yes') {
+                        $("#btn").show();
+                        $("#content").css("bottom", "135px");
+                    } else {
+                        $("#content").css("bottom", "10px");
                     }
-                }else{
-                    $.alert(ret.msg, "错误");
+                } else {
+                    if (ret.code == -1) {
+                        $.alert(ret.msg, "提示", function() {
+                            window.location = 'bindcard.html'
+                        });
+                    } else {
+                        $.alert(ret.msg, "错误");
+                    }
                 }
             } else {
                 $.hideLoading();
@@ -28,28 +34,28 @@
             }
         })
     },
-    agreeXY:function(){
+    agreeXY: function() {
         var agree = $("input[type=checkbox]:checked").val();
-        if(isEmpty(agree)){
+        if (isEmpty(agree)) {
             $.alert("请同意签约代扣协议", "提示");
             return;
         }
         $.showLoading("正在请求");
-        var param={
-            "agree":agree
+        var param = {
+            "agree": agree
         }
-        V1Signbxy(param,function(ok, ret, err) {
+        V1Signbxy(param, function(ok, ret, err) {
             if (ok) {
-                $.hideLoading(); 
-                if(ret.code==200){
-                    window.localStorage.setItem("signed",ret.signed); 
-                    window.location="main.html";
-                }else{
+                $.hideLoading();
+                if (ret.code == 200) {
+                    window.localStorage.setItem("signed", ret.signed);
+                    window.location = "main.html";
+                } else {
                     $.alert(ret.msg, "错误");
                 }
             } else {
                 $.hideLoading();
-                $.alert("请求失败了:" + ret.status+"请稍后再试", "错误");
+                $.alert("请求失败了:" + ret.status + "请稍后再试", "错误");
             }
         })
     }
diff --git a/www/main.html b/www/main.html
index 57c416c..b6a2d8c 100644
--- a/www/main.html
+++ b/www/main.html
@@ -258,18 +258,6 @@
 <script type="text/javascript" src="js/server.js"></script>
 <script type="text/javascript" src="js/main.js"></script>
 <script type="text/javascript">
-var tab = new auiTab({
-    element: document.getElementById("footer"),
-}, function(ret) {
-    if (ret.index == 1) {
-        $("#main1").show();
-        $("#main2").hide();
-    } else if (ret.index == 2) {
-        $("#main1").hide();
-        $("#main2").show();
-    }
-});
-$("#maincontent").css("top", $("#maintop").height())
-</script>
 
+</script>
 </html>
\ No newline at end of file
diff --git a/www/register.html b/www/register.html
index 34e5998..640b3ee 100644
--- a/www/register.html
+++ b/www/register.html
@@ -15,7 +15,7 @@
 </head>
 <body>
     <header class="aui-bar aui-bar-nav" style="padding-top:25px;">
-        <a class="aui-pull-left" href="login.html">
+        <a class="aui-pull-left" href="javascript:window.history.back()">
             <span class="aui-iconfont aui-icon-left"></span>
         </a>
         <div class="aui-title">注册</div>
diff --git a/www/security.html b/www/security.html
index d9811ec..6994b22 100644
--- a/www/security.html
+++ b/www/security.html
@@ -15,7 +15,7 @@
 </head>
 <body>
     <header class="aui-bar aui-bar-nav" style="padding-top:25px;">
-        <a class="aui-pull-left" href="main.html">
+        <a class="aui-pull-left" href="javascript:window.history.go(-1)">
             <span class="aui-iconfont aui-icon-left"></span>
         </a>
         <div class="aui-title">账户安全</div>
