From a1d42ee12f26686f01cc6e4ce682318942bab5ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A7=9A=E4=BA=9A=E7=94=B7?= Date: Thu, 18 Nov 2021 12:04:24 +0800 Subject: [PATCH] =?UTF-8?q?=E5=BE=AE=E4=BF=A1=E6=8E=88=E6=9D=83=E7=99=BB?= =?UTF-8?q?=E5=BD=95=EF=BC=8C=E8=8E=B7=E5=8F=96=E6=8E=88=E6=9D=83=E5=87=AD?= =?UTF-8?q?=E8=AF=81=E6=94=B9=E4=B8=BA=E5=90=8E=E7=AB=AF=E8=8E=B7=E5=8F=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app.js | 2 +- assets/js/common.js | 50 +++++++---- assets/js/http/userApi.js | 14 +-- components/getPhoneNumer/getPhoneNumber.js | 89 -------------------- components/getPhoneNumer/getPhoneNumber.json | 4 - components/getPhoneNumer/getPhoneNumber.wxml | 6 -- components/getPhoneNumer/getPhoneNumber.wxss | 1 - pages/forgetPassword/forgetPassword.js | 24 +++--- pages/login/login.js | 28 ++---- pages/phonePassword/phonePassword.js | 2 +- pages/setPassword/setPassword.js | 2 +- 11 files changed, 55 insertions(+), 167 deletions(-) delete mode 100644 components/getPhoneNumer/getPhoneNumber.js delete mode 100644 components/getPhoneNumer/getPhoneNumber.json delete mode 100644 components/getPhoneNumer/getPhoneNumber.wxml delete mode 100644 components/getPhoneNumer/getPhoneNumber.wxss diff --git a/app.js b/app.js index 58f6036..85aa456 100644 --- a/app.js +++ b/app.js @@ -16,7 +16,7 @@ App({ success(result){ wxBind((res)=>{ let params = { - openId: res.data.openid, + openId: res.result.openid, rsaPublicKey: result.rsaPublicKey } UserApi.wxLogin(params).then(res=>{ diff --git a/assets/js/common.js b/assets/js/common.js index ebc32a6..3848be2 100644 --- a/assets/js/common.js +++ b/assets/js/common.js @@ -1,43 +1,57 @@ -import {appId, secret} from '../js/project.config' -export function wxBind(callback){ +import { + appId, + secret +} from '../js/project.config' +import UserApi from '../js/http/userApi' +export function wxBind(callback) { // 获取openid进行手机号和微信的绑定 let count = 1 wx.login({ - success (res) { + success(res) { if (res.code && count === 1) { - wx.request({ - url: 'https://api.weixin.qq.com/sns/jscode2session', - data: { - appid: appId, - secret: secret, - js_code: res.code, - grant_type: 'authorization_code' - }, - success (res) { // 成功拿到openId + let params = { + appid: appId, + secret: secret, + js_code: res.code, + grant_type: 'authorization_code' + } + UserApi.getWxLoginPromise(params).then(res => { + if (res.success) { // 成功拿到openId // 微信和该账号绑定 - if(count === 1){ // 回调会莫名回调两次,未知原因 + if (count === 1) { // 回调会莫名回调两次,未知原因 callback(res) } count++ - } + }else [ + wx.showToast({ + title: res.message, + icon: 'none' + }) + ] }) } else { console.log('授权失败!' + res.message) } + }, + fail(err) { + wx.showToast({ + title: err.message, + icon: 'none' + }) } }) } // 检验是否登录 -export function isLogin(callback){ +export function isLogin(callback) { wx.getStorage({ key: 'X-Access-Token', - success(res){ + success(res) { callback() }, - fail(){ + fail() { wx.navigateTo({ url: '../login/login', }) } }) -} +} \ No newline at end of file diff --git a/assets/js/http/userApi.js b/assets/js/http/userApi.js index 2dae09b..10ae66a 100644 --- a/assets/js/http/userApi.js +++ b/assets/js/http/userApi.js @@ -1,21 +1,13 @@ import http from './http.js' let URL_CONFIG = '/jero-boot/' const UserApi = { - // // 登录 - // login: (params) => http.post(`${URL_CONFIG}sys/login`, params), - // // 获得公钥 - // getRSAPublicKey: (params) => http.get(`${URL_CONFIG}sys/getRSAPublicKey`, params), - // // 图片的验证码 - // getImgCode: (params, urlParam) => http.get(`${URL_CONFIG}sys/randomImage/${urlParam}`, params), - // // 退出 - // logout: (params) => http.post(`${URL_CONFIG}sys/logout`, params), - // //修改密码 - // upDatePass:(params) => http.put(`${URL_CONFIG}sys/user/updatePassword`, params), /** * author: yaoyanan * **/ // 获得公钥 getRSAPublicKey: (params) => http.get(`${URL_CONFIG}sys/getRSAPublicKey`, params), + // 获取微信登录凭证 + getWxLoginPromise: (params) => http.get(`${URL_CONFIG}company/jscode2session`, params), // 发送短信验证码 sendCode: (params) => http.get(`${URL_CONFIG}company/sendVerificationCode`, params), // 手机短信登录 @@ -75,4 +67,4 @@ const UserApi = { queryDataMemberList: (params) => http.get(`${URL_CONFIG}jero/memberProjectSubitem/pageCompany`, params), } -export default UserApi \ No newline at end of file +export default UserApi diff --git a/components/getPhoneNumer/getPhoneNumber.js b/components/getPhoneNumer/getPhoneNumber.js deleted file mode 100644 index f11bab4..0000000 --- a/components/getPhoneNumer/getPhoneNumber.js +++ /dev/null @@ -1,89 +0,0 @@ -// components/getPhoneNumer/getPhoneNumber.js -const app = getApp() - -Component({ - /** - * 组件的属性列表 - */ - properties: { - appid:{ - type: String, - value:'' - }, - secret: { - type: String, - value:'' - } - }, - // 可以定义外部样式类 影响组件的样式 - externalClasses: ['class'], - options: { - // 配置样式是否可以被父组件影响 详细见文档 - styleIsolation: 'apply-shared' - }, - /** - * 组件的初始数据 - */ - data: { - // session_key - session_key:'', - // 用户openid - openid:'' - }, - - /** - * 组件的方法列表 - */ - methods: { - getPhoneNumber(e) { - console.log(e); - const that = this - wx.checkSession({ - success: (res) => { - console.log(res); - if(e.detail.errMsg == 'getPhoneNumber:fail user deny'){ - console.log("用户拒绝了授权"); - return - }else{ - console.log("用户同意了授权"); - let key = that.data.session_key - let phone = e.detail.encryptedData; - let iv = e.detail.iv; - const RdWXBizDataCrypt = require('./utils/RdWXBizDataCrypt'); - const pc = new RdWXBizDataCrypt(that.data.appid, key); - const data = pc.decryptData(phone, iv); - console.log(data.phoneNumber); //当前手机号码 - that.triggerEvent("myevent",data) - } - }, - fail:(err) => { - console.log("登录状态失效,请重新登录",err); - } - }) - - }, - }, - /** - * 组件生命周期 - */ - lifetimes: { - attached(){ - const that = this - wx.login({ - timeout: 2000, - success(res){ - wx.request({ - url: `https://api.weixin.qq.com/sns/jscode2session?appid=${that.data.appid}&secret=${that.data.secret}&js_code=${res.code}&grant_type=authorization_code`, - success(result){ - that.setData({ - session_key:result.data.session_key, - openid:result.data.openid - }) - } - }) - } - }) - } - } - -}) \ No newline at end of file diff --git a/components/getPhoneNumer/getPhoneNumber.json b/components/getPhoneNumer/getPhoneNumber.json deleted file mode 100644 index e8cfaaf..0000000 --- a/components/getPhoneNumer/getPhoneNumber.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - "component": true, - "usingComponents": {} -} \ No newline at end of file diff --git a/components/getPhoneNumer/getPhoneNumber.wxml b/components/getPhoneNumer/getPhoneNumber.wxml deleted file mode 100644 index 1da65ee..0000000 --- a/components/getPhoneNumer/getPhoneNumber.wxml +++ /dev/null @@ -1,6 +0,0 @@ - - - - diff --git a/components/getPhoneNumer/getPhoneNumber.wxss b/components/getPhoneNumer/getPhoneNumber.wxss deleted file mode 100644 index e74b8a6..0000000 --- a/components/getPhoneNumer/getPhoneNumber.wxss +++ /dev/null @@ -1 +0,0 @@ -/* components/getPhoneNumer/getPhoneNumber.wxss */ diff --git a/pages/forgetPassword/forgetPassword.js b/pages/forgetPassword/forgetPassword.js index c2d1bf5..28f7e83 100644 --- a/pages/forgetPassword/forgetPassword.js +++ b/pages/forgetPassword/forgetPassword.js @@ -44,7 +44,7 @@ Page({ if (res.success) { this.countDown() wx.showToast({ - title: '发送成功'+ res.result, + title: '发送成功', icon: 'none', duration: 2000 }) @@ -272,26 +272,24 @@ Page({ wx.login({ success (res) { if (res.code) { - //发起网络请求 - wx.request({ - url: 'https://api.weixin.qq.com/sns/jscode2session', - data: { - appid: 'wx24914e866df035fb', - secret: '0d2830f26f57722716249f2b2236f409', - js_code: res.code, - grant_type: 'authorization_code' - }, - success (res) { // 成功拿到openId + let params = { + appid: appId, + secret: secret, + js_code: res.code, + grant_type: 'authorization_code' + } + UserApi.getWxLoginPromise(params).then(res => { + if (res.success) { // 成功拿到openId // 微信和该账号绑定 let params = { - openId: res.openId, + openId: res.result.openid, rsaPublicKey: that.data.rsaPublicKey } UserApi.wxBind(params).then(res=>{}) } }) } else { - console.log('授权失败!' + res.errMsg) + console.log('授权失败!' + res.message) } } }) diff --git a/pages/login/login.js b/pages/login/login.js index cab58b5..4e2559f 100644 --- a/pages/login/login.js +++ b/pages/login/login.js @@ -97,7 +97,6 @@ Page({ wx.getStorage({ key: 'authorize', success(result){ - console.log('result=======', result) // 做过查看微信用户信息 if(result.data){ // 做过用户信息获取 wx.showToast({ @@ -106,7 +105,7 @@ Page({ }) wxBind((res)=>{ let params = { - openId: res.data.openid, + openId: res.result.openid, rsaPublicKey: that.data.rsaPublicKey } UserApi.wxLogin(params).then(res=>{ @@ -116,14 +115,14 @@ Page({ key: 'X-Access-Token', data: res.result.token }) - wx.switchTab({ - url: '../home/home', - }) wx.setStorageSync('authorize', true) // 设置有过微信授权 wx.setStorage({ key: 'avatarUrl', data: result.avatarUrl }) + wx.switchTab({ + url: '../home/home', + }) }else{ // 首次登录不能直接用微信快捷登录 wx.showToast({ title: '暂无授权手机号', @@ -138,7 +137,6 @@ Page({ }, fail(err){ // 没有做过查看微信用户信息 - console.log('err========', err) that.getUserInfo() } }) @@ -149,13 +147,11 @@ Page({ wx.showModal({ title: '温馨提示', content: `亲,授权微信登录后才能正常使用小程序功能`, - cancelColor: 'cancelColor', success(res) { if (res.confirm) { wx.getUserProfile({ desc: '获取你的昵称、头像、地区及性别', success(result){ - console.log('result用于完善用户信息', result) let userInfoTemp = JSON.parse(result.rawData) wx.setStorage({ key: 'userInfoTemp', @@ -170,7 +166,7 @@ Page({ }) wxBind((res)=>{ let params = { - openId: res.data.openid, + openId: res.result.openid, rsaPublicKey: that.data.rsaPublicKey } UserApi.wxLogin(params).then(res=>{ @@ -195,7 +191,6 @@ Page({ }) }, fail(err){ - console.log('err===========', err) wx.setStorageSync('authorize', false) } }) @@ -204,17 +199,6 @@ Page({ } } }) - // wx.showModal({ - // title: '错误提示', - // content: `图片大于${that.data.maxSize}MB`, - // showCancel: false, - // success(res) { - // if (res.confirm) { - // console.log('用户点击确定') - // } - // } - // }) - }, // 登录 formSubmit(e) { @@ -293,7 +277,7 @@ Page({ const that = this wxBind((res)=>{ let params = { - openId: res.data.openid, + openId: res.result.openid, rsaPublicKey: that.data.rsaPublicKey } // 需要判断是否绑定过微信,再进行绑定请求 diff --git a/pages/phonePassword/phonePassword.js b/pages/phonePassword/phonePassword.js index 9445a50..6aad426 100644 --- a/pages/phonePassword/phonePassword.js +++ b/pages/phonePassword/phonePassword.js @@ -190,7 +190,7 @@ Page({ // 获取openid进行手机号和微信的绑定 wxBind((res)=>{ let params = { - openId: res.data.openid, + openId: res.result.openid, rsaPublicKey: that.data.rsaPublicKey } // 需要判断是否绑定过微信,再进行绑定请求 diff --git a/pages/setPassword/setPassword.js b/pages/setPassword/setPassword.js index 0e8b2c8..b1a6c28 100644 --- a/pages/setPassword/setPassword.js +++ b/pages/setPassword/setPassword.js @@ -178,7 +178,7 @@ Page({ const that = this wxBind((res)=>{ let params = { - openId: res.data.openid, + openId: res.result.openid, rsaPublicKey: that.data.rsaPublicKey } // 需要判断是否绑定过微信,再进行绑定请求