小程序授权登录回复正常

This commit is contained in:
337031187
2021-05-07 18:31:36 +08:00
parent cc8230497e
commit c3c875267f
85 changed files with 524 additions and 600 deletions

View File

@@ -1,6 +1,5 @@
import store from "../store";
import Cache from '../utils/cache';
import { Debounce } from '@/utils/validate.js'
// #ifdef H5 || APP-PLUS
import { isWeixin } from "../utils";
import auth from './wechat';
@@ -11,74 +10,31 @@ import { LOGIN_STATUS, USER_INFO, EXPIRES_TIME, STATE_R_KEY} from './../config/c
function prePage(){
let pages = getCurrentPages();
let prePage = pages[pages.length - 1];
// #ifndef APP-PLUS
return prePage.route;
// #endif
// #ifdef APP-PLUS
return prePage.$page.fullPath;
// #endif
}
export const toLogin = Debounce(_toLogin,800)
export function _toLogin(push, pathLogin) {
export function toLogin(push, pathLogin) {
store.commit("LOGOUT");
let path = prePage();
// #ifdef H5
// path = location.href;
path = location.pathname + location.search;
path = location.href;
// #endif
if(!pathLogin)
pathLogin = '/page/users/login/index'
Cache.set('login_back_url',path);
// #ifdef H5
// #ifdef H5 || APP-PLUS
if (isWeixin()) {
// auth.oAuth();
let urlData = location.pathname + location.search
if (urlData.indexOf('?') !== -1) {
urlData += '&go_longin=1';
} else {
urlData += '?go_longin=1';
}
console.log('ppppp',Cache.has('snsapiKey'))
if (Cache.has('snsapiKey')) {
uni.navigateTo({
url: '/pages/users/wechat_login/index',
});
}
// if (!Cache.has('snsapiKey')) {
// auth.oAuth('snsapi_base', urlData);
// } else {
// uni.navigateTo({
// url: '/pages/users/wechat_login/index',
// });
// }
auth.oAuth();
} else {
uni.navigateTo({
url: '/pages/users/login/index'
})
// if (path !== pathLogin) {
// push ? uni.navigateTo({
// url:'/pages/users/login/index'
// }) : uni.reLaunch({
// url: '/pages/users/login/index'
// });
// }
if (path !== pathLogin) {
push ? uni.navigateTo({
url:'/pages/users/login/index'
}) : uni.reLaunch({
url: '/pages/users/login/index'
});
}
}
// #endif
// #ifdef MP
uni.navigateTo({
url: '/pages/users/wechat_login/index'
})
// #endif
// #ifdef APP-PLUS
uni.navigateTo({
url: '/pages/users/login/index'
})
// #endif
}
@@ -102,4 +58,4 @@ export function checkLogin()
return true;
}
}
}

View File

@@ -3,6 +3,7 @@ import { checkLogin } from './login';
import { login } from '../api/public';
import Cache from '../utils/cache';
import { STATE_R_KEY, USER_INFO, EXPIRES_TIME, LOGIN_STATUS} from './../config/cache';
class Routine
{
@@ -24,6 +25,16 @@ class Routine
getUserProfile(){
let that = this , code = this.getUserCode();
return new Promise( (resolve,reject) => {
// uni.getUserInfo({
// lang: 'zh_CN',
// success(user) {
// if(code) user.code = code;
// resolve({userInfo:user,islogin:false});
// },
// fail(res){
// reject(res);
// }
// })
uni.getUserProfile({
lang: 'zh_CN',
desc: '用于完善会员资料', // 声明获取用户个人信息后的用途,后续会展示在弹窗中,请谨慎填写
@@ -65,6 +76,9 @@ class Routine
async getCode(){
let provider = await this.getProvider();
return new Promise((resolve,reject)=>{
if(Cache.has(STATE_R_KEY)){
return resolve(Cache.get(STATE_R_KEY));
}
uni.login({
provider:provider,
success(res) {
@@ -121,16 +135,17 @@ class Routine
{
return new Promise((resolve, reject)=>{
login(code,data).then(res=>{
if(res.data.type==='login'){
store.commit('LOGIN', {
token: res.data.token
});
}
// let time = res.data.expiresTime - Cache.time();
store.commit('UPDATE_USERINFO', res.data.user);
store.commit('LOGIN', {token:res.data.token});
store.commit('SETUID', res.data.user.uid);
// Cache.set(EXPIRES_TIME,res.data.expiresTime,time);
Cache.set(USER_INFO,res.data.user);
return resolve(res);
}).catch(res=>{
return reject(res);
})
});
})
}
}