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

好的免费网站建站平台wordpress超链接下划线

好的免费网站建站平台,wordpress超链接下划线,汕头品牌设计公司,响应式网站用什么软件做效果目录 1. 基本知识2. Demo3. 拓展 1. 基本知识 从实战代码中学习#xff0c;上述实战代码来源#xff1a;芋道源码/yudao-mall-uniapp 该代码中#xff0c;通过自定义 request 函数对 HTTP 请求进行了统一管理#xff0c;并且结合了 Token 认证机制 请求封装原理#xff… 目录 1. 基本知识2. Demo3. 拓展 1. 基本知识 从实战代码中学习上述实战代码来源芋道源码/yudao-mall-uniapp 该代码中通过自定义 request 函数对 HTTP 请求进行了统一管理并且结合了 Token 认证机制 请求封装原理request 函数是对 uni.request 的一个封装 动态设置请求头根据 config 的配置决定是否需要在请求头中附加 AuthorizationBearer Token。Token 是从本地存储中获取的根据环境区分不同的 Base URL根据当前的开发环境development 或 production动态设置请求的基础 URLbaseUrl统一处理请求参数config.params 会被转化成查询字符串拼接到请求的 URL 后面Promise 封装异步操作请求通过 uni.request 发出并将返回的 response 数据封装为一个 Promise使得调用 request 的地方可以使用 then 或 catch 来处理结果 Token 认证管理原理 Token 存储uni.setStorageSync 和 uni.getStorageSync 被用来在客户端本地存储 ACCESS_TOKEN 和 REFRESH_TOKEN这两个 Token 被用于身份验证获取 Token在每次 HTTP 请求时首先会检查请求是否需要 Token通过 config.headers.isToken 判断。如果需要就从本地存储中获取 AccessToken 并加入到请求头中Token 过期处理当请求返回的状态码为 401 时表示 Token 已过期此时会弹出提示框让用户重新登录并清除旧的 Token 错误处理机制 网络错误封装了常见的网络错误如超时、服务器错误等并提供了友好的提示接口返回错误统一处理接口返回的错误错误信息根据 res.data.code 的值来决定如果返回的是 500 错误或其他非 200 的错误则通过 toast 提示给用户401 错误处理当返回状态码为 401 时表示 Token 过期或无效代码会自动处理登出流程 2. Demo 根据实战中的Demo给出一版通用的Demo 封装request的时候需要与token结合 // utils/request.js import { getAccessToken, setToken, removeToken } from /utils/auth; import config from /config; import errorCode from /utils/errorCode; import { toast, showConfirm } from /utils/common;let timeout 10000; let baseUrl process.env.NODE_ENV development ? config.devbaseUrl : config.prodbaseUrl;const request config {const isToken (config.headers || {}).isToken false;config.header config.header || {};if (getAccessToken() !isToken) {config.header[Authorization] Bearer getAccessToken();}config.header[tenant-id] 1; // 强制设置租户 IDif (config.params) {let url config.url ? tansParams(config.params);url url.slice(0, -1);config.url url;}return new Promise((resolve, reject) {uni.request({method: config.method || get,timeout: config.timeout || timeout,url: config.baseUrl || baseUrl config.url,data: config.data,header: config.header,dataType: json}).then(response {let [error, res] response;if (error) {toast(后端接口连接异常);reject(后端接口连接异常);return;}const code res.data.code || 200;const msg errorCode[code] || res.data.msg || errorCode[default];if (code 401) {showConfirm(登录状态已过期您可以继续留在该页面或者重新登录?).then(res {if (res.confirm) {removeToken();uni.reLaunch({ url: /pages/login });}});reject(无效的会话或者会话已过期请重新登录。);} else if (code 500) {toast(msg);reject(500);} else if (code ! 200) {toast(msg);reject(code);}resolve(res.data);}).catch(error {let { message } error;if (message Network Error) message 后端接口连接异常;else if (message.includes(timeout)) message 系统接口请求超时;else if (message.includes(Request failed with status code)) message 系统接口 message.substr(message.length - 3) 异常;toast(message);reject(error);});}); };export default request;对应的token文件 // utils/auth.js const AccessTokenKey ACCESS_TOKEN; const RefreshTokenKey REFRESH_TOKEN;export function getAccessToken() {return uni.getStorageSync(AccessTokenKey); }export function getRefreshToken() {return uni.getStorageSync(RefreshTokenKey); }export function setToken(token) {uni.setStorageSync(AccessTokenKey, token.accessToken);uni.setStorageSync(RefreshTokenKey, token.refreshToken); }export function removeToken() {uni.removeStorageSync(AccessTokenKey);uni.removeStorageSync(RefreshTokenKey); }相关接口请求 // 在页面中调用封装的请求方法 import request from /utils/request;export default {methods: {fetchData() {request({url: /api/getData,method: GET,params: { id: 123 }}).then(response {console.log(数据:, response);}).catch(error {console.log(请求失败:, error);});}} }3. 拓展 process.env.NODE_ENV 是 Node.js 环境中用于获取当前应用运行环境的一个变量 在大多数前端框架如 Vue、React以及后端框架如 Express中process.env.NODE_ENV 被广泛用于区分不同的开发环境 前端vue中可能已经标明了 在开发模式下NODE_ENVdevelopment npm run dev 在生产模式下NODE_ENVproduction npm run build 在 npm 脚本中可以通过 cross-env 等工具来跨平台设置环境变量 scripts: {dev: cross-env NODE_ENVdevelopment vue-cli-service serve,build: cross-env NODE_ENVproduction vue-cli-service build }另外一个接口超时时间全局默认是20秒如果时长不对可以在单独某个接口设置 // 上传图片 uploadImage(data) {return upload({url: /infra/file/upload,method: upload,filePath: data.filePath,timeout: 30000 // 设置超时时间为30秒}); }
http://www.hkea.cn/news/14406170/

