大理市民卡小程序1.0提交
diff --git a/pages/bill/bill.js b/pages/bill/bill.js
new file mode 100644
index 0000000..d2afa2b
--- /dev/null
+++ b/pages/bill/bill.js
@@ -0,0 +1,111 @@
+// pages/bill/bill.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    hasBill: false
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+    var that = this;
+    wx.showLoading("加载中");
+    var param = {
+      "pageno": 1
+    }
+    wx.$doPost('/v1/bills', param, function(ok, ret) {
+      wx.hideLoading();
+      if (ok) {
+        ret = ret.data;
+        console.log(ret)
+        if (ret.code == 200) {
+          if (ret.page && ret.page.count > 0) {
+            that.setData({
+              hasBill: true
+            })
+          } else {
+
+            wx.showModal({
+              title: '提示',
+              content: '暂无数据',
+              showCancel: false,
+              success(res) {
+                wx.navigateBack({
+
+                })
+              }
+            })
+
+          }
+
+        } else {
+          wx.showModal({
+            title: '错误',
+            content: ret.data.msg,
+            duration: 2000
+          })
+
+        }
+      } else {
+        wx.showModal({
+          title: '错误',
+          content: "请求失败了" + ret.data.status + ",请稍后再试",
+          duration: 2000
+        })
+      }
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  }
+})
\ No newline at end of file
diff --git a/pages/bill/bill.json b/pages/bill/bill.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/bill/bill.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/bill/bill.wxml b/pages/bill/bill.wxml
new file mode 100644
index 0000000..f14622e
--- /dev/null
+++ b/pages/bill/bill.wxml
@@ -0,0 +1,10 @@
+<view class="container">
+  <view class="global-background">
+    <view class="inline-item center" wx:if="{{hasBill}}">
+      <view class="input-desc">
+      ——————暂无数据——————
+      </view>
+    </view>
+
+  </view>
+</view>
\ No newline at end of file
diff --git a/pages/bill/bill.wxss b/pages/bill/bill.wxss
new file mode 100644
index 0000000..5ec896b
--- /dev/null
+++ b/pages/bill/bill.wxss
@@ -0,0 +1 @@
+/* pages/bill/bill.wxss */
\ No newline at end of file
diff --git a/pages/bindcard/bindcard.js b/pages/bindcard/bindcard.js
new file mode 100644
index 0000000..dc76332
--- /dev/null
+++ b/pages/bindcard/bindcard.js
@@ -0,0 +1,205 @@
+// pages/bindcard/bindcard.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    index: 0,
+    idno: '',
+    name: '',
+    cardnum: '',
+    array: [
+      '身份证',
+      '驾照',
+      '外国人居留证',
+      '港澳居民来往内地通行证',
+      
+      '军官证',
+      '护照',
+      '户口簿',
+      '其他'
+    ],
+    idtypes: [
+      'idcard',
+      'driving_license',
+      'foreigner_residence_permit',
+      'hk_macau_pass',
+      
+      'military_idcard',
+      'passport',
+      'residence_booklet',
+      'unknown'
+    ],
+    // idtypes: [{
+    //     val: 'driving_license',
+    //     name: '驾照'
+    //   },
+    //   {
+    //     val: 'foreigner_residence_permit',
+    //     name: '外国人居留证'
+    //   },
+    //   {
+    //     val: 'hk_macau_pass',
+    //     name: '港澳居民来往内地通行证'
+    //   },
+    //   {
+    //     val: 'idcard',
+    //     name: '身份证'
+    //   },
+    //   {
+    //     val: 'military_idcard',
+    //     name: '军官证'
+    //   },
+    //   {
+    //     val: 'passport',
+    //     name: '护照'
+    //   },
+    //   {
+    //     val: 'residence_booklet',
+    //     name: '户口簿'
+    //   },
+    //   {
+    //     val: 'unknown',
+    //     name: '其他'
+    //   }
+    // ]
+  },
+  setName: function(e) {
+    this.setData({
+      name: e.detail.value
+    })
+  },
+  bindPickerChange: function(e) {
+    this.setData({
+      index: e.detail.value
+    })
+
+  },
+  setIdCode: function(e) {
+    this.setData({
+      idno: e.detail.value
+    })
+  },
+  setBankcard: function(e) {
+    this.setData({
+      cardnum: e.detail.value
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  },
+  doNext: function() {
+    var name=this.data.name;
+    var idno=this.data.idno;
+    var cardnum=this.data.cardnum;
+
+    if (wx.$isEmpty(name) || wx.$isEmpty(cardnum) || wx.$isEmpty(idno)) {
+      return;
+    }
+    cardnum = cardnum.trim();
+    name = name.trim();
+    idno = idno.trim();
+
+    wx.showLoading({
+      title: '正在处理',
+    })
+    var index=this.data.index;
+    var idtype = this.data.idtypes[index];
+  
+    var param = {
+      "cardno": cardnum,
+      "idtype": idtype,
+      "name": name,
+      "idno": idno
+    }
+    wx.$doPost('/v1/bindcard', param, function(ok, ret) {
+      wx.hideLoading();
+      if (ok) {
+        
+        console.log(ret)
+        if (ret.data.code == 200) {
+          wx.setStorageSync("name", name);
+          wx.setStorageSync("cardno", cardnum);
+          wx.setStorageSync("idtype", idtype);
+          wx.setStorageSync("idno", idno);
+          wx.setStorageSync("phoneX", ret.data.phonex);
+          wx.setStorageSync("personid", ret.data.personid);
+          wx.setStorageSync("signed", ret.data.signed);
+          wx.setStorageSync("paypwdset", ret.data.paypwdset);
+          wx.navigateTo({
+            url: '../bindcheck/bindcheck',
+          })
+        } else {
+          wx.showModal({
+            title: '错误',
+            content: ret.data.msg,
+            duration: 2000
+          })
+
+        }
+      } else {
+        wx.showModal({
+          title: '错误',
+          content: "请求失败了" + ret.data.status + ",请稍后再试",
+          duration: 2000
+        })
+      }
+    })
+  }
+
+
+})
\ No newline at end of file
diff --git a/pages/bindcard/bindcard.json b/pages/bindcard/bindcard.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/bindcard/bindcard.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/bindcard/bindcard.wxml b/pages/bindcard/bindcard.wxml
new file mode 100644
index 0000000..bb27689
--- /dev/null
+++ b/pages/bindcard/bindcard.wxml
@@ -0,0 +1,30 @@
+<view class="container">
+
+  <view class="global-background">
+    <view class="inline-item center" style="margin-top: 50rpx;">
+      <view class="input-desc">
+        姓名
+      </view>
+      <input  placeholder="请输入真实姓名" style="width: 70%;" bindinput="setName"></input>
+    </view>
+    <view class="inline-item center" >
+      <view class="input-desc">
+        证件类型
+      </view>
+      <picker style="width: 70%;"  bindchange="bindPickerChange" value="{{index}}" range="{{array}}">{{array[index]}}</picker>
+    </view>
+     <view class=" inline-item center ">
+      <view class="input-desc ">
+        证件号
+      </view>
+      <input placeholder="请输入证件号 " style="width: 70%; " bindinput="setIdCode"></input>
+    </view>
+     <view class="inline-item center " >
+      <view class="input-desc ">
+        银行卡号
+      </view>
+      <input placeholder="市民卡对应的银行卡号 " style="width: 70%; " bindinput="setBankcard"></input>
+    </view>
+    <button bindtap="doNext" class="long-btn " style="width: 90%; ">下一步</button>
+  </view>
+</view>
\ No newline at end of file
diff --git a/pages/bindcard/bindcard.wxss b/pages/bindcard/bindcard.wxss
new file mode 100644
index 0000000..225feef
--- /dev/null
+++ b/pages/bindcard/bindcard.wxss
@@ -0,0 +1 @@
+/* pages/bindcard/bindcard.wxss */
\ No newline at end of file
diff --git a/pages/bindcheck/bindcheck.js b/pages/bindcheck/bindcheck.js
new file mode 100644
index 0000000..3ca4c4c
--- /dev/null
+++ b/pages/bindcheck/bindcheck.js
@@ -0,0 +1,187 @@
+// pages/bindcheck/bindcheck.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    phone: '',
+    code: '',
+    sendTime: '获取验证码',
+    sendColor: 'rgb(124, 255, 112)',
+    snsMsgWait: 30,
+    smsFlag: true,
+   
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+    wx.setNavigationBarTitle({
+      title: '获取验证码',
+    })
+
+    var phone = wx.getStorageSync('phoneX');
+    if (!wx.$isEmpty(phone)) {
+      this.setData({
+        phone: phone
+      })
+    } else {
+      phone = wx.getStorageSync('phone');
+      this.setData({
+        phone: phone
+      })
+    }
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+  setCode:function(e){
+    this.setData({
+      code: e.detail.value
+    })
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  },
+  doNext: function () {
+    var code = this.data.code;
+    if (wx.$isEmpty(code)) {
+      return;
+    }
+
+    var personid = wx.getStorageSync("personid");
+    
+    var param = {
+      "personid": personid,
+      "code": code,
+    }
+    wx.$doPost('/v1/checkcode',param, function (ok, ret) {
+      if (ok) {
+     
+        console.log(ret)
+        if (ret.data.code == 200) {
+          wx.setStorageSync("paypwdtype", "new");
+          wx.setStorageSync("userid", personid);
+          var signed = wx.getStorageSync("signed");
+          var paypwdset = wx.getStorageSync("paypwdset");
+          console.log(paypwdset)
+          if (!paypwdset || 'false' == paypwdset) {
+            wx.navigateTo({
+              url: '../paypwdset/paypwdset',
+            })
+           
+          } else {
+            if (!wx.$isEmpty(signed) && signed == 'yes') {
+              wx.navigateTo({
+                url: '../index/index',
+              })
+          
+            } else {
+              wx.navigateTo({
+                url: '../signxy/signxy',
+              })
+          
+            }
+          }
+        } else {
+          wx.showModal({
+            title: '错误',
+            content: ret.data.message,
+            duration: 2000
+          })
+
+        }
+      } else {
+        wx.showModal({
+          title: '错误',
+          content: ret.data.message,
+          duration: 2000
+        })
+
+      }
+    })
+  },
+  getCode: function() {
+    if (false == this.data.smsFlag) {
+      return;
+    }
+
+    wx.$doCountdown(this);
+
+    var name = wx.getStorageSync("name");
+    var cardno = wx.getStorageSync("cardno");
+    var idtype = wx.getStorageSync("idtype");
+    var idno = wx.getStorageSync("idno");
+
+    var param = {
+      "cardno": cardno,
+      "idtype": idtype,
+      "name": name,
+      "idno": idno
+    }
+    wx.$doPost('/v1/bindcard', param, function(ok, ret) {
+      console.log(ret.data);
+      if (ok) {
+        if (ret.data.code == 200) {} else {
+          wx.showModal({
+            title: '错误',
+            content: ret.data.msg,
+
+            duration: 2000
+          })
+        }
+      } else {
+        wx.showModal({
+          title: '错误',
+          content: "请求失败了" + ret.data.status + ",请稍后再试",
+          duration: 2000
+        })
+      }
+    })
+  }
+})
\ No newline at end of file
diff --git a/pages/bindcheck/bindcheck.json b/pages/bindcheck/bindcheck.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/bindcheck/bindcheck.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/bindcheck/bindcheck.wxml b/pages/bindcheck/bindcheck.wxml
new file mode 100644
index 0000000..87dbe70
--- /dev/null
+++ b/pages/bindcheck/bindcheck.wxml
@@ -0,0 +1,18 @@
+<view class="container">
+
+  <view class="global-background">
+    <view class="" style="margin:20rpx;color:gray;font-size:25rpx">验证码已发送至:{{phone}}</view>
+    <view class="inline-item center" style="">
+      <view class="input-desc">
+        验证码
+      </view>
+      <input placeholder="请输入验证码 " type="number" style="width:70%" bindinput="setCode"></input>
+     
+
+    </view>
+    
+
+    <button bindtap="doNext" class="long-btn" style="width: 90%;">下一步</button>
+
+  </view>
+</view>
\ No newline at end of file
diff --git a/pages/bindcheck/bindcheck.wxss b/pages/bindcheck/bindcheck.wxss
new file mode 100644
index 0000000..57b9c70
--- /dev/null
+++ b/pages/bindcheck/bindcheck.wxss
@@ -0,0 +1 @@
+/* pages/bindcheck/bindcheck.wxss */
\ No newline at end of file
diff --git a/pages/cardlost/cardlost.js b/pages/cardlost/cardlost.js
new file mode 100644
index 0000000..06bbff4
--- /dev/null
+++ b/pages/cardlost/cardlost.js
@@ -0,0 +1,127 @@
+// pages/cardlost/cardlost.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    pwd: ''
+  },
+
+  setPwd: function(e) {
+    this.setData({
+      pwd: e.detail.value
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+  },
+
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  },
+  doNext: function() {
+    var pwd = this.data.pwd;
+    if (wx.$isEmpty(pwd)) {
+      return;
+    }
+    wx.showModal({
+      title: '提示',
+      content: '确定要挂失吗',
+      success(res) {
+        if (res.confirm) {
+          var param = {
+            "paypwd": pwd
+          }
+          wx.$doPost('/v1/cardlost', param, function(ok, ret) {
+            if (ok) {
+              // wx.hideLoading();
+              console.log(ret)
+              if (ret.data.status == 200) {
+                wx.showModal({
+                  title: '提示',
+                  content: '注销成功',
+                  showCancel:false,
+                  success(res) {
+                    if (res.confirm) {
+                      wx.navigateTo({
+                        url: '../index/index',
+                      })
+                    }
+                  }
+                })
+               
+              } else {
+                wx.showModal({
+                  title: '错误',
+                  content: ret.data.message,
+                  duration: 2000
+                })
+
+              }
+            } else {
+              wx.showModal({
+                title: '错误',
+                content: ret.data.msg,
+                duration: 2000
+              })
+
+            }
+          })
+
+        }
+      }
+    })
+
+  }
+})
\ No newline at end of file
diff --git a/pages/cardlost/cardlost.json b/pages/cardlost/cardlost.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/cardlost/cardlost.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/cardlost/cardlost.wxml b/pages/cardlost/cardlost.wxml
new file mode 100644
index 0000000..6c7258d
--- /dev/null
+++ b/pages/cardlost/cardlost.wxml
@@ -0,0 +1,17 @@
+<view class="container">
+
+  <view class="global-background">
+ 
+    <view class="inline-item center" style="margin-top:50rpx">
+      <view class="input-desc">
+        支付密码
+      </view>
+      <input placeholder="请输入支付密码 " maxlength="6" password="true" type="number" style="width:60%" bindinput="setPwd"></input>
+
+    </view>
+    
+
+    <button bindtap="doNext" class="long-btn" style="width: 90%;">挂失</button>
+
+  </view>
+</view>
\ No newline at end of file
diff --git a/pages/cardlost/cardlost.wxss b/pages/cardlost/cardlost.wxss
new file mode 100644
index 0000000..14027ec
--- /dev/null
+++ b/pages/cardlost/cardlost.wxss
@@ -0,0 +1 @@
+/* pages/cardlost/cardlost.wxss */
\ No newline at end of file
diff --git a/pages/editpaypwd/editpaypwd.js b/pages/editpaypwd/editpaypwd.js
new file mode 100644
index 0000000..53d217f
--- /dev/null
+++ b/pages/editpaypwd/editpaypwd.js
@@ -0,0 +1,158 @@
+// pages/editpaypwd/editpaypwd.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    newpwd: '',
+    renewpwd: '',
+    oldpwd: ''
+  },
+
+  setPassword: function(e) {
+    this.setData({
+      newpwd: e.detail.value
+    })
+  },
+
+  setPassword2: function(e) {
+    this.setData({
+      renewpwd: e.detail.value
+    })
+  },
+
+  setOriPassword: function(e) {
+    this.setData({
+      oldpwd: e.detail.value
+    })
+  },
+
+  doNext: function() {
+    var oldpwd = this.data.oldpwd;
+    var pwd = this.data.newpwd;
+    var repwd = this.data.renewpwd;
+    if (wx.$isEmpty(pwd) || wx.$isEmpty(repwd) || wx.$isEmpty(oldpwd)) {
+      return;
+    }
+    if (pwd.length < 6) {
+      wx.showModal({
+        title: '提示',
+        content: '密码为6位数字',
+      })
+      return;
+    }
+    if (pwd != repwd) {
+      wx.showModal({
+        title: '提示',
+        content: '两次密码不一致',
+      })
+      return;
+    }
+    wx.showLoading("正在保存");
+    var param = {
+      "pwd": pwd,
+      "repwd": repwd,
+      "type": "renew",
+      "oldpwd": oldpwd
+    }
+    wx.$doPost('/v1/paypwd', param, function(ok, ret) {
+      wx.hideLoading();
+      if (ok) {
+        ret = ret.data;
+
+        if (ret.code == 200) {
+          wx.showModal({
+            title: '提示',
+            content: '修改密码成功',
+            showCancel: false,
+            success(res) {
+              wx.navigateBack({})
+            }
+          })
+        } else {
+          if (ret.code == -1) {
+            wx.removeStorageSync("token");
+            wx.showModal({
+              title: '提示',
+              content: ret.msg,
+              duration: 2000
+            })
+            wx.navigateTo({
+              url: '../wxlogin/wxlogin',
+            })
+          } else {
+            wx.showModal({
+              title: '错误',
+              content: '请求失败,请稍后再试',
+              duration: 4000
+            })
+          }
+        }
+      } else {
+
+        wx.showModal({
+          title: '错误',
+          content: '请求失败,请稍后再试',
+          duration: 4000
+        })
+      }
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  }
+})
\ No newline at end of file
diff --git a/pages/editpaypwd/editpaypwd.json b/pages/editpaypwd/editpaypwd.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/editpaypwd/editpaypwd.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/editpaypwd/editpaypwd.wxml b/pages/editpaypwd/editpaypwd.wxml
new file mode 100644
index 0000000..7b5bb22
--- /dev/null
+++ b/pages/editpaypwd/editpaypwd.wxml
@@ -0,0 +1,27 @@
+<view class="container">
+
+  <view class="global-background">
+    <view class="inline-item center" style="margin-top: 50rpx;">
+      <view class="input-desc">
+        原支付密码
+      </view>
+      <input  maxlength="6" placeholder="6位密码" type="number"   password="true" style="width: 70%;" bindinput="setOriPassword"></input>
+    </view>
+
+     <view class="inline-item center"  style="margin-top: 50rpx;">
+      <view class="input-desc">
+        新支付密码
+      </view>
+      <input  maxlength="6" placeholder="6位密码" type="number"  password="true" style="width: 70%;" bindinput="setPassword"></input>
+    </view>
+    <view class="inline-item center" style="">
+      <view class="input-desc">
+        确认密码
+      </view>
+      <input  maxlength="6" placeholder="请再次确认密码" type="number"  password="true" style="width: 70%;" bindinput="setPassword2"></input>
+    </view>
+
+    <button bindtap="doNext" class="long-btn" style="width: 90%;">确认修改</button>
+
+  </view>
+</view>
\ No newline at end of file
diff --git a/pages/editpaypwd/editpaypwd.wxss b/pages/editpaypwd/editpaypwd.wxss
new file mode 100644
index 0000000..9b466c5
--- /dev/null
+++ b/pages/editpaypwd/editpaypwd.wxss
@@ -0,0 +1 @@
+/* pages/editpaypwd/editpaypwd.wxss */
\ No newline at end of file
diff --git a/pages/editpwd/editpwd.js b/pages/editpwd/editpwd.js
new file mode 100644
index 0000000..c5264b6
--- /dev/null
+++ b/pages/editpwd/editpwd.js
@@ -0,0 +1,160 @@
+// pages/editpwd/editpwd.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    newpwd: '',
+    renewpwd: '',
+    oldpwd: ''
+  },
+
+  setPassword: function(e) {
+    this.setData({
+      newpwd: e.detail.value
+    })
+  },
+
+  setPassword2: function(e) {
+    this.setData({
+      renewpwd: e.detail.value
+    })
+  },
+
+  setOriPassword: function(e) {
+    this.setData({
+      oldpwd: e.detail.value
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+    wx.setNavigationBarTitle({
+      title: '修改登录密码',
+    })
+  },
+
+  doNext: function() {
+    var oldpwd = this.data.oldpwd;
+    var pwd = this.data.newpwd;
+    var repwd = this.data.renewpwd;
+    if (wx.$isEmpty(pwd) || wx.$isEmpty(repwd) || wx.$isEmpty(oldpwd)) {
+      return;
+    }
+    if (pwd.length < 6) {
+      wx.showModal({
+        title: '提示',
+        content: '密码为6位以上字符',
+      })
+      return;
+    }
+    if (pwd != repwd) {
+      wx.showModal({
+        title: '提示',
+        content: '两次密码不一致',
+      })
+      return;
+    }
+    wx.showLoading("正在保存");
+    var param = {
+      "newpwd": pwd,
+      "renewpwd": repwd,
+      "oldpwd": oldpwd
+    }
+    wx.$doPost('/v1/pwdset', param, function(ok, ret) {
+      wx.hideLoading();
+      if (ok) {
+        ret = ret.data;
+
+        if (ret.code == 200) {
+          wx.showModal({
+            title: '提示',
+            content: '修改密码成功',
+            showCancel: false,
+            success(res) {
+              wx.navigateBack({})
+            }
+          })
+        } else {
+          if (ret.code == -1) {
+            wx.removeStorageSync("token");
+            wx.showModal({
+              title: '提示',
+              content: ret.msg,
+              duration: 2000
+            })
+            wx.navigateTo({
+              url: '../wxlogin/wxlogin',
+            })
+          } else {
+            wx.showModal({
+              title: '错误',
+              content: ret.msg,
+
+              duration: 4000
+            })
+          }
+        }
+      } else {
+
+        wx.showModal({
+          title: '错误',
+          content: ret.msg,
+          duration: 4000
+        })
+      }
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  }
+})
\ No newline at end of file
diff --git a/pages/editpwd/editpwd.json b/pages/editpwd/editpwd.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/editpwd/editpwd.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/editpwd/editpwd.wxml b/pages/editpwd/editpwd.wxml
new file mode 100644
index 0000000..0cb1d95
--- /dev/null
+++ b/pages/editpwd/editpwd.wxml
@@ -0,0 +1,27 @@
+<view class="container">
+
+  <view class="global-background">
+    <view class="inline-item center" style="margin-top: 50rpx;">
+      <view class="input-desc">
+        原登录密码
+      </view>
+      <input  placeholder="6位以上字符"  password="true" style="width: 70%;" bindinput="setOriPassword"></input>
+    </view>
+
+     <view class="inline-item center"  style="margin-top: 50rpx;">
+      <view class="input-desc">
+        新登录密码
+      </view>
+      <input  placeholder="6位以上字符" password="true" style="width: 70%;" bindinput="setPassword"></input>
+    </view>
+    <view class="inline-item center" style="">
+      <view class="input-desc">
+        确认密码
+      </view>
+      <input  placeholder="请再次确认密码" password="true" style="width: 70%;" bindinput="setPassword2"></input>
+    </view>
+
+    <button bindtap="doNext" class="long-btn" style="width: 90%;">确认修改</button>
+
+  </view>
+</view>
\ No newline at end of file
diff --git a/pages/editpwd/editpwd.wxss b/pages/editpwd/editpwd.wxss
new file mode 100644
index 0000000..910232e
--- /dev/null
+++ b/pages/editpwd/editpwd.wxss
@@ -0,0 +1 @@
+/* pages/editpwd/editpwd.wxss */
\ No newline at end of file
diff --git a/pages/findpaypwd/findpaypwd.js b/pages/findpaypwd/findpaypwd.js
new file mode 100644
index 0000000..b01a5bf
--- /dev/null
+++ b/pages/findpaypwd/findpaypwd.js
@@ -0,0 +1,166 @@
+// pages/findpaypwd/findpaypwd.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    phone: '',
+    code: '',
+    sendTime: '获取验证码',
+    sendColor: 'rgb(124, 255, 112)',
+    snsMsgWait: 30,
+    smsFlag: true
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+    wx.setNavigationBarTitle({
+      title: '获取验证码',
+    })
+   
+    var phone = wx.getStorageSync('phoneX');
+    console.log(phone);
+    if (!wx.$isEmpty(phone)) {
+      this.setData({
+        phone: phone
+      })
+    } else {
+      phone = wx.getStorageSync('phone');
+      this.setData({
+        phone: phone
+      })
+    }
+  },
+  setPhone: function (e) {
+    this.setData({
+      phone: e.detail.value
+    })
+  },
+
+  setCode: function(e) {
+    this.setData({
+      code: e.detail.value
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  },
+
+  doNext: function() {
+    var code = this.data.code;
+    if (wx.$isEmpty(code)) {
+      return;
+    }
+    var param = {
+      "code": code,
+    }
+    wx.showLoading({
+      title: '加载中',
+    })
+    wx.$doPost('/v1/checkcode', param, function(ok, ret) {
+      wx.hideLoading();
+      if (ok) {
+        
+        if (ret.data.code == 200) {
+          wx.setStorageSync("randomcode", ret.data.randcode);
+          wx.setStorageSync("paypwdtype", "find");
+        
+            wx.navigateTo({
+              url: '../paypwdset/paypwdset',
+            })
+        } else {
+          wx.showModal({
+            title: '错误',
+            content: ret.data.message,
+            duration: 2000
+          })
+
+        }
+      } else {
+        wx.showModal({
+          title: '错误',
+          content: ret.data.message,
+          duration: 2000
+        })
+
+      }
+    })
+  },
+
+  getCode: function() {
+    if (false == this.data.smsFlag) {
+      return;
+    }
+    wx.$doCountdown(this);
+
+
+    wx.$doPost('/v1/code', {}, function(ok, ret) {
+     
+      if (ok) {
+        if (ret.data.code == 200) {} else {
+          wx.showModal({
+            title: '错误',
+            content: ret.data.msg,
+
+            duration: 2000
+          })
+        }
+      } else {
+        wx.showModal({
+          title: '错误',
+          content: "请求失败了" + ret.data.status + ",请稍后再试",
+          duration: 2000
+        })
+      }
+    })
+  }
+})
\ No newline at end of file
diff --git a/pages/findpaypwd/findpaypwd.json b/pages/findpaypwd/findpaypwd.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/findpaypwd/findpaypwd.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/findpaypwd/findpaypwd.wxml b/pages/findpaypwd/findpaypwd.wxml
new file mode 100644
index 0000000..3828936
--- /dev/null
+++ b/pages/findpaypwd/findpaypwd.wxml
@@ -0,0 +1,26 @@
+<view class="container">
+
+  <view class="global-background">
+    <view class="inline-item center" style="margin-top: 50rpx;">
+      <view class="input-desc">
+        手机号
+      </view>
+      <input value="{{phone}}" maxlength="11" placeholder="请输入市民卡预留的手机号" style="width: 70%;" bindinput="setPhone"></input>
+    </view>
+    <view class="inline-item center">
+
+      <view class="input-desc">
+        验证码
+      </view>
+      <input placeholder="请输入验证码" type="number" style="width:45%" bindinput="setCode"></input>
+      <view class="authcode center" style="color:{{sendColor}}" bindtap="getCode">
+        {{sendTime}}
+      </view>
+
+    </view>
+
+
+    <button bindtap="doNext" class="long-btn" style="width: 90%;">下一步</button>
+
+  </view>
+</view>
\ No newline at end of file
diff --git a/pages/findpaypwd/findpaypwd.wxss b/pages/findpaypwd/findpaypwd.wxss
new file mode 100644
index 0000000..50214de
--- /dev/null
+++ b/pages/findpaypwd/findpaypwd.wxss
@@ -0,0 +1 @@
+/* pages/findpaypwd/findpaypwd.wxss */
\ No newline at end of file
diff --git a/pages/index/index.js b/pages/index/index.js
new file mode 100644
index 0000000..aec3f72
--- /dev/null
+++ b/pages/index/index.js
@@ -0,0 +1,194 @@
+//index.js
+//获取应用实例
+const app = getApp()
+
+Page({
+  data: {
+    bind: '',
+    bindcolor: '',
+    sign: '',
+    signcolor: '',
+    userInfo: {},
+    hasUserInfo: false,
+    canIUse: wx.canIUse('button.open-type.getUserInfo'),
+
+  },
+  tabChange(e) {
+    console.log('tab change', e)
+  },
+
+  //事件处理函数
+  bindViewTap: function() {
+    wx.navigateTo({
+      url: '../logs/logs'
+    })
+  },
+  testButton: function() {
+
+    console.log(app.globalData.userInfo)
+    wx.showModal({
+      title: '提示',
+      content: '该功能暂未完成,完整版请使用大理市民卡app',
+
+      duration: 2000
+    })
+  },
+  onLoad: function() {
+
+    var brightness=wx.getStorageSync("brightness");
+
+    if(!wx.$isEmpty(brightness)){
+      wx.setScreenBrightness({
+        value: brightness,
+      })
+    }
+
+    var userid = wx.getStorageSync("userid");
+    var signed = wx.getStorageSync("signed");
+    if (wx.$isEmpty(userid)) {
+      this.setData({
+        bind: '未绑定',
+        bindcolor: 'red'
+      })
+
+    } else {
+      this.setData({
+        bind: '已绑定',
+        bindcolor: 'green'
+      })
+    }
+    if (wx.$isEmpty(signed) || signed != 'yes') {
+      this.setData({
+        sign: '未签约',
+        signcolor: 'red'
+      })
+    } else {
+      this.setData({
+        sign: '已签约',
+        signcolor: 'green'
+      })
+    }
+
+    // if (app.globalData.userInfo) {
+    //   this.setData({
+    //     userInfo: app.globalData.userInfo,
+    //     hasUserInfo: true
+    //   })
+    // } else if (this.data.canIUse) {
+    //   // 由于 getUserInfo 是网络请求,可能会在 Page.onLoad 之后才返回
+    //   // 所以此处加入 callback 以防止这种情况
+    //   app.userInfoReadyCallback = res => {
+    //     this.setData({
+    //       userInfo: res.userInfo,
+    //       hasUserInfo: true
+    //     })
+    //   }
+    // } else {
+    //   // 在没有 open-type=getUserInfo 版本的兼容处理
+    //   wx.getUserInfo({
+    //     success: res => {
+    //       app.globalData.userInfo = res.userInfo
+    //       this.setData({
+    //         userInfo: res.userInfo,
+    //         hasUserInfo: true
+    //       })
+    //     }
+    //   })
+    // }
+  },
+  getUserInfo: function(e) {
+    console.log(e)
+    app.globalData.userInfo = e.detail.userInfo
+    this.setData({
+      userInfo: e.detail.userInfo,
+      hasUserInfo: true
+    })
+  },
+  pageredirect: function(e) {
+    wx.navigateTo({
+      url: '../wxlogin/wxlogin'
+    })
+  },
+  doBind: function() {
+    wx.navigateTo({
+      url: '../bindcard/bindcard'
+    })
+  },
+  doSign: function() {
+    var check = wx.$checkBankcard();
+    if (!check) {
+      return;
+    }
+    wx.navigateTo({
+      url: '../signxy/signxy'
+    })
+  },
+  doCardLost: function() {
+    wx.navigateTo({
+      url: '../cardlost/cardlost'
+    })
+  },
+  doScan: function() {
+    var check = wx.$checkBankcard();
+    if (!check) {
+    
+      return;
+    }
+
+    wx.scanCode({
+      success(ret) {
+        console.log(ret);
+
+        var url = ret.result;
+       
+
+        if (url.indexOf("yy.dlsmk.cn") >= 0) {
+          if (url.indexOf("?") > 0) {
+            url = url + '&userid=' + userid;
+          } else {
+            url = url + '?userid=' + userid;
+          }
+          wx.setStorageSync('trueurl', url);
+          wx.navigateTo({
+            url: '../scan2/scan2'
+          })
+        }
+        wx.setStorageSync('scanurl', url);
+        console.log(url);
+        wx.navigateTo({
+          url: '../scan/scan'
+        })
+        //}
+      }
+    })
+
+  },
+  doGetBill: function() {
+    var check = wx.$checkBankcard();
+    if (!check) {
+      return;
+    }
+    wx.navigateTo({
+      url: '../bill/bill',
+    })
+  },
+  doQrcode: function() {
+    var check = wx.$checkBankcard();
+    if (!check) {
+      return;
+    }
+    wx.navigateTo({
+      url: '../qrcode/qrcode',
+    })
+  },
+  doSafety: function() {
+    // var check = checkBankcard();
+    // if (!check) {
+    //   return;
+    // }
+    wx.navigateTo({
+      url: '../safety/safety',
+    })
+  }
+
+})
\ No newline at end of file
diff --git a/pages/index/index.json b/pages/index/index.json
new file mode 100644
index 0000000..e619f4d
--- /dev/null
+++ b/pages/index/index.json
@@ -0,0 +1,6 @@
+{
+  "usingComponents": {
+    
+  },
+  "navigationBarTitleText": "大理市民卡"
+}
\ No newline at end of file
diff --git a/pages/index/index.wxml b/pages/index/index.wxml
new file mode 100644
index 0000000..257b1c0
--- /dev/null
+++ b/pages/index/index.wxml
@@ -0,0 +1,64 @@
+<view class="container">
+  <view class="page-body">
+    <view class="global-background">
+      <view class="page-top"></view>
+
+      <view class="whitebox">
+        <view class="row-item" style="margin-top:30%">
+          <button class="flexButton" bindtap="doScan">
+            <image src="/weui/images/scan.jpg" class="boximage roundImage"></image>
+            <text class="qrcodeText">扫一扫</text>
+          </button>
+          <button class="flexButton" bindtap="doQrcode">
+            <image src="/weui/images/qrcode.jpg" class="boximage roundImage"></image>
+            <text class="qrcodeText">付款码</text>
+          </button>
+        </view>
+
+
+      </view>
+
+
+      <view class="row-item " style="position:relative;width:100%;background-color:white;padding-top:80rpx">
+
+        <button class="flexButton" hover-class="flexButton-hover" bindtap="doCardLost">
+          <image src="/weui/images/icon_card.png" class="boximage"></image>
+          <text class="btn-text">市民卡挂失</text>
+        </button>
+        <button class="flexButton" hover-class="flexButton-hover" style="border:1px solid #ccc; border-width:0 1px;" bindtap="doGetBill">
+          <image src="/weui/images/icon_bill.png" class="boximage"></image>
+          <text class="btn-text">账单查询</text>
+        </button>
+        <button class="flexButton " hover-class="flexButton-hover" bindtap="doSafety">
+          <image src="/weui/images/icon_securty.png" class="boximage"></image>
+          <text class="btn-text">账户安全</text>
+        </button>
+
+      </view>
+
+      <view class=" center inline-item" bindtap="doBind" style="margin-top:1%;">
+        <view style="float:left">
+          银行卡
+        </view>
+        <view style="float:right;display: block;" style="margin-left:75%;color:{{bindcolor}}">
+          {{bind}}
+        </view>
+        <view class="arrow-icon" style="float:right;">
+          >
+        </view>
+      </view>
+      <view class=" center inline-item" bindtap="doSign" >
+        <view style="float:left">
+          签约代扣免密付
+        </view>
+        <view style="float:right;display: block;" style="margin-left:62%;color:{{signcolor}}">
+          {{sign}}
+        </view>
+        <view class="arrow-icon" style="float:right;">
+          >
+        </view>
+      </view>
+    </view>
+
+  </view>
+</view>
\ No newline at end of file
diff --git a/pages/index/index.wxss b/pages/index/index.wxss
new file mode 100644
index 0000000..f3953e8
--- /dev/null
+++ b/pages/index/index.wxss
@@ -0,0 +1,130 @@
+/**index.wxss**/
+
+
+.btn-text{
+  margin-top: 10rpx;
+  font-size: 22rpx;
+  
+}
+.userinfo {
+  display: flex;
+  flex-direction: column;
+  align-items: center;
+}
+
+.userinfo-avatar {
+  width: 128rpx;
+  height: 128rpx;
+  margin: 20rpx;
+  border-radius: 50%;
+  margin-top: 30rpx;
+}
+
+.userinfo-nickname {
+  color: #aaa;
+  z-index: 2;
+}
+
+.usermotto {
+  margin-top: 200px;
+}
+
+.demo-text-1 {
+  background: black;
+}
+
+
+
+.page-section-title {
+  font-size: 20px;
+  margin-left: 10px;
+  font-weight: bold;
+  color: white;
+}
+
+.whitebox {
+  border: 2px solid white;
+  box-shadow: 1px 2px 5px #d6d6d6;
+  border-radius: 5px;
+  width: 80%;
+  height: 27%;
+  top: 8%;
+  left: 10%;
+  background-color: white;
+  position: absolute;
+  z-index: 1;
+}
+
+.boximage {
+  width: 66rpx;
+  height: 66rpx;
+ 
+  margin: 0 auto;
+  margin-top: 25rpx;
+  position: relative;
+}
+
+.flexButton {
+  border-radius: 0px;
+  vertical-align: bottom;
+  height: 150rpx;
+  padding: 0rpx;
+  background-color: white;
+  float: left;
+  /* margin-top: 37%; */
+  padding-bottom: 20rpx;
+  display: flex; /*flex居中排版*/
+  flex-direction: column;
+}
+
+.roundImage{
+ border-radius: 50%;
+ width: 88rpx;
+  margin: 0 auto;
+  height: 88rpx;
+}
+
+
+.flexButton-hover {
+  background-color: #d6d6d6;
+}
+
+.qrcodeText {
+  margin-top: 10rpx;
+  font-size: 22rpx;
+  color: #aaa;
+}
+
+
+.row-item {
+  display: flex;
+  flex-direction: row;
+  justify-content: space-around;
+}
+
+.col-item {
+  display: flex;
+  flex-direction: col;
+  justify-content: space-around;
+}
+
+.text{
+  text-align: justify;
+}
+.text::after{
+  width: 100%;
+  display: inline-block;
+  content: '';  
+}
+.click-bar{
+  position:relative;
+  width:100%;
+  background-color:white;
+  height:2rem;
+  border: 1px solid rgb(240, 240, 240);
+  border-style: solid none none none;
+}
+
+
+
+
diff --git a/pages/loadpage/loadpage.js b/pages/loadpage/loadpage.js
new file mode 100644
index 0000000..642b288
--- /dev/null
+++ b/pages/loadpage/loadpage.js
@@ -0,0 +1,141 @@
+// pages/loadpage/loadpage.js
+function doLogin() {
+
+}
+
+Page({
+
+
+
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    hasSign: true,
+
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+    var res = wx.getStorageSync('token');
+    var that = this;
+    if (wx.$isEmpty(res)) {
+      // wx.navigateTo({
+      //   url: '../wxlogin/wxlogin',
+      // })
+      that.setData({
+        hasSign: false
+      })
+      return;
+    }
+    
+    wx.$doPost('/v1/infor', {}, function(ok, ret) {
+
+      if (ok) {
+        if (ret.data.code == 200) {
+         
+          if (!wx.$isEmpty(ret.data.token)) {
+            wx.setStorageSync("token", ret.data.token);
+          }
+          wx.navigateTo({
+            url: '../index/index',
+          })
+
+        } else {
+          // wx.navigateTo({
+          //   url: '../wxlogin/wxlogin',
+          // })
+          // this.setData()
+          that.setData({
+            hasSign: false
+          })
+
+        }
+      } else {
+        //alert('无法请求到服务器,请检查网络并稍后再试');
+        if (ret.data.status == 401) {
+          //need login
+          // wx.navigateTo({
+          //   url: '../wxlogin/wxlogin',
+          // })
+          that.setData({
+            hasSign: false
+          })
+        } else {
+
+          that.setData({
+            hasSign: false
+          })
+          // wx.navigateTo({
+          //   url: '../wxlogin/wxlogin',
+          // })
+        }
+      }
+    })
+  },
+
+  goRegister: function() {
+    wx.navigateTo({
+      url: '../register/register',
+    })
+  },
+
+  goLogin: function () {
+    wx.navigateTo({
+      url: '../wxlogin/wxlogin',
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  }
+})
\ No newline at end of file
diff --git a/pages/loadpage/loadpage.json b/pages/loadpage/loadpage.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/loadpage/loadpage.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/loadpage/loadpage.wxml b/pages/loadpage/loadpage.wxml
new file mode 100644
index 0000000..b09fd8b
--- /dev/null
+++ b/pages/loadpage/loadpage.wxml
@@ -0,0 +1,25 @@
+<view class="container">
+
+  <view class="global-background loadpage" style="background-color:rgb(21, 106, 180);">
+
+    <image src="/weui/images/dlsmk.jpg" class="center logoimage loadpage" style="margin-top:20%">
+    </image>
+
+   
+      <button wx:if="{{!hasSign}}" bindtap="goRegister" class="long-btn" style="width: 60%;margin-top:60%;)">我要注册</button>
+      <view class="login-btn center " wx:if="{{!hasSign}}" bindtap="goLogin" style="">
+        直接登录
+      </view>
+    
+
+
+    <view class="foot" style="bottom:30rpx">
+      大理市民卡
+    </view>
+    <view class="foot">
+      © 2019 上海树维
+    </view>
+  </view>
+
+
+</view>
\ No newline at end of file
diff --git a/pages/loadpage/loadpage.wxss b/pages/loadpage/loadpage.wxss
new file mode 100644
index 0000000..46d733b
--- /dev/null
+++ b/pages/loadpage/loadpage.wxss
@@ -0,0 +1,36 @@
+/* pages/loadpage/loadpage.wxss */
+
+.foot {
+  color: white;
+  font-size: 25rpx;
+  position: fixed;
+  bottom: 0;
+  display: flex;
+  justify-content: center;
+  margin: 0 auto;
+  width: 100%;
+}
+
+.loadpage{
+  background-color: rgb(21, 106, 180);
+    background-image: linear-gradient(rgb(255,255,255),rgb(21, 106, 180));
+}
+
+.logoimage {
+  width: 266rpx;
+  height: 266rpx;
+   border-radius: 20%;
+  margin: 0 auto;
+  margin-top: 25rpx;
+  position: relative;
+
+  
+}
+.login-btn {
+  margin-top: 30rpx;
+  color: white;
+
+  font-size: 28rpx;
+
+
+}
diff --git a/pages/logs/logs.js b/pages/logs/logs.js
new file mode 100644
index 0000000..b2b967d
--- /dev/null
+++ b/pages/logs/logs.js
@@ -0,0 +1,15 @@
+//logs.js
+const util = require('../../utils/util.js')
+
+Page({
+  data: {
+    logs: []
+  },
+  onLoad: function () {
+    this.setData({
+      logs: (wx.getStorageSync('logs') || []).map(log => {
+        return util.formatTime(new Date(log))
+      })
+    })
+  }
+})
diff --git a/pages/logs/logs.json b/pages/logs/logs.json
new file mode 100644
index 0000000..3ee76c1
--- /dev/null
+++ b/pages/logs/logs.json
@@ -0,0 +1,4 @@
+{
+  "navigationBarTitleText": "查看启动日志",
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/logs/logs.wxml b/pages/logs/logs.wxml
new file mode 100644
index 0000000..b5a85ac
--- /dev/null
+++ b/pages/logs/logs.wxml
@@ -0,0 +1,6 @@
+<!--logs.wxml-->
+<view class="container log-list">
+  <block wx:for="{{logs}}" wx:for-item="log">
+    <text class="log-item">{{index + 1}}. {{log}}</text>
+  </block>
+</view>
diff --git a/pages/logs/logs.wxss b/pages/logs/logs.wxss
new file mode 100644
index 0000000..94d4b88
--- /dev/null
+++ b/pages/logs/logs.wxss
@@ -0,0 +1,8 @@
+.log-list {
+  display: flex;
+  flex-direction: column;
+  padding: 40rpx;
+}
+.log-item {
+  margin: 10rpx;
+}
diff --git a/pages/paypwdmng/paypwdmng.js b/pages/paypwdmng/paypwdmng.js
new file mode 100644
index 0000000..8057218
--- /dev/null
+++ b/pages/paypwdmng/paypwdmng.js
@@ -0,0 +1,78 @@
+// pages/paypwdmng/paypwdmng.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function () {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function () {
+
+  },
+
+  changePayPwd: function () {
+    wx.navigateTo({
+      url: '../editpaypwd/editpaypwd',
+    })
+  },
+
+  findPayPwd: function () {
+    wx.navigateTo({
+      url: '../findpaypwd/findpaypwd',
+    })
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function () {
+
+  }
+})
\ No newline at end of file
diff --git a/pages/paypwdmng/paypwdmng.json b/pages/paypwdmng/paypwdmng.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/paypwdmng/paypwdmng.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/paypwdmng/paypwdmng.wxml b/pages/paypwdmng/paypwdmng.wxml
new file mode 100644
index 0000000..a1d7d3d
--- /dev/null
+++ b/pages/paypwdmng/paypwdmng.wxml
@@ -0,0 +1,25 @@
+<view class="container">
+  <view class="global-background">
+  
+    <view class=" center inline-item" bindtap="changePayPwd" style="margin-top:2%;">
+      <view style="float:left">
+        修改支付密码
+      </view>
+      
+      <view class="arrow-icon" style="float:right;margin-left:75%">
+        >
+      </view>
+    </view>
+    <view class=" center inline-item" bindtap="findPayPwd">
+      <view style="float:left">
+        找回支付密码
+      </view>
+      <view class="arrow-icon" style="float:right;margin-left:75%">
+        >
+      </view>
+    </view>
+
+    <button class="long-btn" bindtap="doLogout" style="background-color:red;width:80%;margin-top:100rpx">退出登录</button>
+
+  </view>
+</view>
\ No newline at end of file
diff --git a/pages/paypwdmng/paypwdmng.wxss b/pages/paypwdmng/paypwdmng.wxss
new file mode 100644
index 0000000..5d48832
--- /dev/null
+++ b/pages/paypwdmng/paypwdmng.wxss
@@ -0,0 +1 @@
+/* pages/paypwdmng/paypwdmng.wxss */
\ No newline at end of file
diff --git a/pages/paypwdset/paypwdset.js b/pages/paypwdset/paypwdset.js
new file mode 100644
index 0000000..7cac74b
--- /dev/null
+++ b/pages/paypwdset/paypwdset.js
@@ -0,0 +1,166 @@
+// pages/paypwdset/paypwdset.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    password:'',
+    password2:''
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {
+    wx.setNavigationBarTitle({
+      title: '设置支付密码',
+    })
+  },
+
+  setPassword: function (e) {
+    this.setData({
+      password: e.detail.value
+    })
+  },
+
+  setPassword2: function (e) {
+    this.setData({
+      password2: e.detail.value
+    })
+  },
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function () {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function () {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function () {
+
+  },
+  doNext: function () {
+    var pwd = this.data.password;
+    var repwd = this.data.password2;
+    if (wx.$isEmpty(pwd) || wx.$isEmpty(repwd)) {
+      return;
+    }
+    if (pwd.length != 6) {
+      wx.showModal({
+        title: '提示',
+        content: '密码为6位数字',
+      })
+      return;
+    }
+    if (pwd != repwd) {
+      wx.showModal({
+        title: '提示',
+        content: '两次密码不一致',
+      })
+      return;
+    }
+    var paypwdtype = wx.getStorageSync("paypwdtype");
+    if (wx.$isEmpty(paypwdtype)) {
+      paypwdtype = "new"
+    }
+    var randomcode = wx.getStorageSync("randomcode");
+    if (wx.$isEmpty(randomcode)) {
+      randomcode = ""
+    }
+    wx.showLoading({
+      title: '正在保存',
+    })
+    var param = {
+      "pwd": pwd,
+      "repwd": repwd,
+      "type": paypwdtype,
+      "randcode": randomcode
+    }
+    wx.$doPost('/v1/paypwd',param, function (ok, ret) {
+      if (ok) {
+        wx.hideLoading();
+        if (ret.data.code == 200) {
+          wx.removeStorageSync("randomcode");
+       
+          var signed = wx.getStorageSync("signed");
+          wx.setStorageSync("paypwdset", ret.data.paypwdset);
+          wx.removeStorageSync("paypwdtype");
+          if (wx.$isEmpty(signed) || signed != 'yes') {
+            wx.navigateTo({
+              url: '../signxy/signxy',
+            })
+     
+          } else {
+            wx.showModal({
+              title: '提示',
+              content: '支付密码设置成功',
+              showCancel:false,
+              success(res) {
+                wx.navigateTo({
+                  url: '../index/index',
+                })
+              }
+            })
+            $.alert("支付密码设置成功", "提示", function () {
+              if (paypwdtype == 'find') {
+                window.location = 'security.html'
+              } else {
+                window.location = 'main.html'
+              }
+            });
+          }
+        } else {
+          wx.showModal({
+            title: '错误',
+            content: ret.data.msg,
+          })
+       
+        }
+      } else {
+        wx.showModal({
+          title: '错误',
+          content: "请求失败了" + ret.data.status + ",请稍后再试",
+        })
+   
+      }
+    })
+  }
+})
\ No newline at end of file
diff --git a/pages/paypwdset/paypwdset.json b/pages/paypwdset/paypwdset.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/paypwdset/paypwdset.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/paypwdset/paypwdset.wxml b/pages/paypwdset/paypwdset.wxml
new file mode 100644
index 0000000..75e4cb3
--- /dev/null
+++ b/pages/paypwdset/paypwdset.wxml
@@ -0,0 +1,20 @@
+<view class="container">
+
+  <view class="global-background">
+    <view class="inline-item center" style="margin-top: 50rpx;">
+      <view class="input-desc">
+        支付密码
+      </view>
+      <input maxlength="6" placeholder="6位密码" type="number"  password="true" style="width: 70%;" bindinput="setPassword"></input>
+    </view>
+    <view class="inline-item center" style="">
+      <view class="input-desc">
+        确认密码
+      </view>
+      <input maxlength="6" placeholder="6位密码" type="number" password="true" style="width: 70%;" bindinput="setPassword2"></input>
+    </view>
+
+    <button bindtap="doNext" class="long-btn" style="width: 90%;">保存</button>
+
+  </view>
+</view>
\ No newline at end of file
diff --git a/pages/paypwdset/paypwdset.wxss b/pages/paypwdset/paypwdset.wxss
new file mode 100644
index 0000000..503d28a
--- /dev/null
+++ b/pages/paypwdset/paypwdset.wxss
@@ -0,0 +1 @@
+/* pages/paypwdset/paypwdset.wxss */
\ No newline at end of file
diff --git a/pages/policy/policy.js b/pages/policy/policy.js
new file mode 100644
index 0000000..6ecebc2
--- /dev/null
+++ b/pages/policy/policy.js
@@ -0,0 +1,66 @@
+// pages/policy/policy.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function () {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function () {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function () {
+
+  }
+})
\ No newline at end of file
diff --git a/pages/policy/policy.json b/pages/policy/policy.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/policy/policy.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/policy/policy.wxml b/pages/policy/policy.wxml
new file mode 100644
index 0000000..dc8f816
--- /dev/null
+++ b/pages/policy/policy.wxml
@@ -0,0 +1,72 @@
+<!--pages/policy/policy.wxml-->
+<text>
+本应用尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息。但本应用将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本应用不会将这些信息对外披露或向第三方提供。本应用会不时更新本隐私权政策。 您在同意本应用服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本应用服务使用协议不可分割的一部分。
+ 
+1. 适用范围 
+
+(a) 在您注册本应用帐号时,您根据本应用要求提供的个人注册信息; 
+
+(b) 在您使用本应用网络服务,或访问本应用平台网页时,本应用自动接收并记录的您的浏览器和计算机上的信息,包括但不限于您的IP地址、浏览器的类型、使用的语言、访问日期和时间、软硬件特征信息及您需求的网页记录等数据;
+ 
+(c) 本应用通过合法途径从商业伙伴处取得的用户个人数据。 
+
+您了解并同意,以下信息不适用本隐私权政策: 
+
+(a) 您在使用本应用平台提供的搜索服务时输入的关键字信息; 
+
+(b) 本应用收集到的您在本应用发布的有关信息数据,包括但不限于参与活动、成交信息及评价详情; 
+
+(c) 违反法律规定或违反本应用规则行为及本应用已对您采取的措施。 
+
+2. 信息使用 
+(a)本应用不会向任何无关第三方提供、出售、出租、分享或交易您的个人信息,除非事先得到您的许可,或该第三方和本应用(含本应用关联公司)单独或共同为您提供服务,且在该服务结束后,其将被禁止访问包括其以前能够访问的所有这些资料。
+ 
+(b) 本应用亦不允许任何第三方以任何手段收集、编辑、出售或者无偿传播您的个人信息。任何本应用平台用户如从事上述活动,一经发现,本应用有权立即终止与该用户的服务协议。
+ 
+(c) 为服务用户的目的,本应用可能通过使用您的个人信息,向您提供您感兴趣的信息,包括但不限于向您发出产品和服务信息,或者与本应用合作伙伴共享信息以便他们向您发送有关其产品和服务的信息(后者需要您的事先同意)。
+ 
+3. 信息披露 
+
+在如下情况下,本应用将依据您的个人意愿或法律的规定全部或部分的披露您的个人信息:
+ 
+(a) 经您事先同意,向第三方披露;
+ 
+(b)为提供您所要求的产品和服务,而必须和第三方分享您的个人信息;
+ 
+(c) 根据法律的有关规定,或者行政或司法机构的要求,向第三方或者行政、司法机构披露;
+ 
+(d) 如您出现违反中国有关法律、法规或者本应用服务协议或相关规则的情况,需要向第三方披露;
+ 
+(e) 如您是适格的知识产权投诉人并已提起投诉,应被投诉人要求,向被投诉人披露,以便双方处理可能的权利纠纷;
+ 
+(f) 在本应用平台上创建的某一交易中,如交易任何一方履行或部分履行了交易义务并提出信息披露请求的,本应用有权决定向该用户提供其交易对方的联络方式等必要信息,以促成交易的完成或纠纷的解决。
+ 
+(g) 其它本应用根据法律、法规或者网站政策认为合适的披露。
+ 
+4. 信息存储和交换
+ 
+本应用收集的有关您的信息和资料将保存在本应用及(或)其关联公司的服务器上,这些信息和资料可能传送至您所在国家、地区或本应用收集信息和资料所在地的境外并在境外被访问、存储和展示。
+ 
+5. Cookie的使用
+ 
+(a) 在您未拒绝接受cookies的情况下,本应用会在您的计算机上设定或取用cookies ,以便您能登录或使用依赖于cookies的本应用平台服务或功能。本应用使用cookies可为您提供更加周到的个性化服务,包括推广服务。
+ 
+(b) 您有权选择接受或拒绝接受cookies。您可以通过修改浏览器设置的方式拒绝接受cookies。但如果您选择拒绝接受cookies,则您可能无法登录或使用依赖于cookies的本应用网络服务或功能。
+ 
+(c) 通过本应用所设cookies所取得的有关信息,将适用本政策。
+ 
+6. 信息安全
+ 
+(a) 本应用帐号均有安全保护功能,请妥善保管您的用户名及密码信息。本应用将通过对用户密码进行加密等安全措施确保您的信息不丢失,不被滥用和变造。尽管有前述安全措施,但同时也请您注意在信息网络上不存在“完善的安全措施”。
+ 
+(b) 在使用本应用网络服务进行网上交易时,您不可避免的要向交易对方或潜在的交易对
+ 
+7.本隐私政策的更改
+ 
+(a)如果决定更改隐私政策,我们会在本政策中、本公司网站中以及我们认为适当的位置发布这些更改,以便您了解我们如何收集、使用您的个人信息,哪些人可以访问这些信息,以及在什么情况下我们会透露这些信息。
+ 
+(b)本公司保留随时修改本政策的权利,因此请经常查看。如对本政策作出重大更改,本公司会通过网站通知的形式告知。
+ 
+方披露自己的个人信息,如联络方式或者邮政地址。请您妥善保护自己的个人信息,仅在必要的情形下向他人提供。如您发现自己的个人信息泄密,尤其是本应用用户名及密码发生泄露,请您立即联络本应用客服,以便本应用采取相应措施。
+ 
+</text>
diff --git a/pages/policy/policy.wxss b/pages/policy/policy.wxss
new file mode 100644
index 0000000..a9ec6b0
--- /dev/null
+++ b/pages/policy/policy.wxss
@@ -0,0 +1 @@
+/* pages/policy/policy.wxss */
\ No newline at end of file
diff --git a/pages/pwdset/pwdset.js b/pages/pwdset/pwdset.js
new file mode 100644
index 0000000..5b64a28
--- /dev/null
+++ b/pages/pwdset/pwdset.js
@@ -0,0 +1,157 @@
+// pages/paypwdset/paypwdset.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    password: '',
+    password2: ''
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+    wx.setNavigationBarTitle({
+      title: '设置支付密码',
+    })
+  },
+
+  setPassword: function(e) {
+    this.setData({
+      password: e.detail.value
+    })
+  },
+
+  setPassword2: function(e) {
+    this.setData({
+      password2: e.detail.value
+    })
+  },
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  },
+  doNext: function() {
+    var pwd = this.data.password;
+    var repwd = this.data.password2;
+    if (wx.$isEmpty(pwd) || wx.$isEmpty(repwd)) {
+      return;
+    }
+    if (pwd.length < 6) {
+      wx.showModal({
+        title: '提示',
+        content: '密码为6位以上字符',
+      })
+      return;
+    }
+    if (pwd != repwd) {
+      wx.showModal({
+        title: '提示',
+        content: '两次密码不一致',
+      })
+      return;
+    }
+
+    var uid = wx.getStorageSync("uid");
+    var code = wx.getStorageSync("code");
+    wx.showLoading({
+      title: '正在保存',
+    })
+    var param = {
+      "pwd": pwd,
+      "repwd": repwd,
+      "id": uid,
+      "random": code
+    }
+    wx.$doPost('/i/register', param, function(ok, ret) {
+      wx.hideLoading();
+      if (ok) {
+
+        if (ret.data.code == 200) {
+          wx.removeStorageSync("code");
+
+          wx.setStorageSync("phoneX", ret.phone);
+          wx.setStorageSync("token", ret.token);
+          wx.setStorageSync("userid", ret.userid);
+          wx.setStorageSync("tenantid", ret.tenantid);
+          wx.setStorageSync("tokenexpire", ret.expire);
+          wx.setStorageSync("tokentime", ret.now);
+          wx.setStorageSync("signed", ret.signed);
+          wx.setStorageSync("paypwdset", ret.paypwdsetd);
+
+
+          wx.showModal({
+            title: '提示',
+            content: '密码设置成功,您可以登录系统了',
+            showCancel: false,
+            success(res) {
+              wx.navigateTo({
+                url: '../wxlogin/wxlogin',
+              })
+            }
+          })
+
+
+        } else {
+          wx.showModal({
+            title: '错误',
+            content: ret.data.msg,
+          })
+
+        }
+      } else {
+        wx.showModal({
+          title: '错误',
+          content: "请求失败了" + ret.data.status + ",请稍后再试",
+        })
+
+      }
+    })
+  }
+})
\ No newline at end of file
diff --git a/pages/pwdset/pwdset.json b/pages/pwdset/pwdset.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/pwdset/pwdset.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/pwdset/pwdset.wxml b/pages/pwdset/pwdset.wxml
new file mode 100644
index 0000000..5f697c0
--- /dev/null
+++ b/pages/pwdset/pwdset.wxml
@@ -0,0 +1,20 @@
+<view class="container">
+
+  <view class="global-background">
+    <view class="inline-item center" style="margin-top: 50rpx;">
+      <view class="input-desc">
+        登录密码
+      </view>
+      <input  placeholder="6位以上字符"  password="true" style="width: 70%;" bindinput="setPassword"></input>
+    </view>
+    <view class="inline-item center" style="">
+      <view class="input-desc">
+        确认密码
+      </view>
+      <input  placeholder="6位以上字符"  password="true" style="width: 70%;" bindinput="setPassword2"></input>
+    </view>
+
+    <button bindtap="doNext" class="long-btn" style="width: 90%;">保存</button>
+
+  </view>
+</view>
\ No newline at end of file
diff --git a/pages/pwdset/pwdset.wxss b/pages/pwdset/pwdset.wxss
new file mode 100644
index 0000000..d332841
--- /dev/null
+++ b/pages/pwdset/pwdset.wxss
@@ -0,0 +1 @@
+/* pages/pwdset/pwdset.wxss */
\ No newline at end of file
diff --git a/pages/qrcode/qrcode.js b/pages/qrcode/qrcode.js
new file mode 100644
index 0000000..12ce792
--- /dev/null
+++ b/pages/qrcode/qrcode.js
@@ -0,0 +1,106 @@
+// pages/qrcode/qrcode.js
+const QR = require('../../utils/weapp-qrcode.js')
+const app = getApp()
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    qrcodeURL: "",
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+    var that = this;
+
+    wx.getScreenBrightness({
+      success:function(e){
+        wx.setStorageSync("brightness", e.value);
+      }
+    })
+    wx.setNavigationBarTitle({
+      title: '付款码',
+    })
+    wx.setScreenBrightness({
+      value: 1,
+    })
+
+    wx.$doPost('/v1/qrcode', {}, function(ok, ret) {
+      console.log(ret);
+      if (ok) {
+        var imgData = QR.drawImg(ret.data.qrcode, {
+          typeNumber: 4,
+          errorCorrectLevel: 'M',
+          size: 500
+        })
+        that.setData({
+          qrcodeURL: imgData
+        })
+      }else{
+        wx.showModal({
+          title: '错误',
+          content: '获取二维码失败,请稍后再试',
+          showCancel: false,
+          success(res) {
+            wx.navigateBack({
+
+            })
+          }
+        })
+      }
+
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  }
+})
\ No newline at end of file
diff --git a/pages/qrcode/qrcode.json b/pages/qrcode/qrcode.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/qrcode/qrcode.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/qrcode/qrcode.wxml b/pages/qrcode/qrcode.wxml
new file mode 100644
index 0000000..50979e2
--- /dev/null
+++ b/pages/qrcode/qrcode.wxml
@@ -0,0 +1,4 @@
+<view class="center" style="flex-direction: column;">
+  <image src="{{qrcodeURL}}" style="width:400rpx;height:400rpx;margin-top:10%;"> </image>
+  <view style="margin-top:30rpx;color:#999">请将二维码对准扫描设备</view>
+</view>
\ No newline at end of file
diff --git a/pages/qrcode/qrcode.wxss b/pages/qrcode/qrcode.wxss
new file mode 100644
index 0000000..539b346
--- /dev/null
+++ b/pages/qrcode/qrcode.wxss
@@ -0,0 +1 @@
+/* pages/qrcode/qrcode.wxss */
\ No newline at end of file
diff --git a/pages/register/register.js b/pages/register/register.js
new file mode 100644
index 0000000..18a0c47
--- /dev/null
+++ b/pages/register/register.js
@@ -0,0 +1,197 @@
+// pages/register/register.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    phone: '',
+    code: '',
+    sendTime: '获取验证码',
+    sendColor: 'rgb(124, 255, 112)',
+    snsMsgWait: 30,
+    smsFlag: true,
+    privacyCheck:''
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  },
+  showPolicy: function() {
+    wx.navigateTo({
+      url: '../policy/policy',
+    })
+  },
+  setPhone: function(e) {
+    this.setData({
+      phone: e.detail.value
+    })
+  },
+  setCode: function(e) {
+    this.setData({
+      code: e.detail.value
+    })
+  },
+  checkboxChange:function(e){
+    console.log(e.detail.value);
+    this.setData({
+      privacyCheck: e.detail.value
+    })
+
+  },
+  doRegister: function() {
+    var phone = this.data.phone;
+    var code=this.data.code;
+    if (wx.$isEmpty(phone)||wx.$isEmpty(code)) {
+      return;
+    }
+    var agree =this.data.privacyCheck;
+    if (wx.$isEmpty(agree)) {
+      wx.showModal({
+        title: '提示',
+        content: '请同意用户协议与隐私条款',
+      })
+      return;
+    }
+    wx.showLoading({
+      title: '加载中',
+    })
+    var name,platform,version;
+    wx.getSystemInfo({
+      success: function(res) {
+        name=res.model;
+        platform=res.platform;
+        version=res.version
+
+      },
+    })
+    
+    var param = {
+      "phone": phone,
+      "code": code,
+      "platform": name + "," + platform + "," + version,
+      "uuid": '123456'
+    }
+    
+    console.log(param);
+    wx.$doPost('/i/checkcode',param, function(ok, ret) {
+      if (ok) {
+        wx.hideLoading();
+        console.log(ret)
+        if (ret.data.code == 200) {
+          wx.setStorageSync("phone", phone);
+          wx.setStorageSync("uid", ret.data.uid);
+          wx.setStorageSync("code", ret.data.randcode);
+          wx.removeStorageSync('name');
+    
+          wx.navigateTo({
+            url: '../pwdset/pwdset',
+          })
+        } else {
+          wx.showModal({
+            title: '错误',
+            content: ret.data.msg,
+
+            duration: 2000
+          })
+        }
+      } else {
+        wx.hideLoading();
+        wx.showModal({
+          title: '错误',
+          content: "请求失败了,请稍后再试",
+
+          duration: 2000
+        })
+      }
+    })
+
+  },
+  getCode: function() {
+    var phone = this.data.phone;
+    if (wx.$isEmpty(phone)) {
+      return;
+    }
+    if (false == this.data.smsFlag) {
+      return;
+    }
+
+    wx.$doCountdown(this);
+    
+    var param = {
+      "phone": phone
+    }
+    wx.$doPost('/i/code', param, function(ok, ret) {
+      console.log(ret.data);
+      if (ok) {
+        if (ret.data.code == 200) {
+        } else {
+          wx.showModal({
+            title: '错误',
+            content: ret.data.msg,
+
+            duration: 2000
+          })
+        }
+      } else {
+        wx.showModal({
+          title: '错误',
+          content: "请求失败了" + ret.status + ",请稍后再试",
+          duration: 2000
+        })
+      }
+    })
+  }
+})
\ No newline at end of file
diff --git a/pages/register/register.json b/pages/register/register.json
new file mode 100644
index 0000000..105ebcd
--- /dev/null
+++ b/pages/register/register.json
@@ -0,0 +1,4 @@
+{
+  "usingComponents": {}
+  
+}
\ No newline at end of file
diff --git a/pages/register/register.wxml b/pages/register/register.wxml
new file mode 100644
index 0000000..f52b4f0
--- /dev/null
+++ b/pages/register/register.wxml
@@ -0,0 +1,33 @@
+<view class="container">
+
+  <view class="global-background">
+    <view class="inline-item center" style="margin-top: 50rpx;">
+      <view class="input-desc">
+        手机号
+      </view>
+      <input value="{{phone}}" maxlength="11" placeholder="请输入市民卡预留的手机号" style="width: 70%;" bindinput="setPhone"></input>
+    </view>
+    <view class="inline-item center" style="">
+      <view class="input-desc">
+        验证码
+      </view>
+      <input placeholder="请输入验证码 " type="number" style="width:45%" bindinput="setCode"></input>
+      <view class="authcode center" style="color:{{sendColor}}" bindtap="getCode">
+        {{sendTime}}
+      </view>
+
+    </view>
+    <view class="inline-item" style="margin-top:30rpx;background-color:rgb(240, 240, 240)">
+      <checkbox-group bindchange="checkboxChange">
+        <label>
+          <checkbox value="1" class="checkbox" />我已阅读并同意
+        </label>
+      </checkbox-group>
+
+      <view class="policy" bindtap="showPolicy">《用户协议与隐私条款》</view>
+    </view>
+
+    <button bindtap="doRegister" class="long-btn" style="width: 90%;">注册</button>
+
+  </view>
+</view>
\ No newline at end of file
diff --git a/pages/register/register.wxss b/pages/register/register.wxss
new file mode 100644
index 0000000..bb3e2e8
--- /dev/null
+++ b/pages/register/register.wxss
@@ -0,0 +1,8 @@
+/* pages/register/register.wxss */
+
+
+
+
+.policy{
+  color: rgb(82, 178, 243);
+}
\ No newline at end of file
diff --git a/pages/safety/safety.js b/pages/safety/safety.js
new file mode 100644
index 0000000..f3af90c
--- /dev/null
+++ b/pages/safety/safety.js
@@ -0,0 +1,87 @@
+// pages/safety/safety.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function () {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function () {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function () {
+
+  },
+  doLogout:function(){
+    wx.removeStorageSync("token");
+    wx.redirectTo({
+      url: '../wxlogin/wxlogin',
+    })
+  },
+  changeLoginPwd:function(){
+    wx.navigateTo({
+      url: '../editpwd/editpwd',
+    })
+  },
+  changePayPwd: function () {
+    // var check = wx.$checkBankcard();
+    // if(!check){
+    //   return;
+    // }
+
+    wx.navigateTo({
+      url: '../paypwdmng/paypwdmng',
+    })
+  }
+})
\ No newline at end of file
diff --git a/pages/safety/safety.json b/pages/safety/safety.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/safety/safety.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/safety/safety.wxml b/pages/safety/safety.wxml
new file mode 100644
index 0000000..de0ab48
--- /dev/null
+++ b/pages/safety/safety.wxml
@@ -0,0 +1,25 @@
+<view class="container">
+  <view class="global-background">
+  
+    <view class=" center inline-item" bindtap="changeLoginPwd" style="margin-top:2%;">
+      <view style="float:left">
+        登录密码
+      </view>
+      
+      <view class="arrow-icon" style="float:right;margin-left:75%">
+        >
+      </view>
+    </view>
+    <view class=" center inline-item" bindtap="changePayPwd">
+      <view style="float:left">
+        支付密码
+      </view>
+      <view class="arrow-icon" style="float:right;margin-left:75%">
+        >
+      </view>
+    </view>
+
+    <button class="long-btn" bindtap="doLogout" style="background-color:red;width:80%;margin-top:100rpx">退出登录</button>
+
+  </view>
+</view>
\ No newline at end of file
diff --git a/pages/safety/safety.wxss b/pages/safety/safety.wxss
new file mode 100644
index 0000000..50a67d6
--- /dev/null
+++ b/pages/safety/safety.wxss
@@ -0,0 +1 @@
+/* pages/safety/safety.wxss */
\ No newline at end of file
diff --git a/pages/scan/scan.js b/pages/scan/scan.js
new file mode 100644
index 0000000..ba210b1
--- /dev/null
+++ b/pages/scan/scan.js
@@ -0,0 +1,89 @@
+// pages/scan/scan.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    scanurl: ''
+
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+    var url = wx.getStorageSync("scanurl");
+    this.setData({
+      scanurl:url
+    })
+
+  },
+
+  getTrueUrl: function(res) {
+    console.log(res.detail.src);
+    var url = res.detail.src;
+    if (url.indexOf("yy.dlsmk.cn") >= 0) {
+      console.log("succ");
+      var userid = wx.getStorageSync("userid");
+      if (url.indexOf("?") > 0) {
+        url = url + '&userid=' + userid;
+      } else {
+        url = url + '?userid=' + userid;
+      }
+      wx.setStorageSync("trueurl", url);
+      wx.navigateTo({
+        url: '../scan2/scan2',
+      })
+    }
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  }
+})
\ No newline at end of file
diff --git a/pages/scan/scan.json b/pages/scan/scan.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/scan/scan.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/scan/scan.wxml b/pages/scan/scan.wxml
new file mode 100644
index 0000000..0051e08
--- /dev/null
+++ b/pages/scan/scan.wxml
@@ -0,0 +1,4 @@
+<!--pages/scan/scan.wxml-->
+
+
+  <web-view src='{{scanurl}}' bindload='getTrueUrl'></web-view>
diff --git a/pages/scan/scan.wxss b/pages/scan/scan.wxss
new file mode 100644
index 0000000..7070bfd
--- /dev/null
+++ b/pages/scan/scan.wxss
@@ -0,0 +1 @@
+/* pages/scan/scan.wxss */
\ No newline at end of file
diff --git a/pages/scan2/scan2.js b/pages/scan2/scan2.js
new file mode 100644
index 0000000..ae2fc54
--- /dev/null
+++ b/pages/scan2/scan2.js
@@ -0,0 +1,70 @@
+// pages/scan2/scan2.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    url: '',
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {
+    var url = wx.getStorageSync("trueurl");
+    this.setData({
+      url: url
+    });
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function () {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function () {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function () {
+
+  }
+})
\ No newline at end of file
diff --git a/pages/scan2/scan2.json b/pages/scan2/scan2.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/scan2/scan2.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/scan2/scan2.wxml b/pages/scan2/scan2.wxml
new file mode 100644
index 0000000..36e8b1b
--- /dev/null
+++ b/pages/scan2/scan2.wxml
@@ -0,0 +1,3 @@
+<view>
+<web-view src='{{url}}' ></web-view>
+</view>
diff --git a/pages/scan2/scan2.wxss b/pages/scan2/scan2.wxss
new file mode 100644
index 0000000..27cb8cb
--- /dev/null
+++ b/pages/scan2/scan2.wxss
@@ -0,0 +1 @@
+/* pages/scan2/scan2.wxss */
\ No newline at end of file
diff --git a/pages/signxy/signxy.js b/pages/signxy/signxy.js
new file mode 100644
index 0000000..85cc08b
--- /dev/null
+++ b/pages/signxy/signxy.js
@@ -0,0 +1,144 @@
+// pages/signxy/signxy.js
+Page({
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    url: '',
+    signMsg: '',
+    disabled: false,
+    xy: ''
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+     var signed = wx.getStorageSync("signed");
+     if (wx.$isEmpty(signed) || signed != 'yes') {
+       this.setData({
+         signMsg: '我已阅读并同意该协议',
+         disabled: false
+       })
+     } else {
+       this.setData({
+         signMsg: '您已签约',
+         disabled: true
+       })
+       return;
+     }
+    //  var that = this;
+    //  wx.showLoading("加载中");
+    //  wx.$doPost('/v1/bxy', {}, function(ok, ret, err) {
+    //    wx.hideLoading();
+    
+    //    if (ok) {
+    //      if (ret.data.code == 200) {
+
+    //       //  var text = ret.data.page;
+    //       //  that.setData({
+    //       //    xy: text.replace('/br/g', ' ')
+    //       //  })
+    //        //  this.setData({
+    //        //    url: ret.data.data.url
+    //        //  })
+    //        //  if (wx.$isEmpty(ret.data.signed) || ret.data.data.signed != 'yes') {
+    //        //  } else {
+    //        //  }
+    //      } else {
+    //        wx.showModal({
+    //          title: '错误',
+    //          content: ret.data.msg,
+    //        })
+    //      }
+    //    } else {
+    //      wx.showModal({
+    //        title: '错误',
+    //        content: '',
+    //      })
+    //    }
+    //  })
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  },
+
+  signXY: function() {
+
+    wx.showLoading({
+      title: '正在请求',
+    })
+    var param = {
+      "agree": 'yes'
+    }
+    wx.$doPost('/v1/signbxy', param, function(ok, ret, err) {
+      wx.hideLoading();
+      if (ok) {
+
+        if (ret.data.code == 200) {
+          wx.setStorageSync("signed", ret.data.signed);
+          wx.redirectTo({
+            url: '../index/index',
+          })
+        } else {
+          wx.showModal({
+            title: '错误',
+            content: ret.data.msg,
+          })
+        }
+      } else {
+
+        wx.showModal({
+          title: '错误',
+          content: ret.data.status,
+        })
+      }
+    })
+  }
+})
\ No newline at end of file
diff --git a/pages/signxy/signxy.json b/pages/signxy/signxy.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/signxy/signxy.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/signxy/signxy.wxml b/pages/signxy/signxy.wxml
new file mode 100644
index 0000000..235e86c
--- /dev/null
+++ b/pages/signxy/signxy.wxml
@@ -0,0 +1,73 @@
+<text>
+
+本应用尊重并保护所有使用服务用户的个人隐私权。为了给您提供更准确、更有个性化的服务,本应用会按照本隐私权政策的规定使用和披露您的个人信息。但本应用将以高度的勤勉、审慎义务对待这些信息。除本隐私权政策另有规定外,在未征得您事先许可的情况下,本应用不会将这些信息对外披露或向第三方提供。本应用会不时更新本隐私权政策。 您在同意本应用服务使用协议之时,即视为您已经同意本隐私权政策全部内容。本隐私权政策属于本应用服务使用协议不可分割的一部分。
+
+1. 适用范围
+
+(a) 在您注册本应用帐号时,您根据本应用要求提供的个人注册信息;
+
+(b) 在您使用本应用网络服务,或访问本应用平台网页时,本应用自动接收并记录的您的浏览器和计算机上的信息,包括但不限于您的IP地址、浏览器的类型、使用的语言、访问日期和时间、软硬件特征信息及您需求的网页记录等数据;
+
+(c) 本应用通过合法途径从商业伙伴处取得的用户个人数据。
+
+您了解并同意,以下信息不适用本隐私权政策:
+
+(a) 您在使用本应用平台提供的搜索服务时输入的关键字信息;
+
+(b) 本应用收集到的您在本应用发布的有关信息数据,包括但不限于参与活动、成交信息及评价详情;
+
+(c) 违反法律规定或违反本应用规则行为及本应用已对您采取的措施。
+
+2. 信息使用
+(a)本应用不会向任何无关第三方提供、出售、出租、分享或交易您的个人信息,除非事先得到您的许可,或该第三方和本应用(含本应用关联公司)单独或共同为您提供服务,且在该服务结束后,其将被禁止访问包括其以前能够访问的所有这些资料。
+
+(b) 本应用亦不允许任何第三方以任何手段收集、编辑、出售或者无偿传播您的个人信息。任何本应用平台用户如从事上述活动,一经发现,本应用有权立即终止与该用户的服务协议。
+
+(c) 为服务用户的目的,本应用可能通过使用您的个人信息,向您提供您感兴趣的信息,包括但不限于向您发出产品和服务信息,或者与本应用合作伙伴共享信息以便他们向您发送有关其产品和服务的信息(后者需要您的事先同意)。
+
+3. 信息披露
+
+在如下情况下,本应用将依据您的个人意愿或法律的规定全部或部分的披露您的个人信息:
+
+(a) 经您事先同意,向第三方披露;
+
+(b)为提供您所要求的产品和服务,而必须和第三方分享您的个人信息;
+
+(c) 根据法律的有关规定,或者行政或司法机构的要求,向第三方或者行政、司法机构披露;
+
+(d) 如您出现违反中国有关法律、法规或者本应用服务协议或相关规则的情况,需要向第三方披露;
+
+(e) 如您是适格的知识产权投诉人并已提起投诉,应被投诉人要求,向被投诉人披露,以便双方处理可能的权利纠纷;
+
+(f) 在本应用平台上创建的某一交易中,如交易任何一方履行或部分履行了交易义务并提出信息披露请求的,本应用有权决定向该用户提供其交易对方的联络方式等必要信息,以促成交易的完成或纠纷的解决。
+
+(g) 其它本应用根据法律、法规或者网站政策认为合适的披露。
+
+4. 信息存储和交换
+
+本应用收集的有关您的信息和资料将保存在本应用及(或)其关联公司的服务器上,这些信息和资料可能传送至您所在国家、地区或本应用收集信息和资料所在地的境外并在境外被访问、存储和展示。
+
+5. Cookie的使用
+
+(a) 在您未拒绝接受cookies的情况下,本应用会在您的计算机上设定或取用cookies ,以便您能登录或使用依赖于cookies的本应用平台服务或功能。本应用使用cookies可为您提供更加周到的个性化服务,包括推广服务。
+
+(b) 您有权选择接受或拒绝接受cookies。您可以通过修改浏览器设置的方式拒绝接受cookies。但如果您选择拒绝接受cookies,则您可能无法登录或使用依赖于cookies的本应用网络服务或功能。
+
+(c) 通过本应用所设cookies所取得的有关信息,将适用本政策。
+
+6. 信息安全
+
+(a) 本应用帐号均有安全保护功能,请妥善保管您的用户名及密码信息。本应用将通过对用户密码进行加密等安全措施确保您的信息不丢失,不被滥用和变造。尽管有前述安全措施,但同时也请您注意在信息网络上不存在“完善的安全措施”。
+
+(b) 在使用本应用网络服务进行网上交易时,您不可避免的要向交易对方或潜在的交易对
+
+7.本隐私政策的更改
+
+(a)如果决定更改隐私政策,我们会在本政策中、本公司网站中以及我们认为适当的位置发布这些更改,以便您了解我们如何收集、使用您的个人信息,哪些人可以访问这些信息,以及在什么情况下我们会透露这些信息。
+
+(b)本公司保留随时修改本政策的权利,因此请经常查看。如对本政策作出重大更改,本公司会通过网站通知的形式告知。
+
+方披露自己的个人信息,如联络方式或者邮政地址。请您妥善保护自己的个人信息,仅在必要的情形下向他人提供。如您发现自己的个人信息泄密,尤其是本应用用户名及密码发生泄露,请您立即联络本应用客服,以便本应用采取相应措施。
+
+</text>
+ <button class="long-btn" style="width: 90%;margin-bottom:30rpx" disabled="{{disabled}}" bindtap="signXY">{{signMsg}}</button>
\ No newline at end of file
diff --git a/pages/signxy/signxy.wxss b/pages/signxy/signxy.wxss
new file mode 100644
index 0000000..5dc3af7
--- /dev/null
+++ b/pages/signxy/signxy.wxss
@@ -0,0 +1 @@
+/* pages/signxy/signxy.wxss */
\ No newline at end of file
diff --git a/pages/wxlogin/wxlogin.js b/pages/wxlogin/wxlogin.js
new file mode 100644
index 0000000..d830a76
--- /dev/null
+++ b/pages/wxlogin/wxlogin.js
@@ -0,0 +1,139 @@
+// pages/wxlogin/wxlogin.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+    phone: '',
+    password: ''
+
+  },
+
+  setPhone: function(e) {
+    this.setData({
+      phone: e.detail.value
+    })
+  },
+  setPassword: function(e) {
+    this.setData({
+      password: e.detail.value
+    })
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function(options) {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function() {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function() {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function() {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function() {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function() {
+
+  },
+  toRegister: function() {
+    wx.navigateTo({
+      url: '../register/register',
+    })
+  },
+  doLogin: function() {
+    var phone = this.data.phone;
+    var pwd = this.data.password;
+    if (wx.$isEmpty(phone) || wx.$isEmpty(pwd)) {
+      return;
+    }
+    //loadingElement('loginBtn', '登录中...')
+    wx.showLoading({
+      title: '登录中',
+    })
+    var platform = wx.getStorageInfoSync('platform')
+    var param = {
+      "username": phone,
+      "password": pwd,
+      "platform": platform
+    }
+    wx.$doPost('/login', param, function(ok, ret) {
+      wx.hideLoading();
+      
+      if (ok) {
+        if (ret.data.code != 200) {
+          wx.showModal({
+            title: '错误',
+            content:  ret.data.msg ,
+            duration: 2000
+          })
+         
+       
+        } else {
+          console.log(ret.data);
+          wx.setStorageSync("phone", phone);
+          wx.setStorageSync("phoneX", ret.data.phone);
+          wx.setStorageSync("token", ret.data.token);
+          wx.setStorageSync("uid", ret.data.uid);
+          wx.setStorageSync("tenantid", ret.data.tenantid);
+          wx.setStorageSync("tokenexpire", ret.data.expire);
+          wx.setStorageSync("tokentime", ret.data.now);
+          wx.setStorageSync("userid", ret.data.userid);
+          wx.setStorageSync("signed", ret.data.signed);
+          wx.setStorageSync("paypwdset", ret.data.paypwdset);
+          wx.setStorageSync("name", ret.data.name);
+          wx.redirectTo({
+            url: '../index/index',
+          })
+        }
+      } else {
+        wx.showModal({
+          title: '错误',
+          content: "请求失败了" + ret.status + ",请稍后再试",
+          duration: 2000
+        })
+      }
+    })
+
+  }
+})
\ No newline at end of file
diff --git a/pages/wxlogin/wxlogin.json b/pages/wxlogin/wxlogin.json
new file mode 100644
index 0000000..8835af0
--- /dev/null
+++ b/pages/wxlogin/wxlogin.json
@@ -0,0 +1,3 @@
+{
+  "usingComponents": {}
+}
\ No newline at end of file
diff --git a/pages/wxlogin/wxlogin.wxml b/pages/wxlogin/wxlogin.wxml
new file mode 100644
index 0000000..5f2d5ba
--- /dev/null
+++ b/pages/wxlogin/wxlogin.wxml
@@ -0,0 +1,16 @@
+<view class="container">
+
+  <view class="global-background">
+    <view class="page-top">
+      <text class="title">大理市民卡</text>
+    </view>
+
+    <input class="weui-input input-bar" bindinput="setPhone" placeholder="请输入手机号" style=""></input>
+    <input class="weui-input input-bar" bindinput="setPassword" placeholder="请输入密码" password="true" style=""></input>
+
+     <button class="long-btn" style="width: 90%;" bindtap="doLogin">登录</button>
+     <view class="signin-btn" bindtap="toRegister">新用户注册</view>
+
+  </view>
+  
+</view>
\ No newline at end of file
diff --git a/pages/wxlogin/wxlogin.wxss b/pages/wxlogin/wxlogin.wxss
new file mode 100644
index 0000000..a05de8b
--- /dev/null
+++ b/pages/wxlogin/wxlogin.wxss
@@ -0,0 +1,27 @@
+/* pages/wxlogin/wxlogin.wxss */
+
+.title {
+  display: flex;
+  justify-content: center;
+  padding-top: 15%;
+  color: white;
+  font-size: 60rpx;
+  margin: 0;
+}
+
+.input-bar {
+  height: 2rem;
+  border: 1px solid rgb(240, 240, 240);
+  border-style: solid none none none;
+  background-color: white;
+}
+
+.signin-btn {
+  margin-top: 30rpx;
+  color: gray;
+  float: right;
+  margin-right: 30rpx;
+  font-size: 28rpx;
+}
+
+