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

珠宝首饰网站模板医疗信息化软件公司排名

珠宝首饰网站模板,医疗信息化软件公司排名,东莞机械网站建设,网站界面设计形考Ajax Axios Axios 是一个基于 promise 网络请求库#xff0c;作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。 从浏览器创建 XMLHttpReque…Ajax Axios Axios 是一个基于 promise 网络请求库作用于node.js 和浏览器中。 它是 isomorphic 的(即同一套代码可以运行在浏览器和node.js中)。在服务端它使用原生 node.js http 模块, 而在客户端 (浏览端) 则使用 XMLHttpRequests。 从浏览器创建 XMLHttpRequests 从 node.js 创建 http 请求 支持 Promise API 拦截请求和响应 转换请求和响应数据 取消请求 超时处理 查询参数序列化支持嵌套项处理 自动将请求体序列化为 JSON (application/json) Multipart / FormData (multipart/form-data) URL encoded form (application/x-www-form-urlencoded) 将 HTML Form 转换成 JSON 进行请求 自动转换JSON数据 获取浏览器和 node.js 的请求进度并提供额外的信息速度、剩余时间 为 node.js 设置带宽限制 兼容符合规范的 FormData 和 Blob包括 node.js 客户端支持防御XSRF SignalR 实时 Web 功能是让服务器代码在可用时立即将内容推送到连接的客户端而不是让服务器等待客户端请求新数据。SignalR 可用于向 ASP.NET 应用程序添加任何类型的“实时”Web 功能。 虽然聊天通常用作示例但你可以执行更多操作。 每当用户刷新网页以查看新数据或页面实现 长时间轮询 以检索新数据时它都是使用 SignalR 的候选项。 示例包括仪表板和监视应用程序、协作应用程序 (例如同时编辑文档) 、作业进度更新和实时表单。 SignalR 还支持需要服务器进行高频率更新的全新 Web 应用程序类型例如实时游戏。 SignalR 提供了一个简单的 API用于创建服务器到客户端远程过程调用 (RPC) 调用客户端浏览器中的 JavaScript 函数 (和其他客户端平台从服务器端 .NET 代码) 。 SignalR 还包括用于连接管理的 API (例如连接和断开连接事件) 以及分组连接。 import axios from axios import * as signalR from microsoft/signalr// baseURl 系统默认网址 const baseURl process.env.VUE_APP_API_URL/** session* 封装sessionStorage常用方法的对象* set: 设置sessionStorage要存储的值* get: 从sessionStorage中获取值* remove: 从sessionStorage中删除值* clean: 清空sessionStorage所有存储值*/ let session {set: (key, value) {if (typeof value object) {window.sessionStorage.setItem(key, JSON.stringify(value));} else {window.sessionStorage.setItem(key, value);}},get: (key) {var result window.sessionStorage.getItem(key);if (Global.isJsonFormat(result)) {return JSON.parse(result);} else {return result;}},remove: (key) {window.sessionStorage.removeItem(key);},clean: (key) {window.sessionStorage.clear();} }/** storage* 封装localStorage常用方法的对象* set: 设置localStorage要存储的值* get: 从localStorage中获取值* remove: 从localStorage中删除值* clean: 清空localStorage所有存储值*/ let storage {set: (key, value) {if (typeof value object) {window.localStorage.setItem(key, JSON.stringify(value));} else {window.localStorage.setItem(key, value);}},get: (key) {var result window.localStorage.getItem(key);if (Global.isJsonFormat(result)) {return JSON.parse(result);} else {return result;}},remove: (key) {window.localStorage.removeItem(key);},clean: (key) {window.localStorage.clear();} }/** axiosMessage* 封装axios请求消息提示* type: 提示类型|msg: 提示消息|callBack: 消息关闭时的回调函数|settings: 其他配置项*/ let axiosMessage (type, msg, callBack, settings) {let defaultSettings {type: type,message: msg,duration: 2000,showClose: true,onClose: callBack ? callBack : null};if (settings typeof settings object) {for (let p in settings) {defaultSettings[p] settings[p];}}Message(defaultSettings); }/** publicAxiosRequest* 封装公用的axios请求处理方法* params: 请求参数|axiosFunc: axios请求|callBack: 请求成功执行的回调函数|closeLoading: 是否开启Loading效果*/ let publicAxiosRequest (params, axiosFunc, callBack, closeLoading) {Global.isLoadingOpened typeof closeLoading undefined ? true : closeLoading;axiosFunc(params).then((res) {let { code, data, message } res;if (code 200 code 300) {callBack(data, message);} else {let requestMsg ;if (typeof message object) {for (let key in message) {requestMsg message[key].join(、);}} else {requestMsg message;}Global.axiosMessage(error, requestMsg, Global.endLoading);}}).catch((e) {Global.endLoading();console.info(e);}); }// 记录响应错误提示次数 let errorCount 0/** axios请求拦截*/ axios.interceptors.request.use(config {// 添加取消请求config.cancelToken new axios.CancelToken(cancel {store.commit(PUSH_TOKEN, { cancelToken: cancel });});// 判断是否开启Loading效果if (Global.isLoadingOpened) {Global.startLoading();}// 配置token信息if (Global.storage.get(requestToken)) {config.headers.Authorization Bearer Global.storage.get(requestToken);}return config;},error {return Promise.reject(error);} )/** axios响应拦截*/ axios.interceptors.response.use(response {// 请求成功之后必须恢复isLoadingOpened为trueif (!Global.isLoadingOpened) {Global.isLoadingOpened true;}// 请求成功之后必须恢复isLoadingClosed为trueif (!Global.isLoadingClosed) {Global.isLoadingClosed true;}if (Global.isLoadingClosed) {setTimeout(() {Global.endLoading();}, 200);}return response;},error {// 判断是否是被取消请求的响应错误if (axios.isCancel(error)) {// 中断promise链接return new Promise(() {// 判断是否有Loading加载效果没有关闭if (Global.requestLoading) {setTimeout(() {Global.endLoading();}, 200);}});} else {if (error.response error.response.status) {errorCount;let msg ;switch (error.response.status) {case 404: // 请求不存在msg 请求不存在请重新登录;break;case 417: // 没有操作权限msg 没有操作权限请联系管理员设置;break;case 500: // 服务器异常msg 服务器异常请稍后操作;break;default: // 其他错误msg error.response.data.message;}// 多个错误提示时只弹出一个提示框if (errorCount 2) {Global.confirmBox(warning, msg, 提示, () {Global.session.clean();Global.storage.clean();window.location.href window.location.origin /#/;});}return Promise.reject(error.response);}}} )// 初始化signalr export const initSignalr (func1) {const signalrAddress process.env.VUE_APP_API_URL,AccessToken Global.storage.get(requestToken),TenantId Global.storage.get(companyId) ? Global.storage.get(companyId) : ;let connection new signalR.HubConnectionBuilder().withUrl(signalrAddress /hubs/chathub?access_token AccessToken TenantId TenantId) // signalr连接地址.withAutomaticReconnect({ nextRetryDelayInMilliseconds: () 50000 }) // 断开自动重连.build();// 监听断开重连connection.onreconnected(connectionId {console.log(重新连接成功, connectionId);});// 监听连接关闭connection.onclose(err {console.log(连接关闭, err);});// 注册后端调用的方法(接收数据)connection.on(ReceiveMessage, func1);// 开始连接connection.start().then(res {console.info(%c连接成功, color: #03d903);}).catch(err {console.info(%c连接失败, color: #ff0000);});return connection; }// 推送数据给后端 export const sendMessage (signalr, data) {if (signalr) {signalr.send(SendMessage, data).then(res {console.log(推送成功, res);});} }// 关闭signalr export const closeSignalr (signalr) {if (signalr) {signalr.stop();signalr null;} }// 【登录】获取token信息 export const userLogin (params) { return axios.post(${REQUEST_URL}/api/login, params).then(res res.data) }export default axiosconst Global {baseURl,session,storage,axiosMessage,publicAxiosRequest }export default Global 参见 axios - npm Axios中文文档 | Axios中文网 microsoft/signalr - npm SignalR 简介 | Microsoft Learn
http://www.zqtcl.cn/news/406289/

