upload_img_provider.dart 2.57 KB
import 'package:flutter/material.dart';
import 'package:one_key/constant/constant.dart';
import 'package:one_key/models/qiniu_info_model.dart';
import 'package:one_key/models/upload_img_model.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/utils/utils.dart';

// class UploadImageStore extends UploadImageProvider{

// }

class UploadImageProvider extends ChangeNotifier {
  List<UploadImgModel> imageList = []; //图片信息列表
  List<String> imageQiniuUrlList = []; //七牛云地址列表
  QiniuInfoSunModel qiniuInfoSunModel;
  UploadImgModel touxiang = UploadImgModel(); //头像
  UploadImgModel erweima = UploadImgModel(); //二维码
  UploadImgModel mentou = UploadImgModel(); //店铺信息----门头照片
  UploadImgModel dish = UploadImgModel(); //菜品
  double imgSizeTouxiang = 76;
  double imgSizeErweima = 22;
  double imgSizeMenTou = 64;
  List<UploadImgModel> imageListDenvironment = []; //环境信息列表
  List<UploadImgModel> imageListFront = []; //门头信息列表
  List<UploadImgModel> tableImageList = []; //桌子管理图片信息列表
  List<UploadImgModel> feastRemarkImageList = []; //宴会备注图片信息列表
  // List<UploadImgModel> feastRemarkXtImageList = []; //宴会备注图片信息列表----选台
  List<UploadImgModel> feastRemarkDjImageList = []; //宴会备注图片信息列表----定金
  List<UploadImgModel> feastRemarkContractImageList = []; //宴会备注图片信息列表----合同
  List<UploadImgModel> feastRemarkInvoiceImageList = []; //宴会备注图片信息列表----发票
  List<UploadImgModel> wineImageList = []; //新建存酒
  int countUpload = 0;
  UploadImageProvider() {
    touxiang.process = 0.01;
    erweima.process = 0.01;
    dish.process = 0.01;
  }

  /// 获取七牛上传token信息
  Future<QiniuInfoSunModel> getQiniuInfo(
      BuildContext context, Map<String, String> params,
      {isShowLoading = true}) async {
    BaseResp<Map<String, dynamic>> baseResp = await DioUtil()
        .request<Map<String, dynamic>>(
            context, Method.get, HttpUrl.get_qiniu_info,
            data: params, showLoading: false)
        .catchError((error) {});
    if (baseResp.code == Constant.status_success) {
      if (baseResp.data.isEmpty) {
      } else {
        //解析解析
        qiniuInfoSunModel = QiniuInfoModel.fromJson(baseResp.responseData).data;
        return qiniuInfoSunModel;
      }
    } else {
      if (baseResp != null) {
        Utils.showToast(baseResp.msg ?? "");
      }
    }
  }
}