fix bugs and added some feature for withdraw handling
This commit is contained in:
@@ -174,7 +174,7 @@ import SettingValueField from './SettingValueField.vue'
|
||||
import SettingCard from './SettingCard.vue'
|
||||
import { refreshAppModeMenu } from '@/router'
|
||||
import { useUserStore } from '@/store/userStore'
|
||||
import { applyBannerEnabledFromRows, setBannerEnabledFromSettings, setStoreModeFromSettings } from '@/utils/config'
|
||||
import { applyBannerEnabledFromRows, applyTrackingSystemsEnabledFromRows, setBannerEnabledFromSettings, setStoreModeFromSettings, setTrackingSystemsEnabledFromSettings } from '@/utils/config'
|
||||
import {
|
||||
EDITABLE_SETTING_GROUPS,
|
||||
SYSTEM_SETTING_GROUPS,
|
||||
@@ -424,7 +424,10 @@ async function initConfig() {
|
||||
baseData.value = rows.map(normalizeSettingRow)
|
||||
if (isSystemMode.value) {
|
||||
applyBannerEnabledFromRows(baseData.value)
|
||||
applyTrackingSystemsEnabledFromRows(baseData.value)
|
||||
} else {
|
||||
applyBannerEnabledFromRows(baseData.value)
|
||||
applyTrackingSystemsEnabledFromRows(baseData.value)
|
||||
const storeRow = baseData.value.find((row) => row.key === 'is_store')
|
||||
if (storeRow) {
|
||||
setStoreModeFromSettings(isSwitchOn(storeRow.value))
|
||||
@@ -535,9 +538,12 @@ async function saveSettingRow(row: Const) {
|
||||
setStoreModeFromSettings(isSwitchOn(value))
|
||||
refreshMenuAfterStoreChange()
|
||||
}
|
||||
if (row.key === 'banner_enabled' && isSystemMode.value) {
|
||||
if (row.key === 'banner_enabled') {
|
||||
setBannerEnabledFromSettings(isSwitchOn(value))
|
||||
}
|
||||
if (row.key === 'tracking_systems_enabled') {
|
||||
setTrackingSystemsEnabledFromSettings(isSwitchOn(value))
|
||||
}
|
||||
savedFlashIds.value.add(id)
|
||||
if (saveTimers.has(id)) clearTimeout(saveTimers.get(id))
|
||||
saveTimers.set(
|
||||
|
||||
@@ -12,7 +12,7 @@ export const EDITABLE_SETTING_GROUPS: SettingGroupDef[] = [
|
||||
title: 'عمومی و برند',
|
||||
icon: 'vuesax-linear:home-2',
|
||||
match: (k) =>
|
||||
/^(name_fa|name_en|bace_url|server_url|logo_|title_pwa|title_fav|open_register|auto_active_customer|store_status|key$)/.test(
|
||||
/^(name_fa|name_en|bace_url|server_url|logo_|title_pwa|title_fav|open_register|auto_active_customer|store_status|key$|tracking_systems_enabled|banner_enabled)$/.test(
|
||||
k
|
||||
)
|
||||
},
|
||||
@@ -119,7 +119,7 @@ export const SYSTEM_SETTING_GROUPS: SettingGroupDef[] = [
|
||||
title: 'عمومی و برند',
|
||||
icon: 'vuesax-linear:home-2',
|
||||
match: (k) =>
|
||||
/^(name_fa|name_en|app_url|admin_url|apk_download_link|banner_enabled|permision__enabled|bace_url|server_url|logo_|title_pwa|title_fav|metal_type|main_metal|unit$|open_register|auto_active_customer|store_status|key$|is_store|group_sms|customer_direct_sms|has_page_earn_money|sms_panel)/.test(
|
||||
/^(name_fa|name_en|app_url|admin_url|apk_download_link|permision__enabled|bace_url|server_url|logo_|title_pwa|title_fav|metal_type|main_metal|unit$|open_register|auto_active_customer|store_status|key$|is_store|group_sms|customer_direct_sms|has_page_earn_money|sms_panel)/.test(
|
||||
k
|
||||
)
|
||||
},
|
||||
@@ -176,7 +176,7 @@ export const SYSTEM_SETTING_GROUPS: SettingGroupDef[] = [
|
||||
id: 'infra',
|
||||
title: 'زیرساخت',
|
||||
icon: 'vuesax-linear:cpu',
|
||||
match: (k) => /^(wss_enabled|sse_path|profit_gold_api_enabled|tracking_systems|tracking_systems_enabled)$/.test(k)
|
||||
match: (k) => /^(wss_enabled|sse_path|profit_gold_api_enabled)$/.test(k)
|
||||
},
|
||||
{
|
||||
id: 'misc',
|
||||
|
||||
@@ -187,6 +187,8 @@ export const HIDDEN_LEGACY_SETTING_KEYS = new Set([
|
||||
'service_charge_percentage',
|
||||
'support_messenger',
|
||||
'support_messenger_id',
|
||||
// JSON از صفحهٔ اختصاصی «سایتهای ریگیری» مدیریت میشود؛ سوییچ نمایش در تنظیمات میماند
|
||||
'tracking_systems',
|
||||
])
|
||||
|
||||
/** فقط وقتی is_store فعال است در پنل دیده میشوند */
|
||||
@@ -234,6 +236,7 @@ const KEY_TYPE_FALLBACK: Record<string, SettingFieldType> = {
|
||||
sell_fee: 'price',
|
||||
fee_free: 'number',
|
||||
min_withdraw: 'price',
|
||||
min_deposit: 'price',
|
||||
min_first_buy: 'price',
|
||||
minimum_sell: 'price',
|
||||
gift_for_referrer: 'number',
|
||||
@@ -514,7 +517,7 @@ const KEY_HELP_FALLBACK: Record<string, string> = {
|
||||
name_fa:
|
||||
'نام فارسی برند که در پیامکها، عنوان صفحات و بخشهای عمومی اپ به مشتری نشان داده میشود.',
|
||||
banner_enabled:
|
||||
'روشن: منوی «بنرها» در تنظیمات فعال میشود و میتوانید اسلایدر بالای صفحهٔ اصلی اپ را مدیریت کنید. خاموش: بنرها در اپ نشان داده نمیشوند.',
|
||||
'روشن: منوی «بنرها» در ادمین و اسلایدر صفحه اصلی اپ مشتری نمایش داده میشود. خاموش: مخفی است.',
|
||||
permision__enabled:
|
||||
'روشن: آیتم «مجوز ها» در منوی تنظیمات اپ خانگی (تم جدید) نمایش داده میشود. خاموش: مخفی است.',
|
||||
open_register:
|
||||
@@ -549,6 +552,8 @@ const KEY_HELP_FALLBACK: Record<string, string> = {
|
||||
'تعداد اولین سفارشهای هر کاربر که از کارمزد معاف میشوند. صفر یعنی غیرفعال.',
|
||||
min_withdraw:
|
||||
'حداقل مبلغ درخواست برداشت (ریال). درخواستهای کمتر پذیرفته نمیشوند.',
|
||||
min_deposit:
|
||||
'حداقل مبلغ واریز به کیف پول (ریال). مبالغ کمتر در اپ و درگاه پذیرفته نمیشوند.',
|
||||
min_first_buy:
|
||||
'حداقل مبلغ اولین خرید هر کاربر (ریال).',
|
||||
minimum_sell:
|
||||
@@ -608,9 +613,9 @@ const KEY_HELP_FALLBACK: Record<string, string> = {
|
||||
support_messengers:
|
||||
'فقط مواردی که در این لیست ثبت شوند در منوی شناور پشتیبانی اپ مشتری نمایش داده میشوند. برای تماس تلفنی یا پیامک، نوع «تماس تلفنی» / «پیامک» را با شماره اضافه کنید.',
|
||||
tracking_systems:
|
||||
'لیست JSON سامانههای ردیابی/آنالیتیکس در اپ مشتری. هر مورد: type (gtag، gtm، clarity، custom)، id (کد اندازهگیری یا شناسه پروژه)، enabled (روشن/خاموش). فقط از صفحه دیپلوی قابل ویرایش است.',
|
||||
'لیست سایتهای ریگیری (name/url) — از منوی «سایتهای ریگیری» ویرایش کنید.',
|
||||
tracking_systems_enabled:
|
||||
'روشن: وقتی tracking_systems پر باشد، اسکریپتهای ردیابی در اپ مشتری بارگذاری میشوند. خاموش: هیچ سامانه ردیابی نمایش داده نمیشود — حتی اگر JSON پر باشد.',
|
||||
'روشن: منوی «سایتهای ریگیری» در ادمین و اپ مشتری نمایش داده میشود. خاموش: مخفی است.',
|
||||
support_messenger:
|
||||
'پیامرسانی که آیکون کناری و دکمه شناور پشتیبانی در اپ مشتری (درباره ما، قوانین، آموزش و راهنمای واریز) به آن هدایت میکند.',
|
||||
support_messenger_id:
|
||||
@@ -771,6 +776,7 @@ export const KEY_LABEL_FALLBACK: Record<string, string> = {
|
||||
fee_deduct_from_gold: 'اعمال مبلغ دقیق در معامله مشتری',
|
||||
fee_free: 'معافیت کارمزد سفارش اول',
|
||||
min_withdraw: 'حداقل مبلغ برداشت',
|
||||
min_deposit: 'حداقل مبلغ واریز کیف پول',
|
||||
min_first_buy: 'حداقل اولین خرید',
|
||||
minimum_sell: 'حداقل مبلغ فروش (ریال)',
|
||||
referral_id: 'کد معرف اجباری',
|
||||
@@ -808,8 +814,8 @@ export const KEY_LABEL_FALLBACK: Record<string, string> = {
|
||||
send_to_tahesab: 'ارسال خودکار به تهحساب (قدیمی)',
|
||||
send_to_pargar: 'ارسال خودکار به پرگار (قدیمی)',
|
||||
support_messengers: 'پیامرسانهای پشتیبانی',
|
||||
tracking_systems: 'سامانههای ردیابی',
|
||||
tracking_systems_enabled: 'نمایش سامانههای ردیابی',
|
||||
tracking_systems: 'سایتهای ریگیری',
|
||||
tracking_systems_enabled: 'نمایش سایتهای ریگیری',
|
||||
permision__enabled: 'نمایش منوی مجوزها',
|
||||
support_messenger: 'پیامرسان پشتیبانی',
|
||||
support_messenger_id: 'شناسه پشتیبانی',
|
||||
@@ -891,7 +897,7 @@ export const SETTING_EDITABLE_KEYS = new Set([
|
||||
'invite_link_text',
|
||||
'jibit_verification',
|
||||
'main_product_price',
|
||||
'min_first_buy', 'min_withdraw', 'minimum_sell',
|
||||
'min_first_buy', 'min_withdraw', 'min_deposit', 'minimum_sell',
|
||||
'montzar_mobile', 'montzar_open_buy', 'montzar_open_sell',
|
||||
'montzar_password', 'montzar_price', 'montzar_product_id',
|
||||
'open_register',
|
||||
|
||||
Reference in New Issue
Block a user