相关文章:

  • 网站安全建设必要性企业vi设计是什么意思
  • 建站工具有哪些社区兰州市城乡建设局网站通知公告
  • 深圳市移动端网站建设wordpress get_category_parents
  • 多用户商城(c2c)网站制作方案招聘网站如何做推广
  • 微信云网站用什么做做网站卖产品
  • 最专业的企业营销型网站建设简述无线网络优化的流程
  • 茶叶响应式网站做网站还有钱赚吗
  • 枣庄建设路小学网站资源下载wordpress
  • 青海建设厅网站首页建设一个网站论坛要多少钱
  • 网站稳定性深圳网站建设有限公司 2019
  • 西城专业网站建设公司哪家好优秀的网站建设解决方案
  • 做网站接广告手机百度引擎搜索入口
  • html5网站怎么建设后台怎么弄厦门微信网站建
  • 幻影图片一键制作网站建筑工程是干嘛的
  • 技术支持 东莞网站建设东莞天助免费网站申请域名39939cn
  • js打开网站wordpress线报主题
  • 怎么做网站首页弹幕外贸网站高端定做
  • asp.net mvc 做网站做网站原型的软件
  • wordpress网站恢复北京app建设 网站开发公司
  • 给别人做设计的网站aso优化师工作很赚钱吗
  • 网店网站建设规划方案入门编程软件
  • 网站布局企业安全文化建设导则
  • 胶东国际机场建设有限公司网站2021重大军事新闻
  • 企业网站优化的方式萍乡市建设局网站王丽
  • 做网站的收费标准社保网上服务大厅
  • php网站开发安全网站建设管理教程视频教程
  • 网站建设的空间是什么意思海络网站
  • 深圳华强北今晚网站优化推广公司
  • 网站建设行业好做吗太原网站改版
  • 寿光企业建站流程个人网站用什么软件