Commit 6ea1f7ef11237ca43bbe32af3a92f7bf5476d5b0
1 parent
5e52ed7c
个人中心
Showing
5 changed files
with
218 additions
and
91 deletions
src/api/getUserIfo.js
@@ -26,4 +26,30 @@ export function getFeedbackType(params) { // 获取建议反馈类型 | @@ -26,4 +26,30 @@ export function getFeedbackType(params) { // 获取建议反馈类型 | ||
26 | }) | 26 | }) |
27 | } | 27 | } |
28 | 28 | ||
29 | +export function sendverificode(params) { // 获取手机验证码 | ||
30 | + return request({ | ||
31 | + url: 'user/sendverificode', | ||
32 | + method: 'post', | ||
33 | + data: params | ||
34 | + }) | ||
35 | +} | ||
36 | + | ||
37 | + | ||
38 | +export function bindCustByOpenId(params) { // 绑定手机号获取 | ||
39 | + return request({ | ||
40 | + url: 'wxPublicUser/bindCustByOpenId', | ||
41 | + method: 'post', | ||
42 | + data: params | ||
43 | + }) | ||
44 | +} | ||
45 | + | ||
46 | +export function getOpenIdByCode(params) { // 绑定openId | ||
47 | + return request({ | ||
48 | + url: 'weixinPublicPay/getOpenIdByCode', | ||
49 | + method: 'post', | ||
50 | + data: params | ||
51 | + }) | ||
52 | +} | ||
53 | + | ||
54 | + | ||
29 | 55 |
src/utils/utils.js
@@ -74,22 +74,7 @@ export default { | @@ -74,22 +74,7 @@ export default { | ||
74 | } | 74 | } |
75 | return time; | 75 | return time; |
76 | }, | 76 | }, |
77 | - // myVxAppId: 'wx1489e48e6a547023', | ||
78 | - signObject: function(jsonObj) { //签名字段 | ||
79 | - jsonObj.sign_type = "md5"; | ||
80 | - jsonObj.app_id = "ud8yq5tv0inxupc05xfeau39jywlqoj2"; | ||
81 | - jsonObj.deviceInfo = "BC0703A4-AFB0-4B51-9089-9B7487C0CC6E"; | ||
82 | - jsonObj.salt = myCommonSalt(32); | ||
83 | - jsonObj.token = "99ecd32eed1b4ebea71bc73b0aabbb99"; | ||
84 | - let sort = []; | ||
85 | - for (let k in jsonObj) { | ||
86 | - sort.push({ | ||
87 | - keyname: k, | ||
88 | - value: jsonObj[k] | ||
89 | - }); | ||
90 | - } | ||
91 | - return this.myGetSign(sort); | ||
92 | - }, | 77 | + |
93 | clientBrowser: function() { // 判断客户端 | 78 | clientBrowser: function() { // 判断客户端 |
94 | if (/MicroMessenger/.test(window.navigator.userAgent)) { | 79 | if (/MicroMessenger/.test(window.navigator.userAgent)) { |
95 | console.log("微信客户端"); | 80 | console.log("微信客户端"); |
@@ -130,8 +115,27 @@ export default { | @@ -130,8 +115,27 @@ export default { | ||
130 | myVarAppid: "ud8yq5tv0inxupc05xfeau39jywlqoj2",// 公共请求Appid | 115 | myVarAppid: "ud8yq5tv0inxupc05xfeau39jywlqoj2",// 公共请求Appid |
131 | myDeviceInfo: "BC0703A4-AFB0-4B51-9089-9B7487C0CC6E", // 公共请求设备信息 | 116 | myDeviceInfo: "BC0703A4-AFB0-4B51-9089-9B7487C0CC6E", // 公共请求设备信息 |
132 | myVxAppId: "wx1489e48e6a547023", | 117 | myVxAppId: "wx1489e48e6a547023", |
133 | - openId: "oWw3o5rY_bFsiT_nFd2CEQWGZfhs", | 118 | + userToken:localStorage.getItem('userToken'), |
119 | + userPhoneNum:localStorage.getItem('userPhoneNum'), | ||
120 | + openId: "", | ||
134 | myOrgId: "10120", // 归属地 赤峰id 10003 黄石 10079 | 121 | myOrgId: "10120", // 归属地 赤峰id 10003 黄石 10079 |
122 | + | ||
123 | + // myVxAppId: 'wx1489e48e6a547023', | ||
124 | + signObject: function(jsonObj) { //签名字段 | ||
125 | + jsonObj.sign_type = "md5"; | ||
126 | + jsonObj.app_id = "ud8yq5tv0inxupc05xfeau39jywlqoj2"; | ||
127 | + jsonObj.deviceInfo = "BC0703A4-AFB0-4B51-9089-9B7487C0CC6E"; | ||
128 | + jsonObj.salt = myCommonSalt(32); | ||
129 | + jsonObj.token = localStorage.getItem('userToken'); | ||
130 | + let sort = []; | ||
131 | + for (let k in jsonObj) { | ||
132 | + sort.push({ | ||
133 | + keyname: k, | ||
134 | + value: jsonObj[k] | ||
135 | + }); | ||
136 | + } | ||
137 | + return this.myGetSign(sort); | ||
138 | + }, | ||
135 | myGetSign: function(objb) { // 获取签名 | 139 | myGetSign: function(objb) { // 获取签名 |
136 | var compare = function(obj1, obj2) { | 140 | var compare = function(obj1, obj2) { |
137 | var val1 = obj1.keyname; | 141 | var val1 = obj1.keyname; |
src/views/binding/binDing.vue
@@ -8,40 +8,145 @@ | @@ -8,40 +8,145 @@ | ||
8 | </mt-field> | 8 | </mt-field> |
9 | 9 | ||
10 | <div style="margin-top: 34px" class="leftRightPadding"> | 10 | <div style="margin-top: 34px" class="leftRightPadding"> |
11 | - <van-button type="info" block>绑定</van-button> | 11 | + <van-button type="info" block @click="bindPhoneHandle">绑定</van-button> |
12 | </div> | 12 | </div> |
13 | </div> | 13 | </div> |
14 | </template> | 14 | </template> |
15 | 15 | ||
16 | <script> | 16 | <script> |
17 | + | ||
18 | +import { sendverificode, bindCustByOpenId, getOpenIdByCode, getTokenByOpenId } from "@/api/getUserIfo"; | ||
17 | export default { | 19 | export default { |
18 | - name: 'binDing', | 20 | + name: "binDing", |
19 | data() { | 21 | data() { |
20 | return { | 22 | return { |
21 | - codeText: '', | ||
22 | - phone: '', | ||
23 | - timeText: '获取验证码', | 23 | + codeText: "", |
24 | + phone: "", | ||
25 | + timeText: "获取验证码", | ||
24 | timeNum: 60, | 26 | timeNum: 60, |
25 | - } | 27 | + webAppCode: "" |
28 | + }; | ||
26 | }, | 29 | }, |
27 | - created(){ | ||
28 | - this.timeNum = this.timeText | 30 | + created() { |
31 | + this.timeNum = this.timeText; | ||
32 | + // this.webAppCode = this.getWxCode(); // 正式打开注释 | ||
29 | }, | 33 | }, |
30 | methods: { | 34 | methods: { |
31 | - getCode: function () { | ||
32 | - var _this = this | 35 | + getWxCode() { |
36 | + var appID = this.$utils.myVxAppId; | ||
37 | + var code = this.getUrlParam("code"); | ||
38 | + var local = window.location.href; | ||
39 | + if (code == null || code === "") { | ||
40 | + window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appID + "&redirect_uri=" + encodeURIComponent(local) + "&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect"; | ||
41 | + } else { | ||
42 | + return code; | ||
43 | + } | ||
44 | + }, | ||
45 | + getUrlParam(name) { // 获取url里面的参数 | ||
46 | + var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)'); | ||
47 | + var r = window.location.search.substr(1).match(reg) | ||
48 | + if (r != null) return unescape(r[2]) | ||
49 | + return null | ||
50 | + }, | ||
51 | + getCode: function() { | ||
52 | + var _this = this; | ||
33 | // this.timeText = this.timeNum+'S' | 53 | // this.timeText = this.timeNum+'S' |
34 | - let Num = 5 | ||
35 | - var timer = setInterval(function () { | ||
36 | - _this.timeNum = Num-- +'s' | ||
37 | - if(Num== -1){ | ||
38 | - _this.timeNum = '获取验证码' | ||
39 | - clearInterval(timer) | 54 | + const reg = /^1[3-9]\d{9}$/; |
55 | + if (reg.test(this.phone)) { | ||
56 | + _this.sendverificode(); | ||
57 | + let Num = 60; | ||
58 | + var timer = setInterval(function() { | ||
59 | + _this.timeNum = Num-- + "s"; | ||
60 | + if (Num == -1) { | ||
61 | + _this.timeNum = "获取验证码"; | ||
62 | + clearInterval(timer); | ||
63 | + } | ||
64 | + }, 1000); | ||
65 | + } else { | ||
66 | + this.$toast("请输入正确手机号"); | ||
67 | + } | ||
68 | + }, | ||
69 | + sendverificode() { | ||
70 | + let jsondata = { | ||
71 | + phone: this.phone | ||
72 | + }; | ||
73 | + jsondata.sign = this.$utils.signObject(jsondata); | ||
74 | + console.log("停车记录传参 " + JSON.stringify(jsondata)); | ||
75 | + sendverificode(jsondata).then(response => { | ||
76 | + console.log(response); | ||
77 | + this.$toast("获取验证码成功"); | ||
78 | + }); | ||
79 | + }, | ||
80 | + bindPhoneHandle() { | ||
81 | + const reg = /^1[3-9]\d{9}$/; | ||
82 | + if (reg.test(this.phone)) { | ||
83 | + this.getOpenIdByCode(); // 获取openid | ||
84 | + | ||
85 | + } else { | ||
86 | + this.$toast("请输入正确手机号"); | ||
87 | + } | ||
88 | + }, | ||
89 | + getOpenIdByCode() { // 获取openid | ||
90 | + | ||
91 | + this.bindCustByOpenId() // 正式注释 | ||
92 | + | ||
93 | + | ||
94 | + | ||
95 | + // 正式打开注释 | ||
96 | + | ||
97 | + // let jsondata = { | ||
98 | + // appId: this.$utils.myVxAppId, | ||
99 | + // code: this.webAppCode | ||
100 | + // }; | ||
101 | + // jsondata.sign = this.$utils.signObject(jsondata); | ||
102 | + // console.log("停车记录传参 " + JSON.stringify(jsondata)); | ||
103 | + // getOpenIdByCode(jsondata).then(response => { | ||
104 | + // if(response.code=='0'){ | ||
105 | + // this.bindCustByOpenId() // 获取token和用户手机号 | ||
106 | + // } | ||
107 | + // }); | ||
108 | + }, | ||
109 | + bindCustByOpenId(){ // | ||
110 | + let jsondata = { | ||
111 | + phoneNum: this.phone, | ||
112 | + verifyCode: this.codeText, | ||
113 | + // openid: this.$utils.openId // 正式打开注释 | ||
114 | + openid:'oWw3o5rY_bFsiT_nFd2CEQWGZfhs' // 正式注释 | ||
115 | + }; | ||
116 | + jsondata.sign = this.$utils.signObject(jsondata); | ||
117 | + console.log("停车记录传参 " + JSON.stringify(jsondata)); | ||
118 | + bindCustByOpenId(jsondata).then(response => { | ||
119 | + if(response.code=='0'){ | ||
120 | + this.getTokenByOpenId() // 获取token和用户手机号 | ||
121 | + | ||
122 | + }else if(response.code=='1017'||response.code==1017){ | ||
123 | + this.$toast("已经绑定过"); | ||
124 | + }else{ | ||
125 | + this.$toast("绑定失败"); | ||
126 | + } | ||
127 | + }); | ||
128 | + }, | ||
129 | + getTokenByOpenId(){ // 获取token和用户手机号 | ||
130 | + let jsondata = { | ||
131 | + // openid: this.$utils.openId // 正式打开注释 | ||
132 | + openid:'oWw3o5rY_bFsiT_nFd2CEQWGZfhs' // 正式注释 | ||
133 | + }; | ||
134 | + jsondata.sign = this.$utils.signObject(jsondata); | ||
135 | + console.log("停车记录传参 " + JSON.stringify(jsondata)); | ||
136 | + getTokenByOpenId(jsondata).then(response => { | ||
137 | + if(response.code=='0'){ | ||
138 | + this.$toast("亲,您已绑定成功!"); | ||
139 | + localStorage.setItem('userToken',response.data.token) | ||
140 | + localStorage.setItem('userPhoneNum',response.data.phoneNum) | ||
141 | + this.$router.push({ | ||
142 | + name: "selfNav" | ||
143 | + } | ||
144 | + ); | ||
40 | } | 145 | } |
41 | - }, 1000) | 146 | + }); |
42 | } | 147 | } |
43 | } | 148 | } |
44 | -} | 149 | +}; |
45 | </script> | 150 | </script> |
46 | 151 | ||
47 | <style scoped lang="scss"> | 152 | <style scoped lang="scss"> |
src/views/mySelf/feedback/suggestionBack.vue
@@ -12,10 +12,6 @@ | @@ -12,10 +12,6 @@ | ||
12 | </li> | 12 | </li> |
13 | </ul> | 13 | </ul> |
14 | 14 | ||
15 | - | ||
16 | - | ||
17 | - <!--<mt-field label="" placeholder="请详细描述反馈问题,或提出改进建议。(300字以内)" type="textarea" rows="4" v-model="introduction" ></mt-field>--> | ||
18 | - | ||
19 | <van-field | 15 | <van-field |
20 | v-model="introduction" | 16 | v-model="introduction" |
21 | rows="2" | 17 | rows="2" |
@@ -26,7 +22,7 @@ | @@ -26,7 +22,7 @@ | ||
26 | show-word-limit | 22 | show-word-limit |
27 | /> | 23 | /> |
28 | 24 | ||
29 | - <div style="margin-top: 34px"> | 25 | + <div style="margin-top: 34px"> |
30 | <van-button type="info" block @click="submitCon">提交</van-button> | 26 | <van-button type="info" block @click="submitCon">提交</van-button> |
31 | </div> | 27 | </div> |
32 | </div> | 28 | </div> |
@@ -34,54 +30,53 @@ | @@ -34,54 +30,53 @@ | ||
34 | 30 | ||
35 | <script> | 31 | <script> |
36 | 32 | ||
37 | -import { saveFeedbackAndSuggest, getFeedbackType } from '@/api/getUserIfo' | 33 | +import { saveFeedbackAndSuggest, getFeedbackType } from "@/api/getUserIfo"; |
38 | export default { | 34 | export default { |
39 | - name: 'suggestionBack', | 35 | + name: "suggestionBack", |
40 | data() { | 36 | data() { |
41 | return { | 37 | return { |
42 | suggestionList: [], | 38 | suggestionList: [], |
43 | currentIndex: 0, | 39 | currentIndex: 0, |
44 | - introduction: '', | ||
45 | - } | 40 | + introduction: "" |
41 | + }; | ||
46 | }, | 42 | }, |
47 | - created(){ | ||
48 | - this.getFeedbackType() | 43 | + created() { |
44 | + this.getFeedbackType(); | ||
49 | }, | 45 | }, |
50 | methods: { | 46 | methods: { |
51 | - getFeedbackType(){ | ||
52 | - let jsondata = {} | ||
53 | - jsondata.sign = this.$utils.signObject(jsondata) | 47 | + getFeedbackType() { |
48 | + let jsondata = {}; | ||
49 | + jsondata.sign = this.$utils.signObject(jsondata); | ||
54 | getFeedbackType(jsondata).then(response => { | 50 | getFeedbackType(jsondata).then(response => { |
55 | - console.log(response) | ||
56 | - this.suggestionList = response.data | ||
57 | - }) | 51 | + console.log(response); |
52 | + this.suggestionList = response.data; | ||
53 | + }); | ||
58 | }, | 54 | }, |
59 | - chooseHandle: function (i) { | ||
60 | - console.log(i) | ||
61 | - this.currentIndex = i | 55 | + chooseHandle: function(i) { |
56 | + console.log(i); | ||
57 | + this.currentIndex = i; | ||
62 | }, | 58 | }, |
63 | - submitCon(){ | ||
64 | - if(this.introduction){ | 59 | + submitCon() { |
60 | + if (this.introduction) { | ||
65 | let jsondata = { | 61 | let jsondata = { |
66 | - feedbackCode:this.suggestionList[this.currentIndex].code, | ||
67 | - suggestDesc:this.introduction, | 62 | + feedbackCode: this.suggestionList[this.currentIndex].code, |
63 | + suggestDesc: this.introduction | ||
68 | // token:'99ecd32eed1b4ebea71bc73b0aabbb99' | 64 | // token:'99ecd32eed1b4ebea71bc73b0aabbb99' |
69 | - } | ||
70 | - jsondata.sign = this.$utils.signObject(jsondata) | 65 | + }; |
66 | + jsondata.sign = this.$utils.signObject(jsondata); | ||
71 | saveFeedbackAndSuggest(jsondata).then(response => { | 67 | saveFeedbackAndSuggest(jsondata).then(response => { |
72 | - console.log(response) | ||
73 | - if(response.code==0){ | 68 | + console.log(response); |
69 | + if (response.code == 0) { | ||
74 | this.$toast("提交成功"); | 70 | this.$toast("提交成功"); |
75 | } | 71 | } |
76 | // this.phoneNum = response.data.phoneNum | 72 | // this.phoneNum = response.data.phoneNum |
77 | - }) | ||
78 | - | ||
79 | - }else{ | 73 | + }); |
74 | + } else { | ||
80 | this.$toast("请填写建议反馈内容"); | 75 | this.$toast("请填写建议反馈内容"); |
81 | } | 76 | } |
82 | } | 77 | } |
83 | } | 78 | } |
84 | -} | 79 | +}; |
85 | </script> | 80 | </script> |
86 | 81 | ||
87 | <style scoped lang="scss"> | 82 | <style scoped lang="scss"> |
src/views/mySelf/selfNav.vue
@@ -25,9 +25,9 @@ | @@ -25,9 +25,9 @@ | ||
25 | </van-cell-group> | 25 | </van-cell-group> |
26 | 26 | ||
27 | 27 | ||
28 | - <div class="leftRightPadding" style="margin-top: 34px" v-if="openId"> | 28 | + <div class="leftRightPadding" style="margin-top: 34px" v-if="phoneNum"> |
29 | <!--<mt-button type="danger" size="large"></mt-button>--> | 29 | <!--<mt-button type="danger" size="large"></mt-button>--> |
30 | - <van-button type="info" block>退出账户</van-button> | 30 | + <!--<van-button type="info" block>退出账户</van-button>--> |
31 | </div> | 31 | </div> |
32 | <div class="leftRightPadding" style="margin-top: 34px" v-else> | 32 | <div class="leftRightPadding" style="margin-top: 34px" v-else> |
33 | <van-button type="info" block @click="toBindingPage">登录绑定</van-button> | 33 | <van-button type="info" block @click="toBindingPage">登录绑定</van-button> |
@@ -38,7 +38,7 @@ | @@ -38,7 +38,7 @@ | ||
38 | 38 | ||
39 | <script> | 39 | <script> |
40 | 40 | ||
41 | -import { getTokenByOpenId } from '@/api/getUserIfo' | 41 | +import { getTokenByOpenId } from "@/api/getUserIfo"; |
42 | export default { | 42 | export default { |
43 | name: "selfNav", | 43 | name: "selfNav", |
44 | data() { | 44 | data() { |
@@ -58,26 +58,23 @@ export default { | @@ -58,26 +58,23 @@ export default { | ||
58 | } | 58 | } |
59 | ], | 59 | ], |
60 | openId: "", | 60 | openId: "", |
61 | - phoneNum:'',//手机号 | 61 | + phoneNum: ""//手机号 |
62 | }; | 62 | }; |
63 | }, | 63 | }, |
64 | mounted() { | 64 | mounted() { |
65 | - this.openId = this.$utils.openId; | ||
66 | - if(this.openId){ | ||
67 | - this.getTokenAndphoneNum() | ||
68 | - } | ||
69 | - console.log(this.openId); | 65 | + // this.openId = this.$utils.openId; |
66 | + // if (this.openId) { | ||
67 | + // this.getTokenAndphoneNum(); | ||
68 | + // } | ||
69 | + // console.log(this.openId); | ||
70 | }, | 70 | }, |
71 | created() { | 71 | created() { |
72 | - // this.carNumber = this.$route.query.carNumber // 获取车牌号 | ||
73 | - // this.carColor = this.$route.query.carNumberColor // 获取颜色 0:蓝牌;1:黄牌;2:白牌;3:黑牌;4:绿色 | ||
74 | - // this.currentTabActive = this.$route.query.parkFlag ? this.$route.query.parkFlag : 0 // 0在停 1历史 | ||
75 | - // console.log(this.carNumber) | ||
76 | - // this.parkRecordList(this.carNumber) | 72 | + this.phoneNum = this.$utils.userPhoneNum |
73 | + console.log(this.$utils.userPhoneNum) | ||
77 | }, | 74 | }, |
78 | methods: { | 75 | methods: { |
79 | toNextPage(path) { | 76 | toNextPage(path) { |
80 | - if (this.openId) { | 77 | + if (this.phoneNum) { |
81 | this.$router.push({ | 78 | this.$router.push({ |
82 | name: path | 79 | name: path |
83 | } | 80 | } |
@@ -96,17 +93,17 @@ export default { | @@ -96,17 +93,17 @@ export default { | ||
96 | } | 93 | } |
97 | ); | 94 | ); |
98 | }, | 95 | }, |
99 | - getTokenAndphoneNum(){ | 96 | + getTokenAndphoneNum() { |
100 | let jsondata = { | 97 | let jsondata = { |
101 | - openid: this.$utils.openId, | ||
102 | - } | ||
103 | - jsondata.sign = this.$utils.signObject(jsondata) | ||
104 | - console.log('停车记录传参 ' + JSON.stringify(jsondata)); | 98 | + openid: this.$utils.openId |
99 | + }; | ||
100 | + jsondata.sign = this.$utils.signObject(jsondata); | ||
101 | + console.log("停车记录传参 " + JSON.stringify(jsondata)); | ||
105 | getTokenByOpenId(jsondata).then(response => { | 102 | getTokenByOpenId(jsondata).then(response => { |
106 | - console.log(response) | ||
107 | - this.phoneNum = response.data.phoneNum | ||
108 | - console.log(response.data.token) | ||
109 | - }) | 103 | + console.log(response); |
104 | + this.phoneNum = response.data.phoneNum; | ||
105 | + console.log(response.data.token); | ||
106 | + }); | ||
110 | } | 107 | } |
111 | } | 108 | } |
112 | }; | 109 | }; |