Эх сурвалжийг харах

brand-detail: fetch latest brand data from API and support jump_url

liuchengsen 3 долоо хоног өмнө
parent
commit
a64dc21509
1 өөрчлөгдсөн 15 нэмэгдсэн , 5 устгасан
  1. 15 5
      static/index.html

+ 15 - 5
static/index.html

@@ -661,7 +661,16 @@
     return h;
   }
 
-  window.showBrandDetail=function(brand){
+  window.showBrandDetail=async function(brand){
+    var bid=brand.brand_id||0;
+    var data=brand;
+    // 优先从后端查询最新数据
+    if(bid){
+      try{
+        var r=await fetch(API_BASE+'/api/v1/admin/knowledge/brands/'+bid,{headers:authHeaders()});
+        if(r.ok){var j=await r.json();if(j.name)data=j}
+      }catch(e){}
+    }
     var fields=[
       {label:'功能主治',key:'function'},
       {label:'用法用量',key:'usage_dosage'},
@@ -676,14 +685,15 @@
     ];
     var body='';
     for(var i=0;i<fields.length;i++){
-      var val=brand[fields[i].key]||'';
+      var val=data[fields[i].key]||'';
       if(val){
         body+='<div class="bd-field"><div class="bd-label">'+fields[i].label+'</div><div class="bd-value">'+esc(val)+'</div></div>';
       }
     }
     if(!body)body='<div style="padding:20px;text-align:center;color:#aaa">暂无详细信息</div>';
-    if(brand.jump_url){
-      body+='<div class="bd-field"><a class="bd-link" href="'+escAttr(brand.jump_url)+'" target="_blank" rel="noopener">🔗 查看商品详情 →</a></div>';
+    var jumpUrl=data.jump_url||brand.jump_url||'';
+    if(jumpUrl){
+      body+='<div class="bd-field"><a class="bd-link" href="'+escAttr(jumpUrl)+'" target="_blank" rel="noopener">🔗 查看商品详情 →</a></div>';
     }
     var overlay=document.createElement('div');
     overlay.className='brand-detail-overlay';
@@ -691,7 +701,7 @@
     overlay.innerHTML='<div class="brand-detail-box">'+
       '<div class="brand-detail-header">'+
         '<button class="bd-close" onclick="this.closest(\'.brand-detail-overlay\').remove()">×</button>'+
-        '<h2>💊 '+esc(brand.brand_name||'')+'</h2>'+
+        '<h2>💊 '+esc(data.brand_name||brand.brand_name||'')+'</h2>'+
       '</div>'+
       '<div class="brand-detail-body">'+body+'</div>'+
     '</div>';