Flutter Dynamic Control

هذه اللوحة تزوّد تطبيق Flutter بملف الإعدادات JSON من:

http://flutter.alattab.site/api/app-config
مقتطف من التكوين
{
  "api_base_url": "http://127.0.0.1:5100",
  "app_name": "Flutter Dynamic Control",
  "home_screen": "home",
  "login_enabled": true,
  "screens": [
    {
      "components": [
        {
          "action": {
            "payload": {},
            "route_target": "",
            "type": ""
          },
          "action_type": "",
          "hint": "admin@local",
          "is_visible": true,
          "label": "email",
          "route": "",
          "sort_order": 1,
          "style": {},
          "text": "\u0627\u0644\u0628\u0631\u064a\u062f \u0627\u0644\u0625\u0644\u0643\u062a\u0631\u0648\u0646\u064a",
          "type": "input"
        },
        {
          "action": {
            "payload": {},
            "route_target": "",
            "type": ""
          },
          "action_type": "",
          "hint": "admin123",
          "is_visible": true,
          "label": "password",
          "route": "",
          "sort_order": 2,
          "style": {},
          "text": "\u0643\u0644\u0645\u0629 \u0627\u0644\u0645\u0631\u0648\u0631",
          "type": "input"
        },
        {
          "action": {
            "payload": {},
            "route_target": "home",
            "type": "login"
          },
          "action_type": "login",
          "hint": "",
          "is_visible": true,
          "label": "submit",
          "route": "home",
          "sort_order": 3,
          "style": {},
          "text": "\u062f\u062e\u0648\u0644",
          "type": "button"
        }
      ],
      "is_enabled": true,
      "is_home": false,
      "is_login": true,
      "layout_type": "auth",
      "metadata": {},
      "name": "login",
      "route": "/login",
      "sort_order": 0,
      "theme": {},
      "title": "\u062a\u0633\u062c\u064a\u0644 \u0627\u0644\u062f\u062e\u0648\u0644"
    },
    {
      "components": [
        {
          "action": {
            "payload": {},
            "route_target": "",
            "type": "sync"
          },
          "action_type": "sync",
          "hint": "",
          "is_visible": true,
          "label": "sync",
          "route": "",
          "sort_order": 2,
          "style": {},
          "text": "\u0645\u0632\u0627\u0645\u0646\u0629",
          "type": "button"
        },
        {
          "action": {
            "payload": {},
            "route_target": "whatsapp",
            "type": "login"
          },
          "action_type": "login",
          "hint": "whatsapp",
          "is_visible": true,
          "label": "navigate",
          "route": "whatsapp",
          "sort_order": 4,
          "style": {
            "icon": "whatsapp"
          },
          "text": "\u0627\u0631\u0633\u0627\u0644 \u0631\u0633\u0627\u0644\u0629 \u0648\u0627\u062a\u0633\u0627\u0628",
          "type": "button"
        }
      ],
      "is_enabled": true,
      "is_home": false,
      "is_login": false,
      "layout_type": "scaffold",
      "metadata": {},
      "name": "home",
      "route": "/home",
      "sort_order": 1,
      "theme": {},
      "title": "\u0627\u0644\u0631\u0626\u064a\u0633\u064a\u0629"
    },
    {
      "components": [
        {
          "action": {
            "payload": {},
            "route_target": "",
            "type": "sync"
          },
          "action_type": "sync",
          "hint": "",
          "is_visible": true,
          "label": "zz",
          "route": "",
          "sort_order": 1,
          "style": {},
          "text": "\u0632\u064a\u062f\u0627\u0646",
          "type": "button"
        }
      ],
      "is_enabled": true,
      "is_home": false,
      "is_login": false,
      "layout_type": "scaffold",
      "metadata": {},
      "name": "whatsapp",
      "route": "/whatsapp",
      "sort_order": 1,
      "theme": {},
      "title": "\u0648\u0627\u062a\u0633\u0627\u0628"
    }
  ],
  "settings": {
    "pwa_name": "Flutter Control Panel",
    "pwa_short_name": "Control",
    "theme_mode": "system"
  },
  "sync_endpoint": "/api/sync/report",
  "version": 27
}
البدء السريع
  1. سجّل الدخول إلى لوحة الإدارة.
  2. أضف الشاشات والمكوّنات.
  3. اضغط المزامنة من تطبيق Flutter.
دخول الإدارة فتح JSON