liangan преди 5 дни
родител
ревизия
0f7f548384
променени са 9 файла, в които са добавени 139 реда и са изтрити 48 реда
  1. 22 2
      env/.env
  2. 6 3
      src/api/common.ts
  3. 9 8
      src/api/login.ts
  4. 11 9
      src/api/mine.ts
  5. 7 6
      src/api/order.ts
  6. 6 5
      src/api/product.ts
  7. 13 11
      src/api/wallet.ts
  8. 22 0
      src/env.d.ts
  9. 43 4
      src/interceptors/request.ts

+ 22 - 2
env/.env

@@ -10,9 +10,29 @@ VITE_APP_PUBLIC_BASE=/
 # 登录页面
 VITE_LOGIN_URL = '/pages/login/login'
 # 第一个请求地址
-VITE_SERVER_BASEURL = 'http://124.222.152.234:8101'
+# VITE_SERVER_BASEURL = 'http://124.222.152.234:8101'
+VITE_SERVER_BASEURL = 'http://192.168.0.100:8101'
+VITE_SERVER_BASEURL_PREFIX = '/mall'
+# 是否替换第一个前缀
+VITE_SERVER_BASEURL_PREFIX_REPLACE = false
+# 替换后的前缀值
+VITE_SERVER_BASEURL_PREFIX_REPLACE_VALUE = ''
+
 # 第二个请求地址
-VITE_API_SECONDARY_URL = 'https://ukw0y1.laf.run'
+VITE_API_SECONDARY_URL = 'http://124.222.152.234:8101'
+VITE_API_SECONDARY_URL_PREFIX = '/cif'
+# 是否替换第二个前缀
+VITE_API_SECONDARY_URL_PREFIX_REPLACE = false
+# 替换后的前缀值
+VITE_API_SECONDARY_URL_PREFIX_REPLACE_VALUE = ''
+
+# 第三个请求地址
+VITE_API_THIRD_URL = 'http://124.222.152.234:8101'
+VITE_API_THIRD_URL_PREFIX = '/operating'
+# 是否替换第三个前缀
+VITE_API_THIRD_URL_PREFIX_REPLACE = false
+# 替换后的前缀值
+VITE_API_THIRD_URL_PREFIX_REPLACE_VALUE = ''
 
 VITE_UPLOAD_BASEURL = 'http://124.222.152.234:8101/operating/file/upload'
 

+ 6 - 3
src/api/common.ts

@@ -1,24 +1,27 @@
 import { qs } from '@/utils'
 import { http } from '@/utils/http'
 
+const pre = import.meta.env.VITE_SERVER_BASEURL_PREFIX
+const pre1 = import.meta.env.VITE_API_SECONDARY_URL_PREFIX
+const pre2 = import.meta.env.VITE_API_THIRD_URL_PREFIX
 /**
  * 获取枚举(1业务类型 2充值状态 3提现状态 4收益状态 5收益业务类型)
  * @returns
  */
 export function getEnum(data: any) {
-  return http.get<any>('/cif/api/user/getEnum', data)
+  return http.get<any>(`${pre1}/api/user/getEnum`, data)
 }
 /**
  * 获取地区
  * @returns
  */
 export function divisionsTreeList(data: any) {
-  return http.post<any>(`/operating/divisions/treeList?${qs(data)}`)
+  return http.post<any>(`${pre2}/divisions/treeList?${qs(data)}`)
 }
 /**
  * 获取banner
  * @returns
  */
 export function bannerList(data: any) {
-  return http.post<any>(`/mall/banner/list?${qs(data)}`, {})
+  return http.post<any>(`${pre}/banner/list?${qs(data)}`, {})
 }

+ 9 - 8
src/api/login.ts

@@ -1,12 +1,13 @@
 import { http } from '@/utils/http'
 
