@pubinfo-pr/core 0.200.1 → 0.203.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AppSetting-kJRPnkd7.js → AppSetting-B7mE7iHt.js} +40 -40
- package/dist/{HButton-CErp0mmx.js → HButton-Dt6qGhhR.js} +7 -7
- package/dist/{HCheckList-DfyQDWlj.js → HCheckList-DAkb0SBD.js} +15 -15
- package/dist/{HDivider-D0jqQd5V.js → HDivider-Ds5MMqtm.js} +3 -3
- package/dist/{HInput-SGtQfOg-.js → HInput-BrsX9848.js} +10 -10
- package/dist/{HSlideover-CW2mo_MH.js → HSlideover-CXBJxuQo.js} +120 -120
- package/dist/{HToggle-DTYX36Nv.js → HToggle-DEwBoDsw.js} +7 -7
- package/dist/{HTooltip-BUu2jovy.js → HTooltip-DjAU-Evn.js} +6 -6
- package/dist/{HeaderFullMenu-BJISBxyT.js → HeaderFullMenu-l2890Bzo.js} +93 -92
- package/dist/HeaderThinMenu-5K6HXiQk.js +438 -0
- package/dist/PreferencesContent-CWHTBvHQ.js +701 -0
- package/dist/SettingBreadcrumb-p3hD9w-9.js +45 -0
- package/dist/SettingCopyright-BgWvocrJ.js +45 -0
- package/dist/{SettingEnableTransition-DyIuTVwf.js → SettingEnableTransition-Cf57pLUk.js} +17 -17
- package/dist/SettingHome-tNMtRHoT.js +31 -0
- package/dist/SettingMenu-Du4Xhle1.js +111 -0
- package/dist/{SettingMode-BzU3i7wu.js → SettingMode-DGWqKJHt.js} +12 -12
- package/dist/SettingNavSearch-C_8VmQmD.js +31 -0
- package/dist/SettingOther-B9iOz69R.js +48 -0
- package/dist/SettingPage-C0TfmEKp.js +22 -0
- package/dist/{SettingTabbar-C4LeLY8p.js → SettingTabbar-C7ZQrcN4.js} +57 -57
- package/dist/{SettingThemes-Cw6RPVzb.js → SettingThemes-022eXO9f.js} +42 -42
- package/dist/SettingToolbar-Bh9aXNpl.js +50 -0
- package/dist/SettingTopbar-DjB1Izhm.js +49 -0
- package/dist/{SettingWidthMode-nLOBk0va.js → SettingWidthMode-D7sRlBUK.js} +12 -12
- package/dist/auth-B65CJEOe.js +4242 -0
- package/dist/{change-organization-C0ycAOrg.js → change-organization-sU8aNfhI.js} +37 -37
- package/dist/{change-password-BG-GzMjk.js → change-password-Dxzhg43p.js} +72 -72
- package/dist/chunk-CD4vhpVs.js +18 -0
- package/dist/{components-D3h4bynm.js → components-emseuaQx.js} +1821 -8301
- package/dist/core/request.d.ts +1 -1
- package/dist/core-4H5JBsa5.js +4885 -0
- package/dist/dist-7OjQvlya.js +468 -0
- package/dist/engine-oniguruma-uxNZ2DGJ.js +243 -0
- package/dist/features/api/modules/auth/renzhengfuwu.d.ts +14 -0
- package/dist/features/settings/index.d.ts +90 -1
- package/dist/{form-B8DLqjcv.js → form-C3VHofnN.js} +923 -443
- package/dist/index.js +3723 -3688
- package/dist/{json-CS4uwq6s.js → json-CC4oV-bd.js} +1 -1
- package/dist/{modal-DI1pivlf.js → modal-Bl5xHbxa.js} +15512 -15808
- package/dist/{not-found-DefRS5UT.js → not-found-DbHOY5cU.js} +18 -18
- package/dist/{not-permission-DlVznUAr.js → not-permission-DwERxb_u.js} +18 -18
- package/dist/overlayscrollbars-vue-mGyICRMi.js +1460 -0
- package/dist/{profile-D_LjvR1Z.js → profile-Dq66-Gsl.js} +3322 -3258
- package/dist/{question-line-DlOx1JLj.js → question-line-D7ecIumZ.js} +2 -2
- package/dist/{reload-BSumZEfh.js → reload-CbuQgTlC.js} +4 -4
- package/dist/{right-DreQ_F11.js → right-DYiPS7dU.js} +6 -6
- package/dist/style.css +1 -1
- package/dist/{tree-select-_dclwCh-.js → tree-select-B8cTcGLa.js} +2575 -2256
- package/dist/utils/shikiHighlighter.d.ts +24 -0
- package/dist/watchDiff-CPZFtaOC.js +655 -0
- package/package.json +41 -41
- package/src/built-in/layout-component/composables/useLayoutVisible.ts +1 -1
- package/src/built-in/system-info/components/SystemInfo.vue +68 -66
- package/src/built-in/system-info/index.ts +4 -4
- package/src/core/ctx.ts +2 -2
- package/src/core/request.ts +1 -1
- package/src/features/api/modules/auth/renzhengfuwu.ts +36 -0
- package/src/features/api/modules/auth/typings.d.ts +19 -1
- package/src/features/components/PartyLogin/steps/One.vue +7 -20
- package/src/features/components/PubinfoApp/index.vue +1 -0
- package/src/utils/shikiHighlighter.ts +80 -0
- package/types/auto-imports.d.ts +63 -63
- package/types/components.d.ts +45 -1
- package/dist/HeaderFullMenu-b76YdzzL.js +0 -6
- package/dist/HeaderThinMenu-Axg_TXct.js +0 -6
- package/dist/HeaderThinMenu-D-aQYGqU.js +0 -437
- package/dist/PreferencesContent-CsiWBBO1.js +0 -695
- package/dist/SettingBreadcrumb-eKruZu6b.js +0 -45
- package/dist/SettingCopyright-BRJsDUkG.js +0 -45
- package/dist/SettingHome-B83g4XZP.js +0 -31
- package/dist/SettingMenu-DWVM_tI_.js +0 -111
- package/dist/SettingNavSearch-B4K-SZAx.js +0 -31
- package/dist/SettingOther-ErTVvHY4.js +0 -48
- package/dist/SettingPage-BuvXTZ-r.js +0 -22
- package/dist/SettingToolbar-TWm_5emz.js +0 -50
- package/dist/SettingTopbar-C4TN5uEY.js +0 -49
- package/dist/abap-DnRAvVWC.js +0 -2
- package/dist/actionscript-3-msZW2Nd7.js +0 -2
- package/dist/ada-BnC7joNr.js +0 -2
- package/dist/andromeeda-DAi7Zn3O.js +0 -2
- package/dist/angular-html-CfzavAnw.js +0 -14
- package/dist/angular-html-CrOacC1u.js +0 -2
- package/dist/angular-ts-DiJs407Z.js +0 -16
- package/dist/apache-B-Z8vYaQ.js +0 -2
- package/dist/apex-C2Noo1FU.js +0 -2
- package/dist/apl-BFsbNrB2.js +0 -14
- package/dist/applescript-BpRgPLPz.js +0 -2
- package/dist/ara-DTx016Ok.js +0 -2
- package/dist/asciidoc-wKjKdiA4.js +0 -2
- package/dist/asm-xZOYl9w2.js +0 -2
- package/dist/astro-D9e5nYiV.js +0 -16
- package/dist/aurora-x-CDpb0rTE.js +0 -2
- package/dist/auth-CMohCBnq.js +0 -3967
- package/dist/awk-3BwACbwn.js +0 -2
- package/dist/ayu-dark-CPnKMvWU.js +0 -2
- package/dist/ballerina-VA7wU8Y0.js +0 -2
- package/dist/bat-sVhn2XCB.js +0 -2
- package/dist/beancount-CNgVKIDY.js +0 -2
- package/dist/berry-BlI-PUTt.js +0 -2
- package/dist/bibtex-B6IEpmWb.js +0 -2
- package/dist/bicep-kktY_vpK.js +0 -2
- package/dist/blade-B1141JsO.js +0 -18
- package/dist/bsl-BbNmGm08.js +0 -3
- package/dist/c-4zsKFSTE.js +0 -2
- package/dist/c-Cvq0wHxz.js +0 -2
- package/dist/cadence-CeV8achK.js +0 -2
- package/dist/cairo-BeL3hNNR.js +0 -3
- package/dist/catppuccin-frappe-CYjXTpLB.js +0 -2
- package/dist/catppuccin-latte-BP-uZ0dx.js +0 -2
- package/dist/catppuccin-macchiato-CgDoT_aE.js +0 -2
- package/dist/catppuccin-mocha-Bk_D7dln.js +0 -2
- package/dist/clarity-DBEE78gB.js +0 -2
- package/dist/clojure-BFXloc7Q.js +0 -2
- package/dist/cmake-C6J-XxwT.js +0 -2
- package/dist/cobol-DYWOBmba.js +0 -8
- package/dist/codeowners-2QIwUD68.js +0 -2
- package/dist/codeql-fYQZB3Eu.js +0 -2
- package/dist/coffee-uoAXafwu.js +0 -3
- package/dist/common-lisp-mqEFEz2m.js +0 -2
- package/dist/coq-DVFDtWom.js +0 -2
- package/dist/cpp-BO2dorzg.js +0 -2
- package/dist/cpp-Ba8vDVQv.js +0 -16
- package/dist/crystal-CdH-hSfI.js +0 -16
- package/dist/csharp-D4GwS--m.js +0 -2
- package/dist/css-BPH6wT__.js +0 -2
- package/dist/css-Dn_LUKRl.js +0 -2
- package/dist/csv-DGhU9OPh.js +0 -2
- package/dist/cue-BjeLxBDB.js +0 -2
- package/dist/cypher-Axek-jiX.js +0 -2
- package/dist/d-CvSb7lgK.js +0 -2
- package/dist/dark-plus-BROoqxNE.js +0 -2
- package/dist/dart-D3lY8Y-J.js +0 -2
- package/dist/dax-8_Wvr0d1.js +0 -2
- package/dist/desktop-CGQdBGkk.js +0 -2
- package/dist/diff-IbIUICCs.js +0 -2
- package/dist/dist-CJQj4sgz.js +0 -468
- package/dist/docker-DYs0e5yp.js +0 -2
- package/dist/dotenv-DP5FfelN.js +0 -2
- package/dist/dracula-CO5RND2y.js +0 -2
- package/dist/dracula-soft-CcubPGL5.js +0 -2
- package/dist/dream-maker-Cguvgdbe.js +0 -2
- package/dist/edge-Dnua-W20.js +0 -10
- package/dist/elixir-DFKWSPCw.js +0 -3
- package/dist/elm-VFC9t5c8.js +0 -3
- package/dist/emacs-lisp-CFhrNsBY.js +0 -2
- package/dist/erb-CCXgwK_j.js +0 -8
- package/dist/erlang-C99AW0pa.js +0 -3
- package/dist/everforest-dark-BzkBm4oV.js +0 -2
- package/dist/everforest-light-6t-pc3xg.js +0 -2
- package/dist/fennel-DLzv2kEg.js +0 -2
- package/dist/fish-CrpcBLGY.js +0 -2
- package/dist/fluent-Cgb80GZA.js +0 -2
- package/dist/fortran-fixed-form-m2e4NVmq.js +0 -3
- package/dist/fortran-free-form-5KVyf4H-.js +0 -2
- package/dist/fsharp-D2zphAKM.js +0 -3
- package/dist/gdresource-C7deQN19.js +0 -8
- package/dist/gdscript-C1VWrs5m.js +0 -2
- package/dist/gdshader-BIY53tWi.js +0 -2
- package/dist/genie-9IFfnqUU.js +0 -2
- package/dist/gherkin-1iObs2O9.js +0 -2
- package/dist/git-commit-fODQp1jL.js +0 -3
- package/dist/git-rebase-B9JMbwIM.js +0 -3
- package/dist/github-dark-CrDaVcf5.js +0 -2
- package/dist/github-dark-default-D7ew6oyG.js +0 -2
- package/dist/github-dark-dimmed-C9HFgab3.js +0 -2
- package/dist/github-dark-high-contrast-wgTYZXF2.js +0 -2
- package/dist/github-light-clYQ578w.js +0 -2
- package/dist/github-light-default-BD-qeOgc.js +0 -2
- package/dist/github-light-high-contrast-CUWPjA6F.js +0 -2
- package/dist/gleam-D1sL72nZ.js +0 -2
- package/dist/glimmer-js-mnfoipP4.js +0 -12
- package/dist/glimmer-ts-Vwc7x5el.js +0 -12
- package/dist/glsl-BM79ANxo.js +0 -2
- package/dist/glsl-bVDu2tRl.js +0 -3
- package/dist/gnuplot-C7nG8NBx.js +0 -2
- package/dist/go-CDMGBx9R.js +0 -2
- package/dist/graphql-Blhn4Ti0.js +0 -12
- package/dist/graphql-miYQqS2P.js +0 -2
- package/dist/groovy-DpAdtwL_.js +0 -2
- package/dist/gruvbox-dark-hard-DGsx2GxU.js +0 -2
- package/dist/gruvbox-dark-medium-DAKSw6I6.js +0 -2
- package/dist/gruvbox-dark-soft-CeX40AvH.js +0 -2
- package/dist/gruvbox-light-hard-CF1Tu1iA.js +0 -2
- package/dist/gruvbox-light-medium-xsCjHpPw.js +0 -2
- package/dist/gruvbox-light-soft-7coHTuzG.js +0 -2
- package/dist/hack-7C5x4T-_.js +0 -8
- package/dist/haml-DfQvtItk.js +0 -2
- package/dist/haml-Dv6tzh7n.js +0 -8
- package/dist/handlebars-CROXrCh9.js +0 -12
- package/dist/haskell-BCU_ENra.js +0 -2
- package/dist/haxe-CI2Cw40C.js +0 -2
- package/dist/hcl-DZT6kL4Z.js +0 -2
- package/dist/hjson-DjX8ZGxP.js +0 -2
- package/dist/hlsl-DrbHkFUr.js +0 -2
- package/dist/houston-B7By0kh6.js +0 -2
- package/dist/html-CHDLnu8B.js +0 -2
- package/dist/html-D_hMHeE_.js +0 -8
- package/dist/html-derivative-CopqrXDk.js +0 -3
- package/dist/html-derivative-D3CEVNhY.js +0 -2
- package/dist/http-DtxVMOhn.js +0 -12
- package/dist/hurl-DEd-LLt-.js +0 -10
- package/dist/hxml-DpEoYyNf.js +0 -3
- package/dist/hy-DeNSN3Xl.js +0 -2
- package/dist/imba-C8QCbIT1.js +0 -2
- package/dist/ini-5K44R-c9.js +0 -2
- package/dist/java-C20Uda2J.js +0 -2
- package/dist/java-DzXBQdoj.js +0 -2
- package/dist/javascript-BJbJ2Vkc.js +0 -2
- package/dist/javascript-Dycm8Hyd.js +0 -2
- package/dist/jinja-BP27dfdV.js +0 -3
- package/dist/jison-CXOe1N5D.js +0 -3
- package/dist/json-osxk1FMH.js +0 -2
- package/dist/json5-XoFX4Xcw.js +0 -2
- package/dist/jsonc-K40Y1Q0-.js +0 -2
- package/dist/jsonl-Bna9B-tR.js +0 -2
- package/dist/jsonnet-1lw9dY-D.js +0 -2
- package/dist/jssm-CYUnZBcY.js +0 -2
- package/dist/jsx-BPBOa2CL.js +0 -2
- package/dist/jsx-DyXpcK38.js +0 -2
- package/dist/julia-BIymapM-.js +0 -14
- package/dist/kanagawa-dragon-Xfwgxn9c.js +0 -2
- package/dist/kanagawa-lotus-BRUptwxp.js +0 -2
- package/dist/kanagawa-wave-DW-acwZd.js +0 -2
- package/dist/kdl-CfclADGt.js +0 -2
- package/dist/kotlin-FNhFixyq.js +0 -2
- package/dist/kusto-CF-Y9S4v.js +0 -2
- package/dist/laserwave-hOG3RlVG.js +0 -2
- package/dist/latex-CDB4AtOy.js +0 -3
- package/dist/lean-CUXEMhPT.js +0 -2
- package/dist/less-BFxpJcv2.js +0 -2
- package/dist/light-plus-DVh8P_vS.js +0 -2
- package/dist/liquid-DOAu7AIJ.js +0 -12
- package/dist/llvm-yB1CCqBM.js +0 -2
- package/dist/log-BG-t_tD8.js +0 -2
- package/dist/logo-CGZiAo8G.js +0 -2
- package/dist/lua-C7jagqEX.js +0 -2
- package/dist/lua-DwvoJpOg.js +0 -3
- package/dist/luau-CvL4lods.js +0 -2
- package/dist/make-C3tgDf9_.js +0 -2
- package/dist/markdown-Dyup0Au6.js +0 -2
- package/dist/marko-CU9xlJim.js +0 -12
- package/dist/material-theme-DmFtxJmp.js +0 -2
- package/dist/material-theme-darker-CUOM9kCp.js +0 -2
- package/dist/material-theme-lighter-BTz57UB3.js +0 -2
- package/dist/material-theme-ocean-ByxaTGeQ.js +0 -2
- package/dist/material-theme-palenight-BcnRkkgS.js +0 -2
- package/dist/matlab-Cp-Q2k26.js +0 -2
- package/dist/mdc-CgyezY4I.js +0 -10
- package/dist/mdx-BGY1YXYE.js +0 -2
- package/dist/mermaid-4us6aNUf.js +0 -2
- package/dist/min-dark-DNbI5SbO.js +0 -2
- package/dist/min-light-F4BhMi3a.js +0 -2
- package/dist/mipsasm-DsVvDD7N.js +0 -2
- package/dist/mojo-DsbeQpTC.js +0 -2
- package/dist/monokai-CCPJIqmO.js +0 -2
- package/dist/move-CsY6oaMr.js +0 -2
- package/dist/narrat-Dt9pplE3.js +0 -2
- package/dist/nextflow-_yz6btMz.js +0 -2
- package/dist/nginx-D0SaaB1T.js +0 -3
- package/dist/night-owl-BF0oLCh4.js +0 -2
- package/dist/nim-ClZRjmAG.js +0 -18
- package/dist/nix-C30pu-XF.js +0 -2
- package/dist/nord-CivpZPbe.js +0 -2
- package/dist/nushell-CN3bvvul.js +0 -2
- package/dist/objective-c-BU41w6gi.js +0 -2
- package/dist/objective-cpp-DRi_u4XF.js +0 -2
- package/dist/ocaml-BQUPg4Vc.js +0 -2
- package/dist/one-dark-pro-B90Mr6az.js +0 -2
- package/dist/one-light-Czi-k9Qd.js +0 -2
- package/dist/openscad-DzhxhWzS.js +0 -2
- package/dist/overlayscrollbars-vue-BJtv0PXr.js +0 -1436
- package/dist/pascal-fr-zfvY8.js +0 -2
- package/dist/perl-BONdgqEk.js +0 -14
- package/dist/php-CkldpTwd.js +0 -16
- package/dist/pick-CiRODtTM.js +0 -10
- package/dist/pkl-DiBgHWzw.js +0 -2
- package/dist/plastic-DgEVLLEf.js +0 -2
- package/dist/plsql-B0Y5lzLA.js +0 -2
- package/dist/po-DH_2lVVI.js +0 -2
- package/dist/poimandres-DVw_WEOw.js +0 -2
- package/dist/polar-B5UJqW2X.js +0 -2
- package/dist/postcss-DcHaF3o6.js +0 -2
- package/dist/powerquery-782B9lMX.js +0 -2
- package/dist/powershell-C430fpLb.js +0 -2
- package/dist/prisma-CvweD45H.js +0 -2
- package/dist/prolog-D4wVZtB7.js +0 -2
- package/dist/proto-DdvYvbZd.js +0 -2
- package/dist/pug-BNgUsZNy.js +0 -10
- package/dist/puppet-CClzKUH9.js +0 -2
- package/dist/purescript-DHIg5VOR.js +0 -2
- package/dist/python-DvhvKlZZ.js +0 -2
- package/dist/qml-nEcL49P6.js +0 -3
- package/dist/qmldir-BtOqlgPr.js +0 -2
- package/dist/qss-ClrV3_Z9.js +0 -2
- package/dist/r-C-usIf8k.js +0 -2
- package/dist/r-C16XYL7B.js +0 -2
- package/dist/racket-od71tNNk.js +0 -2
- package/dist/raku-BafRw-D9.js +0 -2
- package/dist/razor-DFLmUw5J.js +0 -8
- package/dist/red-CxfwiYss.js +0 -2
- package/dist/reg-CEJ4u76_.js +0 -2
- package/dist/regexp-DHmQlrOr.js +0 -2
- package/dist/regexp-DhnhP6Rg.js +0 -2
- package/dist/rel-CqP7ei8l.js +0 -2
- package/dist/riscv-MDRl54Sr.js +0 -2
- package/dist/rose-pine-C-YvPx8i.js +0 -2
- package/dist/rose-pine-dawn-YFmwt8a2.js +0 -2
- package/dist/rose-pine-moon-CEkPllOl.js +0 -2
- package/dist/rosmsg-CjPdTMH_.js +0 -2
- package/dist/rst-FjQhBJbo.js +0 -20
- package/dist/ruby-6_kFSgYU.js +0 -28
- package/dist/rust-BmA7pwJq.js +0 -2
- package/dist/sas-DWFkkZhV.js +0 -3
- package/dist/sass-WBoQIb5a.js +0 -2
- package/dist/scala-oj3UWPYE.js +0 -2
- package/dist/scheme-D8elN4XP.js +0 -2
- package/dist/scss-C3rOBIpO.js +0 -2
- package/dist/scss-DCW_iwzw.js +0 -3
- package/dist/sdbl-1Jil1ibL.js +0 -2
- package/dist/shaderlab-BiTZe6wd.js +0 -3
- package/dist/shellscript-BgfUoURL.js +0 -2
- package/dist/shellscript-VazcVHVa.js +0 -2
- package/dist/shellsession-E9-fFzrt.js +0 -3
- package/dist/slack-dark-CrvBI2ER.js +0 -2
- package/dist/slack-ochin-DHGUEcgG.js +0 -2
- package/dist/smalltalk-CqpX258U.js +0 -2
- package/dist/snazzy-light-Ds9WHe42.js +0 -2
- package/dist/solarized-dark-D_uyE4Am.js +0 -2
- package/dist/solarized-light-CiPKp-CD.js +0 -2
- package/dist/solidity-DkHnQa-Q.js +0 -2
- package/dist/soy-zulPRiR4.js +0 -3
- package/dist/sparql-_ExiBwId.js +0 -3
- package/dist/splunk-C1WI5q-z.js +0 -2
- package/dist/sql-Dx3aMqR5.js +0 -2
- package/dist/sql-uECzuuDw.js +0 -2
- package/dist/ssh-config-DCNkoN49.js +0 -2
- package/dist/stata-CEvt7T3u.js +0 -3
- package/dist/stylus-DjIFnVIy.js +0 -2
- package/dist/svelte-BTXiw8b_.js +0 -12
- package/dist/swift-DbLRdXGw.js +0 -2
- package/dist/synthwave-84-BUvQUrA0.js +0 -2
- package/dist/system-verilog-DwRrDuUC.js +0 -2
- package/dist/systemd-Bgl646hW.js +0 -2
- package/dist/talonscript-CsY1u3F7.js +0 -2
- package/dist/tasl-DdqzqPD0.js +0 -2
- package/dist/tcl-BfhAB2cJ.js +0 -2
- package/dist/templ-BWRLQt5A.js +0 -10
- package/dist/terraform-pGAQ0zW7.js +0 -2
- package/dist/tex-xdbq3CaT.js +0 -3
- package/dist/tokyo-night-vc5Diq8Q.js +0 -2
- package/dist/toml-Cyhj-OXr.js +0 -2
- package/dist/ts-tags-grq0tiUL.js +0 -36
- package/dist/tsv-C9bNKEMa.js +0 -2
- package/dist/tsx-BhOqGk0p.js +0 -2
- package/dist/tsx-CMQ1mQIE.js +0 -2
- package/dist/turtle-Bx6SVsq9.js +0 -2
- package/dist/twig-UeNhiIh3.js +0 -16
- package/dist/typescript-BKcsjt75.js +0 -2
- package/dist/typescript-C_OcD2I9.js +0 -2
- package/dist/typespec-otBjN2Qt.js +0 -2
- package/dist/typst-QU-aNfPn.js +0 -2
- package/dist/v-BhDBjJzl.js +0 -2
- package/dist/vala-47dwwaWY.js +0 -2
- package/dist/vb-BnhjgUfT.js +0 -2
- package/dist/verilog-BqCzecFd.js +0 -2
- package/dist/vesper-OMhtc8Do.js +0 -2
- package/dist/vhdl-CPlO9C1x.js +0 -2
- package/dist/viml-CVoyjbl3.js +0 -2
- package/dist/vitesse-black-V_wQwmut.js +0 -2
- package/dist/vue-DVWuOfxq.js +0 -20
- package/dist/vue-html-Cppv63Ia.js +0 -8
- package/dist/vue-vine-BKFt49hu.js +0 -18
- package/dist/vyper-Dr9ZK7Tc.js +0 -2
- package/dist/wasm-Hzjjdewx.js +0 -2
- package/dist/watchDiff-D0Gf0T5E.js +0 -397
- package/dist/wenyan-MudmExHN.js +0 -2
- package/dist/wgsl-Bl50NE6j.js +0 -2
- package/dist/wikitext-1zhw1Fse.js +0 -2
- package/dist/wit-viBDayJa.js +0 -2
- package/dist/wolfram-CgYjQJoa.js +0 -2
- package/dist/xml-Bi7r6gAu.js +0 -3
- package/dist/xml-DcJlpw85.js +0 -2
- package/dist/xsl-CK5YakcJ.js +0 -3
- package/dist/yaml-BOJKoODW.js +0 -2
- package/dist/yaml-CD-Vt5Sq.js +0 -2
- package/dist/zenscript-BnwCdyI6.js +0 -2
- package/dist/zig-Bjv5g2TX.js +0 -2
- /package/dist/{vitesse-dark-CqDMGtk5.js → vitesse-dark-CxkWMfh6.js} +0 -0
- /package/dist/{vitesse-light-2jYwTSYp.js → vitesse-light-DY25e6F3.js} +0 -0
- /package/dist/{wasm-k6ZKCtGX.js → wasm-DAU6f5s5.js} +0 -0
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@pubinfo-pr/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.203.2",
|
|
5
5
|
"exports": {
|
|
6
6
|
".": {
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -27,74 +27,74 @@
|
|
|
27
27
|
"node": "^20.19.0 || >=22.12.0"
|
|
28
28
|
},
|
|
29
29
|
"peerDependencies": {
|
|
30
|
-
"@pubinfo-pr/config": "0.
|
|
31
|
-
"@pubinfo-pr/devtools": "0.
|
|
32
|
-
"@pubinfo-pr/vite": "0.
|
|
33
|
-
"alova": "^3.
|
|
30
|
+
"@pubinfo-pr/config": "0.203.2",
|
|
31
|
+
"@pubinfo-pr/devtools": "0.203.2",
|
|
32
|
+
"@pubinfo-pr/vite": "0.203.2",
|
|
33
|
+
"alova": "^3.5.0",
|
|
34
34
|
"pinia": "^3.0.4",
|
|
35
|
-
"vue": "^3.5.
|
|
36
|
-
"vue-router": "^
|
|
35
|
+
"vue": "^3.5.28",
|
|
36
|
+
"vue-router": "^5.0.2"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@alova/adapter-axios": "^2.0.
|
|
40
|
-
"@alova/shared": "^1.3.
|
|
39
|
+
"@alova/adapter-axios": "^2.0.17",
|
|
40
|
+
"@alova/shared": "^1.3.2",
|
|
41
41
|
"@ant-design/icons-vue": "^7.0.1",
|
|
42
42
|
"@headlessui/vue": "^1.7.23",
|
|
43
|
-
"@imengyu/vue3-context-menu": "^1.5.
|
|
44
|
-
"@pubinfo/pro-components": "^1.8.
|
|
45
|
-
"@pubinfo-pr/shared": "0.
|
|
46
|
-
"@unocss/reset": "^66.
|
|
47
|
-
"@vueuse/core": "^14.1
|
|
48
|
-
"@vueuse/integrations": "^14.1
|
|
43
|
+
"@imengyu/vue3-context-menu": "^1.5.4",
|
|
44
|
+
"@pubinfo/pro-components": "^1.8.2",
|
|
45
|
+
"@pubinfo-pr/shared": "0.203.2",
|
|
46
|
+
"@unocss/reset": "^66.6.0",
|
|
47
|
+
"@vueuse/core": "^14.2.1",
|
|
48
|
+
"@vueuse/integrations": "^14.2.1",
|
|
49
49
|
"ant-design-vue": "^4.2.6",
|
|
50
|
-
"axios": "^1.
|
|
50
|
+
"axios": "^1.13.5",
|
|
51
51
|
"floating-vue": "5.2.2",
|
|
52
|
-
"hookable": "^
|
|
53
|
-
"hotkeys-js": "^
|
|
54
|
-
"jsencrypt": "^3.
|
|
55
|
-
"lodash-es": "^4.17.
|
|
52
|
+
"hookable": "^6.0.1",
|
|
53
|
+
"hotkeys-js": "^4.0.0",
|
|
54
|
+
"jsencrypt": "^3.5.4",
|
|
55
|
+
"lodash-es": "^4.17.23",
|
|
56
56
|
"md5": "^2.3.0",
|
|
57
57
|
"mitt": "^3.0.1",
|
|
58
58
|
"nprogress": "^0.2.0",
|
|
59
|
-
"overlayscrollbars": "^2.
|
|
59
|
+
"overlayscrollbars": "^2.14.0",
|
|
60
60
|
"overlayscrollbars-vue": "^0.5.9",
|
|
61
61
|
"path-browserify": "^1.0.1",
|
|
62
|
-
"path-to-regexp": "^8.
|
|
62
|
+
"path-to-regexp": "^8.3.0",
|
|
63
63
|
"sortablejs": "^1.15.6",
|
|
64
|
-
"unctx": "^2.
|
|
64
|
+
"unctx": "^2.5.0",
|
|
65
65
|
"vue-m-message": "^4.0.2",
|
|
66
66
|
"zxcvbn": "^4.4.2"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
|
-
"@alova/mock": "^2.0.
|
|
70
|
-
"@iconify/json": "^2.2.
|
|
69
|
+
"@alova/mock": "^2.0.18",
|
|
70
|
+
"@iconify/json": "^2.2.437",
|
|
71
71
|
"@iconify/vue": "^5.0.0",
|
|
72
|
-
"@pubinfo-pr/config": "0.
|
|
72
|
+
"@pubinfo-pr/config": "0.203.2",
|
|
73
73
|
"@pubinfo/openapi": "^0.9.1",
|
|
74
74
|
"@pubinfo/preset-openapi": "^0.9.1",
|
|
75
|
-
"@pubinfo-pr/vite": "0.
|
|
75
|
+
"@pubinfo-pr/vite": "0.203.2",
|
|
76
76
|
"@types/lodash-es": "^4.17.12",
|
|
77
|
-
"@types/md5": "^2.3.
|
|
77
|
+
"@types/md5": "^2.3.6",
|
|
78
78
|
"@types/nprogress": "^0.2.3",
|
|
79
79
|
"@types/path-browserify": "^1.0.3",
|
|
80
|
-
"@types/sortablejs": "^1.15.
|
|
80
|
+
"@types/sortablejs": "^1.15.9",
|
|
81
81
|
"@types/zxcvbn": "^4.4.5",
|
|
82
|
-
"@vitejs/plugin-vue": "^6.0.
|
|
83
|
-
"@vitejs/plugin-vue-jsx": "^5.1.
|
|
84
|
-
"alova": "^3.
|
|
82
|
+
"@vitejs/plugin-vue": "^6.0.4",
|
|
83
|
+
"@vitejs/plugin-vue-jsx": "^5.1.4",
|
|
84
|
+
"alova": "^3.5.0",
|
|
85
85
|
"deep-pick-omit": "^1.2.1",
|
|
86
86
|
"destr": "^2.0.5",
|
|
87
87
|
"pinia": "^3.0.4",
|
|
88
|
-
"shiki": "^3.
|
|
89
|
-
"type-fest": "^4.
|
|
90
|
-
"unocss": "^66.
|
|
91
|
-
"unplugin-auto-import": "^
|
|
92
|
-
"unplugin-icons": "^
|
|
93
|
-
"unplugin-vue-components": "^
|
|
94
|
-
"vite": "^8.0.0-beta.
|
|
88
|
+
"shiki": "^3.22.0",
|
|
89
|
+
"type-fest": "^5.4.4",
|
|
90
|
+
"unocss": "^66.6.0",
|
|
91
|
+
"unplugin-auto-import": "^21.0.0",
|
|
92
|
+
"unplugin-icons": "^23.0.1",
|
|
93
|
+
"unplugin-vue-components": "^31.0.0",
|
|
94
|
+
"vite": "^8.0.0-beta.13",
|
|
95
95
|
"vite-plugin-dts": "^4.5.4",
|
|
96
|
-
"vue": "^3.5.
|
|
97
|
-
"vue-router": "^
|
|
96
|
+
"vue": "^3.5.28",
|
|
97
|
+
"vue-router": "^5.0.2"
|
|
98
98
|
},
|
|
99
99
|
"scripts": {
|
|
100
100
|
"dev": "vite build -w -m watch",
|
|
@@ -20,7 +20,7 @@ export function useLayoutVisible(_props?: LayoutProps) {
|
|
|
20
20
|
|
|
21
21
|
const show = computed(() => {
|
|
22
22
|
// 应用级 meta.layout 配置
|
|
23
|
-
const appMetaData: RequiredDeep<RouterMetaRawBaseOptions['layout']
|
|
23
|
+
const appMetaData: RequiredDeep<NonNullable<RouterMetaRawBaseOptions['layout']>> = {
|
|
24
24
|
header: true,
|
|
25
25
|
sidebar: true,
|
|
26
26
|
tabs: true,
|
|
@@ -10,74 +10,76 @@ hotkeys('alt+i', () => toggle());
|
|
|
10
10
|
</script>
|
|
11
11
|
|
|
12
12
|
<template>
|
|
13
|
-
<
|
|
14
|
-
<
|
|
15
|
-
<div class="
|
|
16
|
-
<
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
13
|
+
<Teleport to="body">
|
|
14
|
+
<HSlideover v-model="visible" title="系统信息">
|
|
15
|
+
<div class="text-dark dark:text-light">
|
|
16
|
+
<div class="px-4">
|
|
17
|
+
<h2 class="m-0 text-lg font-bold">
|
|
18
|
+
最后编译时间
|
|
19
|
+
</h2>
|
|
20
|
+
<div class="my-4 text-center text-lg font-sans">
|
|
21
|
+
{{ buildTime }}
|
|
22
|
+
</div>
|
|
21
23
|
</div>
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
</
|
|
35
|
-
</
|
|
36
|
-
</
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
</div>
|
|
47
|
-
<div class="font-sans">
|
|
48
|
-
{{ val }}
|
|
49
|
-
</div>
|
|
50
|
-
</li>
|
|
51
|
-
</ul>
|
|
52
|
-
</div>
|
|
53
|
-
<div v-if="git" class="px-4">
|
|
54
|
-
<h2 class="m-0 text-lg font-bold">
|
|
55
|
-
Git 信息
|
|
56
|
-
</h2>
|
|
57
|
-
<ul class="list-none pl-0 text-sm">
|
|
58
|
-
<li class="flex items-center justify-between rounded px-2 py-1.5 hover:bg-stone-1 dark:hover:bg-stone-9">
|
|
59
|
-
<div class="font-bold">
|
|
60
|
-
编译分支
|
|
61
|
-
</div>
|
|
62
|
-
<div class="font-sans">
|
|
63
|
-
{{ git.branch }}
|
|
64
|
-
</div>
|
|
65
|
-
</li>
|
|
66
|
-
<li class="flex items-center justify-between rounded px-2 py-1.5 hover:bg-stone-1 dark:hover:bg-stone-9">
|
|
67
|
-
<div class="font-bold">
|
|
68
|
-
最新提交提交哈希
|
|
69
|
-
</div>
|
|
70
|
-
<a-tooltip>
|
|
71
|
-
<template #title>
|
|
72
|
-
{{ git.commit }}
|
|
73
|
-
</template>
|
|
24
|
+
<div class="px-4">
|
|
25
|
+
<h2 class="m-0 text-lg font-bold">
|
|
26
|
+
生产环境依赖
|
|
27
|
+
</h2>
|
|
28
|
+
<ul class="list-none pl-0 text-sm">
|
|
29
|
+
<li v-for="(val, key) in (pkg.dependencies as object)" :key="key" class="flex items-center justify-between rounded px-2 py-1.5 hover:bg-stone-1 dark:hover:bg-stone-9">
|
|
30
|
+
<div class="font-bold">
|
|
31
|
+
{{ key }}
|
|
32
|
+
</div>
|
|
33
|
+
<div class="font-sans">
|
|
34
|
+
{{ val }}
|
|
35
|
+
</div>
|
|
36
|
+
</li>
|
|
37
|
+
</ul>
|
|
38
|
+
</div>
|
|
39
|
+
<div class="px-4">
|
|
40
|
+
<h2 class="m-0 text-lg font-bold">
|
|
41
|
+
开发环境依赖
|
|
42
|
+
</h2>
|
|
43
|
+
<ul class="list-none pl-0 text-sm">
|
|
44
|
+
<li v-for="(val, key) in (pkg.devDependencies as object)" :key="key" class="flex items-center justify-between rounded px-2 py-1.5 hover:bg-stone-1 dark:hover:bg-stone-9">
|
|
45
|
+
<div class="font-bold">
|
|
46
|
+
{{ key }}
|
|
47
|
+
</div>
|
|
74
48
|
<div class="font-sans">
|
|
75
|
-
{{
|
|
49
|
+
{{ val }}
|
|
50
|
+
</div>
|
|
51
|
+
</li>
|
|
52
|
+
</ul>
|
|
53
|
+
</div>
|
|
54
|
+
<div v-if="git" class="px-4">
|
|
55
|
+
<h2 class="m-0 text-lg font-bold">
|
|
56
|
+
Git 信息
|
|
57
|
+
</h2>
|
|
58
|
+
<ul class="list-none pl-0 text-sm">
|
|
59
|
+
<li class="flex items-center justify-between rounded px-2 py-1.5 hover:bg-stone-1 dark:hover:bg-stone-9">
|
|
60
|
+
<div class="font-bold">
|
|
61
|
+
编译分支
|
|
76
62
|
</div>
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
63
|
+
<div class="font-sans">
|
|
64
|
+
{{ git.branch }}
|
|
65
|
+
</div>
|
|
66
|
+
</li>
|
|
67
|
+
<li class="flex items-center justify-between rounded px-2 py-1.5 hover:bg-stone-1 dark:hover:bg-stone-9">
|
|
68
|
+
<div class="font-bold">
|
|
69
|
+
最新提交提交哈希
|
|
70
|
+
</div>
|
|
71
|
+
<a-tooltip>
|
|
72
|
+
<template #title>
|
|
73
|
+
{{ git.commit }}
|
|
74
|
+
</template>
|
|
75
|
+
<div class="font-sans">
|
|
76
|
+
{{ git.commitShort }}
|
|
77
|
+
</div>
|
|
78
|
+
</a-tooltip>
|
|
79
|
+
</li>
|
|
80
|
+
</ul>
|
|
81
|
+
</div>
|
|
80
82
|
</div>
|
|
81
|
-
</
|
|
82
|
-
</
|
|
83
|
+
</HSlideover>
|
|
84
|
+
</Teleport>
|
|
83
85
|
</template>
|
|
@@ -7,10 +7,10 @@ import SystemInfoComponent from './components/SystemInfo.vue';
|
|
|
7
7
|
export function SystemInfo(): ModuleOptions {
|
|
8
8
|
return {
|
|
9
9
|
name: 'built-in:system-info',
|
|
10
|
-
setup() {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
setup(ctx) {
|
|
11
|
+
// 使用 Teleport 将组件渲染到 body,而不是创建新的 Vue 应用
|
|
12
|
+
// 这样可以确保 DevTools 中只显示一个应用
|
|
13
|
+
ctx.app.component('SystemInfoPanel', SystemInfoComponent);
|
|
14
14
|
},
|
|
15
15
|
};
|
|
16
16
|
}
|
package/src/core/ctx.ts
CHANGED
|
@@ -18,7 +18,7 @@ export async function callHookAsync<T>(hookname: string, data: T) {
|
|
|
18
18
|
return res as T;
|
|
19
19
|
},
|
|
20
20
|
hookname,
|
|
21
|
-
data,
|
|
21
|
+
[data],
|
|
22
22
|
);
|
|
23
23
|
}
|
|
24
24
|
|
|
@@ -41,6 +41,6 @@ export function callHookSync<T>(hookname: string, data: T) {
|
|
|
41
41
|
return res;
|
|
42
42
|
},
|
|
43
43
|
hookname,
|
|
44
|
-
data,
|
|
44
|
+
[data],
|
|
45
45
|
);
|
|
46
46
|
}
|
package/src/core/request.ts
CHANGED
|
@@ -49,7 +49,7 @@ export function createRequest(options: RequestOptions = {}) {
|
|
|
49
49
|
return _response;
|
|
50
50
|
},
|
|
51
51
|
'http:response:onSuccess',
|
|
52
|
-
response,
|
|
52
|
+
[response],
|
|
53
53
|
) as AxiosResponse<any, any>;
|
|
54
54
|
|
|
55
55
|
return stopped ? res : (responded?.onSuccess?.(res, method, () => stopped = true) ?? res);
|
|
@@ -1,5 +1,41 @@
|
|
|
1
1
|
import { auth as request } from '@/features/api/request';
|
|
2
2
|
|
|
3
|
+
/**
|
|
4
|
+
* @description 双因素认证-二次认证准备
|
|
5
|
+
* @url /auth/2fa/prepare
|
|
6
|
+
* @method POST
|
|
7
|
+
* @author @pubinfo/openapi
|
|
8
|
+
*/
|
|
9
|
+
export function postAuth2FaPrepare<
|
|
10
|
+
R = API.ResponseDataString,
|
|
11
|
+
T = API.ResponseDataString,
|
|
12
|
+
>(body: API.Prepare2faDto, options?: Parameters<typeof request.Post<R, T>>[2]) {
|
|
13
|
+
return request.Post<R, T>('/auth/2fa/prepare', body, {
|
|
14
|
+
headers: {
|
|
15
|
+
'Content-Type': 'application/json',
|
|
16
|
+
},
|
|
17
|
+
...(options || {}),
|
|
18
|
+
});
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* @description 双因素认证-二次认证验证
|
|
23
|
+
* @url /auth/2fa/verify
|
|
24
|
+
* @method POST
|
|
25
|
+
* @author @pubinfo/openapi
|
|
26
|
+
*/
|
|
27
|
+
export function postAuth2FaVerify<
|
|
28
|
+
R = API.ResponseDataLoginTokenVo,
|
|
29
|
+
T = API.ResponseDataLoginTokenVo,
|
|
30
|
+
>(body: API.Verify2faDto, options?: Parameters<typeof request.Post<R, T>>[2]) {
|
|
31
|
+
return request.Post<R, T>('/auth/2fa/verify', body, {
|
|
32
|
+
headers: {
|
|
33
|
+
'Content-Type': 'application/json',
|
|
34
|
+
},
|
|
35
|
+
...(options || {}),
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
|
|
3
39
|
/**
|
|
4
40
|
* @description 验证码-前端校验 需要校验的验证码类型:blockPuzzle、clickWord
|
|
5
41
|
* @url /auth/captcha/check
|
|
@@ -40,9 +40,9 @@ declare namespace API {
|
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
type IResponseCode = {
|
|
43
|
-
msg?: string;
|
|
44
43
|
code?: number;
|
|
45
44
|
hint?: string;
|
|
45
|
+
msg?: string;
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
type LoginByPwdCaptchaDto = {
|
|
@@ -79,6 +79,8 @@ declare namespace API {
|
|
|
79
79
|
/** 访问令牌 */
|
|
80
80
|
accessToken?: string;
|
|
81
81
|
loginResponse?: IResponseCode;
|
|
82
|
+
/** 2FA登录码 不为空表示开启了2FA登录 */
|
|
83
|
+
login2faCode?: string;
|
|
82
84
|
};
|
|
83
85
|
|
|
84
86
|
type postAuthChangeLoginOrgParams = {
|
|
@@ -103,6 +105,13 @@ declare namespace API {
|
|
|
103
105
|
refreshToken: string;
|
|
104
106
|
};
|
|
105
107
|
|
|
108
|
+
type Prepare2faDto = {
|
|
109
|
+
/** login2faCode */
|
|
110
|
+
login2faCode: string;
|
|
111
|
+
/** 二次认证方式 默认支持sms */
|
|
112
|
+
fa2Type: string;
|
|
113
|
+
};
|
|
114
|
+
|
|
106
115
|
type PubLoginTokenVo = {
|
|
107
116
|
/** id */
|
|
108
117
|
id?: string;
|
|
@@ -174,4 +183,13 @@ declare namespace API {
|
|
|
174
183
|
key?: string;
|
|
175
184
|
plaintext?: string;
|
|
176
185
|
};
|
|
186
|
+
|
|
187
|
+
type Verify2faDto = {
|
|
188
|
+
/** login2faCode */
|
|
189
|
+
login2faCode: string;
|
|
190
|
+
/** 二次认证方式 默认支持sms */
|
|
191
|
+
fa2Type: string;
|
|
192
|
+
/** 认证码 */
|
|
193
|
+
verifyCode: string;
|
|
194
|
+
};
|
|
177
195
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import type { HTTPMethod, HTTPParamsValue, ParamItem } from '../type';
|
|
3
3
|
import { DeleteOutlined, PlusOutlined, SendOutlined } from '@ant-design/icons-vue';
|
|
4
|
-
import {
|
|
4
|
+
import { highlightCode } from '../../../../utils/shikiHighlighter';
|
|
5
5
|
import MethodSelect from '../MethodSelect.vue';
|
|
6
6
|
import HttpParamsItem from '../ParamsItem.vue';
|
|
7
7
|
import HttpParamsPanel from '../ParamsPanel.vue';
|
|
@@ -104,25 +104,12 @@ const formattedHtml = ref<string>('');
|
|
|
104
104
|
// Watch data changes and update formatted HTML
|
|
105
105
|
watch(() => props.data, async (newData) => {
|
|
106
106
|
if (newData != null) {
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
formattedHtml.value = await codeToHtml(jsonString, {
|
|
114
|
-
lang: 'json',
|
|
115
|
-
themes: {
|
|
116
|
-
light: 'vitesse-light',
|
|
117
|
-
dark: 'vitesse-dark',
|
|
118
|
-
},
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
catch (error) {
|
|
122
|
-
console.error('Failed to format data:', error);
|
|
123
|
-
// Fallback to plain text display
|
|
124
|
-
formattedHtml.value = `<pre>${String(newData)}</pre>`;
|
|
125
|
-
}
|
|
107
|
+
// Convert data to formatted JSON string
|
|
108
|
+
const jsonString = typeof newData === 'string'
|
|
109
|
+
? newData
|
|
110
|
+
: JSON.stringify(newData, null, 2);
|
|
111
|
+
|
|
112
|
+
formattedHtml.value = await highlightCode(jsonString, { lang: 'json' });
|
|
126
113
|
}
|
|
127
114
|
else {
|
|
128
115
|
formattedHtml.value = '';
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import type { HighlighterCore } from 'shiki';
|
|
2
|
+
|
|
3
|
+
// 缓存 highlighter 实例,全局单例模式
|
|
4
|
+
let highlighterPromise: Promise<HighlighterCore> | null = null;
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* 获取 Shiki 高亮器实例(单例模式)
|
|
8
|
+
* 支持的语言:json
|
|
9
|
+
* 支持的主题:vitesse-dark, vitesse-light
|
|
10
|
+
*
|
|
11
|
+
* 所有 shiki 相关模块均采用动态导入,避免主 bundle 体积过大
|
|
12
|
+
*/
|
|
13
|
+
export function getShikiHighlighter(): Promise<HighlighterCore> {
|
|
14
|
+
if (!highlighterPromise) {
|
|
15
|
+
highlighterPromise = (async () => {
|
|
16
|
+
// 动态导入 shiki 核心模块
|
|
17
|
+
const [
|
|
18
|
+
{ createHighlighterCore },
|
|
19
|
+
{ createOnigurumaEngine },
|
|
20
|
+
] = await Promise.all([
|
|
21
|
+
import('shiki/core'),
|
|
22
|
+
import('shiki/engine/oniguruma'),
|
|
23
|
+
]);
|
|
24
|
+
|
|
25
|
+
return createHighlighterCore({
|
|
26
|
+
themes: [
|
|
27
|
+
import('shiki/themes/vitesse-light.mjs'),
|
|
28
|
+
import('shiki/themes/vitesse-dark.mjs'),
|
|
29
|
+
],
|
|
30
|
+
langs: [
|
|
31
|
+
import('shiki/langs/json.mjs'),
|
|
32
|
+
],
|
|
33
|
+
engine: createOnigurumaEngine(import('shiki/wasm')),
|
|
34
|
+
});
|
|
35
|
+
})();
|
|
36
|
+
}
|
|
37
|
+
return highlighterPromise;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface HighlightCodeOptions {
|
|
41
|
+
/** 代码语言,默认 json */
|
|
42
|
+
lang?: string
|
|
43
|
+
/** 亮色主题,默认 vitesse-light */
|
|
44
|
+
lightTheme?: string
|
|
45
|
+
/** 暗色主题,默认 vitesse-dark */
|
|
46
|
+
darkTheme?: string
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* 使用 Shiki 高亮代码
|
|
51
|
+
* @param code 要高亮的代码
|
|
52
|
+
* @param options 高亮选项
|
|
53
|
+
* @returns 高亮后的 HTML 字符串
|
|
54
|
+
*/
|
|
55
|
+
export async function highlightCode(
|
|
56
|
+
code: string,
|
|
57
|
+
options: HighlightCodeOptions = {},
|
|
58
|
+
): Promise<string> {
|
|
59
|
+
const {
|
|
60
|
+
lang = 'json',
|
|
61
|
+
lightTheme = 'vitesse-light',
|
|
62
|
+
darkTheme = 'vitesse-dark',
|
|
63
|
+
} = options;
|
|
64
|
+
|
|
65
|
+
try {
|
|
66
|
+
const highlighter = await getShikiHighlighter();
|
|
67
|
+
|
|
68
|
+
return highlighter.codeToHtml(code, {
|
|
69
|
+
lang,
|
|
70
|
+
themes: {
|
|
71
|
+
light: lightTheme,
|
|
72
|
+
dark: darkTheme,
|
|
73
|
+
},
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
catch (error) {
|
|
77
|
+
console.error('Failed to highlight code:', error);
|
|
78
|
+
return `<pre><code>${code}</code></pre>`;
|
|
79
|
+
}
|
|
80
|
+
}
|