diff --git a/App.vue b/App.vue
index 47af5bb..fa9f0db 100644
--- a/App.vue
+++ b/App.vue
@@ -5,6 +5,8 @@
 		},
 		onLaunch() {
 			let that = this
+			
+			//获取平台信息
 			uni.getSystemInfo({
 				success(res) {
 					uni.setStorageSync('platform', res.platform)
@@ -18,7 +20,7 @@
 			let version = v + '(' + c + ')'
 			that.globalData.version = version
 
-			//获取uuid
+			//获取设备uuid
 			plus.device.getInfo({
 				success(res) {
 					let uuid = res.uuid
diff --git a/manifest.json b/manifest.json
index 6672599..632e48e 100644
--- a/manifest.json
+++ b/manifest.json
@@ -1,215 +1,262 @@
 {
-    "name" : "大理市民卡",
-    "appid" : "__UNI__6DDB720",
-    "description" : "大理市民服务app",
-    "versionName" : "2.1.0",
-    "versionCode" : 5,
-    "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" : {},
-            "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}"
-                        }
-                    }
-                }
-            }
-        }
-    },
-    "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"
-    },
-    "channel_list" : [
-        {
-            "id" : "baidu",
-            "name" : "百度应用市场"
-        }
-    ]
+	"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": "百度应用市场"
+	}]
 }
