用织梦做的网站一般后台2小时学会php网站建设

web/2025/10/5 1:57:41/文章来源:
用织梦做的网站一般后台,2小时学会php网站建设,网页配色方案,贵港市建设局网站dio是一个非常强大的网络请求库#xff0c;可以支持发送各种网络请求#xff0c;就像axios一样灵活强大#xff0c;但是官网没有做一个demo示例#xff0c;所以前端同学使用起来还是有点费劲#xff0c;所以就想在这里封装一下#xff0c;方便前端同学使用。 官网地址可以支持发送各种网络请求就像axios一样灵活强大但是官网没有做一个demo示例所以前端同学使用起来还是有点费劲所以就想在这里封装一下方便前端同学使用。 官网地址dio | Dart Package 我的flutter模板项目地址 GitHub - Sjj1024/flutter_windows: 使用flutter开发跨平台桌面软件的案例 添加依赖 在pubspec.yaml文件中添加所需要的第三方依赖库 dependencies:flutter:sdk: flutter# The following adds the Cupertino Icons font to your application.# Use with the CupertinoIcons class for iOS style icons.cupertino_icons: ^1.0.2get: ^4.6.6dio: ^5.4.0 封装基础请求工具 在utils里面新建一个request.dart文件专门用来做请求工具的就像前端框架里面集成axios一样统一初始化网络请求常见配置实现请求拦截器、响应拦截器以及错误处理。 request.dart 代码  import package:dio/dio.dart;/// 请求方法:枚举类型 enum DioMethod {get,post,put,delete,patch,head, }// 创建请求类封装dio class Request {/// 单例模式static Request? _instance;// 工厂函数执行初始化factory Request() _instance ?? Request._internal();// 获取实例对象时如果有实例对象就返回没有就初始化static Request? get instance _instance ?? Request._internal();/// Dio实例static Dio _dio Dio();/// 初始化Request._internal() {// 初始化基本选项BaseOptions options BaseOptions(baseUrl: http://你的服务器地址,connectTimeout: const Duration(seconds: 5),receiveTimeout: const Duration(seconds: 5));_instance this;// 初始化dio_dio Dio(options);// 添加拦截器_dio.interceptors.add(InterceptorsWrapper(onRequest: _onRequest, onResponse: _onResponse, onError: _onError));}/// 请求拦截器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));} }管理apis网络请求 然后创建一个apis文件夹集成所有的apis网络请求并在里面创建user.dart、goods.dart等文件用于对不同的网络请求进行管理这样就可以知道我们相关的网路请求放在哪里面。并且对返回的数据根据实际需求进行处理如果数据的修改需要更新UI或者需要全局共享该数据 app.dart文件代码 import ../utils/request.dart;// 创建一个关于user相关请求的对象 class UserApi {/// 单例模式static UserApi? _instance;// 工厂函数初始化默认会返回唯一的实例factory UserApi() _instance ?? UserApi._internal();// 用户Api实例当访问UserApi的时候就相当于使用了get方法来获取实例对象如果_instance存在就返回_instance不存在就初始化static UserApi? get instance _instance ?? UserApi._internal();/// 初始化UserApi._internal() {// 初始化基本选项}/// 获取权限列表getUser() async {/// 开启日志打印Request.instance?.openLog();/// 发起网络接口请求var result await Request().request(get_user, method: DioMethod.get);// 返回数据return result.data;}// 获取列表数据getGoods() async {var result await Request().request(/game/gamemgnt,method: DioMethod.post,data: {taskuuid: queryprod, splist: 66});// 返回数据// print(getDetail:$result);return result;}// 获取列表数据getDetail() async {var result await Request().request(/game/gamemgnt,method: DioMethod.post,data: {taskuuid: queryprod, splist: 66});// 返回数据// print(getDetail:$result);return result;} }// 导出全局使用这一个实例 final userApi UserApi();在组件页面使用 然后就可以到组件页面导入userApi给组件页面上使用发送相应的网络请求了 页面组件导入并发送请求获取数据然后渲染 import package:flutter/material.dart; import package:flutter_windows/apis/app.dart;class Lists extends StatefulWidget {const Lists({super.key});overrideStateLists createState() _ListsState(); }class _ListsState extends StateLists {// 列表数据List goods [];overridevoid initState() {// TODO: implement initStatesuper.initState();// 获取商品列表getGoods();}// 获取列表getGoods() async {var res await userApi.getGoods();var goodsData res[response_data][data];setState(() {goods goodsData;});}// 动态列表组件ListWidget _getListData() {var tempList goods.map((value) {return Container(decoration: BoxDecoration(border: Border.all(color: const Color.fromRGBO(233, 233, 233, 0.9), width: 1)),child: Column(children: Widget[Image.network(value[skillurl],width: 100,height: 200,),const SizedBox(height: 12),Text(value[pordname],textAlign: TextAlign.center,style: const TextStyle(fontSize: 20),)],),);}); // (xxx,xxx)print(渲染的列表组件类型${tempList.toList().runtimeType});return tempList.toList();}overrideWidget build(BuildContext context) {return Scaffold(appBar: AppBar(title: Text(产品列表),),body: GridView.count(crossAxisSpacing: 10.0,//水平子 Widget 之间间距mainAxisSpacing: 10.0,//垂直子 Widget 之间间距padding: const EdgeInsets.all(2),crossAxisCount: 4,//一行的 Widget 数量// childAspectRatio: 0.7,//宽度和高度的比例children: goods.map((value) {return Container(decoration: BoxDecoration(border: Border.all(color: const Color.fromRGBO(233, 233, 233, 0.9), width: 1)),child: Column(children: Widget[Image.network(value[skillurl],width: 100,height: 200,),const SizedBox(height: 12),Text(value[pordname],textAlign: TextAlign.center,style: const TextStyle(fontSize: 20),)],),);}).toList(),),);} }最后展示的效果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/87093.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

