پرش به مطلب اصلی

متغیرهای سیستمی

متغیرهای سیستمی، مقدارهای آماده‌ای هستند که اپ ادیتور به‌صورت خودکار در اختیار اپلیکیشن قرار می‌دهد. این متغیرها معمولاً فقط‌خواندنی هستند و می‌توانید از آن‌ها در شرط‌ها، عملکردها، نمایش متن و منطق صفحات استفاده کنید.

همه متغیرهای سیستمی با پیشوند sys.‎ شروع می‌شوند. این پیشوند نشان می‌دهد مقدار توسط سیستم ساخته شده و نباید به‌عنوان متغیر کاربری تعریف یا بازنویسی شود.

نکات مهم

  • متغیرهای سیستمی نیازی به ساخت دستی ندارند.
  • مقدار آن‌ها توسط سیستم و در زمان اجرا به‌روزرسانی می‌شود.
  • برای استفاده، نام کامل متغیر را دقیقاً مطابق جدول‌ها وارد کنید.

اطلاعات اپ

ناممتغیرتوضیح
نام اپsys.app.nameنام برنامه
پکیج اپsys.app.packageNameشناسه پکیج برنامه
نسخه عددیsys.app.versionCodeکد نسخه برنامه
وب بودنsys.app.isWebآیا برنامه روی وب اجرا شده است

پلتفرم

ناممتغیرتوضیح
اندروید بودنsys.platform.isAndroidآیا دستگاه اندروید است
iOS بودنsys.platform.isIOSآیا دستگاه iOS است
ویندوز بودنsys.platform.isWindowsآیا دستگاه ویندوز است
لینوکس بودنsys.platform.isLinuxآیا دستگاه لینوکس است
مک بودنsys.platform.isMacOSآیا دستگاه مک است

تایمر

ناممتغیرتوضیح
تیک تایمرsys.timer.tickشمارنده تیک تایمر سراسری (هر ثانیه)

وضعیت اجرا

ناممتغیرتوضیح
دسترسی اینترنتsys.runtime.hasInternetAccessدسترسی واقعی به اینترنت
روشنایی سیستمsys.runtime.brightnessحالت روشنایی سیستم (light/dark)
اولین اجراsys.runtime.isFirstLaunchآیا اولین اجرا بعد از نصب یا آپدیت است؟
نصب جدیدsys.runtime.isNewInstallationآیا نصب تازه انجام شده است.
زبان جاریsys.runtime.currentLangIdشناسه زبان فعلی اپ

اندازه و جهت صفحه

ناممتغیرتوضیح
جهت صفحه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.devicePixelRatiodevicePixelRatio فعلی
عرض منطقیsys.metrics.logicalWidthعرض منطقی viewport
ارتفاع منطقیsys.metrics.logicalHeightارتفاع منطقی viewport
عرض فیزیکیsys.metrics.physicalWidthعرض فیزیکی viewport
ارتفاع فیزیکیsys.metrics.physicalHeightارتفاع فیزیکی viewport

صفحه

ناممتغیرتوضیح
شناسه صفحه جاریsys.page.currentIdشناسه صفحه فعال فعلی
شناسه صفحه قبلیsys.page.previousIdشناسه صفحه قبلی در ناوبری

کاربر

ناممتغیرتوضیح
ورود کاربرsys.user.isLoggedInآیا کاربر وارد حساب شده است
شناسه کاربرsys.user.idشناسه کاربر فعلی
تکمیل پروفایلsys.user.profileIsCompleteوضعیت کامل بودن پروفایل کاربر
نام کاربرsys.user.nameنام کاربر
نام خانوادگیsys.user.lastnameنام خانوادگی کاربر
موبایلsys.user.mobileشماره موبایل کاربر
ایمیلsys.user.emailایمیل کاربر

زبان و منطقه زمانی

ناممتغیرتوضیح
تگ زبان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 UTCsys.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شماره روز در سال میلادی
هفته ISOsys.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:mmsys.time.hh_mmزمان به فرمت HH:mm
زمان HH:mm:sssys.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.date.jalali.full استفاده کنید.

ادامه مسیر