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

上海做设计公司网站新乡市网站建设

上海做设计公司网站,新乡市网站建设,wordpress免费主题库,黑龙江俄语网站制作APIFox-自动获取登录状态操作 概述 作为纯后端开发码农#xff0c;每次接口开发完的调试很重要#xff0c;因此每次重复的手动获取登陆状态Token或者直接放行就太麻烦了。 APIFox提供了前置操作#xff0c;可以很方便的自动获取登录状态#xff0c;节省大量重复劳动时间。…APIFox-自动获取登录状态操作 概述 作为纯后端开发码农每次接口开发完的调试很重要因此每次重复的手动获取登陆状态Token或者直接放行就太麻烦了。 APIFox提供了前置操作可以很方便的自动获取登录状态节省大量重复劳动时间。 APIFox中的变量 APIFox中的变量有全局变量、环境变量与临时变量其中常用的是全局变量和环境变量。 详情参考https://zhuanlan.zhihu.com/p/550921426?utm_id0 全局变量存放不同环境请求中共同需要的变量参数。 全局变量操作pm.globals.get/set环境变量存放各自环境不同的变量参数。 环境变量操作pm.environment.get/set注意APIFox中还有许多内置变量不用用户自己创建如BASE_URL通过该变量可以获取不同环境下的前置URL。 具体操作 仅供参考需要根据自己的项目微调。 我这里的后端项目登录接口是返回Token与过期时间间隔秒具体设置操作如下。 1. 创建变量 由于我的开发环境本地与测试环境的用户名和密码是一样的所以我将其添加到了全局变量。由于我这里 开发环境本地后端项目与测试环境后端项目 使用的是同一个数据库因此当切换环境后会由于再次请求再次请求因为另一个环境中的Token变量可能是空的或者过期了而造成原本环境的Token失效因为是共用一个数据库原来的Token在后端由于再次登录被更新了。所以我这里将Token变量与过期时间间隔秒变量也放在了全局变量中。 2. 创建公共请求头 由于本后端项目的Token是放在每次请求的Header中的所以我将获取到的Token变量直接放到这里。另外该项目前后端都是JSON格式所以也加上了Content-type并定义为JSON格式。 3. 创建公共脚本 自己看注释自行根据自己的项目微调。 // 定义发送登录接口请求方法 function sendLoginRequest() {// 获取环境里的 前置URL - 这是默认内置的变量无需手动设置const baseUrl pm.environment.get(BASE_URL);/*全局变量操作pm.globals.get/set环境变量操作pm.environment.get/set参考APIFOX变量操作https://zhuanlan.zhihu.com/p/550921426?utm_id0*///由于我的开发环境本地与测试环境的用户名和密码是一样的所以我将其添加到了全局变量// 登录用户名这里从全局变量 LOGIN_USERNAME 获取也可以写死但是不建议const username pm.globals.get(LOGIN_USERNAME);// 登录用户名这里从全局变量 LOGIN_PASSWORD 获取也可以写死但是不建议const password pm.globals.get(LOGIN_PASSWORD);// 构造一个 POST x-www-form-urlencoded 格式请求。这里需要改成你们实际登录接口的请求参数。const loginRequest {url: baseUrl /sys/login,method: POST,// body 为 json 格式header: {Content-Type: application/json// 注意header 需要加上 Content-Type},body: {mode: raw,// 此处为 rawraw: JSON.stringify(// 这里和自己的后端项目需要的格式对应{userName: username,password: password}), // 序列化后的 json 字符串}};// 发送请求。// pm.sendrequest 参考文档: https://www.apifox.cn/help/app/scripts/api-references/pm-reference/#pm-sendrequestpm.sendRequest(loginRequest, function (err, res) {if (err) {console.log(res);console.log(err);} else {// 读取接口返回的 json 数据。// 如果你的 token 信息是存放在 cookie 的可以使用 res.cookies.get(token) 方式获取。// cookies 参考文档https://www.apifox.cn/help/app/scripts/api-references/pm-reference/#pm-cookiesconst jsonData res.json();console.log(jsonData);// 将 accessToken 写入环境变量 ACCESS_TOKENpm.environment.set(ACCESS_TOKEN, jsonData.token);/*这里由于我请求的后端项目的Token过期期间返回的是秒所以需要处理一下变为毫秒所以过期期间为当前时间有效毫秒*/// 将 accessTokenExpires 过期时间写入环境变量 ACCESS_TOKEN_EXPIRESpm.environment.set(ACCESS_TOKEN_EXPIRES,new Date().getTime()(jsonData.expire*1000));}});}// 获取全局变量里的 ACCESS_TOKENconst accessToken pm.globals.get(ACCESS_TOKEN);// 获取全局变量里的 ACCESS_TOKEN_EXPIRESconst accessTokenExpires pm.globals.get(ACCESS_TOKEN_EXPIRES);/*由于我这里 开发环境本地后端项目与测试环境后端项目 使用的是同一个数据库因此当切换环境后会由于再次请求再次请求因为另一个环境中的Token变量可能是空的或者过期了而造成原本环境的Token失效因为是一个数据库原来的Token在后端由于再次登录被更新了。解决方式开发环境本地与测试环境 的 Token变量与过期时间间隔变量 改变位置存放在全局变量开发环境与测试环境共用。*/// 如 ACCESS_TOKEN 没有值或 ACCESS_TOKEN_EXPIRES 已过期则执行发送登录接口请求if (!accessToken ||(new Date(accessTokenExpires) new Date())){sendLoginRequest();} 4. 为项目根目录添加前置脚本 我这里的项目是单体项目因此子接口直接继承父目录的设置就好了。 参考博文 https://apifox.com/blog/cookies-and-token/ https://zhuanlan.zhihu.com/p/550921426?utm_id0 https://apifox.com/help/environment-and-variables/environment-management https://blog.csdn.net/sinat_15872851/article/details/128842095
http://www.hkea.cn/news/14437694/