+const pre = import.meta.env.VITE_API_SECONDARY_URL_PREFIX
 /**
  * 获取验证码
  * @param phone 手机号
  * @returns ICaptcha 验证码
  */
 export function getCode(phoneNo?: string) {
-  return http.get<any>('/cif/api/user/getCode', { phoneNo })
+  return http.get<any>(`${pre}/api/user/getCode`, { phoneNo })
 }
 
 /**
@@ -14,35 +15,35 @@ export function getCode(phoneNo?: string) {
  * @param registerForm 注册表单
  */
 export function register(registerForm: any) {
-  return http.post<any>('/cif/api/user/register', registerForm)
+  return http.post<any>(`${pre}/api/user/register`, registerForm)
 }
 /**
  * 用户登录
  * @param loginForm 登录表单
  */
 export function login(loginForm: any) {
-  return http.post<any>('/cif/api/user/login', loginForm)
+  return http.post<any>(`${pre}/api/user/login`, loginForm)
 }
 
 /**
  * 获取用户信息
  */
 export function getUserInfo() {
-  return http.get<any>('/cif/api/user/getUserInfo')
+  return http.get<any>(`${pre}/api/user/getUserInfo`)
 }
 
 /**
  * 退出登录
  */
 export function logout() {
-  return http.get<void>('/user/logout')
+  return http.get<void>(`/user/logout`)
 }
 
 /**
  * 修改用户信息
  */
 export function updateInfo(data: any) {
-  return http.post('/cif/api/user/updateUser', data)
+  return http.post(`${pre}/api/user/updateUser`, data)
 }
 
 /**
@@ -50,7 +51,7 @@ export function updateInfo(data: any) {
  *  入参{newPwd:string,verifyCode:string}
  */
 export function updateUserPassword(data: any) {
-  return http.get('/cif/api/user/resetPwdByCode', data)
+  return http.get(`${pre}/api/user/resetPwdByCode`, data)
 }
 
 /**
@@ -60,7 +61,7 @@ export function updateUserPassword(data: any) {
 export function getWxCode() {
   return new Promise<UniApp.LoginRes>((resolve, reject) => {
     uni.login({
-      provider: 'weixin',
+      provider: `weixin`,
       success: res => resolve(res),
       fail: err => reject(new Error(err)),
     })

+ 11 - 9
src/api/mine.ts

@@ -1,12 +1,14 @@
 import { extractAndRetained, qs } from '@/utils'
 import { http } from '@/utils/http'
 
+const pre = import.meta.env.VITE_SERVER_BASEURL_PREFIX
+const pre1 = import.meta.env.VITE_API_SECONDARY_URL_PREFIX
 /**
  * 新增收获地址
  * @returns
  */
 export function addressAdd(data: any) {
-  return http.post<any>('/mall/user/address/add', data)
+  return http.post<any>(`${pre}/user/address/add`, data)
 }
 
 /**
@@ -15,7 +17,7 @@ export function addressAdd(data: any) {
  */
 export function addressList(data: any) {
   const { extract, retained } = extractAndRetained(data, ['page', 'size'])
-  return http.post<any>(`/mall/user/address/list?${qs(extract)}`, retained)
+  return http.post<any>(`${pre}/user/address/list?${qs(extract)}`, retained)
 }
 
 /**
@@ -23,7 +25,7 @@ export function addressList(data: any) {
  * @returns
  */
 export function addressDetail(data: any) {
-  return http.post<any>(`/mall/user/address/detail?${qs(data)}`)
+  return http.post<any>(`${pre}/user/address/detail?${qs(data)}`)
 }
 
 /**
@@ -31,14 +33,14 @@ export function addressDetail(data: any) {
  * @returns
  */
 export function addressUpdate(data: any) {
-  return http.post<any>(`/mall/user/address/update`, data)
+  return http.post<any>(`${pre}/user/address/update`, data)
 }
 /**
  * 收获地址删除 入参id
  * @returns
  */
 export function addressDel(data: any) {
-  return http.post<any>(`/mall/user/address/delete?${qs(data)}`)
+  return http.post<any>(`${pre}/user/address/delete?${qs(data)}`)
 }
 
 /**
@@ -46,14 +48,14 @@ export function addressDel(data: any) {
  * @returns
  */
 export function todayDetail(data: any) {
-  return http.post<any>(`/mall/user/sign/todayDetail?${qs(data)}`)
+  return http.post<any>(`${pre}/user/sign/todayDetail?${qs(data)}`)
 }
 /**
  * 签到
  * @returns
  */
 export function clockIn(data: any) {
-  return http.post<any>(`/mall/user/sign/clockIn?${qs(data)}`)
+  return http.post<any>(`${pre}/user/sign/clockIn?${qs(data)}`)
 }
 
 /**
@@ -61,7 +63,7 @@ export function clockIn(data: any) {
  * @returns
  */
 export function memberConfigs() {
-  return http.get<any>(`/cif/api/user/memberConfigs`)
+  return http.get<any>(`${pre1}/api/user/memberConfigs`)
 }
 
 /**
@@ -69,5 +71,5 @@ export function memberConfigs() {
  * @returns
  */
 export function myUsers(data: any) {
-  return http.post<any>(`/cif/api/user/myUsers`, data)
+  return http.post<any>(`${pre1}/api/user/myUsers`, data)
 }

