mirror of
https://gitee.com/java110/WechatOwnerService.git
synced 2026-06-11 14:17:25 +08:00
优化 代码 解决罗之 我的页面 不显示登录名问题
This commit is contained in:
parent
03724416eb
commit
7197383a67
@ -29,6 +29,11 @@ import {
|
||||
getLoginFlag
|
||||
} from '../utils/StorageUtil.js'
|
||||
|
||||
import {
|
||||
isNotNull,
|
||||
isNull
|
||||
} from '../utils/StringUtil.js'
|
||||
|
||||
import url from '../../../constant/url.js'
|
||||
|
||||
/**
|
||||
@ -39,12 +44,17 @@ export function onLoad(options) {
|
||||
pageOnLoad(options);
|
||||
let pages = getCurrentPages() // 获取栈实例
|
||||
let currentRoute = pages[pages.length - 1].route;
|
||||
//白名单直接跳过检查登录
|
||||
if (!url.NEED_NOT_LOGIN_PAGE.includes(currentRoute)) {
|
||||
console.log('NEED_NOT_LOGIN_PAGE')
|
||||
checkSession(null,function() {
|
||||
})
|
||||
let _key = options.key;
|
||||
if (isNotNull(_key)) {
|
||||
//根据key 去做登录
|
||||
return ;
|
||||
}
|
||||
//白名单直接跳过检查登录
|
||||
// if (!url.NEED_NOT_LOGIN_PAGE.includes(currentRoute)) {
|
||||
// console.log('NEED_NOT_LOGIN_PAGE')
|
||||
// checkSession(null,function() {
|
||||
// })
|
||||
// }
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@ -14,8 +14,8 @@ import conf from '../../../config.js'
|
||||
|
||||
import url from '../../../constant/url.js'
|
||||
export function pageOnLoad(options) {
|
||||
|
||||
getPageWAppId()
|
||||
doPageCheckSession('',function(){},'1');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -28,34 +28,33 @@ export function getPageWAppId() {
|
||||
return wAppId;
|
||||
}
|
||||
|
||||
export function pageCheckSession(_pageUrl,_call) {
|
||||
export function doPageCheckSession(_pageUrl,_call,_needLogin){
|
||||
let _that = this;
|
||||
let loginFlag = getLoginFlag();
|
||||
let nowDate = new Date();
|
||||
|
||||
if (loginFlag && loginFlag.expireTime > nowDate.getTime()) {
|
||||
_call();
|
||||
return;
|
||||
}
|
||||
|
||||
//查询临时钥匙
|
||||
let _key = getOwnerKey();;
|
||||
if (_key) {
|
||||
doLoginOwnerByKey(_key, _call);
|
||||
doLoginOwnerByKey(_key, _call,_needLogin);
|
||||
} else {
|
||||
uni.navigateTo({
|
||||
url: '/pages/showlogin/showlogin?wAppId=' + getWAppId()
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
export function pageCheckSession(_pageUrl,_call) {
|
||||
doPageCheckSession(_pageUrl,_call,'0')
|
||||
}
|
||||
|
||||
/**
|
||||
* app 自登陆处理
|
||||
* @param {Object} _key 自登陆key
|
||||
* add by wuxw QQ 928255095
|
||||
*/
|
||||
export function doLoginOwnerByKey(_key, callback = () => {}) {
|
||||
export function doLoginOwnerByKey(_key, callback = () => {},_needLogin) {
|
||||
requestNoAuth({
|
||||
url: url.loginOwnerByKey,
|
||||
method: 'post',
|
||||
@ -64,7 +63,7 @@ export function doLoginOwnerByKey(_key, callback = () => {}) {
|
||||
},
|
||||
success: function(res) {
|
||||
let _param = res.data;
|
||||
if (_param.code != 0) {
|
||||
if (_param.code != 0 && _needLogin != '1') {
|
||||
uni.navigateTo({
|
||||
url: '/pages/showlogin/showlogin?wAppId=' + getPageWAppId()
|
||||
});
|
||||
|
||||
@ -19,10 +19,18 @@ export function pageOnLoad(options) {
|
||||
let _key = options.key;
|
||||
if (isNotNull(_key)) {
|
||||
//根据key 去做登录
|
||||
doLoginOwnerByKey(_key, function(){});
|
||||
doLoginOwnerByKey(_key, function(){
|
||||
// 可能存在 页面初始化等一些问题 这里删除连接中的key 然后刷新页面
|
||||
window.location.href = window.location.href.replace('key=','_keySuccess=')
|
||||
});
|
||||
}
|
||||
|
||||
getPageWAppId(options)
|
||||
getPageWAppId(options);
|
||||
|
||||
if (isNull(_key)) {
|
||||
doPageCheckSession(window.location.href,window.location.href,function(){});
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -81,14 +89,25 @@ export function getPageWAppId(options) {
|
||||
* 页面 session
|
||||
* @param {Object} _call 回调函数
|
||||
*/
|
||||
export function pageCheckSession(_pageUrl,_call) {
|
||||
export function doPageCheckSession(errorUrl,_pageUrl,_call) {
|
||||
let loginFlag = getLoginFlag();
|
||||
let nowDate = new Date();
|
||||
if (loginFlag && loginFlag.expireTime > nowDate.getTime()) {
|
||||
_call();
|
||||
return;
|
||||
}
|
||||
wechatRefreshToken('', 0, location.origin+'/#'+_pageUrl);
|
||||
if(_pageUrl){
|
||||
wechatRefreshToken(errorUrl, 0, location.origin+'/#'+_pageUrl);
|
||||
}else{
|
||||
wechatRefreshToken(errorUrl, 0, '');
|
||||
}
|
||||
}
|
||||
/**
|
||||
* 页面 session
|
||||
* @param {Object} _call 回调函数
|
||||
*/
|
||||
export function pageCheckSession(_pageUrl,_call) {
|
||||
doPageCheckSession('',_pageUrl,_call)
|
||||
}
|
||||
|
||||
export function wechatRefreshToken(errorUrl, _login, _redirectUrl) {
|
||||
@ -181,3 +200,5 @@ export function getPageLoginCode(options) {
|
||||
resolve(code);
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
@ -19,6 +19,7 @@ import {
|
||||
|
||||
export function pageOnLoad(options) {
|
||||
getPageWAppId();
|
||||
doPageCheckSession('',function(){},'1');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -38,7 +39,7 @@ export function getPageWAppId() {
|
||||
* 页面 session
|
||||
* @param {Object} _call 回调函数
|
||||
*/
|
||||
export function pageCheckSession(_pageUrl,_call) {
|
||||
export function doPageCheckSession(_pageUrl,_call,_needLogin) {
|
||||
let loginFlag = getLoginFlag();
|
||||
let nowDate = new Date();
|
||||
if (loginFlag && loginFlag.expireTime > nowDate.getTime()) {
|
||||
@ -51,26 +52,34 @@ export function pageCheckSession(_pageUrl,_call) {
|
||||
// session_key 过期
|
||||
fail: function() {
|
||||
// session_key过期
|
||||
doLogin(_call);
|
||||
doLogin(_call,_needLogin);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
// 无登录态
|
||||
doLogin(_call);
|
||||
doLogin(_call,_needLogin);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 页面 session
|
||||
* @param {Object} _call 回调函数
|
||||
*/
|
||||
export function pageCheckSession(_pageUrl,_call) {
|
||||
doPageCheckSession(_pageUrl,_call,'0')
|
||||
}
|
||||
|
||||
/**
|
||||
* 登录
|
||||
*/
|
||||
export function doLogin(callback = () => {}) {
|
||||
export function doLogin(callback = () => {},_needLogin) {
|
||||
|
||||
wx.login({
|
||||
success: function(loginRes) {
|
||||
if (loginRes.code) {
|
||||
// TODO
|
||||
//请求服务后端登录
|
||||
requsetHcServerToLogin(loginRes, callback);
|
||||
requsetHcServerToLogin(loginRes, callback,_needLogin);
|
||||
} else {
|
||||
// 获取 code 失败
|
||||
console.log('调用wx.login获取code失败');
|
||||
@ -87,7 +96,7 @@ export function doLogin(callback = () => {}) {
|
||||
* 尝试服务器登录
|
||||
* 如果登录不成功 跳转登录页面
|
||||
*/
|
||||
export function requsetHcServerToLogin(loginRes, callback = () => {}) {
|
||||
export function requsetHcServerToLogin(loginRes, callback = () => {},_needLogin) {
|
||||
let defaultRawData =
|
||||
'{"nickName":"","gender":1,"language":"","city":"","province":"","country":"","avatarUrl":""}'; // 请求服务端的登录接口
|
||||
console.log('返回信息', loginRes);
|
||||
@ -110,7 +119,7 @@ export function requsetHcServerToLogin(loginRes, callback = () => {}) {
|
||||
|
||||
},
|
||||
success: function(res) {
|
||||
if (res.statusCode == '401') {
|
||||
if (res.statusCode == '401' && _needLogin != '1') {
|
||||
let data = res.data;
|
||||
saveOpenId(data.openId);
|
||||
wx.reLaunch({
|
||||
@ -124,9 +133,11 @@ export function requsetHcServerToLogin(loginRes, callback = () => {}) {
|
||||
saveUserLoginInfo(res.userInfo.userId, res.token)
|
||||
callback();
|
||||
} else {
|
||||
wx.reLaunch({
|
||||
url: '/pages/showlogin/showlogin?wAppId=' + _appId
|
||||
});
|
||||
if( _needLogin != '1'){
|
||||
wx.reLaunch({
|
||||
url: '/pages/showlogin/showlogin?wAppId=' + _appId
|
||||
});
|
||||
}
|
||||
return;
|
||||
}
|
||||
},
|
||||
|
||||
@ -23,4 +23,22 @@ export function decodeUrl(_url){
|
||||
_url = _url.replaceAll("**", "&"); //已经有?了
|
||||
|
||||
return _url;
|
||||
}
|
||||
}
|
||||
|
||||
export function getPageUrl(){
|
||||
let pages = getCurrentPages()
|
||||
let len = pages.length
|
||||
let curParam = pages[len - 1].options //获取当前页面参数
|
||||
let param = []
|
||||
for (let key in curParam) { //获取key=value键值对格式数组
|
||||
param.push(key + '=' + curParam[key])
|
||||
}
|
||||
let _url = '' //除去第一个参数拼接后面参数
|
||||
param.forEach((item, i) => {
|
||||
if (i != 0) { //拼接&符号,由于第一组前拼接的是?所有第一组需要单独处理
|
||||
_url += '&' + item
|
||||
}
|
||||
})
|
||||
let url = '/' + pages[len - 1].route + '?' + param[0] + _url //最终格式**/pages/index/index/?id=11&name='boyyang'&sex='man'**
|
||||
return url;
|
||||
}
|
||||
|
||||
@ -110,7 +110,7 @@
|
||||
components: {},
|
||||
props: {},
|
||||
onLoad: function(options) {
|
||||
context.onLoad(options, () => {
|
||||
this.vc.onLoad(options, () => {
|
||||
this.refreshPageLoginInfo();
|
||||
});
|
||||
},
|
||||
|
||||
Loading…
Reference in New Issue
Block a user