Hanye官网
Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

content.config.ts 1.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. import { defineCollection, z } from '@nuxt/content'
  2. // 定义 Category 集合
  3. const categoryCollection = defineCollection({
  4. type: 'page',
  5. schema: z.object({
  6. title: z.string(),
  7. description: z.string().optional(),
  8. id: z.string(),
  9. image: z.string(),
  10. summary: z.string(),
  11. capacities: z.array(z.string()),
  12. sort: z.number(),
  13. })
  14. })
  15. // 定义 Product 集合
  16. const productCollection = defineCollection({
  17. type: 'page',
  18. schema: z.object({
  19. title: z.string(),
  20. name: z.string(),
  21. description: z.string().optional(),
  22. id: z.string(),
  23. categoryId: z.string(), // 关联类别的ID
  24. usage: z.array(z.string()),
  25. series: z.array(z.string()),
  26. image: z.string(),
  27. gallery: z.array(z.string()),
  28. summary: z.string(),
  29. capacities: z.array(z.string()),
  30. sort: z.number(),
  31. body: z.object({
  32. value: z.string()
  33. })
  34. })
  35. })
  36. // 定义 Usage 集合
  37. const usageCollection = defineCollection({
  38. type: 'page',
  39. schema: z.object({
  40. title: z.string(),
  41. description: z.string(),
  42. id: z.string(),
  43. category: z.string(),
  44. products: z.array(z.string()),
  45. summary: z.string(),
  46. sort: z.number()
  47. })
  48. })
  49. // 定义 FAQ 集合
  50. const faqCollection = defineCollection({
  51. type: 'page',
  52. schema: z.object({
  53. title: z.string(),
  54. description: z.string().optional(),
  55. id: z.string(),
  56. category: z.string(),
  57. question: z.string(),
  58. answer: z.string(),
  59. sort: z.number()
  60. })
  61. })
  62. // 定义默认集合
  63. const defaultCollection = defineCollection({
  64. type: 'page'
  65. })
  66. export default {
  67. categories: categoryCollection,
  68. products: productCollection,
  69. usages: usageCollection,
  70. faq: faqCollection,
  71. content: defaultCollection
  72. }