feat(utm): propagate join focus mode

This commit is contained in:
Panfilov Konstantin committed 2026-10-17 10:56:08 +03:00
1 parent 729e48dda7
commit 67379241aa
5 files changed
+12 -2

No files matched your search

+2 -1
View File
@@ -19,7 +19,7 @@
- неизвестное значение отбрасывается, отсутствующее — заменяется на `default`. - неизвестное значение отбрасывается, отсутствующее — заменяется на `default`.
Ненастроенные параметры (`utm_source`, `keyword`, `subid` и любые другие) проходят как есть. Перед переходом Ненастроенные параметры (`utm_source`, `keyword`, `subid` и любые другие) проходят как есть. Перед переходом
Preland всегда формирует полный resolved-набор своих семи меток: явное допустимое значение остаётся, `rnd` Preland всегда формирует полный resolved-набор своих восьми меток: явное допустимое значение остаётся, `rnd`
разрешается по весам, отсутствующее получает `default`. Вместе с внешними рекламными параметрами этот набор разрешается по весам, отсутствующее получает `default`. Вместе с внешними рекламными параметрами этот набор
уходит в `claim`, а затем сайт переносит его в `upscale`; ни один из семи параметров не должен пропадать только уходит в `claim`, а затем сайт переносит его в `upscale`; ни один из семи параметров не должен пропадать только
потому, что был назначен default. потому, что был назначен default.
@@ -33,6 +33,7 @@ Preland всегда формирует полный resolved-набор сво
| `bchoice` | попап выбора банка (`a` — показать) | сайт, оплата (#44) | | `bchoice` | попап выбора банка (`a` — показать) | сайт, оплата (#44) |
| `chb` | галочки согласия на странице оплаты (`no` — не обязательны) | сайт, оплата | | `chb` | галочки согласия на странице оплаты (`no` — не обязательны) | сайт, оплата |
| `tp` | группа тарифов | сайт, cpanel «Группы тарифов (tp)» | | `tp` | группа тарифов | сайт, cpanel «Группы тарифов (tp)» |
| `focus` | первоначальная область лупы Join: `center`/`face` | сайт, cpanel после `tp` |
### Загрузка и переход на сайт ### Загрузка и переход на сайт
+7
View File
@@ -57,6 +57,13 @@
"2": 1 "2": 1
}, },
"default": "1" "default": "1"
},
"focus": {
"weights": {
"center": 1,
"face": 0
},
"default": "center"
} }
} }
} }
@@ -13,7 +13,7 @@
## Global Constraints ## Global Constraints
- Публиковать только ветку `staging`; `main` и production-домены не менять. - Публиковать только ветку `staging`; `main` и production-домены не менять.
- В переходе сохранять семь параметров `indpic`, `theme`, `degr`, `registration`, `bchoice`, `chb`, `tp` и все внешние scalar query-параметры, кроме `key`. - В переходе сохранять восемь параметров `indpic`, `theme`, `degr`, `registration`, `bchoice`, `chb`, `tp`, `focus` и все внешние scalar query-параметры, кроме `key`.
- Поддерживаемые picker-форматы определяются тем же API contract, что и Index; drop остаётся server-side content gate. - Поддерживаемые picker-форматы определяются тем же API contract, что и Index; drop остаётся server-side content gate.
- Ассеты не конвертировать и не переименовывать; переместить без потери файлов. - Ассеты не конвертировать и не переименовывать; переместить без потери файлов.
+1
View File
@@ -38,6 +38,7 @@ $expected = [
'bchoice' => 'a', 'bchoice' => 'a',
'chb' => 'b', 'chb' => 'b',
'tp' => '1', 'tp' => '1',
'focus' => 'center',
'utm_source' => 'stage-ad', 'utm_source' => 'stage-ad',
'subid' => 'click-42', 'subid' => 'click-42',
]; ];
+1
View File
@@ -25,6 +25,7 @@ if (!is_array($config)) {
'bchoice' => ['a' => 1, 'b' => 0, 'default' => 'a'], 'bchoice' => ['a' => 1, 'b' => 0, 'default' => 'a'],
'chb' => ['a' => 1, 'b' => 0, 'default' => 'b'], 'chb' => ['a' => 1, 'b' => 0, 'default' => 'b'],
'tp' => ['1' => 0, '2' => 1, 'default' => '1'], 'tp' => ['1' => 0, '2' => 1, 'default' => '1'],
'focus' => ['center' => 1, 'face' => 0, 'default' => 'center'],
]; ];
if (($config['host'] ?? null) !== $expected['host']) { if (($config['host'] ?? null) !== $expected['host']) {