Files
boursecu_user/.cursor/skills/abshode-domain-lookup/learned-notes.md
T

17 KiB
Raw Blame History

یادداشت‌های یادگیری — abshode-domain-lookup

  • 2026-11-10 | مدال احراز کاربر جدید | RequiredKycModal.vue | شرط نمایش اشتباهی همیشه false بود؛ برای is_legal=0 دوباره باز می‌شود، قفل مسیر در setupRouter نیست
  • 2026-11-10 | قفل منو بعد از احراز | setupRouter.ts + RequiredKycModal.vue | گارد فقط home/user و مدال سراسری برداشته شد؛ احراز روی معامله/واریز/هدیه ماند
  • 2026-11-10 | مدال موفقیت ثبت‌نام خالی | DialogVantOneButton.vue | تم لاگین color:#fff؛ بدون teleport متن سفید روی دیالوگ سفید — مثل DialogVant با teleport+رنگ تیره
  • 2026-11-10 | خانه خالی بدون KYC | RequiredKycModal + HomeLayoutRenderer | v-model:open روی computed فقط‌خواندنی؛ تشخیص احراز با isCustomerIdentityVerified؛ skeleton هنگام lazy layout

فرمت هر خط:

  • YYYY-MM-DD | موضوع | مسیر فایل(ها) | نکتهٔ ۱ خطی

  • 2026-11-09 | FAB ثبت کارت هدیه | App.vue #gift-card-button | مثل پشتیبانی؛ has_page_gift_card + لاگین؛ کلیک → giftCard؛ موقعیت پیش‌فرض بالای دکمه پشتیبانی

  • 2026-11-09 | ترتیب منوی کاربر | useUserPage.ts menuActions | موبایل+دسکتاپ یکسان؛ اول giftCard… بعد password؛ خروج جدا؛ هشدار قیمت دیگر فقط موبایل نیست

  • 2026-11-09 | وضعیت تاریخچه واریز کیف پول | wallet/components/Item.vue + resolveTransactionStatusLabel | قبلاً فقط transaction[0] → ناموفق؛ واریز pending باید «در انتظار تایید» مثل تب تراکنش‌ها

  • 2026-10-25 | انتخاب روش واریز | WalletDepositMethodModal.vue بعد از دکمهٔ واحد واریز | آنی = INSTANT_DEPOSIT_PAYMENT_URL؛ حساب = مودال کارت/شبا

  • 2026-10-22 | addon اینپوت | assets/css/main.less | پس‌زمینه addon = secondary تم، نه primary (سبز tenant)

  • 2026-10-21 | نمودار خانه = لندینگ | LandingLiveChartMain.vue + useLandingLiveChart + zaarboxPriceHistory؛ جایگزین PriceChart در PriceChartSection/DesktopChart* | همان dlanding-live__main SVG؛ داده از zaarbox + /api/price/last

  • 2026-10-20 | ظاهر خرید اقساطی | views/base/installment/InstallmentPanel.vue | دسکتاپ کلاس‌های dgift مثل کارت هدیه؛ موبایل کارت rounded-xl و توضیح بالای فرم

  • 2026-10-20 | خرید اقساطی دیجی‌پی | سرور DigipayInstallmentService + تنظیمات enable_digipay_installment/digipay_*؛ اپ views/base/installment؛ ادمین customers/digipayInstallment | لینک احراز در تنظیمات؛ مانده اعتبار را ادمین با موبایل می‌نویسد؛ خرید مس را به کیف gold می‌نشاند

  • 2026-10-20 | پاپ‌آپ احراز عملیات | واریز/برداشت useWalletPage.ensureIdentity؛ هدیه useGiftCardPage؛ خرید/فروش دیالوگ noCompleteVisible در gold / copper&silver / DealProduct روی mount اگر is_legal=0 | همه هست؛ معامله با ورود صفحه نه با کلیک ثبت

  • 2026-10-20 | هشدار قیمت موبایل | useUserPage.ts منوی notifyTrigger | فقط موبایل و با فلگ has_page_price_trigger؛ دسکتاپ همان سایدبار

  • 2026-10-20 | آیکون درباره ما | assets/img/boursecu-about-icon.png + getBoursecuActionIconSrc('about') در navigation.ts و useUserPage.ts | آدمک حباب گفتار جایگزین info-circle در سایدبار و منوی امکانات بیشتر

  • 2026-10-19 | قفل احراز واریز/هدیه | useWalletPage + useGiftCardPage + assertCustomerIdentityVerified روی withdraw و giftcard/use | is_legal=0 دیالوگ می‌دهد و API هم رد می‌کند

  • 2026-10-19 | آیکون پشتیبانی/هشدار/قوانین | assets/img/boursecu-support-icon.png + price-trigger + rules و navigation.ts / useUserPage.ts | آدمک=پشتیبانی، زنگ دلار=هشدار قیمت سایدبار، برگه=قوانین

  • 2026-09-08 | لیست کارت هدیه کاربر | views/base/giftCard/ + api/giftCard.ts + سرور GiftCardController::mine / GET customer/giftcard/mine | زیر فرم: available (اختصاصی + عمومی use_once=0 تک‌کد) و history؛ تخفیف فقط نمایش/سبد نه giftcard/use

  • 2026-09-08 | تب کارت هدیه/تخفیف در تراکنش‌ها | transactions/config/boursecuTabs.ts + useTransactionsPageData.ts + Item.vue | fetchMode giftcard/discount از historyِ mine؛ واحد تخفیف٪/طلا در Item

  • 2026-09-08 | گیر کردن در لاگین بعد رفرش | app/authBoot.ts + setupRouter.ts | finger unlock در sessionStorage؛ بعد ۳دقیقه fingerprintChecked ریست؛ لاگین بدون userInfo نرود home

  • 2026-09-08 | حذف دکمه قلک از خانه | BoursecuQuickActionsSection.vue + دسکتاپ quick actions + useHomePage.ts | دیگر با enable_product_funds به گرید اضافه نمی‌شود

  • 2026-09-08 | پشتیبانی در تنظیمات → چت | user/composables/useUserPage.ts | دکمه پشتیبانی مستقیم router.push({ name: 'support' }) نه منوی پیام‌رسان

  • 2026-09-08 | چت دسکتاپ کنار منو | views/support/index.vue + desktop-layout.less | از ۷۶۸px شل دسکتاپ؛ کارت چت inset با radius ۲۸ کنار سایدبار

  • 2026-09-08 | چت+سایدبار اجباری | support/index.vue + router hideMenu | سایدبار داخل صفحه چت وقتی isDesktop؛ شل بیرونی سایدبار ندارد تا دوبل نشود

  • 2026-09-08 | دسکتاپ از ۶۰۰px | layouts/constants.ts + shell/frame + support/index.vue | آستانه ۷۶۸→۶۰۰؛ سایدبار چت همیشه در DOM و با @media نمایش

  • 2026-09-09 | آستانه دسکتاپ ۷۶۸ | layouts/constants.ts + shell/frame + support/index.vue | از عرض >۷۶۷ (min-width: 768) سایدبار دسکتاپ

  • 2026-09-09 | لوگوی هدر پشتیبانی | SupportChatHeader.vue | به‌جای config.avatar از getProjectSplashLogo() (لوگوی محلی اپ)

  • 2026-09-09 | هدر دسکتاپ اعلان‌ها | DesktopAppNotificationsView.vue | قبلاً topbar نداشت؛ DesktopPageTopbar مثل کیف‌پول/تراکنش‌ها

  • 2026-09-09 | جزئیات اعلان دسکتاپ | appNotifications/index.vue | دسکتاپ BasicModal؛ موبایل BasicActionSheet

  • 2026-09-09 | بازگشت چت پشتیبانی | SupportChatHeader.vue | تایم‌اوت ۸۰ms با beforeEach تداخل داشت؛ push(back) یا replace(user)

  • 2026-09-09 | دکمه ارسال چت | SupportChatComposer.vue + support/index.vue | BasicButton فقط disabledB؛ متن فقط بعد موفقیت پاک شود + toast خطا

  • 2026-09-09 | عرض چت موبایل/دسکتاپ | support/index.vue + App.vue | زیر ۷۶۸ fullbleed؛ دسکتاپ با کلاس isDesktop سایدبار؛ بدون float credit روی پشتیبانی

  • 2026-09-09 | چت زیر آستانه | support/index.vue | max-width 767 منو مخفی + w-full؛ از ۷۶۸ flex width:0 برای پر کردن باقی‌مانده

  • 2026-09-09 | دکمه ریپلای چت | SupportChatMessages.vue | native button + همیشه pointer-events؛ فوکوس composer بعد از reply

  • 2026-09-09 | قلک دسکتاپ | piggy/ desktop+mobile + usePiggyPage | مثل fund/wallet: topbar + خلاصه + لیست گروه‌ها

  • 2026-09-09 | زیرصفحات قلک دسکتاپ | piggy/new + piggy/info + create/info composable | ساخت/ویرایش و جزئیات با DesktopPageTopbar و گرید دوستونه

  • 2026-09-09 | عرض قلک دسکتاپ | desktop-piggy-create.less | کانتینر ساخت هم max-width ۱۱۸۰ مثل لیست/جزئیات/کیف‌پول

  • 2026-09-09 | نام منوی کاربر | navigation.ts + MobileBottomNav.vue | «تنظیمات» → «امکانات بیشتر» (دسکتاپ+موبایل)

  • 2026-09-12 | دکمه دارایی‌ها خانه | boursecuQuickActions + useHomePage.openAssetsSheet | قبلاً fund می‌رفت و با خاموش بودن قلک گارد بی‌صدا برمی‌گرداند؛ حالا شیت BalanceSheet

  • 2026-09-09 | ماشین حساب | useUserPage.ts + GoldDayCalculatorModal.vue | «قیمت روز طلا» → «ماشین حساب»؛ برچسب فلز/واحد از settingsStore (metalTypeLabel + tradeWeightUnit) نه هاردکد طلا/گرم

  • 2026-10-05 | ????? ????? ??????? | desktop/components/DesktopAuthShell.vue + desktop/styles/desktop-auth.less | ????? stretch? ??? ???????? bleed? tagline ? form-links ?? margin-top:auto ???????? support ??? ???? ?? __top

  • 2026-10-05 | نمای کلی پروژه | boursecu/BOURSECU.md | چهار ریپو: user:3100، admin:3600، server:8000، landing:3200؛ فلز مس از settings

  • 2026-10-17 | کلیک کارت محصول دسکتاپ | products/index.vue + DesktopProductCard.vue + useProductsPage.ts | کاتد مس: isMeltedTradeGroup → indexGold در مدال؛ رویداد select؛ بسته بودن معامله با shouldBlockStoreTrading

  • 2026-10-05 | ???? ????? ????? | DesktopAuthShell.vue + desktop-auth.less | status ???? form-column__foot ??? ???????? body/top ?? margin-top:auto ???????? tagline ??????? foot

  • 2026-10-05 | ??? ????? ?????? | home/components/AppHeader.vue + guestHome.ts | ???? ????? ???? ?????login? ????????? ????? ?????/??/???? ?? guest ????

  • 2026-10-05 | FAB ???????? ????? ?????? | DesktopAuthShell.vue + useDraggableFloatingButton | ??????: ????? ???? ????????? ??????: ???? inline ??? ????

  • 2026-10-05 | ?????? ?? ??? ????? | boutUs/components/AboutUsContentPanel.vue | ??? ?????? ???? ??? ???? ?? ????? ???? ?? ??? ??

  • 2026-10-06 | بیلد آموزش ENOENT 1.png | EducateContentPanel.vue + assets/img/1.png,2.png,4.png + banner1/2 | فایل‌ها در گیت بودند و از دیسک پاک شده بودند؛ git restore

  • 2026-10-17 | باز/بسته خرید فروش محصول | utils/productTradeOpen.ts + gold/index.vue | open_buy/open_sell؛ بدون ProductItem هر دو باز

  • 2026-10-17 | نمودار مهمان ۴۰۱ | usePriceChart.ts + api/home.ts + سرور routes/api.php POST /api/price/all | مهمان product/list نمی‌زند؛ تاریخچه نمودار از /api/price/all (همان priceData)

  • 2026-10-17 | قیمت زنده مهمان | bootstrap.ts + priceSocket.ts + سرور /api/price/stream بدون auth | SSE بدون توکن؛ polling پشتیبان product/list فقط با توکن

  • 2026-10-21 | نمودار خانه = کارت لندینگ | home/components/LandingLiveChartMain.vue + useLandingLiveChart.ts + styles/landing-live-chart-main.less | موبایل PriceChartSection و دسکتاپ DesktopChartSection/Panel همین کارت؛ استایل از main.less

  • 2026-10-21 | چیدمان کارت نمودار خانه | همان دو فایل vue/less | هدر: نام+وضعیت راست، تب محصول چپ؛ قیمت راست و تغییر چپ؛ تب بازه کنار عنوان نمودار

  • 2026-10-21 | تب نمودار = محصول فعال | useLandingLiveChart.ts + LandingLiveChartMain.vue | تب از کاتالوگ active && show؛ داده با price_offset_percent همان محصول

  • 2026-11-01 | درخواست تبدیل سیم | convert/CopperConvertCalculator.vue + useCopperConvertPage.ts + سرور CopperConvertRequestService + ادمین hesabKetab.ts فرزند copperConvertMain | حلقه صحیح؛ منوی ادمین زیر حساب کتاب نه منوی اصلی

  • 2026-11-01 | ۵۰۰ لیست تبدیل | 2026_11_01_000001_create_copper_convert_requests_table.php | git pull کافی نیست؛ بدون php artisan migrate جدول نیست و GET ادمین ۵۰۰ می‌دهد

  • 2026-11-01 | جدول درخواست تبدیل | ادمین copperConvert/components/table.vue | دسکتاپ BaseTable؛ موبایل CopperConvertMobileCardList مثل بقیه صفحات

  • 2026-11-01 | ترتیب ۱.۵ و mm² | convert/components/CopperConvertCalculator.vue | صفحه rtl است؛ نشان و برچسب سیم با dir="ltr" تا اول مقطع بیاید بعد mm²

  • 2026-11-01 | جای واحد و عدد در تبدیل | CopperConvertCalculator.vue + useCopperConvertPage.ts | ریال/کیلو/عدد با bdi داخل measure قبل از عدد؛ باکس مقدار dir=ltr

  • 2026-11-01 | ماشین‌حساب اجرت/سود/مالیات | components/GoldDayCalculatorModal.vue | اجرت ساخت مفتول؛ سود مورد انتظار جدا؛ مالیات ارزش افزوده روی (هزینه+اجرت+سود)

  • 2026-11-01 | پلیس‌هولدر هشدار قیمت | user priceTrigger/components/PriceTriggerForm.vue + admin priceTriggers/components/PriceTriggerEditorFormBody.vue | «آبشده، سکه، نقره و ...» → «کاتد مس، مفتول مس و...»

  • 2026-11-02 | هشدار کاتد→طلا | user priceTrigger/ + BasicSelect.vue + server Customer/PriceTriggerController.php | شناسه عددی محصول ارسال شود؛ fallback عنوان «طلا» نباشد. محصول پیش‌فرض const برابر id=1 است

  • 2026-11-02 | زبانه تبدیل کشیدنی | convert/components/CopperConvertCalculator.vue | dragHandleOnly در capture؛ لمس ریل مقدار را جابه‌جا نمی‌کند، فقط کشیدن دستگیره

  • 2026-11-02 | سه زبانه تبدیل از اول | همان CopperConvertCalculator.vue | زبانه ۱.۵ و ۲.۵ دیگر پشت remainderAmount > 0 نیستند؛ زیر زبانه مقدار، قبل از نتیجه

  • 2026-11-02 | زبانه سیم مکمل | useCopperConvertPage.ts | بودجه = ارزش مقدار انتخاب‌شده؛ نصف به ۱.۵ و بقیه به ۲.۵؛ جابه‌جایی یکی دیگری را پر می‌کند

  • 2026-11-01 | تاریخچه برداشت کیف پول | wallet/mobile/MobileWalletView.vue + desktop/DesktopWalletView.vue + useWalletPageData.ts | walletWithdrawItems از قبل لود می‌شد؛ زیر راهنمای برداشت و زیر حساب‌های دسکتاپ نشان داده می‌شود

  • 2026-11-03 | تاریخچه تبدیل کاربر | convert/components/CopperConvertHistory.vue + useCopperConvertPage.ts + سرور Customer/CopperConvertRequestController@index | GET /customer/copper-convert-request فقط ردیف‌های همان مشتری؛ زیر فرم موبایل و دسکتاپ

  • 2026-11-03 | ویرایش/حذف تبدیل در انتظار | همان تاریخچه + CopperConvertRequestService::update/remove | فقط status=pending؛ ویرایش فرم را با همان حلقه‌ها پر می‌کند و PUT می‌زند

  • 2026-11-03 | چیدمان دسکتاپ تبدیل | convert/desktop/DesktopConvertView.vue | مثل کیف پول: dwallet-grid؛ فرم راست، تاریخچه چپ با variant=side

  • 2026-11-03 | مداد ویرایش تبدیل | convert/components/CopperConvertHistory.vue | فقط pending؛ آیکون vuesax-linear:edit کنار وضعیت، همان beginEdit

  • 2026-11-03 | چهار قیمت هیرو خانه | home/desktop/components/DesktopLivePrice.vue + سرور ZaarboxPriceService::copperDollarReferences | مس جهانی=کلید basemetal_london_copper، دلار آزاد=tgju_usd؛ تن=ضرب، کیلو=تقسیم بر ۱۰۰۰

  • 2026-11-03 | چهار قیمت موبایل خانه | home/components/CurrentPrice.vue + composables/useHomeQuoteRows.ts | همان چهار ردیف دسکتاپ؛ منطق مشترک در useHomeQuoteRows

  • 2026-11-03 | هاور نمودار دارایی | assets/index.vue + useAssetsPortfolioChart.ts + chartAreaPaths.ts | نزدیک‌ترین نقطهٔ رسم‌شده؛ مقدار همان نمونهٔ دارایی، نه قیمت مس

  • 2026-11-04 | لینک دعوتنامه | utils/referralShare.ts + لندینگ pages/login.vue | %لینک = /login?register=true&id=؛ لندینگ با id به ثبت‌نام اپ ریدایرکت می‌کند

  • 2026-11-04 | دکمه ثبت‌نام آیفون | login/desktop/styles/desktop-auth.less + login/index.vue | موبایل height:auto و اسکرول؛ بنر نصب پایین تا روی دکمه ننشیند