fr-icon-fish.vue 3.4 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <template>
  2. <fr-svg @click="onClick" :uuid="`fr-icon-fish-${size}${strokeWidth}${theme}${fill}${strokeLinecap}${strokeLinejoin}`" :width="size" :height="size" :isCache="true" :src="iconSvg" />
  3. </template>
  4. <script>
  5. // #ifdef UNI-APP-X
  6. import icons from "../../mixins/icons.uts";
  7. // #endif
  8. // #ifndef UNI-APP-X
  9. import icons from "../../mixins/icons.js";
  10. // #endif
  11. /**
  12. * @description 《鱼》图标
  13. * @tutorial https://www.flowerui.com/documents/flower-icons/icons.html
  14. * @property {Number} size 图标大小
  15. * @property {Number} strokeWidth 线段粗细
  16. * @property {String} theme 图标大小
  17. * @property {Array} fill 图标颜色,["外部描边颜色","外部填充颜色","内部描边颜色","内部填充颜色"]
  18. * @property {String} strokeLinecap 图标大小
  19. * @property {String} strokeLinejoin 图标大小
  20. * @event {Function} click 图标点击事件
  21. */
  22. export default {
  23. mixins: [icons],
  24. computed: {
  25. // #ifdef UNI-APP-X
  26. iconSvg(): string {
  27. // #endif
  28. // #ifndef UNI-APP-X
  29. iconSvg() {
  30. // #endif
  31. return `<?xml version="1.0" encoding="UTF-8"?><svg width="${this.size}" height="${this.size}" viewBox="0 0 48 48" fill="none" xmlns="http://www.w3.org/2000/svg"><g clip-path="url(#icon-618a65ea55a411ae)"><path d="M15.3808 32.844C9.72351 31.4294 0.531437 34.9652 9.72365 38.5006C13.2595 47.6933 16.7947 38.5006 15.3808 32.844Z" fill="${this.colors(1)}" stroke="${this.colors(0)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/><path d="M22.4823 10.2475C17.5789 10.2344 11.2504 11.7843 10.4533 13.9754C9.87553 15.5637 12.878 17.6767 16.7036 18.7932" stroke="${this.colors(0)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/><path d="M37.9776 25.7423C37.9907 30.6457 36.4407 36.9742 34.2497 37.7713C32.6614 38.3491 30.5484 35.3466 29.4319 31.521" stroke="${this.colors(0)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/><path d="M37.9993 25.7646C44.6625 19.6999 40.1249 8.0912 40.1249 8.0912C40.1249 8.0912 28.1079 4.55954 22.4511 10.2164C16.7942 15.8732 15.38 32.8438 15.38 32.8438C15.38 32.8438 31.3362 31.8294 37.9993 25.7646Z" fill="${this.colors(1)}" stroke="${this.colors(0)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/><path d="M38.0075 25.7731C38.0075 25.7731 31.29 24.7125 27.4009 20.8234C23.5118 16.9343 22.4512 10.2168 22.4512 10.2168" stroke="${this.colors(2)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/><circle cx="33.7656" cy="14.4593" r="2" transform="rotate(45 33.7656 14.4593)" fill="${this.colors(2)}"/><path d="M40.9998 20.9447C40.4591 22.7043 39.5215 24.3792 37.9993 25.7647C36.3518 27.2642 34.1363 28.4549 31.7344 29.3979" stroke="${this.colors(0)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/><path d="M27.0002 7.65642C25.3026 8.14453 23.7176 8.9504 22.4513 10.2167C21.2665 11.4015 20.2678 13.0826 19.4293 15" stroke="${this.colors(0)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/></g><defs><clipPath id="icon-618a65ea55a411ae"><rect width="48" height="48" fill="${this.colors(2)}"/></clipPath></defs></svg>`
  32. }
  33. }
  34. }
  35. </script>