توضیحات توسعه Route Script
سیستم Route Script رفتار و منطق اپلیکیشن شما را با استفاده از ساختار دستوری مبتنی بر JSON تعریف میکند. این سیستم به شما اجازه میدهد بدون نوشتن کد سنتی، هدایت بین صفحات، عملکردهای کاربر، مدیریت دادهها و منطق شرطی را کنترل کنید. هر دستور در اسکریپت یک عمل، شرط یا توالی را نشان میدهد که رفتار داینامیک اپلیکیشن را ممکن میسازد.
varif, elif, else, و ساختار when-casepage, page-finish, timeout, timeout-finishbuy, use, login, chat, orders, tickets, online-supportemail, sms یا برقراری callphoto, video, pdf, web, downloadcopy, share, toast, eval, set, delay, wallet, reset و غیرهlogout, change-pass, change-name, delete-account, charge, update| نام فرمان | آرگومان ها | حاوی فرامین درونی | توضیحات |
|---|---|---|---|
| var | name, value | ندارد | تعریف یک متغیر با نام و مقدار |
| if | exp | دارد | اجرای شرط در صورتی که عبارت درست باشد |
| elif | exp | دارد | اجرای شرط در صورت false بودن شرطهای قبلی |
| else | - | دارد | اجرای دستورات در صورت برقرار نبودن شرایط قبلی |
| when | - | دارد | شروع یک بلوک when-case |
| case | value | دارد | یک case درون بلوک when |
| else (when) | - | دارد | حالت پیشفرض در بلوک when |
| yeno | title, text | دارد | نمایش دیالوگ بله/خیر با عنوان و متن |
| buy | product, price | دارد | خرید محصول با قیمت مشخص |
| buy-use | product, price | دارد | خرید محصول و استفاده فوری آن |
| use | product | دارد | استفاده از محصول |
| login | - | ندارد | ورود کاربر |
| page | pageName | ندارد | رفتن به صفحه مشخص |
| page-finish | pageName | ندارد | خروج یا پایان صفحه |
| timeout | pageName, timeout | ندارد | تعیین timeout برای صفحه |
| timeout-finish | pageName, timeout | ندارد | پایان timeout صفحه |
| finish | - | ندارد | خروج از صفحه جاری |
| day-night | - | ندارد | تغییر حالت روز/شب |
| reset | - | ندارد | ریست وضعیتها یا متغیرها |
| open | url | ندارد | باز کردن URL |
| call | phone | ندارد | تماس تلفنی |
| email, subject, text | ندارد | ارسال ایمیل | |
| sms | phone, text | ندارد | ارسال پیامک |
| copy | text | ندارد | کپی کردن متن |
| share | text | ندارد | اشتراکگذاری متن |
| toast | text | ندارد | نمایش پیام toast |
| chat | ندارد | باز کردن چت با ایمیل مشخص | |
| orders | - | ندارد | نمایش سفارشها |
| tickets | - | ندارد | نمایش تیکتها |
| online-support | - | ندارد | پشتیبانی آنلاین |
| clean | key | ندارد | حذف یک متغیر |
| clean-starts | keys | ندارد | حذف متغیرهایی که با رشته خاصی شروع میشوند |
| clean-likes | keys | ندارد | حذف متغیرهایی که شامل رشته مشخصی هستند |
| clean-ends | keys | ندارد | حذف متغیرهایی که با رشته مشخصی پایان مییابند |
| photo | url | ندارد | نمایش عکس |
| video | url | ندارد | نمایش ویدیو |
| url | ندارد | نمایش PDF | |
| web | url | ندارد | باز کردن صفحه وب |
| download | url | ندارد | دانلود فایل |
| download-open | url | ندارد | دانلود فایل و باز کردن آن |
| eval | name, exp | ندارد | ارزیابی عبارت و ذخیره نتیجه |
| send | listingType | ندارد | ارسال نوع لیست |
| wallet | - | ندارد | باز کردن کیف پول |
| dialog | pageName | ندارد | باز کردن دیالوگ |
| menu | pageName | ندارد | باز کردن منو |
| logout | - | ندارد | خروج کاربر |
| change-pass | - | ندارد | تغییر رمز عبور |
| change-name | - | ندارد | تغییر نام کاربری |
| delete-account | - | ندارد | حذف حساب کاربری |
| charge | product, price | ندارد | شارژ محصول یا سرویس |
| about | - | ندارد | اطلاعات برنامه |
| update | - | ندارد | بررسی آپدیت |
| app | appID | ندارد | باز کردن اپ دیگر با ID |
| send-ticket | - | ندارد | ارسال تیکت پشتیبانی |
| send-chat | - | ندارد | ارسال پیام چت |
| locale | locale | ندارد | تنظیم زبان اپلیکیشن |
| set | name, field, value | ندارد | تنظیم مقدار یک فیلد در متغیر مشخص |
| delay | timeout | ندارد | تأخیر در اجرای دستور |
کاربرد: تعریف یک متغیر با یک نام و مقدار
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Name | String | {name} | نام متغیر |
| Value | String | {value} | مقدار ذخیرهشده در متغیر |
نمونه کدنویسی:
{
"name": "var",
"args": ["{name}","{value}"]
}
کاربرد: اجرای شرطی در صورتی که عبارت درست باشد
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Expression | String | {exp} | عبارت شرطی و شرایط لازم |
نمونه کدنویسی:
{
"name": "if",
"args": ["{exp}"],
"cmds": []
}
کاربرد: اجرای شرطی در صورتی که if یا elif قبلی برقرار نبوده باشد
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Expression | String | {exp} | عبارت شرطی و شرایط لازم |
نمونه کدنویسی:
{
"name": "elif",
"args": ["{exp}"],
"cmds": []
}
کاربرد: اجرای دستورات در صورتی که تمام شرایط قبلی برقرار نبوده باشد
نمونه کدنویسی:
{
"name": "else",
"cmds": []
}
کاربرد: شروع یک بلوک when-case
نمونه کدنویسی:
{
"name": "when",
"cmds": []
}
کاربرد: یک case داخل بلوک when
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Value | String | {value} | مقدار مربوط به case |
نمونه کدنویسی:
{
"name": "case",
"args": ["{value}"],
"cmds": []
}
کاربرد: حالت پیشفرض داخل بلوک when
نمونه کدنویسی:
{
"name": "else",
"cmds": []
}
کاربرد: نمایش یک پیام Yes/No با عنوان و متن
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Title | String | {title} | عنوان پیام Yes/No |
| Text | String | {text} | متن پیام Yes/No |
نمونه کدنویسی:
{
"name": "yeno",
"args": ["{title}","{text}"],
"cmds": []
}
کاربرد: خرید یک محصول با قیمت مشخص
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Product | String | {product} | نام محصول |
| Price | Number | {price} | قیمت محصول |
نمونه کدنویسی:
{
"name": "buy",
"args": ["{product}","{price}"],
"cmds": []
}
کاربرد: خرید محصول و استفاده فوری از آن
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Product | String | {product} | نام محصول |
| Price | Number | {price} | قیمت محصول |
نمونه کدنویسی:
{
"name": "buy-use",
"args": ["{product}","{price}"],
"cmds": []
}
کاربرد: استفاده از یک محصول
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Product | String | {product} | نام محصول |
نمونه کدنویسی:
{
"name": "use",
"args": ["{product}"]
}
کاربرد: ورود کاربر به حساب کاربری
نمونه کدنویسی:
{
"name": "login"
}
کاربرد: رفتن به یک صفحه مشخص
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| PageName | PageName | {pageName} | نام صفحه برای باز کردن |
نمونه کدنویسی:
{
"name": "page",
"args": ["{pageName}"]
}
کاربرد: بستن یا پایان دادن یک صفحه
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| PageName | PageName | {pageName} | نام صفحه برای بستن |
نمونه کدنویسی:
{
"name": "page-finish",
"args": ["{pageName}"]
}
کاربرد: تنظیم زمانسنج برای یک صفحه
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| PageName | PageName | {pageName} | نام صفحه |
| Timeout | Number | {timeout} | مدتزمان فعال بودن صفحه |
نمونه کدنویسی:
{
"name": "timeout",
"args": ["{pageName}","{timeout}"]
}
کاربرد: پایان دادن به تایماوت یک صفحه
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| PageName | PageName | {pageName} | نام صفحه |
| Timeout | Number | {timeout} | مدتزمان تایماوت |
نمونه کدنویسی:
{
"name": "timeout-finish",
"args": ["{pageName}","{timeout}"]
}
کاربرد: پایان دادن به صفحه فعلی
نمونه کدنویسی:
{
"name": "finish"
}
کاربرد: تغییر حالت بین روز و شب (Light/Dark Mode)
نمونه کدنویسی:
{
"name": "day-night"
}
کاربرد: بازنشانی وضعیتها یا متغیرها
نمونه کدنویسی:
{
"name": "reset"
}
کاربرد: باز کردن یک لینک در مرورگر
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| URL | URL | {url} | آدرس اینترنتی برای باز شدن |
نمونه کدنویسی:
{
"name": "open",
"args": ["{url}"]
}
کاربرد: برقراری تماس تلفنی
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Phone | Phone | {phone} | شماره تلفن برای برقراری تماس |
نمونه کدنویسی:
{
"name": "call",
"args": ["{phone}"]
}
کاربرد: ارسال ایمیل
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| {email} | آدرس ایمیل برای ارسال | ||
| Subject | String | {subject} | موضوع ایمیل |
| Text | String | {text} | متن داخل ایمیل |
نمونه کدنویسی:
{
"name": "email",
"args": ["{email}","{subject}","{text}"]
}
کاربرد: ارسال پیامک
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Phone | Phone | {phone} | شماره برای پیامک |
| Text | String | {text} | متن پیام |
نمونه کدنویسی:
{
"name": "sms",
"args": ["{phone}","{text}"]
}
کاربرد: کپی متن در کلیپبورد
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Text | String | {text} | متن برای کپی |
نمونه کدنویسی:
{
"name": "copy",
"args": ["{text}"]
}
کاربرد: اشتراکگذاری متن با سیستم
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Text | String | {text} | متن برای اشتراک |
نمونه کدنویسی:
{
"name": "share",
"args": ["{text}"]
}
کاربرد: نمایش پیام Toast موقتی
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Text | String | {text} | متن پیام Toast |
نمونه کدنویسی:
{
"name": "toast",
"args": ["{text}"]
}
کاربرد: باز کردن چت با ایمیل مشخص
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| {email} | ایمیل چت |
نمونه کدنویسی:
{
"name": "chat",
"args": ["{email}"]
}
کاربرد: نمایش سفارشهای کاربر
نمونه کدنویسی:
{
"name": "orders"
}
کاربرد: نمایش تیکتها
نمونه کدنویسی:
{
"name": "tickets"
}
کاربرد: دسترسی به پشتیبانی آنلاین
نمونه کدنویسی:
{
"name": "online-support"
}
کاربرد: حذف یک متغیر
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Key | String | {key} | نام کلید برای حذف |
نمونه کدنویسی:
{
"name": "clean",
"args": ["{key}"]
}
کاربرد: حذف متغیرهایی که با مقدار مشخص شروع میشوند
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Keys | String | {keys} | کلیدها برای پاکسازی شروع |
نمونه کدنویسی:
{
"name": "clean-starts",
"args": ["{keys}"]
}
کاربرد: حذف متغیرهایی که شامل مقدار مشخص هستند
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Keys | String | {keys} | کلیدها برای پاکسازی مشابه |
نمونه کدنویسی:
{
"name": "clean-likes",
"args": ["{keys}"]
}
کاربرد: حذف متغیرهایی که با مقدار مشخص پایان مییابند
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Keys | String | {keys} | کلیدها برای پاکسازی پایان |
نمونه کدنویسی:
{
"name": "clean-ends",
"args": ["{keys}"]
}
کاربرد: نمایش عکس از آدرس URL
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| URL | URL | {url} | آدرس عکس |
نمونه کدنویسی:
{
"name": "photo",
"args": ["{url}"]
}
کاربرد: نمایش ویدیو از آدرس URL
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| URL | URL | {url} | آدرس ویدیو |
نمونه کدنویسی:
{
"name": "video",
"args": ["{url}"]
}
کاربرد: نمایش PDF از آدرس URL
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| URL | URL | {url} | آدرس PDF |
نمونه کدنویسی:
{
"name": "pdf",
"args": ["{url}"]
}
کاربرد: باز کردن صفحه وب
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| URL | URL | {url} | آدرس وبسایت |
نمونه کدنویسی:
{
"name": "web",
"args": ["{url}"]
}
کاربرد: دانلود فایل
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| URL | URL | {url} | آدرس فایل |
نمونه کدنویسی:
{
"name": "download",
"args": ["{url}"]
}
کاربرد: دانلود فایل و باز کردن آن
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| URL | URL | {url} | آدرس فایل |
نمونه کدنویسی:
{
"name": "download-open",
"args": ["{url}"]
}
کاربرد: اجرای یک expression و ذخیره نتیجه در یک متغیر
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Name | String | {name} | نام متغیر |
| Expression | String | {exp} | عبارت برای ذخیره در متغیر |
نمونه کدنویسی:
{
"name": "eval",
"args": ["{name}","{exp}"]
}
کاربرد: ارسال یک listing type
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| ListingType | ListingType | {listingType} | لیست تایپ برای ارسال داده |
نمونه کدنویسی:
{
"name": "send",
"args": ["{listingType}"]
}
کاربرد: باز کردن کیف پول
نمونه کدنویسی:
{
"name": "wallet"
}
کاربرد: باز کردن یک صفحهٔ دیالوگ
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| PageName | PageName | {pageName} | نام صفحهٔ دیالوگ موردنظر |
نمونه کدنویسی:
{
"name": "dialog",
"args": ["{pageName}"]
}
کاربرد: باز کردن یک صفحهٔ منو
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| PageName | PageName | {pageName} | نام صفحهٔ منوی موردنظر |
نمونه کدنویسی:
{
"name": "menu",
"args": ["{pageName}"]
}
کاربرد: خروج کاربر از حساب
نمونه کدنویسی:
{
"name": "logout"
}
کاربرد: تغییر رمز عبور کاربر
نمونه کدنویسی:
{
"name": "change-pass"
}
کاربرد: تغییر نام نمایشی کاربر
نمونه کدنویسی:
{
"name": "change-name"
}
کاربرد: حذف حساب کاربر
نمونه کدنویسی:
{
"name": "delete-account"
}
کاربرد: شارژ حساب برای یک محصول یا سرویس
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Product | String | {product} | نام محصول برای شارژ کیف پول |
| Price | String | {price} | قیمت محصول |
نمونه کدنویسی:
{
"name": "charge",
"args": ["{product}","{price}"]
}
کاربرد: نمایش اطلاعات برنامه
نمونه کدنویسی:
{
"name": "about"
}
کاربرد: بررسی بروزرسانی اپلیکیشن
نمونه کدنویسی:
{
"name": "update"
}
کاربرد: باز کردن یک اپلیکیشن دیگر با AppID
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| AppID | AID | {appID} | شناسهٔ برنامه برای اجرای اپلین داخل این برنامه |
نمونه کدنویسی:
{
"name": "app",
"args": ["{appID}"]
}
کاربرد: ارسال تیکت پشتیبانی
نمونه کدنویسی:
{
"name": "send-ticket"
}
کاربرد: ارسال پیام چت
نمونه کدنویسی:
{
"name": "send-chat"
}
کاربرد: تنظیم زبان اپلیکیشن
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Locale | Locale | {locale} | زبان موردنظر مانند "en", "fa" |
نمونه کدنویسی:
{
"name": "locale",
"args": ["{locale}"]
}
کاربرد: تنظیم مقدار یک فیلد از یک متغیر
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Name | String | {name} | نام المان |
| Field | String | {field} | نام فیلد المان |
| Value | String | {value} | مقدار جدید برای فیلد مشخصشده |
نمونه کدنویسی:
{
"name": "set",
"args": ["{name}","{field}","{value}"]
}
کاربرد: ایجاد تأخیر در اجرای دستورات
| آرگومان ها | نوع | مقدار پیشفرض | توضیحات |
|---|---|---|---|
| Timeout | Number | {timeout} | مدت زمان تأخیر برای اجرا |
نمونه کدنویسی:
{
"name": "delay",
"args": ["{timeout}"]
}
این اسکریپت یک صفحه دیگر را باز میکند.
{
"name": "page",
"args": ["HomePage"]
}
اگر مقدار متغیر $logged برابر 1 باشد، کاربر به داشبورد هدایت میشود.
{
"name": "if",
"args": ["$logged==1"],
"cmds": [
{
"name": "page",
"args": ["dashboard"]
}
]
}
یک پیام موقت روی صفحه نشان میدهد.
{
"name": "toast",
"args": ["Welcome to the app!"]
}
برای مثال خرید اشتراک Premium به مبلغ 9.99.
{
"name": "buy-use",
"args": ["PremiumSubscription","9.99"]
}
اجرای مجموعهای از فرمانها بر اساس مقدار ورودی. مشابه switch-case.
{
"name": "when",
"cmds": [
{
"name": "case",
"args": ["silver"],
"cmds": [
{"name": "toast", "args": ["Silver user access"]}
]
},
{
"name": "case",
"args": ["gold"],
"cmds": [
{"name": "toast", "args": ["Gold user access"]}
]
},
{
"name": "else",
"cmds": [
{"name": "toast", "args": ["No access level"]}
]
}
]
}