相关文章:

  • 怎样在网站上做办公家具长春市住房和城乡建设局官网
  • 电商网站建设实验心得网站排名怎么上去
  • 北京延庆城乡建设部网站首页在中国可以做国外的域名网站吗
  • 网站设计公司 无锡网站联盟的基本流程
  • 在网站上显示备案信息钢筋网片价格
  • 珠海市网站建设开发公司石家庄园林绿化建设招标网站
  • 卡盟网站怎么做数商云招聘
  • 苏州市建设交易中心网站首页wordpress更知鸟
  • 做文献综述用什么网站怎么自己做网站发优惠券
  • 网站的在线支付模块怎么做网络销售怎样找客户
  • 重庆营销型网站制作广西建设局网站
  • c2c网站代表和网址个人购物网站怎么做
  • 网站建设的入门书籍dedecms做的网站手机上看图片变形
  • 网站 开发合同现在建设网站落后了
  • 沧州网站推广园林景观设计公司客户话术
  • 定制设计的网站网站开发网站有哪些
  • 哪个网站做的简历比较好网络营销定价的特点
  • mvc5网站开发项目下载sem推广竞价托管公司
  • 提供网站建设费用营销类网站模板
  • 域名申请好怎么做网站快递公司网站怎么做
  • 字体排版设计网站可以做闪图的网站
  • 深圳网站 制作信科便宜logo设计多少钱
  • 自己的网站在哪做的忘了网站制作明细清单
  • 网站建设置顶找个做游戏的视频网站
  • 设计师必去十大网站找人 做网站 一般注意
  • 以营销为导向的网站建设wordpress广告公司模板
  • 怎么更改网站备案信息网页制作工具中文版
  • 电影网站排名怎么做比较好的建立站点
  • 徐州网络建站模板传奇三端互通新开服网站
  • 装修网站平台排行榜软件开发接单网站