متغیرهای سیستمی
متغیرهای سیستمی، مقدارهای آمادهای هستند که اپ ادیتور بهصورت خودکار در اختیار اپلیکیشن قرار میدهد. این متغیرها معمولاً فقطخواندنی هستند و میتوانید از آنها در شرطها، عملکردها، نمایش متن و منطق صفحات استفاده کنید.
همه متغیرهای سیستمی با پیشوند sys. شروع میشوند. این پیشوند نشان میدهد مقدار توسط سیستم ساخته شده و نباید بهعنوان متغیر کاربری تعریف یا بازنویسی شود.
نکات مهم
- متغیرهای سیستمی نیازی به ساخت دستی ندارند.
- مقدار آنها توسط سیستم و در زمان اجرا بهروزرسانی میشود.
- برای استفاده، نام کامل متغیر را دقیقاً مطابق جدولها وارد کنید.
اطلاعات اپ
| نام | متغیر | توضیح |
|---|---|---|
| نام اپ | sys.app.name | نام برنامه |
| پکیج اپ | sys.app.packageName | شناسه پکیج برنامه |
| نام نسخه | sys.app.versionName | نام نسخه برنامه، مانند 1.2.0 |
| نسخه عددی | sys.app.versionCode | کد نسخه برنامه |
| وب بودن | sys.app.isWeb | آیا برنامه روی وب اجرا شده است |
پلتفرم
| نام | متغیر | توضیح |
|---|---|---|
| اندروید بودن | sys.platform.isAndroid | آیا دستگاه اندروید است |
| iOS بودن | sys.platform.isIOS | آیا دستگاه iOS است |
| ویندوز بودن | sys.platform.isWindows | آیا دستگاه ویندوز است |
| لینوکس بودن | sys.platform.isLinux | آیا دستگاه لینوکس است |
| مک بودن | sys.platform.isMacOS | آیا دستگاه مک است |
| دسکتاپ بودن | sys.platform.isDesktop | آیا اپ روی دسکتاپ (ویندوز/مک/لینوکس) اجرا شده است |
تایمر
| نام | متغیر | توضیح |
|---|---|---|
| تیک تایمر | sys.timer.tick | شمارنده تیک تایمر سراسری (هر ثانیه) |
وضعیت اجرا
| نام | متغیر | توضیح |
|---|---|---|
| دسترسی اینترنت | sys.runtime.hasInternetAccess | دسترسی واقعی به اینترنت |
| روشنایی سیستم | sys.runtime.brightness | حالت روشنایی سیستم (light/dark) |
| اولین اجرا | sys.runtime.isFirstLaunch | آیا اولین اجرا بعد از نصب یا آپدیت است؟ |
| نصب جدید | sys.runtime.isNewInstallation | آیا نصب تازه انجام شده است. |
| زبان جاری | sys.runtime.currentLangId | شناسه زبان فعلی اپ |
تم فعال اپ
| نام | متغیر | توضیح |
|---|---|---|
| تم فعال | sys.theme.current | تمی که اکنون داخل اپ فعال است؛ مقدار آن light یا dark است |
متغیر sys.theme.current وضعیت واقعی تم اپ را نشان میدهد و بعد از اجرای عملکرد «تغییر تم» نیز بلافاصله بهروزرسانی میشود:
sys.theme.current == "dark"
از این شرط میتوانید برای نمایش محتوای مخصوص تم تاریک، انتخاب تصویر مناسب یا اجرای عملکردهای متفاوت استفاده کنید.
sys.theme.current تم فعال خود اپ است؛ اما sys.runtime.brightness روشنایی تنظیمشده در سیستمعامل دستگاه را نشان میدهد. این دو مقدار ممکن است با هم متفاوت باشند، زیرا تم اپ میتواند مستقل از تنظیم دستگاه روی روشن یا تاریک قرار گیرد.
اندازه و جهت صفحه
| نام | متغیر | توضیح |
|---|---|---|
| جهت صفحه | sys.metrics.orientation | جهت فعلی صفحه (portrait/landscape) |
| حالت پرتره | sys.metrics.isPortrait | آیا جهت صفحه portrait است |
| حالت افقی | sys.metrics.isLandscape | آیا جهت صفحه landscape است |
| عرض | sys.metrics.width | عرض فعلی صفحه (logical) |
| ارتفاع | sys.metrics.height | ارتفاع فعلی صفحه (logical) |
| نسبت تصویر | sys.metrics.aspectRatio | نسبت ابعاد صفحه |
| چگالی پیکسل | sys.metrics.devicePixelRatio | devicePixelRatio فعلی |
| عرض منطقی | sys.metrics.logicalWidth | عرض منطقی viewport |
| ارتفاع منطقی | sys.metrics.logicalHeight | ارتفاع منطقی viewport |
| عرض فیزیکی | sys.metrics.physicalWidth | عرض فیزیکی viewport |
| ارتفاع فیزیکی | sys.metrics.physicalHeight | ارتفاع فیزیکی viewport |
صفحه
| نام | متغیر | توضیح |
|---|---|---|
| شناسه صفحه جاری | sys.page.currentId | شناسه صفحه فعال فعلی |
| شناسه صفحه قبلی | sys.page.previousId | شناسه صفحه قبلی در ناوبری |
| شناسه صفحه در حال اجرا | sys.inPage.pageId | شناسه صفحهای که متغیر در context آن ارزیابی میشود |
| داده صفحه در حال اجرا | sys.inPage.data | داده پویای ارسالشده یا وابسته به همان صفحه؛ مسیرهای فرزند نیز قابل استفادهاند |
| اطلاعات صفحه بستهشده | sys.exitedPage.* | دادههای آخرین صفحهای که بسته شده است؛ برای استفاده در رویداد «خروج از صفحه» |
متغیرهای وابسته به صفحه در حال اجرا
متغیرهای sys.inPage.pageId و sys.inPage.data از context همان صفحهای خوانده میشوند که متن، شرط، ویجت یا عملکرد داخل آن ارزیابی شده است. این رفتار در صفحههای توکار و ساختارهای تودرتو اهمیت دارد، زیرا مقدار به صفحه مالک وابسته است و صرفاً آخرین صفحه ثبتشده در ناوبری را نشان نمیدهد.
شناسه صفحه
متغیر sys.inPage.pageId یک عدد و برابر شناسه همان صفحه است. برای مثال میتوانید شناسه صفحه را در متن نمایش دهید:
شناسه این صفحه: {{sys.inPage.pageId}}
یا در یک شرط، اجرای عملکرد را به صفحه مشخصی محدود کنید:
sys.inPage.pageId == 62856
داده صفحه
متغیر sys.inPage.data داده پویایی را برمیگرداند که هنگام باز شدن یا ساخت صفحه به آن ارسال شده است. مقدار آن میتواند یک آبجکت JSON، آرایه یا null باشد. برای دسترسی به فیلدهای داخلی، مسیر فیلد را بعد از نام متغیر بنویسید:
sys.inPage.data.title
sys.inPage.data.product.name
sys.inPage.data.items[0].name
برای مثال در یک متن میتوانید بنویسید:
عنوان: {{sys.inPage.data.title}}
اگر دادهای به صفحه ارسال نشده باشد یا مسیر مورد نظر در داده وجود نداشته باشد، مقدار آن null است و هنگام جایگذاری در متن به رشته خالی تبدیل میشود.
sys.page.currentIdsys.page.currentId شناسه صفحه فعال در مسیر ناوبری اپ را نگه میدارد؛ اما sys.inPage.pageId شناسه صفحهای است که متغیر در context آن خوانده میشود. در یک صفحه معمولی این دو اغلب برابرند، ولی در صفحههای توکار یا ساختارهای تودرتو ممکن است متفاوت باشند.
اطلاعات صفحه بستهشده
رویداد «خروج از صفحه» بعد از بسته شدن صفحه اجرا میشود؛ یعنی در آن لحظه sys.inPage.* به صفحه مقصد اشاره میکند، نه صفحهای که بسته شده است. برای دسترسی به دادههای صفحه بستهشده از sys.exitedPage.* استفاده کنید:
| متغیر | توضیح |
|---|---|
sys.exitedPage.pageId | شناسه صفحهای که بسته شده است |
sys.exitedPage.isHome | آیا صفحه بستهشده صفحه اصلی بوده است |
sys.exitedPage.data | داده پویای صفحه بستهشده؛ مسیرهای فرزند مانند sys.exitedPage.data.title هم کار میکنند |
sys.exitedPage.entity | موجودیت (محصول، نوشته و ...) متصل به صفحه بستهشده؛ مثل sys.exitedPage.entity.id، sys.exitedPage.entity.kind و sys.exitedPage.entity.title |
sys.exitedPage.product | اطلاعات محصول صفحه بستهشده |
sys.exitedPage.feedback | اطلاعات نظر و امتیاز صفحه بستهشده |
sys.exitedPage.optionSelector | مقدار انتخابگر گزینههای صفحه بستهشده |
ساختار این متغیرها دقیقاً مثل sys.inPage.* است؛ فقط بهجای صفحه جاری، عکس فوری صفحهای را نگه میدارد که همین الان بسته شده است.
برای مثال، در رویداد «خروج از صفحه» میتوانید فقط وقتی صفحه قبلی را تازهسازی کنید که کاربر از صفحه محصول برگشته باشد:
sys.exitedPage.entity.kind == product
مقدار این متغیرها تا بسته شدن صفحه بعدی باقی میماند و خواندن آنها خارج از رویداد «خروج از صفحه» معمولاً معنایی ندارد.
اعلان و یادآوری
| نام | متغیر | توضیح |
|---|---|---|
| اعلان جاری | sys.notification.current | عنوان، متن، صفحه مقصد و اطلاعات اعلانی که کاربر باز کرده است |
| اپ از اعلان باز شده است | sys.notification.opened | پس از لمس اعلان مقدار true میگیرد |
| کلید آخرین اعلان | sys.notification.key | کلید آخرین اعلان نمایشدادهشده، ثبتشده یا لغوشده |
| داده آخرین اعلان | sys.notification.data | «داده همراه» اعلانی که کاربر باز کرده است |
| موفقیت آخرین عملیات اعلان | sys.notification.success | نتیجه نمایش، ثبت یا لغو آخرین اعلان محلی |
| خطای آخرین عملیات اعلان | sys.notification.error | متن خطای آخرین عملیات اعلان محلی |
| شناسه عددی آخرین اعلان | sys.notification.id | شناسه داخلی تولیدشده از کلید اعلان |
| یادآوریهای فعال | sys.notification.reminders | فهرست یادآوریهای ثبتشده که هنوز اجرا یا لغو نشدهاند |
این متغیرها با عملکردهای نمایش نوتیفیکیشن محلی، ثبت یادآوری، لغو یادآوری و لغو همه یادآوریها مقداردهی میشوند.
بررسی نتیجه عملیات
بعد از هر یک از عملکردهای بالا میتوانید موفقیت آن را بررسی کنید:
sys.notification.success == true
و در صورت خطا، متن آن را نمایش دهید:
{{sys.notification.error}}
واکنش به باز شدن اپ از اعلان
اگر کاربر با لمس اعلان وارد اپ شود، مقدار sys.notification.opened برابر true میشود و میتوانید بر اساس آن رفتار متفاوتی اجرا کنید:
sys.notification.opened == true
مقدار همراه اعلان نیز از sys.notification.data و کلید آن از sys.notification.key قابل خواندن است.
فهرست یادآوریهای فعال
متغیر sys.notification.reminders آرایهای از یادآوریهایی است که در سیستمعامل ثبت شدهاند و هنوز نه اجرا شدهاند و نه لغو. این فهرست هنگام اجرای اپ و پس از هر ثبت یا لغو موفق، بهروزرسانی میشود. اگر یادآوری فعالی وجود نداشته باشد، مقدار آن یک آرایه خالی ([]) است.
فیلدهای هر یادآوری
| فیلد | نوع | توضیح |
|---|---|---|
key | متن | کلید یکتایی که هنگام ثبت یادآوری وارد شده است |
id | عدد | شناسه داخلی ساختهشده از کلید |
title | متن | عنوان اعلان |
body | متن | متن اعلان |
repeat | متن | نوع تکرار: none، daily یا weekly |
exact | بولی | آیا زمانبندی دقیق فعال است |
at | عدد | زمان اولین اجرا بر حسب epoch milliseconds |
page | عدد | شناسه صفحهای که با لمس اعلان باز میشود (در صورت تعیین) |
data | متن | داده همراه اعلان (در صورت تعیین) |
تعداد یادآوریهای فعال:
sys.notification.reminders._length
دسترسی به یک یادآوری مشخص، با شمارهگذاری از صفر:
sys.notification.reminders[0].key
sys.notification.reminders[0].title
sys.notification.reminders[0].repeat
برای نمایش همه یادآوریها، sys.notification.reminders را بهعنوان منبع داده یک لیست پویا استفاده کنید و روی دکمه حذف هر آیتم، عملکرد «لغو یادآوری» را با فیلد key همان آیتم تنظیم کنید.
این متغیرها مربوط به اعلانهای محلی هستند که خود اپ میسازد و به اینترنت نیاز ندارند. برای ارسال نوتیفیکیشن از پنل یا سرور، به سرویس نوتیفیکیشن مراجعه کنید. متغیر sys.notification.current در هر دو حالت مقدار میگیرد.
اعلان محلی و یادآوری در نسخه فعلی فقط روی Android و iOS پشتیبانی میشوند. در خروجی وب و دسکتاپ، sys.notification.success مقدار false میگیرد و دلیل آن در sys.notification.error قرار میگیرد.
کاربر
| نام | متغیر | توضیح |
|---|---|---|
| ورود کاربر | sys.user.isLoggedIn | آیا کاربر وارد حساب شده است |
| شناسه کاربر | sys.user.id | شناسه کاربر فعلی |
| تکمیل پروفایل | sys.user.profileIsComplete | وضعیت کامل بودن پروفایل کاربر |
| نام کاربر | sys.user.name | نام کاربر |
| نام خانوادگی | sys.user.lastname | نام خانوادگی کاربر |
| موبایل | sys.user.mobile | شماره موبایل کاربر |
| ایمیل | sys.user.email | ایمیل کاربر |
| خریدهای فعال | sys.user.buys | فهرست خریدها و دسترسیهای فعال کاربر |
خریدها و اشتراکهای فعال
متغیر sys.user.buys یک آرایه از خریدها و دسترسیهایی است که در حال حاضر معتبر هستند. این متغیر تاریخچه خرید نیست؛ خریدها و اشتراکهای منقضیشده در آن قرار نمیگیرند. اگر کاربر هیچ خرید فعالی نداشته باشد، مقدار آن یک آرایه خالی ([]) است.
تعداد خریدهای فعال را میتوانید با مسیر زیر دریافت کنید:
sys.user.buys._length
برای دسترسی به یک خرید مشخص، از شماره آن در آرایه استفاده کنید. شمارهگذاری از صفر شروع میشود:
sys.user.buys[0].name
sys.user.buys[0].code
sys.user.buys[0].isPermanent
sys.user.buys[0].remainingDays
نوشتن شماره آیتم با نقطه نیز پشتیبانی میشود؛ برای مثال sys.user.buys.0.name با sys.user.buys[0].name یکسان است.
فیلدهای هر خرید
| فیلد | نوع | توضیح |
|---|---|---|
id | عدد | شناسه محصول خریدنی؛ با itemId برابر است |
itemId | عدد | شناسه محصول خریدنی در اپ ادیتور |
code | متن | کد یا SKU محصول |
name | متن | نام محصول |
description | متن | توضیحات محصول |
source | متن | منبع اعتبار دسترسی؛ server یا شناسه مارکت مانند bazaar و myket |
paymentSource | متن یا null | روش ثبت پرداخت در خریدهای سروری، مانند gateway، bazaar یا myket. ممکن است در خرید مستقیم مارکت وجود نداشته باشد |
isActive | بولی | برای آیتمهای داخل این فهرست همیشه true است |
isSubscription | بولی | آیا دسترسی زماندار و سمت سرور است؟ |
type | متن | نوع دسترسی: purchase برای خرید دائمی و subscription برای دسترسی زماندار |
durationType | متن | نوع مدت اعتبار: permanent یا expiring |
isPermanent | بولی | آیا خرید بدون تاریخ انقضا است؟ |
purchasedAt | متن یا null | تاریخ خرید به فرمت ISO-8601؛ تا زمان دریافت اطلاعات معتبر ممکن است null باشد |
purchasedAtJalali | متن یا null | معادل شمسی تاریخ خرید به فرمت yyyy/mm/dd HH:mm |
expiresAt | متن یا null | تاریخ انقضا به فرمت ISO-8601؛ برای خرید دائمی null است |
expiresAtJalali | متن یا null | معادل شمسی تاریخ انقضا به فرمت yyyy/mm/dd HH:mm؛ برای خرید دائمی null است |
remainingSeconds | عدد یا null | تعداد ثانیه باقیمانده تا انقضا؛ برای خرید دائمی null است |
remainingDays | عدد یا null | تعداد روز باقیمانده با گرد کردن رو به بالا؛ برای خرید دائمی null است |
expirationKnown | بولی | آیا دائمی بودن یا تاریخ انقضای دسترسی بهصورت قطعی مشخص شده است؟ |
نمونه خرید دائمی
{
"id": 12,
"itemId": 12,
"code": "remove_ads",
"name": "حذف تبلیغات",
"description": "حذف دائمی تبلیغات برنامه",
"source": "bazaar",
"isActive": true,
"isSubscription": false,
"type": "purchase",
"durationType": "permanent",
"isPermanent": true,
"purchasedAt": "2026-07-27T10:20:00.000Z",
"purchasedAtJalali": "1405/05/05 13:50",
"expiresAt": null,
"expiresAtJalali": null,
"remainingSeconds": null,
"remainingDays": null,
"expirationKnown": true
}
نمونه دسترسی زماندار
{
"id": 18,
"itemId": 18,
"code": "gold_30_days",
"name": "دسترسی طلایی ۳۰ روزه",
"description": "دسترسی به تمام محتوای طلایی",
"source": "server",
"paymentSource": "bazaar",
"isActive": true,
"isSubscription": true,
"type": "subscription",
"durationType": "expiring",
"isPermanent": false,
"purchasedAt": "2026-07-01T10:20:00+03:30",
"purchasedAtJalali": "1405/04/10 10:20",
"expiresAt": "2026-07-31T10:20:00+03:30",
"expiresAtJalali": "1405/05/09 10:20",
"remainingSeconds": 345600,
"remainingDays": 4,
"expirationKnown": true
}
مقادیر شمسی بر اساس منطقه زمانی دستگاه کاربر ساخته میشوند. مقدار remainingDays نیز روز ناقص را یک روز حساب میکند؛ برای مثال اگر ۲ ساعت از اعتبار باقی مانده باشد، مقدار آن 1 خواهد بود. زمان باقیمانده هنگام اجرای اپ بهروز میشود و پس از رسیدن زمان انقضا، آیتم بهصورت خودکار از sys.user.buys حذف خواهد شد.
تفاوت روشهای پرداخت
| حالت پرداخت | نیاز به ورود | منبع اطلاعات | نوع دسترسی قابل نمایش |
|---|---|---|---|
| درگاه مستقل | دارد | سرور | دائمی یا زماندار |
| مارکت با همگامسازی فعال | دارد | سرور | دائمی یا زماندار |
| مارکت با همگامسازی غیرفعال | ندارد | موجودی حساب مارکت | فقط دائمی |
در حالت مارکت مستقیم، محصول باید از نوع عادی و غیر اشتراکی باشد. اشتراک زماندار مارکت پشتیبانی نمیشود و دسترسی زماندار فقط سمت سرور مدیریت میشود.
نمونه استفاده در شرطها
بررسی وجود حداقل یک خرید فعال:
sys.user.buys._length > 0
بررسی دائمی بودن اولین خرید:
sys.user.buys[0].isPermanent == true
بررسی نزدیک بودن انقضای اولین دسترسی زماندار:
sys.user.buys[0].isSubscription == true
sys.user.buys[0].remainingDays <= 3
برای نمایش همه خریدها، sys.user.buys را بهعنوان منبع داده یک لیست پویا استفاده کنید و فیلدهایی مانند name، purchasedAtJalali، expiresAtJalali و remainingDays را در آیتم لیست نمایش دهید.
زبان و منطقه زمانی
| نام | متغیر | توضیح |
|---|---|---|
| تگ زبان | sys.locale.tag | تگ کامل locale سیستم |
| کد زبان | sys.locale.languageCode | کد زبان سیستم |
| کد کشور | sys.locale.countryCode | کد کشور locale |
| نام منطقه زمانی | sys.timezone.name | نام timezone سیستم |
| آفست منطقه زمانی | sys.timezone.offset | اختلاف timezone به فرمت +HH:mm |
| آفست دقیقهای | sys.timezone.offsetMinutes | اختلاف timezone بر حسب دقیقه |
تاریخ و زمان
| نام | متغیر | توضیح |
|---|---|---|
| یونیکس میلیثانیه | sys.datetime.epochMs | زمان جاری بر حسب epoch milliseconds |
| یونیکس ثانیه | sys.datetime.epochSec | زمان جاری بر حسب epoch seconds |
| ISO محلی | sys.datetime.isoLocal | تاریخزمان محلی با ISO-8601 |
| ISO UTC | sys.datetime.isoUtc | تاریخزمان UTC با ISO-8601 |
| RFC3339 محلی | sys.datetime.rfc3339Local | تاریخزمان محلی با فرمت RFC3339 |
| تاریخزمان کامل / | sys.datetime.yyyy_mm_dd_hh_mm | تاریخزمان میلادی تا دقیقه |
| تاریخزمان کامل / ثانیه | sys.datetime.yyyy_mm_dd_hh_mm_ss | تاریخزمان میلادی تا ثانیه |
| تاریخزمان کامل - | sys.datetime.yyyy-mm-dd_hh:mm:ss | تاریخزمان میلادی با جداکننده - و : |
تاریخ میلادی
| نام | متغیر | توضیح |
|---|---|---|
| سال میلادی | sys.date.gregorian.year | سال میلادی جاری |
| ماه میلادی | sys.date.gregorian.month | ماه میلادی جاری |
| روز میلادی | sys.date.gregorian.day | روز میلادی جاری |
| روز هفته میلادی | sys.date.gregorian.weekday | روز هفته میلادی (1..7) |
| روز سال میلادی | sys.date.gregorian.dayOfYear | شماره روز در سال میلادی |
| هفته ISO | sys.date.gregorian.isoWeek | شماره هفته به استاندارد ISO |
| تاریخ میلادی / | sys.date.gregorian.yyyy_mm_dd | تاریخ میلادی با / |
| تاریخ میلادی - | sys.date.gregorian.yyyy-mm-dd | تاریخ میلادی با - |
تاریخ شمسی
| نام | متغیر | توضیح |
|---|---|---|
| سال شمسی | sys.date.jalali.year | سال شمسی جاری |
| ماه شمسی | sys.date.jalali.month | ماه شمسی جاری |
| روز شمسی | sys.date.jalali.day | روز شمسی جاری |
| تاریخ شمسی کامل | sys.date.jalali.full | تاریخ شمسی به فرمت yyyy/mm/dd |
| روز هفته شمسی | sys.date.jalali.weekday | شماره روز هفته شمسی |
| نام ماه شمسی | sys.date.jalali.monthName | نام ماه شمسی |
| نام روز هفته شمسی | sys.date.jalali.weekdayName | نام روز هفته شمسی |
بخشهای تاریخ
| نام | متغیر | توضیح |
|---|---|---|
| سال چهاررقمی | sys.date.parts.yyyy | سال به صورت 4 رقمی |
| سال دورقمی | sys.date.parts.yy | سال به صورت 2 رقمی |
| ماه دورقمی | sys.date.parts.mm | ماه به صورت 2 رقمی |
| روز دورقمی | sys.date.parts.dd | روز به صورت 2 رقمی |
زمان
| نام | متغیر | توضیح |
|---|---|---|
| ساعت | sys.time.hour | ساعت جاری |
| دقیقه | sys.time.minute | دقیقه جاری |
| ثانیه | sys.time.second | ثانیه جاری |
| میلیثانیه | sys.time.millisecond | میلیثانیه جاری |
| زمان HH:mm | sys.time.hh_mm | زمان به فرمت HH:mm |
| زمان HH:mm:ss | sys.time.hh_mm_ss | زمان به فرمت HH:mm:ss |
فرمت محلی
| نام | متغیر | توضیح |
|---|---|---|
| تاریخ کامل محلی | sys.intl.date.full | تاریخ کامل براساس locale دستگاه |
| تاریخ کوتاه محلی | sys.intl.date.short | تاریخ کوتاه براساس locale دستگاه |
| زمان محلی | sys.intl.time | زمان براساس locale دستگاه |
نمونه استفاده
- برای نمایش نام کاربر، از
sys.user.nameدر متن یا ویجت نمایشگر متغیر استفاده کنید. - برای نمایش دکمه ورود فقط به کاربران واردنشده، شرط را بر اساس
sys.user.isLoggedInتنظیم کنید. - برای اجرای رفتار متفاوت در وب و اندروید، از
sys.app.isWebیاsys.platform.isAndroidاستفاده کنید. - برای تشخیص تم فعال اپ، از
sys.theme.currentاستفاده کنید. - برای نمایش یادآوریهای ثبتشده کاربر، از
sys.notification.remindersدر یک لیست پویا استفاده کنید. - برای نمایش تاریخ شمسی امروز، از
sys.date.jalali.fullاستفاده کنید.