相关文章:

  • 绵阳专门做网站的公司wordpress 全宽轮播
  • 网站设计的必要性网页设计网站排行榜
  • 可做笔记的阅读网站室内设计效果图全景图
  • 珠海商城网站制作公司网站设计哪家公司好
  • 大众点评网站团购怎么做电脑上怎么添加wordpress
  • 网站设计前景163企业邮箱官网入口
  • 做网站收入特效网站大全
  • 沙井品牌网站建设wordpress插件ERP
  • 怒江州城乡建设局网站快速搭建企业网站
  • 国外的网站模板类网站seo扣费系统源码
  • 阿里云可以做哪些网站吗多点网络网站制作系统
  • 学交互设计网站金华网站建设公司
  • 一级域名如何分发二级域名做seo网站的步骤
  • 关于网站建设的合同范本石家庄网站托管公司
  • 南昌网站建设好企业网站免费网站使用
  • 做网站从哪里买域名公司管理软件有哪些
  • 设计网站printerest网站无障碍的建设方面空缺
  • 邯郸质量一站式服务平台上线有哪些公司的网站做的比较好
  • 专业家装建材网站设计济南网站建设鲁icp备
  • 龙岩做网站怎么做装饰设计师在哪个平台上寻找
  • 便宜点的网站空间手机大全网站
  • 廉洁常德网站苏州设计公司排名前十
  • 营销型网站 典型案例能访问所有网站的浏览器
  • 衡水网站制作公司哪家专业大连建网站公司
  • 把网站生成app的免费平台世界500强企业数量
  • 可以做点赞的网站ui设计个人作品集
  • 青海省建设网站企业怎么让WORDPRESS首页显示菜单
  • 专门做女性产品的网站平面设计师长逛的网站有哪些
  • 网站收录情侣wordpress模板下载
  • 怎么开通网站平台如何提供网站建设公司