index.ts 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. import { Dict_Imgs } from "@/dict";
  2. import { createAttrsForm } from "../../defines/createAttrsForm";
  3. import { createCompHooks } from "../../defines/createCompHooks";
  4. import { ImagePicker } from "../../formItems/ImagePicker";
  5. export { Component } from "./component";
  6. export const options = {
  7. name: "3D",
  8. thumbnail: require("@/modules/editor/assets/icons/3d.svg"),
  9. };
  10. export const { createComp, useCompData } = createCompHooks({
  11. value: {
  12. url: "https://www.sku3d.com/share.html?id=6478676ca494a3ea15a6fa82",
  13. inline: true,
  14. poster: Dict_Imgs.Default,
  15. ratio: 1,
  16. },
  17. });
  18. export const Form = createAttrsForm([
  19. {
  20. label: "3D链接",
  21. dataIndex: "value.url",
  22. component: "Input",
  23. },
  24. {
  25. label: "封面",
  26. dataIndex: "value.poster",
  27. component: ImagePicker,
  28. },
  29. {
  30. label: "视频比例",
  31. dataIndex: "value.ratio",
  32. component: "Select",
  33. props: {
  34. options: [
  35. { label: "1:1", value: 1 },
  36. { label: "4:3", value: 4 / 3 },
  37. { label: "3:4", value: 3 / 4 },
  38. { label: "16:9", value: 16 / 9 },
  39. { label: "9:16", value: 9 / 16 },
  40. ],
  41. },
  42. },
  43. {
  44. label: "是否内嵌3D",
  45. dataIndex: "value.inline",
  46. component: "Switch",
  47. },
  48. ]);