- 在首页添加 Wakatime 卡片和相关功能 - 在设置页面添加 Wakatime API Token 配置 - 更新 auth_service 以支持 Wakatime 认证 - 添加 fl_chart 依赖用于 Wakatime 数据图表展示 - 更新 flutter_lints 版本到 2.0.0
28 lines
749 B
Dart
28 lines
749 B
Dart
import 'dart:convert';
|
|
import 'package:http/http.dart' as http;
|
|
import '../models/wakatime_summary.dart';
|
|
|
|
class WakatimeService {
|
|
static const String baseUrl = 'https://wakatime.com/api/v1';
|
|
|
|
Future<WakatimeSummary> getSummary(
|
|
String token,
|
|
String startDate,
|
|
String endDate,
|
|
) async {
|
|
final url = Uri.parse(
|
|
'$baseUrl/users/current/summaries?start=$startDate&end=$endDate',
|
|
);
|
|
final response = await http.get(
|
|
url,
|
|
headers: {'Authorization': 'Basic ${base64Encode(utf8.encode(token))}'},
|
|
);
|
|
|
|
if (response.statusCode == 200) {
|
|
return WakatimeSummary.fromJson(json.decode(response.body));
|
|
} else {
|
|
throw Exception('Failed to load summary: ${response.statusCode}');
|
|
}
|
|
}
|
|
}
|