Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Плагин для программы MobileBalance: http://mtsoft.ru/mobilebalance/
- //
- // Инструкция по использованию:
- // 1. зайти в настройки программы MobileBalance, перейти на закладку "Плагины: Операторы", добавить плагин.
- // 2. После этого перейти на закладку "Телефоны" и в качестве оператора выбрать оператора с названием, указанным ниже.
- //
- // FullName : LIFE Unlim Date
- // ShortName : LifeByUnlimDate
- // Version : 17.11.2018
- // Icon : 789C73F2FDC600016540AC01C40250CCC8C002166F0062616E08166040060D10C9860608058240C6810307803448E43F1831FCFF0FA140102404E2E3007FCE43089CF49933E7A1FC337869A83A5C00009F949135
- // Author : Artem Brodetsky
- // Types : Artem Brodetsky
- // Descript : Текущий счет в системе статистики провайдера LIFE респ. Беларусь
- // Descript : Адрес личного кабинета: https://issa.life.com.by/Account.aspx
- var JSON;JSON||(JSON={});
- (function(){function k(a){return a<10?"0"+a:a}function o(a){p.lastIndex=0;return p.test(a)?'"'+a.replace(p,function(a){var c=r[a];return typeof c==="string"?c:"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)})+'"':'"'+a+'"'}function l(a,j){var c,d,h,m,g=e,f,b=j[a];b&&typeof b==="object"&&typeof b.toJSON==="function"&&(b=b.toJSON(a));typeof i==="function"&&(b=i.call(j,a,b));switch(typeof b){case "string":return o(b);case "number":return isFinite(b)?String(b):"null";case "boolean":case "null":return String(b);case "object":if(!b)return"null";
- e+=n;f=[];if(Object.prototype.toString.apply(b)==="[object Array]"){m=b.length;for(c=0;c<m;c+=1)f[c]=l(c,b)||"null";h=f.length===0?"[]":e?"[\n"+e+f.join(",\n"+e)+"\n"+g+"]":"["+f.join(",")+"]";e=g;return h}if(i&&typeof i==="object"){m=i.length;for(c=0;c<m;c+=1)typeof i[c]==="string"&&(d=i[c],(h=l(d,b))&&f.push(o(d)+(e?": ":":")+h))}else for(d in b)Object.prototype.hasOwnProperty.call(b,d)&&(h=l(d,b))&&f.push(o(d)+(e?": ":":")+h);h=f.length===0?"{}":e?"{\n"+e+f.join(",\n"+e)+"\n"+g+"}":"{"+f.join(",")+
- "}";e=g;return h}}if(typeof Date.prototype.toJSON!=="function")Date.prototype.toJSON=function(){return isFinite(this.valueOf())?this.getUTCFullYear()+"-"+k(this.getUTCMonth()+1)+"-"+k(this.getUTCDate())+"T"+k(this.getUTCHours())+":"+k(this.getUTCMinutes())+":"+k(this.getUTCSeconds())+"Z":null},String.prototype.toJSON=Number.prototype.toJSON=Boolean.prototype.toJSON=function(){return this.valueOf()};var q=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,
- p=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,e,n,r={"\u0008":"\\b","\t":"\\t","\n":"\\n","\u000c":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},i;if(typeof JSON.stringify!=="function")JSON.stringify=function(a,j,c){var d;n=e="";if(typeof c==="number")for(d=0;d<c;d+=1)n+=" ";else typeof c==="string"&&(n=c);if((i=j)&&typeof j!=="function"&&(typeof j!=="object"||typeof j.length!=="number"))throw Error("JSON.stringify");return l("",
- {"":a})};if(typeof JSON.parse!=="function")JSON.parse=function(a,e){function c(a,d){var g,f,b=a[d];if(b&&typeof b==="object")for(g in b)Object.prototype.hasOwnProperty.call(b,g)&&(f=c(b,g),f!==void 0?b[g]=f:delete b[g]);return e.call(a,d,b)}var d,a=String(a);q.lastIndex=0;q.test(a)&&(a=a.replace(q,function(a){return"\\u"+("0000"+a.charCodeAt(0).toString(16)).slice(-4)}));if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,
- "]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return d=eval("("+a+")"),typeof e==="function"?c({"":d},""):d;throw new SyntaxError("JSON.parse");}})();
- if (typeof Array.prototype.forEach != 'function') {
- Array.prototype.forEach = function(callback){
- for (var i = 0; i < this.length; i++){
- callback.apply(this, [this[i], i, this]);
- }
- };
- }
- function main(){
- var p = 0;
- // Делаем логаут
- document.location="https://life.com.by/~api/json/extend.otp/logout";
- if(!external.WaitBrowser) return;
- response.pages[p++]=external.source;
- loginPackage = {
- "msisdn" : '375'+request.loginValue,
- "password" : request.passwValue
- }
- xmlhttp = external.getXmlHttp()
- xmlhttp.open('POST', 'https://life.com.by/~api/json/extend.lifeconnector/getOauthAccessToken', false);
- xmlhttp.setRequestHeader("Content-Type","application/json;charset=UTF-8");
- xmlhttp.send(JSON.stringify(loginPackage));
- if(xmlhttp.status != 200) return
- loginObj = JSON.parse(xmlhttp.responseText);
- balancePackage = {
- chainName: "LHA_getUserBalance",
- language: "rus"
- }
- xmlhttp.open('POST', 'https://life.com.by/~api/json/extend.account/getAccountData', false);
- xmlhttp.setRequestHeader("Content-Type","application/json;charset=UTF-8");
- xmlhttp.send(JSON.stringify(balancePackage));
- if(xmlhttp.status != 200) return
- balanceObj = JSON.parse(xmlhttp.responseText);
- tariffPackage = {
- chainName: "LH_Active_TP",
- language: "rus"
- }
- xmlhttp.open('POST', 'https://life.com.by/~api/json/extend.account/getAccountData', false);
- xmlhttp.setRequestHeader("Content-Type","application/json;charset=UTF-8");
- xmlhttp.send(JSON.stringify(tariffPackage));
- if(xmlhttp.status != 200) return
- tariffObj = JSON.parse(xmlhttp.responseText);
- counterPackage = {
- chainName: "LHA_getCurrentBalances",
- language: "rus"
- }
- xmlhttp.open('POST', 'https://life.com.by/~api/json/extend.account/getAccountData', false);
- xmlhttp.setRequestHeader("Content-Type","application/json;charset=UTF-8");
- xmlhttp.send(JSON.stringify(counterPackage));
- if(xmlhttp.status != 200) return
- counterObj = JSON.parse(xmlhttp.responseText);
- external.SaveStrToLogFile(xmlhttp.responseText);
- response.Balance = parseFloat(loginObj.userData.balance)
- minLife = '?'
- minAllNets = '?'
- mb = '?'
- mbSocNet = '?'
- smsLife = '?'
- smsAllNets = '?'
- counterObj.forEach(function(item,i,arr){
- switch (item.emptyIconType) {
- case 'traffic':
- mb = item.title.replace('МБ.','').replace(' ','')
- mbSocNet = item.text.replace('МБ.','').replace(' ','')
- break
- case 'call':
- minAllNets = item.title.replace('мин.','').replace(' ','')
- minLife = item.text.replace('мин.','').replace(' ','')
- break
- case 'sms':
- smsAllNets = item.title.replace('SMS','').replace(' ','')
- smsLife = item.text.replace('SMS','').replace(' ','')
- break
- }
- if (mb == "") mb = '0'
- if (mbSocNet == "") mbSocNet = '0'
- if (minAllNets == "") minAllNets = '0'
- if (minLife == "") minLife = '0'
- if (smsAllNets == "") smsAllNets = '0'
- if (smsLife == "") smsLife = '0'
- response.UserName = ('M:'+minAllNets+'/'+minLife+
- ' I:'+mb+'/'+mbSocNet+
- ' S:'+smsLife+'/'+smsAllNets+
- ' '+tariffObj.next_trigger).replace('M:0/0','').replace('I:0/0','').replace('S:0/0','').replace(/Безлимит/g,'U').replace(new RegExp(' ', 'g'),' ').replace(new RegExp('U/U', 'g'),'U')
- });
- };
- main();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement