Вверх ↑
Ответов: 1731
Рейтинг: 68
#0: 2016-09-28 19:25:56 ЛС | профиль | цитата
Компонент


Make(webapp)
Add(MultiElementEx,3,371,105)
{
@Color=#507299
@Comment=#7:VK Auth|
}
BEGIN_SDK
Make(webapp)
Add(MultiElementEditor,4,49,35)
{
EventCount=2
WorkCount=2
DataCount=1
VarCount=1
@Width=279
@Height=151
link(doWork1,6:doData,[(74,41)(74,104)])
link(doWork2,5:doWork2,[(142,48)(142,111)])
link(Var1,7:Value,[(55,158)(244,158)])
}
Add(Inline,5,161,98)
{
WorkCount=2
EventCount=2
Code=#28:doWork1: function(settings){|17: let self = this;|38: VK.Auth.getLoginStatus(function(res){|36: if(res.status !== "connected"){|32: VK.Auth.login(function(lres){|34: if(lres.status == "connected")|38: self.onEvent1(lres.session.user);|8: else|32: self.onEvent2(lres.status);|15: },settings);|41: } else self.onEvent1(res.session.user);|4: });|2:},|20:doWork2: function(){|18: VK.Auth.logout();|1:}|
link(onEvent1,7:doValue,[])
link(onEvent2,4:onEvent2,[(287,111)(287,50)(287,48)])
}
Add(DoData,6,98,98)
{
link(onEventData,5:doWork1,[])
link(Data,4:Data1,[(104,67)(55,67)])
}
Add(Memory,7,238,98)
{
link(onData,4:onEvent1,[(299,104)(299,41)])
}
END_SDK

Описание: Авторизация пользователя ВКонтакте
doWork1 = doLogin Авторизовывает пользователя
doWork2 = doLogout Отвязывает пользователя от приложения
Data1 = Permissions Сумма битовых масок разрешений приложения (uint)
Var1 = User Объект содержит авторизованного пользователя
onEvent1 = onSuccess Событие происходит после успешной авторизации пользователя и выдает в поток объект пользователя.
onEvent2 = onError Событие происходит после ошибки авторизации пользователя и выдает в поток объект ошибки.

Иконка

Проверяет авторизовано приложение или нет.
Если да, то вызывает onEvent1 = onSuccess и подает в поток объект пользователя.
Если нет, то пытается авторизовать.
Если пол-тель соглашается, то вызывает onEvent1 = onSuccess и подает в поток объект пользователя.
Если пол-тель отклоняет, то вызывает onEvent2 = onError и подает в поток статус not_authorized.

Поля объекта User:
domain (string) — короткий адрес страницы;
first_name (string) — имя;
href (string) — ссылка на страницу в формате https://vk.com/domain;
id (string) — идентификатор пользователя;
last_name (string) — фамилия;
nickname (string) — отчество или никнейм (если указано).
карма: 1

2
Тип: предложение, Статус: выполнено