'静态文件/货盘接口'

This commit is contained in:
2026-08-21 16:58:11 +08:00
parent 54084b4d07
commit 4bfdc51b87
41 changed files with 1121 additions and 445 deletions
+4 -2
View File
@@ -242,10 +242,12 @@
align-items: center;
justify-content: center;
position: relative;
background: #f5f5f5;
}
.product-emoji {
font-size: 80rpx;
.product-image {
width: 100%;
height: 100%;
}
.product-badges {
+335 -443
View File
@@ -72,8 +72,8 @@
<!-- 产品网格 -->
<view class="product-grid">
<view class="product-card" @tap="goDetail" :data-id="item.id" v-for="(item, index) in products" :key="index">
<view class="product-img" :style="'background: ' + item.bgColor + ';'">
<text class="product-emoji">{{ item.emoji }}</text>
<view class="product-img">
<image class="product-image" :src="item.image" mode="aspectFill" v-if="item.image"></image>
<view class="product-badges">
<view class="product-badge" :style="'background: ' + tag.bg + '; color: ' + tag.color + ';'" v-for="(tag, index1) in item.tags" :key="index1">
{{ tag.text }}
@@ -129,33 +129,19 @@
<text class="filter-drawer-close" @tap="closeFilter"></text>
</view>
<scroll-view class="filter-drawer-body" :scroll-y="true">
<!-- 工艺 -->
<view class="filter-group">
<text class="filter-group-title">工艺</text>
<!-- 动态标签筛选组 API 获取 -->
<view class="filter-group" v-for="(group, gIdx) in filterGroups" :key="gIdx">
<text class="filter-group-title">{{ group.title }}</text>
<view class="filter-options">
<view
:class="'filter-option ' + (selectedCrafts.indexOf(item) > -1 ? 'selected' : '')"
@tap="toggleCraft"
:data-value="item"
v-for="(item, index) in craftOptions"
:key="index"
:class="'filter-option ' + (group.selected.indexOf(tag.id) > -1 ? 'selected' : '')"
@tap="toggleFilterTag"
:data-group-idx="gIdx"
:data-tag-id="tag.id"
v-for="(tag, tIdx) in group.tags"
:key="tIdx"
>
{{ item }}
</view>
</view>
</view>
<!-- 材质 -->
<view class="filter-group">
<text class="filter-group-title">材质</text>
<view class="filter-options">
<view
:class="'filter-option ' + (selectedMaterials.indexOf(item) > -1 ? 'selected' : '')"
@tap="toggleMaterial"
:data-value="item"
v-for="(item, index) in materialOptions"
:key="index"
>
{{ item }}
{{ tag.name }}
</view>
</view>
</view>
@@ -178,84 +164,15 @@
</template>
<script>
import { getCountries, getCategories, getTagGroups, getGoods } from '@/api/public.js';
export default {
data() {
return {
searchKeyword: '',
selectedCountry: 'us',
selectedCountry: '',
countries: [
{
id: 'us',
name: '美国',
flag: '🇺🇸'
},
{
id: 'uk',
name: '英国',
flag: '🇬🇧'
},
{
id: 'jp',
name: '日本',
flag: '🇯🇵'
},
{
id: 'mx',
name: '墨西哥',
flag: '🇲🇽'
},
{
id: 'br',
name: '巴西',
flag: '🇧🇷'
},
{
id: 'ae',
name: '中东',
flag: '🇦🇪'
},
{
id: 'pl',
name: '波兰',
flag: '🇵🇱'
},
{
id: 'es',
name: '西班牙',
flag: '🇪🇸'
},
{
id: 'de',
name: '德国',
flag: '🇩🇪'
},
{
id: 'it',
name: '意大利',
flag: '🇮🇹'
},
{
id: 'fr',
name: '法国',
flag: '🇫🇷'
},
{
id: 'ca',
name: '加拿大',
flag: '🇨🇦'
},
{
id: 'au',
name: '澳大利亚',
flag: '🇦🇺'
},
{
id: 'kr',
name: '韩国',
flag: '🇰🇷'
}
],
countries: [],
activeCategory: 'all',
@@ -263,321 +180,228 @@ export default {
{
id: 'all',
name: '全部商品'
},
{
id: 'men',
name: '男士服装'
},
{
id: 'women',
name: '女士服装'
},
{
id: 'kids',
name: '儿童服装'
},
{
id: 'home',
name: '家居配饰'
},
{
id: 'bag',
name: '包包配饰'
}
],
subCategories: [],
activeSubCategory: '',
activeFilters: [
{
key: 'country',
label: '美国'
},
{
key: 'craft',
label: '烫画'
},
{
key: 'material',
label: '棉麻'
}
],
activeFilters: [],
showFilter: false,
selectedCrafts: ['烫画'],
selectedMaterials: ['棉麻'],
craftOptions: ['烫画', '刺绣', '丝印', '数码直喷', '热转印'],
materialOptions: ['棉麻', '纯棉', '涤纶', '混纺', '牛奶丝'],
filterGroups: [],
pagination: {
start: 1,
end: 10,
total: 96,
total: 0,
current: 1,
pageSize: 10,
totalPages: 10
totalPages: 0
},
pageNumbers: [1, 2, 3, 4, 5],
pageNumbers: [],
loadingMore: false,
products: [
{
id: 1,
name: '180G牛奶丝T恤 DG120',
price: '28.00',
bgColor: '#F5F5F5',
emoji: '👕',
tags: [
{
text: '可定制',
bg: '#FFF0E5',
color: '#FF6800'
},
{
text: '现货',
bg: '#E5F5FF',
color: '#1890FF'
}
]
},
{
id: 2,
name: '纯棉连帽卫衣 HD200',
price: '59.00',
bgColor: '#E8E8E8',
emoji: '🧥',
tags: [
{
text: '可定制',
bg: '#FFF0E5',
color: '#FF6800'
},
{
text: '快返',
bg: '#F0FFE5',
color: '#52C41A'
}
]
},
{
id: 3,
name: '260G重装T恤 TS260',
price: '35.00',
bgColor: '#F0F0F0',
emoji: '👕',
tags: [
{
text: '可定制',
bg: '#FFF0E5',
color: '#FF6800'
}
]
},
{
id: 4,
name: '精梳棉Polo衫 PL100',
price: '45.00',
bgColor: '#F8F8F8',
emoji: '👔',
tags: [
{
text: '可定制',
bg: '#FFF0E5',
color: '#FF6800'
},
{
text: '现货',
bg: '#E5F5FF',
color: '#1890FF'
}
]
},
{
id: 5,
name: '抓绒卫裤 PT150',
price: '42.00',
bgColor: '#F5F5F5',
emoji: '👖',
tags: [
{
text: '快返',
bg: '#F0FFE5',
color: '#52C41A'
}
]
},
{
id: 6,
name: '运动速干T恤 ST200',
price: '32.00',
bgColor: '#E8E8E8',
emoji: '👕',
tags: [
{
text: '可定制',
bg: '#FFF0E5',
color: '#FF6800'
}
]
},
{
id: 7,
name: '纯棉背包 BP300',
price: '25.00',
bgColor: '#F0F0F0',
emoji: '🎒',
tags: [
{
text: '可定制',
bg: '#FFF0E5',
color: '#FF6800'
},
{
text: '现货',
bg: '#E5F5FF',
color: '#1890FF'
}
]
},
{
id: 8,
name: '儿童纯棉T恤 KD100',
price: '22.00',
bgColor: '#F8F8F8',
emoji: '👶',
tags: [
{
text: '可定制',
bg: '#FFF0E5',
color: '#FF6800'
}
]
},
{
id: 9,
name: '帆布托特包 BG150',
price: '15.00',
bgColor: '#F5F5F5',
emoji: '👜',
tags: [
{
text: '可定制',
bg: '#FFF0E5',
color: '#FF6800'
},
{
text: '快返',
bg: '#F0FFE5',
color: '#52C41A'
}
]
},
{
id: 10,
name: '针织开衫 CR180',
price: '55.00',
bgColor: '#E8E8E8',
emoji: '🧶',
tags: [
{
text: '可定制',
bg: '#FFF0E5',
color: '#FF6800'
}
]
}
],
tag: {
bg: '',
color: '',
text: ''
}
products: []
};
},
onLoad() {
async onLoad() {
await this.initData();
this.loadSubCategories('all');
await this.loadGoods(1);
},
methods: {
async initData() {
try {
// 1. 国家列表(始终全量)
const countriesRes = await getCountries();
const countriesData = (countriesRes.data && countriesRes.data.data) || [];
const countries = countriesData.map((c) => ({
id: c.id,
name: c.countryName,
flag: this.codeToEmoji(c.countryIcon)
}));
this.setData({
countries
});
// 2. 默认不选中任何国家,显示全部国家的数据
await this.loadCategoryData('');
// 简单检测结构 — 打印到 console 验证
console.log('=== [Products API Test] ===');
console.log('[1] countries:', countries.length, '条');
console.log('=== [Test End] ===');
} catch (err) {
console.error('[Products initData Error]', err);
}
},
/**
* 加载分类树和标签组(按国家过滤)
* @param {string} countryId 国家 ID,传空字符串表示全部国家
*/
async loadCategoryData(countryId) {
try {
const params = countryId ? { countryId: countryId } : {};
const [categoriesRes, tagGroupsRes] = await Promise.all([
getCategories(params),
getTagGroups(params)
]);
// 分类树 → 映射到侧边栏
const categoriesData = (categoriesRes.data && categoriesRes.data.data) || [];
const categories = [{ id: 'all', name: '全部商品', children: [], productCount: 0 }];
categoriesData.forEach((cat) => {
categories.push({
id: cat.id,
name: cat.categoryName,
children: cat.children || [],
productCount: cat.productCount || 0
});
});
// 标签组 → 映射到筛选弹窗
const tagGroupsData = (tagGroupsRes.data && tagGroupsRes.data.data) || [];
const filterGroups = tagGroupsData.map((g) => ({
id: g.id,
title: g.groupName,
tags: (g.tags || []).map((t) => ({
id: t.id,
name: t.tagName,
color: t.tagColor,
fontColor: t.tagFontColor,
productCount: t.productCount || 0
})),
selected: []
}));
this.setData({
categories,
filterGroups,
activeCategory: 'all',
subCategories: [],
activeSubCategory: ''
});
console.log('[loadCategoryData] countryId=' + (countryId || 'all') +
', categories=' + categories.length +
', filterGroups=' + filterGroups.length);
} catch (err) {
console.error('[loadCategoryData Error]', err);
}
},
/**
* 加载商品列表(分页 + 筛选)
* @param {number} [page] 页码,默认 1
*/
async loadGoods(page) {
try {
const currentPage = page || this.pagination.current || 1;
const pageSize = this.pagination.pageSize || 10;
var params = {
page: currentPage,
pageSize: pageSize
};
// 国家筛选
if (this.selectedCountry) {
params.countryId = this.selectedCountry;
}
// 分类筛选(排除 "all"
if (this.activeCategory && this.activeCategory !== 'all') {
params.categoryId = this.activeCategory;
}
// 关键词搜索
if (this.searchKeyword && this.searchKeyword.trim()) {
params.keyword = this.searchKeyword.trim();
}
console.log('[loadGoods] params:', JSON.stringify(params));
const res = await getGoods(params);
const data = (res.data && res.data.data) || { items: [], total: 0, page: 1, pageSize: 10 };
const items = data.items || [];
// 映射:API 字段 → 模板字段
const products = items.map((item) => ({
id: item.goodId,
name: item.goodName,
price: item.price,
image: item.image,
bgColor: '#F5F5F5',
emoji: '👕',
tags: (item.tags || []).map(function (t) {
return {
text: t.tagName,
bg: t.tagColor,
color: t.tagFontColor
};
})
}));
const total = data.total || 0;
const totalPages = Math.ceil(total / pageSize) || 1;
var pageNumbers = [];
for (var i = Math.max(1, currentPage - 2); i <= Math.min(totalPages, currentPage + 2); i++) {
pageNumbers.push(i);
}
this.setData({
products: products,
pagination: {
start: total === 0 ? 0 : (currentPage - 1) * pageSize + 1,
end: Math.min(currentPage * pageSize, total),
total: total,
current: currentPage,
pageSize: pageSize,
totalPages: totalPages
},
pageNumbers: pageNumbers,
loadingMore: false
});
console.log('[loadGoods] total=' + total +
', page=' + currentPage +
', items=' + products.length);
} catch (err) {
console.error('[loadGoods Error]', err);
this.setData({
products: [],
loadingMore: false
});
}
},
codeToEmoji(iconPath) {
if (!iconPath) return '🌐';
var match = iconPath.match(/\/([^/]+)\.\w+$/);
if (!match) return '🌐';
var code = match[1].toUpperCase();
if (code.length !== 2) return '🌐';
var A = 0x1f1e6;
return String.fromCodePoint(A + code.charCodeAt(0) - 65) + String.fromCodePoint(A + code.charCodeAt(1) - 65);
},
loadSubCategories(catId) {
const subCatMap = {
all: [],
men: [
{
id: 'tops',
name: '上装'
},
{
id: 'hoodie',
name: '卫衣'
},
{
id: 'tshirt',
name: 'T恤'
},
{
id: 'shirt',
name: '衬衫'
},
{
id: 'pants',
name: '裤装'
},
{
id: 'underwear',
name: '内衣'
}
],
women: [
{
id: 'dress',
name: '连衣裙'
},
{
id: 'tops',
name: '上装'
},
{
id: 'bottoms',
name: '下装'
}
],
kids: [
{
id: 'baby',
name: '婴儿装'
},
{
id: 'kids',
name: '儿童装'
}
],
home: [
{
id: 'blanket',
name: '毛毯'
},
{
id: 'pillow',
name: '抱枕'
}
],
bag: [
{
id: 'tote',
name: '托特包'
},
{
id: 'backpack',
name: '背包'
}
]
};
var subCats = [];
if (catId !== 'all') {
var cat = this.categories.find(function (c) { return c.id === catId; });
if (cat && cat.children && cat.children.length > 0) {
subCats = cat.children.map(function (child) {
return { id: child.id, name: child.categoryName };
});
}
}
this.setData({
subCategories: subCatMap[catId] || [],
activeSubCategory: subCatMap[catId]?.[0]?.id || ''
subCategories: subCats,
activeSubCategory: subCats.length > 0 ? subCats[0].id : ''
});
},
@@ -585,28 +409,52 @@ export default {
this.setData({
searchKeyword: e.detail.value
});
// 防抖搜索
if (this._searchTimer) clearTimeout(this._searchTimer);
var self = this;
this._searchTimer = setTimeout(function () {
self.loadGoods(1);
}, 300);
},
selectCountry(e) {
async selectCountry(e) {
const id = e.currentTarget.dataset.id;
// 如果点击的是已选中的国家 → 取消选中,重置为全部国家数据
if (this.selectedCountry === id) {
this.setData({
selectedCountry: '',
activeFilters: this.activeFilters.filter((f) => f.key !== 'country')
});
await this.loadCategoryData('');
await this.loadGoods(1);
return;
}
// 选中新国家 → 重新请求分类和标签组
const country = this.countries.find((c) => c.id === id);
const filters = this.activeFilters.filter((f) => f.key !== 'country');
filters.push({
key: 'country',
label: country.name
});
if (country) {
filters.push({
key: 'country',
label: country.name
});
}
this.setData({
selectedCountry: id,
activeFilters: filters
});
await this.loadCategoryData(id);
await this.loadGoods(1);
},
selectCategory(e) {
async selectCategory(e) {
const id = e.currentTarget.dataset.id;
this.setData({
activeCategory: id
});
this.loadSubCategories(id);
await this.loadGoods(1);
},
selectSubCategory(e) {
@@ -627,73 +475,117 @@ export default {
});
},
toggleCraft(e) {
const value = e.currentTarget.dataset.value;
let crafts = [...this.selectedCrafts];
const idx = crafts.indexOf(value);
toggleFilterTag(e) {
const gIdx = e.currentTarget.dataset.groupIdx;
const tagId = e.currentTarget.dataset.tagId;
var groups = [...this.filterGroups];
var group = groups[gIdx];
if (!group) return;
var selected = [...group.selected];
var idx = selected.indexOf(tagId);
if (idx > -1) {
crafts.splice(idx, 1);
selected.splice(idx, 1);
} else {
crafts.push(value);
selected.push(tagId);
}
group.selected = selected;
this.setData({
selectedCrafts: crafts
filterGroups: groups
});
},
toggleMaterial(e) {
const value = e.currentTarget.dataset.value;
let materials = [...this.selectedMaterials];
const idx = materials.indexOf(value);
if (idx > -1) {
materials.splice(idx, 1);
} else {
materials.push(value);
}
this.setData({
selectedMaterials: materials
});
},
removeFilter(e) {
async removeFilter(e) {
const key = e.currentTarget.dataset.key;
const filters = this.activeFilters.filter((f) => f.key !== key);
// 如果清除的是国家筛选 → 重置分类和标签组为全部国家
if (key === 'country') {
this.setData({
selectedCountry: '',
activeFilters: filters
});
await this.loadCategoryData('');
await this.loadGoods(1);
return;
}
// 清除标签筛选 → 同步更新 filterGroups.selected
if (key.indexOf('tag_') === 0) {
var groupId = key.replace('tag_', '');
var groups = this.filterGroups.map(function (g) {
if (String(g.id) === String(groupId)) {
return Object.assign({}, g, { selected: [] });
}
return g;
});
this.setData({
activeFilters: filters,
filterGroups: groups
});
await this.loadGoods(1);
return;
}
this.setData({
activeFilters: filters
});
},
clearAllFilters() {
async clearAllFilters() {
// 是否有国家筛选
const hasCountry = this.activeFilters.some((f) => f.key === 'country');
this.setData({
activeFilters: []
});
if (hasCountry || this.selectedCountry) {
this.setData({
selectedCountry: ''
});
await this.loadCategoryData('');
}
// 清空标签选中
var groups = this.filterGroups.map(function (g) {
return Object.assign({}, g, { selected: [] });
});
this.setData({
filterGroups: groups
});
await this.loadGoods(1);
},
resetFilters() {
var groups = this.filterGroups.map(function (g) {
return Object.assign({}, g, { selected: [] });
});
this.setData({
selectedCrafts: [],
selectedMaterials: []
filterGroups: groups
});
},
confirmFilters() {
const filters = [];
if (this.selectedCrafts.length > 0) {
filters.push({
key: 'craft',
label: this.selectedCrafts.join(',')
});
}
if (this.selectedMaterials.length > 0) {
filters.push({
key: 'material',
label: this.selectedMaterials.join(',')
});
}
async confirmFilters() {
var filters = [];
// 保留国家筛选
var countryFilter = this.activeFilters.find(function (f) { return f.key === 'country'; });
if (countryFilter) filters.push(countryFilter);
this.filterGroups.forEach(function (group) {
if (group.selected.length > 0) {
var labels = group.tags
.filter(function (t) { return group.selected.indexOf(t.id) > -1; })
.map(function (t) { return t.name; });
if (labels.length > 0) {
filters.push({
key: 'tag_' + group.id,
label: labels.join(',')
});
}
}
});
this.setData({
activeFilters: filters,
showFilter: false
});
await this.loadGoods(1);
},
goDetail(e) {
@@ -703,7 +595,7 @@ export default {
});
},
changePage(e) {
async changePage(e) {
const action = e.currentTarget.dataset.action;
let current = this.pagination.current;
if (action === 'prev' && current > 1) {
@@ -712,11 +604,11 @@ export default {
if (action === 'next' && current < this.pagination.totalPages) {
current++;
}
this.updatePagination(current);
await this.loadGoods(current);
},
goToPage(e) {
this.updatePagination(e.currentTarget.dataset.page);
async goToPage(e) {
await this.loadGoods(e.currentTarget.dataset.page);
},
updatePagination(current) {
@@ -743,14 +635,14 @@ export default {
if (this.loadingMore) {
return;
}
const nextPage = this.pagination.current + 1;
if (nextPage > this.pagination.totalPages) {
return;
}
this.setData({
loadingMore: true
});
setTimeout(() => {
this.setData({
loadingMore: false
});
}, 1000);
this.loadGoods(nextPage);
}
}
};
+3
View File
@@ -0,0 +1,3 @@
<svg width="24" height="24" viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">
<path fill-rule="evenodd" clip-rule="evenodd" d="M16.0001 19.4375L14.9546 20.5L7.28098 12.7014C6.89804 12.3122 6.89804 11.6878 7.28098 11.2986L14.9546 3.5L16.0001 4.5625L8.68179 12L16.0001 19.4375Z" fill="black" fill-opacity="0.9"/>
</svg>

After

Width:  |  Height:  |  Size: 336 B

+3
View File
@@ -0,0 +1,3 @@
<svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M7.58317 23.8334V11.9167M2.1665 14.0834V21.6667C2.1665 22.8634 3.13655 23.8334 4.33317 23.8334H18.8782C20.4824 23.8334 21.8466 22.6631 22.0905 21.0776L23.2572 13.4943C23.5601 11.5256 22.0368 9.75008 20.045 9.75008H16.2498C15.6515 9.75008 15.1665 9.26505 15.1665 8.66675V4.83807C15.1665 3.36274 13.9705 2.16675 12.4952 2.16675C12.1432 2.16675 11.8244 2.37399 11.6815 2.69554L7.86911 11.2734C7.69523 11.6647 7.30727 11.9167 6.87914 11.9167H4.33317C3.13655 11.9167 2.1665 12.8868 2.1665 14.0834Z" stroke="#FF6800" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 689 B

+3
View File
@@ -0,0 +1,3 @@
<svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M3.33215 8.10647L7.97753 11.4246C8.21925 11.5972 8.34012 11.6835 8.46661 11.7034C8.5779 11.7209 8.69189 11.7032 8.79269 11.653C8.90725 11.5958 8.99637 11.4769 9.1746 11.2393L10.1562 9.93048C10.2066 9.86327 10.2318 9.82967 10.2614 9.80068C10.2877 9.77494 10.3166 9.75196 10.3475 9.73208C10.3824 9.70967 10.4208 9.69262 10.4976 9.6585L14.6885 7.79585C14.8623 7.71864 14.9491 7.68003 15.0146 7.61973C15.0726 7.56641 15.1182 7.50108 15.1483 7.42832C15.1823 7.34607 15.1886 7.25122 15.2013 7.06153L15.5082 2.4586M14.6248 14.6251L17.4588 15.8396C17.7876 15.9805 17.9521 16.0511 18.0392 16.1681C18.1156 16.2708 18.1531 16.3972 18.1452 16.5249C18.1362 16.6705 18.037 16.8194 17.8385 17.117L16.5071 19.1142C16.4131 19.2552 16.366 19.3258 16.3039 19.3769C16.2489 19.4221 16.1855 19.456 16.1173 19.4767C16.0404 19.5001 15.9556 19.5001 15.7861 19.5001H13.6245C13.3999 19.5001 13.2876 19.5001 13.192 19.4625C13.1076 19.4293 13.0329 19.3755 12.9747 19.3059C12.9088 19.2272 12.8733 19.1206 12.8023 18.9075L12.03 16.5907C11.9881 16.4649 11.9672 16.4021 11.9617 16.3383C11.9568 16.2816 11.9608 16.2245 11.9737 16.1692C11.9882 16.1068 12.0178 16.0475 12.0771 15.929L12.6637 14.7557C12.7828 14.5173 12.8424 14.3981 12.9343 14.3241C13.0151 14.2589 13.1132 14.2184 13.2164 14.2072C13.3336 14.1947 13.46 14.2368 13.7129 14.3211L14.6248 14.6251ZM23.8332 13.0001C23.8332 18.9831 18.9829 23.8334 12.9998 23.8334C7.01675 23.8334 2.1665 18.9831 2.1665 13.0001C2.1665 7.01699 7.01675 2.16675 12.9998 2.16675C18.9829 2.16675 23.8332 7.01699 23.8332 13.0001Z" stroke="#FF6800" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.7 KiB

+3
View File
@@ -0,0 +1,3 @@
<svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M15.437 2.16675H9.20178C9.00734 2.16675 8.91013 2.16675 8.8243 2.19636C8.7484 2.22253 8.67927 2.26526 8.62191 2.32144C8.55705 2.38496 8.51357 2.47192 8.42661 2.64583L3.87661 11.7458C3.66896 12.1611 3.56513 12.3688 3.59007 12.5376C3.61185 12.6849 3.69338 12.8169 3.81547 12.9023C3.9553 13.0001 4.18745 13.0001 4.65178 13.0001H11.3745L8.12449 23.8334L21.3337 10.135C21.7793 9.67284 22.0022 9.44176 22.0152 9.24403C22.0264 9.07241 21.9556 8.90561 21.8242 8.79461C21.6728 8.66675 21.3519 8.66675 20.7098 8.66675H12.9995L15.437 2.16675Z" stroke="#FF6800" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 728 B

+3
View File
@@ -0,0 +1,3 @@
<svg width="26" height="26" viewBox="0 0 26 26" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M22.2083 7.88436L13 13.0001M13 13.0001L3.79163 7.88436M13 13.0001V23.2918M22.75 17.3969V8.60337C22.75 8.23217 22.75 8.04658 22.6953 7.88104C22.647 7.7346 22.5678 7.60018 22.4633 7.48676C22.3452 7.35856 22.183 7.26843 21.8584 7.08816L13.8418 2.63446C13.5345 2.46377 13.3809 2.37842 13.2183 2.34496C13.0742 2.31535 12.9258 2.31535 12.7818 2.34496C12.6191 2.37842 12.4655 2.46377 12.1582 2.63446L4.14155 7.08816C3.81707 7.26843 3.65483 7.35856 3.53668 7.48676C3.43217 7.60018 3.35308 7.7346 3.30469 7.88104C3.25 8.04658 3.25 8.23217 3.25 8.60337V17.3969C3.25 17.7681 3.25 17.9537 3.30469 18.1192C3.35308 18.2657 3.43217 18.4001 3.53668 18.5134C3.65483 18.6417 3.81707 18.7318 4.14155 18.9121L12.1582 23.3658C12.4655 23.5365 12.6191 23.6218 12.7818 23.6553C12.9258 23.685 13.0742 23.685 13.2183 23.6553C13.3809 23.6218 13.5345 23.5365 13.8418 23.3658L21.8584 18.9121C22.183 18.7318 22.3452 18.6417 22.4633 18.5134C22.5678 18.4001 22.647 18.2657 22.6953 18.1192C22.75 17.9537 22.75 17.7681 22.75 17.3969Z" stroke="#FF6800" stroke-width="2" stroke-linejoin="round"/>
</svg>

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 696 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 486 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 782 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 894 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1007 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 765 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 299 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 356 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

+767
View File
@@ -0,0 +1,767 @@
# 印美达小程序设计规格说明 (uniapp)
> 由 Figma API 自动提取,基于 inkreach 设计稿
> 设计稿宽度:390pxuniapp 中使用 rpx 适配,390px = 750rpx,即 1px = 1.923rpx
## 目录
- [首页](#首页)
- [货盘](#货盘)
- [产品详情](#产品详情)
- [全局设计规范](#全局设计规范)
- [资源文件](#资源文件)
## 全局设计规范
### 颜色规范
| 颜色 | 用途示例 |
|------|----------|
| `#000000` | 9:41 |
| `#1a1a1a` | 4步开始你的按需定制生意 |
| `#666666` | 男士服装 |
| `#929292` | 搜索产品 |
| `#979797` | SKU: DG120 |
| `#ff0000` | ¥19.00 |
| `#ff6800` | 11国 |
| `#ffffff` | 美国 |
| `rgba(0, 0, 0, 0.90)` | 产品详情 |
### 字号规范
| px | rpx (约) | 用途 |
|-----|---------|------|
| 28.0px | 54rpx | |
| 20.0px | 38rpx | |
| 18.0px | 35rpx | |
| 16.0px | 31rpx | |
| 15.0px | 29rpx | |
| 14.0px | 27rpx | |
| 13.0px | 25rpx | |
| 12.0px | 23rpx | |
| 11.0px | 21rpx | |
| 10.0px | 19rpx | |
### 布局适配说明
- 设计稿基于 **390px** 宽度
- uniapp 使用 **rpx** 单位:`1px ≈ 1.923rpx`
- 开发时将 px 值 × 1.923 四舍五入转为 rpx
- 顶部导航栏使用 uniapp 原生 `navigationBarTitleText`,无需自定义
- 底部安全区使用 `padding-bottom: env(safe-area-inset-bottom)`
## 首页
- **页面尺寸**390.0px × 3314.0px
- **有效开发区域**:y = 119px 以下(排除状态栏+导航栏)
- **区块数量**39 个主要区块
- **文本节点**69 个
- **图片资源**11 张
- **图标资源**4 个
### 区块结构
| # | 区块名称 | 类型 | Y坐标 | 尺寸 (W×H) | 关键样式 |
|---|---------|------|-------|-----------|----------|
| 1 | 全球POD供应链平台 | TEXT | 149.0 | 257.0×39.0 | fs:28.0 |
| 2 | 连接设计、生产、订单与全球物流,助力跨境卖家快速上新、稳定履约 | TEXT | 194.0 | 310.0×14.0 | fs:10.0 |
| 3 | Group 43 | GROUP | 226.0 | 276.0×38.0 | |
| 4 | Rectangle 178 | RECTANGLE | 259.0 | 390.0×390.0 | |
| 5 | Section Title | TEXT | 669.0 | 232.0×29.0 | fs:20.0 |
| 6 | Frame 53 | FRAME | 718.0 | 672.0×80.0 | |
| 7 | image 25 | RECTANGLE | 808.0 | 370.0×370.0 | r:6.0 |
| 8 | 全球POD货盘 | GROUP | 1198.0 | 577.0×630.0 | |
| 9 | Section Title | TEXT | 1848.0 | 280.0×29.0 | fs:20.0 |
| 10 | Frame 54 | FRAME | 1897.0 | 672.0×80.0 | |
| 11 | Rectangle 64 | RECTANGLE | 1987.0 | 370.0×257.0 | r:8.0 |
| 12 | Rectangle 179 | RECTANGLE | 2264.0 | 390.0×261.0 | bg:#f8f8f8 |
| 13 | Section Title | TEXT | 2286.0 | 201.0×29.0 | fs:20.0 |
| 14 | Rectangle 182 | RECTANGLE | 2335.0 | 180.0×80.0 | bg:#ffffff r:6.0 |
| 15 | Rectangle 183 | RECTANGLE | 2335.0 | 180.0×80.0 | bg:#ffffff r:6.0 |
| 16 | 快速生产图标 | FRAME | 2362.0 | 26.0×26.0 | bg:#ffffff |
| 17 | 零库存图标 | FRAME | 2362.0 | 26.0×26.0 | bg:#ffffff |
| 18 | 零库存 | TEXT | 2364.0 | 48.0×22.0 | fs:16.0 |
| 19 | 快速生产 | TEXT | 2364.0 | 64.0×22.0 | fs:16.0 |
| 20 | Rectangle 184 | RECTANGLE | 2425.0 | 180.0×80.0 | bg:#ffffff r:6.0 |
| 21 | Rectangle 185 | RECTANGLE | 2425.0 | 180.0×80.0 | bg:#ffffff r:6.0 |
| 22 | 优质产品图标 | FRAME | 2452.0 | 26.0×26.0 | bg:#ffffff |
| 23 | 全球配送图标 | FRAME | 2452.0 | 26.0×26.0 | bg:#ffffff |
| 24 | 优质产品 | TEXT | 2454.0 | 64.0×22.0 | fs:16.0 |
| 25 | 全球配送 | TEXT | 2454.0 | 64.0×22.0 | fs:16.0 |
| 26 | 公司简介背景 | RECTANGLE | 2525.0 | 391.0×544.0 | |
| 27 | 公司简介 | TEXT | 2545.0 | 80.0×28.0 | fs:20.0 |
| 28 | 用科技重新定义POD供应链 让每一个创意,都能高效抵达全球 | TEXT | 2593.0 | 257.0×50.0 | fs:18.0 |
| 29 | INKREACH印美达全球,一家以AI与智能印花技术驱动的全球化POD柔性供应链公司,致力于成为全球创业者最可靠的成长伙伴。 | TEXT | 2653.0 | 370.0×34.0 | fs:12.0 |
| 30 | 服务对象与场景 | TEXT | 2707.0 | 98.0×20.0 | fs:14.0 |
| 31 | 愿景 | TEXT | 2707.0 | 28.0×20.0 | fs:14.0 |
| 32 | 服务于数千家跨境独立站、TikTok、TEMU、SHEIN等平台商家,提供从海外生产到末端物流的一站式供应链服务,让电商创业者专注增长,无惧后端履约。 | TEXT | 2737.0 | 173.0×102.0 | fs:12.0 |
| 33 | 我们坚信,每一个创意都值得被完美呈现。
Inkreach将持续深耕智能供应链生态,用科技消除制造壁垒,让全球创业者专注发挥创造力,共同书写个性化电商的新纪元。 | TEXT | 2737.0 | 173.0×102.0 | fs:12.0 |
| 34 | Group 44 | GROUP | 2859.0 | 180.0×90.0 | |
| 35 | Group 45 | GROUP | 2859.0 | 180.0×90.0 | |
| 36 | Group 46 | GROUP | 2959.0 | 180.0×90.0 | |
| 37 | Group 47 | GROUP | 2959.0 | 180.0×90.0 | |
| 38 | Group 48 | GROUP | 3069.0 | 391.0×219.0 | |
| 39 | Group 57 | GROUP | 3289.0 | 390.0×56.0 | |
### 文本样式详情
**28.0px / 400 / transparent**
```css
font-size: 28.0px; /* 54rpx */
font-weight: 400;
color: transparent;
line-height: 39.2px;
```
示例:全球POD供应链平台
**20.0px / 400 / #1a1a1a**
```css
font-size: 20.0px; /* 38rpx */
font-weight: 400;
color: #1a1a1a;
line-height: 29.0px;
```
示例:4步开始你的按需定制生意、全球POD货盘、用强大的功能,开启盈利快车道
**20.0px / 400 / #000000**
```css
font-size: 20.0px; /* 38rpx */
font-weight: 400;
color: #000000;
line-height: 28.0px;
```
示例:公司简介
**18.0px / 400 / transparent**
```css
font-size: 18.0px; /* 35rpx */
font-weight: 400;
color: transparent;
line-height: 25.2px;
```
示例:用科技重新定义POD供应链 让每一个创意,都能高效抵达全球
**16.0px / 400 / #ff6800**
```css
font-size: 16.0px; /* 31rpx */
font-weight: 400;
color: #ff6800;
line-height: 22.4px;
```
示例:11国、24H、1000W+
**16.0px / 400 / #000000**
```css
font-size: 16.0px; /* 31rpx */
font-weight: 400;
color: #000000;
line-height: 22.4px;
```
示例:女士短款露脐T恤、零库存、优质产品
**16.0px / 900 / #ffffff**
```css
font-size: 16.0px; /* 31rpx */
font-weight: 900;
color: #ffffff;
line-height: 26.0px;
```
示例:01、04
**16.0px / 400 / #ffffff**
```css
font-size: 16.0px; /* 31rpx */
font-weight: 400;
color: #ffffff;
line-height: 22.4px;
```
示例:选择产品、设计工具、店铺集成
**16.0px / 900 / #ff6800**
```css
font-size: 16.0px; /* 31rpx */
font-weight: 900;
color: #ff6800;
line-height: 26.0px;
```
示例:02、03、04
**15.0px / 600 / #000000**
```css
font-size: 15.0px; /* 29rpx */
font-weight: 600;
color: #000000;
line-height: 20.0px;
```
示例:9:41
**14.0px / 400 / #000000**
```css
font-size: 14.0px; /* 27rpx */
font-weight: 400;
color: #000000;
line-height: 19.6px;
```
示例:服务对象与场景、愿景
**13.0px / 400 / #ffffff**
```css
font-size: 13.0px; /* 25rpx */
font-weight: 400;
color: #ffffff;
line-height: 18.2px;
```
示例:美国
**13.0px / 400 / #000000**
```css
font-size: 13.0px; /* 25rpx */
font-weight: 400;
color: #000000;
line-height: 18.2px;
```
示例:加拿大、墨西哥、巴西
**12.0px / 400 / #ff6800**
```css
font-size: 12.0px; /* 23rpx */
font-weight: 400;
color: #ff6800;
line-height: 16.8px;
```
示例:更多产品
**12.0px / 400 / #000000**
```css
font-size: 12.0px; /* 23rpx */
font-weight: 400;
color: #000000;
line-height: 16.8px;
```
示例:INKREACH印美达全球,一家以AI与智能印花技术驱动的全、服务于数千家跨境独立站、TikTok、TEMU、SHEIN等、我们坚信,每一个创意都值得被完美呈现。
Inkreach将持
**10.0px / 400 / #000000**
```css
font-size: 10.0px; /* 19rpx */
font-weight: 400;
color: #000000;
line-height: 14.0px;
```
示例:连接设计、生产、订单与全球物流,助力跨境卖家快速上新、稳定履、搭载最新智能印花工艺,品质与效率兼得、11国自营本土化POD工厂,日均产能超20万单
**10.0px / 400 / #ffffff**
```css
font-size: 10.0px; /* 19rpx */
font-weight: 400;
color: #ffffff;
line-height: 14.0px;
```
示例:海量精选产品,满足多元定制需求、轻松设计,快速定制、与全球主流电商平台无缝对接
## 货盘
- **页面尺寸**390.0px × 844.0px
- **有效开发区域**:y = 119px 以下(排除状态栏+导航栏)
- **区块数量**13 个主要区块
- **文本节点**42 个
- **图片资源**21 张
- **图标资源**0 个
### 区块结构
| # | 区块名称 | 类型 | Y坐标 | 尺寸 (W×H) | 关键样式 |
|---|---------|------|-------|-----------|----------|
| 1 | Country Filter Bar | FRAME | 119.0 | 390.0×99.0 | bg:#ffffff |
| 2 | Category Sidebar | FRAME | 218.0 | 90.0×794.0 | bg:#ffffff |
| 3 | Frame 55 | FRAME | 228.0 | 95.0×26.0 | bg:#ffffff r:60.0 |
| 4 | Frame 56 | FRAME | 228.0 | 94.0×26.0 | bg:#ffffff r:60.0 |
| 5 | Group 49 | GROUP | 264.0 | 135.0×180.0 | r:6.0 |
| 6 | Group 50 | GROUP | 264.0 | 135.0×180.0 | r:6.0 |
| 7 | Group 51 | GROUP | 454.0 | 135.0×180.0 | r:6.0 |
| 8 | Group 52 | GROUP | 454.0 | 135.0×180.0 | r:6.0 |
| 9 | Group 53 | GROUP | 644.0 | 135.0×180.0 | r:6.0 |
| 10 | Group 54 | GROUP | 644.0 | 135.0×180.0 | r:6.0 |
| 11 | Group 57 | GROUP | 819.0 | 390.0×56.0 | |
| 12 | Group 55 | GROUP | 834.0 | 135.0×180.0 | r:6.0 |
| 13 | Group 56 | GROUP | 834.0 | 135.0×180.0 | r:6.0 |
### 文本样式详情
**15.0px / 600 / #000000**
```css
font-size: 15.0px; /* 29rpx */
font-weight: 600;
color: #000000;
line-height: 20.0px;
```
示例:9:41
**15.0px / 400 / #ff0000**
```css
font-size: 15.0px; /* 29rpx */
font-weight: 400;
color: #ff0000;
line-height: 21.0px;
```
示例:¥19.00
**13.0px / 400 / #929292**
```css
font-size: 13.0px; /* 25rpx */
font-weight: 400;
color: #929292;
line-height: 19.0px;
```
示例:搜索产品
**13.0px / 400 / #ffffff**
```css
font-size: 13.0px; /* 25rpx */
font-weight: 400;
color: #ffffff;
line-height: 19.0px;
```
示例:搜索
**13.0px / 500 / #ff6800**
```css
font-size: 13.0px; /* 25rpx */
font-weight: 500;
color: #ff6800;
line-height: 17.0px;
```
示例:全部商品
**13.0px / 400 / #666666**
```css
font-size: 13.0px; /* 25rpx */
font-weight: 400;
color: #666666;
line-height: 17.0px;
```
示例:男士服装、女士服装、儿童服装
**13.0px / 400 / #000000**
```css
font-size: 13.0px; /* 25rpx */
font-weight: 400;
color: #000000;
line-height: 18.2px;
```
示例:200g纯棉T恤
**12.0px / 400 / #000000**
```css
font-size: 12.0px; /* 23rpx */
font-weight: 400;
color: #000000;
line-height: 16.8px;
```
示例:美国、波兰、日本
**12.0px / 400 / #ff6800**
```css
font-size: 12.0px; /* 23rpx */
font-weight: 400;
color: #ff6800;
line-height: 16.8px;
```
示例:180G纯棉T恤
**10.0px / 400 / #000000**
```css
font-size: 10.0px; /* 19rpx */
font-weight: 400;
color: #000000;
line-height: 14.0px;
```
示例:首页、产品
## 产品详情
- **页面尺寸**390.0px × 1717.0px
- **有效开发区域**:y = 119px 以下(排除状态栏+导航栏)
- **区块数量**:111 个主要区块
- **文本节点**98 个
- **图片资源**1 张
- **图标资源**1 个
### 区块结构
| # | 区块名称 | 类型 | Y坐标 | 尺寸 (W×H) | 关键样式 |
|---|---------|------|-------|-----------|----------|
| 1 | Rectangle 194 | RECTANGLE | 119.0 | 390.0×260.0 | bg:#f2f2f2 |
| 2 | Frame 105 | FRAME | 361.0 | 72.0×8.0 | |
| 3 | Product Name | TEXT | 389.0 | 370.0×26.0 | fs:18.0 |
| 4 | SKU | TEXT | 419.0 | 70.0×17.0 | fs:12.0 |
| 5 | SKU | TEXT | 419.0 | 56.0×17.0 | fs:12.0 |
| 6 | ¥19.00 | TEXT | 446.0 | 54.0×34.0 | fs:15.0 |
| 7 | Line 23 | LINE | 490.0 | 370.0×0.0 | |
| 8 | 生产工艺 | TEXT | 501.0 | 40.0×14.0 | fs:10.0 |
| 9 | 发货时效 | TEXT | 501.0 | 40.0×14.0 | fs:10.0 |
| 10 | 印花 | TEXT | 501.0 | 20.0×14.0 | fs:10.0 |
| 11 | 产品编码 | TEXT | 501.0 | 40.0×14.0 | fs:10.0 |
| 12 | 白墨烫画 | TEXT | 521.0 | 52.0×17.0 | fs:13.0 |
| 13 | 48小时 | TEXT | 521.0 | 42.0×17.0 | fs:13.0 |
| 14 | 单面印 | TEXT | 521.0 | 39.0×17.0 | fs:13.0 |
| 15 | NS6001152 | TEXT | 521.0 | 73.0×17.0 | fs:13.0 |
| 16 | Rectangle 195 | RECTANGLE | 550.0 | 390.0×6.0 | bg:#f5f5f5 |
| 17 | 颜色 | TEXT | 571.0 | 30.0×17.0 | fs:15.0 |
| 18 | Frame 107 | FRAME | 603.0 | 73.0×29.0 | r:60.0 |
| 19 | Frame 108 | FRAME | 603.0 | 73.0×29.0 | r:60.0 |
| 20 | Frame 109 | FRAME | 603.0 | 73.0×29.0 | r:60.0 |
| 21 | Frame 110 | FRAME | 603.0 | 73.0×29.0 | r:60.0 |
| 22 | Frame 111 | FRAME | 642.0 | 73.0×29.0 | r:60.0 |
| 23 | Frame 112 | FRAME | 642.0 | 73.0×29.0 | r:60.0 |
| 24 | Rectangle 196 | RECTANGLE | 686.0 | 390.0×6.0 | bg:#f5f5f5 |
| 25 | 尺码 | TEXT | 707.0 | 30.0×17.0 | fs:15.0 |
| 26 | Frame 113 | FRAME | 739.0 | 244.0×34.0 | |
| 27 | Rectangle 197 | RECTANGLE | 788.0 | 390.0×6.0 | bg:#f5f5f5 |
| 28 | 产品参数 | TEXT | 809.0 | 60.0×17.0 | fs:15.0 |
| 29 | 克重 | TEXT | 851.0 | 26.0×17.0 | fs:13.0 |
| 30 | 180g | TEXT | 851.0 | 32.0×17.0 | fs:13.0 |
| 31 | Line 24 | LINE | 880.0 | 370.0×0.0 | |
| 32 | 材质 | TEXT | 892.0 | 26.0×17.0 | fs:13.0 |
| 33 | 纯棉 | TEXT | 892.0 | 26.0×17.0 | fs:13.0 |
| 34 | Line 25 | LINE | 921.0 | 370.0×0.0 | |
| 35 | 定制类型 | TEXT | 933.0 | 52.0×17.0 | fs:13.0 |
| 36 | 来图定制 | TEXT | 933.0 | 52.0×17.0 | fs:13.0 |
| 37 | Line 26 | LINE | 962.0 | 370.0×0.0 | |
| 38 | 补充说明 | TEXT | 974.0 | 52.0×17.0 | fs:13.0 |
| 39 | 【 材质说明 】 97%聚酯纤维 3%氨纶 【 产品性能 】 优质材料:这款露背T恤采用优质材料制成,面料柔软、轻薄贴身。 时尚外观:性感T恤设计,时尚性感,简约大方,适合大多数人的体型。 面料轻盈:舒适款式设计为您带来一个更加干净的外观,面料轻盈柔软,让您全天舒适。 轻松百搭:简单搭配外套、长裤、牛仔裤或沙滩休闲短裤,都是非常不错的选择,也可以选择就单穿,让您一直保持凉爽和放松。 【 适用情景 】 适用于日常生活、工作、出游、逛街等场合。 【 洗涤说明 】 可手洗可机洗,不要长时间浸泡,不可漂白,洗涤液温度不能超过45ºC。 【 温馨提醒 】 该图片展示效果仅供参考,最终效果以实物为准!由于生产批次、机器设备、纸样大小不同等客观因素原因,难以避免或将存在微小色差、位置及大小等误差,如遇以上问题均属于正常现象,将不予纳入售后处理范畴。 另外,根据各国本土政策要求,请勿上传科技单、跑水单等非正规来源面单,严禁使用侵权图案及未授权 IP、商标、赛事元素等内容。 违规订单将不予生产发货,已产生费用不予退还,相应风险与责任由下单方自行承担。感谢您的理解与配合。 | TEXT | 974.0 | 279.0×118.0 | fs:13.0 |
| 40 | Rectangle 207 | RECTANGLE | 1062.0 | 390.0×60.0 | |
| 41 | 展开 | TEXT | 1099.0 | 24.0×17.0 | fs:12.0 |
| 42 | 展开 | FRAME | 1102.0 | 12.0×12.0 | bg:#ffffff |
| 43 | Rectangle 198 | RECTANGLE | 1122.0 | 390.0×6.0 | bg:#f5f5f5 |
| 44 | 产品尺码 | TEXT | 1143.0 | 60.0×17.0 | fs:15.0 |
| 45 | 单位:cm | TEXT | 1145.0 | 49.0×17.0 | fs:11.0 |
| 46 | 单位:cm | TEXT | 1145.0 | 49.0×17.0 | fs:11.0 |
| 47 | Rectangle 199 | RECTANGLE | 1175.0 | 370.0×40.0 | bg:#dfdfdf r:6.0 |
| 48 | 尺码 | TEXT | 1186.0 | 26.0×17.0 | fs:13.0 |
| 49 | 肩宽 | TEXT | 1186.0 | 26.0×17.0 | fs:13.0 |
| 50 | 胸围 | TEXT | 1186.0 | 26.0×17.0 | fs:13.0 |
| 51 | 衣长 | TEXT | 1186.0 | 26.0×17.0 | fs:13.0 |
| 52 | 袖长 | TEXT | 1186.0 | 26.0×17.0 | fs:13.0 |
| 53 | S | TEXT | 1226.0 | 9.0×17.0 | fs:13.0 |
| 54 | 51 | TEXT | 1226.0 | 16.0×17.0 | fs:13.0 |
| 55 | 56 | TEXT | 1226.0 | 16.0×17.0 | fs:13.0 |
| 56 | 62 | TEXT | 1226.0 | 16.0×17.0 | fs:13.0 |
| 57 | 48 | TEXT | 1226.0 | 16.0×17.0 | fs:13.0 |
| 58 | Rectangle 201 | RECTANGLE | 1255.0 | 370.0×40.0 | bg:#f7f7f7 r:6.0 |
| 59 | 51 | TEXT | 1267.0 | 16.0×17.0 | fs:13.0 |
| 60 | 56 | TEXT | 1267.0 | 16.0×17.0 | fs:13.0 |
| 61 | 62 | TEXT | 1267.0 | 16.0×17.0 | fs:13.0 |
| 62 | 48 | TEXT | 1267.0 | 16.0×17.0 | fs:13.0 |
| 63 | M | TEXT | 1267.0 | 12.0×17.0 | fs:13.0 |
| 64 | 51 | TEXT | 1306.0 | 16.0×17.0 | fs:13.0 |
| 65 | 56 | TEXT | 1306.0 | 16.0×17.0 | fs:13.0 |
| 66 | 62 | TEXT | 1306.0 | 16.0×17.0 | fs:13.0 |
| 67 | 48 | TEXT | 1306.0 | 16.0×17.0 | fs:13.0 |
| 68 | L | TEXT | 1306.0 | 8.0×17.0 | fs:13.0 |
| 69 | Rectangle 202 | RECTANGLE | 1335.0 | 370.0×40.0 | bg:#f7f7f7 r:6.0 |
| 70 | 51 | TEXT | 1347.0 | 16.0×17.0 | fs:13.0 |
| 71 | 56 | TEXT | 1347.0 | 16.0×17.0 | fs:13.0 |
| 72 | 62 | TEXT | 1347.0 | 16.0×17.0 | fs:13.0 |
| 73 | 48 | TEXT | 1347.0 | 16.0×17.0 | fs:13.0 |
| 74 | XL | TEXT | 1347.0 | 16.0×17.0 | fs:13.0 |
| 75 | Rectangle 203 | RECTANGLE | 1390.0 | 390.0×6.0 | bg:#f5f5f5 |
| 76 | 包装规格 | TEXT | 1411.0 | 60.0×17.0 | fs:15.0 |
| 77 | Rectangle 204 | RECTANGLE | 1443.0 | 370.0×40.0 | bg:#dfdfdf r:6.0 |
| 78 | 尺码 | TEXT | 1454.0 | 26.0×17.0 | fs:13.0 |
| 79 | 尺寸 | TEXT | 1454.0 | 26.0×17.0 | fs:13.0 |
| 80 | 体积 | TEXT | 1454.0 | 26.0×17.0 | fs:13.0 |
| 81 | 重量 | TEXT | 1454.0 | 26.0×17.0 | fs:13.0 |
| 82 | 200.00g | TEXT | 1494.0 | 39.0×17.0 | fs:10.0 |
| 83 | 31.0*23.0*1.0cm | TEXT | 1495.0 | 81.0×17.0 | fs:10.0 |
| 84 | 713.00cm³ | TEXT | 1495.0 | 52.0×17.0 | fs:10.0 |
| 85 | S | TEXT | 1505.0 | 9.0×17.0 | fs:13.0 |
| 86 | 12.20*9.06*0.39in | TEXT | 1514.0 | 87.0×17.0 | fs:10.0 |
| 87 | 43.51in³ | TEXT | 1514.0 | 40.0×17.0 | fs:10.0 |
| 88 | 0.36lb | TEXT | 1514.0 | 29.0×17.0 | fs:10.0 |
| 89 | Rectangle 205 | RECTANGLE | 1543.0 | 370.0×60.0 | bg:#f7f7f7 r:6.0 |
| 90 | 200.00g | TEXT | 1554.0 | 39.0×17.0 | fs:10.0 |
| 91 | 31.0*23.0*1.0cm | TEXT | 1555.0 | 81.0×17.0 | fs:10.0 |
| 92 | 713.00cm³ | TEXT | 1555.0 | 52.0×17.0 | fs:10.0 |
| 93 | M | TEXT | 1565.0 | 12.0×17.0 | fs:13.0 |
| 94 | 12.20*9.06*0.39in | TEXT | 1574.0 | 87.0×17.0 | fs:10.0 |
| 95 | 43.51in³ | TEXT | 1574.0 | 40.0×17.0 | fs:10.0 |
| 96 | 0.36lb | TEXT | 1574.0 | 29.0×17.0 | fs:10.0 |
| 97 | 200.00g | TEXT | 1614.0 | 39.0×17.0 | fs:10.0 |
| 98 | 31.0*23.0*1.0cm | TEXT | 1615.0 | 81.0×17.0 | fs:10.0 |
| 99 | 713.00cm³ | TEXT | 1615.0 | 52.0×17.0 | fs:10.0 |
| 100 | L | TEXT | 1623.0 | 8.0×17.0 | fs:13.0 |
| 101 | 12.20*9.06*0.39in | TEXT | 1634.0 | 87.0×17.0 | fs:10.0 |
| 102 | 43.51in³ | TEXT | 1634.0 | 40.0×17.0 | fs:10.0 |
| 103 | 0.36lb | TEXT | 1634.0 | 29.0×17.0 | fs:10.0 |
| 104 | Rectangle 206 | RECTANGLE | 1663.0 | 370.0×60.0 | bg:#f7f7f7 r:6.0 |
| 105 | 200.00g | TEXT | 1674.0 | 39.0×17.0 | fs:10.0 |
| 106 | 31.0*23.0*1.0cm | TEXT | 1675.0 | 81.0×17.0 | fs:10.0 |
| 107 | 713.00cm³ | TEXT | 1675.0 | 52.0×17.0 | fs:10.0 |
| 108 | XL | TEXT | 1685.0 | 16.0×17.0 | fs:13.0 |
| 109 | 12.20*9.06*0.39in | TEXT | 1694.0 | 87.0×17.0 | fs:10.0 |
| 110 | 43.51in³ | TEXT | 1694.0 | 40.0×17.0 | fs:10.0 |
| 111 | 0.36lb | TEXT | 1694.0 | 29.0×17.0 | fs:10.0 |
### 文本样式详情
**18.0px / 400 / #1a1a1a**
```css
font-size: 18.0px; /* 35rpx */
font-weight: 400;
color: #1a1a1a;
line-height: 26.0px;
```
示例:180G牛奶丝T恤 DG120
**16.0px / 500 / rgba(0, 0, 0, 0.90)**
```css
font-size: 16.0px; /* 31rpx */
font-weight: 500;
color: rgba(0, 0, 0, 0.90);
line-height: 24.0px;
```
示例:产品详情
**15.0px / 600 / #000000**
```css
font-size: 15.0px; /* 29rpx */
font-weight: 600;
color: #000000;
line-height: 20.0px;
```
示例:9:41
**15.0px / 400 / #ff0000**
```css
font-size: 15.0px; /* 29rpx */
font-weight: 400;
color: #ff0000;
line-height: 21.0px;
```
示例:¥19.00
**15.0px / 400 / #000000**
```css
font-size: 15.0px; /* 29rpx */
font-weight: 400;
color: #000000;
line-height: 17.0px;
```
示例:颜色、尺码、产品参数
**14.0px / 400 / #000000**
```css
font-size: 14.0px; /* 27rpx */
font-weight: 400;
color: #000000;
line-height: 17.0px;
```
示例:白色、藏青、黑色
**14.0px / 400 / #ff6800**
```css
font-size: 14.0px; /* 27rpx */
font-weight: 400;
color: #ff6800;
line-height: 17.0px;
```
示例:灰色
**13.0px / 400 / #000000**
```css
font-size: 13.0px; /* 25rpx */
font-weight: 400;
color: #000000;
line-height: 17.0px;
```
示例:白墨烫画、48小时、单面印
**13.0px / 400 / #ff6800**
```css
font-size: 13.0px; /* 25rpx */
font-weight: 400;
color: #ff6800;
line-height: 17.0px;
```
示例:L
**12.0px / 400 / #979797**
```css
font-size: 12.0px; /* 23rpx */
font-weight: 400;
color: #979797;
line-height: 17.0px;
```
示例:SKU: DG120、国家: 美国
**12.0px / 400 / #000000**
```css
font-size: 12.0px; /* 23rpx */
font-weight: 400;
color: #000000;
line-height: 17.0px;
```
示例:展开
**11.0px / 400 / #000000**
```css
font-size: 11.0px; /* 21rpx */
font-weight: 400;
color: #000000;
line-height: 17.0px;
```
示例:单位:cm
**10.0px / 400 / #979797**
```css
font-size: 10.0px; /* 19rpx */
font-weight: 400;
color: #979797;
line-height: 14.0px;
```
示例:生产工艺、发货时效、印花
**10.0px / 400 / #000000**
```css
font-size: 10.0px; /* 19rpx */
font-weight: 400;
color: #000000;
line-height: 17.0px;
```
示例:31.0*23.0*1.0cm、713.00cm³、12.20*9.06*0.39in
## 资源文件
### 图片资源
| 文件名 | 来源页面 | 说明 |
|--------|---------|------|
| `assets/home/images/Rectangle_178_1426_1248.png` | 首页 | 首页 |
| `assets/home/images/Rectangle_181_1455_1450.png` | 首页 | 女士短款 |
| `assets/home/images/Rectangle_181_1455_1456.png` | 首页 | 女士短款 |
| `assets/home/images/Rectangle_63_1446_1437.png` | 首页 | 女士短款 |
| `assets/home/images/Rectangle_63_1455_1461.png` | 首页 | 女士短款 |
| `assets/home/images/公司简介背景_1461_1606.png` | 首页 | 首页 |
| `assets/home/images/image_25_1484_1689.png` | 首页 | 首页 |
| `assets/home/images/Rectangle_64_1484_1735.png` | 首页 | 首页 |
| `assets/home/images/image_26_1496_1761.png` | 首页 | Group 48 |
| `assets/home/images/Rectangle_187_1470_1653.png` | 首页 | Group 48 |
| `assets/home/images/image_28_1498_1767.png` | 首页 | Group 48 |
| `assets/products/images/Rectangle_149_1519_255.png` | 货盘 | Frame 94 |
| `assets/products/images/Rectangle_150_1533_389.png` | 货盘 | Frame 94 |
| `assets/products/images/Rectangle_150_1533_381.png` | 货盘 | Frame 94 |
| `assets/products/images/Rectangle_150_1533_383.png` | 货盘 | Frame 94 |
| `assets/products/images/Rectangle_150_1533_391.png` | 货盘 | Frame 94 |
| `assets/products/images/Rectangle_150_1533_387.png` | 货盘 | Frame 94 |
| `assets/products/images/Rectangle_149_1523_264.png` | 货盘 | Frame 94 |
| `assets/products/images/Rectangle_150_1533_393.png` | 货盘 | Frame 94 |
| `assets/products/images/Rectangle_149_1523_324.png` | 货盘 | Frame 94 |
| `assets/products/images/Rectangle_150_1533_385.png` | 货盘 | Frame 94 |
| `assets/products/images/Rectangle_150_1533_395.png` | 货盘 | Frame 94 |
| `assets/products/images/Rectangle_149_1523_272.png` | 货盘 | Frame 94 |
| `assets/products/images/Rectangle_149_1523_312.png` | 货盘 | Frame 94 |
| `assets/products/images/Rectangle_192_1523_347.png` | 货盘 | Group 49 |
| `assets/products/images/Rectangle_192_1529_361.png` | 货盘 | Group 51 |
| `assets/products/images/Rectangle_192_1529_371.png` | 货盘 | Group 53 |
| `assets/products/images/Rectangle_192_1544_408.png` | 货盘 | Group 55 |
| `assets/products/images/Rectangle_192_1529_356.png` | 货盘 | Group 50 |
| `assets/products/images/Rectangle_192_1529_366.png` | 货盘 | Group 52 |
| `assets/products/images/Rectangle_192_1529_376.png` | 货盘 | Group 54 |
| `assets/products/images/Rectangle_192_1544_413.png` | 货盘 | Group 56 |
| `assets/product-detail/images/Rectangle_194_1548_574.png` | 产品详情 | 产品详情 |
### 图标资源 (SVG)
| 文件名 | 来源页面 | 尺寸 | 说明 |
|--------|---------|------|------|
| `assets/home/icons/优质产品图标.svg` | 首页 | 26.0×26.0 | 首页 |
| `assets/home/icons/快速生产图标.svg` | 首页 | 26.0×26.0 | 首页 |
| `assets/home/icons/全球配送图标.svg` | 首页 | 26.0×26.0 | 首页 |
| `assets/home/icons/零库存图标.svg` | 首页 | 26.0×26.0 | 首页 |
| `assets/product-detail/icons/Outlined_back.svg` | 产品详情 | 24.0×24.0 | .Navigation Bar_Left |
---
*本文档由 Figma API 自动生成,数据精确到像素级。*