2026-04-16 16:11:09 +08:00
|
|
|
import 'package:dio/dio.dart';
|
|
|
|
|
|
2026-04-28 17:19:08 +08:00
|
|
|
import '../models/ledger_item.dart';
|
2026-04-16 16:11:09 +08:00
|
|
|
import '../models/package_info.dart';
|
|
|
|
|
|
|
|
|
|
class PointsApi {
|
|
|
|
|
const PointsApi(this._dio);
|
|
|
|
|
|
|
|
|
|
final Dio _dio;
|
|
|
|
|
|
|
|
|
|
Future<PackagesResult> getPackages() async {
|
|
|
|
|
final response = await _dio.get('/api/v1/points/packages');
|
|
|
|
|
return PackagesResult.fromJson(response.data as Map<String, dynamic>);
|
|
|
|
|
}
|
2026-04-28 17:19:08 +08:00
|
|
|
|
|
|
|
|
Future<LedgerListResult> getLedger({
|
|
|
|
|
int limit = 20,
|
|
|
|
|
String? cursor,
|
|
|
|
|
}) async {
|
|
|
|
|
final query = <String, dynamic>{'limit': limit};
|
|
|
|
|
if (cursor != null) {
|
|
|
|
|
query['cursor'] = cursor;
|
|
|
|
|
}
|
|
|
|
|
final response = await _dio.get(
|
|
|
|
|
'/api/v1/points/ledger',
|
|
|
|
|
queryParameters: query,
|
|
|
|
|
);
|
|
|
|
|
return LedgerListResult.fromJson(response.data as Map<String, dynamic>);
|
|
|
|
|
}
|
2026-04-16 16:11:09 +08:00
|
|
|
}
|