new UI and handle cashing

This commit is contained in:
2026-06-16 19:47:28 +03:30
parent e174ae28c5
commit 6e5ea0319f
41 changed files with 2936 additions and 641 deletions
+40 -25
View File
@@ -1,31 +1,46 @@
import pkg from '../package.json'
import colors from './baseColor.json'
import { getConfigApp} from "@/utils/config";
/** base config **/
/** api document **/
// export const baseURL: string = 'https://api.gholaktala.ir/'
const projectBase = getConfigApp('node_server')
const projectName = getConfigApp('name')
export const baseURL: string = projectBase
// export const baseURL: string = 'https://api-gholaktala.z23.ir/'
/** Customer profile image upload (backend: POST /customer/avatar) */
export const avatarUploadURL: string = `${projectBase.replace(/\/$/, '')}/customer/avatar`
// const baseURLStorage: string = baseURL + '/v1'
const prefixCls: string = 'noname'
// const version: string = pkg.version
// const tokenName: string = 'gholaktala_app_token'
const tokenName: string = `${projectName}_app_token`
import { getConfigApp } from '@/utils/config'
const prefixCls = 'noname'
const baseButtonIconSize = '24'
// const appName = { fa: 'بدون نام', en: 'noname' }
/** Defining the secret key for crypto-js **/
// const secretKey: string = 'pwd@1234'
function readCachedTenantField(key: string): string {
try {
const cookie = document.cookie.split('; ').find((row) => row.startsWith('APP_CONFIG_CACHE='))
if (!cookie) return ''
const payload = JSON.parse(decodeURIComponent(cookie.slice('APP_CONFIG_CACHE='.length)))
const user = payload?.config?.user
const value = user?.[key]
return value != null ? String(value) : ''
} catch {
return ''
}
}
export function resolveProjectBase(): string {
return getConfigApp('node_server') || readCachedTenantField('node_server') || ''
}
/** fallback خالی — useAxios در هر درخواست node_server را از config می‌گیرد */
export const baseURL = ''
export function getAvatarUploadURL(): string {
const base = resolveProjectBase().replace(/\/$/, '')
return base ? `${base}/customer/avatar` : '/customer/avatar'
}
export function getTokenName(): string {
const name = getConfigApp('name') || readCachedTenantField('name') || 'app'
return `${name}_app_token`
}
/** @deprecated از getTokenName() استفاده کن */
export const tokenName = 'app_app_token'
export {
prefixCls,
colors,
baseButtonIconSize,
tokenName
prefixCls,
colors,
baseButtonIconSize,
}