黄骅住房和城乡建设局网站石家庄p2p网站开发

如下图所示, 为3D分析工具条: 在3D分析中创建的线,例如做剖面图是插入的线,该怎样删除呢? 如下图所示。 删除方法是,先使用如下选择工具,然后双击线条,再按delete键。

私人定制网站做电影网站采集什么意思

Euclidea几何构建10.2通关攻略Euclidea游戏10.2怎么过?下面小编为大家带来Euclidea几何构建10.2通关攻略:更多攻略不断更新中——Euclidea游戏全关卡通关攻略大全分两次做图第一次,画圆就成了,具体看图应该能懂。第二次&#xff0…

企业大学网站建设计划海伦网站建设

Python获取音视频时长 Python获取音视频时长1、安装插件2、获取音视频时长.py3、打包exe4、下载地址 Python获取音视频时长 1、安装插件 pip install moviepy -i https://pypi.tuna.tsinghua.edu.cn/simple2、获取音视频时长.py 上代码:获取音视频时长.py # -*-…

短网址还原网站平台建设包括什么

## ViewPagerIndicator ## 使用导入ViewPagerIndicator库的方式相当于可以改源码,打包编译Eclips可以自动完成。ViewPager指针项目,在使用ViewPager的时候能够指示ViewPager所在的位置,就像Google Play中切换的效果一样,还能使用…

做影视网站不备案国家网站备案查询系统

📃个人主页:个人主页 🔥系列专栏:C语言试题200例 💬推荐一款刷算法、笔试、面经、拿大公司offer神器👉 点击跳转进入网站 ✅作者简介:大家好,我是码莎拉蒂,CSDN博客专家(全站排名Top 50),阿里云博客专家、51CTO博客专家、华为云享专家 1、题目 题目:利用梯形…

广州腾虎网络网站建设熊掌号建设银行官网首页

面试题:请阐述vue的diff算法 参考回答: 当组件创建和更新时,vue均会执行内部的update函数,该函数使用render函数生成的虚拟dom树,将新旧两树进行对比,找到差异点,最终更新到真实dom 对比差异的过…

自己做网站卖东西需要交税吗wordpress 钩子列表

文章目录 技术栈踩坑记录 技术栈 JavaFX 11MavenJDK 11 踩坑记录 这些坑对于初学者很容易踩,JavaFX经常会报错空指针异常遇到其中一个问题可能就会消耗好几天的时间。 JavaFX 采用的是MVC架构设计,页面设计使用 fxml文件;业务逻辑采用Con…

威宁网站建设春播网站是谁做的

