扩展用户管理字段与组织编码生成,顶部改为仓库下拉;Nana 分 AI 与专属顾问 Tab,仓库页移除客服字段,并完善扫描语音与订单相关页面。 Co-authored-by: Cursor <cursoragent@cursor.com>
31 lines
843 B
TypeScript
31 lines
843 B
TypeScript
export const DEFAULT_MAX_IMAGE_BYTES = 2 * 1024 * 1024
|
|
|
|
export function readFileAsDataUrl(
|
|
file: File,
|
|
maxBytes = DEFAULT_MAX_IMAGE_BYTES,
|
|
tooLargeMessage = 'Image is too large',
|
|
): Promise<string> {
|
|
if (file.size > maxBytes) {
|
|
return Promise.reject(new Error(tooLargeMessage))
|
|
}
|
|
return new Promise((resolve, reject) => {
|
|
const reader = new FileReader()
|
|
reader.onload = () => resolve(String(reader.result || ''))
|
|
reader.onerror = () => reject(reader.error || new Error('read failed'))
|
|
reader.readAsDataURL(file)
|
|
})
|
|
}
|
|
|
|
export function urlToUploadFileList(url?: string | null, prefix = 'img') {
|
|
if (!url || String(url).trim() === '') return []
|
|
const value = String(url)
|
|
return [
|
|
{
|
|
uid: `${prefix}-${value.slice(0, 24)}`,
|
|
name: 'image',
|
|
url: value,
|
|
status: 'done',
|
|
},
|
|
]
|
|
}
|