XuqmGroup-RNSDK/packages/common/src/index.ts

71 行
2.1 KiB
TypeScript

export { XuqmSDK } from './sdk'
export type { XuqmInitOptions, XuqmConfig, XuqmLoginOptions, XuqmUserInfo } from './config'
export { getConfig, isInitialized, getUserId, getUserInfo } from './config'
export { awaitInitialization } from './sdk'
export { apiRequest, configureHttp } from './http'
export {
bytesToBase64,
decryptConfigFile,
decryptXuqmFile,
hmacSha256Base64Url,
sha256Hex,
} from './crypto'
export type { DecryptedConfig, XuqmEncryptedFileMagic } from './crypto'
export { DEFAULT_TENANT_PLATFORM_URL, DEFAULT_IM_WS_URL } from './constants'
export { getDeviceId, getDeviceInfo, detectPushVendor } from './device'
export type { DeviceInfo, PushVendor } from './device'
export {
expirationStatus,
formatDateTime,
formatNumericDateTime,
millisecondsUntil,
toTimestamp,
} from './date'
export type { DateInput, ExpirationStatus, NumericDateTimeFormatOptions } from './date'
export {
deleteFile,
downloadFileToPath,
ensureDirectory,
fileExists,
getFileDirectories,
inferMimeType,
openLocalFile,
readFileAsBase64,
registerAndroidDownloadedFile,
resolveAvailableFilePath,
writeBase64File,
} from './file'
export type { FileConflictPolicy, FileDownloadTask, FileTransferProgress } from './file'
export {
fileExtension,
fileNameFromUrl,
parseContentDispositionFileName,
sanitizeFileName,
} from './fileName'
export { downloadBytes, downloadText, DownloadError } from './download'
export type { DownloadOptions, DownloadProgress } from './download'
export {
compareVersions,
compatibleMajorRange,
isVersionUpgrade,
normalizeVersion,
satisfiesVersion,
} from './version'
export { ScaledImage } from './components/ScaledImage'
// api/ 子模块
export {
RequestError,
setGlobalApiErrorHandler,
useRequest,
useApi,
usePageApi,
ValidationError,
} from './api'
export type { RequestOptions as UseRequestOptions, ApiMethod } from './api'
export type { SafeApiDiagnostic, SafeApiErrorReport } from './api'
export type { PageOptions } from './api'
export type { AxiosRequestConfig } from 'axios'
// ui/ 子模块
export { showToast, showAlert, showConfirm, configureToast } from './ui'