+ 7 - 6
src/api/order.ts

@@ -1,40 +1,41 @@
 import { extractAndRetained, qs } from '@/utils'
 import { http } from '@/utils/http'
 
+const pre = import.meta.env.VITE_SERVER_BASEURL_PREFIX
 /**
  * 商品预下单
  * @returns
  */
 export function preOrder(data: any) {
-  return http.post<any>(`/mall/order/pre/order`, data)
+  return http.post<any>(`${pre}/order/pre/order`, data)
 }
 /**
  * 加载预下单
  * @returns
  */
 export function loadPre(data: any) {
-  return http.post<any>(`/mall/order/load/pre?${qs(data)}`)
+  return http.post<any>(`${pre}/order/load/pre?${qs(data)}`)
 }
 /**
  * 计算订单价格
  * @returns
  */
 export function computedPrice(data: any) {
-  return http.post<any>(`/mall/order/computed/price`, data)
+  return http.post<any>(`${pre}/order/computed/price`, data)
 }
 /**
  * 创建订单
  * @returns
  */
 export function createOrder(data: any) {
-  return http.post<any>(`/mall/order/add`, data)
+  return http.post<any>(`${pre}/order/add`, data)
 }
 /**
  * 支付
  * @returns
  */
 export function payOrder(data: any) {
-  return http.post<any>(`/mall/order/goPay`, data)
+  return http.post<any>(`${pre}/order/goPay`, data)
 }
 /**
  * 订单列表
@@ -42,5 +43,5 @@ export function payOrder(data: any) {
  */
 export function orderList(data: any) {
   const { extract, retained } = extractAndRetained(data, ['page', 'size'])
-  return http.post<any>(`/mall/order/app/list?${qs(extract)}`, retained)
+  return http.post<any>(`${pre}/order/app/list?${qs(extract)}`, retained)
 }

+ 6 - 5
src/api/product.ts

@@ -1,20 +1,21 @@
 import { extractAndRetained, qs } from '@/utils'
 import { http } from '@/utils/http'
 
+const pre = import.meta.env.VITE_SERVER_BASEURL_PREFIX
 /**
  * 获取商品列表
  * @returns data.list[]
  */
 export function getList(data: any) {
   const { extract, retained } = extractAndRetained(data, ['page', 'size'])
-  return http.post<any>(`/mall/combination/app/list?${qs(extract)}`, { ...retained, isShow: 1 })
+  return http.post<any>(`${pre}/combination/app/list?${qs(extract)}`, { ...retained, isShow: 1 })
 }
 /**
  * 获取商品列表
  * @returns data.list[]
  */
 export function getRankList(data: any) {
-  return http.get<any>(`/mall/combination/rank`, data)
+  return http.get<any>(`${pre}/combination/rank`, data)
 }
 
 /**
@@ -23,7 +24,7 @@ export function getRankList(data: any) {
  */
 export function categoryList(data: any) {
   const { extract, retained } = extractAndRetained(data, ['page', 'size'])
-  return http.post<any>(`/mall/category/list?${qs(extract)}`, retained)
+  return http.post<any>(`${pre}/category/list?${qs(extract)}`, retained)
 }
 
 /**
@@ -32,12 +33,12 @@ export function categoryList(data: any) {
  */
 export function getDetail(data: any) {
   const { extract } = extractAndRetained(data, ['id'])
-  return http.post<any>(`/mall/product/detail?${qs(extract)}`)
+  return http.post<any>(`${pre}/product/detail?${qs(extract)}`)
 }
 /**
  * 获取商品的拼团信息
  * @returns data.list[]
  */
 export function pinkList(data: any) {
-  return http.post<any>(`/mall/pink/ongoing/list`, data)
+  return http.post<any>(`${pre}/pink/ongoing/list`, data)
 }

+ 13 - 11
src/api/wallet.ts