diff --git a/nativeplugins/Mpaas-Scan/ios/meta.config b/nativeplugins/Mpaas-Scan/ios/meta.config
new file mode 100644
index 0000000..ba57269
--- /dev/null
+++ b/nativeplugins/Mpaas-Scan/ios/meta.config
@@ -0,0 +1,20 @@
+{
+	"appId":"ONEX1D49B6A241152",
+	"appKey":"ONEX1D49B6A241152_IOS",
+	"base64Code":"/9j/4AAQSkZJRgABAQEAYABgAAD/2wBDAAMCAgMCAgMDAwMEAwMEBQgFBQQEBQoHBwYIDAoMDAsKCwsNDhIQDQ4RDgsLEBYQERMUFRUVDA8XGBYUGBIUFRT/2wBDAQMEBAUEBQkFBQkUDQsNFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBT/wAARCAADAAMDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/8QAtRAAAgEDAwIEAwUFBAQAAAF9AQIDAAQRBRIhMUEGE1FhByJxFDKBkaEII0KxwRVS0fAkM2JyggkKFhcYGRolJicoKSo0NTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqDhIWGh4iJipKTlJWWl5iZmqKjpKWmp6ipqrKztLW2t7i5usLDxMXGx8jJytLT1NXW19jZ2uHi4+Tl5ufo6erx8vP09fb3+Pn6/8QAHwEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoL/8QAtREAAgECBAQDBAcFBAQAAQJ3AAECAxEEBSExBhJBUQdhcRMiMoEIFEKRobHBCSMzUvAVYnLRChYkNOEl8RcYGRomJygpKjU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6goOEhYaHiImKkpOUlZaXmJmaoqOkpaanqKmqsrO0tba3uLm6wsPExcbHyMnK0tPU1dbX2Nna4uPk5ebn6Onq8vP09fb3+Pn6/9oADAMBAAIRAxFobXF3hJ2CNJ8/SWNZW5Q44QGJ22kFAwABAQAAAAQAAB4AAADAAAAAFAAAAIcAAAABAAAAAAAAAAAAAAAAAAAAAAAAABUAAAABAAAAAAAAAAAAAAAIAAAAAAAAAIsS5F93AAAAAAAAAAAAAABVWwBOfR0SrSIJ/ITdz28UX/oxae3WSeRaVQOdDjghZJQishE/xL5hzbrlqopUvulP71I8xpshIPAkvf91cmdjbngBAwF4dWZ3AwECBgEAEQEBCAFxdHNqb3bKCYAt+YFC+8IbpBxqp74LC7j6fXLnMEqcQlQvaO5IR4BCNipPRSfJukf+oiU2lvm71+Ba47r7eap/jeZSiZTB/9k96/6v6FK4vFMesbWed8FNIqh/Rz3sBFQXRol3yBlCkBypL6kbs0ywBJNO2Var/EAQ2rZ+bi0fGGf35nZZ86KpoPJYcOX7FIZAqVydeCkgh4vX81kFBVScq4Mn3HtAkztKRBKyNdxNn1C7XGGCLmC1PQoww36UL3E3Y2ijFM2Ct4GdlzCviFGr1P8AAMKgGAYAAAAA",
+	"bundleId":"com.dalicitycard.app",
+	"rootPath":"mpaas/ios/ONEX1D49B6A241152-default",
+	"workspaceId":"default",
+	"syncport":"443",
+	"syncserver":"mpaas-mss.aliyuncs.com",
+	"logGW":"https://mpaas-mas-loggw.aliyuncs.com",
+	"pushPort":"443",
+	"pushGW":"mpaas-mps.aliyuncs.com",
+	"mpaasapi":"https://cn-hangzhou-component-gw.cloud.alipay.com/mgw.htm",
+	"rpcGW":"https://mpaas-mgs.aliyuncs.com/mgw.htm",
+	"mrtcserver":"wss://cn-hangzhou-mrtc.cloud.alipay.com/ws",
+	"mpaasConfigVersion":"V_1.0",
+	"mpaasConfigEnv":"ONEX_CLOUD",
+	"mpaasConfigPluginExpired":"",
+	"mpaasConfigLicense":"Db4aL4Dac1G7SekUIk75KL9Wo2BAjGZC8O/I6tzSNxlQmS3e8uhUQHFZ/ELbMeDlfC8MC1C8Qg5vtMIwO8stxh22ZqyAPMsWnmBcuYpbQASxl+15WvtL5zvrrDXjJzlvfy6Sg95dtZsyHpUvZZ3gg4GtMLE/vBJxz0RIxaOEIEHA8A3lZ9dJJCC33LMZzID8pC3B9N7Wsltv2q9310SiOpafBS9aUc1qYWsDY8crzF+ocCt27sB0aNnK5SiCosr/Xw/pxmPeSQXUX8oHPXbhNnS8ZViQbxqsXuyE3Aj5G9X4Ys/nRRTaJo29W32PTMNzcASH1v6VMIq/h1+8zqR5Pw=="
+}
\ No newline at end of file
diff --git a/pages.json b/pages.json
index 244b707..94efca2 100644
--- a/pages.json
+++ b/pages.json
@@ -6,20 +6,20 @@
 			"path": "pages/sub_tabbar/index",
 			"style": {
 				"navigationBarTitleText": "首页",
-				"enablePullDownRefresh":true,
+				"enablePullDownRefresh": true,
 				"app-plus": {
 					"titleNView": false,
-					"pullToRefresh":{
-						"support":true,
-						"range":"20%",
-						"contentdown":{
-							"caption":"下拉刷新"
+					"pullToRefresh": {
+						"support": true,
+						"range": "20%",
+						"contentdown": {
+							"caption": "下拉刷新"
 						},
-						"contentover":{
-							"caption":"正在刷新"
+						"contentover": {
+							"caption": "正在刷新"
 						},
-						"contentrefresh":{
-							"caption":"刷新成功"
+						"contentrefresh": {
+							"caption": "刷新成功"
 						}
 					}
 				}
@@ -45,19 +45,19 @@
 			"path": "pages/sub_tabbar/active",
 			"style": {
 				"navigationBarTitleText": "活动",
-				"enablePullDownRefresh":true,
+				"enablePullDownRefresh": true,
 				"app-plus": {
-					"pullToRefresh":{
-						"support":true,
-						"range":"20%",
-						"contentdown":{
-							"caption":"下拉刷新"
+					"pullToRefresh": {
+						"support": true,
+						"range": "20%",
+						"contentdown": {
+							"caption": "下拉刷新"
 						},
-						"contentover":{
-							"caption":"正在刷新"
+						"contentover": {
+							"caption": "正在刷新"
 						},
-						"contentrefresh":{
-							"caption":"刷新成功"
+						"contentrefresh": {
+							"caption": "刷新成功"
 						}
 					}
 				}
@@ -375,6 +375,12 @@
 				}
 			},
 			{
+				"path": "bindEmail/index",
+				"style": {
+					"navigationBarTitleText": "设置邮箱"
+				}
+			},
+			{
 				"path": "integralQuery/index",
 				"style": {
 					"navigationBarTitleText": "积分查询"
@@ -391,8 +397,7 @@
 		]
 	}, {
 		"root": "pages/sub_medical",
-		"pages": [
-			{
+		"pages": [{
 				"path": "appointment",
 				"style": {
 					"navigationBarTitleText": "预约挂号"
diff --git a/pages/sub_basic/login/index.vue b/pages/sub_basic/login/index.vue
index 7da6209..050f84c 100644
--- a/pages/sub_basic/login/index.vue
+++ b/pages/sub_basic/login/index.vue
@@ -122,7 +122,6 @@
 					platform: platform
 				}
 				that.$u.post('/login',params).then(res => {
-					
 					uni.setStorageSync("token", res.token)
 					uni.setStorageSync("uid", res.uid)
 					uni.setStorageSync("userid", res.userid)
@@ -135,10 +134,11 @@
 					uni.setStorageSync("localpwd", res.localpwd)
 					uni.setStorageSync("phone", tel)
 					uni.setStorageSync("phoneX", res.phone)
-					uni.setStorageSync("imgurl", res.imgurl)
+					uni.setStorageSync("imageurl", res.imageurl)
 					uni.setStorageSync("idno", res.idno)
 					uni.setStorageSync("cardno", res.citizenCardNo)
 					uni.setStorageSync("bankcardno", res.bankCardNo)
+					uni.setStorageSync("email", res.email)
 					let ranNum = Math.ceil(Math.random() * 25)
 					let c = String.fromCharCode(65 + ranNum)
 					// #ifndef MP-WEIXIN
@@ -213,6 +213,7 @@
 					uni.setStorageSync("idno", res.idno)
 					uni.setStorageSync("cardno", res.citizenCardNo)
 					uni.setStorageSync("bankcardno", res.bankCardNo)
+					uni.setStorageSync("email", res.email)
 					if(res.needcheck){
 						uni.navigateTo({
 							url:'/pages/sub_basic/verification/index?data=' + JSON.stringify(params)
diff --git a/pages/sub_basic/verification/index.vue b/pages/sub_basic/verification/index.vue
index 2f60329..f3050b0 100644
--- a/pages/sub_basic/verification/index.vue
+++ b/pages/sub_basic/verification/index.vue
@@ -91,6 +91,7 @@
 					uni.setStorageSync("idno", res.idno)
 					uni.setStorageSync("cardno", res.citizenCardNo)
 					uni.setStorageSync("bankcardno", res.bankCardNo)
+					uni.setStorageSync("email", res.email)
 					uni.showToast({
 						title: "验证成功",
 						icon: "none",
diff --git a/pages/sub_index/scanView/index.vue b/pages/sub_index/scanView/index.vue
index a9515a8..dbf9b26 100644
--- a/pages/sub_index/scanView/index.vue
+++ b/pages/sub_index/scanView/index.vue
@@ -21,42 +21,39 @@
 		onLoad(option) {
 			let that = this
 			let userid = uni.getStorageSync("userid")
-			that.userid = 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
-			//console.log(url)
 		},
 		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);
-		},
-		methods: {
-
+			// 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);
 		},
 	}
 </script>
diff --git a/pages/sub_medical/addPatient.vue b/pages/sub_medical/addPatient.vue
index 94cfda8..332bb0c 100644
--- a/pages/sub_medical/addPatient.vue
+++ b/pages/sub_medical/addPatient.vue
@@ -57,7 +57,7 @@
 					name,sex,cardno,mobile,
 					hospitalcode:''
 				}
-				that.$u.post('/medicineapi/medicalcard/add',params).then(res=>{
+				that.$u.post('/medicalapi/medicalcard/add',params).then(res=>{
 					console.log(res.data)
 				})
 			}
diff --git a/pages/sub_medical/appointment.vue b/pages/sub_medical/appointment.vue
index 5de78b7..cf7fd6a 100644
--- a/pages/sub_medical/appointment.vue
+++ b/pages/sub_medical/appointment.vue
@@ -7,7 +7,7 @@
 		<view class="appointment-search">
 			<u-search placeholder="搜索医院名称" v-model="hospial" :show-action="false" bg-color="#ffffff" @focus="toPath('/pages/sub_medical/hospital')"></u-search>
 		</view>
-		<view class="appointment-record">
+		<!-- <view class="appointment-record">
 			<u-cell-group>
 				<u-cell-item title="我的挂号记录" value="查看更多" @click="toPath('/pages/sub_medical/record')"></u-cell-item>
 			</u-cell-group>
@@ -40,18 +40,18 @@
 			<view class="appointment-record-nomsg" v-else>
 				<text>暂无挂号记录</text>
 			</view>
-			<!-- <view class="appointment-record-btn">
+			<view class="appointment-record-btn">
 				<u-button :plain="true" size="mini" type="primary" shape="circle">取消预约</u-button>
-			</view> -->
-		</view>
+			</view>
+		</view> -->
 		<view class="appointment-hospital">
 			<u-cell-group>
 				<u-cell-item title="本地医院" value="查看更多" @click="toPath('/pages/sub_medical/hospital')"></u-cell-item>
 			</u-cell-group>
 			<view class="appointment-hospital-msg" v-if="hospital_list.length != 0">
-				<view class="appointment-hospital-msg-box" @click="toPath('/pages/sub_medical/outpatient')" v-for="(v,i) in hospital_list" :key="i">
+				<view class="appointment-hospital-msg-box" @click="toPath('/pages/sub_medical/cashFlow?hospitalcode=' + v.hospitalcode)" v-for="(v,i) in hospital_list" :key="i">
 					<view class="appointment-hospital-msg-left">
-						<u-image :src="v.src" width="100" mode="widthFix"></u-image>
+						<u-image :src="v.icon" width="100" mode="widthFix"></u-image>
 					</view>
 					<view class="appointment-hospital-msg-right">
 						<view class="appointment-hospital-msg-right-item">
@@ -87,6 +87,7 @@
 			}
 		},
 		onLoad() {
+			uni.setNavigationBarTitle({title:'医院查询'})
 			this.get_hospital_list()
 			this.getLocal()
 		},
@@ -115,9 +116,14 @@
 					pagesize:3,
 					name:''
 				}
-				that.$u.get('/medicineapi/hospital/list',params).then(res=>{
-					that.hospital_list = res.data.list
-					console.log(res.data.list)
+				that.$u.get('/medicalapi/hospital/list',params).then(res=>{
+					let url = uni.getStorageSync('imageurl')
+					let list = res.data.list
+					list.forEach(item=>{
+						item.icon = url + '/' + item.picid
+					})
+					that.hospital_list = list
+					console.log(list)
 				})
 			}
 		}
diff --git a/pages/sub_medical/cashFlow.vue b/pages/sub_medical/cashFlow.vue
index efe1ff2..6f5091b 100644
--- a/pages/sub_medical/cashFlow.vue
+++ b/pages/sub_medical/cashFlow.vue
@@ -9,20 +9,23 @@
 		<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">
+					<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>
-								<text>挂号费</text>
+								<text>{{v.mergingName}}</text>
 							</view>
 							<view class="cashFlow-ul-item-left-bottom">
-								<text class="cashFlow-ul-item-left-bottom-bold">01</text>
-								<text class="cashFlow-ul-item-left-bottom-normal">天内缴费，截止日期2020/10/28 23:59:59</text>
+								<!-- <text class="cashFlow-ul-item-left-bottom-bold">科类:</text> -->
+								<text class="cashFlow-ul-item-left-bottom-normal" style="margin-right: 50rpx;">科类：{{v.subjectName}}</text>
+								<!-- <text class="cashFlow-ul-item-left-bottom-bold"></text> -->
+								<text class="cashFlow-ul-item-left-bottom-normal">医生：{{v.doctorName}}</text>
 							</view>
 						</view>
 						<view class="cashFlow-ul-item-right">
-							<text>￥23.5</text>
+							<text>￥{{v.mergingSubtotal}}</text>
 						</view>
+						<view class="cashFlow-ul-item-status" v-if="v.status == 'wip'">订单支付中</view>
 					</view>
 				</view>
 			</scroll-view>
@@ -30,20 +33,21 @@
 		<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">
+					<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>
-								<text>挂号费</text>
+								<text>{{v.mergingname}}</text>
 							</view>
 							<view class="cashFlow-ul-item-left-bottom">
 								<text class="cashFlow-ul-item-left-bottom-normal">缴费日期：</text>
-								<text class="cashFlow-ul-item-left-bottom-normal">2020-10-28 12:30:59</text>
+								<text class="cashFlow-ul-item-left-bottom-normal">{{v.paytime}}</text>
 							</view>
 						</view>
 						<view class="cashFlow-ul-item-right">
-							<text>￥23.5</text>
+							<text>￥{{v.mergingsubtotal}}</text>
 						</view>
+						<view class="cashFlow-ul-item-status" v-if="!v.notifyStatus">通知医院</view>
 					</view>
 				</view>
 			</scroll-view>
@@ -55,13 +59,55 @@
 	export default {
 		data() {
 			return {
-				leftOright: true
+				leftOright: true,
+				unpay_list:[],
+				hospitalcode:'',
+				payed_list:[]
 			}
 		},
+		onLoad(options){
+			let hospitalcode = options.hospitalcode
+			this.hospitalcode = hospitalcode
+			// this.get_unpay_list(hospitalcode)
+		},
 		methods: {
+			get_unpay_list(code){
+				let that = this
+				let param = {
+					hospitalcode : code
+				}
+				that.$u.post('/medicalapi/unpayed/list',param).then(res=>{
+					that.unpay_list = res.data
+				})
+			},
+			get_payed_list(code){
+				let that = this
+				let param = {
+					hospitalcode : code,
+					pageno:1,
+					pagesize:100
+				}
+				that.$u.post('/medicalapi/payed/list',param).then(res=>{
+					let list = res.data
+					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) 
+					})
+					that.payed_list = list
+				})
+			},
 			changeTurnoverList(e) {
 				this.leftOright = e
+				if(e){
+					this.get_unpay_list(this.hospitalcode)
+				}else{
+					this.get_payed_list(this.hospitalcode)
+				}
 			},
+		},
+		onShow(){
+			this.get_unpay_list(this.hospitalcode)
 		}
 	}
 </script>
@@ -117,14 +163,27 @@
 				align-items: center;
 				padding: 30rpx 20rpx;
 				border-radius: 10rpx;
+				margin-bottom: 30rpx;
+				position: relative;
+				&-status{
+					position: absolute;
+					bottom: 20rpx;
+					right: 20rpx;
+					font-size: 26rpx;
+					color: #18B566;
+				}
 				&-left{
 					display:  flex;
 					flex-direction: column;
 					justify-content: space-between;
+					width: 75%;
 					&-top{
 						display: flex;
 						align-items: center;
 						text{
+							overflow: hidden;
+							text-overflow: ellipsis;
+							white-space: nowrap;
 							font-size: 36rpx;
 							margin-left: 10rpx;
 							font-weight: bold;
diff --git a/pages/sub_medical/hospital.vue b/pages/sub_medical/hospital.vue
index 1b66fc1..7cf850d 100644
--- a/pages/sub_medical/hospital.vue
+++ b/pages/sub_medical/hospital.vue
@@ -67,7 +67,7 @@
 					pagesize: 10,
 					name: name
 				}
-				that.$u.get('/medicineapi/hospital/list', params).then(res => {
+				that.$u.get('/medicalapi/hospital/list', params).then(res => {
 					that.hospital_list = res.data.list
 					that.notice = '没有搜索到此关键词'
 					console.log(res.data.list)
diff --git a/pages/sub_medical/patient.vue b/pages/sub_medical/patient.vue
index f6d549c..094a73b 100644
--- a/pages/sub_medical/patient.vue
+++ b/pages/sub_medical/patient.vue
@@ -62,7 +62,7 @@
 			deleteMenber(){
 				let that = this
 				let cardid = '123'
-				that.$u.post('/medicineapi/medicalcard/delete/' + cardid).then(res=>{
+				that.$u.post('/medicalapi/medicalcard/delete/' + cardid).then(res=>{
 					console.log(res.data)
 				})
 			}
diff --git a/pages/sub_medical/pay.vue b/pages/sub_medical/pay.vue
index 751d7d3..c763a23 100644
--- a/pages/sub_medical/pay.vue
+++ b/pages/sub_medical/pay.vue
@@ -1,30 +1,59 @@
 <template>
 	<view class="pay">
 		<u-cell-group>
-			<u-cell-item title="挂号费" :title-style="tstyle" :arrow="false">
+			<u-cell-item :title="msg.mergingName" :title-style="tstyle" :arrow="false">
 				<u-image slot="icon" src="./images/cush.png" width="60" height="60" mode="aspectFit"></u-image>
 			</u-cell-item>
-			<u-cell-item title="缴费金额"  :arrow="false" value="23.50元" :value-style="vstyle"></u-cell-item>
+			<u-cell-item title="缴费金额" :arrow="false" :value="msg.mergingSubtotal+'元'" :value-style="vstyle"></u-cell-item>
 		</u-cell-group>
 		<u-cell-group>
-			<u-cell-item title="商户名称"  :arrow="false" value="大理市第一人民医院"></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="未支付"></u-cell-item>
+			<u-cell-item title="医院名称" :arrow="false" :value="msg.hospitalName"></u-cell-item>
+			<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-group>
-		<u-button @click="" :custom-style="payBtn">立即支付</u-button>
+		<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>
+		<!-- 支付密码弹框 -->
+		<uni-popup ref="showPassword" class="pwd-wrapper">
+			<view class="uni-tip uni-pwd">
+				<text class="uni-tip-title">请输入支付密码</text>
+				<view class="pwd-text-wrap">
+					<password-input @tap="openKeyBoard('number')" :length="length" :gutter="0" :list="numberList"></password-input>
+				</view>
+			</view>
+		</uni-popup>
+		<keyboard-package ref="number" @onInput="onInput" @onDelete="onDelete" @onConfirm="onConfirm" :disableDot="true" />
 	</view>
 </template>
 
 <script>
-	export default{
-		data(){
-			return{
+	import keyboardPackage from "./z_components/keyboard-package/keyboard-package.vue"
+	import passwordInput from "./z_components/password-input/password-input.vue"
+	import uniPopup from './z_components/uni-popup/uni-popup.vue'
+	export default {
+		components: {
+			uniPopup,
+			keyboardPackage,
+			passwordInput
+		},
+		data() {
+			return {
+				numberList: [],
+				length: 6,
+				type: 'number',
 				tstyle: {
 					marginLeft: '10rpx',
 					fontWeight: 'bold'
 				},
 				vstyle: {
-					color: '#FF6F6F'
+					color: '#FF6F6F',
+					fontSize:'30rpx'
+				},
+				status_style: {
+					color: '#18B566',
+					fontSize:'30rpx'
 				},
 				payBtn: {
 					backgroundColor: ' #2FA8E1',
@@ -35,23 +64,191 @@
 					border: '1px solid #2FA8E1',
 					marginTop: '50rpx'
 				},
+				msg: {},
+				kind:''
 			}
 		},
-		methods:{
-			
+		methods: {
+			// 呼起键盘
+			openKeyBoard(key) {
+				this.type = key;
+				this.$refs[key].open();
+			},
+			// 输入密码
+			onInput(val) {
+				this.numberList.push(val)
+				if (this.numberList.length == this.length) {
+					this.$refs.showPassword.close()
+					this.$refs[this.type].close()
+					this.pay()
+				}
+			},
+			//完成输入点击完成
+			onConfirm() {
+				let length = this.numberList.length
+				if (length == this.length) {
+					this.$refs.showPassword.close()
+					this.$refs[this.type].close()
+				} else {
+					this.numberList = []
+					uni.showToast({
+						title: '密码错误',
+						icon: 'none'
+					})
+				}
+			},
+			//删除密码
+			onDelete(val) {
+				this.numberList.pop(val)
+			},
+			//打开密码输入框
+			open() {
+				this.numberList = []
+				this.$refs.showPassword.open()
+				this.openKeyBoard('number')
+			},
+			pay() {
+				let that = this
+				let pwd = ''
+				let billno = that.msg.billNo
+				that.numberList.forEach(item => {
+					pwd += item + ''
+				})
+				let param = {
+					paypwd: pwd,
+					billno
+				}
+				that.$u.post('/medicalapi/pay', param).then(res => {
+					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)
+				})
+			},
+			query() {
+				let that = this
+				let billno = that.msg.billNo
+				that.$u.post('/medicalapi/pay/query/' + billno, {}).then(res => {
+					let status = res.status
+					if(status == 'wip'){
+						uni.showToast({
+							icon:'none',
+							title:'订单正在支付中，请稍等...'
+						})
+					}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)
+					}
+				})
+			}
 		},
-		onLoad(){
-			
+		onLoad(options) {
+			let msg = JSON.parse(options.msg)
+			let id = options.id
+			this.kind = id
+			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) {
+					case 'init':
+						msg.status_ok = '未支付';
+						break
+					case 'wip':
+						msg.status_ok = '订单正在支付中...'
+						break
+				}
+				this.msg = msg
+			}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
+				this.msg = msg
+			}
 		}
 	}
 </script>
 
 <style lang="scss" scoped>
-	.u-cell-box{
+	.u-cell-box {
 		margin-bottom: 30rpx;
 	}
-	.pay{
+
+	.pay {
 		font-family: "PingFang-SC-Medium";
 	}
-	
+
+	.pwd-wrapper {
+		background: rgba(0, 0, 0, .4);
+		z-index: 1;
+
+		/deep/.uni-popup__wrapper.uni-custom.center {
+			.uni-popup__wrapper-box {
+				position: unset;
+				max-width: none;
+				max-height: none;
+				overflow-y: hidden;
+				background: none;
+				margin-top: -70rpx;
+				padding: 60rpx 30rpx 30rpx;
+			}
+
+			.pwd-text-wrap {
+				width: 100%;
+				padding: 50rpx 43rpx 60rpx;
+				box-sizing: border-box;
+			}
+		}
+
+		.uni-tip {
+			/* #ifndef APP-NVUE */
+			display: flex;
+			flex-direction: column;
+			/* #endif */
+			margin-top: -60rpx;
+			width: 570rpx;
+			background-color: #fff;
+			border-radius: 12rpx;
+			position: relative;
+		}
+
+		.uni-pwd {
+			width: 630rpx;
+		}
+
+		.uni-tip-icon-wrap {
+			text-align: center;
+		}
+
+		.uni-tip-content {
+			padding: 31rpx 40rpx 60rpx;
+			font-size: 30rpx;
+			color: #6F737A;
+		}
+	}
+
+	.uni-tip-title {
+		margin-top: 30rpx;
+		text-align: center;
+		font-weight: 500;
+		font-size: 34rpx;
+		color: $uni-text-color;
+	}
 </style>
diff --git a/pages/sub_medical/payResult.vue b/pages/sub_medical/payResult.vue
index bd09b48..e36fd54 100644
--- a/pages/sub_medical/payResult.vue
+++ b/pages/sub_medical/payResult.vue
@@ -1,23 +1,23 @@
 <template>
 	<view class="payResult">
-		<view class="payResult-status" v-if="msg.billstatus ==2">
+		<view class="payResult-status" v-if="msg.billstatus ==1">
 			<icon type="success" size="60" color="#3599FB"></icon>
 			<text class="payResult-status-text">支付成功</text>
 		</view>
-		<view class="payResult-status" v-if="msg.billstatus !=2">
+		<view class="payResult-status" v-if="msg.billstatus ==0">
 			<icon type="warn" size="60"></icon>
 			<text class="payResult-status-text">支付失败</text>
 		</view>
-		<view class="payResult-money" v-if="msg.billstatus ==2"><text>-￥{{msg.amount?msg.amount:'0.00'}}</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.shopname?msg.shopname:'未知商户'" :arrow="false" bg-color="#FFFFFF"></u-cell-item>
-				<u-cell-item title="交易方式" :value="msg.billname?msg.billname:'未知方式'" :arrow="false" bg-color="#FFFFFF"></u-cell-item>
+				<u-cell-item title="医院名称" :value="msg.hospitalName?msg.hospitalName:'未知医院'" :arrow="false" bg-color="#FFFFFF"></u-cell-item>
+				<u-cell-item title="交易方式" value="大理市民卡" :arrow="false" bg-color="#FFFFFF"></u-cell-item>
 				<u-cell-item title="交易时间" :value="msg.paytime?msg.paytime:'未知时间'" :arrow="false" bg-color="#FFFFFF"></u-cell-item>
-				<u-cell-item title="订单号" :value="msg.refno?msg.refno:'未知订单号'" :arrow="false" bg-color="#FFFFFF"></u-cell-item>
+				<u-cell-item title="订单号" :value="msg.billNo?msg.billNo:'未知订单号'" :arrow="false" bg-color="#FFFFFF"></u-cell-item>
 			</u-cell-group>
 		</view>
-		<u-button class="btn":custom-style="btn"  @tap="goBack">返回首页</u-button>
+		<u-button class="btn":custom-style="btn"  @tap="goBack">返回待缴费列表</u-button>
 	</view>
 </template>
 
@@ -39,17 +39,28 @@
 		},
 		onLoad(options) {
 			let that = this;
-			if (options.data) {
-				let msg = JSON.parse(options.data);
-				msg.amount = msg.amount.toFixed(2);
-				that.msg = msg
+			let msg = JSON.parse(options.msg)
+			let status = options.status
+			let date = options.date
+			switch(status){
+				case 'fail':
+				msg.billstatus = 0;
+				break
+				case 'success':
+				msg.billstatus = 1;
+				break
+				case 'wip': //订单状态等待中 需查询
+				msg.billstatus = 2;
+				break
 			}
+			msg.paytime = date
+			that.msg = msg
 		},
 		methods: {
 			goBack() {
-				uni.switchTab({
-					url: '/pages/sub_tabbar/index'
-				});
+				uni.navigateBack({
+					delta:2
+				})
 			}
 		}
 	}
@@ -73,6 +84,12 @@
 				margin-top: 30rpx;
 			}
 		}
+		&-money{
+			padding: 30rpx;
+			font-size: 50rpx;
+			text-align: right;
+			color: #2FA8E1;
+		}
 		&-msg{
 			margin-top: 50rpx;
 		}
diff --git a/pages/sub_medical/z_components/keyboard-package/keyboard-package.vue b/pages/sub_medical/z_components/keyboard-package/keyboard-package.vue
new file mode 100644
index 0000000..0d92542
--- /dev/null
+++ b/pages/sub_medical/z_components/keyboard-package/keyboard-package.vue
@@ -0,0 +1,299 @@
+<template>
+	<uni-popup :custom="true" type="bottom" ref="keyboardPackage">
+		<view class="keyboardbox">
+			<view class="numkeyboard" v-if="type==='number'">
+				<view class="num-area">
+					<view class="row" v-for="(item,index) in numKeybordList" :key="index">
+						<view :class="['item',ite===0?'z':'',(disableDot && ite==='.')?'disabled':'']" v-for="(ite,idx) in item"
+						 hover-class="active" :hover-start-time="0" :hover-stay-time="5" :key="idx" @tap="input(ite)">{{ite}}</view>
+					</view>
+				</view>
+				<view class="btn-area">
+					<view :class="['item','del']" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="deleteVal">
+						删除
+					</view>
+					<view class="confirem item" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="confirm">
+						完成
+					</view>
+				</view>
+			</view>
+
+			<view class="numkeyboard" v-if="type==='idCard'">
+				<view class="num-area">
+					<view class="row" v-for="(item,index) in idCardList" :key="index">
+						<view :class="['item',ite===0?'z':'',(disableDot && ite==='.')?'disabled':'']" v-for="(ite,idx) in item"
+						 hover-class="active" :hover-start-time="0" :hover-stay-time="5" :key="idx" @tap="input(ite)">{{ite}}</view>
+					</view>
+				</view>
+				<view class="btn-area">
+					<view :class="['item','del']" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="deleteVal">
+						删除
+					</view>
+					<view class="confirem item" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="confirm">
+						完成
+					</view>
+				</view>
+			</view>
+
+			<view class="platenumber" v-if="type==='plateNumber'">
+				<view class="header">
+					<view @tap="active=active===1?2:1" hover-class="active" :hover-start-time="0" :hover-stay-time="5">{{active===1?'地区':'车牌号'}}</view>
+					<view hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="confirm">完成</view>
+				</view>
+				<view class="main">
+					<view class="normal" v-if="active===1">
+						<view class="row" v-for="(item,index) in EngKeyBoardList" :key="index">
+							<view class="item" v-for="(ite,idx) in item" :key="idx" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="input(ite)">
+								{{ite}}
+							</view>
+							<view class="item img" v-if="index===EngKeyBoardList.length-1" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="deleteVal">
+								<image src="/static/delete.png" mode=""></image>
+							</view>
+						</view>
+					</view>
+					<view class="area" v-if="active===2">
+						<view class="row" v-for="(item,index) in areaList" :key="index">
+							<view class="item" v-for="(ite,idx) in item" :key="idx" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="input(ite)">
+								{{ite}}
+							</view>
+							<view class="item img" v-if="index===EngKeyBoardList.length-1" hover-class="active" :hover-start-time="0" :hover-stay-time="5" @tap="deleteVal">
+								<image src="/static/delete.png" mode=""></image>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="safe-area" v-if="safeAreaInsetBottom"></view>
+	</uni-popup>
+</template>
+
+<script>
+	import uniPopup from "../uni-popup/uni-popup.vue"
+	export default {
+		components: {
+			uniPopup
+		},
+		props: {
+			type: {
+				type: String,
+				default: 'number'
+			},
+			safeAreaInsetBottom: { //是否设置安全区
+				type: Boolean,
+				default: false
+			},
+			disableDot: { //数字键盘是否禁止点击.仅type为number生效
+				type: Boolean,
+				default: false
+			}
+		},
+		data() {
+			return {
+				numKeybordList: [
+					[1, 2, 3],
+					[4, 5, 6],
+					[7, 8, 9],
+					[0, '.']
+				],
+				idCardList: [
+					[1, 2, 3],
+					[4, 5, 6],
+					[7, 8, 9],
+					[0, 'X']
+				],
+				areaList: [
+					['京', '沪', '粤', '津', '冀', '豫', '云', '辽', '黑', '湘'],
+					['皖', '鲁', '苏', '浙', '赣', '鄂', '桂', '甘', '晋', '陕'],
+					['蒙', '吉', '闽', '贵', '渝', '川', '青', '琼', '宁'],
+					['藏', '新', '使', '港', '澳', '学']
+				],
+				EngKeyBoardList: [
+					[1, 2, 3, 4, 5, 6, 7, 8, 9, 0],
+					['Q', 'W', 'E', 'R', 'T', 'Y', 'U', 'I', 'O', 'P'],
+					['A', 'S', 'D', 'F', 'G', 'H', 'J', 'K', 'L'],
+					['Z', 'X', 'C', 'V', 'B', 'N', 'M']
+				],
+				active: 1
+			};
+		},
+		methods: {
+			open() {
+				this.$refs.keyboardPackage.open();
+			},
+			confirm() {
+				this.$emit('onConfirm');
+			},
+			deleteVal() {
+				this.$emit('onDelete');
+			},
+			input(val) {
+				if (val === '.' && this.disableDot) return;
+				this.$emit('onInput', val);
+			},
+			close() {
+				this.$refs.keyboardPackage.close();
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.keyboardbox {
+		background-color: #FFFFFF;
+
+		.numkeyboard {
+			height: 432rpx;
+			display: flex;
+			background-color: #ebedf0;
+
+			.btn-area {
+				width: 180rpx;
+				height: 100%;
+				display: flex;
+				flex-direction: column;
+
+				.item {
+					width: 100%;
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					flex-grow: 1;
+				}
+
+				.del {
+					background-color: #ebedf0;
+					color: #333;
+
+					&.active {
+						background-color: #f1f3f5;
+					}
+				}
+
+				.confirem {
+					background-color: #1989fa;
+					color: #FFFFFF;
+
+					&.active {
+						background-color: #0570db;
+					}
+				}
+			}
+
+			.num-area {
+				flex-grow: 1;
+				display: flex;
+				flex-wrap: wrap;
+
+				.row {
+					width: 100%;
+					height: 25%;
+					display: flex;
+					margin-top: 1px;
+
+					.item {
+						flex-grow: 1;
+						height: 100%;
+						display: flex;
+						justify-content: center;
+						align-items: center;
+						background-color: #FFFFFF;
+						border-right: 1px solid #ebedf0;
+						width: 33.33%;
+						
+						&.active {
+							background-color: #ebedf0;
+						}
+
+						&.z {
+							flex-grow: 2;
+							width: 66.66%;
+						}
+
+						&.disabled {
+							background: #FFFFFF;
+							color: #B9B9B9;
+						}
+					}
+				}
+
+			}
+		}
+	}
+
+	.safe-area {
+		padding-bottom: 0rpx;
+		padding-bottom: constant(safe-area-inset-bottom);
+		padding-bottom: env(safe-area-inset-bottom);
+	}
+
+	.platenumber {
+		background-color: #f5f5f5;
+
+		.header {
+			height: 76rpx;
+			background-color: #FFFFFF;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+			font-size: 28rpx;
+			border-top: 1px solid #f5f5f5;
+
+			&>view {
+				padding: 0 45rpx;
+				color: #00a7ea;
+				height: 100%;
+				display: flex;
+				align-items: center;
+				&.active {
+					background-color: #ebedf0;
+				}
+			}
+		}
+
+		.main {
+			height: 435rpx;
+
+			.row {
+				margin: 13rpx 0;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+
+				.item {
+					width: 56rpx;
+					height: 94rpx;
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					background-color: #FFFFFF;
+					border-radius: 6rpx;
+					margin: 0 7rpx;
+					font-size: 24rpx;
+					&.active {
+						background-color: #ebedf0;
+					}
+
+					&.img {
+						background-color: #c2cacc;
+						width: 94rpx;
+
+						&.active {
+							background-color: #ddd;
+						}
+
+						&>image {
+							width: 49rpx;
+							height: 48rpx;
+						}
+					}
+				}
+			}
+
+		}
+		
+	}
+	// /deep/.uni-popup__mask.uni-bottom {
+	// 	background:rgba(0, 0, 0, .4);
+	// }
+</style>
diff --git a/pages/sub_medical/z_components/password-input/password-input.vue b/pages/sub_medical/z_components/password-input/password-input.vue
new file mode 100644
index 0000000..f02de6c
--- /dev/null
+++ b/pages/sub_medical/z_components/password-input/password-input.vue
@@ -0,0 +1,103 @@
+<template>
+	<view class="box">
+		<view :class="['item',list.length===index?'fakecursor':'']" v-for="(item,index) in length" :key="item" :style="{margin:formatMargin(gutter)}">
+			<view :class="['circle',(index<list.length)?'dot':'']"></view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		props:{
+			length:{//长度只允许为6和4
+				type:Number,
+				default:6,
+				validator(val){
+					if(val!==6 && val !==4){
+						return false;
+					}
+					return true;
+				}
+			},
+			gutter:{
+				type:Number,
+				default:0
+			},
+			list:{
+				type:Array,
+				default:function(){
+					return [];
+				}
+			}
+		},
+		data() {
+			return {
+			};
+		},
+		computed:{
+			
+		},
+		methods:{
+			formatMargin(gutter){
+				return 0 + ' ' + gutter+'rpx';
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.box {
+		display: flex;
+		.item{
+			position: relative;
+			background-color: #FFFFFF;
+			height: 90upx;
+			width: 90upx;
+			flex-grow: 1;
+			flex-shrink: 0;
+			border: 1px solid #D9DCE0;
+			border-right: 0;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			&:nth-child(6) {
+				border-right: 1px solid #D9DCE0;
+			}
+			.circle{
+				width: 18rpx;
+				height: 18rpx;
+				border-radius: 50%;
+				background-color: #fff;
+				&.dot{
+					background-color: #000;
+				}
+			}
+		}
+	}
+
+	.fakecursor::after {
+		content: '';
+		display: block;
+		width: 1px;
+		height: 32rpx;
+		animation: blink 1s infinite steps(1, start);
+		position: absolute;
+		left: 50%;
+		top: 50%;
+		margin-top: -16rpx;
+	}
+
+	@keyframes blink {
+		0% {
+			background-color: white;
+		}
+
+		50% {
+			background-color: black;
+		}
+
+		100% {
+			background-color: white;
+		}
+	}
+</style>
diff --git a/pages/sub_medical/z_components/uni-popup/message.js b/pages/sub_medical/z_components/uni-popup/message.js
new file mode 100644
index 0000000..6688e84
--- /dev/null
+++ b/pages/sub_medical/z_components/uni-popup/message.js
@@ -0,0 +1,29 @@
+export default {
+	created() {
+		if (this.type === 'message') {
+			// 获取自组件对象
+			this.maskShow = false
+			this.children = null
+		}
+	},
+	created() {
+		if (this.type === 'message') {
+			// 不显示遮罩
+			this.maskShow = false 
+			// 获取子组件对象
+			this.childrenMsg = null
+		}
+	},
+	methods: {
+		customOpen() {
+			if (this.childrenMsg) {
+				this.childrenMsg.open()
+			}
+		},
+		customClose() {
+			if (this.childrenMsg) {
+				this.childrenMsg.close()
+			}
+		}
+	}
+}
diff --git a/pages/sub_medical/z_components/uni-popup/popup.js b/pages/sub_medical/z_components/uni-popup/popup.js
new file mode 100644
index 0000000..2a7f22f
--- /dev/null
+++ b/pages/sub_medical/z_components/uni-popup/popup.js
@@ -0,0 +1,25 @@
+import message from './message.js';
+// 定义 type 类型:弹出类型：top/bottom/center
+const config = {
+	// 顶部弹出
+	top:'top',
+	// 底部弹出
+	bottom:'bottom',
+	// 居中弹出
+	center:'center',
+	// 消息提示
+	message:'top',
+	// 对话框
+	dialog:'center',
+	// 分享
+	share:'bottom',
+}
+
+export default {
+	data(){
+		return {
+			config:config
+		}
+	},
+	mixins: [message],
+}
diff --git a/pages/sub_medical/z_components/uni-popup/popup.vue b/pages/sub_medical/z_components/uni-popup/popup.vue
new file mode 100644
index 0000000..26b166b
--- /dev/null
+++ b/pages/sub_medical/z_components/uni-popup/popup.vue
@@ -0,0 +1,112 @@
+<template>
+	<uni-popup ref="showtip" :mask-click="false" >
+		<view class="uni-tip">
+			<view class="uni-tip-icon-wrap"><img class="uni-tip-icon" src="~@/static/tip.svg"></view>
+			<text class="uni-tip-title">{{title}}</text>
+			<text class="uni-tip-content">{{content}}</text>
+			<view class="uni-tip-group-button">
+				<text class="uni-tip-button" @click="cancel">取消</text>
+				<text class="uni-tip-button uni-tip-button-confirm" @click="confirm">确定</text>
+			</view>
+		</view>
+	</uni-popup>
+</template>
+
+<script>
+import uniPopup from "@/components/uni-popup/uni-popup.vue"
+export default {
+	components: {uniPopup},
+	props:{
+		title:{
+			type: String,
+			default:''
+		},
+		content:{
+			type: String,
+			default:''
+		},
+		isShowPopup: {
+			type: Boolean,
+			default: false
+		}
+	},
+	data() {
+		return {
+			
+		}
+	},
+	onLoad() {
+		console.log('测试',this.isShowPopup)
+	},
+	watch:{
+		isShowPopup(val) {
+			val ? this.$refs.showtip.open() : this.$refs.showtip.close()
+			console.log('显示',val)
+		}
+	},
+	methods:{
+		cancel() {
+			this.$refs.showtip.close()
+		},
+		confirm() {
+			this.$emit('confirm')
+			this.$refs.showtip.close()
+		},
+	}
+}
+</script>
+
+<style scoped lang="scss">
+.uni-tip {
+	/* #ifndef APP-NVUE */
+	display: flex;
+	flex-direction: column;
+	/* #endif */
+	width: 570upx;
+	background-color: #fff;
+	border-radius: 12upx;
+	border: 1upx solid #D9DCE0;
+}
+.uni-pwd {
+	width: 630upx;
+}
+.uni-tip-icon-wrap {
+	text-align: center;
+}
+.uni-tip-icon {
+	text-align: center;
+	margin-top: 60upx;
+	width: 90upx;
+	height: 90upx;
+}
+.uni-tip-title {
+	margin-top: 30upx;
+	text-align: center;
+	font-weight: 500;
+	font-size: 34upx;
+	color: $uni-text-color;
+}
+.uni-tip-content {
+	padding: 31upx 40upx 60upx;
+	font-size: 30upx;
+	color: #6F737A;
+}
+.uni-tip-group-button {
+	/* #ifndef APP-NVUE */
+	display: flex;
+	/* #endif */
+	flex-direction: row;
+	border-top: 1upx solid #D9DCE0;
+}
+.uni-tip-button {
+	flex: 1;
+	text-align: center;
+	font-size: 32upx;
+	color: #3b4144;
+	padding: 29upx 0;
+}
+.uni-tip-button-confirm {
+	border-left: 1upx solid #D9DCE0;
+	color: #1574DF;
+}
+</style>
diff --git a/pages/sub_medical/z_components/uni-popup/uni-popup-dialog.vue b/pages/sub_medical/z_components/uni-popup/uni-popup-dialog.vue
new file mode 100644
index 0000000..c91123c
--- /dev/null
+++ b/pages/sub_medical/z_components/uni-popup/uni-popup-dialog.vue
@@ -0,0 +1,243 @@
+<template>
+	<view class="uni-popup-dialog">
+		<view class="uni-dialog-title">
+			<text class="uni-dialog-title-text" :class="['uni-popup__'+dialogType]">{{title}}</text>
+		</view>
+		<view class="uni-dialog-content">
+			<text class="uni-dialog-content-text" v-if="mode === 'base'">{{content}}</text>
+			<input v-else class="uni-dialog-input" v-model="val" type="text" :placeholder="placeholder" :focus="focus" >
+		</view>
+		<view class="uni-dialog-button-group">
+			<view class="uni-dialog-button" @click="close">
+				<text class="uni-dialog-button-text">取消</text>
+			</view>
+			<view class="uni-dialog-button uni-border-left" @click="onOk">
+				<text class="uni-dialog-button-text uni-button-color">确定</text>
+			</view>
+		</view>
+
+	</view>
+</template>
+
+<script>
+	/**
+	 * PopUp 弹出层-对话框样式
+	 * @description 弹出层-对话框样式
+	 * @tutorial https://ext.dcloud.net.cn/plugin?id=329
+	 * @property {String} value input 模式下的默认值
+	 * @property {String} placeholder input 模式下输入提示
+	 * @property {String} type = [success|warning|info|error] 主题样式
+	 *  @value success 成功
+	 * 	@value warning 提示
+	 * 	@value info 消息
+	 * 	@value error 错误
+	 * @property {String} mode = [base|input] 模式、
+	 * 	@value base 基础对话框
+	 * 	@value input 可输入对话框
+	 * @property {String} content 对话框内容
+	 * @property {Boolean} beforeClose 是否拦截取消事件
+	 * @event {Function} confirm 点击确认按钮触发
+	 * @event {Function} close 点击取消按钮触发
+	 */
+
+	export default {
+		name: "uniPopupDialog",
+		props: {
+			value: {
+				type: [String, Number],
+				default: ''
+			},
+			placeholder: {
+				type: [String, Number],
+				default: '请输入内容'
+			},
+			/**
+			 * 对话框主题 success/warning/info/error	  默认 success
+			 */
+			type: {
+				type: String,
+				default: 'error'
+			},
+			/**
+			 * 对话框模式 base/input
+			 */
+			mode: {
+				type: String,
+				default: 'base'
+			},
+			/**
+			 * 对话框标题
+			 */
+			title: {
+				type: String,
+				default: '提示'
+			},
+			/**
+			 * 对话框内容
+			 */
+			content: {
+				type: String,
+				default: ''
+			},
+			/**
+			 * 拦截取消事件 ，如果拦截取消事件，必须监听close事件，执行 done()
+			 */
+			beforeClose: {
+				type: Boolean,
+				default: false
+			}
+		},
+		data() {
+			return {
+				dialogType: 'error',
+				focus: false,
+				val: ""
+			}
+		},
+		inject: ['popup'],
+		watch: {
+			type(val) {
+				this.dialogType = val
+			},
+			mode(val) {
+				if (val === 'input') {
+					this.dialogType = 'info'
+				}
+			},
+			value(val) {
+				this.val = val
+			}
+		},
+		created() {
+			// 对话框遮罩不可点击
+			this.popup.mkclick = false
+			if (this.mode === 'input') {
+				this.dialogType = 'info'
+				this.val = this.value
+			} else {
+				this.dialogType = this.type
+			}
+		},
+		mounted() {
+			this.focus = true
+		},
+		methods: {
+			/**
+			 * 点击确认按钮
+			 */
+			onOk() {
+				this.$emit('confirm', () => {
+					this.popup.close()
+					if (this.mode === 'input') this.val = this.value
+				}, this.mode === 'input' ? this.val : '')
+			},
+			/**
+			 * 点击取消按钮
+			 */
+			close() {
+				if (this.beforeClose) {
+					this.$emit('close', () => {
+						this.popup.close()
+					})
+					return
+				}
+				this.popup.close()
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.uni-popup-dialog {
+		width: 300px;
+		border-radius: 15px;
+		background-color: #fff;
+	}
+
+	.uni-dialog-title {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		justify-content: center;
+		padding-top: 15px;
+		padding-bottom: 5px;
+	}
+
+	.uni-dialog-title-text {
+		font-size: 16px;
+		font-weight: 500;
+	}
+
+	.uni-dialog-content {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+		padding: 5px 15px 15px 15px;
+	}
+
+	.uni-dialog-content-text {
+		font-size: 14px;
+		color: #6e6e6e;
+	}
+
+	.uni-dialog-button-group {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		border-top-color: #f5f5f5;
+		border-top-style: solid;
+		border-top-width: 1px;
+	}
+
+	.uni-dialog-button {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+
+		flex: 1;
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+		height: 45px;
+	}
+
+	.uni-border-left {
+		border-left-color: #f0f0f0;
+		border-left-style: solid;
+		border-left-width: 1px;
+	}
+
+	.uni-dialog-button-text {
+		font-size: 14px;
+	}
+
+	.uni-button-color {
+		color: $uni-color-primary;
+	}
+
+	.uni-dialog-input {
+		flex: 1;
+		font-size: 14px;
+	}
+
+	.uni-popup__success {
+		color: $uni-color-success;
+	}
+
+	.uni-popup__warn {
+		color: $uni-color-warning;
+	}
+
+	.uni-popup__error {
+		color: $uni-color-error;
+	}
+
+	.uni-popup__info {
+		color: #909399;
+	}
+</style>
diff --git a/pages/sub_medical/z_components/uni-popup/uni-popup-message.vue b/pages/sub_medical/z_components/uni-popup/uni-popup-message.vue
new file mode 100644
index 0000000..a32bd00
--- /dev/null
+++ b/pages/sub_medical/z_components/uni-popup/uni-popup-message.vue
@@ -0,0 +1,116 @@
+<template>
+	<view class="uni-popup-message" :class="'uni-popup__'+[type]">
+		<text class="uni-popup-message-text" :class="'uni-popup__'+[type]+'-text'">{{message}}</text>
+	</view>
+</template>
+
+<script>
+	
+	/**
+	 * PopUp 弹出层-消息提示
+	 * @description 弹出层-消息提示
+	 * @tutorial https://ext.dcloud.net.cn/plugin?id=329
+	 * @property {String} type = [success|warning|info|error] 主题样式
+	 *  @value success 成功
+	 * 	@value warning 提示
+	 * 	@value info 消息
+	 * 	@value error 错误
+	 * @property {String} message 消息提示文字
+	 * @property {String} duration 显示时间，设置为 0 则不会自动关闭
+	 */
+	
+	export default {
+		name: 'UniPopupMessage',
+		props: {
+			/**
+			 * 主题 success/warning/info/error	  默认 success
+			 */
+			type: {
+				type: String,
+				default: 'success'
+			},
+			/**
+			 * 消息文字
+			 */
+			message: {
+				type: String,
+				default: ''
+			},
+			/**
+			 * 显示时间，设置为 0 则不会自动关闭
+			 */
+			duration: {
+				type: Number,
+				default: 3000
+			}
+		},
+		inject: ['popup'],
+		data() {
+			return {}
+		},
+		created() {
+			this.popup.childrenMsg = this
+		},
+		methods: {
+			open() {
+				if (this.duration === 0) return
+				clearTimeout(this.popuptimer)
+				this.popuptimer = setTimeout(() => {
+					this.popup.close()
+				}, this.duration)
+			},
+			close() {
+				clearTimeout(this.popuptimer)
+			}
+		}
+	}
+</script>
+<style lang="scss" scoped>
+	.uni-popup-message {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		background-color: #e1f3d8;
+		padding: 10px 15px;
+		border-color: #eee;
+		border-style: solid;
+		border-width: 1px;
+	}
+	.uni-popup-message-text {
+		font-size: 14px;
+		padding: 0;
+	}
+
+	.uni-popup__success {
+		background-color: #e1f3d8;
+	}
+
+	.uni-popup__success-text {
+		color: #67C23A;
+	}
+
+	.uni-popup__warn {
+		background-color: #faecd8;
+	}
+
+	.uni-popup__warn-text {
+		color: #E6A23C;
+	}
+
+	.uni-popup__error {
+		background-color: #fde2e2;
+	}
+
+	.uni-popup__error-text {
+		color: #F56C6C;
+	}
+
+	.uni-popup__info {
+		background-color: #F2F6FC;
+	}
+
+	.uni-popup__info-text {
+		color: #909399;
+	}
+</style>
diff --git a/pages/sub_medical/z_components/uni-popup/uni-popup-share.vue b/pages/sub_medical/z_components/uni-popup/uni-popup-share.vue
new file mode 100644
index 0000000..4c11a13
--- /dev/null
+++ b/pages/sub_medical/z_components/uni-popup/uni-popup-share.vue
@@ -0,0 +1,165 @@
+<template>
+	<view class="uni-popup-share">
+		<view class="uni-share-title"><text class="uni-share-title-text">{{title}}</text></view>
+		<view class="uni-share-content">
+			<view class="uni-share-content-box">
+				<view class="uni-share-content-item" v-for="(item,index) in bottomData" :key="index" @click.stop="select(item,index)">
+					<image class="uni-share-image" :src="item.icon" mode="aspectFill"></image>
+					<text class="uni-share-text">{{item.text}}</text>
+				</view>
+
+			</view>
+		</view>
+		<view class="uni-share-button-box">
+			<button class="uni-share-button" @click="close">取消</button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: 'UniPopupShare',
+		props: {
+			title: {
+				type: String,
+				default: '分享到'
+			}
+		},
+		inject: ['popup'],
+		data() {
+			return {
+				bottomData: [{
+						text: '微信',
+						icon: 'https://img-cdn-qiniu.dcloud.net.cn/uni-ui/grid-2.png',
+						name: 'wx'
+					},
+					{
+						text: '支付宝',
+						icon: 'https://img-cdn-qiniu.dcloud.net.cn/uni-ui/grid-8.png',
+						name: 'wx'
+					},
+					{
+						text: 'QQ',
+						icon: 'https://img-cdn-qiniu.dcloud.net.cn/uni-ui/gird-3.png',
+						name: 'qq'
+					},
+					{
+						text: '新浪',
+						icon: 'https://img-cdn-qiniu.dcloud.net.cn/uni-ui/grid-1.png',
+						name: 'sina'
+					},
+					{
+						text: '百度',
+						icon: 'https://img-cdn-qiniu.dcloud.net.cn/uni-ui/grid-7.png',
+						name: 'copy'
+					},
+					{
+						text: '其他',
+						icon: 'https://img-cdn-qiniu.dcloud.net.cn/uni-ui/grid-5.png',
+						name: 'more'
+					}
+				]
+			}
+		},
+		created() {},
+		methods: {
+			/**
+			 * 选择内容
+			 */
+			select(item, index) {
+				this.$emit('select', {
+					item,
+					index
+				}, () => {
+					this.popup.close()
+				})
+			},
+			/**
+			 * 关闭窗口
+			 */
+			close() {
+				this.popup.close()
+			}
+		}
+	}
+</script>
+<style lang="scss" scoped>
+	.uni-popup-share {
+		background-color: #fff;
+	}
+	.uni-share-title {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		align-items: center;
+		justify-content: center;
+		height: 40px;
+	}
+	.uni-share-title-text {
+		font-size: 14px;
+		color: #666;
+	}
+	.uni-share-content {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		justify-content: center;
+		padding-top: 10px;
+	}
+	
+	.uni-share-content-box {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		flex-wrap: wrap;
+		width: 360px;
+	}
+	
+	.uni-share-content-item {
+		width: 90px;
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: column;
+		justify-content: center;
+		padding: 10px 0;
+		align-items: center;
+	}
+	
+	.uni-share-content-item:active {
+		background-color: #f5f5f5;
+	}
+	
+	.uni-share-image {
+		width: 30px;
+		height: 30px;
+	}
+	
+	.uni-share-text {
+		margin-top: 10px;
+		font-size: 14px;
+		color: #3B4144;
+	}
+	
+	.uni-share-button-box {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex-direction: row;
+		padding: 10px 15px;
+	}
+	
+	.uni-share-button {
+		flex: 1;
+		border-radius: 50px;
+		color: #666;
+		font-size: 16px;
+	}
+	
+	.uni-share-button::after {
+		border-radius: 50px;
+	}
+</style>
diff --git a/pages/sub_medical/z_components/uni-popup/uni-popup.vue b/pages/sub_medical/z_components/uni-popup/uni-popup.vue
new file mode 100644
index 0000000..50434e6
--- /dev/null
+++ b/pages/sub_medical/z_components/uni-popup/uni-popup.vue
@@ -0,0 +1,187 @@
+<template>
+	<view v-if="showPopup" class="uni-popup">
+		<view :class="[ani, animation ? 'ani' : '', !custom ? 'uni-custom' : '']" class="uni-popup__mask" @click="close(true)" />
+		<view :class="[type, ani, animation ? 'ani' : '', !custom ? 'uni-custom' : '']" class="uni-popup__wrapper" @click="close(true)">
+			<view class="uni-popup__wrapper-box" @click.stop="clear">
+				<slot />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: 'UniPopup',
+		props: {
+			// 开启动画
+			animation: {
+				type: Boolean,
+				default: true
+			},
+			// 弹出层类型，可选值，top: 顶部弹出层；bottom：底部弹出层；center：全屏弹出层
+			type: {
+				type: String,
+				default: 'center'
+			},
+			// 是否开启自定义
+			custom: {
+				type: Boolean,
+				default: false
+			},
+			// maskClick
+			maskClick: {
+				type: Boolean,
+				default: true
+			},
+			show: {
+				type: Boolean,
+				default: true
+			}
+		},
+		data() {
+			return {
+				ani: '',
+				showPopup: false
+			}
+		},
+		watch: {
+			show(newValue) {
+				if (newValue) {
+					this.open()
+				} else {
+					this.close()
+				}
+			}
+		},
+		created() {},
+		methods: {
+			clear() {},
+			open() {
+				this.$emit('change', {
+					show: true
+				})
+				this.showPopup = true
+				this.$nextTick(() => {
+					setTimeout(() => {
+						this.ani = 'uni-' + this.type
+					}, 30)
+				})
+			},
+			close(type) {
+				if (!this.maskClick && type) return
+				this.$emit('change', {
+					show: false
+				})
+				this.ani = ''
+				this.$nextTick(() => {
+					setTimeout(() => {
+						this.showPopup = false
+					}, 300)
+				})
+			}
+		}
+	}
+</script>
+<style>
+	@charset "UTF-8";
+
+	.uni-popup {
+		position: fixed;
+		top: 0;
+		top: 0;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		z-index: 99999;
+		overflow: hidden
+	}
+
+	.uni-popup__mask {
+		position: absolute;
+		top: 0;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		z-index: 998;
+		/* background: rgba(0, 0, 0, .4); */
+		opacity: 0
+	}
+
+	.uni-popup__mask.ani {
+		transition: all .3s
+	}
+
+	.uni-popup__mask.uni-bottom,
+	.uni-popup__mask.uni-center,
+	.uni-popup__mask.uni-top {
+		opacity: 1
+	}
+
+	.uni-popup__wrapper {
+		position: absolute;
+		z-index: 999;
+		box-sizing: border-box
+	}
+
+	.uni-popup__wrapper.ani {
+		transition: all .3s
+	}
+
+	.uni-popup__wrapper.top {
+		top: 0;
+		left: 0;
+		width: 100%;
+		transform: translateY(-100%)
+	}
+
+	.uni-popup__wrapper.bottom {
+		bottom: 0;
+		left: 0;
+		width: 100%;
+		transform: translateY(100%)
+	}
+
+	.uni-popup__wrapper.center {
+		width: 100%;
+		height: 100%;
+		display: flex;
+		justify-content: center;
+		align-items: center;
+		transform: scale(1.2);
+		opacity: 0
+	}
+
+	.uni-popup__wrapper-box {
+		position: relative;
+		box-sizing: border-box
+	}
+
+	.uni-popup__wrapper.uni-custom .uni-popup__wrapper-box {
+		padding: 30upx;
+		background: #fff
+	}
+
+	.uni-popup__wrapper.uni-custom.center .uni-popup__wrapper-box {
+		position: relative;
+		max-width: 80%;
+		max-height: 80%;
+		overflow-y: scroll
+	}
+
+	.uni-popup__wrapper.uni-custom.bottom .uni-popup__wrapper-box,
+	.uni-popup__wrapper.uni-custom.top .uni-popup__wrapper-box {
+		width: 100%;
+		max-height: 500px;
+		overflow-y: scroll
+	}
+
+	.uni-popup__wrapper.uni-bottom,
+	.uni-popup__wrapper.uni-top {
+		transform: translateY(0)
+	}
+
+	.uni-popup__wrapper.uni-center {
+		transform: scale(1);
+		opacity: 1
+	}
+</style>
\ No newline at end of file
diff --git a/pages/sub_mine/accountSafe/index.vue b/pages/sub_mine/accountSafe/index.vue
index add45ed..afec07c 100644
--- a/pages/sub_mine/accountSafe/index.vue
+++ b/pages/sub_mine/accountSafe/index.vue
@@ -25,6 +25,7 @@
 					{name:"设置支付密码",icon:"pay",path:"/pages/sub_mine/changePayPwd/index"},
 					{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"},
 				]
 			}
 		},
diff --git a/pages/sub_mine/bindEmail/index.vue b/pages/sub_mine/bindEmail/index.vue
new file mode 100644
index 0000000..4fcbd70
--- /dev/null
+++ b/pages/sub_mine/bindEmail/index.vue
@@ -0,0 +1,162 @@
+<template>
+	<view class="bindEmail">
+		<view class="bindEmail-field">
+			<u-field v-model="email" label="邮箱" placeholder="请输入您的邮箱号" placeholder-style="color:#999999;font-family:PingFang-SC-Regular"
+			 label-width="160" clear-size="40"></u-field>
+			<u-field v-model="code" label="验证码" placeholder="请输入验证码" clear-size="40" placeholder-style="color:#999999"
+			 label-width="160" maxlength="6" type="number">
+				<u-button size="mini" slot="right" type="primary" @click="isHaveEmail?getcode('unbind'):getcode('bind')" shape="circle"
+				 :custom-style="btn" :disabled="isChecked">{{codeText}}</u-button>
+			</u-field>
+		</view>
+		<u-button class="bindEmail-btn" @click="isHaveEmail?unbind():bind()" :custom-style="isHaveEmail?cancel:confirm">{{isHaveEmail?'解除绑定':'绑定邮箱'}}</u-button>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				email: '',
+				confirm: {
+					width: '600rpx',
+					backgroundColor: '#2FA8E1',
+					color: '#FFFFFF',
+					fontFamily: "PingFang-SC-Medium",
+					fontSize: '30rpx',
+					marginTop: '100rpx',
+					padding: '50rpx 0'
+				},
+				cancel: {
+					width: '600rpx',
+					backgroundColor: '#fa3534',
+					color: '#FFFFFF',
+					fontFamily: "PingFang-SC-Medium",
+					fontSize: '30rpx',
+					marginTop: '100rpx',
+					padding: '50rpx 0'
+				},
+				isChecked: false,
+				codeText: '获取验证码',
+				btn: {
+					color: '#2FA8E1',
+					backgroundColor: '#FFFFFF',
+					borderColor: '#2FA8E1',
+					borderWidth: '1rpx',
+					borderStyle: 'solid',
+					fontFamily: "PingFang-SC-Regular"
+				},
+				code: '',
+				isHaveEmail: false
+			}
+		},
+		onLoad() {
+			let isHaveEmail = !!uni.getStorageSync('email')
+			this.email = uni.getStorageSync('email')
+			this.isHaveEmail = isHaveEmail
+		},
+		methods: {
+			bind() {
+				let that = this
+				let email = that.email
+				let code = that.code
+				let params = {
+					email,
+					code
+				}
+				if (!code || !email) {
+					uni.showToast({
+						title: '请输入验证码',
+						icon: 'none',
+					})
+				}
+				that.$u.post('/v1/email/bind', params).then(res => {
+					uni.showToast({
+						title: "绑定成功",
+						icon: "none",
+						duration: 800,
+						complete(res) {
+							setTimeout(() => {
+								uni.navigateBack({
+									delta: 1
+								})
+							}, 1500)
+						}
+					})
+				})
+			},
+			unbind() {
+				let that = this
+				let code = that.code
+				let params = {
+					code
+				}
+				if (!code) {
+					uni.showToast({
+						title: '请输入验证码',
+						icon: 'none',
+					})
+				}
+				that.$u.post('/v1/email/unbind', params).then(res => {
+					uni.showToast({
+						title: "解绑成功",
+						icon: "none",
+						duration: 800,
+						complete(res) {
+							uni.setStorageSync('email', '')
+							setTimeout(() => {
+								uni.navigateBack({
+									delta: 1
+								})
+							}, 1500)
+						}
+					})
+				})
+			},
+			getcode(type) {
+				let that = this
+				let reg = /^[0-9a-zA-Z_.-]+[@][0-9a-zA-Z_.-]+([.][a-zA-Z]+){1,2}$/;
+				let email = that.email
+				if (!reg.test(email)) {
+					uni.showToast({
+						title: '请输入正确的邮箱号',
+						icon: 'none',
+					})
+					return
+				}
+				let params = {
+					email,
+					type
+				}
+				that.$u.post('/v1/email/send', params).then(res => {
+					uni.showToast({
+						title: '发送成功,请去邮箱中获取验证码',
+						icon: "none",
+						duration: 800
+					})
+					let i = 120
+					that.isChecked = true
+					that.timer = setInterval(() => {
+						if (i != 0) {
+							i--
+							that.codeText = i + "s"
+						} else {
+							clearInterval(that.timer)
+							that.codeText = "重新获取"
+							that.isChecked = false
+						}
+					}, 1000)
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.bindEmail {
+		&-field {
+			margin-top: 30rpx;
+			background-color: #FFFFFF;
+		}
+	}
+</style>
diff --git a/pages/sub_mine/lock/index.vue b/pages/sub_mine/lock/index.vue
index 22886de..a2345f5 100644
--- a/pages/sub_mine/lock/index.vue
+++ b/pages/sub_mine/lock/index.vue
@@ -78,6 +78,7 @@
 					uni.setStorageSync("idno", res.idno)
 					uni.setStorageSync("cardno", res.citizenCardNo)
 					uni.setStorageSync("bankcardno", res.bankCardNo)
+					uni.setStorageSync("email", res.email)
 					if(res.needcheck){
 						uni.navigateTo({
 							url:'/pages/sub_basic/verification/index?data=' + JSON.stringify(params)
diff --git a/pages/sub_tabbar/index.vue b/pages/sub_tabbar/index.vue
index a2f261e..0851a76 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('')">
+				<view class="img-box" @click="toPath('/pages/sub_medical/appointment')">
 					<u-image src="/static/images/index/square.png" width="40rpx" height="40rpx" mode="aspectFit"></u-image>
 				</view>
 			</view>
@@ -141,8 +141,7 @@
 				}, ]
 			}
 		},
-		onShow() {
-		},
+		onShow() {},
 		methods: {
 			search(e) {
 				uni.showToast({
@@ -153,12 +152,19 @@
 			},
 
 			scan() {
+				// #ifdef APP-PLUS
 				let that = this
-				// #ifndef H5
-				// 只允许通过相机扫码
-				uni.scanCode({
-					success: function(res) {
-						let url = res.result
+				var ali = uni.requireNativePlugin("Mpaas-Scan-Module")
+				ali.mpaasScan({
+						// 扫码 UI 风格，参数可为 qr、bar，默认为 qr
+						'type': 'qr',
+						// 扫码识别类型，参数可多选，qrCode、barCode，不设置，默认识别所有
+						'scanType': ['qrCode'],
+						// 是否隐藏相册，默认false不隐藏
+						'hideAlbum': false
+					},
+					(ret) => {
+						let url = ret.resp_result
 						uni.showToast({
 							title: "扫描成功",
 							icon: "none",
@@ -167,35 +173,59 @@
 								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
+											// 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'
 											})
-											// #endif
+											setTimeout(() => {
+												wv.show()
+											}, 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', {
+												backButtonAutoControl: 'close',
+												additionalHttpHeaders: {
+													Authorization: 'Bearer ' + token
+												}
+											})
+											setTimeout(() => {
+												wv.show()
+											}, 1500)
 										}
 									} else {
 										uni.showToast({
@@ -207,17 +237,79 @@
 								})
 							}
 						})
-					}
-				});
+					})
 				// #endif
-				// #ifdef H5
-				uni.showToast({
-					icon: "none",
-					title: "H5不支持此功能",
-					duration: 1500
-				})
-				// #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 = [{
@@ -276,7 +368,7 @@
 			// #endif
 
 		},
-		async onPullDownRefresh(){
+		async onPullDownRefresh() {
 			await this.getActivityList()
 			uni.stopPullDownRefresh()
 		}
diff --git a/static/css/iconfont.css b/static/css/iconfont.css
index 4f09fdd..3568e25 100644
--- a/static/css/iconfont.css
+++ b/static/css/iconfont.css
@@ -1,6 +1,5 @@
 @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 {
@@ -11,6 +10,10 @@
   -moz-osx-font-smoothing: grayscale;
 }
 
+.custom-icon-email:before {
+  content: "\e678";
+}
+
 .custom-icon-question:before {
   content: "\e60d";
 }
diff --git a/static/js/http.interceptor.js b/static/js/http.interceptor.js
index 89d1562..4087b6c 100644
--- a/static/js/http.interceptor.js
+++ b/static/js/http.interceptor.js
@@ -4,6 +4,7 @@
 		// baseUrl: 'https://yy.dlsmk.cn/payapi/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",//本地地址
 		// method: 'POST',
 		// 设置为json，返回后会对数据进行一次JSON.parse()
@@ -30,7 +31,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') {
+		if (config.url == "/i/activity" || config.url == "/v1/feedback/release" 
+		|| config.url == '/medicineapi/medicalcard/add' || config.url == '/medicalapi/pay') {
 			config.header['content-type'] = "application/json";
 		} else {
 			config.header['content-type'] = "application/x-www-form-urlencoded";
@@ -87,6 +89,13 @@
 					// content: `${res.data.status}:${res.data.message}`,
 					showCancel: false,
 				})
+			}else{
+				uni.showModal({
+					title: "错误",
+					content: res.errMsg,
+					// content: `${res.data.status}:${res.data.message}`,
+					showCancel: false,
+				})
 			}
 			return false;
 		}
