feat(client): 添加品牌logo功能支持
- 在客户端账户实体中新增brandLogo字段用于存储品牌logo URL - 实现品牌logo的上传、获取和删除接口 - 在Vue前端中集成品牌logo的展示和管理功能- 添加品牌logo的缓存机制提升访问性能 - 在设置对话框中增加品牌logo配置界面 - 实现品牌logo的预览、上传和删除操作 - 添加VIP权限控制确保只有VIP用户可使用该功能 - 增加品牌logo变更事件监听以实时更新界面显示- 更新数据库映射文件以支持brand_logo字段的读写- 在登录成功后异步加载品牌logo配置信息- 调整UI布局以适配品牌logo展示区域- 添加品牌logo相关的样式定义和响应式处理 - 实现品牌logo上传的文件类型和大小校验- 增加品牌logo删除确认提示增强用户体验 - 在App.vue中添加品牌logo的全局状态管理和展示逻辑- 优化品牌logo加载失败时的容错处理 - 完善品牌logo功能的相关错误处理和日志记录
This commit is contained in:
@@ -35,16 +35,17 @@ async function handleAuth() {
|
||||
try {
|
||||
// 获取或生成设备ID
|
||||
const deviceId = await getOrCreateDeviceId()
|
||||
|
||||
|
||||
// 登录
|
||||
const loginRes: any = await authApi.login({
|
||||
...authForm.value,
|
||||
clientId: deviceId
|
||||
})
|
||||
|
||||
// 保存开屏图片配置(不阻塞登录)
|
||||
// 保存开屏图片配置和品牌logo(不阻塞登录)
|
||||
saveSplashConfigInBackground(authForm.value.username)
|
||||
|
||||
saveBrandLogoInBackground(authForm.value.username)
|
||||
|
||||
emit('loginSuccess', {
|
||||
token: loginRes.data.accessToken || loginRes.data.token,
|
||||
permissions: loginRes.data.permissions,
|
||||
@@ -90,6 +91,18 @@ async function saveSplashConfigInBackground(username: string) {
|
||||
console.error('[开屏图片] 保存配置失败:', error)
|
||||
}
|
||||
}
|
||||
|
||||
// 保存品牌logo配置
|
||||
async function saveBrandLogoInBackground(username: string) {
|
||||
try {
|
||||
const res = await splashApi.getBrandLogo(username)
|
||||
const url = res?.data?.url || ''
|
||||
// 触发App.vue加载品牌logo
|
||||
window.dispatchEvent(new CustomEvent('brandLogoChanged', { detail: url }))
|
||||
} catch (error) {
|
||||
console.error('[品牌logo] 加载配置失败:', error)
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<template>
|
||||
|
||||
Reference in New Issue
Block a user