my_model.dart 1.77 KB
import 'package:flutter/material.dart';
import 'package:one_key/constant/constant.dart';
import 'package:one_key/constant/error.dart';
import 'package:one_key/models/sms_info.dart';
import 'package:one_key/net/base_resp.dart';
import 'package:one_key/net/dio_util.dart';
import 'package:one_key/net/http_url.dart';
import 'package:one_key/provider/SmsModel.dart';
import 'package:one_key/provider/user_model.dart';
import 'package:one_key/utils/utils.dart';
import 'package:provider/provider.dart';

class MyModel extends ChangeNotifier {
  String smsInfo = '';

  /// 短信余量查询及套餐查询接口
  Future<SmsInfoData> getSmsInfo(BuildContext context) async {
    UserModel userModel = Provider.of<UserModel>(context, listen: false);
    Map<String, String> params = {"seller_id": userModel.user.sellerid};
    try {
      BaseResp<Map<String, dynamic>> baseResp = await DioUtil()
          .request<Map<String, dynamic>>(context, Method.get, HttpUrl.sms_info,
              data: params, showLoading: false)
          .catchError((error) {
        print(error.toString());
      });
      SmsInfoData data;
      if (baseResp?.code == Constant.status_success) {
        SmsInfo smsInfo = SmsInfo.fromJson(baseResp.responseData);
        if (smsInfo.ret == 200) {
          data = smsInfo.data;
        } else {
          Utils.showToast(smsInfo.msg);
        }
      } else {
        print('查询失败');
      }
      smsInfo = data.lastNum;
      notifyListeners();
      return data;
    } catch (error) {
      if (error is MyError) {
        switch (error.type) {
          case 1:
            print('错误');
            break;
          case 2:
            print('超时');
            break;
          default:
            print('错误');
            break;
        }
      }
    }
  }
}