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

中国移动网站备案管理系统不能用科普网站建设的支持力度

中国移动网站备案管理系统不能用,科普网站建设的支持力度,江苏网站建设 博敏网站,网站原型图设计软件文章目录 一、需求二、分析1. 安装axios2. 新建一个 ts 文件#xff0c;封装 axios3. store 存放 token 信息4. 使用5. 文件 type.js 一、需求 在日常开发中#xff0c;我们会经常用到 axios #xff0c;那么如何在自己的项目中自己封装 axios 二、分析 1. 安装axios np… 文章目录 一、需求二、分析1. 安装axios2. 新建一个 ts 文件封装 axios3. store 存放 token 信息4. 使用5. 文件 type.js 一、需求 在日常开发中我们会经常用到 axios 那么如何在自己的项目中自己封装 axios 二、分析 1. 安装axios npm install axios2. 新建一个 ts 文件封装 axios 手写一个TS文件 src\utils\request.ts我的习惯把它放在 utils 目录下源码如下 import axios, { InternalAxiosRequestConfig, AxiosResponse } from axios; import { useUserStoreHook } from /store/modules/user;// 创建 axios 实例 const service axios.create({baseURL: import.meta.env.VITE_APP_BASE_API,timeout: 50000,headers: { Content-Type: application/json;charsetutf-8 }, });// 请求拦截器 service.interceptors.request.use((config: InternalAxiosRequestConfig) {const userStore useUserStoreHook();if (userStore.token) {config.headers.Authorization userStore.token;}return config;},(error: any) {return Promise.reject(error);} );// 响应拦截器 service.interceptors.response.use((response: AxiosResponse) {const { code, msg } response.data;if (code 00000) {return response.data;}// 响应数据为二进制流处理(Excel导出)if (response.data instanceof ArrayBuffer) {return response;}ElMessage.error(msg || 系统出错);return Promise.reject(new Error(msg || Error));},(error: any) {if (error.response.data) {const { code, msg } error.response.data;// token 过期,重新登录if (code A0230) {ElMessageBox.confirm(当前页面已失效请重新登录, 提示, {confirmButtonText: 确定,type: warning,}).then(() {localStorage.clear();window.location.href /;});} else {ElMessage.error(msg || 系统出错);}}return Promise.reject(error.message);} );// 导出 axios 实例 export default service;3. store 存放 token 信息 我的 store 中存放了用户的登录信息在封装 axios 时只用到了 token因此下方代码可做参考 import { defineStore } from pinia;import { loginApi, logoutApi } from /api/auth; import { getUserInfo } from /api/user; import { resetRouter } from /router; import { store } from /store;import { LoginData } from /api/auth/types; import { UserInfo } from /api/user/types;import { useStorage } from vueuse/core;export const useUserStore defineStore(user, () {// stateconst userId ref();const token useStorage(accessToken, );const nickname ref();const avatar ref();const roles refArraystring([]); // 用户角色编码集合 → 判断路由权限const perms refArraystring([]); // 用户权限编码集合 → 判断按钮权限/*** 登录调用** param {LoginData}* returns*/function login(loginData: LoginData) {return new Promisevoid((resolve, reject) {loginApi(loginData).then((response) {const { tokenType, accessToken } response.data;token.value tokenType accessToken; // Bearer eyJhbGciOiJIUzI1NiJ9.xxx.xxxresolve();}).catch((error) {reject(error);});});}// 获取信息(用户昵称、头像、角色集合、权限集合)function getInfo() {return new PromiseUserInfo((resolve, reject) {getUserInfo().then(({ data }) {if (!data) {return reject(Verification failed, please Login again.);}if (!data.roles || data.roles.length 0) {reject(getUserInfo: roles must be a non-null array!);}userId.value data.userId;nickname.value data.nickname;avatar.value data.avatar;roles.value data.roles;perms.value data.perms;resolve(data);}).catch((error) {reject(error);});});}// 注销function logout() {return new Promisevoid((resolve, reject) {logoutApi().then(() {resetRouter();resetToken();location.reload(); // 清空路由resolve();}).catch((error) {reject(error);});});}// 重置function resetToken() {token.value ;nickname.value ;avatar.value ;roles.value [];perms.value [];}return {token,nickname,avatar,roles,perms,login,getInfo,logout,resetToken,/*** 当前登录用户ID*/userId,}; });// 非setup export function useUserStoreHook() {return useUserStore(store); }4. 使用 import request from /utils/request; import { AxiosPromise } from axios; import { UserForm, UserInfo, UserQuery } from ./types;/*** 登录成功后获取用户信息昵称、头像、权限集合和角色集合*/ export function getUserInfo(): AxiosPromiseUserInfo {return request({url: /api/v1/users/me,method: get,}); }/*** 添加用户** param data*/ export function addUser(data: any) {return request({url: /api/v1/users,method: post,data: data,}); } /*** 修改用户** param id* param data*/ export function updateUser(id: number, data: UserForm) {return request({url: /api/v1/users/ id,method: put,data: data,}); } /*** 修改用户状态** param id* param status*/ export function updateUserStatus(id: number, status: number) {return request({url: /api/v1/users/ id /status,method: patch,params: { status: status },}); } /*** 删除用户** param ids*/ export function deleteUsers(ids: string) {return request({url: /api/v1/users/ ids,method: delete,}); } /*** 下载用户导入模板** returns*/ export function downloadTemplateApi() {return request({url: /api/v1/users/template,method: get,responseType: arraybuffer,}); }/*** 导出用户** param queryParams* returns*/ export function exportUser(queryParams: UserQuery) {return request({url: /api/v1/users/_export,method: get,params: queryParams,responseType: arraybuffer,}); }/*** 导入用户** param file*/ export function importUser(deptId: number, file: File) {const formData new FormData();formData.append(file, file);return request({url: /api/v1/users/_import,method: post,params: { deptId: deptId },data: formData,headers: {Content-Type: multipart/form-data,},}); } 5. 文件 type.js /*** 用户查询对象类型*/ export interface UserQuery {keywords?: string;status?: number;deptId?: number; }/*** 登录用户信息*/ export interface UserInfo {userId: number;nickname: string;avatar: string;roles: string[];perms: string[]; }/*** 用户表单类型*/ export interface UserForm {/*** 用户头像*/avatar?: string;/*** 部门ID*/deptId?: number;/*** 邮箱*/email?: string;/*** 性别*/gender?: number;/*** 用户ID*/id?: number;mobile?: string;/*** 昵称*/nickname?: string;/*** 角色ID集合*/roleIds?: number[];/*** 用户状态(1:正常;0:禁用)*/status?: number;/*** 用户名*/username?: string; }
http://www.pierceye.com/news/159075/

