feat(portal): add logical group packaging config
This commit is contained in:
@@ -545,6 +545,36 @@
|
||||
<textarea id="group-next-step-hint" placeholder="例如:先创建测试 Key,再按推荐模型发起第一次请求。"></textarea>
|
||||
</label>
|
||||
</div>
|
||||
<div class="field-grid two" style="margin-top:12px;">
|
||||
<label>
|
||||
visibility_scope
|
||||
<select id="group-visibility-scope">
|
||||
<option value="public">public</option>
|
||||
<option value="login_required">login_required</option>
|
||||
<option value="entitled_only">entitled_only</option>
|
||||
<option value="hidden">hidden</option>
|
||||
</select>
|
||||
</label>
|
||||
<label>
|
||||
package_tier
|
||||
<select id="group-package-tier">
|
||||
<option value="free">free</option>
|
||||
<option value="standard">standard</option>
|
||||
<option value="pro">pro</option>
|
||||
<option value="enterprise">enterprise</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
<div class="field-grid two" style="margin-top:12px;">
|
||||
<label>
|
||||
purchase_cta_label
|
||||
<input id="group-purchase-cta-label" type="text" placeholder="例如:升级到 Pro">
|
||||
</label>
|
||||
<label>
|
||||
purchase_cta_url
|
||||
<input id="group-purchase-cta-url" type="text" placeholder="例如:https://sub.tksea.top/portal/upgrade/pro">
|
||||
</label>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<button class="primary" id="create-group-btn" type="button">创建分组</button>
|
||||
<button class="secondary" id="update-group-btn" type="button">更新分组</button>
|
||||
@@ -708,6 +738,10 @@
|
||||
const groupUsageScenarioInput = document.getElementById("group-usage-scenario");
|
||||
const groupRecommendationInput = document.getElementById("group-recommendation");
|
||||
const groupNextStepHintInput = document.getElementById("group-next-step-hint");
|
||||
const groupVisibilityScopeInput = document.getElementById("group-visibility-scope");
|
||||
const groupPackageTierInput = document.getElementById("group-package-tier");
|
||||
const groupPurchaseCTALabelInput = document.getElementById("group-purchase-cta-label");
|
||||
const groupPurchaseCTAURLInput = document.getElementById("group-purchase-cta-url");
|
||||
const groupRoutePolicyInput = document.getElementById("group-route-policy");
|
||||
const groupStickyModeInput = document.getElementById("group-sticky-mode");
|
||||
const groupConversationTTLInput = document.getElementById("group-conversation-ttl");
|
||||
@@ -888,6 +922,10 @@
|
||||
usage_scenario: groupUsageScenarioInput.value.trim(),
|
||||
recommendation: groupRecommendationInput.value.trim(),
|
||||
next_step_hint: groupNextStepHintInput.value.trim(),
|
||||
visibility_scope: groupVisibilityScopeInput.value,
|
||||
package_tier: groupPackageTierInput.value,
|
||||
purchase_cta_label: groupPurchaseCTALabelInput.value.trim(),
|
||||
purchase_cta_url: groupPurchaseCTAURLInput.value.trim(),
|
||||
route_policy: groupRoutePolicyInput.value,
|
||||
sticky_mode: groupStickyModeInput.value,
|
||||
conversation_ttl_seconds: Number(groupConversationTTLInput.value || "0"),
|
||||
@@ -919,6 +957,10 @@
|
||||
groupUsageScenarioInput.value = group?.usage_scenario || "";
|
||||
groupRecommendationInput.value = group?.recommendation || "";
|
||||
groupNextStepHintInput.value = group?.next_step_hint || "";
|
||||
groupVisibilityScopeInput.value = group?.visibility_scope || "public";
|
||||
groupPackageTierInput.value = group?.package_tier || "standard";
|
||||
groupPurchaseCTALabelInput.value = group?.purchase_cta_label || "";
|
||||
groupPurchaseCTAURLInput.value = group?.purchase_cta_url || "";
|
||||
groupRoutePolicyInput.value = group?.route_policy || "priority";
|
||||
groupStickyModeInput.value = group?.sticky_mode || "conversation_preferred";
|
||||
groupConversationTTLInput.value = String(group?.conversation_ttl_seconds || 7200);
|
||||
|
||||
Reference in New Issue
Block a user