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

郑州专业网站优化网站建设 仿站

郑州专业网站优化,网站建设 仿站,wordpress 大众点评,wordpress 提权攻击你的 Loading 开箱即可用的 loading#xff0c; 说明#xff1a;vue3-loading 是一个方便在 Vue 3 项目中使用的加载指示器组件的 npm 插件。它允许您轻松地在项目中添加加载动画#xff0c;提升用户体验。 目录 你的 Loading#x1f30d; 安装#x1f6f9; 演示地址…你的 Loading 开箱即可用的 loading 说明vue3-loading 是一个方便在 Vue 3 项目中使用的加载指示器组件的 npm 插件。它允许您轻松地在项目中添加加载动画提升用户体验。 目录 你的 Loading 安装 演示地址 使用方法说明 你的 Pinia 加密插件 安装 使用方法 加密和解密 安装 npm install vue3-loading-plug演示地址 http://project.webcats.cn/bx/43924/16191 使用方法 说明 内置两种loading 【可自行配置】 ​ Loading 是 大loading 可以用于刷新项目页面、路由跳转 。在路由中引入一次 即可全局生效极简配置 ​ smallLoading 是小圆圈 loading一般用于接口请求展示。可以请求拦截器中开启全局接口生效极简配置 在你的主应用程序入口文件例如 main.js中导入并使用 loading import Loading from vue3-loading-plug; app.use(Loading).mount(#app);如果是 ts 请在 global.d.ts 加入 类型 declare module vue3-loading-plug;router router.beforeEach((to, from, next) {if (to.meta.loading) app.config.globalProperties.$Loading.showLoading();next(); });router.afterEach((to) {if (to.meta.loading) app.config.globalProperties.$Loading.hideLoading(); });scrvies // 请求拦截器 service.interceptors.request.use((config) {// 在发送请求之前做些什么app.config.globalProperties.$smallLoading.showLoading();return config;},(error) {// 对请求错误做些什么app.config.globalProperties.$smallLoading.hideLoading();return Promise.reject(error);} );// 封装错误提示函数 Token过期、网络链接错误等 const tipError (value: string, title: string) {ElMessageBox.alert(value, title, {confirmButtonText: 重新登录,type: warning,}).then(() {// Session.clear(); // 清除临时缓存// 清除cookiedocument.cookie.split(;).forEach(fnction (c) {document.cookie c.replace(/^ /, ).replace(/.*/, ;expires new Date().toUTCString() ;path/);});window.location.reload(); // 刷新页面}); };// 响应拦截器 service.interceptors.response.use((response) {// 对响应数据做点什么 这里只返回成功响应数据app.config.globalProperties.$smallLoading.hideLoading();return response.data;},(error) {// 对响应错误数据做点什么这里只显示错误消息app.config.globalProperties.$smallLoading.hideLoading();/* axios.isCancel(error) 是 Axios 库中的一个方法用于判断一个错误对象是否是由于请求取消导致的。当使用 axios.CancelToken 取消请求时会抛出一个带有一个 message 属性的错误对象。axios.isCancel(error) 的作用就是判断这个错误对象的类型如果是由请求取消导致的错误则返回 true否则返回 false。console.log(打印cancelToken.cancel(xxx)传入来的值, error.message);*/if (axios.isCancel(error)) {ElMessage.error(error.message); // 显示错误消息} else {// 不是由请求取消导致的错误let errorMessage; // 错误提示变量const statusData error.response?.data; // 错误data数据const describeForNameMap [[() error.message.indexOf(timeout) ! -1,() (errorMessage 网络超时 ),],[() error.message Network Error,() (errorMessage 网络连接错误 ),],[() statusData.code 100010011,() {// 100010011 token过期errorMessage statusData.message;tipError(errorMessage, 登录过期);},],// 否则 显示错误消息[() statusData, () (errorMessage statusData.message)],];// 获取符合条件的子数组const getDescribe describeForNameMap.find((item) item[0]());// 执行子数组中的函数getDescribe getDescribe[1]();ElMessage.error(errorMessage); // 显示错误消息}} );// 导出 service将其命名为axios , 同时还导出了一个名为cancelToken的变量取消请求 export { service as axios, cancelToken }; 你的 Pinia 加密插件 你的 Pinia 加密插件是一个基于 Pinia 的实用工具用于在 Vue.js 应用程序中加密和解密敏感数据。它提供了一种简单且安全的方式来保护你的数据。 安装 你可以使用 npm 或 yarn 安装插件 pnpm i vue3-encryption-plugin使用方法 在你的主应用程序入口文件例如 main.js中导入并使用 Pinia store 以及加密插件 // main.js import { createApp } from vue; import { createPinia } from pinia; import App from ./App.vue; import EncryptionPlugin from vue3-encryption-plugin;const app createApp(App);const pinia createPinia(); app.use(pinia);// 注册加密插件并提供自定义的密钥可选例如随机的字符串 app.use(EncryptionPlugin, { key: your-custom-secret-key });app.mount(#app);加密和解密 一旦你设置了插件你就可以在组件中使用 $encrypt 和 $decrypt 方法 第一种 getCurrentInstance() !-- YourComponent.vue --import { getCurrentInstance } from vue;setup(){// 获取当前组件的上下文下面两种方式都能获取到组件的上下文。const { ctx } getCurrentInstance(); // 方式一这种方式只能在开发环境下使用生产环境 下的ctx将访问不到const { proxy }: any getCurrentInstance(); // 方式二此方法在开发环境以及生产环境下都能到组件上下文对象推荐// ctx 中包含了组件中由ref和reactive创建的响应式数据对象,以及以下对象及方法;proxy.$attrsproxy.$dataproxy.$elproxy.$emitproxy.$forceUpdateproxy.$nextTickproxy.$optionsproxy.$parentproxy.$propsproxy.$refsproxy.$rootproxy.$slotsproxy.$watch}function handClick() {console.log(这里输出 ,proxy.$encryptionPlugin.encryptData({ name: zk, age: 26}));console.log(这里输出 ,proxy.$encryptionPlugin.decryptData(U2FsdGVkX1/PBDHn2pyLPAf6DmolvylM2QEIDhcf5I3WQWhOh19eos0uZfdbzdDP)); }第二种 injict (推荐) 1src / types / global.d.ts 定义类型 // 加密解密 declare interface EncryptionPlugin {encryptData: T(data: T) string;decryptData: T(encryptedData: string) T; }如果你使用 eslint 请在 .eslintrc.cjs 文件中添加 globals: {// 以下是全局变量 eslint 不会报EncryptionPlugin is not defined.eslint no-undefEncryptionPlugin: readonly,$encryptionPlugin: readonly,},2 页面使用 script setup langts import { inject } from vue;// 使用 inject 函数获取 encryptionPlugin const encryptionPlugin inject(encryptionPlugin) as EncryptionPlugin;function handClick() {// 现在你可以在你的组件中使用 encryptData 和 decryptData 方法了const encryptedData encryptionPlugin.encryptData(Hello World);const decryptedData encryptionPlugin.decryptData(encryptedData);console.log(加密 , encryptedData);console.log(解密 , decryptedData); } /script
http://www.w-s-a.com/news/693773/