原文地址: ASP.NET-Core-Web-API-Best-Practices-Guide介绍当我们编写一个项目的时候,我们的主要目标是使它能如期运行,并尽可能地满足所有用户需求。但是,你难道不认为创建一个能正常工作的项目还不够吗?同时这个项目…

企业网站快速建站大型网站开发案例

在跨境电商的汹涌浪潮中,武汉星起航电子商务有限公司如同一颗璀璨的明星,自2017年起便以亚马逊自营店铺为核心业务,不断积累实战运营经验,逐步建立了自己在市场中的稳固地位。随着2020年公司的正式成立,武汉星起航明确…

虚拟主机怎么弄网站影视公司网站模板

Eclipse新建类的时候如何自动添加注释 主要有两种方法:①创建类文件时自动添加注释;②文件注释 方法一:类注释 windows -> preferencesJava -> Code Style -> Code TemplatesCode -> new Java filesedit 填入下面的数据 ${fi…

苏宁网站开发人员工资怎样把网站建设在国外

如上图我要实现从后台获取权限菜单并动态导入进行渲染 但由于 vite 暂时不支持这种导入方式 图中也给出了提示 本人也是这么去做了 但并没什么卵用 后来参考了 vite 的 import.meta.glob 这种方式 我在处理菜单权限控制的菜单里进行了如下操作: …

深圳网站的做网站公司移动网站开发服务

java web源代码与其他系统进行交互时,大多数Java Web应用程序都使用标准Java接口。 诸如Web页面或REST服务器之类的基于HTTP的服务是使用接口javax.servlet.Servlet来实现的。 使用JDBC接口java.sql.Statement和java.sql.Connection实现数据库交互。 这些标准几乎是…

江门移动网站建设多少钱网站虚拟主机建设

Spring的了解与特性 简单介绍:快速开发Spring项目的脚手架。简化Spring应用的初始搭建以及开发过程。 特性 提供了很多内置的Starter结合自动配置,对主流框架的无配置集成、开箱即用。即不需要自己去引入很多依赖。 并且管理了常用的第三方依赖的版本&…

找加工订单的网站足球哪个网站做的比较好

版权声明:本文为博主原创文章,转载请标明出处。 https://blog.csdn.net/chaoyu168/article/details/52996965 在本系列教程当中,我们将学习如何从零开始进行Android SDK开发。我们已经熟悉了Android应用程序的结构与基本组成元素,…

中山做网站的公司哪家好建设系统网站全名

一 系统简介 智能充电(新能源电动车,电单车)云管理系统 是一套能够实现对充电站/桩的实时通讯、状态监控、故障检测、运营分析、数据统计、策略设置的智能化多任务管理系统。 二 平台概览 智能充电云管理系统 https://chongdianzhuang.itg…

做网站都是需要什么备案 个人网站建设方案书

SPI概述Serial Peripheral interface 通用串行外围设备接口是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高…

icp备案单位网站我也要投放广告

首先在Ubuntu安装宝塔面板 在官网可以找到脚本一键安装 安装GitLab社区版 然后在宝塔面板的“软件商店”里面找到GitLab最新社区版 12.8.1一键安装 安装过程中可能出现以下问题: 1.卡在ruby_block[wait for logrotate service socket] action run 解决办法&…

vps 做网站网站建设便宜不可信

苹果iOS的一大优点就是软件生态,第三方APP都会主动适配新的iOS系统以及手机。虽然说Android的开放性是也是一大优点,但是第三方软件参差不齐的优化适配水平也让安卓的用户非常头疼。不过谷歌每年都在致力于让Android的软件生态更好。根据XDA的报道&#…

公司注册地址可以是家庭地址吗seo网站建站

容器编排工具的比较与选择 Kubernetes 介绍 Kubernetes,是目前最流行和功能强大的容器编排平台之一。强调 Kubernetes 的自动化、高可用、扩展性和灵活的特点。讨论 Kubernetes 的主要组件和架构,如 Master 节点、Node 节点、控制器和调度器等。分析 Ku…

网站的流程建设部设计院网站

很多公司老板都会把利润放在第一位,照理说这是没错的,公司要盈利才能继续经营下去。我国有很多针对小微企业的政策,盈利不高的情况下,基本不会去考虑纳税问题,也没有多少税收压力。但是对一些暴利的服务型行业、软件设…