相关文章:

  • 谁教我做啊谁会做网站啊企业网站模板seo
  • 自己建立一个网站需要什么wordpress 平衡插件
  • 邯郸手机建站价格青海网站开发 建设
  • 苏州 手机网站免费个人简历模板电子版可填写
  • 永州内部网站建设公司wordpress 模版开发
  • 云建站优势门户网站如何建设方案
  • 网站建设收费标准不一湖州网站开发公司
  • asp制作网站青岛建网站公司
  • 人人商城程序做的网站打不开百度网盘客户端下载
  • 医疗器械注册证查询网站优化推广服务
  • 网站制作网页做简单的网站首页
  • 怎样做网站上的语种链接泰安网络犯罪案件
  • soap公司网站建设国家游戏网站
  • 网站可以用什么做安阳区号是什么
  • 网站建设实战李静如何建设网站的能力
  • 威海 网站开发做家具的网站有哪些
  • 宁波网站建设公司怎么报价网页打开速度慢的解决方法
  • 有趣的网站有哪些推荐关键词没有排名的网站怎么做
  • 昆山网站制作哪家强海淀区企业网络公司
  • 北京网站制建设公司永兴县网站建设服务商
  • 嘉兴做网站优化公司江阴网站优化公司
  • dz可以做旅游网站吗wordpress 4.1.1 漏洞
  • 谷歌网站地图生成福州便民网免费发布信息
  • 最新军事战争新闻超级优化大师
  • 好的网站建设公司排名网站建设 交易保障
  • 怎么查看网站外链效果代理注册公司有什么风险
  • 西安网站漏洞免费自动生成小程序
  • 怎么修改网站信息同ip网站做301
  • 松江品划网络做网站logo设计网页
  • 重庆博达建设集团股份有限公司网站徐州建设企业网站