Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- vkUser = {};
- APP_CLIENT_ID = '2692017';
- APP_CLIENT_SECRET = 'rqIkXYBauPjqE2EVxB2j';
- APP_SCOPE = 'notify,friends,photos,audio,video,docs,notes,wall,groups,messages,notifications,activity,status,pages,stats';
- APP_API_VERSION = '5.3';
- function showCaptcha(url, sid, cb, params) {
- var img = g('captcha-image');
- img.src = url;
- img.onload = function () {
- var wrapper = g('captcha-wrapper');
- var field = g('captcha-key');
- wrapper.classList.remove('hidden');
- field.focus();
- g('captcha-form').onsubmit = function () {
- params.captcha_key = val(field);
- params.captcha_sid = sid;
- wrapper.classList.add('hidden');
- this.reset();
- cb(params);
- return false;
- }
- }
- }
- function rawApi(method, cb, data) {
- if (isObject(data)) {
- data = QueryString.stringify(data);
- }
- var xhr = new CrossXHR;
- xhr.open('POST', 'https://api.vk.com/method/' + method);
- xhr.onreadystatechange = function() {
- if (xhr.readyState == 4) {
- if (xhr.status == 200) {
- cb();
- }
- }
- }
- xhr.send(data);
- }
- function api(method, cb, data) {
- data = data || {};
- if (data instanceof FormData) {
- data.append('v', APP_API_VERSION);
- data.append('access_token', vkUser.access_token);
- }
- else {
- data.v = APP_API_VERSION;
- data.access_token = vkUser.access_token;
- }
- }
- function login(params) {
- console.log(params);
- var xhr = new XMLHttpRequest;
- xhr.open('GET', 'ajax/vk_login.php?' + QueryString.stringify(params));
- xhr.onload = function () {
- if (xhr.status == 200) {
- r = JSON.parse(xhr.responseText);
- console.log(r);
- if (r.error) {
- if (r.error == 'need_captcha') {
- showCaptcha(r.captcha_img, r.captcha_sid, login, params);
- }
- else {
- alert('Error ' + r.error + ': ' + r.error_description);
- }
- }
- else {
- vkUser.access_token = r.access_token;
- vkUser.user_id = r.user_id;
- // тут получаем еще данные
- }
- }
- }
- xhr.send();
- }
- addEventListener('load', function () {
- if (localStorage.vkUser) {
- vkUser = JSON.parse(localStorage.vkUser);
- g('main-screen').classList.remove('hidden');
- // обновить информацию об пользователе
- }
- else {
- g('login-screen').classList.remove('hidden');
- }
- g('login-form').onsubmit = function () {
- var params = {
- username: val(this.login),
- password: val(this.password),
- grant_type: 'password',
- client_id: APP_CLIENT_ID,
- client_secret: APP_CLIENT_SECRET,
- scope: APP_SCOPE,
- v: APP_API_VERSION
- };
- login(params);
- return false;
- }
- });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement