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; } }