Files
HTFX-CRM-APP/utils/const.ts

103 lines
2.2 KiB
TypeScript
Raw Normal View History

2025-07-07 15:55:44 +08:00
import type { LocaleType } from '@/types/common';
import { Locales } from '@/types/common';
import { useUserStore } from '@/stores/user.ts';
export const defaultLocale = Locales.en_US;
export const locales: Locales[] = [
Locales.ar_SA,
Locales.en_US,
Locales.es_ES,
Locales.ko_KR,
Locales.th_TH,
Locales.vi_VN,
Locales.zh_CN,
Locales.zh_TW,
Locales.hi_IN,
Locales.id_ID
];
export function setLocale(locale: LocaleType) {
// vantLocale.use(Locales[locale], vantLocales[locale]);
uni.setLocale(locale);
//#ifdef H5
window.location.reload();
//#endif
}
export const languages = {
'ar-SA': 'ar_SA',
'en-US': 'en_US',
'es-ES': 'es_ES',
'hi-IN': 'hi_IN',
'ko-KR': 'ko_KR',
'th-TH': 'th_TH',
'vi-VN': 'vi_VN',
'zh-CN': 'zh_CN',
'zh-TW': 'zh_TW',
'in-ID': 'id_ID'
};
export const UserLanguage: LocaleType = languages[uni.getLocale() as LocaleType] ?? 'en_US';
export function getToken() {
const userStore = useUserStore();
const token = userStore.token ?? uni.getStorageSync('access_token');
return token;
}
export function clearToken() {
const userStore = useUserStore();
userStore.clear();
uni.removeStorageSync('access_token');
}
export const patterns = {
/**
* -'@
*/
name: /[^a-zA-Z\s\-'@/]/g,
/**
* 8-15
*/
passwordPattern1: /^.{8,15}$/,
/**
*
*/
passwordPattern2: /(?=.*[a-z])(?=.*[A-Z]).+/,
/**
*
*/
passwordPattern3: /(?=.*\d).+/,
/**
* #,@,!
*/
passwordPattern4: /.*[@#!].*/,
/**
*
*/
noSpace: /^\S*$/
};
export function isValidNumber(val: string | number) {
if (isNaN(Number(val))) {
return false;
} else {
return true;
}
}
export function getNumberLocaleIntegerPart(number: number | string) {
if (isNaN(parseInt(number?.toString()))) {
return 0;
} else {
return Math.floor(Number(number)).toLocaleString('en-US');
}
}
export function getNumberDecimalPart(number: number | string, precision = 2) {
if (isNaN(parseInt(number?.toString()))) {
return '00';
} else {
return Number(number).toFixed(precision).toString().split('.')[1];
}
}