@@ -1,79 +1,81 @@
 import { http } from '@/utils/http'
 
+const pre = import.meta.env.VITE_API_SECONDARY_URL_PREFIX
+
 /**
  * 查询收益账户信息
  * @returns
  */
 export function getAccountInfo() {
-  return http.get<any>(`/cif/account/api/getAccountInfo`)
+  return http.get<any>(`${pre}/account/api/getAccountInfo`)
 }
 /**
  * 查询钱包账户信息
  * @returns
  */
 export function getWalletAccountInfo() {
-  return http.get<any>(`/cif/account/api/getWalletAccountInfo`)
+  return http.get<any>(`${pre}/account/api/getWalletAccountInfo`)
 }
 /**
  * 钱包出入流水
  * @returns
  */
 export function walletFlowList(data: any) {
-  return http.post<any>(`/cif/account/api/accountFlowList`, data)
+  return http.post<any>(`${pre}/account/api/accountFlowList`, data)
 }
 /**
  * 查询收益记录
  * @returns
  */
 export function envelopeList(data: any) {
-  return http.post<any>(`/cif/api/red/envelope/list`, data)
+  return http.post<any>(`${pre}/api/red/envelope/list`, data)
 }
 /**
  * 账户提现(钱包/收益账户)
  * @returns
  */
 export function withdrawAdd(data: any) {
-  return http.post<any>(`/cif/api/withdraw/record/add`, data)
+  return http.post<any>(`${pre}/api/withdraw/record/add`, data)
 }
 /**
  * 账户提现记录(钱包/收益账户)
  * @returns
  */
 export function withdrawRecordList(data: any) {
-  return http.post<any>(`/cif/api/withdraw/record/list`, data)
+  return http.post<any>(`${pre}/api/withdraw/record/list`, data)
 }
 /**
  * 充值选项组
  * @returns
  */
 export function rechargeGoodsList() {
-  return http.get<any>(`/cif/api/recharge/record/goodsList`)
+  return http.get<any>(`${pre}/api/recharge/record/goodsList`)
 }
 /**
  * 创建充值订单
  * @returns
  */
 export function rechargeAdd(data: any) {
-  return http.get<any>(`/cif/api/recharge/record/add`, data)
+  return http.get<any>(`${pre}/api/recharge/record/add`, data)
 }
 /**
  * 充值回调
  * @returns
  */
 export function rechargeCallback(data: any) {
-  return http.get<any>(`/cif/api/recharge/record/callback`, data)
+  return http.get<any>(`${pre}/api/recharge/record/callback`, data)
 }
 /**
  * 充值记录
  * @returns
  */
 export function rechargeRecordList(data: any) {
-  return http.post<any>(`/cif/api/recharge/record/list`, data)
+  return http.post<any>(`${pre}/api/recharge/record/list`, data)
 }
 /**
  * 排行榜type 1 7天收益排行
  * @returns
  */
 export function redEnvelopeTop(data: any) {
-  return http.get<any>(`/cif/api/red/envelope/top`, data)
+  return http.get<any>(`${pre}/api/red/envelope/top`, data)
 }

+ 22 - 0
src/env.d.ts

