//httpService.jsconst host = 'https://baidu.com/ceshi' // 接口请求的域名 // get请求使用 json对象转字符串 (formatParams ) const formatParams = (data) => { let arr = [] for (let name in data) { arr.push(encodeURIComponent(name) + '=' + encodeURIComponent(data[name])) }…
axios取消请求 这里就是分析一下接口请求需要被取消时的一些操作 因为我是用vue写的项目,所以标配用的是axios,怎么在axios中取消已经发送的请求呢? 1.在这之前我们还是先介绍一下原生js的abort()这个方法. 直接上代码会比较好一点 <divclass="page"id="app"><buttonclass="get-msg">获取数据</button><buttonclass=&quo…
日志接口响应时间,记录接口请求信息,响应结果以及响应时间等.可以清楚的分析和了解接口状态. 如果一个一个地在接口下面做日志,那不是我们想要的结果.所以,我们选择做一个特性来控制接口要不要记录请求响应日志. 关键代码如下: public class LogRequestAndResponseAttribute: ActionFilterAttribute { private static string RequestLogSwitch = string.IsNullOrEmpty(Configur…
准备工作 需求由来: 当项目越来越大的时候提高项目运行编译速度.压缩代码体积.项目维护.bug修复......等等成为不得不考虑而且不得不做的问题.  又或者后面其他同事接手你的模块,或者改你的bug时避免人家看的眼痛以及心里千百句mamaipi...问候. 并且一个好的开发思路也能大大提高开发效率,以及检验自己. 进入正题: 在本地用 vue-cli 新建一个项目,这个步骤vue的官网上有,我就不再说了. 这里展示一下我的项目架构目录  这次主要讲红字具体实现部分 ├── build // 项…
客户端发起http请求,基本的经历过程如下: 域名解析 -> TCP三次握手 -> 建立TCP连接后发起HTTP请求 -> Nginx反向代理 -> 应用层 -> 服务层 -> 缓存/数据库 一.域名解析 首先Chrome浏览器会解析 www.linux178.com 这个域名(准确的叫法应该是主机名)对应的IP地址.怎么解析到对应的IP地址? ① Chrome浏览器 会首先搜索浏览器自身的DNS缓存(缓存时间比较短,大概只有1分钟,且只能容纳1000条缓存),看自身的…
1.拦截器 拦截器可以根据需要 做权限拦截 登录只是权限的一种, 思路是req.session.user判断用户session是否存在,是否是需要拦截的地址, 如果是就跳转登录页,或其他页, 如果非需拦截页,则执行 next(); 放行 因为是顺序执行的所以 app.all('/*', function(req, res, next){   这个方法需放在定义的路由之上 具体写法如下: //登录拦截器 app.all('/*', function(req, res, next){ if (req…
根据nginx的access_log查看接口请求时间 muyuren 发表于 1年前 阅读 2300 收藏 0 推荐 0 评论 0 推荐 收藏 首先修改修改生成日志的格式,在nginx配置文件的http里添加如下内容: log_format '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent $request_body "$http_referer" '…
最近开发一款小程序的时候想到一个问题,如果接口突然挂掉怎么办呢,于是乎想到一个解决办法.接口请求重试功能.并限制请求次数 用最新的async函数语法实现.代码简洁明了. 测试代码如下: function foo(param) { return new Promise((resolve, reject) => { setTimeout(() => { try { JSON.parse('{{'); // 执行到这里会报错 return resolve(param); } catch (err)…
在项目 main.js 同级创建 utils 文件夹, utils里创建 config.js文件,存储重要参数 // 获取平台信息 const { system, } = uni.getSystemInfoSync() // 请求服务器环境,xxx 在这里是填充,请自行替换 let baseUrl = ['http://xxx', 'https://xxx'] // 小程序重要参数 uni.config = { platform: system.startsWith("iOS") ?…
DevUI 是一款面向企业中后台产品的开源前端解决方案,它倡导沉浸.灵活.至简的设计价值观,提倡设计者为真实的需求服务,为多数人的设计,拒绝哗众取宠.取悦眼球的设计.如果你正在开发 ToB 的工具类产品,DevUI 将是一个很不错的选择! 引言 搜索功能,我想很多业务都会涉及,这个功能的特点是: 用户可以在输入框中输入一个关键字,然后在一个列表中显示该关键字对应的数据: 输入框是可以随时修改/删除全部或部分关键字的: 如果是实时搜索(即输入完关键字马上出结果,不需要额外的操作或过多的等待),接口…