fix: 修复图片上传字段语义颠倒及加载缺失鉴权头导致的 403
- 修正 UploadUtil 返回字段到 FileBean 的映射: newName 是原图(较大)、zipFileName 是缩略图(较小) - 保证 bean.pic 存缩略图、bean.originalPic 存原图 - 全局 loadImage BindingAdapter 对 http(s) URL 自动包装 GlideUrl + Authorization,避免 /file/getImg/ 接口 403 - ImageSelectViewHolder 缩略图带鉴权加载,点击预览传原图 - 覆盖国内/国际事故签证、国内进港移库/移交编辑页面 - CLAUDE.md 同步修正 UploadBean 字段语义文档 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -75,23 +75,18 @@ class AccidentVisaDetailsViewModel : BaseViewModel(), IOnItemClickListener {
|
||||
onSuccess = {
|
||||
dataBean.value = it.data ?: AccidentVisaBean()
|
||||
|
||||
// 渲染图片
|
||||
val list = dataBean.value!!.pic.split(",")
|
||||
.filter { url -> url.isNotEmpty() }
|
||||
.map { url ->
|
||||
FileBean(MediaUtil.fillUrl(url), url)
|
||||
}
|
||||
val zipList = dataBean.value!!.originalPic.split(",")
|
||||
.filter { url -> url.isNotEmpty() }
|
||||
.map { url ->
|
||||
FileBean(MediaUtil.fillUrl(url))
|
||||
}
|
||||
for ((index, fileBean) in list.withIndex()) {
|
||||
val originalPic = zipList.get(index).path
|
||||
list.get(index).originalPic = originalPic
|
||||
// 渲染图片:pic 存缩略图文件名,originalPic 存原图文件名
|
||||
val picList = dataBean.value!!.pic.split(",").filter { it.isNotEmpty() }
|
||||
val originalPicList = dataBean.value!!.originalPic.split(",").filter { it.isNotEmpty() }
|
||||
val list = picList.mapIndexed { index, picFilename ->
|
||||
val originalFilename = originalPicList.getOrElse(index) { picFilename }
|
||||
FileBean(
|
||||
path = MediaUtil.fillUrl(picFilename),
|
||||
url = picFilename,
|
||||
originalPic = MediaUtil.fillUrl(originalFilename)
|
||||
)
|
||||
}
|
||||
rv?.commonAdapter()
|
||||
?.loadMore(list)
|
||||
rv?.commonAdapter()?.loadMore(list)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -110,8 +105,10 @@ class AccidentVisaDetailsViewModel : BaseViewModel(), IOnItemClickListener {
|
||||
.filter { it.path.isNotEmpty() && it.url.isEmpty() }
|
||||
.onEach {
|
||||
val data = UploadUtil.upload(it.path).data
|
||||
it.url = data?.newName ?: ""
|
||||
it.originalPic = data?.zipFileName ?: ""
|
||||
// UploadUtil 返回:newName=原图(较大),zipFileName=缩略图(较小)
|
||||
// FileBean.url 用作缩略图标识,FileBean.originalPic 用作原图标识
|
||||
it.url = data?.zipFileName ?: ""
|
||||
it.originalPic = data?.newName ?: ""
|
||||
}
|
||||
.flowOn(Dispatchers.IO)
|
||||
.onStart { showLoading() }
|
||||
@@ -124,8 +121,8 @@ class AccidentVisaDetailsViewModel : BaseViewModel(), IOnItemClickListener {
|
||||
val list =
|
||||
(rv?.commonAdapter()?.items as List<FileBean>).filter { it.path.isNotEmpty() }
|
||||
bean.picnumber = list.size.toString()
|
||||
bean.originalPic = list.joinToString(separator = ",") { MediaUtil.removeUrl(it.url) }
|
||||
bean.pic = list.joinToString(separator = ",") { MediaUtil.removeUrl(it.originalPic) }
|
||||
bean.pic = list.joinToString(separator = ",") { MediaUtil.removeUrl(it.url) }
|
||||
bean.originalPic = list.joinToString(separator = ",") { MediaUtil.removeUrl(it.originalPic) }
|
||||
|
||||
NetApply.api.anyPost(
|
||||
url = if (pageType.value == DetailsPageType.Add) "GnAccidentVisa/saveVisa" else "GnAccidentVisa/updateVisa",
|
||||
|
||||
Reference in New Issue
Block a user