修复商品列表滚动错误
Test Runner / hello (push) Failing after 32s

This commit is contained in:
2026-08-25 14:25:43 +08:00
parent 65356953ed
commit 69734f36b4
25 changed files with 642 additions and 246 deletions
+69 -8
View File
@@ -13354,6 +13354,55 @@ exports.default = _default;
/***/ }),
/* 60 */
/*!**************************************************************!*\
!*** C:/gs/project/demo/demo_uni/utils/product.js ***!
\**************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
/**
* 商品标题处理工具
*
* 背景后端返回的 goodName 常包含前半段品牌/系列 + 空格 + 后半段 SKU/描述
* 首页/列表页卡片空间有限只显示空格前的前半部分
*/
/**
* 截断商品标题返回第一个空格或全角空格之前的内容
* - 防错null/undefined/非字符串/空串 返回 ''
* - 没有空格 原样返回去掉首尾空白后
* - 多个连续空格 只看第一个
* - 全角空格 " " 也视为空格
*
* @param {string | any} title 原始商品标题goodName
* @returns {string} 截断后的标题
*/
function truncateProductTitle(title) {
if (title == null) return '';
if (typeof title !== 'string') {
try {
title = String(title);
} catch (e) {
return '';
}
}
// 去掉首尾空白
var s = title.trim();
if (!s) return '';
// 找第一个空格(半角 / 全角 / Tab / NBSP 都算)
var match = s.match(/[\s\u3000\u00a0]/);
if (!match) return s;
var idx = match.index;
if (idx <= 0) return s;
return s.slice(0, idx);
}
module.exports = {
truncateProductTitle: truncateProductTitle
};
/***/ }),
/* 61 */
/*!*****************************************************************!*\
!*** C:/gs/project/demo/demo_uni/pages/index/mock.js ***!
\*****************************************************************/
@@ -13390,23 +13439,29 @@ var trustStats = [{
}];
// 4步流程
// 每一步对应一张预览大图(img 字段,目前暂用同一张占位图,设计师供图后替换即可)
exports.trustStats = trustStats;
var STEP_IMG = '/static/images/home/image_25_1484_1689.png';
var stepList = [{
step: '01',
title: '选择产品',
desc: '海量精选产品,满足多元定制需求'
desc: '海量精选产品,满足多元定制需求',
img: STEP_IMG
}, {
step: '02',
title: '上传设计',
desc: '可视化编辑器,轻松实现创意落地'
desc: '可视化编辑器,轻松实现创意落地',
img: STEP_IMG
}, {
step: '03',
title: '在线销售',
desc: '一键开通店铺,多渠道触达目标客群'
desc: '一键开通店铺,多渠道触达目标客群',
img: STEP_IMG
}, {
step: '04',
title: '生产配送',
desc: '智能化柔性生产,快速响应全球配送'
desc: '智能化柔性生产,快速响应全球配送',
img: STEP_IMG
}];
// 全球POD货盘 - 国家tab
@@ -13458,23 +13513,29 @@ var podProducts = [{
}];
// 平台功能卡片
// 每一张卡片对应一张「集成平台」大图(img 字段目前暂用同一张占位图,后端/设计师提供后替换即可)
exports.podProducts = podProducts;
var FEAT_IMG = '/static/images/home/Rectangle_64_1484_1735.png';
var featureList = [{
step: '01',
title: '设计工具',
desc: '轻松设计,快速定制'
desc: '轻松设计,快速定制',
img: FEAT_IMG
}, {
step: '02',
title: '自动化履约',
desc: '从生产到配送,全程无忧,准时交付'
desc: '从生产到配送,全程无忧,准时交付',
img: FEAT_IMG
}, {
step: '03',
title: '全球配送',
desc: '全球11国自营本土工厂'
desc: '全球11国自营本土工厂',
img: FEAT_IMG
}, {
step: '04',
title: '店铺集成',
desc: '与全球主流电商平台无缝对接'
desc: '与全球主流电商平台无缝对接',
img: FEAT_IMG
}];
// 为什么选择 - 4个优势