@@ -15,6 +15,28 @@ interface ImportMetaEnv {
   readonly VITE_SERVER_PORT: string
   /** 后台接口地址 */
   readonly VITE_SERVER_BASEURL: string
+  /** 第一个请求地址前缀 */
+  readonly VITE_SERVER_BASEURL_PREFIX: string
+  /** 是否替换第一个前缀 */
+  readonly VITE_SERVER_BASEURL_PREFIX_REPLACE: 'true' | 'false'
+  /** 替换后的第一个前缀值 */
+  readonly VITE_SERVER_BASEURL_PREFIX_REPLACE_VALUE: string
+  /** 第二个请求地址 */
+  readonly VITE_API_SECONDARY_URL: string
+  /** 第二个请求地址前缀 */
+  readonly VITE_API_SECONDARY_URL_PREFIX: string
+  /** 是否替换第二个前缀 */
+  readonly VITE_API_SECONDARY_URL_PREFIX_REPLACE: 'true' | 'false'
+  /** 替换后的第二个前缀值 */
+  readonly VITE_API_SECONDARY_URL_PREFIX_REPLACE_VALUE: string
+  /** 第三个请求地址 */
+  readonly VITE_API_THIRD_URL: string
+  /** 第三个请求地址前缀 */
+  readonly VITE_API_THIRD_URL_PREFIX: string
+  /** 是否替换第三个前缀 */
+  readonly VITE_API_THIRD_URL_PREFIX_REPLACE: 'true' | 'false'
+  /** 替换后的第三个前缀值 */
+  readonly VITE_API_THIRD_URL_PREFIX_REPLACE_VALUE: string
   /** H5是否需要代理 */
   readonly VITE_APP_PROXY: 'true' | 'false'
   /** H5是否需要代理,需要的话有个前缀 */

+ 43 - 4
src/interceptors/request.ts

@@ -12,6 +12,43 @@ export type CustomRequestOptions = UniApp.RequestOptions & {
 // 请求基准地址
 const baseUrl = getEnvBaseUrl()
 
+// 获取对应前缀的请求地址和处理前缀替换
+function getBaseUrlAndProcessPrefix(url: string): { baseUrl: string, processedUrl: string } {
+  const mallPrefix = import.meta.env.VITE_SERVER_BASEURL_PREFIX || '/mall'
+  const cifPrefix = import.meta.env.VITE_API_SECONDARY_URL_PREFIX || '/cif'
+  const operatingPrefix = import.meta.env.VITE_API_THIRD_URL_PREFIX || '/operating'
+
+  let targetBaseUrl = baseUrl
+  let processedUrl = url
+
+  if (url.startsWith(mallPrefix)) {
+    targetBaseUrl = import.meta.env.VITE_SERVER_BASEURL || baseUrl
+    // 检查是否需要替换前缀
+    if (import.meta.env.VITE_SERVER_BASEURL_PREFIX_REPLACE === 'true') {
+      const replaceValue = import.meta.env.VITE_SERVER_BASEURL_PREFIX_REPLACE_VALUE || ''
+      processedUrl = url.replace(mallPrefix, replaceValue)
+    }
+  }
+  else if (url.startsWith(cifPrefix)) {
+    targetBaseUrl = import.meta.env.VITE_API_SECONDARY_URL || baseUrl
+    // 检查是否需要替换前缀
+    if (import.meta.env.VITE_API_SECONDARY_URL_PREFIX_REPLACE === 'true') {
+      const replaceValue = import.meta.env.VITE_API_SECONDARY_URL_PREFIX_REPLACE_VALUE || ''
+      processedUrl = url.replace(cifPrefix, replaceValue)
+    }
+  }
+  else if (url.startsWith(operatingPrefix)) {
+    targetBaseUrl = import.meta.env.VITE_API_THIRD_URL || baseUrl
+    // 检查是否需要替换前缀
+    if (import.meta.env.VITE_API_THIRD_URL_PREFIX_REPLACE === 'true') {
+      const replaceValue = import.meta.env.VITE_API_THIRD_URL_PREFIX_REPLACE_VALUE || ''
+      processedUrl = url.replace(operatingPrefix, replaceValue)
+    }
+  }
+
+  return { baseUrl: targetBaseUrl, processedUrl }
+}
+
 // 拦截器配置
 const httpInterceptor = {
   // 拦截前触发
@@ -28,21 +65,23 @@ const httpInterceptor = {
     }
     // 非 http 开头需拼接地址
     if (!options.url.startsWith('http')) {
+      // 根据URL前缀获取对应的基础地址和处理前缀替换
+      const { baseUrl: targetBaseUrl, processedUrl } = getBaseUrlAndProcessPrefix(options.url)
+
       // #ifdef H5
       // console.log(__VITE_APP_PROXY__)
       if (JSON.parse(__VITE_APP_PROXY__)) {
         // 自动拼接代理前缀
-        options.url = import.meta.env.VITE_APP_PROXY_PREFIX + options.url
+        options.url = import.meta.env.VITE_APP_PROXY_PREFIX + processedUrl
       }
       else {
-        options.url = baseUrl + options.url
+        options.url = targetBaseUrl + processedUrl
       }
       // #endif
       // 非H5正常拼接
       // #ifndef H5
-      options.url = baseUrl + options.url
+      options.url = targetBaseUrl + processedUrl
       // #endif
-      // TIPS: 如果需要对接多个后端服务,也可以在这里处理,拼接成所需要的地址
     }
     // 1. 请求超时
     options.timeout = 10000 // 10s