相关文章:

  • 效果建网站的公凡科网登陆
  • 网站域名续费多少钱在线制作图片软件
  • 济南城乡住房建设厅网站中国会议营销网站
  • 展示类网站cms网站seo方法
  • 莒县做网站的公司设计师网站模版
  • 顺德顺的网站建设备份的网站建设方案书
  • 如何做网站广告山东电商网站建设
  • 新手建什么网站赚钱吗WordPress搜狗不收录
  • 石家庄招聘哪个网站做的好网站设计建设公司服务商
  • 建设公司网站大概需要多少钱建站平台和网站开发的区别
  • 淄川区住房和城乡建设局网站门户网站模板源码下载
  • 室内设计公司 网站建设建站塔山双喜
  • 网站建设属于什么经营范围销售网站开发业务
  • 企业建站系统平台优秀网站作品截图
  • 杭州品牌网站制作wordpress多域名移动主题
  • 北京网站网站建设icp备案 网站备案
  • 长春网站公司哪家好电子商务网站建设作文
  • 网站开发php程序员网上店铺怎么运营
  • mip网站怎么做匹配h5婚纱摄影网站模板
  • 怎么注册建设公司网站域名历史价格查询
  • 爱站网seo工具包互联网软件开发工程师
  • 百度站长工具平台登录郑州seo规则
  • 财税公司做网站精品建站教程
  • 建设区块链网站区块链开发平台有哪些
  • 青年人爱看的网站ie显示wordpress网页不完整
  • 优惠券推广网站怎么做青岛正规网站建设哪家便宜
  • 怎么搞一个服务器建设网站wordpress页眉编辑
  • 计算机企业网站建设论文流量平台是什么意思
  • 成都建设网站公司哪家好上海有名的广告公司
  • 收录优美图片找不到了整站seo优化一般多少钱