爱蒙编辑器(vue,一键打开)

2021/11/18 下午3:32:59

目前为 2023-11-03 提交的版本。查看 最新版本

// ==UserScript==
// @name        爱蒙编辑器(vue,一键打开)
// @namespace   Violentmonkey Scripts
// @include       http://localhost*
// @include       http://127.0.0.1*
// @grant       none
// @version     0.6.0
// @author      -
// @description 2021/11/18 下午3:32:59
// ==/UserScript==

document.addEventListener('keyup', (event) => {
  if (event.keyCode === 190 && event.target.tagName !== 'INPUT') {
    if (window.useNuxtApp) {
      const app = useNuxtApp()
      fetch(`/__open-in-editor?file=${app._route.matched[app._route.matched.length - 1].components.default.__file}`)
      return false
    }
    if (window.__vite_plugin_ssr) {
      const baseSrc = __VUE_DEVTOOLS_GLOBAL_HOOK__.apps[2].app._instance.subTree.type.__file.replace(/renderer\/.*/, '')
      let pathname = location.pathname + '/index'
      const list = __vite_plugin_ssr['setPageFiles.ts'].pageFilesAll
      let fileUrl = ''
      if (pathname === '//index') {
        file = list.find(item => item.pageId === '/src/pages/index/index')
        fileUrl = file.filePath
      } else {
        file = list.find(item => item.pageId.includes(pathname))
        fileUrl = file.filePath
      }
      console.log(fileUrl)
      fetch(`/__open-in-editor?file=${baseSrc + fileUrl}`)
      return false
    }
    if (typeof app !== 'undefined') {
      const vue3Url = (window?.__VUE_DEVTOOLS_GLOBAL_HOOK__.apps?.[0]?.app?.config?.globalProperties.$route.matched.slice(-1))?.[0].components.default.__file
      if (vue3Url) {
        console.log(vue3Url)
        fetch(`/__open-in-editor?file=${vue3Url}`)
      } else if (window.uni) {
        const app = window?.__VUE_DEVTOOLS_GLOBAL_HOOK__.apps?.[0]?.app
        const baseSrc = app._component.__file.replace('/App.vue', '')
        const fileUrl = baseSrc + app.router.currentRoute.value.fullPath + '.vue'
        fetch(`/__open-in-editor?file=${fileUrl}`)
      } else if (app) {
        const vm = app.__vue__
        const fileUrl = vm.$route.matched[vm.$route.matched.length - 1].components.default.__file
        fetch(`/__open-in-editor?file=${fileUrl}`)
      }
    } else if (typeof getApp === 'function' && localStorage.getItem('custom-file-base-url')) {
      const url = localStorage.getItem('custom-file-base-url') + getApp()._route.fullPath + '.vue'
      console.log(url)
      fetch(`/__open-in-editor?file=${url}`)
    }
  }
})

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址