xcx 4 år sedan
förälder
incheckning
4a7cf7c489

+ 12
- 31
package-lock.json Visa fil

@@ -1798,7 +1798,7 @@
1798 1798
       "dependencies": {
1799 1799
         "regenerator-runtime": {
1800 1800
           "version": "0.10.5",
1801
-          "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.10.5.tgz?cache=0&sync_timestamp=1595456095182&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fregenerator-runtime%2Fdownload%2Fregenerator-runtime-0.10.5.tgz",
1801
+          "resolved": "https://registry.npm.taobao.org/regenerator-runtime/download/regenerator-runtime-0.10.5.tgz",
1802 1802
           "integrity": "sha1-M2w+/BIgrc7dosn6tntaeVWjNlg="
1803 1803
         }
1804 1804
       }
@@ -5575,8 +5575,7 @@
5575 5575
         "ansi-regex": {
5576 5576
           "version": "2.1.1",
5577 5577
           "bundled": true,
5578
-          "dev": true,
5579
-          "optional": true
5578
+          "dev": true
5580 5579
         },
5581 5580
         "aproba": {
5582 5581
           "version": "1.2.0",
@@ -5597,14 +5596,12 @@
5597 5596
         "balanced-match": {
5598 5597
           "version": "1.0.0",
5599 5598
           "bundled": true,
5600
-          "dev": true,
5601
-          "optional": true
5599
+          "dev": true
5602 5600
         },
5603 5601
         "brace-expansion": {
5604 5602
           "version": "1.1.11",
5605 5603
           "bundled": true,
5606 5604
           "dev": true,
5607
-          "optional": true,
5608 5605
           "requires": {
5609 5606
             "balanced-match": "^1.0.0",
5610 5607
             "concat-map": "0.0.1"
@@ -5619,20 +5616,17 @@
5619 5616
         "code-point-at": {
5620 5617
           "version": "1.1.0",
5621 5618
           "bundled": true,
5622
-          "dev": true,
5623
-          "optional": true
5619
+          "dev": true
5624 5620
         },
5625 5621
         "concat-map": {
5626 5622
           "version": "0.0.1",
5627 5623
           "bundled": true,
5628
-          "dev": true,
5629
-          "optional": true
5624
+          "dev": true
5630 5625
         },
5631 5626
         "console-control-strings": {
5632 5627
           "version": "1.1.0",
5633 5628
           "bundled": true,
5634
-          "dev": true,
5635
-          "optional": true
5629
+          "dev": true
5636 5630
         },
5637 5631
         "core-util-is": {
5638 5632
           "version": "1.0.2",
@@ -5749,8 +5743,7 @@
5749 5743
         "inherits": {
5750 5744
           "version": "2.0.3",
5751 5745
           "bundled": true,
5752
-          "dev": true,
5753
-          "optional": true
5746
+          "dev": true
5754 5747
         },
5755 5748
         "ini": {
5756 5749
           "version": "1.3.5",
@@ -5762,7 +5755,6 @@
5762 5755
           "version": "1.0.0",
5763 5756
           "bundled": true,
5764 5757
           "dev": true,
5765
-          "optional": true,
5766 5758
           "requires": {
5767 5759
             "number-is-nan": "^1.0.0"
5768 5760
           }
@@ -5777,7 +5769,6 @@
5777 5769
           "version": "3.0.4",
5778 5770
           "bundled": true,
5779 5771
           "dev": true,
5780
-          "optional": true,
5781 5772
           "requires": {
5782 5773
             "brace-expansion": "^1.1.7"
5783 5774
           }
@@ -5785,14 +5776,12 @@
5785 5776
         "minimist": {
5786 5777
           "version": "0.0.8",
5787 5778
           "bundled": true,
5788
-          "dev": true,
5789
-          "optional": true
5779
+          "dev": true
5790 5780
         },
5791 5781
         "minipass": {
5792 5782
           "version": "2.2.4",
5793 5783
           "bundled": true,
5794 5784
           "dev": true,
5795
-          "optional": true,
5796 5785
           "requires": {
5797 5786
             "safe-buffer": "^5.1.1",
5798 5787
             "yallist": "^3.0.0"
@@ -5811,7 +5800,6 @@
5811 5800
           "version": "0.5.1",
5812 5801
           "bundled": true,
5813 5802
           "dev": true,
5814
-          "optional": true,
5815 5803
           "requires": {
5816 5804
             "minimist": "0.0.8"
5817 5805
           }
@@ -5892,8 +5880,7 @@
5892 5880
         "number-is-nan": {
5893 5881
           "version": "1.0.1",
5894 5882
           "bundled": true,
5895
-          "dev": true,
5896
-          "optional": true
5883
+          "dev": true
5897 5884
         },
5898 5885
         "object-assign": {
5899 5886
           "version": "4.1.1",
@@ -5905,7 +5892,6 @@
5905 5892
           "version": "1.4.0",
5906 5893
           "bundled": true,
5907 5894
           "dev": true,
5908
-          "optional": true,
5909 5895
           "requires": {
5910 5896
             "wrappy": "1"
5911 5897
           }
@@ -5991,8 +5977,7 @@
5991 5977
         "safe-buffer": {
5992 5978
           "version": "5.1.1",
5993 5979
           "bundled": true,
5994
-          "dev": true,
5995
-          "optional": true
5980
+          "dev": true
5996 5981
         },
5997 5982
         "safer-buffer": {
5998 5983
           "version": "2.1.2",
@@ -6028,7 +6013,6 @@
6028 6013
           "version": "1.0.2",
6029 6014
           "bundled": true,
6030 6015
           "dev": true,
6031
-          "optional": true,
6032 6016
           "requires": {
6033 6017
             "code-point-at": "^1.0.0",
6034 6018
             "is-fullwidth-code-point": "^1.0.0",
@@ -6048,7 +6032,6 @@
6048 6032
           "version": "3.0.1",
6049 6033
           "bundled": true,
6050 6034
           "dev": true,
6051
-          "optional": true,
6052 6035
           "requires": {
6053 6036
             "ansi-regex": "^2.0.0"
6054 6037
           }
@@ -6092,14 +6075,12 @@
6092 6075
         "wrappy": {
6093 6076
           "version": "1.0.2",
6094 6077
           "bundled": true,
6095
-          "dev": true,
6096
-          "optional": true
6078
+          "dev": true
6097 6079
         },
6098 6080
         "yallist": {
6099 6081
           "version": "3.0.2",
6100 6082
           "bundled": true,
6101
-          "dev": true,
6102
-          "optional": true
6083
+          "dev": true
6103 6084
         }
6104 6085
       }
6105 6086
     },

+ 90
- 0
src/pages/WoDe/EditMiMa/index.vue Visa fil

@@ -0,0 +1,90 @@
1
+<template>
2
+  <div class="Page">
3
+    <MainPageContainer :ShowMainHeader="true" :ShowMainHeaderBack="true" MainHeaderTitle="修改密码" @UserInfoChange="Init">
4
+      <div class="PageContainer">
5
+        <div class="Form">
6
+          <input type="password" placeholder="请输入原始密码" v-model="LoginPassword" @input="LoginPassword = LoginPassword.substring(0, 12)">
7
+        </div>
8
+        <div class="Form">
9
+          <input type="password" placeholder="请输入新密码" v-model="NewPassword" @input="NewPassword = NewPassword.substring(0, 12)">
10
+        </div>
11
+        <div class="Form">
12
+          <input type="password" placeholder="请确认您的密码" v-model="PasswordAgain" @input="PasswordAgain = PasswordAgain.substring(0, 12)">
13
+        </div>
14
+        <div class="Btn">
15
+          <a @click="EditMiMa">确认</a>
16
+        </div>
17
+      </div>
18
+    </MainPageContainer>
19
+  </div>
20
+</template>
21
+
22
+<script>
23
+import md5 from 'js-md5'
24
+import MainPageContainer from '../../../components/common/MainPageContainer'
25
+import { createNamespacedHelpers } from 'vuex'
26
+const { mapState: mapUserState, mapActions: mapUserActions } = createNamespacedHelpers('user')
27
+export default {
28
+  name: '',
29
+  data () {
30
+    return {
31
+      LoginPassword: '',
32
+      NewPassword: '',
33
+      PasswordAgain: '',
34
+      DataLock: false
35
+    }
36
+  },
37
+  computed: {
38
+    ...mapUserState({
39
+      UserInfo: x => x.UserInfo
40
+    })
41
+  },
42
+  components: {
43
+    MainPageContainer
44
+  },
45
+  created () {
46
+  },
47
+  mounted () {
48
+    this.$nextTick(() => {
49
+    })
50
+  },
51
+  methods: {
52
+    ...mapUserActions([
53
+      'EditPassword'
54
+    ]),
55
+    Init () {
56
+    },
57
+    EditMiMa () {
58
+      if (this.DataLock || this.NewPassword === '' || this.PasswordAgain === '' || (this.UserInfo.cashPass !== null && this.LoginPassword === '')) return
59
+      this.DataLock = true
60
+      if (this.LoginPassword === '') {
61
+        this.Toast('原始密码不能为空')
62
+        this.DataLock = false
63
+        return false
64
+      }
65
+      if (this.NewPassword !== this.PasswordAgain) {
66
+        this.Toast('新密码与确认密码不一致')
67
+        this.DataLock = false
68
+        return false
69
+      }
70
+      this.EditPassword({ data: { newPassword: md5(this.NewPassword), originPassword: md5(this.LoginPassword) } }).then(() => {
71
+        this.Toast('修改密码成功')
72
+        this.DataLock = false
73
+        window.localStorage.niucaiadminname = null
74
+        window.localStorage.niucaiadminpassword = null
75
+        window.setTimeout(() => {
76
+          this.$router.push({ name: 'SignIn' })
77
+        }, 1000)
78
+      }).catch((res) => {
79
+        this.Toast(res.data.message)
80
+        this.DataLock = false
81
+      })
82
+    }
83
+  }
84
+}
85
+</script>
86
+
87
+<!-- Add "scoped" attribute to limit CSS to this component only -->
88
+<style lang="scss" scoped>
89
+@import "page.scss";
90
+</style>

+ 45
- 0
src/pages/WoDe/EditMiMa/page.scss Visa fil

@@ -0,0 +1,45 @@
1
+.Page {
2
+  background: #f2f2f2;
3
+  width: 100%;
4
+  height: 100%;
5
+  position: relative;
6
+  overflow: hidden;
7
+  .PageContainer {
8
+    width: 100%;
9
+    height: 100%;
10
+    position: relative;
11
+    overflow-y: scroll;
12
+    -webkit-overflow-scrolling: touch;
13
+    > .Form {
14
+      padding: 0.15rem;
15
+      background: #fff;
16
+      > input {
17
+        display: block;
18
+        font-size: 0.14rem;
19
+        line-height: 0.2rem;
20
+        width: 100%;
21
+      }
22
+    }
23
+    > span {
24
+      display: block;
25
+      font-size: 0.12rem;
26
+      color: #adadad;
27
+      line-height: 0.2rem;
28
+      margin-top: 0.05rem;
29
+      text-indent: 0.15rem;
30
+    }
31
+    > .Btn {
32
+      padding: 0 0.15rem;
33
+      margin-top: 0.5rem;
34
+      > a {
35
+        display: block;
36
+        text-align: center;
37
+        font-size: 0.16rem;
38
+        color: #fff;
39
+        background: #d91d36;
40
+        border-radius: 0.06rem;
41
+        line-height: 0.42rem;
42
+      }
43
+    }
44
+  }
45
+}

+ 4
- 0
src/pages/WoDe/GeRenSheZhi/index.vue Visa fil

@@ -2,6 +2,10 @@
2 2
   <div class="Page">
3 3
     <MainPageContainer :ShowMainHeader="true" :MainHeaderTitle="`个人设置`" :ShowMainHeaderBack="true">
4 4
       <ul>
5
+        <li class="flex-h">
6
+          <router-link tag="span" class="flex-item" :to="{ name: 'EditMiMa' }">修改密码</router-link>
7
+          <i class="iconfont iconjiantouright"></i>
8
+        </li>
5 9
         <li class="flex-h">
6 10
           <router-link tag="span" class="flex-item" :to="{ name: 'GuanYuWoMen' }">关于我们</router-link>
7 11
           <i class="iconfont iconjiantouright"></i>

+ 5
- 0
src/router/index.js Visa fil

@@ -93,6 +93,11 @@ let router = new Router({
93 93
             name: 'GuanYuWoMen',
94 94
             component: resolve => (require(['@/pages/WoDe/GuanYuWoMen'], resolve))
95 95
           },
96
+          {
97
+            path: '/WoDe/EditMiMa', // 个人中心-修改密码
98
+            name: 'EditMiMa',
99
+            component: resolve => (require(['@/pages/WoDe/EditMiMa'], resolve))
100
+          },
96 101
           {
97 102
             path: '/WoDe/XiaZaiErWeiMa', // 个人中心-下载二维码
98 103
             name: 'XiaZaiErWeiMa',

+ 5
- 0
src/store/user/index.js Visa fil

@@ -79,6 +79,11 @@ export default {
79 79
     }
80 80
   },
81 81
   actions: {
82
+    EditPassword (context, payload) { // 修改密码
83
+      return new Promise((resolve, reject) => {
84
+        ToolClass.Axios(resolve, reject, Api.EditPassword, context, payload, 1000)
85
+      })
86
+    },
82 87
     AliShiMingRenZheng (context, payload) { // 支付宝实名认证
83 88
       return new Promise((resolve, reject) => {
84 89
         ToolClass.Axios(resolve, reject, Api.AliShiMingRenZheng, context, payload, 1000)

+ 4
- 0
src/util/Api.js Visa fil

@@ -2,6 +2,10 @@
2 2
 const prefix = '/api'
3 3
 
4 4
 const $api = {
5
+  EditPassword: { // 修改密码
6
+    method: 'put',
7
+    url: `${prefix}/shop/resetpassword`
8
+  },
5 9
   AliShiMingRenZheng: { // 支付宝实名认证
6 10
     method: 'put',
7 11
     url: `${prefix}/app/shop/:id`