Насколько я понимаю, вы ищете что-то вроде этого
- Вы хотите отобразить продукты из wooCommerce с помощью REST API.
- И вы хотите, чтобыбыть сделано во Flutter Dart.
- Авторизация для пользователей.
Самое первое, что нужно сделать, это аутентифицировать пользователя, используя имя пользователя и пароль, чтобы сделать это, мы должны сделатьчто-то вроде этого
Для Auth необходимо установить имя плагина JWT JWT Authentication для WP-API в WordPress
Затем использовать этот URL в Flutter
Future<http.Response> login(String username, String password) async {
final http.Response response = await http.post('https://domina-name/wp-json/jwt-auth/v1/token?username=abc&password=xyz');
print(response);
return response;
}
Эта функция извлекает данные из конечных точек API REST wooCommerce и сохраняет в списке
List<CatService> category;
Future<void> getCategoryData() async {
var res = await http.get(
"https://domain-name/wp-json/wc/v3/products/categories?per_page=100&consumer_key=xxxxxxxxxxxxxxxxxxxxx&consumer_secret=xxxxxxxxxxxxxxx&page=1");
setState(() {
var data = json.decode(res.body);
var list = data as List;
print("List of cat $list");
categoryList =
list.map<CatService>((json) => CatService.fromJson(json)).toList();
category = categoryList
.where((data) => data.count > 0 && data.catName != 'Uncategorized')
.toList();
});
}
Теперь вам следует вызвать этот будущий метод getCategoryData, например,
void initState() {
setState(() {
this.getCategoryData();
});
super.initState();
}
Я создал класс для CatService
class CatService {
int catId;
String catName;
int count;
CatService({this.catId, this.catName,this.count});
factory CatService.fromJson(Map<String, dynamic> json) {
return CatService(catId: json['id'], catName: json['name'],count: json['count']);
}
}
Спасибо, надеюсь, это поможет вам