From 6b3838600ff99411646978ab622351f86de8a064 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=90=B4=E6=98=8A=E5=A4=A9?= <442384644@qq.com> Date: Fri, 24 Feb 2023 15:17:24 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E6=9B=B4=E6=96=B0=E5=B0=8F=E7=A8=8B?= =?UTF-8?q?=E5=BA=8F=E8=8E=B7=E5=8F=96=E6=89=8B=E6=9C=BA=E5=8F=B7=E7=BB=91?= =?UTF-8?q?=E5=AE=9A=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crmeb/app/api/route/v2.php | 4 ++-- crmeb/app/services/wechat/RoutineServices.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/crmeb/app/api/route/v2.php b/crmeb/app/api/route/v2.php index a40c1ef07..1f07b6b08 100644 --- a/crmeb/app/api/route/v2.php +++ b/crmeb/app/api/route/v2.php @@ -35,9 +35,9 @@ Route::group('v2', function () { //是否强制绑定手机号 Route::get('bind_status', 'v2.PublicController/bindPhoneStatus'); //小程序授权绑定手机号 - Route::post('auth_bindind_phone', 'v2.wechat.AuthController/bindingPhone'); + Route::post('auth_bindind_phone', 'v2.wechat.AuthController/authBindingPhone'); //小程序授权后绑定手机号 - Route::post('routine/binding_phone', 'v2.wechat.AuthController/authBindingPhone'); + Route::post('routine/binding_phone', 'v2.wechat.AuthController/BindingPhone'); //小程序手机号登录直接绑定 Route::post('phone_silence_auth', 'v2.wechat.AuthController/silenceAuthBindingPhone'); //微信手机号登录直接绑定 diff --git a/crmeb/app/services/wechat/RoutineServices.php b/crmeb/app/services/wechat/RoutineServices.php index 2c9a8260d..4897cd8d6 100644 --- a/crmeb/app/services/wechat/RoutineServices.php +++ b/crmeb/app/services/wechat/RoutineServices.php @@ -481,10 +481,10 @@ class RoutineServices extends BaseServices } $uid = app()->make(WechatUserServices::class)->openidTouid($userInfoCong['openid']); $userServices = app()->make(UserServices::class); - if ($userServices->count(['phone|account' => $userInfo['purePhoneNumber']])) { + if ($userServices->count(['phone' => $userInfo['purePhoneNumber']])) { throw new ApiException(410028); } - $res = app()->make(UserServices::class)->update(['id' => $uid], ['phone' => $userInfo['purePhoneNumber']]); + $res = app()->make(UserServices::class)->update(['uid' => $uid], ['phone' => $userInfo['purePhoneNumber']]); if ($res) return true; throw new ApiException(410017); } From efa64710b60c791479766e33a872660350423909 Mon Sep 17 00:00:00 2001 From: From-wh Date: Fri, 24 Feb 2023 15:18:52 +0800 Subject: [PATCH 2/3] =?UTF-8?q?improve:=203=E7=BA=A7=E8=8F=9C=E5=8D=95?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/main/components/side-menu/side-menu.vue | 3 +++ 1 file changed, 3 insertions(+) diff --git a/template/admin/src/components/main/components/side-menu/side-menu.vue b/template/admin/src/components/main/components/side-menu/side-menu.vue index 75a3ecfa7..ab0f489fe 100644 --- a/template/admin/src/components/main/components/side-menu/side-menu.vue +++ b/template/admin/src/components/main/components/side-menu/side-menu.vue @@ -381,6 +381,9 @@ export default { .ivu-menu-submenu-title { padding-left: 23px !important; } + .ivu-menu-item { + padding-left: 35px !important; + } } } .ivu-menu-vertical .ivu-menu-submenu-title { From ea3a857d77fb5343ce4903c9c28f996d8011ae57 Mon Sep 17 00:00:00 2001 From: From-wh Date: Fri, 24 Feb 2023 15:20:40 +0800 Subject: [PATCH 3/3] =?UTF-8?q?feat:=20=E5=B0=8F=E7=A8=8B=E5=BA=8F?= =?UTF-8?q?=E6=89=8B=E6=9C=BA=E5=8F=B7=E7=BB=91=E5=AE=9A=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- template/uni-app/api/user.js | 9 ++++ template/uni-app/pages/user/index.vue | 36 +++++++++++++- .../components/login_mobile/routine_phone.vue | 1 - .../uni-app/pages/users/user_info/index.vue | 49 +++++++++++++++++-- 4 files changed, 88 insertions(+), 7 deletions(-) diff --git a/template/uni-app/api/user.js b/template/uni-app/api/user.js index bec786358..d9775c407 100644 --- a/template/uni-app/api/user.js +++ b/template/uni-app/api/user.js @@ -697,3 +697,12 @@ export function getLangJson() { noAuth: true }) } + +/** + * + * 小程序绑定手机号 + * @param object data + */ +export function mpBindingPhone(data) { + return request.post('v2/routine/binding_phone', data); +} \ No newline at end of file diff --git a/template/uni-app/pages/user/index.vue b/template/uni-app/pages/user/index.vue index 2062576f1..c287d123c 100644 --- a/template/uni-app/pages/user/index.vue +++ b/template/uni-app/pages/user/index.vue @@ -77,9 +77,15 @@ --> + + + + {{$t('绑定手机号')}} + @@ -284,7 +290,8 @@ getMenuList, getUserInfo, setVisit, - updateUserInfo + updateUserInfo, + mpBindingPhone } from '@/api/user.js'; import { wechatAuthV2, @@ -521,6 +528,32 @@ url: '/pages/users/user_phone/index' }) }, + getphonenumber(e) { + Routine.getCode() + .then(code => { + let data = { + code, + iv: e.detail.iv, + encryptedData: e.detail.encryptedData, + } + mpBindingPhone(data).then(res => { + this.getUserInfo() + this.$util.Tips({ + title: res.msg, + icon: 'success' + }); + }).catch(err => { + return this.$util.Tips({ + title: err + }); + }) + }) + .catch(error => { + uni.hideLoading(); + }); + + console.log(e) + }, /** * 获取个人用户信息 */ @@ -1260,6 +1293,7 @@ background-color: #CCC; border-radius: 15px; width: max-content; + font-size: 28rpx; padding: 0 10px; } diff --git a/template/uni-app/pages/users/components/login_mobile/routine_phone.vue b/template/uni-app/pages/users/components/login_mobile/routine_phone.vue index a6162838c..84fe170d5 100644 --- a/template/uni-app/pages/users/components/login_mobile/routine_phone.vue +++ b/template/uni-app/pages/users/components/login_mobile/routine_phone.vue @@ -60,7 +60,6 @@ }); Routine.getCode() .then(code => { - this.getUserPhoneNumber(e.detail.encryptedData, e.detail.iv, code); }) .catch(error => { diff --git a/template/uni-app/pages/users/user_info/index.vue b/template/uni-app/pages/users/user_info/index.vue index c664d0fba..a115ff2e5 100644 --- a/template/uni-app/pages/users/user_info/index.vue +++ b/template/uni-app/pages/users/user_info/index.vue @@ -43,15 +43,25 @@ {{$t(`昵称`)}} - + {{$t(`手机号码`)}} + + + + {{$t(`点击绑定手机号`)}} + + @@ -160,7 +170,8 @@ userEdit, getLogout, getLangList, - getLangJson + getLangJson, + mpBindingPhone } from '@/api/user.js'; import { switchH5Login, @@ -174,6 +185,7 @@ import dayjs from "@/plugin/dayjs/dayjs.min.js"; // #ifdef MP import authorize from '@/components/Authorize'; + import Routine from '@/libs/routine'; // #endif import Cache from '@/utils/cache'; import colors from '@/mixins/color.js'; @@ -244,6 +256,31 @@ title: this.$t(`当前为最新版本`) }); }, + getphonenumber(e) { + Routine.getCode() + .then(code => { + let data = { + code, + iv: e.detail.iv, + encryptedData: e.detail.encryptedData, + } + mpBindingPhone(data).then(res => { + this.getUserInfo() + this.$util.Tips({ + title: res.msg, + icon: 'success' + }); + }).catch(err => { + return this.$util.Tips({ + title: err + }); + }) + }) + .catch(error => { + uni.hideLoading(); + }); + + }, setLang() { this.array.map((item, i) => { if (this.$i18n.locale == item.value) { @@ -639,9 +676,11 @@ .personal-data .list .item .input { max-width: 400rpx; text-align: right; - color: #868686; - .icon-suozi{ - margin-left: 10rpx; + color: #868686; + font-size: 28rpx; + + .icon-suozi { + margin-left: 10rpx; } }