Skip to content

Commit 2f2cf6e

Browse files
committed
добавлена документация для большинства методов
1 parent 4354c15 commit 2f2cf6e

File tree

6 files changed

+99
-1
lines changed

6 files changed

+99
-1
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ generator_methods
99
# https://dart.dev/guides/libraries/private-files#pubspeclock.
1010
pubspec.lock
1111
.env
12+
test.dart

lib/src/api.dart

+81
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ import 'methods/video.dart';
4343
import 'methods/wall.dart';
4444
import 'methods/widgets.dart';
4545

46+
/// Перечисление языков поддерживаемых VK API
4647
enum LangApi {
4748
/// Русский
4849
ru,
@@ -66,6 +67,7 @@ enum LangApi {
6667
it
6768
}
6869

70+
/// Класс для взаимодействия с Vk API
6971
class Api {
7072
static const _baseUrl = 'https://api.vk.com/method/';
7173
static final _dio = Dio();
@@ -127,45 +129,124 @@ class Api {
127129
return data;
128130
}
129131

132+
/// Методы для работы с аккаунтом.
130133
Account get account => Account(this);
134+
135+
/// Рекламный API позволяет автоматизировать работу с рекламными возможностями ВКонтакте и эффективно реализовать специфичные для вашего бизнеса рекламные кампании.
131136
Ads get abs => Ads(this);
132137
Adsweb get absweb => Adsweb(this);
138+
139+
/// Методы для работы с приложениями.
133140
Apps get apps => Apps(this);
141+
142+
/// Список методов секции appWidgets
134143
AppWidgets get appWidgets => AppWidgets(this);
144+
145+
/// Методы для работы с авторизацией.
135146
Auth get auth => Auth(this);
147+
148+
/// Методы для работы с обсуждениями.
136149
Board get board => Board(this);
150+
151+
/// Методы этой секции предоставляют доступ к базе данных учебных заведений ВКонтакте. Доступ к данным является бесплатным и не требует авторизации, однако количество запросов с одного IP адреса может быть ограничено, при необходимости делать большое количество запросов рекомендуется выполнять запросы с клиентской стороны, используя JSONP.
137152
Database get database => Database(this);
153+
154+
/// Методы для работы с документами.
138155
Docs get docs => Docs(this);
156+
157+
/// Методы для работы с VK Donut.
139158
Donut get donut => Donut(this);
140159
DownloadedGames get downloadedGames => DownloadedGames(this);
160+
161+
/// Методы для работы с закладками.
141162
Fave get fave => Fave(this);
163+
164+
/// Методы для работы с друзьями.
142165
Friends get friends => Friends(this);
166+
167+
/// Методы для работы с подарками.
143168
Gifts get gifts => Gifts(this);
169+
170+
/// Методы для работы с сообществами.
144171
Groups get groups => Groups(this);
172+
173+
/// Формы сбора заявок
174+
/// Подойдут для записи клиентов, предварительной регистрации, подписки на рассылки, запросов информации, подключения услуг, оформления заказов и многого другого.
175+
/// Вы создаете формы с заявками, а пользователи оставляют свою контактную информацию. Вам остается завершить оформление заявки, связавшись с ними удобным способом.
145176
LeadForms get leadForms => LeadForms(this);
177+
178+
/// Методы для работы с отметками «Мне нравится».
146179
Likes get likes => Likes(this);
180+
181+
/// Методы market позволяют работать с товарами в сообществах.
147182
Market get market => Market(this);
183+
184+
/// Методы для работы с личными сообщениями.
185+
/// Для моментального получения входящих сообщений используйте LongPoll сервер.
186+
/// Обратите внимание: доступ к работе с методами секции с ключом пользователя ограничен.
187+
/// Информация об ограничении Messages API находится в Roadmap.
188+
/// Обратите внимание: методы для работы со звонками были перенесены в новую секцию calls. Старые методы звонков из секции messages были помечены устаревшими и могут быть удалены в будущих версиях API.
148189
Messages get messages => Messages(this);
190+
191+
/// Методы для работы с новостной лентой пользователя.
149192
Newsfeed get newsfeed => Newsfeed(this);
193+
194+
/// Методы для работы с заметками.
150195
Notes get notes => Notes(this);
151196
Notifications get notifications => Notifications(this);
197+
198+
/// Методы этой секции предоставляют дополнительную возможность управления состоянием заказов, которые были сделаны пользователями в приложениях.
152199
Orders get orders => Orders(this);
200+
201+
/// Методы для работы с вики-страницами.
153202
Pages get pages => Pages(this);
203+
204+
/// Методы для работы с фотографиями.
154205
Photos get photos => Photos(this);
206+
207+
/// Методы для работы с подкастами.
155208
Podcasts get podcasts => Podcasts(this);
209+
210+
/// Методы для работы с опросами.
156211
Polls get polls => Polls(this);
212+
213+
/// Карусель
214+
/// Карусель — набор карточек, которые прикрепляются к записи. К каждой карточке можно добавить название и короткое описание, изображение, кнопку. Также можно установить две цены — старую и новую — например, чтобы показать скидку.
215+
/// На текущий момент карусель поддерживается только в скрытых рекламных записях (см. wall.postAdsStealth).
157216
PrettyCards get prettyCards => PrettyCards(this);
217+
218+
/// Методы для работы с поиском.
158219
Search get search => Search(this);
220+
221+
/// В этой секции представлены административные методы, предназначенные для вызова от имени приложения с использованием стороннего сервера. Для использования этих методов необходимо применять сервисный ключ из настроек приложения.
159222
Secure get secure => Secure(this);
223+
224+
/// Методы для работы со статистикой.
160225
Stats get stats => Stats(this);
226+
227+
/// Методы для работы со статусом.
161228
Status get status => Status(this);
229+
230+
/// Методы для работы с переменными в приложении.
162231
Storage get storage => Storage(this);
232+
233+
///
163234
Store get store => Store(this);
164235
Stories get stories => Stories(this);
165236
Streaming get streaming => Streaming(this);
237+
238+
/// Методы для работы с данными пользователей.
166239
Users get users => Users(this);
240+
241+
/// Служебные методы.
167242
Utils get utils => Utils(this);
243+
244+
/// Методы для работы с видеозаписями.
168245
Video get video => Video(this);
246+
247+
/// Методы для работы с записями на стене.
169248
Wall get wall => Wall(this);
249+
250+
/// Методы для работы с виджетами на внешних сайтах.
170251
Widgets get widgets => Widgets(this);
171252
}

lib/src/events/group_logpoll.dart

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import 'package:dio/dio.dart';
44
import 'package:vkdart/src/api.dart';
55
import 'package:vkdart/src/events/longpoll.dart';
66

7+
/// Класс для работы с событиями сообщества VK
78
class GroupLogpoll implements Longpoll {
89
final _dio = Dio();
910
final Api _api;

lib/src/events/longpoll.dart

+1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
/// Абстрактный класс LongPoll
12
abstract class Longpoll {
23
/// Возвращает события LongPoll API экзепляром класса [Stream]
34
/// ```dart

lib/src/events/user_longpoll.dart

+4-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import 'package:dio/dio.dart';
44
import 'package:vkdart/src/events/longpoll.dart';
55
import 'package:vkdart/vkdart.dart';
66

7+
/// Класс для работы с событиями пользователя VK
78
class UserLongpoll implements Longpoll {
89
final Api _api;
910
final _dio = Dio();
@@ -15,7 +16,9 @@ class UserLongpoll implements Longpoll {
1516

1617
final _updatesController = StreamController<List>();
1718

18-
UserLongpoll(this._api);
19+
/// Конструктор класса UserLongpoll
20+
/// В [api] экземпляр [API]
21+
UserLongpoll(Api api) : _api = api;
1922

2023
@override
2124
bool get isStart => _isStart;

lib/src/exceptions/api_exception.dart

+11
Original file line numberDiff line numberDiff line change
@@ -2,34 +2,45 @@ import 'package:json_annotation/json_annotation.dart';
22

33
part 'api_exception.g.dart';
44

5+
/// Класс предназначенный для ошибок связанных с API VK
56
@JsonSerializable(fieldRename: FieldRename.snake, explicitToJson: true)
67
class ApiException implements Exception {
8+
/// Код ошибки
79
@JsonKey(name: 'error_code')
810
final int code;
911

12+
/// Сообщение ошибки
1013
@JsonKey(name: 'error_msg')
1114
final String message;
1215

16+
/// Параметры запроса
1317
final List<RequestParams> requestParams;
1418

19+
/// Конструктор класса [ApiException]
1520
ApiException({
1621
required this.code,
1722
required this.message,
1823
required this.requestParams,
1924
});
2025

26+
/// Преобразует JSON в экземпляр класса
2127
factory ApiException.fromJson(Map<String, dynamic> json) =>
2228
_$ApiExceptionFromJson(json);
2329

30+
/// Преобразует экземпляр в JSON
2431
Map<String, dynamic> toJson() => _$ApiExceptionToJson(this);
2532

2633
@override
2734
String toString() => 'ApiException[$code]: $message';
2835
}
2936

37+
/// Интерфейс request_params
3038
@JsonSerializable()
3139
class RequestParams {
40+
/// Key
3241
final String key;
42+
43+
/// Value
3344
final Object value;
3445

3546
RequestParams({required this.key, required this.value});

0 commit comments

Comments
 (0)