آپدیت کردن صفحات بدون ایجاد صفحه جدید

 

اگر در خواصی که از اکشن پشتیبانی می کنند از اکشن update استفاده کنید، پیامی با اطلاعات داخل صفحه (به فصل "مقادیر ارسالی برای سرور" مراجعه کنید) برای میکروسرویس شما ارسال میشود. داخل این پیام کلید update وجود دارد که با استفاده از مقدار ورودی آن که در کد xml خود پس از / وارد کردید میتوانید تغییرات مورد نیاز را مشخص کنید.

علاوه بر مقدار ورودی کلید update دیتای صفحه ای که کاربر مشاهده می کند نیز برای شما ارسال می شود که میتوانید از آن برای شناسایی تغییرات مورد نیاز استفاده کنید. (به فصل "مقادیر ارسالی برای سرور" مراجعه کنید)

برای مشخص کردن تغییرات شما باید کد JSON به شکل زیر بسازید:

{
    widgetdata: {
        [id]:{
            [attr]:[value]
            color:red,
            text:"hello"
            override
        }
    },
 
    variabledata:{
        var1:3
    }
 
}

همان طور که در مثال مشخص شده است، تغییرات اعمالی به دو دسته تقسیم می شوند :

  1. widgetdata : برای مشخص کردن تغییرات المان ها استفاده می شود.
  2. variabledata : برای تغییر در variable ها مورد استفاده قرار میگیرد.

    • widgetdata :

    تغییرات المان ها داخل این کلید قرار میگیرند.

    برای مشخص کردن المانی که تغییرات روی آن اعمال میشود id آن المان را نوشته و آن را برابر با یک جیسون دیگر قرار دهید و داخل آن از نام خاصیت به عنوان کلید و مقدار جدید به عنوان مقدار کلید استفاده کنید.

    برای مثال همان طور که در کد بالا دیده میشود با گذاشتن text به عنوان کلید و متن hello به عنوان مقدار متن نمایش داده شده روی دستگاه کاربر به hello تغییر میکند و این اتفاق بدون باز شدن صفحه جدید رخ می دهد.


    • variabledata :

    تغییرات variable ها در این کلید قرار می گیرد. ساختار جیسونی که داخل این کلید قرار میگیرد به صور ت نام متغیر به عنوان کلید و مقدار جدید آن به عنوان مقدار خواهد بود.


    مقادیر ارسالی برای سرور

    با هر بار صدا شدن میکروسرویس شما مقادیری برای شما داخل یک JSON ارسال میشود این مقادیر به صورت زیر است:

    • Inputs :

    مقادیر المان هایی که برای آن ها id تعریف کرده ایددر این کلید جیسون برای شما ارسال می شود. این مقادیر برای هر المان متفاوت است به عنوان مثال مقدار المان  text متن داخل آن و مقدار المان textInput متن ورودی کاربر میباشد.

    تمام این مقادیر به صورت یک json برای شما ارسال شده که در یک طرف id المان به عنوان کلید و مقدار المان به عنوان مقدار جیسون داده میشود.

    برای مثال با ارسال شدن کد xml زیر:

    <page>
        <text id="text 1" text="enter your phone number"/>
        <texstInput id="phone" hint="phone number"/>
        <button text="goto page 2" onClick="command/page2"/>
    </page>

    مقدار جیسون بازگردانده شده پس از انتخاب دکمه goto page 2 برابر با مقدار زیر خواهد بود:

    {
        "text1": "enter your phone number",
        "phone": "01234566789"
    }

    که 0123456789 مقدار وارد شده توسط کاربر است.

    تمامی المان هایی که id داشته باشند داخل این JSON نمایش داده می شوند. همین چنین متغیرهایی (variable) که تعریف می شوند نیز به همین صورت نمایش داده می شوند.

     

    • Command :

    در صورتی که از اکشن command استفاده کنید پس از اجرا شدن اکشن توسط کاربر این کلید برای شما ارسال میشود که مقدار ورودی آن داخل کلید میباشد شما میتوانید با استفاده از این مقدار صفحه ای که باید به کاربر نشان دهید را مشخص کنید.

     

    • Update :

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

     

    • sdp_userId :

    id کابر را نمایش می دهد. این آیدی منحصر به فرد است و شما می توانید از آن به عنوان اعتبار سنجی کاربر استفاده کنید.