fix errors 🐛

WORK-DDA
root 2 years ago
parent a6e617e59c
commit b226528042

@ -1,10 +1,17 @@
class Artist {
String _id;
String _name;
String? _name;
String? _image;
Artist(this._id, this._name);
Artist(this._id, this._name, this._image);
String get id => _id;
String? get id => _id;
String get name => _name;
String? get name => _name;
String? get image => _image;
set image(String? value) {
_image = value;
}
}

@ -2,10 +2,10 @@ import 'Artist.dart';
class Music {
final String _id;
String _title;
String _cover;
String _previewUrl;
DateTime _date;
String? _title;
String? _cover;
String? _previewUrl;
DateTime? _date;
List<Artist> _artists;
// Constructor
@ -13,29 +13,29 @@ class Music {
this._artists);
//Getters and setters
String get id => _id;
String? get id => _id;
String get title => _title;
String? get title => _title;
set title(String value) {
set title(String? value) {
_title = value;
}
String get cover => _cover;
String? get cover => _cover;
set cover(String value) {
set cover(String? value) {
_cover = value;
}
String get previewUrl => _previewUrl;
String? get previewUrl => _previewUrl;
set previewUrl(String value) {
set previewUrl(String? value) {
_previewUrl = value;
}
DateTime get date => _date;
DateTime? get date => _date;
set date(DateTime value) {
set date(DateTime? value) {
_date = value;
}

@ -24,7 +24,7 @@ class MusicViewModel {
final responseData = jsonDecode(response.body);
List<Artist> artists =
List<Artist>.from(responseData['artists'].map((artist) {
return Artist(artist['id'], artist['name']);
return Artist(artist['id'], artist['name'],'');
}));
return Music(
@ -46,7 +46,7 @@ class MusicViewModel {
List<dynamic> tracks = responseData['tracks']['items'];
for (var track in tracks) {
List<Artist> artists = List<Artist>.from(track['artists'].map((artist) {
return Artist(artist['id'], artist['name']);
return Artist(artist['id'], artist['name'],'');
}));
musics.add(Music(
@ -61,10 +61,10 @@ class MusicViewModel {
return musics;
}
Future<List<Music>> getMusicsWithName(String name, {int limit = 20, int offset = 1}) async {
Future<List<Music>> getMusicsWithName(String name, {int limit = 20, int offset = 0, String market = "FR"}) async {
var accessToken = await _token.getAccessToken();
var response = await http
.get(Uri.parse('$API_URL/search?q=track%3A$name&type=track&limit=$limit&offset=$offset'), headers: {
.get(Uri.parse('$API_URL/search?q=track%3A$name&type=track&market=fr&limit=$limit&offset=$offset'), headers: {
'Authorization': 'Bearer $accessToken',
});
@ -77,10 +77,10 @@ class MusicViewModel {
}
}
Future<List<Music>> getMusicsWithArtistName(String name, {int limit = 20, int offset = 1}) async {
Future<List<Music>> getMusicsWithArtistName(String name, {int limit = 20, int offset = 0, String market = "FR"}) async {
var accessToken = await _token.getAccessToken();
var response = await http.get(
Uri.parse('$API_URL/search?q=artist%3A$name&type=track&limit=$limit&offset=$offset'),
Uri.parse('$API_URL/search?q=artist%3A$name&type=track&market=fr&limit=$limit&offset=$offset'),
headers: {
'Authorization': 'Bearer $accessToken',
});

@ -8,7 +8,7 @@ class TokenSpotify {
late DateTime _tokenEnd;
TokenSpotify() {
_tokenEnd = DateTime.now().add(Duration(seconds: -1));
_tokenEnd = DateTime.now().add(Duration(seconds: -10));
}
Future<String> getAccessToken() async {

@ -5,31 +5,32 @@ import 'package:justmusic/view_model/MusicViewModel.dart';
Future<void> main() async {
MusicViewModel musicVM = new MusicViewModel();
Music m = await musicVM.getMusic('295SxdR1DqunCNwd0U767w');
print("id :" + m.id.toString() + " cover :" + m.cover + " title :" + m.title);
print(m.date.toString() + " " + m.previewUrl);
print("id : ${m.id.toString()}, cover : ${m.cover}, title : ${m.title}");
print("date : ${m.date.toString()}, preview : ${m.previewUrl}");
for (Artist a in m.artists) {
print(a.id + ":" + a.name);
print("id : ${a.id}, name : ${a.name}");
}
print('\nMusics :');
List<Music> musics = await musicVM.getMusicsWithName('Onizuka');
List<Music> musics = await musicVM.getMusicsWithName('Shavkat');
for (Music m in musics) {
print("id :" + m.id.toString() + " cover :" + m.cover + " title :" + m.title);
print(m.date.toString() + " " + m.previewUrl);
print("id : ${m.id.toString()}, cover : ${m.cover}, title : ${m.title}");
print("date : ${m.date.toString()}, preview : ${m.previewUrl}");
for (Artist a in m.artists) {
print(a.id + ":" + a.name);
print("id : ${a.id}, name : ${a.name}");
}
}
print('\nMusics With Artist:');
List<Music> musics2 = await musicVM.getMusicsWithArtistName('PNL');
List<Music> musics2 = await musicVM.getMusicsWithArtistName('jul');
for (Music m in musics2) {
print("id :" + m.id.toString() + " cover :" + m.cover + " title :" + m.title);
print(m.date.toString() + " " + m.previewUrl);
print("id : ${m.id.toString()}, cover : ${m.cover}, title : ${m.title}");
print("date : ${m.date.toString()}, preview : ${m.previewUrl}");
for (Artist a in m.artists) {
print(a.id + ":" + a.name);
print("id : ${a.id}, name : ${a.name}");
}
}
}

Loading…
Cancel
Save