fix(utm): заменить публичную chob на banch (#327)
deploy-preland / deploy zoomstage.online (push) Successful in 42s

This commit is contained in:
Panfilov Konstantin committed 2026-10-25 05:09:55 +03:00
1 parent 08febba368
commit 965eb2e6a5
12 files changed
+58 -33

No files matched your search

+6 -6
View File
@@ -2,18 +2,18 @@
/** api#326: новый шум при каждой навигации; recovery хранит выбранные цифры. */
return <<<'JS'
(function () {
const keys = ['indpic','theme','degr','reg','chob','tp','cons','focus'];
const enums = {theme:{dark:'1',light:'2'},reg:{before:'1',after:'2'},chob:{b:'1',a:'2'},focus:{face:'1',center:'2'}};
const legacy = {reg:'registration',chob:'bchoice'};
const keys = ['indpic','theme','degr','reg','banch','tp','cons','focus'];
const enums = {theme:{dark:'1',light:'2'},reg:{before:'1',after:'2'},banch:{b:'1',a:'2'},focus:{face:'1',center:'2'}};
const legacy = {reg:'registration',banch:'bchoice'};
const valid = (key, value) => /^[1-9]$/.test(value || '') && (!enums[key] || Object.values(enums[key]).includes(value));
function restore(meta, defaults) {
const query = new URLSearchParams(meta.redirectUtm || '');
const digits = {};
for (const key of keys) {
let value = meta.utmDigits?.[key];
let value = meta.utmDigits?.[key] ?? (key === 'banch' ? meta.utmDigits?.chob : undefined);
if (!valid(key, value)) {
// Только сохранённый record: старые enum/открытые цифры не являются raw URL alias.
const stored = query.get(legacy[key] || key) ?? query.get(key);
const stored = query.get(legacy[key] || key) ?? query.get(key) ?? (key === 'banch' ? query.get('chob') : null);
value = enums[key]?.[stored] || stored;
if (!valid(key, value)) value = Array.from(stored || '')[4];
}
@@ -32,7 +32,7 @@ return <<<'JS'
function query(meta, defaults) {
const params = new URLSearchParams(meta.redirectUtm || '');
const digits = restore(meta, defaults);
for (const key of ['registration','bchoice','chb','key','shown_theme',...keys]) params.delete(key);
for (const key of ['registration','bchoice','chob','chb','key','shown_theme',...keys]) params.delete(key);
for (const key of keys) params.set(key, mask(digits[key]));
return params.toString();
}