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

دریافت تنظیمات قبلی

دریافت تنظیمات قبلی (اگر قبلا تنظیماتی ذخیره شده باشد موجود است در غیر اینصورت Null است)

با فراخوانی این Api شما می توانید تنظیمات قبلی خودرا دریافت کنید و فایل تنظیمات خود را بروز کنید.

url : https://app.airngin.com/Api/v1.0/DeviceProject/GetDeviceSettingForDevice

token : در query string به شما داده می شود باید در header پاس داده شود. مثال : bearer token

projectId : projectId در query string به شما داده می شود و باید به سمت سرور ارسال شود.

deviceSerial : سریال ابزاری می باشد که کاربر بر روی آن کلیک کرده که به صورت query string به شما داده می شود.

operationId : برای آنکه بدانیم تنظیمات قبلی مربوط به کدام یک از operation های دستگاه خود را می خواهید دریافت کنید نیاز است این نیز ارسال شود که در query string به شما داده می شود و باید به سمت سرور ارسال شود.

و مقدار بازگشتی صرفا خود json ابزار می باشد که شما ذخیره کرده اید. ( ممکن است نحوه ذخیره شما بصورت json نباشد اما پیشنهاد ما این است حتما از json استفاده نمایید)


{
"isSuccess": true,
"message": "{\"id\":8031001,\"Value\":{\"DefaultMessage\":\"عملیات با موفقیت انجام شد.\",\"ListOfMessages\":[{\"Lang\":\"fa\",\"Message\":\"عملیات با موفقیت انجام شد.\"}]}}", "returnType": ۰,
"requestId": null,
"data": "value:"XXXXXX"
}


XXXXXX : در بالا دقیقا همان مقدار ذخیره سازی ابزار شما می باشد.

نمونه کد jquery برای فراخوانی این Api :


try{
_w.DB={
thisDevice : {
id: Tool_UrlQuery('operationId') || '',
serial: Tool_UrlQuery('deviceSerial') || '',
name : Tool_UrlQuery('operationName')||'',
commands:[]
},
otherDevices : [],
cloud :{
url : 'https://app.airngin.com',
projectId : Tool_UrlQuery('projectId')||'',
token : Tool_UrlQuery('token')||'',
operationName : Tool_UrlQuery('operationName')||'',
},
savedSetting : {}
};
Tool_PageGet('/api/v1.0/DeviceProject/GetDeviceSettingForDevice',null,
function(r){ DB.savedSetting = JSON.parse(r.value||'{}')||{};}
);
}
catch(x){};


متد Tool_PageGet به شرح زیر است :


_w.Tool_PageGet = function(_url, q,_success,_balnk){
console.log('PageGet AjaxData: ',q);
var _data = {
projectId: DB.cloud.projectId,
deviceSerial: DB.thisDevice.serial,
operationId: DB.thisDevice.id
};
try{
if(q) for(var i in q) _data[i] = q[i];
}
catch(x){}
//....................................
_success:_success||function(r){console.log('PageGet success',r);},
//.................................... try to post data via ajax
$.ajax({
url: DB.cloud.url+_url,
method: 'POST',
async: false,
contentType: 'application/x-www-form-urlencoded',
headers: {'Authorization': `Bearer ${DB.cloud.token}`},
data: $.param(_data),
success: function(r) {
try{
console.log('AjaxResponse:', r);
if (r && r.isSuccess) {
if (r.data) _success(r.data);
}
}
catch(x){}
},
error: function(r) {
try{
if(_error) _error(r);
else console.error('Error:', r);
} catch(x){}
}
});
};

_w همان window در جاوااسکریپت می باشد که برای راحتی نوشتاری (یک قائده فردی است) در همان ابتدا به _w منتصب شده است که در فایل های نمونه می توانید به طور کامل آن را مشاهده نمایید.

اگر هنوز برای شما مثال ها کمی نامفهوم است اجازه دهید به جلو حرکت نماییم و در انتها مثال ها را در قالب یک فایل کامل به شما ارایه می دهیم. البته اگر به زبان های JQUERY و JAVASCRIPT در حد متوسط مسلط باشید در اجرا مشکلی ندارید.

در تمام مراحل اگر به مشکل برخوردید در بخش پشتیبانی ما منتظر کمک به شما هستیم پس درنگ نکنید و با از طریق تیکت ارتباط بگیرید.

در آخرین بخش از این آموزش فایل کامل مثال ها موجود می باشد.