添加设置密保、密保改密、版本提示 更新版本v2.2.0 版本号android 10 ios 11
diff --git a/App.vue b/App.vue
index fa9f0db..3ffa7df 100644
--- a/App.vue
+++ b/App.vue
@@ -1,11 +1,13 @@
 <script>
 	export default {
 		globalData: {
-			msg: {}
+			msg: {},
+			verno:'10',
+			vername:'2.2.0'
 		},
 		onLaunch() {
 			let that = this
-			
+
 			//获取平台信息
 			uni.getSystemInfo({
 				success(res) {
@@ -13,12 +15,14 @@
 				}
 			})
 			// #ifdef APP-PLUS
-			
+
 			//获取版本号
 			let v = plus.runtime.version
 			let c = plus.runtime.versionCode
 			let version = v + '(' + c + ')'
 			that.globalData.version = version
+			that.globalData.vername = v
+			that.globalData.verno = c
 
 			//获取设备uuid
 			plus.device.getInfo({
@@ -28,6 +32,9 @@
 				}
 			})
 
+
+
+
 			//锁定屏幕
 			plus.screen.lockOrientation("portrait-primary")
 
@@ -120,7 +127,7 @@
 			} else {
 				let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
 				let curRoute = ''
-				if(routes.length != 0){
+				if (routes.length != 0) {
 					curRoute = routes[routes.length - 1].route //获取当前页面路由
 				}
 				//console.log(routes)
@@ -128,22 +135,31 @@
 					if (res.token) {
 						uni.setStorageSync("token", res.token)
 					}
-					if(curRoute != 'pages/sub_tabbar/index'){
-						uni.switchTab({
-							url: "/pages/sub_tabbar/index"
-						})
+					if (curRoute != 'pages/sub_tabbar/index') {
+						let hands = uni.getStorageSync("hands")
+						if (hands) {
+							uni.setStorageSync("login", 2)
+							uni.reLaunch({
+								url: "/pages/sub_mine/lock/index"
+							})
+						} else {
+							uni.switchTab({
+								url: "/pages/sub_tabbar/index"
+							})
+						}
 					}
-					
+
 				}).catch(res => {
-					uni.setStorageSync('token','')
-					if(routes.length != 0 || curRoute != 'pages/sub_basic/login/index'){
+					uni.setStorageSync('token', '')
+					if (routes.length != 0 || curRoute != 'pages/sub_basic/login/index') {
 						uni.reLaunch({
 							url: "/pages/sub_basic/login/index"
 						})
 					}
-					
+
 				})
 			}
+
 			uni.onNetworkStatusChange(function(res) {
 				if (res.networkType == '4g') {
 					uni.showToast({
@@ -161,7 +177,8 @@
 				if (!res.isConnected || res.networkType == '2g' || res.networkType == 'none') {
 					let routes = getCurrentPages()
 					let curRoute = routes[routes.length - 1].route
-					if (curRoute == 'pages/sub_basic/login/index' || curRoute == 'pages/sub_basic/register/index' || curRoute == 'pages/sub_basic/forgetPwd/index') {
+					if (curRoute == 'pages/sub_basic/login/index' || curRoute == 'pages/sub_basic/register/index' || curRoute ==
+						'pages/sub_basic/forgetPwd/index') {
 
 					} else {
 						uni.navigateTo({
@@ -171,7 +188,9 @@
 				}
 			});
 		},
+		onShow() {
 
+		}
 	}
 </script>
 
diff --git a/manifest.json b/manifest.json
index 632e48e..1d51cc8 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,262 +1,265 @@
 {
-	"name": "大理市民卡",
-	"appid": "__UNI__6DDB720",
-	"description": "大理市民服务app",
-	"versionName": "2.1.0",
-	"versionCode": 7,
-	"transformPx": false,
-	"app-plus": {
-		// APP-VUE分包,可提APP升启动速度,2.7.12开始支持,兼容微信小程序分包方案,默认关闭
-		"compatible": {
-			"ignoreVersion": true //true为忽略版本检查框
-		},
-		"optimization": {
-			"subPackages": true
-		},
-		"safearea": {
-			"bottom": {
-				"offset": "none"
-			}
-		},
-		"splashscreen": {
-			"alwaysShowBeforeRender": true,
-			"waiting": true,
-			"autoclose": true,
-			"delay": 0
-		},
-		"usingComponents": true,
-		"nvueCompiler": "uni-app",
-		"compilerVersion": 3,
-		"modules": {
-			"FaceID": {},
-			"Fingerprint": {},
-			"Maps": {},
-			"Geolocation": {}
-		},
-		"distribute": {
-			"android": {
-				"permissions": [
-					"<uses-feature android:name=\"android.hardware.camera\"/>",
-					"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-					"<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
-					"<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
-					"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
-					"<uses-permission android:name=\"android.permission.CAMERA\"/>",
-					"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-					"<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
-					"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-					"<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
-					"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-					"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-					"<uses-permission android:name=\"android.permission.USE_FINGERPRINT\"/>",
-					"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-					"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-					"<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
-					"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
-				],
-				"permissionExternalStorage": {
-					"request": "none",
-					"prompt": "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"
-				},
-				"permissionPhoneState": {
-					"request": "none",
-					"prompt": "为保证您正常、安全地使用,需要获取设备识别码(部分手机提示为获取手机号码)使用权限,请允许。"
-				},
-				"abiFilters": ["armeabi-v7a", "arm64-v8a"]
-			},
-			"ios": {
-				"privacyDescription": {
-					"NSCameraUsageDescription": "使用扫一扫识别二维码需要访问相机权限",
-					"NSPhotoLibraryUsageDescription": "使用app特制功能需要访问相机权限"
-				}
-			},
-			"sdkConfigs": {
-				"ad": {},
-				"maps": {
-					"amap": {
-						"appkey_ios": "301567cad1afe899587917e803441d60",
-						"appkey_android": "6e97c7069def9d8f0f3aa3d421ce196b"
-					}
-				},
-				"geolocation": {
-					"amap": {
-						"__platform__": ["ios", "android"],
-						"appkey_ios": "301567cad1afe899587917e803441d60",
-						"appkey_android": "6e97c7069def9d8f0f3aa3d421ce196b"
-					}
-				}
-			},
-			"icons": {
-				"android": {
-					"hdpi": "unpackage/res/icons/72x72.png",
-					"xhdpi": "unpackage/res/icons/96x96.png",
-					"xxhdpi": "unpackage/res/icons/144x144.png",
-					"xxxhdpi": "unpackage/res/icons/192x192.png"
-				},
-				"ios": {
-					"appstore": "unpackage/res/icons/1024x1024.png",
-					"ipad": {
-						"app": "unpackage/res/icons/76x76.png",
-						"app@2x": "unpackage/res/icons/152x152.png",
-						"notification": "unpackage/res/icons/20x20.png",
-						"notification@2x": "unpackage/res/icons/40x40.png",
-						"proapp@2x": "unpackage/res/icons/167x167.png",
-						"settings": "unpackage/res/icons/29x29.png",
-						"settings@2x": "unpackage/res/icons/58x58.png",
-						"spotlight": "unpackage/res/icons/40x40.png",
-						"spotlight@2x": "unpackage/res/icons/80x80.png"
-					},
-					"iphone": {
-						"app@2x": "unpackage/res/icons/120x120.png",
-						"app@3x": "unpackage/res/icons/180x180.png",
-						"notification@2x": "unpackage/res/icons/40x40.png",
-						"notification@3x": "unpackage/res/icons/60x60.png",
-						"settings@2x": "unpackage/res/icons/58x58.png",
-						"settings@3x": "unpackage/res/icons/87x87.png",
-						"spotlight@2x": "unpackage/res/icons/80x80.png",
-						"spotlight@3x": "unpackage/res/icons/120x120.png"
-					}
-				}
-			},
-			"splashscreen": {
-				"androidStyle": "default"
-			}
-		},
-		"nativePlugins": {
-			"KJ-JPush": {
-				"ios_appkey": "d644d997f2cab0551ff704a3",
-				"android_channel": "huawei",
-				"android_appkey": "d644d997f2cab0551ff704a3",
-				"ios_channel": "appstore",
-				"__plugin_info__": {
-					"name": "【离线包、源码优惠出售】极光推送(ios、andorid)",
-					"description": "【不维护试用合适再购买3.33块】离线包源码优惠价66块,购买源码加QQ:543610866",
-					"platforms": "Android,iOS",
-					"url": "https://ext.dcloud.net.cn/plugin?id=1009",
-					"android_package_name": "com.dalicitycard.app",
-					"ios_bundle_id": "com.dalicitycard.app",
-					"isCloud": true,
-					"bought": 1,
-					"pid": "1009",
-					"parameters": {
-						"ios_appkey": {
-							"des": "发布ios时,必填,填写极光推送的APPKEY",
-							"key": "JPUSH_APPKEY",
-							"value": "${ios_appkey}"
-						},
-						"android_channel": {
-							"des": "发布android时,必填,填写发布渠道,如不知道,填写:huawei",
-							"key": "JPUSH_CHANNEL",
-							"value": "${android_channel}"
-						},
-						"android_appkey": {
-							"des": "发布android时,必填,填写极光推送的APPKEY",
-							"key": "JPUSH_APPKEY",
-							"value": "${android_appkey}"
-						},
-						"ios_channel": {
-							"des": "发布ios时,必填,填写发布渠道,如不知道,填写:appstore",
-							"key": "JPUSH_CHANNEL",
-							"value": "${ios_channel}"
-						}
-					}
-				}
-			},
-			"Mpaas-Scan": {
-				"AppId": "ONEX1D49B6A241152",
-				"WorkspaceId": "default",
-				"License": "zvI8Ix1QYGLcZWTu9pfuwRxhPIERACTAjd2rQ66ky3zCCWLCCZDiISir89uVn4y+OGn0jcPIX/mMsZ8NIZXjfsgvB/m5MzVeaycZ7WRC4cxzoXjMSeN+AYty28ssiJJMdP1kFtIAoy/80VPeOBhl+yozUFaaTtDWEyMqT6XujcLWVuTJp8WHBvvLj0KmoleFV+OAusd+9keF9aSSHGwSwM1IbU9M4JMZsKWmLaKBpC77Ag0MVUhhdnY6MZ5Mff/KDivd5oGu1hbzXBPfoUlEkNppe3gwbxRTUM6k0OndyczPgZdVL9gC1/+UGH7kwiBNjegibMdySzsQuujbtISwFA==",
-				"__plugin_info__": {
-					"name": "支付宝原生扫码插件",
-					"description": "支付宝原生扫码组件,包体积仅0.7MB,15分钟即可完成接入。同时,mPaaS提供「扫码分析」大盘",
-					"platforms": "Android,iOS",
-					"url": "https://ext.dcloud.net.cn/plugin?id=2636",
-					"android_package_name": "com.dalicitycard.app",
-					"ios_bundle_id": "com.dalicitycard.app",
-					"isCloud": true,
-					"bought": 1,
-					"pid": "2636",
-					"parameters": {
-						"AppId": {
-							"des": "Android平台的AppId,请填写Android的config文件中的appId对应的值",
-							"key": "mobilegw.appid",
-							"value": ""
-						},
-						"WorkspaceId": {
-							"des": "Android平台的WorkspaceId,请填写Android的config文件中的workspaceId对应的值",
-							"key": "workspaceId",
-							"value": ""
-						},
-						"License": {
-							"des": "Android平台的License,,请填写Android的config文件中的mpaasConfigLicense对应的值",
-							"key": "mpaasConfigLicense",
-							"value": ""
-						}
-					}
-				}
-			}
-		}
-	},
-	"quickapp": {},
-	"mp-weixin": {
-		"appid": "wxc458a08d7fb5b4d3",
-		"setting": {
-			"urlCheck": true,
-			"es6": false,
-			"minified": true,
-			"postcss": true
-		},
-		"optimization": {
-			"subPackages": true
-		},
-		"usingComponents": true,
-		"permission": {
-			"scope.userLocation": {
-				"desc": "你的位置信息将用于小程序位置接口的效果展示"
-			}
-		}
-	},
-	"mp-alipay": {
-		"usingComponents": true,
-		"component2": true
-	},
-	"mp-baidu": {
-		"usingComponents": true,
-		"appid": ""
-	},
-	"mp-toutiao": {
-		"usingComponents": true
-	},
-	"h5": {
-		"template": "template.h5.html",
-		"router": {
-			"mode": "hash",
-			"base": ""
-		},
-		"optimization": {
-			"treeShaking": {
-				"enable": true
-			}
-		},
-		"title": "uView UI",
-		"devServer": {
-			"proxy": {
-				"/api": {
-					"target": "http://yy.dlsmk.cn:8080/portal/mobileapi",
-					"changeOrigin": true,
-					"pathRewrite": {
-						"^/api": ""
-					}
-				}
-			}
-		}
-	},
-	"channel_list": [{
-		"id": "baidu",
-		"name": "百度应用市场"
-	}]
+    "name" : "大理市民卡",
+    "appid" : "__UNI__6DDB720",
+    "description" : "大理市民服务app",
+    "versionName" : "2.2.0",
+    "versionCode" : 11,
+    "transformPx" : false,
+    "app-plus" : {
+        // APP-VUE分包,可提APP升启动速度,2.7.12开始支持,兼容微信小程序分包方案,默认关闭
+        "compatible" : {
+            "ignoreVersion" : true //true为忽略版本检查框
+        },
+        "optimization" : {
+            "subPackages" : true
+        },
+        "safearea" : {
+            "bottom" : {
+                "offset" : "none"
+            }
+        },
+        "splashscreen" : {
+            "alwaysShowBeforeRender" : true,
+            "waiting" : true,
+            "autoclose" : true,
+            "delay" : 0
+        },
+        "usingComponents" : true,
+        "nvueCompiler" : "uni-app",
+        "compilerVersion" : 3,
+        "modules" : {
+            "FaceID" : {},
+            "Fingerprint" : {},
+            "Maps" : {},
+            "Geolocation" : {}
+        },
+        "distribute" : {
+            "android" : {
+                "permissions" : [
+                    "<uses-feature android:name=\"android.hardware.camera\"/>",
+                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
+                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
+                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+                    "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
+                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_CONTACTS\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.USE_FINGERPRINT\"/>",
+                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+                    "<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
+                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+                ],
+                "permissionExternalStorage" : {
+                    "request" : "none",
+                    "prompt" : "应用保存运行状态等信息,需要获取读写手机存储(系统提示为访问设备上的照片、媒体内容和文件)权限,请允许。"
+                },
+                "permissionPhoneState" : {
+                    "request" : "none",
+                    "prompt" : "为保证您正常、安全地使用,需要获取设备识别码(部分手机提示为获取手机号码)使用权限,请允许。"
+                },
+                "abiFilters" : [ "armeabi-v7a", "arm64-v8a" ]
+            },
+            "ios" : {
+                "privacyDescription" : {
+                    "NSCameraUsageDescription" : "使用扫一扫功能识别二维码需要访问相机权限",
+                    "NSPhotoLibraryUsageDescription" : "使用留言功能上传图片需要访问相册权限",
+                    "NSLocationAlwaysAndWhenInUseUsageDescription" : "使用网点查询功能需要访问位置权限"
+                }
+            },
+            "sdkConfigs" : {
+                "ad" : {},
+                "maps" : {
+                    "amap" : {
+                        "appkey_ios" : "301567cad1afe899587917e803441d60",
+                        "appkey_android" : "6e97c7069def9d8f0f3aa3d421ce196b"
+                    }
+                },
+                "geolocation" : {
+                    "amap" : {
+                        "__platform__" : [ "ios", "android" ],
+                        "appkey_ios" : "301567cad1afe899587917e803441d60",
+                        "appkey_android" : "6e97c7069def9d8f0f3aa3d421ce196b"
+                    }
+                }
+            },
+            "icons" : {
+                "android" : {
+                    "hdpi" : "unpackage/res/icons/72x72.png",
+                    "xhdpi" : "unpackage/res/icons/96x96.png",
+                    "xxhdpi" : "unpackage/res/icons/144x144.png",
+                    "xxxhdpi" : "unpackage/res/icons/192x192.png"
+                },
+                "ios" : {
+                    "appstore" : "unpackage/res/icons/1024x1024.png",
+                    "ipad" : {
+                        "app" : "unpackage/res/icons/76x76.png",
+                        "app@2x" : "unpackage/res/icons/152x152.png",
+                        "notification" : "unpackage/res/icons/20x20.png",
+                        "notification@2x" : "unpackage/res/icons/40x40.png",
+                        "proapp@2x" : "unpackage/res/icons/167x167.png",
+                        "settings" : "unpackage/res/icons/29x29.png",
+                        "settings@2x" : "unpackage/res/icons/58x58.png",
+                        "spotlight" : "unpackage/res/icons/40x40.png",
+                        "spotlight@2x" : "unpackage/res/icons/80x80.png"
+                    },
+                    "iphone" : {
+                        "app@2x" : "unpackage/res/icons/120x120.png",
+                        "app@3x" : "unpackage/res/icons/180x180.png",
+                        "notification@2x" : "unpackage/res/icons/40x40.png",
+                        "notification@3x" : "unpackage/res/icons/60x60.png",
+                        "settings@2x" : "unpackage/res/icons/58x58.png",
+                        "settings@3x" : "unpackage/res/icons/87x87.png",
+                        "spotlight@2x" : "unpackage/res/icons/80x80.png",
+                        "spotlight@3x" : "unpackage/res/icons/120x120.png"
+                    }
+                }
+            },
+            "splashscreen" : {
+                "androidStyle" : "default"
+            }
+        },
+        "nativePlugins" : {
+            "KJ-JPush" : {
+                "ios_appkey" : "d644d997f2cab0551ff704a3",
+                "android_channel" : "huawei",
+                "android_appkey" : "d644d997f2cab0551ff704a3",
+                "ios_channel" : "appstore",
+                "__plugin_info__" : {
+                    "name" : "【离线包、源码优惠出售】极光推送(ios、andorid)",
+                    "description" : "【不维护试用合适再购买3.33块】离线包源码优惠价66块,购买源码加QQ:543610866",
+                    "platforms" : "Android,iOS",
+                    "url" : "https://ext.dcloud.net.cn/plugin?id=1009",
+                    "android_package_name" : "com.dalicitycard.app",
+                    "ios_bundle_id" : "com.dalicitycard.app",
+                    "isCloud" : true,
+                    "bought" : 1,
+                    "pid" : "1009",
+                    "parameters" : {
+                        "ios_appkey" : {
+                            "des" : "发布ios时,必填,填写极光推送的APPKEY",
+                            "key" : "JPUSH_APPKEY",
+                            "value" : "${ios_appkey}"
+                        },
+                        "android_channel" : {
+                            "des" : "发布android时,必填,填写发布渠道,如不知道,填写:huawei",
+                            "key" : "JPUSH_CHANNEL",
+                            "value" : "${android_channel}"
+                        },
+                        "android_appkey" : {
+                            "des" : "发布android时,必填,填写极光推送的APPKEY",
+                            "key" : "JPUSH_APPKEY",
+                            "value" : "${android_appkey}"
+                        },
+                        "ios_channel" : {
+                            "des" : "发布ios时,必填,填写发布渠道,如不知道,填写:appstore",
+                            "key" : "JPUSH_CHANNEL",
+                            "value" : "${ios_channel}"
+                        }
+                    }
+                }
+            },
+            "Mpaas-Scan" : {
+                "AppId" : "ONEX1D49B6A241152",
+                "WorkspaceId" : "default",
+                "License" : "zvI8Ix1QYGLcZWTu9pfuwRxhPIERACTAjd2rQ66ky3zCCWLCCZDiISir89uVn4y+OGn0jcPIX/mMsZ8NIZXjfsgvB/m5MzVeaycZ7WRC4cxzoXjMSeN+AYty28ssiJJMdP1kFtIAoy/80VPeOBhl+yozUFaaTtDWEyMqT6XujcLWVuTJp8WHBvvLj0KmoleFV+OAusd+9keF9aSSHGwSwM1IbU9M4JMZsKWmLaKBpC77Ag0MVUhhdnY6MZ5Mff/KDivd5oGu1hbzXBPfoUlEkNppe3gwbxRTUM6k0OndyczPgZdVL9gC1/+UGH7kwiBNjegibMdySzsQuujbtISwFA==",
+                "__plugin_info__" : {
+                    "name" : "支付宝原生扫码插件",
+                    "description" : "支付宝原生扫码组件,包体积仅0.7MB,15分钟即可完成接入。同时,mPaaS提供「扫码分析」大盘",
+                    "platforms" : "Android,iOS",
+                    "url" : "https://ext.dcloud.net.cn/plugin?id=2636",
+                    "android_package_name" : "com.dalicitycard.app",
+                    "ios_bundle_id" : "com.dalicitycard.app",
+                    "isCloud" : true,
+                    "bought" : 1,
+                    "pid" : "2636",
+                    "parameters" : {
+                        "AppId" : {
+                            "des" : "Android平台的AppId,请填写Android的config文件中的appId对应的值",
+                            "key" : "mobilegw.appid",
+                            "value" : ""
+                        },
+                        "WorkspaceId" : {
+                            "des" : "Android平台的WorkspaceId,请填写Android的config文件中的workspaceId对应的值",
+                            "key" : "workspaceId",
+                            "value" : ""
+                        },
+                        "License" : {
+                            "des" : "Android平台的License,,请填写Android的config文件中的mpaasConfigLicense对应的值",
+                            "key" : "mpaasConfigLicense",
+                            "value" : ""
+                        }
+                    }
+                }
+            }
+        }
+    },
+    "quickapp" : {},
+    "mp-weixin" : {
+        "appid" : "wxc458a08d7fb5b4d3",
+        "setting" : {
+            "urlCheck" : true,
+            "es6" : false,
+            "minified" : true,
+            "postcss" : true
+        },
+        "optimization" : {
+            "subPackages" : true
+        },
+        "usingComponents" : true,
+        "permission" : {
+            "scope.userLocation" : {
+                "desc" : "你的位置信息将用于小程序位置接口的效果展示"
+            }
+        }
+    },
+    "mp-alipay" : {
+        "usingComponents" : true,
+        "component2" : true
+    },
+    "mp-baidu" : {
+        "usingComponents" : true,
+        "appid" : ""
+    },
+    "mp-toutiao" : {
+        "usingComponents" : true
+    },
+    "h5" : {
+        "template" : "template.h5.html",
+        "router" : {
+            "mode" : "hash",
+            "base" : ""
+        },
+        "optimization" : {
+            "treeShaking" : {
+                "enable" : true
+            }
+        },
+        "title" : "uView UI",
+        "devServer" : {
+            "proxy" : {
+                "/api" : {
+                    "target" : "http://yy.dlsmk.cn:8080/portal/mobileapi",
+                    "changeOrigin" : true,
+                    "pathRewrite" : {
+                        "^/api" : ""
+                    }
+                }
+            }
+        }
+    },
+    "channel_list" : [
+        {
+            "id" : "baidu",
+            "name" : "百度应用市场"
+        }
+    ]
 }
diff --git a/pages.json b/pages.json
index 94efca2..a918896 100644
--- a/pages.json
+++ b/pages.json
@@ -114,6 +114,12 @@
 				"style": {
 					"navigationBarTitleText": "手机认证"
 				}
+			},
+			{
+				"path": "forgetPwd/question",
+				"style": {
+					"navigationBarTitleText": "密保验证"
+				}
 			}
 
 		]
@@ -381,6 +387,18 @@
 				}
 			},
 			{
+				"path": "question/index",
+				"style": {
+					"navigationBarTitleText": "密保"
+				}
+			},
+			{
+				"path": "setQuestion/index",
+				"style": {
+					"navigationBarTitleText": "设置密保"
+				}
+			},
+			{
 				"path": "integralQuery/index",
 				"style": {
 					"navigationBarTitleText": "积分查询"
diff --git a/pages/sub_basic/forgetPwd/index.vue b/pages/sub_basic/forgetPwd/index.vue
index 523f916..0c5e66e 100644
--- a/pages/sub_basic/forgetPwd/index.vue
+++ b/pages/sub_basic/forgetPwd/index.vue
@@ -1,8 +1,8 @@
 <template>
 	<view class="register" @touchmove.stop.prevent="moveHandle">
 		<!-- #ifndef MP-WEIXIN -->
-		 <u-navbar title="忘记密码" :border-bottom="false" :is-back="false"></u-navbar>
-		 <!-- #endif -->
+		<u-navbar title="忘记密码" :border-bottom="false" :is-back="false"></u-navbar>
+		<!-- #endif -->
 		<view class="register-con">
 			<view class="register-con-logo">
 				<u-image src="/static/images/login/logo.png" width="300rpx" mode="widthFix"></u-image>
@@ -17,6 +17,7 @@
 				</u-field>
 				<u-field v-model="pwd" icon="lock-fill" placeholder="请输入新的密码" label-width="50" icon-color="#999999" :password="true"
 				 maxlength="12" type="number" clear-size="40"></u-field>
+				<view class="register-con-form-secret"><text @click="toUrl('/pages/sub_basic/forgetPwd/question')">密保改密</text></view>
 			</view>
 			<u-button @click="changePwd" :custom-style="registerConBtn">修改密码</u-button>
 		</view>
@@ -33,7 +34,7 @@
 				code: "",
 				isChecked: false,
 				timer: "",
-				registerConBtn:{
+				registerConBtn: {
 					width: '600rpx',
 					backgroundColor: '#2FA8E1',
 					color: '#FFFFFF',
@@ -42,10 +43,10 @@
 					marginTop: '100rpx',
 					padding: '50rpx 0'
 				},
-				btn:{
+				btn: {
 					color: '#2FA8E1',
 					backgroundColor: '#FFFFFF',
-					borderColor:'#2FA8E1',
+					borderColor: '#2FA8E1',
 					borderWidth: '1rpx',
 					borderStyle: 'solid',
 					fontFamily: "PingFang-SC-Regular"
@@ -53,7 +54,7 @@
 			}
 		},
 		methods: {
-			moveHandle(){
+			moveHandle() {
 				return
 			},
 			getCode() {
@@ -70,7 +71,7 @@
 				uni.removeStorageSync('token')
 				that.$u.post('/i/code', {
 					phone: tel,
-					"type":"find"
+					"type": "find"
 				}).then(res => {
 					uni.showToast({
 						title: res.msg,
@@ -152,10 +153,10 @@
 							title: "密码重置成功",
 							icon: "none",
 							duration: 800,
-							complete(res){
+							complete(res) {
 								setTimeout(() => {
 									uni.reLaunch({
-										url:"/pages/sub_basic/login/index"
+										url: "/pages/sub_basic/login/index"
 									})
 								}, 1500)
 							}
@@ -208,6 +209,14 @@
 			&-form {
 				width: 650rpx;
 				margin: auto;
+
+				&-secret {
+					color: #999999;
+					font-size: 28rpx;
+					display: flex;
+					justify-content: flex-end;
+					margin-top: 30rpx;
+				}
 			}
 
 			&-btn {
diff --git a/pages/sub_basic/forgetPwd/question.vue b/pages/sub_basic/forgetPwd/question.vue
new file mode 100644
index 0000000..36b90e7
--- /dev/null
+++ b/pages/sub_basic/forgetPwd/question.vue
@@ -0,0 +1,266 @@
+<template>
+	<view>
+		<view class="setQuestion" v-if="show_question && !show_pwd">
+			<view class="setQuestion-container">
+				<view class="setQuestion-item" v-for="(v,i) in list_select" :key='i'>
+					<u-field :disabled="true" :label="v.q_title" :field-style="field_style" v-model="v.q_value" input-align='right'
+					 @click="choose_list(i,'confirm'+i)"></u-field>
+					<u-field :label="v.a_title" :field-style="field_style" v-model="v.a_value" input-align='right' placeholder="请输入您的答案"
+					 maxlength="20"></u-field>
+					<u-picker mode="selector" v-model="v.isShow" :default-selector="[i]" :range="list" range-key="question" @confirm="v.func"></u-picker>
+				</view>
+			</view>
+			<u-button @click="submit" :custom-style="submit_btn">验证密保</u-button>
+		</view>
+		<view class="setQuestion" v-if="!show_question && !show_pwd">
+			<view class="setQuestion-container">
+				<u-field label="手机号" :field-style="field_style" v-model="phone" input-align='right' placeholder="请输入您设置密保时关联的手机号"></u-field>
+			</view>
+			<u-button @click="check_phone" :custom-style="submit_btn">确认手机号</u-button>
+		</view>
+		<view class="setQuestion" v-if="show_pwd">
+			<view class="setQuestion-container">
+				<u-field label="新密码" :field-style="field_style" v-model="pwd" input-align='right' placeholder="请输入您的新密码" password></u-field>
+			</view>
+			<view class="setQuestion-container">
+				<u-field label="确认密码" :field-style="field_style" v-model="repwd" input-align='right' placeholder="请确认您的新密码"
+				 password></u-field>
+			</view>
+			<u-button @click="change_pwd" :custom-style="submit_btn">修改密码</u-button>
+		</view>
+	</view>
+
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				phone: '',
+				field_style: {
+					'font-size': '30rpx',
+					'color': '#6a6a6a'
+				},
+				submit_btn: {
+					width: '600rpx',
+					backgroundColor: '#2FA8E1',
+					color: '#FFFFFF',
+					fontFamily: "PingFang-SC-Medium",
+					fontSize: '30rpx',
+					marginTop: '100rpx',
+					padding: '50rpx 0'
+				},
+				show_question: false,
+				show_pwd: false,
+				list: [],
+				list_select: [{
+						q_title: 'Q1:',
+						q_value: '请选择您的密保问题',
+						a_value: '',
+						a_title: 'A1:',
+						isShow: false,
+						func: null
+					},
+					{
+						q_title: 'Q2:',
+						q_value: '请选择您的密保问题',
+						a_value: '',
+						a_title: 'A2:',
+						isShow: false,
+						func: null
+					},
+					{
+						q_title: 'Q3:',
+						q_value: '请选择您的密保问题',
+						a_value: '',
+						a_title: 'A3:',
+						isShow: false,
+						func: null
+					},
+				],
+				answers: [{
+						"ssid": "",
+						"answer": ""
+					},
+					{
+						"ssid": "",
+						"answer": ""
+					},
+					{
+						"ssid": "",
+						"answer": ""
+					}
+				],
+				pass: false,
+				pwd: '',
+				repwd: ''
+			}
+		},
+		onLoad(optins) {
+			// this.get_list()
+		},
+		methods: {
+			choose_list(e, fun_name) {
+				this.list_select[e].isShow = true
+				this.list_select[e].func = this[fun_name]
+			},
+			check_phone() {
+				let that = this
+				let phone = that.phone
+				that.$u.get('/i/security/list?phone=' + phone).then(res => {
+					let list = res.data
+					if (list.length == 0) {
+						uni.showModal({
+							title: '提示',
+							content: '您还未设置过密保',
+						})
+						return
+					}
+					uni.setStorageSync("phone", phone)
+					that.list = list
+					that.show_question = true
+				})
+			},
+			confirm0(e) {
+				this.list_select[0].q_value = this.list[e[0]].question
+				this.list_select[0].ssid = this.list[e[0]].ssid
+			},
+			confirm1(e) {
+				this.list_select[1].q_value = this.list[e[0]].question
+				this.list_select[1].ssid = this.list[e[0]].ssid
+			},
+			confirm2(e) {
+				this.list_select[2].q_value = this.list[e[0]].question
+				this.list_select[2].ssid = this.list[e[0]].ssid
+			},
+			submit() {
+				let that = this
+				let list = that.list_select
+				let answer = that.answers
+				list.map((item, index, arr) => {
+					let ssid = item.ssid
+					let length = item.a_value.length
+					answer[index].ssid = ssid
+					answer[index].answer = item.a_value
+				})
+				let str = ''
+				answer.forEach(item => {
+					str = str + item.ssid
+				})
+				for (let i = 0; i < answer.length; i++) {
+					let item = answer[i]
+					let ssid = item.ssid
+					if (!ssid) {
+						uni.showModal({
+							title: '提示',
+							content: '请选择密保问题',
+						})
+						that.pass = false
+						break;
+					} else {
+						that.pass = true
+					}
+					let reg = new RegExp(item.ssid, "g")
+					let length = str.match(reg).length
+					if (length >= 2) {
+						uni.showModal({
+							title: '提示',
+							content: '请选择不同的密保问题',
+						})
+						that.pass = false
+						break;
+					} else {
+						that.pass = true
+					}
+
+					let value_length = item.answer.length
+					if (value_length < 2) {
+						uni.showModal({
+							title: '提示',
+							content: '未填写问题或问题答案长度小于2个字符',
+						})
+						that.pass = false
+						break;
+					} else {
+						that.pass = true
+					}
+				}
+				if (!that.pass) return
+				let phone = that.phone
+				let param = {
+					answers: answer,
+					phone
+				}
+				that.$u.post('/i/security/check', param).then(res => {
+					//console.log(res)
+					if (res.error == null) {
+						that.show_question = false
+						that.show_pwd = true
+					} else {
+						uni.showModal({
+							title: '提示',
+							content: '密保错误,请确认后重新验证'
+						})
+					}
+
+				})
+			},
+			change_pwd() {
+				let that = this
+				let pwd = that.pwd
+				let repwd = that.repwd
+				if (!!!pwd || !!!repwd) {
+					uni.showModal({
+						title: '提示',
+						content: '请输入密码'
+					})
+					return
+				}
+				if (pwd != repwd) {
+					uni.showModal({
+						title: '提示',
+						content: '两次密码不一致,请确认后重新输入'
+					})
+					return
+				}
+				let answers = that.answers
+				let phone = that.phone
+				//console.log(answers)
+				let params = {
+					pwd,
+					repwd,
+					answers,
+					phone
+				}
+				that.$u.post('/i/security/pwdset', params).then(res => {
+					uni.showToast({
+						title: "密码修改成功",
+						icon: "none",
+						duration: 800,
+						complete(res) {
+							setTimeout(() => {
+								uni.reLaunch({
+									url: "/pages/sub_basic/login/index"
+								})
+							}, 1500)
+						}
+					})
+				})
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.setQuestion {
+		margin-top: 30rpx;
+
+		&-container {
+			background-color: #FFFFFF;
+		}
+
+		&-item {
+			margin-bottom: 30rpx;
+		}
+	}
+</style>
diff --git a/pages/sub_basic/login/index.vue b/pages/sub_basic/login/index.vue
index 050f84c..716fc47 100644
--- a/pages/sub_basic/login/index.vue
+++ b/pages/sub_basic/login/index.vue
@@ -291,7 +291,12 @@
 			faceIn() {
 				let face = uni.getStorageSync("face")
 				if (face) {
-
+					uni.showToast({
+						title: "暂不支持面容登录,请使用其他方式登录",
+						duration: 1500,
+						icon: "none",
+						mask: true,
+					})
 				} else {
 					uni.showToast({
 						title: "未开启面容登录,请使用其他方式登录",
diff --git a/pages/sub_index/scanView/index.vue b/pages/sub_index/scanView/index.vue
index dbf9b26..fab08d2 100644
--- a/pages/sub_index/scanView/index.vue
+++ b/pages/sub_index/scanView/index.vue
@@ -23,37 +23,41 @@
 			let userid = uni.getStorageSync("userid")
 			//that.userid = userid
 			let url = option.url
-			if (url.indexOf("?") > 0) {
-				url = url + "&userid=" + userid
-			} else {
-				url = url + "?userid=" + userid
-			}
+			// if (url.indexOf("?") > 0) {
+			// 	url = url + "&userid=" + userid
+			// } else {
+			// 	url = url + "?userid=" + userid
+			// }
 			console.log(url)
 			that.src = url
 		},
+		onBackPress(options) {
+			uni.reLaunch({
+				url: '/pages/sub_tabbar/index'
+			})
+			return true
+		},
 		onReady() {
-			// let userid = uni.getStorageSync("userid")
-			// var pages = getCurrentPages()
-			// var page = pages[pages.length - 1]
-			// var currentWebview = page.$getAppWebview()
-			// var url = currentWebview.children()[0].getURL()
-			// var wx = currentWebview.children()[0]
-			// console.log('=== url ===', url);
-			// wx.addEventListener('loaded', function(e) {
-			// 	console.log('Loaded: ' + wx.getURL());
-			// 	let newUrl = wx.getURL()
-			// 	if (newUrl.indexOf("userid") > -1) {
-			// 		//console.log(1)
-			// 		return false
-			// 	}
-			// 	if (newUrl.indexOf("?") > 0) {
-			// 		newUrl = newUrl + "&userid=" + userid
-			// 	} else {
-			// 		newUrl = newUrl + "?userid=" + userid
-			// 	}
-			// 	//console.log(newUrl)
-			// 	wx.loadURL(newUrl)
-			// }, false);
+			let that = this
+			let userid = uni.getStorageSync("userid")
+			var pages = getCurrentPages()
+			var page = pages[pages.length - 1]
+			var currentWebview = page.$getAppWebview()
+			var url = currentWebview.children()[0].getURL()
+			var wx = currentWebview.children()[0]
+			wx.addEventListener('loaded', function(e) {
+				let newUrl = wx.getURL()
+				if (newUrl.indexOf("userid") > -1) {
+					//console.log(1)
+					return false
+				}
+				if (newUrl.indexOf("?") > 0) {
+					newUrl = newUrl + "&userid=" + userid
+				} else {
+					newUrl = newUrl + "?userid=" + userid
+				}
+				that.src = newUrl
+			}, false);
 		},
 	}
 </script>
diff --git a/pages/sub_medical/appointment.vue b/pages/sub_medical/appointment.vue
index cf7fd6a..a80132d 100644
--- a/pages/sub_medical/appointment.vue
+++ b/pages/sub_medical/appointment.vue
@@ -104,7 +104,7 @@
 						// #endif
 					},
 					fail(ret){
-						that.local = '获取位置失败'
+						that.local = '重新获取位置...'
 						console.log(ret)
 					}
 				})
diff --git a/pages/sub_medical/cashFlow.vue b/pages/sub_medical/cashFlow.vue
index 6f5091b..c1030de 100644
--- a/pages/sub_medical/cashFlow.vue
+++ b/pages/sub_medical/cashFlow.vue
@@ -9,7 +9,7 @@
 		<view v-if="leftOright">
 			<scroll-view scroll-y :enable-back-to-top="true" @scrolltolower="" class="scrollView">
 				<view class="cashFlow-ul">
-					<view class="cashFlow-ul-item" v-for = '(v,i) in unpay_list' :key='i' @click="toPath('/pages/sub_medical/pay?msg=' + JSON.stringify(v)+'&id=unpay')">
+					<view class="cashFlow-ul-item" v-for='(v,i) in unpay_list' :key='i' @click="toPath('/pages/sub_medical/pay?msg=' + JSON.stringify(v)+'&id=unpay')">
 						<view class="cashFlow-ul-item-left">
 							<view class="cashFlow-ul-item-left-top">
 								<u-image src="./images/pay.png" width="80" height="80"></u-image>
@@ -33,7 +33,7 @@
 		<view v-if="!leftOright">
 			<scroll-view scroll-y :enable-back-to-top="true" @scrolltolower="" class="scrollView">
 				<view class="cashFlow-ul">
-					<view class="cashFlow-ul-item" v-for = '(v,i) in payed_list' :key='i' @click="toPath('/pages/sub_medical/pay?msg=' + JSON.stringify(v) +'&id=payed')">
+					<view class="cashFlow-ul-item" v-for='(v,i) in payed_list' :key='i' @click="toPath('/pages/sub_medical/pay?msg=' + JSON.stringify(v) +'&id=payed')">
 						<view class="cashFlow-ul-item-left">
 							<view class="cashFlow-ul-item-left-top">
 								<u-image src="./images/pay.png" width="80" height="80"></u-image>
@@ -47,7 +47,7 @@
 						<view class="cashFlow-ul-item-right">
 							<text>¥{{v.mergingsubtotal}}</text>
 						</view>
-						<view class="cashFlow-ul-item-status" v-if="!v.notifyStatus">通知医院</view>
+						<view class="cashFlow-ul-item-nstatus" v-if="!v.notifyStatus">通知医院</view>
 					</view>
 				</view>
 			</scroll-view>
@@ -60,64 +60,72 @@
 		data() {
 			return {
 				leftOright: true,
-				unpay_list:[],
-				hospitalcode:'',
-				payed_list:[]
+				unpay_list: [],
+				hospitalcode: '',
+				payed_list: []
 			}
 		},
-		onLoad(options){
+		onLoad(options) {
 			let hospitalcode = options.hospitalcode
 			this.hospitalcode = hospitalcode
 			// this.get_unpay_list(hospitalcode)
 		},
 		methods: {
-			get_unpay_list(code){
+			get_unpay_list(code) {
 				let that = this
 				let param = {
-					hospitalcode : code
+					hospitalcode: code
 				}
-				that.$u.post('/medicalapi/unpayed/list',param).then(res=>{
+				that.$u.post('/medicalapi/unpayed/list', param).then(res => {
 					that.unpay_list = res.data
 				})
 			},
-			get_payed_list(code){
+			get_payed_list(code) {
 				let that = this
 				let param = {
-					hospitalcode : code,
-					pageno:1,
-					pagesize:100
+					hospitalcode: code,
+					pageno: 1,
+					pagesize: 100
 				}
-				that.$u.post('/medicalapi/payed/list',param).then(res=>{
+				that.$u.post('/medicalapi/payed/list', param).then(res => {
 					let list = res.data
-					list.forEach(item=>{
+					list.forEach(item => {
 						item.paytime = item.transdate.substr(0, 4) +
-							"-" + item.transdate.substr(4, 2) + "-" + item.transdate.substr(6, 2) + " " + item.transtime.substr(0, 2) + ":" +
-							item.transtime.substr(2, 2) + ":" + item.transtime.substr(4, 2) 
+							"-" + item.transdate.substr(4, 2) + "-" + item.transdate.substr(6, 2) + " " + item.transtime.substr(0, 2) +
+							":" +
+							item.transtime.substr(2, 2) + ":" + item.transtime.substr(4, 2)
 					})
 					that.payed_list = list
 				})
 			},
 			changeTurnoverList(e) {
 				this.leftOright = e
-				if(e){
+				if (e) {
 					this.get_unpay_list(this.hospitalcode)
-				}else{
+				} else {
 					this.get_payed_list(this.hospitalcode)
 				}
 			},
 		},
-		onShow(){
-			this.get_unpay_list(this.hospitalcode)
+		onShow() {
+			let e = this.leftOright
+			if (e) {
+				this.get_unpay_list(this.hospitalcode)
+			} else {
+				this.get_payed_list(this.hospitalcode)
+			}
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
-	.scrollView{
+	.scrollView {
 		height: calc(100vh - 130rpx - 100rpx);
 	}
+
 	.cashFlow {
 		font-family: "PingFang-SC-Medium";
+
 		&-header {
 			width: 80%;
 			display: flex;
@@ -135,18 +143,19 @@
 				border-top: 2rpx solid #F1F1F1;
 				border-bottom: 2rpx solid #F1F1F1;
 			}
+
 			.left {
 				border-top-left-radius: 50rpx;
 				border-bottom-left-radius: 50rpx;
 				border-left: 2rpx solid #F1F1F1;
 			}
-			
+
 			.right {
 				border-top-right-radius: 50rpx;
 				border-bottom-right-radius: 50rpx;
 				border-right: 2rpx solid #F1F1F1;
 			}
-			
+
 			.color {
 				background-color: #3599fb;
 				color: #ffffff;
@@ -154,9 +163,11 @@
 				border: 2rpx solid transparent;
 			}
 		}
-		&-ul{
+
+		&-ul {
 			padding: 0 20rpx;
-			&-item{
+
+			&-item {
 				background-color: #FFFFFF;
 				display: flex;
 				justify-content: space-between;
@@ -165,22 +176,34 @@
 				border-radius: 10rpx;
 				margin-bottom: 30rpx;
 				position: relative;
-				&-status{
+
+				&-status {
 					position: absolute;
 					bottom: 20rpx;
 					right: 20rpx;
 					font-size: 26rpx;
 					color: #18B566;
 				}
-				&-left{
-					display:  flex;
+				
+				&-nstatus{
+					position: absolute;
+					bottom: 20rpx;
+					right: 20rpx;
+					font-size: 26rpx;
+					color: #FF6F6F;
+				}
+
+				&-left {
+					display: flex;
 					flex-direction: column;
 					justify-content: space-between;
 					width: 75%;
-					&-top{
+
+					&-top {
 						display: flex;
 						align-items: center;
-						text{
+
+						text {
 							overflow: hidden;
 							text-overflow: ellipsis;
 							white-space: nowrap;
@@ -189,24 +212,28 @@
 							font-weight: bold;
 						}
 					}
-					&-bottom{
+
+					&-bottom {
 						margin-top: 20rpx;
-						&-bold{
+
+						&-bold {
 							font-size: 32rpx;
 							font-weight: bold;
 						}
-						&-normal{
+
+						&-normal {
 							color: #a1a1a1;
 						}
 					}
 				}
-				&-right{
+
+				&-right {
 					font-size: 40rpx;
 					color: #FF6F6F;
 					font-weight: bold;
 				}
 			}
 		}
-		
+
 	}
 </style>
diff --git a/pages/sub_medical/pay.vue b/pages/sub_medical/pay.vue
index c763a23..5c9ebe5 100644
--- a/pages/sub_medical/pay.vue
+++ b/pages/sub_medical/pay.vue
@@ -11,10 +11,12 @@
 			<u-cell-item title="订单号" :arrow="false" :value="msg.billNo"></u-cell-item>
 			<u-cell-item title="就诊日期" :arrow="false" :value="msg.date"></u-cell-item>
 			<!-- <u-cell-item title="截止日期"  :arrow="false" value="2020/10/28 23:29:29"></u-cell-item> -->
-			<u-cell-item title="交易状态" :arrow="false" :value="msg.status_ok" :value-style="msg.status=='wip'?status_style:vstyle"></u-cell-item>
+			<u-cell-item title="交易状态" :arrow="false" :value="msg.status_ok" :value-style="msg.status=='wip'|| msg.status==undefined?status_style:vstyle"></u-cell-item>
+			<u-cell-item title="退款状态" :arrow="false" :value="msg.refundflag_ok" :value-style="msg.refundflag=='refund'?status_style:vstyle"
+			 v-if="msg.refundflag == 'wip' || msg.refundflag == 'refund'"></u-cell-item>
 		</u-cell-group>
 		<u-button @click="msg.status=='wip'?query():open()" :custom-style="payBtn" v-if="kind =='unpay'">{{msg.status=='wip'?'查询订单状态':'立即支付'}}</u-button>
-		<u-button @click="" :custom-style="payBtn" v-if="kind =='payed'&& msg.notifyStatus == false">通知医院</u-button>
+		<u-button @click="notify_hosiptal" :custom-style="payBtn" v-if="kind =='payed'&& msg.notifyStatus == false">通知医院</u-button>
 		<!-- 支付密码弹框 -->
 		<uni-popup ref="showPassword" class="pwd-wrapper">
 			<view class="uni-tip uni-pwd">
@@ -49,11 +51,11 @@
 				},
 				vstyle: {
 					color: '#FF6F6F',
-					fontSize:'30rpx'
+					fontSize: '30rpx'
 				},
 				status_style: {
 					color: '#18B566',
-					fontSize:'30rpx'
+					fontSize: '30rpx'
 				},
 				payBtn: {
 					backgroundColor: ' #2FA8E1',
@@ -65,7 +67,7 @@
 					marginTop: '50rpx'
 				},
 				msg: {},
-				kind:''
+				kind: ''
 			}
 		},
 		methods: {
@@ -123,12 +125,12 @@
 					let obj = that.msg
 					let date = res.transdate.substr(0, 4) +
 						"-" + res.transdate.substr(4, 2) + "-" + res.transdate.substr(6, 2) + " " + res.transtime.substr(0, 2) + ":" +
-						res.transtime.substr(2, 2) + ":" + res.transtime.substr(4, 2) 
-						setTimeout(()=>{
-							uni.navigateTo({
-								url: `/pages/sub_medical/payResult?status=${status}&msg=${JSON.stringify(obj)}&date=${date}`
-							})
-						},1500)
+						res.transtime.substr(2, 2) + ":" + res.transtime.substr(4, 2)
+					setTimeout(() => {
+						uni.navigateTo({
+							url: `/pages/sub_medical/payResult?status=${status}&msg=${JSON.stringify(obj)}&date=${date}`
+						})
+					}, 1500)
 				})
 			},
 			query() {
@@ -136,31 +138,49 @@
 				let billno = that.msg.billNo
 				that.$u.post('/medicalapi/pay/query/' + billno, {}).then(res => {
 					let status = res.status
-					if(status == 'wip'){
+					if (status == 'wip') {
 						uni.showToast({
-							icon:'none',
-							title:'订单正在支付中,请稍等...'
+							icon: 'none',
+							title: '订单正在支付中,请稍等...'
 						})
-					}else{
+					} else {
 						let status = res.status
 						let obj = that.msg
 						let date = res.transdate.substr(0, 4) +
 							"-" + res.transdate.substr(4, 2) + "-" + res.transdate.substr(6, 2) + " " + res.transtime.substr(0, 2) + ":" +
-							res.transtime.substr(2, 2) + ":" + res.transtime.substr(4, 2) 
-							setTimeout(()=>{
-								uni.navigateTo({
-									url: `/pages/sub_medical/payResult?status=${status}&msg=${JSON.stringify(obj)}&date=${date}`
-								})
-							},1500)
+							res.transtime.substr(2, 2) + ":" + res.transtime.substr(4, 2)
+						setTimeout(() => {
+							uni.navigateTo({
+								url: `/pages/sub_medical/payResult?status=${status}&msg=${JSON.stringify(obj)}&date=${date}`
+							})
+						}, 1500)
 					}
 				})
+			},
+			notify_hosiptal() {
+				let that = this
+				let billno = that.msg.billno
+				that.$u.post('/medicalapi/pay/notify/' + billno).then(res => {
+					uni.showToast({
+						title: res.msg,
+						icon: 'none',
+						duration:800,
+						success(ret) {
+							setTimeout(() => {
+								uni.navigateBack({
+									delta: 1
+								})
+							}, 1500)
+						}
+					})
+				})
 			}
 		},
 		onLoad(options) {
 			let msg = JSON.parse(options.msg)
 			let id = options.id
 			this.kind = id
-			if(id == 'unpay'){
+			if (id == 'unpay') {
 				msg.date = msg.medicalDate.substr(0, 4) + '-' + msg.medicalDate.substr(4, 2) + '-' + msg.medicalDate.substr(6, 2) +
 					' ' + msg.medicalDate.substr(8, 2) + ':' + msg.medicalDate.substr(10, 2) + ':' + msg.medicalDate.substr(12, 2)
 				switch (msg.status) {
@@ -172,14 +192,20 @@
 						break
 				}
 				this.msg = msg
-			}else if(id == 'payed'){
+			} else if (id == 'payed') {
 				msg.date = msg.medicaldate.substr(0, 4) + '-' + msg.medicaldate.substr(4, 2) + '-' + msg.medicaldate.substr(6, 2) +
 					' ' + msg.medicaldate.substr(8, 2) + ':' + msg.medicaldate.substr(10, 2) + ':' + msg.medicaldate.substr(12, 2)
-					msg.billNo = msg.billno
-					msg.mergingSubtotal = msg.mergingsubtotal
-					msg.mergingName = msg.mergingname
-					msg.status_ok = '已完成'
-					msg.hospitalName = msg.hospitalname
+				msg.billNo = msg.billno
+				msg.mergingSubtotal = msg.mergingsubtotal
+				msg.mergingName = msg.mergingname
+				msg.status_ok = '已完成'
+				switch (msg.refundflag) {
+					case 'wip':
+						msg.refundflag_ok = '退款处理中...';
+						break
+					case 'refund':
+						msg.refundflag_ok = '已退款';
+				}
 				this.msg = msg
 			}
 		}
diff --git a/pages/sub_medical/payResult.vue b/pages/sub_medical/payResult.vue
index e36fd54..08d8185 100644
--- a/pages/sub_medical/payResult.vue
+++ b/pages/sub_medical/payResult.vue
@@ -8,7 +8,11 @@
 			<icon type="warn" size="60"></icon>
 			<text class="payResult-status-text">支付失败</text>
 		</view>
-		<view class="payResult-money" v-if="msg.billstatus ==1"><text>-¥{{msg.mergingSubtotal?msg.mergingSubtotal:'0.00'}}</text></view>
+		<view class="payResult-status" v-if="msg.billstatus ==2">
+			<icon type="waiting" size="60"></icon>
+			<text class="payResult-status-text">交易处理中</text>
+		</view>
+		<view class="payResult-money" v-if="msg.billstatus ==1"><text>¥{{msg.mergingSubtotal?msg.mergingSubtotal:'0.00'}}</text></view>
 		<view class="payResult-msg">
 			<u-cell-group>
 				<u-cell-item title="医院名称" :value="msg.hospitalName?msg.hospitalName:'未知医院'" :arrow="false" bg-color="#FFFFFF"></u-cell-item>
diff --git a/pages/sub_mine/accountSafe/index.vue b/pages/sub_mine/accountSafe/index.vue
index afec07c..8a536bd 100644
--- a/pages/sub_mine/accountSafe/index.vue
+++ b/pages/sub_mine/accountSafe/index.vue
@@ -26,6 +26,7 @@
 					{name:"支付(指纹)",icon:"finger",path:"/pages/sub_mine/otherPay/index"},
 					{name:"挂失",icon:"gs",path:"/pages/sub_mine/reportheLoss/index"},
 					{name:"设置邮箱",icon:"email",path:"/pages/sub_mine/bindEmail/index"},
+					{name:"设置密保",icon:"mibao",path:"/pages/sub_mine/question/index"},
 				]
 			}
 		},
diff --git a/pages/sub_mine/agreement/index.vue b/pages/sub_mine/agreement/index.vue
index dce0c57..7952c6a 100644
--- a/pages/sub_mine/agreement/index.vue
+++ b/pages/sub_mine/agreement/index.vue
@@ -59,7 +59,7 @@
 			}
 		},
 		onLoad() {
-			this.getAgreement()
+			//this.getAgreement()
 		}
 	}
 </script>
diff --git a/pages/sub_mine/bindEmail/index.vue b/pages/sub_mine/bindEmail/index.vue
index 4fcbd70..3bc50fe 100644
--- a/pages/sub_mine/bindEmail/index.vue
+++ b/pages/sub_mine/bindEmail/index.vue
@@ -76,6 +76,7 @@
 						icon: "none",
 						duration: 800,
 						complete(res) {
+							uni.setStorageSync('email', email)
 							setTimeout(() => {
 								uni.navigateBack({
 									delta: 1
diff --git a/pages/sub_mine/lock/index.vue b/pages/sub_mine/lock/index.vue
index a2345f5..547e5b0 100644
--- a/pages/sub_mine/lock/index.vue
+++ b/pages/sub_mine/lock/index.vue
@@ -107,10 +107,18 @@
 				if (pwd) {
 					if (pwd.join('') === data.join('')) {
 						let login = uni.getStorageSync("login")
-						if(login){
+						if(login == 1){
 							that.text = '手势正确,即将进入首页'
 							uni.removeStorageSync("login")
 							that.login()
+						}else if(login ==2){
+							that.text = '手势正确'
+							uni.removeStorageSync("login")
+							setTimeout(() => {
+								uni.switchTab({
+									url: "/pages/sub_tabbar/index"
+								})
+							}, 1500)
 						}else{
 							that.text = '手势正确,关闭手势成功'
 							uni.removeStorageSync("hands")
diff --git a/pages/sub_mine/personalMsg/index.vue b/pages/sub_mine/personalMsg/index.vue
index 36960ea..8d6d620 100644
--- a/pages/sub_mine/personalMsg/index.vue
+++ b/pages/sub_mine/personalMsg/index.vue
@@ -7,12 +7,7 @@
 			<u-cell-item title="市民卡号" :arrow="false" :value="cardno"></u-cell-item>
 			<u-cell-item title="身份证号" :arrow="false" :value="idno"></u-cell-item>
 			<u-cell-item title="身份状态" :arrow="false" :value="signed"></u-cell-item>
-			<!-- <u-field v-model="name" :disabled="true" label="姓名" :field-style="fieldStyle" clear-size="40" input-align="right"></u-field>
-			<u-field v-model="tel" :disabled="true" label="手机号" :field-style="fieldStyle" clear-size="40" input-align="right"></u-field>
-			<u-field v-model="bankcardno" :disabled="true" label="银行卡号" :field-style="fieldStyle" clear-size="40" input-align="right"></u-field>
-			<u-field v-model="cardno" :disabled="true" label="市民卡号" :field-style="fieldStyle" clear-size="40" input-align="right"></u-field>
-			<u-field v-model="idno" :disabled="true" label="身份证号" :field-style="fieldStyle" clear-size="40" input-align="right"></u-field>
-			<u-field v-model="signed" :disabled="true" label="身份状态" :field-style="fieldStyle" clear-size="40" input-align="right"></u-field> -->
+			<u-cell-item title="邮箱号" :arrow="false" :value="email"></u-cell-item>
 		</view>
 	</view>
 </template>
@@ -30,7 +25,8 @@
 				cardno:'',
 				idno:'',
 				signed:'',
-				tel:''
+				tel:'',
+				email:''
 			}
 		},
 		methods: {
@@ -39,11 +35,12 @@
 		onLoad() {
 			let that = this
 			that.name = uni.getStorageSync('name')?uni.getStorageSync('name'):'佚名'
-			that.bankcardno = uni.getStorageSync('bankcardno')?uni.getStorageSync('bankcardno'):'暂无银行卡信息'
-			that.cardno = uni.getStorageSync('cardno')?uni.getStorageSync('cardno').substr(0,2) + '****' + uni.getStorageSync('cardno').substr(6,2):'暂无市民卡信息'
-			that.idno = uni.getStorageSync('idno')?uni.getStorageSync('idno'):'暂无身份证信息'
-			that.signed = uni.getStorageSync('signed') == 'yes' ? '已绑定签约':'未绑定'
-			that.tel = uni.getStorageSync('phoneX') ? uni.getStorageSync('phoneX') : '暂无手机号'
+			that.bankcardno = uni.getStorageSync('bankcardno')?uni.getStorageSync('bankcardno'):'无银行卡信息'
+			that.cardno = uni.getStorageSync('cardno')?uni.getStorageSync('cardno').substr(0,2) + '****' + uni.getStorageSync('cardno').substr(6,2):'无市民卡信息'
+			that.idno = uni.getStorageSync('idno')?uni.getStorageSync('idno'):'无身份证信息'
+			that.signed = uni.getStorageSync('signed') == 'yes' ? '已绑定签约':'未绑定签约'
+			that.tel = uni.getStorageSync('phoneX') ? uni.getStorageSync('phoneX') : '无手机号'
+			that.email = uni.getStorageSync('email') ? uni.getStorageSync('email') : '未绑定邮箱'
 		}
 	}
 </script>
diff --git a/pages/sub_mine/question/index.vue b/pages/sub_mine/question/index.vue
new file mode 100644
index 0000000..8fd7082
--- /dev/null
+++ b/pages/sub_mine/question/index.vue
@@ -0,0 +1,63 @@
+<template>
+	<view class="question">
+		<u-cell-group>
+			<u-cell-item title="开启\删除密保" :arrow="false">
+				<u-icon name="mibao" custom-prefix="custom-icon" size="32" slot="icon"></u-icon>
+				<u-switch slot="right-icon" v-model="question" @change="open"></u-switch>
+			</u-cell-item>
+		</u-cell-group>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				question: false
+			}
+		},
+		methods: {
+			open(e) {
+				if (e) {
+					uni.navigateTo({
+						url: '/pages/sub_mine/setQuestion/index'
+					})
+				} else {
+					uni.showModal({
+						title: "提示",
+						content: "该操作将删除您设置的密保问题,是否继续?",
+						success: (res) => {
+							if (res.confirm) {
+								this.delate_question()
+							} else if (res.cancel) {
+								this.question = true
+							}
+						}
+					})
+				}
+			},
+			delate_question() {
+				let that = this
+				that.$u.post('/v1/security/delete').then(res => {
+					uni.showToast({
+						title: '删除成功',
+						icon: 'none'
+					})
+				})
+			},
+			get_status() {
+				let that = this
+				that.$u.get('/i/security/list?phone=').then(res => {
+					let list = res.data
+					list.length ? that.question = true : that.question = false
+				})
+			}
+		},
+		onShow() {
+			this.get_status()
+		},
+	}
+</script>
+
+<style>
+</style>
diff --git a/pages/sub_mine/setQuestion/index.vue b/pages/sub_mine/setQuestion/index.vue
new file mode 100644
index 0000000..c746443
--- /dev/null
+++ b/pages/sub_mine/setQuestion/index.vue
@@ -0,0 +1,189 @@
+<template>
+	<view class="setQuestion">
+		<view class="setQuestion-container">
+			<view class="setQuestion-item" v-for="(v,i) in list_select" :key='i'>
+				<u-field :disabled="true" :label="v.q_title" :field-style="field_style" v-model="v.q_value" input-align='right'
+				 @click="choose_list(i,'confirm'+i)"></u-field>
+				<u-field :label="v.a_title" :field-style="field_style" v-model="v.a_value" input-align='right' placeholder="请输入您的答案"
+				 maxlength="20"></u-field>
+				<u-picker mode="selector" v-model="v.isShow" :default-selector="[i]" :range="list" range-key="question" @confirm="v.func"></u-picker>
+			</view>
+		</view>
+		<u-button @click="submit" :custom-style="submit_btn">保存密保</u-button>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				field_style: {
+					'font-size': '30rpx',
+					'color': '#6a6a6a'
+				},
+				submit_btn: {
+					width: '600rpx',
+					backgroundColor: '#2FA8E1',
+					color: '#FFFFFF',
+					fontFamily: "PingFang-SC-Medium",
+					fontSize: '30rpx',
+					marginTop: '100rpx',
+					padding: '50rpx 0'
+				},
+				show: false,
+				list: [],
+				list_select: [{
+						q_title: 'Q1:',
+						q_value: '请选择您的密保问题',
+						a_value: '',
+						a_title: 'A1:',
+						isShow: false,
+						func: null
+					},
+					{
+						q_title: 'Q2:',
+						q_value: '请选择您的密保问题',
+						a_value: '',
+						a_title: 'A2:',
+						isShow: false,
+						func: null
+					},
+					{
+						q_title: 'Q3:',
+						q_value: '请选择您的密保问题',
+						a_value: '',
+						a_title: 'A3:',
+						isShow: false,
+						func: null
+					},
+				],
+				answers: [{
+						"ssid": "",
+						"answer": ""
+					},
+					{
+						"ssid": "",
+						"answer": ""
+					},
+					{
+						"ssid": "",
+						"answer": ""
+					}
+				],
+				pass: false
+			}
+		},
+		onLoad(optins) {
+			this.get_list()
+		},
+		methods: {
+			choose_list(e, fun_name) {
+				this.list_select[e].isShow = true
+				this.list_select[e].func = this[fun_name]
+			},
+			get_list() {
+				let that = this
+				that.$u.get('/v1/security/all').then(res => {
+					let list = res.data
+					that.list = list
+				})
+			},
+			confirm0(e) {
+				this.list_select[0].q_value = this.list[e[0]].question
+				this.list_select[0].ssid = this.list[e[0]].ssid
+			},
+			confirm1(e) {
+				this.list_select[1].q_value = this.list[e[0]].question
+				this.list_select[1].ssid = this.list[e[0]].ssid
+			},
+			confirm2(e) {
+				this.list_select[2].q_value = this.list[e[0]].question
+				this.list_select[2].ssid = this.list[e[0]].ssid
+			},
+			submit() {
+				let that = this
+				let list = that.list_select
+				let answer = that.answers
+				list.map((item, index, arr) => {
+					let ssid = item.ssid
+					let length = item.a_value.length
+					answer[index].ssid = ssid
+					answer[index].answer = item.a_value
+				})
+				let str = ''
+				answer.forEach(item => {
+					str = str + item.ssid
+				})
+				for (let i = 0; i < answer.length; i++) {
+					let item = answer[i]
+					let ssid = item.ssid
+					if (!ssid) {
+						uni.showModal({
+							title: '提示',
+							content: '请选择密保问题',
+						})
+						that.pass = false
+						break;
+					} else {
+						that.pass = true
+					}
+					let reg = new RegExp(item.ssid, "g")
+					let length = str.match(reg).length
+					if (length >= 2) {
+						uni.showModal({
+							title: '提示',
+							content: '请选择不同的密保问题',
+						})
+						that.pass = false
+						break;
+					} else {
+						that.pass = true
+					}
+
+					let value_length = item.answer.length
+					if (value_length < 2) {
+						uni.showModal({
+							title: '提示',
+							content: '未填写问题或问题答案长度小于2个字符',
+						})
+						that.pass = false
+						break;
+					} else {
+						that.pass = true
+					}
+				}
+				if (!that.pass) return
+				let param = {
+					answers: answer
+				}
+				that.$u.post('/v1/security/save', param).then(res => {
+					uni.showToast({
+						title: "保存成功",
+						icon: 'none',
+						complete(res) {
+							setTimeout(() => {
+								uni.navigateBack({
+									delta: 1
+								})
+							}, 1500)
+						}
+					})
+				})
+			}
+		}
+	}
+</script>
+
+<style scoped lang="scss">
+	.setQuestion {
+		margin-top: 30rpx;
+
+		&-container {
+			background-color: #FFFFFF;
+		}
+
+		&-item {
+			margin-bottom: 30rpx;
+		}
+	}
+</style>
diff --git a/pages/sub_tabbar/index.vue b/pages/sub_tabbar/index.vue
index 0851a76..7264790 100644
--- a/pages/sub_tabbar/index.vue
+++ b/pages/sub_tabbar/index.vue
@@ -14,7 +14,7 @@
 				<view class="img-box" @click="toPath('/pages/sub_index/qrcode/index')">
 					<u-image src="/static/images/index/money.png" width="40rpx" height="40rpx" mode="aspectFit"></u-image>
 				</view>
-				<view class="img-box" @click="toPath('/pages/sub_medical/appointment')">
+				<view class="img-box" @click="toPath('')">
 					<u-image src="/static/images/index/square.png" width="40rpx" height="40rpx" mode="aspectFit"></u-image>
 				</view>
 			</view>
@@ -57,7 +57,7 @@
 						<text class="wrap-active-con-item-desc-desc">签到即可领积分</text>
 					</view>
 				</view>
-				<view class="wrap-active-con-item" @click="toUrl('/pages/sub_index/activeDetails/index?id='+ activity.articleno + '&type=' + activity.code)">
+				<view class="wrap-active-con-item" @click="activity.length == 0?'':toUrl('/pages/sub_index/activeDetails/index?id='+ activity.articleno + '&type=' + activity.code)">
 					<u-image src="/static/images/index/smkhd.png" width="70rpx" height="70rpx"></u-image>
 					<view class="wrap-active-con-item-desc">
 						<text class="wrap-active-con-item-desc-title">{{activity.title?activity.title:''}}</text>
@@ -105,6 +105,7 @@
 </template>
 
 <script>
+	const app = getApp()
 	export default {
 		data() {
 			return {
@@ -141,8 +142,26 @@
 				}, ]
 			}
 		},
-		onShow() {},
 		methods: {
+			get_prompt() {
+				//提示更新或通告
+				let vername = app.globalData.vername
+				let verno = app.globalData.verno
+				let params = {
+					vername,
+					verno
+				}
+				this.$u.get('/i/app/prompt', params).then(res => {
+					let is_have_content = res.prompt
+					if (!!is_have_content) {
+						uni.showModal({
+							title: '提示',
+							content: is_have_content
+						})
+					}
+
+				})
+			},
 			search(e) {
 				uni.showToast({
 					icon: "none",
@@ -175,46 +194,14 @@
 								}
 								//console.log(param.url)
 								that.$u.get('/v1/qrcode/auth', param).then(ret => {
-									//console.log(ret.data.url)
+									// console.log(ret.data)
 									if (ret.data.permit) {
 										if (ret.data.action == 'water') {
-											// setTimeout(() => {
-											// 	uni.navigateTo({
-											// 		url: "/pages/sub_index/scanView/index?url=" + ret.data.url
-											// 	})
-											// }, 1500)
-											let userid = uni.getStorageSync("userid")
-											let url = ret.data.url
-											if (url.indexOf("?") > 0) {
-												url = url + "&userid=" + userid
-											} else {
-												url = url + "?userid=" + userid
-											}
-											let wv = plus.webview.create(url, 'webview_water', {
-												backButtonAutoControl: 'close',
-												popGesture: 'close'
-											})
 											setTimeout(() => {
-												wv.show()
+												uni.navigateTo({
+													url: "/pages/sub_index/scanView/index?url=" + ret.data.url
+												})
 											}, 1500)
-											wv.drag({
-												direction: 'right',
-												moveMode: 'followFinger'
-											}, {
-												view: 'webview_water',
-												moveMode: 'follow'
-											}, function(e) {
-												wv.close()
-											});
-											wv.drag({
-												direction: 'left',
-												moveMode: 'followFinger'
-											}, {
-												view: 'webview_water',
-												moveMode: 'follow'
-											}, function(e) {
-												wv.close()
-											});
 										} else if (ret.data.action == 'dlsmkh5') {
 											let token = uni.getStorageSync('token')
 											let wv = plus.webview.create(ret.data.url, 'webview_pay', {
@@ -241,75 +228,6 @@
 				// #endif
 
 			},
-
-			// scan() {
-			// 	let that = this
-			// 	// #ifndef H5
-			// 	// 只允许通过相机扫码
-			// 	uni.scanCode({
-			// 		success: function(res) {
-			// 			let url = res.result
-			// 			console.log(url)
-			// 			uni.showToast({
-			// 				title: "扫描成功",
-			// 				icon: "none",
-			// 				duration: 800,
-			// 				complete() {
-			// 					let param = {
-			// 						url: url
-			// 					}
-			// 					console.log(param.url)
-			// 					that.$u.get('/v1/qrcode/auth', param).then(ret => {
-			// 						console.log(ret.data.url)
-			// 						if (ret.data.permit) {
-			// 							if (ret.data.action == 'water') {
-			// 								setTimeout(() => {
-			// 									uni.navigateTo({
-			// 										url: "/pages/sub_index/scanView/index?url=" + ret.data.url
-			// 									})
-			// 								}, 1500)
-			// 							} else if (ret.data.action == 'dlsmkh5') {
-			// 								// #ifdef APP-PLUS
-			// 									let token = uni.getStorageSync('token')
-			// 									let wv = plus.webview.create(ret.data.url, 'webview_pay', {
-			// 										backButtonAutoControl:'close',
-			// 										additionalHttpHeaders: {
-			// 											Authorization: 'Bearer ' + token
-			// 										}
-			// 									})
-			// 									setTimeout(() => {
-			// 										wv.show()
-			// 									}, 1500)
-			// 								// #endif
-			// 								// #ifndef APP-PLUS
-			// 								uni.showToast({
-			// 									icon: "none",
-			// 									title: "只支持app端",
-			// 									duration: 1500
-			// 								})
-			// 								// #endif
-			// 							}
-			// 						} else {
-			// 							uni.showToast({
-			// 								icon: "none",
-			// 								title: "暂不支持此二维码",
-			// 								duration: 1500
-			// 							})
-			// 						}
-			// 					})
-			// 				}
-			// 			})
-			// 		}
-			// 	});
-			// 	// #endif
-			// 	// #ifdef H5
-			// 	uni.showToast({
-			// 		icon: "none",
-			// 		title: "H5不支持此功能",
-			// 		duration: 1500
-			// 	})
-			// 	// #endif
-			// },
 			getActivityList() {
 				let that = this
 				let param = [{
@@ -356,6 +274,10 @@
 		},
 		onLoad() {
 			this.getBannarList()
+			setTimeout(() => {
+				this.get_prompt()
+			}, 5 * 1000)
+			this.getActivityList()
 			// #ifdef APP-PLUS
 			//引入插件
 			const KJJPush = uni.requireNativePlugin('KJ-JPush');
diff --git a/static/css/iconfont.css b/static/css/iconfont.css
index 3568e25..e35a107 100644
--- a/static/css/iconfont.css
+++ b/static/css/iconfont.css
@@ -1,5 +1,6 @@
 @font-face {font-family: "custom-icon";
-  src:url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2')
+  src: 
+  url('data:application/x-font-woff2;charset=utf-8;base64,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') format('woff2')
 }
 
 .custom-icon {
@@ -10,6 +11,10 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.custom-icon-mibao:before {
+  content: "\e6ce";
+}
+
 .custom-icon-email:before {
   content: "\e678";
 }
diff --git a/static/js/http.interceptor.js b/static/js/http.interceptor.js
index 4087b6c..0748b4b 100644
--- a/static/js/http.interceptor.js
+++ b/static/js/http.interceptor.js
@@ -2,10 +2,10 @@
 	// 此为自定义配置参数,具体参数见上方说明
 	Vue.prototype.$u.http.setConfig({
 		// baseUrl: 'https://yy.dlsmk.cn/payapi/mobileapi', // 大理智警域名 
-		baseUrl:'https://yy.dlsmk.cn/portal/mobileapi', //正式地址
+		// baseUrl:'https://yy.dlsmk.cn/portal/mobileapi', //正式地址
 		// baseUrl:'http://yy.dlsmk.cn:8080/portal/mobileapi', //测试地址
 		// baseUrl:'/api',
-		// baseUrl: "http://172.28.43.20:8089/portal/mobileapi",//本地地址
+		baseUrl: "http://172.28.43.20:8089/portal/mobileapi",//本地地址
 		// method: 'POST',
 		// 设置为json,返回后会对数据进行一次JSON.parse()
 		dataType: 'json',
@@ -32,7 +32,8 @@
 		//console.log(config.url,config.header['Authorization'])
 		config.header["X-TENANT-ID"] = tenantid;
 		if (config.url == "/i/activity" || config.url == "/v1/feedback/release" 
-		|| config.url == '/medicineapi/medicalcard/add' || config.url == '/medicalapi/pay') {
+		|| config.url == '/medicineapi/medicalcard/add' || config.url == '/medicalapi/pay'
+		||config.url == '/v1/security/save' || config.url == '/i/security/check' || config.url == '/i/security/pwdset') {
 			config.header['content-type'] = "application/json";
 		} else {
 			config.header['content-type'] = "application/x-www-form-urlencoded";