Commit d1c04132 authored by 肖健's avatar 肖健

更新js

parent d36ebe78
This diff is collapsed.
let plugin = requirePlugin('loginPlugin');
let plugin = requirePlugin("loginPlugin");
(function () {
if (console.jdLoginLog) {
return;
}
if (console.jdLoginLog) return
let normalLog = console.log;
console.jdLoginLog = (...args) => {
args.unshift('-------登录插件-------');
if (normalLog) {
normalLog(...args);
args.unshift('-------登录插件-------')
normalLog && normalLog(...args);
}
};
})();
})()
const utils = {
redirectPage(url) {
uni.redirectTo({
wx.redirectTo({
url
});
},
redirectToH5({ page, wvroute }) {
let url = plugin.formH5Url({
page: decodeURIComponent(page),
wvroute
});
utils.redirectPage(url);
let url = plugin.formH5Url({ page: decodeURIComponent(page), wvroute })
utils.redirectPage(url)
},
navigateToH5({ page, wvroute }) {
let url = plugin.formH5Url({
page: decodeURIComponent(page),
wvroute
});
uni.navigateTo({
url
});
let url = plugin.formH5Url({ page: decodeURIComponent(page), wvroute })
wx.navigateTo({ url })
},
setLoginParamsStorage(obj = {}) {
if (obj.appid && isNaN(Number(obj.appid))) {
delete obj.appid;
if(obj.appid && isNaN(Number(obj.appid))){
delete obj.appid
}
plugin.setLoginStorageSync(utils.getLoginConfig(obj));
},
......@@ -45,157 +35,114 @@ const utils = {
*/
getLoginConfig(obj = {}) {
//兼容缓存中有returnPage, 传递的参数中无,塞缓存时会用缓存中的值,导致不匹配
const handleUndefinedType = (o = {}) => {
let { pageType = 'redirectTo' } = o;
const handleUndefinedType = (o={})=>{
let { pageType = 'redirectTo' } = o
o.pageType = pageType;
return o;
};
return o
}
let storageConfig = plugin.getLoginParams();
let config = handleUndefinedType(utils.getDefaultConfig());
let loginParams = {
...storageConfig,
...config
};
let loginParams = { ...storageConfig, ...config };
if (plugin.isObject(obj)) {
loginParams = {
...loginParams,
...handleUndefinedType(obj)
};
loginParams = { ...loginParams, ...handleUndefinedType(obj) }
} else {
console.jdLoginLog('登录参数必须为对象');
console.jdLoginLog('登录参数必须为对象')
}
return loginParams;
return loginParams
},
getDefaultConfig() {
let lgConfig;
try {
lgConfig = require('./config.js');
lgConfig = require("./config.js");
} catch (err) {
console.log('CatchClause', err);
console.log('CatchClause', err);
lgConfig = {};
}
return lgConfig.config || {};
return lgConfig.config || {}
},
handleJump(p = {}) {
let { goback, pluginUrl, riskUrl } = p;
if (goback) {
utils.goBack();
return;
return
}
if (pluginUrl) {
utils.redirectPage(pluginUrl);
return;
}
if (riskUrl) {
utils.redirectToH5({
page: riskUrl
});
return
}
riskUrl && utils.redirectToH5({ page: riskUrl })
},
goBack() {
let params = plugin.getLoginParams();
let { returnPage, pageType } = params;
if (pageType == 'navigateBack') {
uni[pageType]();
let params = plugin.getLoginParams(),
{ returnPage, pageType } = params;
if(pageType == 'navigateBack'){
wx[pageType]();
return;
}
if (!returnPage) {
uni.showToast({
wx.showToast({
title: '没有returnPage,无法跳转',
icon: 'none'
});
return;
})
return
}
if (pageType !== 'h5') {
returnPage = decodeURIComponent(returnPage);
if (pageType && pageType != 'rediretTo') {
uni[pageType]({
url: returnPage
});
} else {
utils.redirectPage(returnPage);
if(pageType && pageType != 'rediretTo'){
wx[pageType]({url: returnPage})
}else{
utils.redirectPage(returnPage)
}
return;
} else {
utils.redirectToH5({
page: returnPage
});
utils.redirectToH5({ page: returnPage })
return;
}
},
h5Init(options) {
let p = plugin.getLoginParams();
if (plugin.isEmptyObj(p)) {
utils.setLoginParamsStorage(options);
}
if (plugin.isEmptyObj(p)) utils.setLoginParamsStorage(options)
},
setCustomNavigation() {
let { navigationBarColor, navigationBarTitle } = plugin.getLoginParams();
if (plugin.isObject(navigationBarColor)) {
uni.setNavigationBarColor(navigationBarColor);
}
if (plugin.isObject(navigationBarTitle)) {
uni.setNavigationBarTitle(navigationBarTitle);
}
plugin.isObject(navigationBarColor) && wx.setNavigationBarColor(navigationBarColor);
plugin.isObject(navigationBarTitle) && wx.setNavigationBarTitle(navigationBarTitle);
},
requestWithLoginStatus(obj = {}) {
obj.header = obj.header || {};
let [GUID = '', KEY = '', TOKEN = '', PIN = ''] = plugin.getJdListStorage(['guid', 'pt_key', 'pt_token', 'pt_pin']);
let _cookie = `guid=${GUID}; pt_pin=${encodeURIComponent(PIN)}; pt_key=${KEY}; pt_token=${TOKEN}`;
let { cookie } = obj.header;
let [GUID = '', KEY = '', TOKEN = '', PIN = ''] = plugin.getJdListStorage(['guid', 'pt_key', 'pt_token', 'pt_pin']),
_cookie = `guid=${GUID}; pt_pin=${encodeURIComponent(PIN)}; pt_key=${KEY}; pt_token=${TOKEN}`,
{ cookie } = obj.header ;
obj.header.cookie = cookie ? `${cookie};${_cookie}` : _cookie;
uni.request(obj);
wx.request(obj)
},
silentauthlogin(options, goToLogin, callback) {
uni.login({
wx.login({
success(res = {}) {
let { code } = res;
if (code) {
utils.setLoginParamsStorage(options);
plugin
.silentauthlogin(
{
...options,
code
},
goToLogin
)
plugin.silentauthlogin({ ...options, code }, goToLogin)
.then((res) => {
if (callback) {
callback({
isSuccess: res.err_code == 0
});
}
if (goToLogin && res.err_code == 0) {
utils.handleJump(res);
callback && callback({isSuccess: res.err_code == 0});
if(goToLogin && res.err_code == 0){
utils.handleJump(res)
}
})
.catch((res) => {
if (callback) {
callback({
isSuccess: false
});
}
callback && callback({isSuccess: false});
console.jdLoginLog('请重试一次');
});
} else {
if (callback) {
callback({
isSuccess: false
});
}
callback && callback({isSuccess: false});
console.jdLoginLog('wx.login 获取code失败');
}
},
fail() {
if (callback) {
callback({
isSuccess: false
});
}
}
callback && callback({isSuccess: false});
},
});
}
};
export default utils;
}
export default utils
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment