feat(product-center): implement Figma-designed UI, upload module, and website tests

- Redesign website homepage & product-center per Figma (fonts, logos, hero/footer/customer cases)
- Add API upload module (multer) with static serving for uploads/public assets
- Add OriginGood.delisted flag and SDS request retry logic
- Add admin ImageUpload component and goods import/upload flows
- Add vitest suite for website components and composables (32 tests)
- Add skills, docs, plans and PRODUCT.md
This commit is contained in:
yeuimu
2026-08-20 14:32:03 +08:00
parent b5fc88f3fa
commit 79fabd85f7
107 changed files with 5364 additions and 2601 deletions
+25
View File
@@ -0,0 +1,25 @@
import { mount } from '@vue/test-utils';
import { describe, expect, it } from 'vitest';
import ProductSidebar from '../app/components/product/ProductSidebar.vue';
import type { Category } from '../app/composables/useProductCenter';
const categories: Category[] = [{
id: 'men',
name: '男士服装',
icon: null,
parentId: null,
children: [{ id: 'men-tee', name: 'T恤', icon: null, parentId: 'men', children: [] }],
}];
describe('ProductSidebar', () => {
it('selects and expands a parent category when it is clicked', async () => {
const wrapper = mount(ProductSidebar, {
props: { categories, activeCategoryId: null },
});
await wrapper.findAll('.root-row')[1]?.trigger('click');
expect(wrapper.emitted('update:activeCategoryId')).toEqual([['men']]);
expect(wrapper.text()).toContain('T恤');
});
});