fr-icon-drone.vue 3.8 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <template>
  2. <fr-svg @click="onClick" :uuid="`fr-icon-drone-${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"><path d="M12 12L19 19M36 36L29 29" stroke="${this.colors(0)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/><path d="M36 12L29 19M12 36L19 29" stroke="${this.colors(0)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/><rect x="19" y="19" width="10" height="10" fill="${this.colors(1)}" stroke="${this.colors(0)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/><path d="M36 19C37.3845 19 38.7378 18.5895 39.889 17.8203C41.0401 17.0511 41.9373 15.9579 42.4672 14.6788C42.997 13.3997 43.1356 11.9922 42.8655 10.6344C42.5954 9.2765 41.9287 8.02922 40.9497 7.05026C39.9708 6.07129 38.7235 5.4046 37.3656 5.13451C36.0078 4.86441 34.6003 5.00303 33.3212 5.53285C32.0421 6.06266 30.9489 6.95987 30.1797 8.11101C29.4105 9.26215 29 10.6155 29 12" stroke="${this.colors(0)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/><path d="M36 29C37.3845 29 38.7378 29.4105 39.889 30.1797C41.0401 30.9489 41.9373 32.0421 42.4672 33.3212C42.997 34.6003 43.1356 36.0078 42.8655 37.3656C42.5954 38.7235 41.9287 39.9708 40.9497 40.9497C39.9708 41.9287 38.7235 42.5954 37.3656 42.8655C36.0078 43.1356 34.6003 42.997 33.3212 42.4672C32.0421 41.9373 30.9489 41.0401 30.1797 39.889C29.4105 38.7378 29 37.3845 29 36" stroke="${this.colors(0)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/><path d="M12 29C10.6155 29 9.26216 29.4105 8.11101 30.1797C6.95987 30.9489 6.06266 32.0421 5.53285 33.3212C5.00303 34.6003 4.86441 36.0078 5.13451 37.3656C5.4046 38.7235 6.07129 39.9708 7.05026 40.9497C8.02922 41.9287 9.2765 42.5954 10.6344 42.8655C11.9922 43.1356 13.3997 42.997 14.6788 42.4672C15.9579 41.9373 17.0511 41.0401 17.8203 39.889C18.5895 38.7378 19 37.3845 19 36" stroke="${this.colors(0)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/><path d="M12 19C10.6155 19 9.26216 18.5895 8.11101 17.8203C6.95987 17.0511 6.06266 15.9579 5.53285 14.6788C5.00303 13.3997 4.86441 11.9922 5.13451 10.6344C5.4046 9.2765 6.07129 8.02922 7.05026 7.05026C8.02922 6.07129 9.2765 5.4046 10.6344 5.13451C11.9922 4.86441 13.3997 5.00303 14.6788 5.53285C15.9579 6.06266 17.0511 6.95987 17.8203 8.11101C18.5895 9.26215 19 10.6155 19 12" stroke="${this.colors(0)}" stroke-width="${this.strokeWidth}" stroke-linecap="${this.strokeLinecap}" stroke-linejoin="${this.strokeLinejoin}"/></svg>`
  32. }
  33. }
  34. }
  35. </script>