基础库
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

преди 4 години
12345678910111213141516171819202122232425
  1. import 'package:dio/dio.dart';
  2. class TaobaoLoader {
  3. static Future<List<String>> loadImages(String id) async {
  4. String url =
  5. 'http://h5api.m.taobao.com/h5/mtop.taobao.detail.getdesc/6.0/?api=mtop.taobao.detail.getdesc&appkey=12574478&data={"type":"0","f":"TB1AsvbfnqWBKNjSZFx8qwpLpla","id":"${id.toString()}"}&dataType=json&jsv=2.4.11&sign=e93a97b7e9a9a459297f4e689051c895&t=1538180732308&type=json';
  6. Dio dio = Dio();
  7. Response response = await dio.get(url);
  8. // Logger.debug(response.data.toString());
  9. Map<String, dynamic> json = Map<String, dynamic>.from(response.data);
  10. List list = json['data']['wdescContent']['pages'];
  11. List<String> images = List();
  12. for (var item in list) {
  13. RegExp exp = new RegExp("(?<=<img(.*?)>)(.*?)(?=</img>)");
  14. String image = exp.stringMatch(item.toString());
  15. if (image.startsWith('//')) {
  16. images.add('http:' + image);
  17. } else if (image.startsWith('https://') || image.startsWith('http://')) {
  18. images.add(image);
  19. }
  20. }
  21. return images;
  22. }
  23. }