#
whycq
2025-03-03 6a90c5bde0facc8330ce4c7c7d89292717b7ac65
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
import 'dart:convert';
import 'package:crypto/crypto.dart';
import 'package:dio/dio.dart';
import 'package:shared_preferences/shared_preferences.dart';
 
import 'dio_config.dart';
 
class opts {
  static String token = '';
  /// 登录地址
  static String login = '/login.action';
  /// 物料地址
  static String matAuth = '/mat/auth';
  /// 分类地址
  static String tagList = '/tag/list/pda/auth';
  /// 物料地址
  static String matList = '/mat/list/pda/page/auth';
  /// 组托地址
  static String mobileComb = '/mobile/comb/auth';
  /// 入库订单地址
  static String orderDetlsPage = '/order/detls/pakin/page/auth';
}
 
class ApiService {
  /// 登录接口
  static login(value, pwd) async {
    var response = await DioRequest.getInstance();
    var result = await response.dio.get(opts.login, queryParameters: {
      'username': value,
      'password': md5.convert(utf8.encode(pwd)).toString()
    });
    var data = result.data;
    print('p:' + data.toString());
    if (data['code'] == 200) {
      final prefs = await SharedPreferences.getInstance();
      await prefs.setString('token', data['data']['token']);
      opts.token = data['data']['token'];
    }
    return data;
  }
 
  /// 物料接口
  static matAuth(matnr) async {
    var response = await DioRequest.getInstance();
    var result = await response.dio.get(opts.matAuth, queryParameters: {
      'matnr': matnr,
    }, options: Options(headers: {'token': '${opts.token}'}));
    var data = result.data;
    return data;
  }
 
  /// 分类列表
  static tagList(parentId) async {
    var response = await DioRequest.getInstance();
    var result = await response.dio.get(opts.tagList, queryParameters: {
      'limit': 100000,
      'parentId': parentId
    }, options: Options(headers: {'token': '${opts.token}'}));
    var data = result.data;
    return data;
  }
 
  /// 物料列表
  static matList(tagId) async {
    var response = await DioRequest.getInstance();
    var result = await response.dio.get(opts.matList, queryParameters: {
      'limit': 10,
      'tagId': tagId
    }, options: Options(headers: {'token': '${opts.token}'}));
    var data = result.data;
    return data;
  }
 
  /// 无订单组托
  static mobileComb(barcode, combMats) async {
    var response = await DioRequest.getInstance();
    var result = await response.dio.post(opts.mobileComb, data: jsonEncode({
    'barcode': barcode,
    'combMats': combMats,
    }), options: Options(
        headers: {
          'token': '${opts.token}',
          'Content-Type': 'application/json' // json 提交
        })
    );
    var data = result.data;
    return data;
  }
 
  /// 入库订单列表
  static orderDetlsPage(curr,{int limit = 500}) async {
    var response = await DioRequest.getInstance();
    var result = await response.dio.get(opts.orderDetlsPage, queryParameters: {
      'curr': curr,
      'limit': limit,
      'three_code': '',
      'matnr': '',
      'maktx': '',
      'order_no': '',
      'brand': '',
    }, options: Options(headers: {'token': '${opts.token}'}));
    var data = result.data;
    return data;
  }
 
 
}