Commit b4c522d1f0f6a259d69940daa72b82b473b48d6c
Merge remote-tracking branch 'origin/ww'
# Conflicts: # pages/personal/personal.vue
Showing
2 changed files
with
338 additions
and
332 deletions
@@ -57,9 +57,9 @@ | @@ -57,9 +57,9 @@ | ||
57 | <text style="color: #333; font-size: 14px;font-weight:700;margin-right: 30rpx;">下发类型:</text> | 57 | <text style="color: #333; font-size: 14px;font-weight:700;margin-right: 30rpx;">下发类型:</text> |
58 | 58 | ||
59 | <u-radio-group v-model="commandType" placement="row"> | 59 | <u-radio-group v-model="commandType" placement="row"> |
60 | - <u-radio activeColor="#3388FF" label="OneWay" name="OneWay"></u-radio> | 60 | + <u-radio activeColor="#3388FF" label="单向" name="OneWay"></u-radio> |
61 | <view style="margin: 0 20rpx;"></view> | 61 | <view style="margin: 0 20rpx;"></view> |
62 | - <u-radio activeColor="#3388FF" label="TwoWay" name="TwoWay"></u-radio> | 62 | + <u-radio activeColor="#3388FF" label="双向" name="TwoWay"></u-radio> |
63 | </u-radio-group> | 63 | </u-radio-group> |
64 | </view> | 64 | </view> |
65 | <view style="margin-top: 28rpx;width: 100%;"><u--textarea placeholder="请输入命令内容" v-model="commandValue" /></view> | 65 | <view style="margin-top: 28rpx;width: 100%;"><u--textarea placeholder="请输入命令内容" v-model="commandValue" /></view> |
@@ -8,25 +8,35 @@ | @@ -8,25 +8,35 @@ | ||
8 | <view class="u-flex u-p-l-30 u-p-r-20 u-p-t-75 u-p-b-30"> | 8 | <view class="u-flex u-p-l-30 u-p-r-20 u-p-t-75 u-p-b-30"> |
9 | <block v-if="userInfo.isToken || userInfo.isThirdLogin"> | 9 | <block v-if="userInfo.isToken || userInfo.isThirdLogin"> |
10 | <view @click.top="openPersonalInfo" class="u-m-r-20"> | 10 | <view @click.top="openPersonalInfo" class="u-m-r-20"> |
11 | - <image class="avatar" mode="aspectFill" :src="userInfo.avatar || thirdObj.avatarUrl || '../../static/logo.png'"></image> | 11 | + <image class="avatar" mode="aspectFill" |
12 | + :src="userInfo.avatar || thirdObj.avatarUrl || '../../static/logo.png'"></image> | ||
12 | </view> | 13 | </view> |
13 | <view class="u-flex-1" @click.top="openPersonalInfo"> | 14 | <view class="u-flex-1" @click.top="openPersonalInfo"> |
14 | <view class="nickName u-flex"> | 15 | <view class="nickName u-flex"> |
15 | <view class="name u-m-r-10" v-if="userInfo.realName || userInfo.nickName"> | 16 | <view class="name u-m-r-10" v-if="userInfo.realName || userInfo.nickName"> |
16 | - <text style="#FFFFFF;font-size: 18px;">{{ userInfo.realName || userInfo.nickName }}</text> | 17 | + <text |
18 | + style="#FFFFFF;font-size: 18px;">{{ userInfo.realName || userInfo.nickName }}</text> | ||
17 | </view> | 19 | </view> |
18 | - <view v-if="userInfo.isThirdLogin" @click.stop="clickAccountFunc" class="detail"><text class="text">绑定账号</text></view> | 20 | + <view v-if="userInfo.isThirdLogin" @click.stop="clickAccountFunc" class="detail"><text |
21 | + class="text">绑定账号</text></view> | ||
19 | </view> | 22 | </view> |
20 | - <view style="color: #ffffff; font-size: 14px" v-if="userInfo.phoneNumber">{{ handlePhoneFunc(userInfo.phoneNumber || '') }}</view> | 23 | + <view style="color: #ffffff; font-size: 14px" v-if="userInfo.phoneNumber"> |
24 | + {{ handlePhoneFunc(userInfo.phoneNumber || '') }}</view> | ||
21 | </view> | 25 | </view> |
22 | </block> | 26 | </block> |
23 | <block v-else> | 27 | <block v-else> |
24 | <view class="u-m-r-20" @click="openLoginFunc"> | 28 | <view class="u-m-r-20" @click="openLoginFunc"> |
25 | - <view class="avatar u-flex"><image class="avatar" mode="aspectFill" src="../../static/logo.png"></image></view> | 29 | + <view class="avatar u-flex"> |
30 | + <image class="avatar" mode="aspectFill" src="../../static/logo.png"></image> | ||
31 | + </view> | ||
32 | + </view> | ||
33 | + <view class="u-flex-1"> | ||
34 | + <view @click="openLoginFunc" class="u-font-lg click-login login-btn">请点击登录</view> | ||
26 | </view> | 35 | </view> |
27 | - <view class="u-flex-1"><view @click="openLoginFunc" class="u-font-lg click-login login-btn">请点击登录</view></view> | ||
28 | </block> | 36 | </block> |
29 | - <view v-if="userInfo.isToken" @click="openPersonalInfo"><u-icon name="arrow-right" color="white" size="13"></u-icon></view> | 37 | + <view v-if="userInfo.isToken" @click="openPersonalInfo"> |
38 | + <u-icon name="arrow-right" color="white" size="13"></u-icon> | ||
39 | + </view> | ||
30 | </view> | 40 | </view> |
31 | <!-- 登录 --> | 41 | <!-- 登录 --> |
32 | <!-- #endif --> | 42 | <!-- #endif --> |
@@ -34,14 +44,22 @@ | @@ -34,14 +44,22 @@ | ||
34 | <view class="u-flex my-nav"> | 44 | <view class="u-flex my-nav"> |
35 | <view class="nav-main"> | 45 | <view class="nav-main"> |
36 | <view @click="onTokenJump('/sysNotifySubPage/sysNotifyPage/systemNotify')" class="u-flex nav-link"> | 46 | <view @click="onTokenJump('/sysNotifySubPage/sysNotifyPage/systemNotify')" class="u-flex nav-link"> |
37 | - <view class="nav-image"><image class="image" src="../../static/sys-not.png"></image></view> | 47 | + <view class="nav-image"> |
48 | + <image class="image" src="../../static/sys-not.png"></image> | ||
49 | + </view> | ||
38 | <view class="nav-center"><text class="text">系统通知</text></view> | 50 | <view class="nav-center"><text class="text">系统通知</text></view> |
39 | - <view class="nav-right"><image class="image" src="../../static/arrow-right.png"></image></view> | 51 | + <view class="nav-right"> |
52 | + <image class="image" src="../../static/arrow-right.png"></image> | ||
53 | + </view> | ||
40 | </view> | 54 | </view> |
41 | <view @click="onTokenJump('/feedBackSubPage/feedback/feedback')" class="u-flex nav-link"> | 55 | <view @click="onTokenJump('/feedBackSubPage/feedback/feedback')" class="u-flex nav-link"> |
42 | - <view class="nav-image"><image class="image" src="../../static/find-sugg.png"></image></view> | 56 | + <view class="nav-image"> |
57 | + <image class="image" src="../../static/find-sugg.png"></image> | ||
58 | + </view> | ||
43 | <view class="nav-center"><text class="text">意见反馈</text></view> | 59 | <view class="nav-center"><text class="text">意见反馈</text></view> |
44 | - <view class="nav-right"><image class="image" src="../../static/arrow-right.png"></image></view> | 60 | + <view class="nav-right"> |
61 | + <image class="image" src="../../static/arrow-right.png"></image> | ||
62 | + </view> | ||
45 | </view> | 63 | </view> |
46 | </view> | 64 | </view> |
47 | <view @click="onLoginoutFunc" class="u-flex" style="justify-content: center; width: 600rpx"> | 65 | <view @click="onLoginoutFunc" class="u-flex" style="justify-content: center; width: 600rpx"> |
@@ -53,18 +71,12 @@ | @@ -53,18 +71,12 @@ | ||
53 | <u-modal :showConfirmButton="false" :show="show" :title="title"> | 71 | <u-modal :showConfirmButton="false" :show="show" :title="title"> |
54 | <view v-if="!bindPhone" class="loginPhone"> | 72 | <view v-if="!bindPhone" class="loginPhone"> |
55 | <view class="form-row"> | 73 | <view class="form-row"> |
56 | - <u--input shape="circle" class="input" prefixIcon="account-fill" type="text" placeholder="登录账号" v-model="bindAccountObj.appUserKey"></u--input> | 74 | + <u--input shape="circle" class="input" prefixIcon="account-fill" type="text" placeholder="登录账号" |
75 | + v-model="bindAccountObj.appUserKey"></u--input> | ||
57 | </view> | 76 | </view> |
58 | <view class="form-row item-bind"> | 77 | <view class="form-row item-bind"> |
59 | - <u--input | ||
60 | - class="input" | ||
61 | - shape="circle" | ||
62 | - prefixIcon="lock-fill" | ||
63 | - suffixIconStyle="color: #909399" | ||
64 | - type="password" | ||
65 | - placeholder="登录密码" | ||
66 | - v-model="bindAccountObj.appUserSecret" | ||
67 | - ></u--input> | 78 | + <u--input class="input" shape="circle" prefixIcon="lock-fill" suffixIconStyle="color: #909399" |
79 | + type="password" placeholder="登录密码" v-model="bindAccountObj.appUserSecret"></u--input> | ||
68 | </view> | 80 | </view> |
69 | <view class="u-flex item-phone"> | 81 | <view class="u-flex item-phone"> |
70 | <view class="phone-hide">手机验证码登录</view> | 82 | <view class="phone-hide">手机验证码登录</view> |
@@ -73,25 +85,14 @@ | @@ -73,25 +85,14 @@ | ||
73 | </view> | 85 | </view> |
74 | <view v-else class="loginPhone"> | 86 | <view v-else class="loginPhone"> |
75 | <view class="form-row"> | 87 | <view class="form-row"> |
76 | - <u--input | ||
77 | - shape="circle" | ||
78 | - class="input" | ||
79 | - type="text" | ||
80 | - v-model="bindPhoneObj.appUserKey" | ||
81 | - placeholder="请输入手机号码" | ||
82 | - placeholder-style="font-weight:normal;color:#bbbbbb;" | ||
83 | - ></u--input> | 88 | + <u--input shape="circle" class="input" type="text" v-model="bindPhoneObj.appUserKey" |
89 | + placeholder="请输入手机号码" placeholder-style="font-weight:normal;color:#bbbbbb;"></u--input> | ||
84 | </view> | 90 | </view> |
85 | <view class="form-row row-top"> | 91 | <view class="form-row row-top"> |
86 | - <u--input | ||
87 | - shape="circle" | ||
88 | - class="input" | ||
89 | - type="text" | ||
90 | - v-model="bindPhoneObj.appUserSecret" | ||
91 | - placeholder="请输入验证码" | ||
92 | - placeholder-style="font-weight:normal;color:#bbbbbb;" | ||
93 | - ></u--input> | ||
94 | - <view style="color: #377dff" class="getvcode" :class="{ forhidden: readonly }" @click="getVcode">{{ codeText }}</view> | 92 | + <u--input shape="circle" class="input" type="text" v-model="bindPhoneObj.appUserSecret" |
93 | + placeholder="请输入验证码" placeholder-style="font-weight:normal;color:#bbbbbb;"></u--input> | ||
94 | + <view style="color: #377dff" class="getvcode" :class="{ forhidden: readonly }" | ||
95 | + @click="getVcode">{{ codeText }}</view> | ||
95 | </view> | 96 | </view> |
96 | <view class="u-flex item-phone"> | 97 | <view class="u-flex item-phone"> |
97 | <view class="phone-hide">手机验证码登录</view> | 98 | <view class="phone-hide">手机验证码登录</view> |
@@ -100,8 +101,12 @@ | @@ -100,8 +101,12 @@ | ||
100 | </view> | 101 | </view> |
101 | <view class="bottom-content"> | 102 | <view class="bottom-content"> |
102 | <view class="u-flex content"> | 103 | <view class="u-flex content"> |
103 | - <view class="cancel"><u-button @click="show = false" type="info" shape="circle" text="取消"></u-button></view> | ||
104 | - <view class="confrim"><u-button @click="bindConfirm" type="primary" shape="circle" text="确认"></u-button></view> | 104 | + <view class="cancel"> |
105 | + <u-button @click="show = false" type="info" shape="circle" text="取消"></u-button> | ||
106 | + </view> | ||
107 | + <view class="confrim"> | ||
108 | + <u-button @click="bindConfirm" type="primary" shape="circle" text="确认"></u-button> | ||
109 | + </view> | ||
105 | </view> | 110 | </view> |
106 | </view> | 111 | </view> |
107 | </u-modal> | 112 | </u-modal> |
@@ -122,145 +127,215 @@ | @@ -122,145 +127,215 @@ | ||
122 | </template> | 127 | </template> |
123 | 128 | ||
124 | <script> | 129 | <script> |
125 | -var clear; | ||
126 | -import base from '@/config/baseUrl'; | ||
127 | -import fTabbar from '@/components/module/f-tabbar/f-tabbar'; | ||
128 | -import fNavbar from '@/components/module/f-navbar/f-navbar'; | ||
129 | -import { mapState, mapMutations } from 'vuex'; | 130 | + var clear; |
131 | + import base from '@/config/baseUrl'; | ||
132 | + import fTabbar from '@/components/module/f-tabbar/f-tabbar'; | ||
133 | + import fNavbar from '@/components/module/f-navbar/f-navbar'; | ||
134 | + import { | ||
135 | + mapState, | ||
136 | + mapMutations | ||
137 | + } from 'vuex'; | ||
130 | 138 | ||
131 | -export default { | ||
132 | - components: { | ||
133 | - fTabbar, | ||
134 | - fNavbar | ||
135 | - }, | ||
136 | - data() { | ||
137 | - return { | ||
138 | - PrimaryColor: '#0079fe', //主题色 | ||
139 | - showLogout: false, | ||
140 | - readonly: false, | ||
141 | - codeText: '获取验证码', | ||
142 | - tips: '验证码', | ||
143 | - bindPhone: false, | ||
144 | - show: false, | ||
145 | - title: '绑定账号', | ||
146 | - systemInfo: base.systemInfo, | ||
147 | - PrimaryButtonColor: '#0079fe', //主题色 | ||
148 | - bindAccountObj: { | ||
149 | - appUserKey: '', | ||
150 | - appUserSecret: '' | ||
151 | - }, | ||
152 | - bindPhoneObj: { | ||
153 | - appUserKey: '', | ||
154 | - appUserSecret: '' | ||
155 | - }, | ||
156 | - thirdObj: {}, | ||
157 | - getOpenId: '', | ||
158 | - mpOwnConfig: {} | ||
159 | - }; | ||
160 | - }, | ||
161 | - mounted() { | ||
162 | - this.getPlateForm(); | ||
163 | - }, | ||
164 | - onLoad(e) { | ||
165 | - // 隐藏原生的tabbar | ||
166 | - uni.hideTabBar(); | ||
167 | - // if (e.obj != null) { | ||
168 | - // const params = JSON.parse(decodeURIComponent(e.obj)); | ||
169 | - // // uni.$u.toast('eee', params.avatarUrl); | ||
170 | - // this.thirdObj = params; | ||
171 | - // } | ||
172 | - this.getOpenId = getApp().globalData.openId; | ||
173 | - }, | ||
174 | - computed: { | ||
175 | - ...mapState(['userInfo', 'plateInfo']) | ||
176 | - }, | ||
177 | - methods: { | ||
178 | - //获取平台定制信息 | ||
179 | - getPlateForm() { | ||
180 | - uni.$u.http.get('/yt/app_design/get').then(res => { | ||
181 | - if (res) { | ||
182 | - this.mpOwnConfig = { | ||
183 | - bg: res.background, | ||
184 | - logo: res.logo, | ||
185 | - name: res.name | ||
186 | - }; | ||
187 | - } | ||
188 | - }); | ||
189 | - }, | ||
190 | - handlePhoneFunc(e) { | ||
191 | - //前三后四位显示 | ||
192 | - const result = /^(\d{3})\d{4}(\d{4})$/; | ||
193 | - const y = e.toString().replace(result, '$1****$2'); | ||
194 | - return y; | ||
195 | - }, | ||
196 | - ...mapMutations(['emptyUserInfo', 'setUserInfo', 'setPlateInfo']), | ||
197 | - // 跳转前判断登录 | ||
198 | - onTokenJump(url) { | ||
199 | - this.judgeLogin(r => { | ||
200 | - uni.navigateTo({ | ||
201 | - url: url | ||
202 | - }); | ||
203 | - }); | ||
204 | - }, | ||
205 | - onJump(url) { | ||
206 | - uni.navigateTo({ | ||
207 | - url: url | ||
208 | - }); | ||
209 | - }, | ||
210 | - openLoginFunc() { | ||
211 | - uni.navigateTo({ | ||
212 | - url: '/publicLoginSubPage/public/login' | ||
213 | - }); | 139 | + export default { |
140 | + components: { | ||
141 | + fTabbar, | ||
142 | + fNavbar | ||
214 | }, | 143 | }, |
215 | - openPersonalInfo() { | ||
216 | - let obj = { | ||
217 | - data: this.userInfo, | ||
218 | - third: this.thirdObj | 144 | + data() { |
145 | + return { | ||
146 | + PrimaryColor: '#0079fe', //主题色 | ||
147 | + showLogout: false, | ||
148 | + readonly: false, | ||
149 | + codeText: '获取验证码', | ||
150 | + tips: '验证码', | ||
151 | + bindPhone: false, | ||
152 | + show: false, | ||
153 | + title: '绑定账号', | ||
154 | + systemInfo: base.systemInfo, | ||
155 | + PrimaryButtonColor: '#0079fe', //主题色 | ||
156 | + bindAccountObj: { | ||
157 | + appUserKey: '', | ||
158 | + appUserSecret: '' | ||
159 | + }, | ||
160 | + bindPhoneObj: { | ||
161 | + appUserKey: '', | ||
162 | + appUserSecret: '' | ||
163 | + }, | ||
164 | + thirdObj: {}, | ||
165 | + getOpenId: '', | ||
166 | + mpOwnConfig: {} | ||
219 | }; | 167 | }; |
220 | - uni.navigateTo({ | ||
221 | - url: '/publicLoginSubPage/other/set?data=' + JSON.stringify(obj) | ||
222 | - }); | ||
223 | }, | 168 | }, |
224 | - clickAccountFunc() { | ||
225 | - this.show = true; | ||
226 | - this.resetFunc(); | 169 | + mounted() { |
170 | + this.getPlateForm(); | ||
227 | }, | 171 | }, |
228 | - resetFunc() { | ||
229 | - this.bindPhone = false; | ||
230 | - this.bindAccountObj = {}; | ||
231 | - this.bindPhoneObj = {}; | 172 | + onLoad(e) { |
173 | + // 隐藏原生的tabbar | ||
174 | + uni.hideTabBar(); | ||
175 | + // if (e.obj != null) { | ||
176 | + // const params = JSON.parse(decodeURIComponent(e.obj)); | ||
177 | + // // uni.$u.toast('eee', params.avatarUrl); | ||
178 | + // this.thirdObj = params; | ||
179 | + // } | ||
180 | + this.getOpenId = getApp().globalData.openId; | ||
232 | }, | 181 | }, |
233 | - bindConfirm() { | ||
234 | - //需要绑定 | ||
235 | - if (!this.bindPhone) { | ||
236 | - if (this.bindAccountObj.appUserKey == '' || this.bindAccountObj.appUserKey == undefined) { | ||
237 | - return uni.$u.toast('请输入登录账号~'); | ||
238 | - } | ||
239 | - const passReg = /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$/; | ||
240 | - if (this.bindAccountObj.appUserSecret == '') { | ||
241 | - uni.showToast({ | ||
242 | - title: '请输入登录密码~', | ||
243 | - icon: 'none' | ||
244 | - }); | ||
245 | - return; | ||
246 | - } else if (!passReg.test(this.bindAccountObj.appUserSecret)) { | ||
247 | - uni.showModal({ | ||
248 | - title: '提示', | ||
249 | - content: '密码格式不正确(至少一个大写英文字母、至少一个小写英文字母、至少一位数字、至少一个特殊字符、最少八个字符)~', | ||
250 | - showCancel: false | 182 | + computed: { |
183 | + ...mapState(['userInfo', 'plateInfo']) | ||
184 | + }, | ||
185 | + methods: { | ||
186 | + //获取平台定制信息 | ||
187 | + getPlateForm() { | ||
188 | + uni.$u.http.get('/yt/app_design/get').then(res => { | ||
189 | + if (res) { | ||
190 | + this.mpOwnConfig = { | ||
191 | + bg: res.background, | ||
192 | + logo: res.logo, | ||
193 | + name: res.name | ||
194 | + }; | ||
195 | + } | ||
196 | + }); | ||
197 | + }, | ||
198 | + handlePhoneFunc(e) { | ||
199 | + //前三后四位显示 | ||
200 | + const result = /^(\d{3})\d{4}(\d{4})$/; | ||
201 | + const y = e.toString().replace(result, '$1****$2'); | ||
202 | + return y; | ||
203 | + }, | ||
204 | + ...mapMutations(['emptyUserInfo', 'setUserInfo', 'setPlateInfo']), | ||
205 | + // 跳转前判断登录 | ||
206 | + onTokenJump(url) { | ||
207 | + this.judgeLogin(() => { | ||
208 | + uni.navigateTo({ | ||
209 | + url: url | ||
251 | }); | 210 | }); |
252 | - return; | ||
253 | - } | ||
254 | - const postData = { | ||
255 | - loginMethod: 'ACCOUNT', | ||
256 | - ...this.bindAccountObj, | ||
257 | - platformName: 'WECHAT', | ||
258 | - thirdUserId: this.getOpenId | ||
259 | - }; | ||
260 | - uni.$u.http | ||
261 | - .post('/yt/third/bind', postData) | ||
262 | - .then(res => { | ||
263 | - if (res) { | 211 | + }); |
212 | + }, | ||
213 | + onJump(url) { | ||
214 | + uni.navigateTo({ | ||
215 | + url: url | ||
216 | + }); | ||
217 | + }, | ||
218 | + openLoginFunc() { | ||
219 | + uni.navigateTo({ | ||
220 | + url: '/publicLoginSubPage/public/login' | ||
221 | + }); | ||
222 | + }, | ||
223 | + openPersonalInfo() { | ||
224 | + let obj = { | ||
225 | + data: this.userInfo, | ||
226 | + third: this.thirdObj | ||
227 | + }; | ||
228 | + uni.navigateTo({ | ||
229 | + url: '/publicLoginSubPage/other/set?data=' + JSON.stringify(obj) | ||
230 | + }); | ||
231 | + }, | ||
232 | + clickAccountFunc() { | ||
233 | + this.show = true; | ||
234 | + this.resetFunc(); | ||
235 | + }, | ||
236 | + resetFunc() { | ||
237 | + this.bindPhone = false; | ||
238 | + this.bindAccountObj = {}; | ||
239 | + this.bindPhoneObj = {}; | ||
240 | + }, | ||
241 | + bindConfirm() { | ||
242 | + //需要绑定 | ||
243 | + if (!this.bindPhone) { | ||
244 | + if (this.bindAccountObj.appUserKey == '' || this.bindAccountObj.appUserKey == undefined) { | ||
245 | + return uni.$u.toast('请输入登录账号~'); | ||
246 | + } | ||
247 | + const passReg = /^(?=.*?[A-Z])(?=(.*[a-z]){1,})(?=(.*[\d]){1,})(?=(.*[\W]){1,})(?!.*\s).{8,}$/; | ||
248 | + if (this.bindAccountObj.appUserSecret == '') { | ||
249 | + uni.showToast({ | ||
250 | + title: '请输入登录密码~', | ||
251 | + icon: 'none' | ||
252 | + }); | ||
253 | + return; | ||
254 | + } else if (!passReg.test(this.bindAccountObj.appUserSecret)) { | ||
255 | + uni.showModal({ | ||
256 | + title: '提示', | ||
257 | + content: '密码格式不正确(至少一个大写英文字母、至少一个小写英文字母、至少一位数字、至少一个特殊字符、最少八个字符)~', | ||
258 | + showCancel: false | ||
259 | + }); | ||
260 | + return; | ||
261 | + } | ||
262 | + const postData = { | ||
263 | + loginMethod: 'ACCOUNT', | ||
264 | + ...this.bindAccountObj, | ||
265 | + platformName: 'WECHAT', | ||
266 | + thirdUserId: this.getOpenId | ||
267 | + }; | ||
268 | + uni.$u.http | ||
269 | + .post('/yt/third/bind', postData) | ||
270 | + .then(res => { | ||
271 | + if (res) { | ||
272 | + this.show = false; | ||
273 | + // 储存登录信息 | ||
274 | + let resObj = { | ||
275 | + refreshToken: res.refreshToken, | ||
276 | + isToken: res.token | ||
277 | + }; | ||
278 | + let userInfo = { | ||
279 | + ...resObj, | ||
280 | + token: true, //token用于判断是否登录 | ||
281 | + isThirdLogin: false, | ||
282 | + isThirdLoginAndNoDind: true | ||
283 | + }; | ||
284 | + if (userInfo.token) { | ||
285 | + this.setUserInfo(userInfo); | ||
286 | + } | ||
287 | + uni.showToast({ | ||
288 | + title: '账号绑定成功~', | ||
289 | + icon: 'none' | ||
290 | + }); | ||
291 | + this.saveUserInfo(); | ||
292 | + } | ||
293 | + }) | ||
294 | + .catch(e => { | ||
295 | + let msg = e.message || e.data?.message; | ||
296 | + // if (msg == undefined) { | ||
297 | + // msg = ''; | ||
298 | + // } | ||
299 | + if (msg) uni.$u.toast(msg); | ||
300 | + this.show = true; | ||
301 | + }); | ||
302 | + } else { | ||
303 | + const phoneRegular = /^1\d{10}$/; | ||
304 | + if (this.bindPhoneObj.appUserKey == '') { | ||
305 | + uni.showToast({ | ||
306 | + title: '请输入手机号码~', | ||
307 | + icon: 'none' | ||
308 | + }); | ||
309 | + return; | ||
310 | + } else if (!phoneRegular.test(this.bindPhoneObj.appUserKey)) { | ||
311 | + uni.showToast({ | ||
312 | + title: '手机号格式不正确~', | ||
313 | + icon: 'none' | ||
314 | + }); | ||
315 | + return; | ||
316 | + } | ||
317 | + if (this.bindPhoneObj.appUserSecret == '') { | ||
318 | + uni.showToast({ | ||
319 | + title: '请输入验证码~', | ||
320 | + icon: 'none' | ||
321 | + }); | ||
322 | + return; | ||
323 | + } else if (!/^\d{6}$/.test(this.bindPhoneObj.appUserSecret)) { | ||
324 | + uni.showToast({ | ||
325 | + title: '验证码格式不正确~', | ||
326 | + icon: 'none' | ||
327 | + }); | ||
328 | + return; | ||
329 | + } | ||
330 | + const postData = { | ||
331 | + loginMethod: 'PHONE', | ||
332 | + ...this.bindPhoneObj, | ||
333 | + platformName: 'WECHAT', | ||
334 | + thirdUserId: this.getOpenId | ||
335 | + }; | ||
336 | + uni.$u.http | ||
337 | + .post('/yt/third/bind', postData) | ||
338 | + .then(res => { | ||
264 | this.show = false; | 339 | this.show = false; |
265 | // 储存登录信息 | 340 | // 储存登录信息 |
266 | let resObj = { | 341 | let resObj = { |
@@ -277,185 +352,116 @@ export default { | @@ -277,185 +352,116 @@ export default { | ||
277 | this.setUserInfo(userInfo); | 352 | this.setUserInfo(userInfo); |
278 | } | 353 | } |
279 | uni.showToast({ | 354 | uni.showToast({ |
280 | - title: '账号绑定成功~', | 355 | + title: '手机绑定成功~', |
281 | icon: 'none' | 356 | icon: 'none' |
282 | }); | 357 | }); |
283 | this.saveUserInfo(); | 358 | this.saveUserInfo(); |
284 | - } | ||
285 | - }) | ||
286 | - .catch(e => { | ||
287 | - let msg = e.data?.message; | ||
288 | - if (msg == undefined) { | ||
289 | - msg = ''; | ||
290 | - } | ||
291 | - uni.$u.toast(msg); | ||
292 | - this.show = true; | ||
293 | - }); | ||
294 | - } else { | ||
295 | - const phoneRegular = /^1\d{10}$/; | ||
296 | - if (this.bindPhoneObj.appUserKey == '') { | ||
297 | - uni.showToast({ | ||
298 | - title: '请输入手机号码~', | ||
299 | - icon: 'none' | ||
300 | - }); | ||
301 | - return; | ||
302 | - } else if (!phoneRegular.test(this.bindPhoneObj.appUserKey)) { | 359 | + }) |
360 | + .catch(e => { | ||
361 | + let msg = e.message || e.data?.message; | ||
362 | + // msg = ''; | ||
363 | + // } | ||
364 | + if (msg) uni.$u.toast(msg); | ||
365 | + this.show = true; | ||
366 | + }); | ||
367 | + } | ||
368 | + }, | ||
369 | + saveUserInfo() { | ||
370 | + //储存个人信息 | ||
371 | + uni.$u.http.get('/yt/user/me/info').then(res => { | ||
372 | + if (res) { | ||
373 | + this.setUserInfo(res); | ||
374 | + } | ||
375 | + }); | ||
376 | + //储存平台信息 | ||
377 | + uni.$u.http.get('/yt/platform/get').then(res => { | ||
378 | + if (res) { | ||
379 | + this.setPlateInfo(res); | ||
380 | + } | ||
381 | + }); | ||
382 | + }, | ||
383 | + bindPhoneFunc() { | ||
384 | + this.bindPhone = true; | ||
385 | + }, | ||
386 | + bindAccountFunc() { | ||
387 | + this.bindPhone = false; | ||
388 | + }, | ||
389 | + //验证码按钮文字状态 | ||
390 | + getCodeState() { | ||
391 | + const _this = this; | ||
392 | + this.readonly = true; | ||
393 | + this.codeText = '60S后重新获取'; | ||
394 | + var s = 60; | ||
395 | + clear = setInterval(() => { | ||
396 | + s--; | ||
397 | + _this.codeText = s + 'S后重新获取'; | ||
398 | + if (s <= 0) { | ||
399 | + clearInterval(clear); | ||
400 | + _this.codeText = '获取验证码'; | ||
401 | + _this.readonly = false; | ||
402 | + } | ||
403 | + }, 1000); | ||
404 | + }, | ||
405 | + //获取验证码 | ||
406 | + getVcode() { | ||
407 | + if (this.readonly) { | ||
303 | uni.showToast({ | 408 | uni.showToast({ |
304 | - title: '手机号格式不正确~', | 409 | + title: '验证码已发送~', |
305 | icon: 'none' | 410 | icon: 'none' |
306 | }); | 411 | }); |
307 | return; | 412 | return; |
308 | } | 413 | } |
309 | - if (this.bindPhoneObj.appUserSecret == '') { | 414 | + if (this.bindPhoneObj.appUserKey == '') { |
310 | uni.showToast({ | 415 | uni.showToast({ |
311 | - title: '请输入验证码~', | 416 | + title: '请输入手机号~', |
312 | icon: 'none' | 417 | icon: 'none' |
313 | }); | 418 | }); |
314 | return; | 419 | return; |
315 | - } else if (!/^\d{6}$/.test(this.bindPhoneObj.appUserSecret)) { | 420 | + } |
421 | + const phoneRegular = /^1\d{10}$/; | ||
422 | + if (!phoneRegular.test(this.bindPhoneObj.appUserKey)) { | ||
316 | uni.showToast({ | 423 | uni.showToast({ |
317 | - title: '验证码格式不正确~', | 424 | + title: '手机号格式不正确~', |
318 | icon: 'none' | 425 | icon: 'none' |
319 | }); | 426 | }); |
320 | return; | 427 | return; |
321 | } | 428 | } |
322 | - const postData = { | ||
323 | - loginMethod: 'PHONE', | ||
324 | - ...this.bindPhoneObj, | ||
325 | - platformName: 'WECHAT', | ||
326 | - thirdUserId: this.getOpenId | ||
327 | - }; | ||
328 | - uni.$u.http | ||
329 | - .post('/yt/third/bind', postData) | ||
330 | - .then(res => { | ||
331 | - this.show = false; | ||
332 | - // 储存登录信息 | ||
333 | - let resObj = { | ||
334 | - refreshToken: res.refreshToken, | ||
335 | - isToken: res.token | ||
336 | - }; | ||
337 | - let userInfo = { | ||
338 | - ...resObj, | ||
339 | - token: true, //token用于判断是否登录 | ||
340 | - isThirdLogin: false, | ||
341 | - isThirdLoginAndNoDind: true | ||
342 | - }; | ||
343 | - if (userInfo.token) { | ||
344 | - this.setUserInfo(userInfo); | ||
345 | - } | ||
346 | - uni.showToast({ | ||
347 | - title: '手机绑定成功~', | ||
348 | - icon: 'none' | ||
349 | - }); | ||
350 | - this.saveUserInfo(); | ||
351 | - }) | ||
352 | - .catch(e => { | ||
353 | - let msg = e.data?.msg; | ||
354 | - if (msg == undefined) { | ||
355 | - msg = ''; | ||
356 | - } | ||
357 | - uni.$u.toast(msg); | ||
358 | - this.show = true; | ||
359 | - }); | ||
360 | - } | ||
361 | - }, | ||
362 | - saveUserInfo() { | ||
363 | - //储存个人信息 | ||
364 | - uni.$u.http.get('/yt/user/me/info').then(res => { | ||
365 | - if (res) { | ||
366 | - this.setUserInfo(res); | ||
367 | - } | ||
368 | - }); | ||
369 | - //储存平台信息 | ||
370 | - uni.$u.http.get('/yt/platform/get').then(res => { | ||
371 | - if (res) { | ||
372 | - this.setPlateInfo(res); | ||
373 | - } | ||
374 | - }); | ||
375 | - }, | ||
376 | - bindPhoneFunc() { | ||
377 | - this.bindPhone = true; | ||
378 | - }, | ||
379 | - bindAccountFunc() { | ||
380 | - this.bindPhone = false; | ||
381 | - }, | ||
382 | - //验证码按钮文字状态 | ||
383 | - getCodeState() { | ||
384 | - const _this = this; | ||
385 | - this.readonly = true; | ||
386 | - this.codeText = '60S后重新获取'; | ||
387 | - var s = 60; | ||
388 | - clear = setInterval(() => { | ||
389 | - s--; | ||
390 | - _this.codeText = s + 'S后重新获取'; | ||
391 | - if (s <= 0) { | ||
392 | - clearInterval(clear); | ||
393 | - _this.codeText = '获取验证码'; | ||
394 | - _this.readonly = false; | ||
395 | - } | ||
396 | - }, 1000); | ||
397 | - }, | ||
398 | - //获取验证码 | ||
399 | - getVcode() { | ||
400 | - if (this.readonly) { | ||
401 | - uni.showToast({ | ||
402 | - title: '验证码已发送~', | ||
403 | - icon: 'none' | ||
404 | - }); | ||
405 | - return; | ||
406 | - } | ||
407 | - if (this.bindPhoneObj.appUserKey == '') { | ||
408 | - uni.showToast({ | ||
409 | - title: '请输入手机号~', | ||
410 | - icon: 'none' | 429 | + let httpData = {}; |
430 | + // 获取验证码接口 | ||
431 | + uni.$u.http.post(`/yt/noauth/send_login_code/${this.bindPhoneObj.appUserKey}`).then(res => { | ||
432 | + if (res) { | ||
433 | + this.getCodeState(); //开始倒计时 | ||
434 | + } | ||
411 | }); | 435 | }); |
412 | - return; | ||
413 | - } | ||
414 | - const phoneRegular = /^1\d{10}$/; | ||
415 | - if (!phoneRegular.test(this.bindPhoneObj.appUserKey)) { | ||
416 | - uni.showToast({ | ||
417 | - title: '手机号格式不正确~', | ||
418 | - icon: 'none' | 436 | + }, |
437 | + onLoginoutFunc() { | ||
438 | + this.showLogout = true; | ||
439 | + }, | ||
440 | + closeLogout() { | ||
441 | + this.showLogout = false; | ||
442 | + }, | ||
443 | + logoutBtn() { | ||
444 | + let that = this; | ||
445 | + uni.showModal({ | ||
446 | + title: '退出登录', | ||
447 | + content: '你确定退出登录吗?', | ||
448 | + success(res) { | ||
449 | + if (res.confirm) { | ||
450 | + that.emptyUserInfo(); | ||
451 | + that.showLogout = false; | ||
452 | + setTimeout(() => { | ||
453 | + uni.navigateTo({ | ||
454 | + url: '/publicLoginSubPage/public/login' | ||
455 | + }); | ||
456 | + }, 500); | ||
457 | + } else if (res.cancel) {} | ||
458 | + } | ||
419 | }); | 459 | }); |
420 | - return; | ||
421 | } | 460 | } |
422 | - let httpData = {}; | ||
423 | - // 获取验证码接口 | ||
424 | - uni.$u.http.post(`/yt/noauth/send_login_code/${this.bindPhoneObj.appUserKey}`).then(res => { | ||
425 | - if (res) { | ||
426 | - this.getCodeState(); //开始倒计时 | ||
427 | - } | ||
428 | - }); | ||
429 | - }, | ||
430 | - onLoginoutFunc() { | ||
431 | - this.showLogout = true; | ||
432 | - }, | ||
433 | - closeLogout() { | ||
434 | - this.showLogout = false; | ||
435 | - }, | ||
436 | - logoutBtn() { | ||
437 | - let that = this; | ||
438 | - uni.showModal({ | ||
439 | - title: '退出登录', | ||
440 | - content: '你确定退出登录吗?', | ||
441 | - success(res) { | ||
442 | - if (res.confirm) { | ||
443 | - that.emptyUserInfo(); | ||
444 | - that.showLogout = false; | ||
445 | - setTimeout(() => { | ||
446 | - uni.navigateTo({ | ||
447 | - url: '/publicLoginSubPage/public/login' | ||
448 | - }); | ||
449 | - }, 500); | ||
450 | - } else if (res.cancel) { | ||
451 | - } | ||
452 | - } | ||
453 | - }); | ||
454 | } | 461 | } |
455 | - } | ||
456 | -}; | 462 | + }; |
457 | </script> | 463 | </script> |
458 | 464 | ||
459 | <style lang="scss" scoped> | 465 | <style lang="scss" scoped> |
460 | -@import './static/personal.scss'; | ||
461 | -</style> | 466 | + @import './static/personal.scss'; |
467 | +</style> |