import 'dart:convert'; import 'dart:io'; import 'package:bbyyy/beans/android_app_version_bean_entity.dart'; import 'package:bbyyy/beans/home_carousel_bean_entity.dart'; import 'package:bbyyy/beans/my_shop_bean_entity.dart'; import 'package:bbyyy/beans/smart_order_bean_entity.dart'; import 'package:bbyyy/beans/store_bean_entity.dart'; import 'package:bbyyy/my_tools/const.dart'; import 'package:bbyyy/my_tools/dims.dart'; import 'package:bbyyy/my_tools/event_bus.dart'; import 'package:bbyyy/my_tools/my_cookie.dart'; import 'package:bbyyy/my_tools/my_tools.dart'; import 'package:bbyyy/my_tools/my_views.dart'; import 'package:dio/dio.dart'; import 'package:flutter/material.dart'; import 'MyDio.dart'; //上传文件 upload(File file, SCallBack sCallBack, FCallBack fCallBack) async { var s = '/file/upload'; logger.info(MyCookie().getServer() + s); var name = file.path.substring(file.path.lastIndexOf("/") + 1, file.path.length); print(file.path); FormData formData = new FormData.fromMap({ 'files': await MultipartFile.fromFile( file.path, filename: name, ), }); print(formData.files.toString()); MyDio().post(s, formData, sCallBack, fCallBack); } uploadFiles(List files, SCallBack sCallBack, FCallBack fCallBack) async { var s = '/file/upload'; logger.info(MyCookie().getServer() + s); FormData formData = new FormData(); files.forEach((file) async { var name = file.path.substring(file.path.lastIndexOf("/") + 1, file.path.length); print(file.path); formData.files.add(MapEntry( "files", MultipartFile.fromFileSync(file.path, filename: name), )); }); MyDio().post(s, formData, sCallBack, fCallBack); } //注册 registeredAccountNumber(data, SCallBack sCallBack, FCallBack fCallBack) { MyDio().post('/model/registerUser', data, sCallBack, fCallBack); } //登录账号 loginAccount(data, SCallBack sCallBack, FCallBack fCallBack) { MyDio().post('/ap/login', data, sCallBack, fCallBack); } //检查登录 checkLogin(SCallBack sCallBack, FCallBack fCallBack) { MyDio().post( '/ap/checkLogin', { '__user__': MyCookie().getUser(), 'version': MyCookie().packageInfo.version, 'phone': Platform.isAndroid ? 'Android' : 'IOS', 'seq': int.parse(MyCookie().prefs.getString('serverID')) }, sCallBack, fCallBack); } //发送消息 sendMsg(String type, int receiverUid, String content, SCallBack sCallBack, FCallBack fCallBack) { MyDio().post( '/chat/send', { 'type': type, 'receiver_uid': receiverUid, 'sender_uid': MyCookie().getUID(), 'content': content, }, sCallBack, fCallBack); } //撤回消息 revokeMsg( String uuid, int receiverUid, SCallBack sCallBack, FCallBack fCallBack) { MyDio().post( '/chat/revoke', { 'uuid': uuid, 'receiver_uid': receiverUid, 'sender_uid': MyCookie().getUID() }, sCallBack, fCallBack); } //提交申请 submitApplication(StoreBeanDataData data) { MyDio().save({ 'key': 'shop_user', 'object': {'user_uid': MyCookie().getUID(), 'shop_uid': data.uid, 'role': 2} }, (response, hasError) { if (!hasError) { showToast('申请已提交'); } }, (error) {}); } //重置订单 resetOrder(int orderUID) { MyDio().post('/pay/cancelPayOrder', {'order_uid': orderUID}, (response, hasError) {}, (error) {}); } //删除订单 revokePayOrder(int orderUID) { MyDio().post('/pay/revokePayOrder', {'order_uid': orderUID}, (response, hasError) {}, (error) {}); } //检查更新 checkForUpdates(BuildContext context, {bool showT = false}) { //TODO: MyDio().query({ "key": "android_app", "dims": ["id", "version", "download", "size", "force"], "filters": {} }, (response, hasError) { if (!hasError) { AndroidAppVersionBeanEntity entity = AndroidAppVersionBeanEntity() .fromJson(json.decode(response.data.toString())); print( '${entity.data[0].version} -- ${MyCookie().packageInfo.version}=====${'${entity.data[0].version}'.compareTo('${MyCookie().packageInfo.version}')}'); if (entity.data[0].version.compareTo(MyCookie().packageInfo.version) == 1) { updateDialog(entity.data[0], context); } else { if (showT) { showToast('当前已是最新版本'); } } } }, (error) {}); } //广告定价 advertisingPricing(SCallBack sCallBack) { MyDio().query({ "key": "ad_pricing", "dims": ["id", "type", "pricing", "left"], "filters": {} }, sCallBack, (error) {}); } //首页轮播 homeCarousel() { MyDio().query({ "key": "carousel", "dims": ["id", "page", "path"], "filters": { 'conditions': ['page == 1'] } }, (response, hasError) { if (!hasError) { HomeCarouselBeanEntity entity = HomeCarouselBeanEntity() .fromJson(json.decode(response.data.toString())); EventBus().emit('homeCarousel', entity); } }, (error) {}); } //抢优惠券 grabACoupon(int id) { MyDio().post( '/model/applyForCoupon', {'id': id, 'user_uid': MyCookie().getUID()}, (response, hasError) {}, (error) {}); } //查询第三方未付订单 void checkUnpaidThirdPartyOrders() { var dJson; var conditions1 = [ "role!=$shopUserOwner", "user_uid==${MyCookie().getUID()}", "review_state==1" ]; var conditions2 = [ "role==$shopUserOwner", "user_uid==${MyCookie().getUID()}" ]; conditions1.add('private_shop==true'); dJson = { "key": "shop_user", "filters": { "or": true, "conditions": conditions1, "filters": [ {"conditions": conditions2} ] }, "dims": shopUserDims, "paging": [1, 1000], "order_by": ["shop_name,DESC"] }; MyDio().query(dJson, (response, hasError) { if (!hasError) { MyShopBeanEntity entity = MyShopBeanEntity().fromJson(json.decode(response.data.toString())); List myShopUIDs = []; entity.data.data.forEach((element) { myShopUIDs.add(element.shopUid); }); if(myShopUIDs.length==0){ return; } MyDio().query({ "key": "order", "filters": { "or": true, "conditions": [ "state == $orderStateUnpaid", 'buyer_uid==0', 'buyer_name LIKE ${MyCookie().getName()}', 'shop_uid IN $myShopUIDs' ], "filters": [ { "conditions": [ "state == $orderStateUnpaid", 'buyer_uid==${MyCookie().getUID()}' ] } ] }, "dims": orderDims, "paging": [1, 20], "order_by": ["create_time,DESC"] }, (response, hasError) { if (!hasError) { SmartOrderBeanEntity entity = SmartOrderBeanEntity() .fromJson(json.decode(response.data.toString())); MyCookie().haveNoPay = entity.data.data.isNotEmpty; EventBus().emit('hasNoPay'); } }, (error) {}); } }, (error) {}); }