my_request.dart 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. import 'dart:convert';
  2. import 'dart:io';
  3. import 'package:bbyyy/beans/android_app_version_bean_entity.dart';
  4. import 'package:bbyyy/beans/home_carousel_bean_entity.dart';
  5. import 'package:bbyyy/beans/store_bean_entity.dart';
  6. import 'package:bbyyy/my_tools/event_bus.dart';
  7. import 'package:bbyyy/my_tools/my_cookie.dart';
  8. import 'package:bbyyy/my_tools/my_tools.dart';
  9. import 'package:bbyyy/my_tools/my_views.dart';
  10. import 'package:dio/dio.dart';
  11. import 'package:flutter/material.dart';
  12. import 'MyDio.dart';
  13. //上传文件
  14. upload(File file, SCallBack sCallBack, FCallBack fCallBack) async {
  15. var s = '/file/upload';
  16. logger.info(MyCookie().getServer() + s);
  17. var name =
  18. file.path.substring(file.path.lastIndexOf("/") + 1, file.path.length);
  19. print(file.path);
  20. FormData formData = new FormData.fromMap({
  21. 'files': await MultipartFile.fromFile(
  22. file.path,
  23. filename: name,
  24. ),
  25. });
  26. print(formData.files.toString());
  27. MyDio().post(s, formData, sCallBack, fCallBack);
  28. }
  29. uploadFiles(List<File> files, SCallBack sCallBack, FCallBack fCallBack) async {
  30. var s = '/file/upload';
  31. logger.info(MyCookie().getServer() + s);
  32. FormData formData = new FormData();
  33. files.forEach((file) async {
  34. var name =
  35. file.path.substring(file.path.lastIndexOf("/") + 1, file.path.length);
  36. print(file.path);
  37. formData.files.add(MapEntry(
  38. "files",
  39. MultipartFile.fromFileSync(file.path, filename: name),
  40. ));
  41. });
  42. MyDio().post(s, formData, sCallBack, fCallBack);
  43. }
  44. //注册
  45. registeredAccountNumber(data, SCallBack sCallBack, FCallBack fCallBack) {
  46. MyDio().post('/model/registerUser', data, sCallBack, fCallBack);
  47. }
  48. //登录账号
  49. loginAccount(data, SCallBack sCallBack, FCallBack fCallBack) {
  50. MyDio().post('/ap/login', data, sCallBack, fCallBack);
  51. }
  52. //检查登录
  53. checkLogin(SCallBack sCallBack, FCallBack fCallBack) {
  54. MyDio().post(
  55. '/ap/checkLogin',
  56. {
  57. '__user__': MyCookie().getUser(),
  58. 'version': MyCookie().packageInfo.version
  59. },
  60. sCallBack,
  61. fCallBack);
  62. }
  63. //发送消息
  64. sendMsg(String type, int receiverUid, String content, SCallBack sCallBack,
  65. FCallBack fCallBack) {
  66. MyDio().post(
  67. '/chat/send',
  68. {
  69. 'type': type,
  70. 'receiver_uid': receiverUid,
  71. 'sender_uid': MyCookie().getUID(),
  72. 'content': content,
  73. },
  74. sCallBack,
  75. fCallBack);
  76. }
  77. //撤回消息
  78. revokeMsg(
  79. String uuid, int receiverUid, SCallBack sCallBack, FCallBack fCallBack) {
  80. MyDio().post(
  81. '/chat/revoke',
  82. {
  83. 'uuid': uuid,
  84. 'receiver_uid': receiverUid,
  85. 'sender_uid': MyCookie().getUID()
  86. },
  87. sCallBack,
  88. fCallBack);
  89. }
  90. //提交申请
  91. submitApplication(StoreBeanDataData data) {
  92. MyDio().save({
  93. 'key': 'shop_user',
  94. 'object': {'user_uid': MyCookie().getUID(), 'shop_uid': data.uid, 'role': 2}
  95. }, (response, hasError) {
  96. if (!hasError) {
  97. showToast('申请已提交');
  98. }
  99. }, (error) {});
  100. }
  101. //重置订单
  102. resetOrder(int orderUID) {
  103. MyDio().post('/pay/cancelPayOrder', {'order_uid': orderUID},
  104. (response, hasError) {}, (error) {});
  105. }
  106. //删除订单
  107. revokePayOrder(int orderUID) {
  108. MyDio().post('/pay/revokePayOrder', {'order_uid': orderUID},
  109. (response, hasError) {}, (error) {});
  110. }
  111. //检查更新
  112. checkForUpdates(BuildContext context, {bool showT = false}) {
  113. //TODO:
  114. MyDio().query({
  115. "key": "android_app",
  116. "dims": ["id", "version", "download", "size", "force"],
  117. "filters": {}
  118. }, (response, hasError) {
  119. if (!hasError) {
  120. AndroidAppVersionBeanEntity entity = AndroidAppVersionBeanEntity()
  121. .fromJson(json.decode(response.data.toString()));
  122. print(
  123. '${entity.data[0].version} -- ${MyCookie().packageInfo.version}=====${'${entity.data[0].version}'.compareTo('${MyCookie().packageInfo.version}')}');
  124. if (entity.data[0].version.compareTo(MyCookie().packageInfo.version) ==
  125. 1) {
  126. updateDialog(entity.data[0], context);
  127. } else {
  128. if (showT) {
  129. showToast('当前已是最新版本');
  130. }
  131. }
  132. }
  133. }, (error) {});
  134. }
  135. //广告定价
  136. advertisingPricing(SCallBack sCallBack) {
  137. MyDio().query({
  138. "key": "ad_pricing",
  139. "dims": ["id", "type", "pricing", "left"],
  140. "filters": {}
  141. }, sCallBack, (error) {});
  142. }
  143. //首页轮播
  144. homeCarousel() {
  145. MyDio().query({
  146. "key": "carousel",
  147. "dims": ["id", "page", "path"],
  148. "filters": {
  149. 'conditions': ['page == 1']
  150. }
  151. }, (response, hasError) {
  152. if (!hasError) {
  153. HomeCarouselBeanEntity entity = HomeCarouselBeanEntity()
  154. .fromJson(json.decode(response.data.toString()));
  155. EventBus().emit('homeCarousel', entity);
  156. }
  157. }, (error) {});
  158. }
  159. //抢优惠券
  160. grabACoupon(int id) {
  161. MyDio().post(
  162. '/model/applyForCoupon',
  163. {'id': id, 'user_uid': MyCookie().getUID()},
  164. (response, hasError) {},
  165. (error) {});
  166. }