From 87ef27759f2bb61454aead7387c01368d8462a36 Mon Sep 17 00:00:00 2001 From: dkp Date: Fri, 20 Jun 2025 16:58:03 +0800 Subject: [PATCH] =?UTF-8?q?refactor(api):=20=E9=87=8D=E6=9E=84=20API?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E5=B9=B6=E4=BC=98=E5=8C=96=E4=BC=81=E4=B8=9A?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E5=A4=84=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 移除各 API函数中的重复 headers 设置 - 在全局请求拦截器中添加企业 ID 头部信息 - 优化企业信息状态管理,确保信息不为空时才进行更新 -调整 API 调用方式,统一使用新格式 --- src/api/all/index.ts | 12 ++++++------ src/api/index.ts | 9 ++++++++- src/stores/modules/enterprise/index.ts | 20 +++++++++++++++----- 3 files changed, 29 insertions(+), 12 deletions(-) diff --git a/src/api/all/index.ts b/src/api/all/index.ts index b2f861e..3d60f5e 100644 --- a/src/api/all/index.ts +++ b/src/api/all/index.ts @@ -97,7 +97,7 @@ export const fetchGenderDistributionsList = (params: any) => { // 导出一个函数,用于获取产品列表 export const fetchProductList = () => { // 使用Http.get方法,发送GET请求,获取产品列表 - return Http.get('/v1/products/list', {}, { headers: { 'enterprise-id': 1 } }); + return Http.get('/v1/products/list'); }; // 导出一个函数,用于获取成功案例列表 @@ -108,12 +108,12 @@ export const fetchSuccessCaseList = () => { // 试用产品 export const trialProduct = (id: number) => { - return Http.post(`/v1/products/${id}/try`, {}, { headers: { 'enterprise-id': 1 } }); + return Http.post(`/v1/products/${id}/try`); }; // 修改企业名称 export const updateEnterpriseName = (data: any) => { - return Http.patch(`/v1/enterprises/name`, data, { headers: { 'enterprise-id': 1 } }); + return Http.patch(`/v1/enterprises/name`, data); }; // 发送修改手机号验证码 @@ -133,7 +133,7 @@ export const updateMyInfo = (data: any) => { // 获取企业账号分页 export const fetchSubAccountPage = (params: any) => { - return Http.get(`/v1/enterprises/users`, params, { headers: { 'enterprise-id': 1 } }); + return Http.get(`/v1/enterprises/users`, params); }; // 获取企业账号分页 @@ -143,10 +143,10 @@ export const fetchImageUploadFile = (params: any) => { // 移除企业子账号 export const removeEnterpriseAccount = (userId: number) => { - return Http.delete(`/v1/enterprises/users/${userId}`, { headers: { 'enterprise-id': 1 } }); + return Http.delete(`/v1/enterprises/users/${userId}`); }; // 获取企业邀请码 export const getEnterpriseInviteCode = () => { - return Http.get(`/v1/enterprises/invite-code`, {}, { headers: { 'enterprise-id': 1 } }); + return Http.get(`/v1/enterprises/invite-code`); }; diff --git a/src/api/index.ts b/src/api/index.ts index 2fe5ed6..3927722 100644 --- a/src/api/index.ts +++ b/src/api/index.ts @@ -8,7 +8,10 @@ import axios from 'axios'; import type { AxiosInstance, AxiosRequestConfig, AxiosResponse } from 'axios'; - +import { useEnterpriseStore } from '@/stores/modules/enterprise'; +import pinia from '@/stores'; +const store = useEnterpriseStore(pinia); +const enterprise = store.getEnterpriseInfo(); //* 导出Request类,可以用来自定义传递配置来创建实例 export class Request { //* axios 实例 @@ -27,6 +30,10 @@ export class Request { } else { config.headers!.satoken = '123'; } + + if (enterprise) { + config.headers!['enterprise-id'] = enterprise.id; + } return config; }, (err: any) => { diff --git a/src/stores/modules/enterprise/index.ts b/src/stores/modules/enterprise/index.ts index 4524cb1..d71190d 100644 --- a/src/stores/modules/enterprise/index.ts +++ b/src/stores/modules/enterprise/index.ts @@ -7,8 +7,12 @@ interface EnterpriseInfo { used_sub_account_count: number; } +interface EnterpriseState { + enterpriseInfo: EnterpriseInfo | null; +} + export const useEnterpriseStore = defineStore('enterprise', { - state: () => ({ + state: (): EnterpriseState => ({ // todo 暂时写死,登录功能完成后记得重置为null哦 enterpriseInfo: { id: 1, @@ -24,15 +28,21 @@ export const useEnterpriseStore = defineStore('enterprise', { this.enterpriseInfo = enterpriseInfo; }, setEnterpriseName(name: string) { - this.enterpriseInfo.name = name; + if (this.enterpriseInfo) { + this.enterpriseInfo.name = name; + } }, incUsedUpdateNameCount() { - this.enterpriseInfo.used_update_name_count++; + if (this.enterpriseInfo) { + this.enterpriseInfo.used_update_name_count++; + } }, incUsedSubAccountCount() { - this.enterpriseInfo.used_sub_account_count++; + if (this.enterpriseInfo) { + this.enterpriseInfo.used_sub_account_count++; + } }, - getEnterpriseInfo(): EnterpriseInfo { + getEnterpriseInfo(): EnterpriseInfo | null { return this.enterpriseInfo; }, },