yumi报错
This commit is contained in:
parent
c49615b0d6
commit
79366434f1
@ -55,18 +55,72 @@ var default_api = 'https://api.global-interaction.com/';
|
|||||||
return match ? match[0] : token;
|
return match ? match[0] : token;
|
||||||
}
|
}
|
||||||
|
|
||||||
function decodeBase64URLJSON(value) {
|
function decodeBase64URLText(value) {
|
||||||
try {
|
try {
|
||||||
var normalized = String(value || '')
|
var normalized = String(value || '')
|
||||||
.replace(/-/g, '+')
|
.replace(/-/g, '+')
|
||||||
.replace(/_/g, '/');
|
.replace(/_/g, '/');
|
||||||
while (normalized.length % 4) normalized += '=';
|
while (normalized.length % 4) normalized += '=';
|
||||||
return JSON.parse(window.atob(normalized));
|
return window.atob(normalized);
|
||||||
|
} catch (_) {
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function decodeBase64URLJSON(value) {
|
||||||
|
try {
|
||||||
|
var text = decodeBase64URLText(value);
|
||||||
|
return text ? JSON.parse(text) : null;
|
||||||
} catch (_) {
|
} catch (_) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function numericUserID(value) {
|
||||||
|
var text = String(value || '').trim();
|
||||||
|
return /^\d{6,}$/.test(text) ? text : '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function firstLongNumericID(value) {
|
||||||
|
var match = String(value || '').match(/\d{12,}/);
|
||||||
|
return match ? match[0] : '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function tokenPayloadUserID(payload) {
|
||||||
|
if (!payload || typeof payload !== 'object') return '';
|
||||||
|
var keys = ['userId', 'user_id', 'uid', 'id', 'sub'];
|
||||||
|
for (var i = 0; i < keys.length; i += 1) {
|
||||||
|
var userID = numericUserID(payload[keys[i]]);
|
||||||
|
if (userID) return userID;
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
|
function tokenUserID() {
|
||||||
|
var queryUserID =
|
||||||
|
numericUserID(readQuery('userId')) ||
|
||||||
|
numericUserID(readQuery('user_id')) ||
|
||||||
|
numericUserID(readQuery('uid'));
|
||||||
|
if (queryUserID) return queryUserID;
|
||||||
|
|
||||||
|
var token = getAccessToken();
|
||||||
|
if (!token) return '';
|
||||||
|
|
||||||
|
var parts = String(token).split('.');
|
||||||
|
for (var i = 0; i < parts.length; i += 1) {
|
||||||
|
var payloadUserID = tokenPayloadUserID(
|
||||||
|
decodeBase64URLJSON(parts[i])
|
||||||
|
);
|
||||||
|
if (payloadUserID) return payloadUserID;
|
||||||
|
|
||||||
|
var textUserID = firstLongNumericID(
|
||||||
|
decodeBase64URLText(parts[i])
|
||||||
|
);
|
||||||
|
if (textUserID) return textUserID;
|
||||||
|
}
|
||||||
|
return '';
|
||||||
|
}
|
||||||
|
|
||||||
function isExpiredToken(token) {
|
function isExpiredToken(token) {
|
||||||
var parts = String(token || '').split('.');
|
var parts = String(token || '').split('.');
|
||||||
if (parts.length < 2) return false;
|
if (parts.length < 2) return false;
|
||||||
@ -529,9 +583,15 @@ var default_api = 'https://api.global-interaction.com/';
|
|||||||
}
|
}
|
||||||
|
|
||||||
function configuredWebPayUserQuery(displayUserID) {
|
function configuredWebPayUserQuery(displayUserID) {
|
||||||
return Object.assign(aslanUserQuery(displayUserID), {
|
var query = Object.assign(aslanUserQuery(displayUserID), {
|
||||||
sysOrigin: activeAppConfig.sys_origin || 'LIKEI',
|
sysOrigin: activeAppConfig.sys_origin || 'LIKEI',
|
||||||
});
|
});
|
||||||
|
if (isYumiWebPay() && !query.userId && !query.account) {
|
||||||
|
// Yumi 的 user-profile 当前只从 query 里的 userId 或 account+sysOrigin 查用户,不会从 Authorization token 反解用户。
|
||||||
|
// H5 token 入口会隐藏账号输入并传空 displayUserID,因此这里仅在没有显式身份参数时把 token 里的 uid 补成 userId。
|
||||||
|
query.userId = tokenUserID();
|
||||||
|
}
|
||||||
|
return query;
|
||||||
}
|
}
|
||||||
|
|
||||||
function aslanPaymentMethods(options) {
|
function aslanPaymentMethods(options) {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user