mirror of
https://git-qiuchenly.yltfspace.com/QiuChenly/corepatch
synced 2025-11-25 13:41:26 +08:00
### 后端更新 性能优化 - Redis、数据库索引优化, 复杂联表查询查询速度从10秒降低到500ms 功能增强 - 统一文件上传 API - 论坛权限管理优化 ### 前端更新 问题修复 - 统一错误提示、组件复用、图标本地化、密码加密传输、大文件分片上传 新增功能 - 全局通知系统、WebSocket 实时消息、图标批量同步、IP 封禁管理、应用版本批量查询、头像上传、TypeScript 类型完善、讨论区功能增强 代码优化 - 删除冗余组件、统一 API 错误处理、优化代码结构、统一 UI 风格
22 lines
1.2 KiB
JavaScript
22 lines
1.2 KiB
JavaScript
import{A as t}from"./C_NDl53k.js"
|
|
async function s(s){var e,n
|
|
try{const c=s.filter(t=>t.hasIcon&&t.bundleId)
|
|
if(0===c.length)return
|
|
const a=c.map(t=>t.bundleId),o=await t.batchCheckAppIconsExist(a)
|
|
if(!o.success)return
|
|
const r=(null==(e=o.data)?void 0:e.missingBundleIds)||[]
|
|
if(0===r.length)return
|
|
const i=5
|
|
let l=0,u=0
|
|
const d=[],h=new Map
|
|
c.forEach(t=>{h.set(t.bundleId,t)})
|
|
for(let s=0;s<r.length;s+=i){const e=r.slice(s,s+i);(await Promise.allSettled(e.map(async s=>{try{const e=h.get(s),n=(null==e?void 0:e.name)||void 0,c=t.getAppIconUrl(s),a=await fetch(c)
|
|
if(!a.ok)throw new Error(`获取本地图标失败: HTTP ${a.status}`)
|
|
const o=await a.blob()
|
|
if(0===o.size)throw new Error("图标文件为空")
|
|
const r=new File([o],`${s}.png`,{type:o.type||"image/png"}),i=await t.syncAppIconToCloud(s,r,n)
|
|
if(i.success)return d.push(s),{bundleId:s,success:!0}
|
|
throw new Error(i.message||"上传失败")}catch(e){return{bundleId:s,success:!1,error:e.message||String(e)}}}))).forEach(t=>{"fulfilled"===t.status&&t.value.success?l++:u++})}if(d.length>0){await new Promise(t=>setTimeout(t,500))
|
|
const s=await t.batchCheckAppIconsExist(d)
|
|
s.success&&((null==(n=s.data)?void 0:n.missingBundleIds)||[]).length}}catch(c){}}export{s as b}
|