pluginAvailable.js 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /**
  2. * 功能:插件检查
  3. */
  4. import {
  5. NeedPluginIds,
  6. NeedPlugins,
  7. checkNeedPluginAvailable
  8. } from "@/utils/plugin.js"
  9. import PluginUnavailable from '@/components/plugin-unavailable/plugin-unavailable.vue'
  10. const HaloPluginAvailableMixin = {
  11. components: {
  12. PluginUnavailable
  13. },
  14. data() {
  15. return {
  16. NeedPluginIds,
  17. NeedPlugins,
  18. uniHaloPluginAvailableError: "",
  19. uniHaloPluginAvailable: true,
  20. uniHaloPluginId: "", // 当前需要的插件
  21. uniHaloPluginInfo: "" // 当前插件信息
  22. };
  23. },
  24. methods: {
  25. /** 设置插件ID */
  26. setPluginId(pluginId) {
  27. this.uniHaloPluginId = pluginId
  28. this.uniHaloPluginInfo = NeedPlugins.get(pluginId)
  29. },
  30. /** 检查插件状态 */
  31. async checkPluginAvailable(pluginId) {
  32. pluginId = pluginId ?? this.uniHaloPluginId
  33. if (!pluginId) return false;
  34. const available = await checkNeedPluginAvailable(pluginId)
  35. this.uniHaloPluginAvailable = available
  36. return available
  37. },
  38. /** 设置错误信息 */
  39. setPluginError(text) {
  40. this.uniHaloPluginAvailableError = text
  41. }
  42. },
  43. }
  44. export default HaloPluginAvailableMixin;