张翔
|
9cdd554454
|
feat: add links to product detail pages
|
2026-02-26 18:02:54 +08:00 |
|
张翔
|
97f581f08b
|
feat: create product detail page with dynamic routing
|
2026-02-26 18:02:00 +08:00 |
|
张翔
|
ecfe72355e
|
feat: extend products data structure with detailed information
|
2026-02-26 18:01:06 +08:00 |
|
张翔
|
424c437bdf
|
feat: integrate service detail modal with service cards
|
2026-02-26 18:00:01 +08:00 |
|
张翔
|
abf23c7a8c
|
feat: create service detail modal component
|
2026-02-26 17:58:59 +08:00 |
|
张翔
|
331faa5767
|
feat: extend services data structure with detailed information
|
2026-02-26 17:57:46 +08:00 |
|
张翔
|
c174370e60
|
feat: integrate contact form with API
|
2026-02-26 17:56:25 +08:00 |
|
张翔
|
87a0620670
|
feat: add environment variable configuration
|
2026-02-26 17:55:48 +08:00 |
|
张翔
|
6cc41238fb
|
feat: add contact form API route with email sending
|
2026-02-26 17:55:13 +08:00 |
|
张翔
|
99e9c874b0
|
feat: add email templates for contact form
|
2026-02-26 17:54:32 +08:00 |
|
张翔
|
3de9890fc4
|
fix: 修复TypeScript类型错误
- 移除未使用的导入
- 修复产品详情页面的description类型错误
- 修复服务详情页面的description类型错误
- 修复联系表单API的类型错误
- 添加Award图标的导入
|
2026-02-26 16:26:40 +08:00 |
|
张翔
|
e4cf4836dd
|
feat: 创建详情页面和法律页面
- 创建产品详情页面组件,支持技术架构、应用场景、客户案例展示
- 创建服务详情页面组件,支持服务内容、流程、优势展示
- 创建隐私政策页面,符合中国法律要求
- 创建服务条款页面,规范用户服务协议
|
2026-02-26 16:22:49 +08:00 |
|
张翔
|
ee88d5e9be
|
feat: 扩展PRODUCTS和SERVICES数据结构
- 为PRODUCTS添加fullDescription、technicalArchitecture、scenarios、cases字段
- 为SERVICES添加fullDescription、content、advantages、relatedServices字段
- 完善产品和服务的详细信息展示,支持技术架构、应用场景、客户案例等
|
2026-02-26 16:19:32 +08:00 |
|
张翔
|
7f450dff87
|
refactor(products): 更新产品列表和描述信息
移除物联网和AI产品,新增内容管理系统
更新产品页面描述和联系按钮滚动功能
|
2026-02-26 15:52:04 +08:00 |
|
张翔
|
fecbfd1990
|
feat: 添加预览效果页面并优化交互效果
refactor: 优化代码健壮性和类型安全
style: 更新字体样式和全局CSS
fix: 修复IntersectionObserver潜在空引用问题
chore: 更新依赖和ESLint配置
build: 更新构建ID和路由配置
|
2026-02-24 10:24:05 +08:00 |
|
张翔
|
64165c4499
|
feat(security,quality): implement security and code quality optimizations
Phase 6: Security Optimizations
- Install DOMPurify for XSS protection
- Create sanitize utilities (HTML, input, URL, escape)
- Implement input sanitization in contact form
- Add CSRF token generation and validation
- Integrate CSRF protection in form submissions
Phase 7: Code Quality Optimizations
- Enhance TypeScript strict mode configuration
- Add noUncheckedIndexedAccess for safer array access
- Enable noImplicitReturns and noFallthroughCasesInSwitch
- Add noUnusedLocals and noUnusedParameters
- Enable exactOptionalPropertyTypes for precise types
- Configure comprehensive ESLint rules
- Add React security rules (no-unescaped-entities, jsx-no-target-blank)
- Add TypeScript best practices rules
- Add code quality rules (prefer-const, eqeqeq, curly)
Files modified:
- package.json: Add DOMPurify dependency
- src/lib/sanitize.ts: New sanitization utilities
- src/lib/csrf.ts: New CSRF protection utilities
- src/components/sections/contact-section.tsx: Security integration
- tsconfig.json: Enhanced TypeScript configuration
- eslint.config.mjs: Comprehensive ESLint rules
Impact:
- XSS attack prevention
- CSRF attack prevention
- Better type safety
- Improved code quality
- Financial-grade security standards
|
2026-02-24 07:08:39 +08:00 |
|
张翔
|
81d4f21a7d
|
feat(responsive,seo): implement responsive design and SEO optimizations
Phase 4: Responsive Design Optimizations
- Increase touch target sizes to min 44px for mobile
- Add touch-manipulation for better touch handling
- Optimize button and input sizes for mobile devices
- Implement responsive font sizing (16px -> 17px -> 18px)
Phase 5: SEO Optimizations
- Enhance metadata with comprehensive Open Graph tags
- Add Twitter Card metadata with images
- Implement Google Search Console verification
- Add structured data (Organization, Website schemas)
- Improve keywords and descriptions
Files modified:
- src/components/ui/button.tsx: Touch-friendly sizes
- src/components/ui/input.tsx: Mobile-optimized inputs
- src/app/globals.css: Responsive font sizing
- src/app/layout.tsx: Enhanced metadata and structured data
- src/components/seo/structured-data.tsx: New structured data components
Impact:
- Better mobile user experience
- Improved search engine visibility
- Enhanced social media sharing
- WCAG 2.1 touch target compliance
- Better SEO performance
|
2026-02-24 00:48:42 +08:00 |
|
张翔
|
37a86bfaf7
|
feat(perf,ux): implement performance and UX optimizations
Phase 2: Performance Optimizations
- Implement dynamic imports for non-critical sections
- Add loading skeletons for lazy-loaded components
- Optimize bundle size with code splitting
- Enable SSR for dynamic components
Phase 3: UX Optimizations
- Create ErrorBoundary component for graceful error handling
- Add Toast notification component for user feedback
- Implement success/error notifications in contact form
- Add error handling with user-friendly messages
Files modified:
- src/app/(marketing)/page.tsx: Dynamic imports for sections
- src/app/(marketing)/layout.tsx: Error boundary integration
- src/components/sections/contact-section.tsx: Toast notifications
- src/components/ui/error-boundary.tsx: New error boundary component
- src/components/ui/toast.tsx: New toast notification component
Impact:
- Reduced initial bundle size
- Faster page load times
- Better error handling
- Improved user feedback
- Enhanced user experience
|
2026-02-24 00:44:40 +08:00 |
|
张翔
|
016b7cfb91
|
feat(a11y,ux): implement comprehensive accessibility and UX optimizations
Phase 1: Accessibility Optimizations
- Add proper label associations and ARIA attributes to form inputs
- Implement aria-required, aria-invalid, aria-describedby for better form accessibility
- Add role='alert' for error messages
- Enhance keyboard navigation with aria-expanded, aria-controls
- Add aria-label for mobile menu button
- Implement aria-current for active navigation items
- Add semantic HTML with aria-labelledby for sections
Phase 2: UX Optimizations
- Create loading skeleton components for better loading states
- Add FormSkeleton, SectionSkeleton, and LoadingSkeleton components
- Prepare for lazy loading implementation
Files modified:
- src/components/ui/input.tsx: Enhanced with ARIA attributes
- src/components/ui/textarea.tsx: Enhanced with ARIA attributes
- src/components/layout/header.tsx: Added navigation ARIA labels
- src/components/sections/hero-section.tsx: Added section labels
- src/components/sections/services-section.tsx: Added section labels
- src/components/ui/loading-skeleton.tsx: New loading state components
Impact:
- WCAG 2.1 AA compliance improvements
- Better screen reader support
- Enhanced keyboard navigation
- Improved user feedback during loading
|
2026-02-24 00:40:19 +08:00 |
|
张翔
|
44ba75e4d1
|
feat(components): 添加鼠标交互粒子效果和高级浮动效果组件
refactor(sections): 移除各区块的多余标签元素
style(contact-section): 优化联系表单布局和动画效果
|
2026-02-23 22:48:32 +08:00 |
|
张翔
|
a75673fa27
|
refactor(hero-section): 移除未使用的动画导入并优化样式类名
删除未使用的动画组件导入(FadeUp, StaggerContainer等)
将min-w-[180px]替换为更简洁的min-w-45
调整背景渐变类名从bg-gradient-to-b到bg-linear-to-b
|
2026-02-23 21:19:54 +08:00 |
|
张翔
|
e862a68ef0
|
chore: 更新构建ID和相关文件引用
|
2026-02-23 21:19:44 +08:00 |
|
张翔
|
25586a5a6c
|
chore: 更新构建ID和相关文件引用
|
2026-02-23 10:38:29 +08:00 |
|
张翔
|
b38fd022b6
|
chore: 更新构建ID和相关文件引用
更新了.next目录下的构建ID和相关文件引用,包括BUILD_ID、构建清单文件和各种页面组件的引用。这些变更反映了最新的构建结果和资源路径。
更新了构建过程中的跟踪文件,记录了新的构建时间和性能指标。这些变更是构建系统自动生成的,不涉及功能或逻辑的修改。
|
2026-02-23 09:37:53 +08:00 |
|
张翔
|
5ec2ad0043
|
style(ui组件): 更新UI组件颜色方案为深色主题
refactor(card): 调整卡片背景色和边框颜色
refactor(badge): 修改徽章颜色变体
refactor(button): 更新按钮颜色样式
refactor(input): 调整输入框颜色方案
refactor(textarea): 修改文本区域颜色样式
refactor(header): 更新导航栏颜色
refactor(hero-section): 调整英雄区域颜色和渐变
|
2026-02-23 09:18:41 +08:00 |
|
张翔
|
9e7fb20d2a
|
style: 修复 hero-section Tailwind CSS 类名警告
- bg-gradient-to-b → bg-linear-to-b
- w-[800px] → w-200
- h-[600px] → h-150
- w-[600px] → w-150
- h-[400px] → h-100
- min-w-[180px] → min-w-45 (2处)~
|
2026-02-23 08:35:16 +08:00 |
|
张翔
|
39c37d15fb
|
refactor: 优化导航栏右侧按钮,移除重复文案
- 移除重复的'联系我们'按钮
- 移除'了解更多'按钮(导航栏已有'关于我们'链接)
- 保留一个'立即咨询'主按钮,引导用户行动
|
2026-02-23 08:32:39 +08:00 |
|
张翔
|
d6e87dfafe
|
fix: 修复导航栏点击后 active 状态被滚动覆盖的问题
- 添加 isScrollingRef 标记,在点击导航后阻止滚动监听器更新 activeSection
- 改进 section 检测逻辑,使用 sectionTop 和 sectionBottom 精确判断
- 点击导航后 1 秒内不响应滚动检测,确保平滑滚动完成
|
2026-02-23 08:26:03 +08:00 |
|
张翔
|
4f9cfffdad
|
fix: 修复导航栏 active 状态错误
- NAVIGATION 数组顺序调整为与页面 Section 顺序一致
- 顺序: home → services → products → about → news → contact
|
2026-02-23 08:21:36 +08:00 |
|
张翔
|
8d0f86c365
|
fix: 修复 lint 错误
- 修复 Input/Textarea 组件中 React Hook 条件调用问题
- 修复 AboutSection 中的引号转义问题
- 更新 Input/Textarea 样式为医疗健康风格
|
2026-02-23 08:16:36 +08:00 |
|
张翔
|
ef4b6d1022
|
refactor: 重构所有 Section 组件为医疗健康风格
- ProductsSection: 浅灰背景、蓝红配色
- AboutSection: 白色背景、专业蓝图标
- NewsSection: 浅灰背景、蓝红强调
- ContactSection: 白色背景、蓝图标、红强调
|
2026-02-23 08:11:11 +08:00 |
|
张翔
|
064f6b9e83
|
refactor: 重构 ServicesSection 为医疗健康风格
|
2026-02-23 08:08:27 +08:00 |
|
张翔
|
83ea4572fe
|
refactor: 重构 HeroSection 为医疗健康风格
- 浅蓝渐变背景
- 专业蓝主色调
- 印章红数据强调
- 移除深色背景和科技感粒子效果
|
2026-02-23 08:07:24 +08:00 |
|
张翔
|
a0c725f2bc
|
refactor: 重构 Footer 为医疗健康风格
|
2026-02-23 08:05:51 +08:00 |
|
张翔
|
b32fcdbbdc
|
refactor: 移除主题切换功能,统一使用明亮风格
- 从 Header 移除 ThemeToggle 组件
- 删除 theme-toggle.tsx 文件
- 简化 theme-context.tsx,只保留 light 主题~
|
2026-02-23 08:04:50 +08:00 |
|
张翔
|
5f0f642ab6
|
refactor: 更新 Badge 组件为医疗健康风格
|
2026-02-23 00:10:45 +08:00 |
|
张翔
|
9394cbab1b
|
refactor: 更新 Card 组件为医疗健康风格
|
2026-02-23 00:09:53 +08:00 |
|
张翔
|
8c7d072d43
|
refactor: 更新 Button 组件为医疗健康风格
|
2026-02-23 00:08:40 +08:00 |
|
张翔
|
afdd7a5456
|
refactor: 更新渐变定义为医疗健康风格
|
2026-02-23 00:07:08 +08:00 |
|
张翔
|
83bed14292
|
refactor: 更新 colors.ts 配色定义为医疗健康风格
|
2026-02-23 00:06:15 +08:00 |
|
张翔
|
9526d12f1e
|
style: 更新配色系统为医疗健康风格
- 专业蓝 #005EB8 为主色调
- 印章红 #C41E3A 为品牌强调色
- 移除深色模式
- 明亮背景风格
- 更新实用类样式
|
2026-02-23 00:05:12 +08:00 |
|
张翔
|
8e1db7f328
|
docs: 添加医疗健康风格重构实施计划
- 23 个原子任务
- 5 个阶段:配色系统、UI组件、页面布局、内容更新、响应式优化
- 每个任务包含具体代码和验证步骤
|
2026-02-23 00:00:08 +08:00 |
|
张翔
|
4e5b677739
|
docs: 添加医疗健康风格重构设计方案
- 参考辉瑞、强生、阿斯利康等制药企业官网设计
- 采用专业蓝 + 印章红配色方案
- 明亮健康风格,保留品牌识别
- 包含完整的配色系统、布局结构、UI组件规范、内容策略
|
2026-02-22 23:54:47 +08:00 |
|
张翔
|
3b97194e7f
|
feat: 优化容器间距,增加响应式留白
- 移动端:左右各 24px
- 平板端:左右各 48px
- 桌面端:左右各 64px
- 改善大屏幕上的视觉体验
|
2026-02-22 20:54:17 +08:00 |
|
张翔
|
8722e5d229
|
feat: 创建滚动揭示 Hook
- 创建 useScrollReveal Hook 支持元素进入视口检测
- 支持自定义阈值和根边距
- 支持单次触发或重复触发
- 创建 useScrollProgress Hook 获取滚动进度
- 创建 useParallax Hook 实现视差滚动效果
|
2026-02-22 15:22:58 +08:00 |
|
张翔
|
f27897aa1c
|
feat: 创建数字计数动画组件
- 创建 AnimatedNumber 组件支持平滑计数动画
- 使用 easeOutQuart 缓动函数
- 支持前缀和后缀
- 支持延迟和持续时间配置
- 创建 StatCard 统计卡片组件
- 支持滚动进入视口时触发动画
|
2026-02-22 15:21:24 +08:00 |
|
张翔
|
c544b81cff
|
feat: 创建粒子效果组件
- 创建 Canvas 粒子动画背景
- 支持自定义粒子数量
- 粒子之间自动连线
- 响应式窗口大小调整
- 科技蓝色粒子效果
|
2026-02-22 15:19:53 +08:00 |
|
张翔
|
6dcbde28bc
|
feat: 更新 Hero 区域样式
- 统一使用 CSS 变量
- 增强背景发光效果
- 优化文字颜色层级
- 移除未使用的图标导入
- 统一深色模式样式
|
2026-02-22 15:18:19 +08:00 |
|
张翔
|
b64ce24170
|
feat: 更新导航栏组件样式
- 添加玻璃态背景效果
- 添加科技蓝发光阴影
- 更新文字颜色使用 CSS 变量
- 统一深色模式样式
- 优化移动端菜单样式
|
2026-02-22 15:15:01 +08:00 |
|
张翔
|
05c0de440e
|
feat: 更新卡片组件样式
- 添加玻璃态背景效果
- 更新边框和阴影样式
- 添加悬停发光效果
- 添加悬停上浮动画
- 统一使用 CSS 变量
|
2026-02-22 15:11:38 +08:00 |
|