Files
wuhan-saga/client/dist/assets/caseStudyDisplay-BpRnrzFj.js
王文昊 cec461f229 feat(portal): 案例数据 SQL 与成功案例展示优化
- 新增/更新案例相关 SQL(初始化或补丁脚本)
- 首页精选案例:多卡轮播、非精选补足列表、工业风卡片
- 案例列表:无封面时深蓝工业风占位(客户水印与缩写铭牌)
2026-05-06 22:03:17 +08:00

2 lines
4.0 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const p=["典型案例","典型用户","工业应用"],d=["reference","typical case","industrial application"];function f(i,o){const t=(i||"").trim(),n=(o||"").trim().toLowerCase();return!!(t&&p.includes(t)||n&&d.includes(n))}function y(i,o){const t=i||"",n=o||"",e=(a,r)=>({zh:a,en:r}),s=[{test:()=>/武钢|WISCO|Wuhan Steel|Wuhan Iron/i.test(t)||/WISCO|Wuhan Steel/i.test(n),out:e("中国宝武(武钢)","China Baowu (WISCO)")},{test:()=>/梅钢|梅山/.test(t)||/Meishan/i.test(n),out:e("上海梅山钢铁","Meishan Iron & Steel")},{test:()=>/宝钢|宝武/.test(t)||/Baosteel|Baoshan Iron/i.test(n),out:e("宝山钢铁股份有限公司","Baoshan Iron & Steel Co., Ltd.")},{test:()=>/首钢/.test(t)||/Shougang/i.test(n),out:e("首钢集团","Shougang Group")},{test:()=>/迁安/.test(t)||/Qian'an/i.test(n),out:e("迁安钢铁企业","Qian'an steel producer")},{test:()=>/德盛/.test(t)||/Desheng/i.test(n),out:e("福建德盛镍业","Fujian Desheng")},{test:()=>/金轮/.test(t)||/Jinlun/i.test(n),out:e("金轮针布","Jinlun")},{test:()=>/河北兆建|兆建/.test(t)||/Zhaojian/i.test(n),out:e("河北兆建","Hebei Zhaojian")},{test:()=>/印尼|印度尼西亚/.test(t)||/Indonesia/i.test(n),out:e("印尼钢铁企业","Indonesia steel producer")},{test:()=>/台湾/.test(t)||/Taiwan/i.test(n),out:e("台湾客户","Taiwan customer")},{test:()=>/成都|钛盟/.test(t)||/Chengdu Taimum/i.test(n),out:e("成都钛盟新材料","Chengdu Taimum New Materials")},{test:()=>/航隆/.test(t)||/Hanglong/i.test(n),out:e("航隆材料","Hanglong Materials")},{test:()=>/神州通|管业/.test(t)||/Shenzhou Tong/i.test(n),out:e("神州通管业","Shenzhou Tong Guanye")},{test:()=>/科仁普/.test(t)||/Kerengpu/i.test(n),out:e("科仁普重工","Kerengpu Heavy Industry")},{test:()=>/中新冶业|中新/.test(t)||/Zhongxin Ye/i.test(n),out:e("中新冶业","Zhongxin Ye Industry")},{test:()=>/海鸿/.test(t)||/Haihong/i.test(n),out:e("海鸿金属","Haihong Metal")},{test:()=>/大力神|达利/.test(t)||/Dalishen/i.test(n),out:e("大力神","Dalishen")},{test:()=>/宇联/.test(t)||/Yulian/i.test(n),out:e("宇联实业","Yulian Industrial")},{test:()=>/新疆八一|八钢|Bayi/.test(t)||/Bayi Steel|Xinjiang Bayi/i.test(n),out:e("新疆八一钢铁","Xinjiang Bayi Iron & Steel")},{test:()=>/福建鼎信|鼎信/.test(t)||/Fujian Dingxin|Dingxin/i.test(n),out:e("福建鼎信科技","Fujian Dingxin Technology")},{test:()=>/宁波宝新|宝新/.test(t)||/Ningbo Baoxin/i.test(n),out:e("宁波宝新不锈钢","Ningbo Baoxin Stainless Steel")}];for(const a of s)if(a.test())return a.out;return null}const l="行业典型应用",c="Typical industrial application";function S(i,o){const t=(i.descriptionZh||"").trim(),n=(i.descriptionEn||"").trim();if(o==="zh"){const a=t;let r=a.match(/投运\s*([\d.]+)/);return r?r[1]:(r=a.match(/预计\s*([\d.]+)/),r?`${r[1]}(预计)`:(r=a.match(/(?:投运|预计)([\d.]+)/),r?r[1]:null))}const e=n||t;let s=e.match(/est\.\s*([\d.]+)/i);return s?`${s[1]} (est.)`:(s=e.match(/(?:commissioned|in service)\s*[:\s]*([\d.]+)/i),s||(s=e.match(/投运\s*([\d.]+)/),s)?s[1]:null)}function C(i,o){const t=(o==="zh"?i.scopeZh:i.scopeEn)?.trim()||"";if(t)return t.length>140?`${t.slice(0,140)}`:t;const e=((o==="zh"?i.descriptionZh:i.descriptionEn||i.descriptionZh)||"").replace(/数量\s*\d+\s*[;]?\s*/g,"").replace(/投运[^;]*/g,"").replace(/预计[^;]*/g,"").replace(/^[;\s]+|[;\s]+$/g,"").trim();return e?e.length>120?`${e.slice(0,120)}`:e:""}function I(i,o){const t=(i.projectNameZh||"").trim(),n=(i.projectNameEn||"").trim();let e=(i.clientNameZh||"").trim(),s=(i.clientNameEn||"").trim(),a=!1;if(f(e,s)){const u=y(t,n);u?(e=u.zh,s=u.en,a=!0):(e=l,s=c,a=!1)}const r=o==="zh"?e||s||l:s||e||c,h=o==="zh"?t||n:n||t,m=(o==="zh"?[i.descriptionZh,i.scopeZh].map(u=>(u||"").trim()).filter(Boolean):[i.descriptionEn,i.scopeEn].map(u=>(u||"").trim()).filter(Boolean)).join(" · "),g=o==="zh"?(i.categoryNameZh||"").trim():(i.categoryNameEn||"").trim();return{headline:r,subhead:h,summary:m,categoryLabel:g,inferred:a,metaSummary:C(i,o)}}export{S as e,I as g};