当前位置: 首页 > 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.pierceye.com/news/406289/

相关文章:

  • 欧美网站设计网站制作基础教程
  • wordpress显示icp备案号手机关键词排名优化
  • 网站建设与管理属于什么部门自助建站 知乎
  • 成都网站开发哪个好常州建网站
  • 陕西住房与城乡建设厅网站从化市营销型网站建设
  • 如何在网站上做推广自己做网站的图片
  • 珠海模板网站建设wordpress 底部工具栏
  • 网站建设的业务流程图招聘网站上找在家做
  • 网站设计的工具盱眙在仕德伟做网站的有几家
  • 建设一个网站要花多少时间临沂网站网站建设
  • 南宁网站推广经理做动漫网站如何应用数据绑定
  • 眼镜东莞网站建设兰州公司做网站
  • 改成 响应式 网站重庆微信企业网站
  • 用微信怎么做商城网站微信官网下载安装
  • 汽车网站建设方案预算md风格的wordpress主题
  • 免费外贸网站模板dede 网站栏目管理
  • 做网站有包括哪些东西站长素材网
  • 淘宝做促销的网站网站开发报价清单
  • 备案查询网站网站建设中可能遇到的问题
  • 怎么注册网站的步骤快速建站官网
  • 网站怎么做口碑wordpress淘宝客知乎
  • 响应式网站建设信息网站建设宽带
  • ps如何做网站超级链接微信公众平台运营中心电话
  • 网站建设怎么估算费用和报价h5特效网站欣赏
  • 东软集团建设网站娱乐网站排行榜
  • 石家庄网站建站米拓建站官网怎么用不了
  • 推广seo网站的公司金华网站建设公司排名
  • 阿里巴巴网站工作流程网站建设 教学设计
  • 电子商务网站建设的方法怎样用织梦做音乐网站
  • 临夏州住房和城乡建设局网站出词