当前位置: 首页 > news >正文

微信网站 微信支付手机小程序开发教程

微信网站 微信支付,手机小程序开发教程,网站开发后端待遇,自己做网站费用问题描述 问题1#xff1a;当你使用FormData.from(Flutter3直接不能用)的时候#xff0c;可能会提示没有这个方法#xff0c;或者使用FormData.fromMap(flutter3的dio支持)的时候也提示没有#xff0c;这时候可能就是和get库里面的Formdata冲突了 问题1#xff1a;The me…问题描述 问题1当你使用FormData.from(Flutter3直接不能用)的时候可能会提示没有这个方法或者使用FormData.fromMap(flutter3的dio支持)的时候也提示没有这时候可能就是和get库里面的Formdata冲突了 问题1The method fromMap isnt defined for the type FormData. (Documentation)  Try correcting the name to the name of an existing method, or defining a method named fromMap 解决办法有可能是库冲突了因为get和dio库里面都有FormData导致的使用别名更换一下 The method from isnt defined for the type FormData. (Documentation)  Try correcting the name to the name of an existing method, or defining a method named from  解决办法更换使用 FormData.fromMap 这个方法 FormData.fromMap({}) 然后你点击进去这个库的源代码看一下发现确实没有from或者fromMap方法而且会默认跳转到get库里面的FormData怎么回事我们应该使用的是dio库里面的啊 这个时候就应该意识到是库冲突了所以单独引入dio库 这个时候就会报另外一个问题 The name FormData is defined in the libraries package:dio/src/form_data.dart (via package:dio/dio.dart) and package:get/get_connect/http/src/multipart/form_data.dart. (Documentation)  Try using as prefix for one of the import directives, or hiding the name from all but one of the imports.  解决办法 意思是这个get库和dio库里面都有这个FormData所以需要使用别名指定一下  import package:dio/dio.dart as dio_package;然后使用这个前缀来引用 MapString, String data {cardno: system.nfcId.toString(),gender: system.gender.toString(),username: system.nickName.toString(),headpicurl: system.avatar.toString()};dio_package.FormData formData dio_package.FormData.fromMap(data); 然后在使用dio发送请求的时候直接使用post然后把data放进去就好了因为dio底层做了判断是不是FormData是的话默认会加上contentType var result await Request().request(/v1/server/nfcadduser, method: DioMethod.post, data: data);// 返回数据// print(getDetail:$result);return result; dio底层做的判断  然后服务器就可以接收到这个数据了 封装好的Dio对象 我这里封装了一个Request对象 import package:dio/dio.dart; import package:flutter_windows/utils/storeage.dart;/// 请求方法:枚举类型 enum DioMethod {get,post,put,delete,patch,head, }// 创建请求类封装dio class Request {/// 单例模式static Request? _instance;// 本地存储对象final storage Storage();// 工厂函数执行初始化factory Request() _instance ?? Request._internal();// 获取实例对象时如果有实例对象就返回没有就初始化static Request? get instance _instance ?? Request._internal();/// Dio实例static Dio _dio Dio();// 初始化ip和端口String ip baseUrl地址;int port 9080;/// 初始化Request._internal() {// 初始化基本选项BaseOptions options BaseOptions(baseUrl: http://$ip:$port,connectTimeout: const Duration(seconds: 3),receiveTimeout: const Duration(seconds: 3));_instance this;// 初始化dio_dio Dio(options);// 添加拦截器_dio.interceptors.add(InterceptorsWrapper(onRequest: _onRequest, onResponse: _onResponse, onError: _onError));}// 重置ip地址void setIP(String ip) {_dio.options.baseUrl ip;}/// 请求拦截器void _onRequest(RequestOptions options, RequestInterceptorHandler handler) {// 对非open的接口的请求参数全部增加userIdif (!options.path.contains(open)) {// options.queryParameters[userId] xxx;}// 头部添加token// options.headers[token] xxx;// 更多业务需求handler.next(options);// super.onRequest(options, handler);}/// 相应拦截器void _onResponse(Response response, ResponseInterceptorHandler handler) async {// 请求成功是对数据做基本处理if (response.statusCode 200) {// 处理成功的响应// print(响应结果: $response);} else {// 处理异常结果print(响应异常: $response);}handler.next(response);}/// 错误处理: 网络错误等void _onError(DioException error, ErrorInterceptorHandler handler) {handler.next(error);}/// 请求类支持异步请求操作FutureT requestT(String path, {DioMethod method DioMethod.get,MapString, dynamic? params,dynamic data,CancelToken? cancelToken,Options? options,ProgressCallback? onSendProgress,ProgressCallback? onReceiveProgress,}) async {const methodValues {DioMethod.get: get,DioMethod.post: post,DioMethod.put: put,DioMethod.delete: delete,DioMethod.patch: patch,DioMethod.head: head};// 默认配置选项options ?? Options(method: methodValues[method]);try {Response response;// 开始发送请求response await _dio.request(path,data: data,queryParameters: params,cancelToken: cancelToken,options: options,onSendProgress: onSendProgress,onReceiveProgress: onReceiveProgress);return response.data;} on DioException catch (e) {// print(发送请求异常: $e);rethrow;}}/// 开启日志打印/// 需要打印日志的接口在接口请求前 Request.instance?.openLog();void openLog() {_dio.interceptors.add(LogInterceptor(responseHeader: false, responseBody: true));} }
http://www.zqtcl.cn/news/86813/

相关文章:

  • 网站建设中倒计时模板下载网站开发的流程是什么
  • 建设网站源码赣州做网站的公司有哪家好
  • 网站flash合肥瑶海区地图全图高清版
  • 做药品的电商网站有哪些网站制作商家入驻
  • 在线做海报的网站seo网站推广怎样
  • 网站建设案例讯息网站开发工资高吗
  • 个人网站建设教学视频服务器架设国外做违法网站
  • 公司网站建设意义不属于网络推广方法
  • 标准网站建设哪家便宜男女做暧昧视频网站
  • 家装e站网站机房建设流程
  • 动易视频网站管理系统网站建设演示ppt模板
  • 网站站内链接详情页设计英文翻译
  • 网站建设全包 广州网页编辑模式快捷键
  • 搜索引擎网站录入免费优化网站建设
  • 济南华企立方 网站做微商如何引流推广?怎么找客源?
  • 用cms做网站的缺点佛山做网站制作
  • 提供网站技术支持网页美工设计需要学什么
  • 镇江网站建设优化制作公司网线水晶头接法顺序
  • 乌海学校网站建设网站开发 图片
  • 网站制作教程网站建设 麓谷
  • h5如何做网站凡科申请的网站和qq空间一样吗
  • 网站的网站维护的原因电子商务网站名字
  • 沈阳市建设工程安全监督站网站专业网站建设公司兴田德润信任高
  • 长沙网站备案拍照点更改wordpress传文件尺寸
  • 新手学做网站书工业设计专业怎么样
  • 网站策划怎么做内容深圳网站建设seo推广优化
  • 网站集群建设实施方案国外 网站有做验证码吗
  • 外贸网站建设怎么制作上海网站建设多少费用
  • 门户网站建设 报价外国人在中国做视频网站
  • 销售网站建设工资多少网站建设公司面临的问题