@epxing/utils 5.3.0-beta.1 → 5.3.0-beta.3

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.
Files changed (156) hide show
  1. package/API.md +2 -2
  2. package/README.md +23 -23
  3. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/ai.png.js +4 -0
  4. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/ai_import.png.js +4 -0
  5. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/app.png.js +4 -0
  6. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/approval.png.js +4 -0
  7. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/canvas-editor/option.svg.js +4 -0
  8. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/create_market_system.png.js +4 -0
  9. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/create_system.png.js +4 -0
  10. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/custom.png.js +4 -0
  11. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/default-icon.png.js +4 -0
  12. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/ex_link.png.js +4 -0
  13. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/excel.png.js +4 -0
  14. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/folder.png.js +4 -0
  15. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/hall/form.png.js +4 -0
  16. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/hall/meta.png.js +4 -0
  17. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/hall/process.png.js +4 -0
  18. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/hall/rule.png.js +4 -0
  19. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/hall/service.png.js +4 -0
  20. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/hall/userRole.png.js +4 -0
  21. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/import.png.js +4 -0
  22. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/module.png.js +4 -0
  23. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/null.png.js +4 -0
  24. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/photo.png.js +4 -0
  25. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/single_file.png.js +4 -0
  26. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/snapshot-history.png.js +4 -0
  27. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/snapshot-manual.png.js +4 -0
  28. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/snapshot-realtime.png.js +4 -0
  29. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/staff.png.js +4 -0
  30. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/sync_append.png.js +4 -0
  31. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/sync_append_update.png.js +4 -0
  32. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/sync_loading.png.js +4 -0
  33. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/sync_replace.png.js +4 -0
  34. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/sync_update.png.js +4 -0
  35. package/dist/.cache/route-chart-release/frontend/frame/src/assets/images/user_bg.png.js +4 -0
  36. package/dist/_virtual/jsencrypt.min.js +1 -1
  37. package/dist/{_vendor → frontend/frame/_vendor}/.pnpm/jsencrypt@3.5.4/_vendor/jsencrypt/bin/jsencrypt.min.js +1 -1
  38. package/dist/src/ai-call-method-form.js +55 -0
  39. package/dist/src/asset-images.js +105 -105
  40. package/dist/src/wiki-path.js +111 -0
  41. package/package.json +1 -1
  42. package/src/ai-call-method-form.js +54 -0
  43. package/src/chart-registry.js +41 -41
  44. package/src/fieldFactory.js +3 -3
  45. package/src/index.js +2 -2
  46. package/src/legacy.js +29 -29
  47. package/src/meta.js +2 -2
  48. package/src/pdf.viewer.js +2 -2
  49. package/src/public.js +11 -11
  50. package/src/util.js +2 -2
  51. package/src/wiki-path.js +164 -0
  52. package/dist/src/assets/images/ai.png.js +0 -4
  53. package/dist/src/assets/images/ai_import.png.js +0 -4
  54. package/dist/src/assets/images/app.png.js +0 -4
  55. package/dist/src/assets/images/approval.png.js +0 -4
  56. package/dist/src/assets/images/canvas-editor/option.svg.js +0 -4
  57. package/dist/src/assets/images/create_market_system.png.js +0 -4
  58. package/dist/src/assets/images/create_system.png.js +0 -4
  59. package/dist/src/assets/images/custom.png.js +0 -4
  60. package/dist/src/assets/images/default-icon.png.js +0 -4
  61. package/dist/src/assets/images/ex_link.png.js +0 -4
  62. package/dist/src/assets/images/excel.png.js +0 -4
  63. package/dist/src/assets/images/folder.png.js +0 -4
  64. package/dist/src/assets/images/hall/form.png.js +0 -4
  65. package/dist/src/assets/images/hall/meta.png.js +0 -4
  66. package/dist/src/assets/images/hall/process.png.js +0 -4
  67. package/dist/src/assets/images/hall/rule.png.js +0 -4
  68. package/dist/src/assets/images/hall/service.png.js +0 -4
  69. package/dist/src/assets/images/hall/userRole.png.js +0 -4
  70. package/dist/src/assets/images/import.png.js +0 -4
  71. package/dist/src/assets/images/module.png.js +0 -4
  72. package/dist/src/assets/images/null.png.js +0 -4
  73. package/dist/src/assets/images/photo.png.js +0 -4
  74. package/dist/src/assets/images/single_file.png.js +0 -4
  75. package/dist/src/assets/images/snapshot-history.png.js +0 -4
  76. package/dist/src/assets/images/snapshot-manual.png.js +0 -4
  77. package/dist/src/assets/images/snapshot-realtime.png.js +0 -4
  78. package/dist/src/assets/images/staff.png.js +0 -4
  79. package/dist/src/assets/images/sync_append.png.js +0 -4
  80. package/dist/src/assets/images/sync_append_update.png.js +0 -4
  81. package/dist/src/assets/images/sync_loading.png.js +0 -4
  82. package/dist/src/assets/images/sync_replace.png.js +0 -4
  83. package/dist/src/assets/images/sync_update.png.js +0 -4
  84. package/dist/src/assets/images/user_bg.png.js +0 -4
  85. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/add.png.js +0 -0
  86. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/ai-button.png.js +0 -0
  87. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/book.png.js +0 -0
  88. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/alignment.svg.js +0 -0
  89. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/arrow-left.svg.js +0 -0
  90. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/arrow-right.svg.js +0 -0
  91. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/block.svg.js +0 -0
  92. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/bold.svg.js +0 -0
  93. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/catalog.svg.js +0 -0
  94. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/center.svg.js +0 -0
  95. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/checkbox.svg.js +0 -0
  96. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/close.svg.js +0 -0
  97. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/codeblock.svg.js +0 -0
  98. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/color.svg.js +0 -0
  99. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/control.svg.js +0 -0
  100. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/date.svg.js +0 -0
  101. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/exit-fullscreen.svg.js +0 -0
  102. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/format.svg.js +0 -0
  103. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/highlight.svg.js +0 -0
  104. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/hyperlink.svg.js +0 -0
  105. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/image.svg.js +0 -0
  106. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/italic.svg.js +0 -0
  107. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/justify.svg.js +0 -0
  108. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/latex.svg.js +0 -0
  109. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/left.svg.js +0 -0
  110. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/line-dash-dot-dot.svg.js +0 -0
  111. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/line-dash-dot.svg.js +0 -0
  112. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/line-dash-large-gap.svg.js +0 -0
  113. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/line-dash-small-gap.svg.js +0 -0
  114. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/line-dot.svg.js +0 -0
  115. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/line-double.svg.js +0 -0
  116. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/line-single.svg.js +0 -0
  117. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/line-wavy.svg.js +0 -0
  118. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/list.svg.js +0 -0
  119. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/page-break.svg.js +0 -0
  120. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/page-mode.svg.js +0 -0
  121. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/page-scale-add.svg.js +0 -0
  122. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/page-scale-minus.svg.js +0 -0
  123. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/painter.svg.js +0 -0
  124. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/paper-direction.svg.js +0 -0
  125. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/paper-margin.svg.js +0 -0
  126. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/paper-size.svg.js +0 -0
  127. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/print.svg.js +0 -0
  128. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/radio.svg.js +0 -0
  129. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/redo.svg.js +0 -0
  130. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/request-fullscreen.svg.js +0 -0
  131. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/right.svg.js +0 -0
  132. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/row-margin.svg.js +0 -0
  133. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/search.svg.js +0 -0
  134. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/separator.svg.js +0 -0
  135. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/signature-undo.svg.js +0 -0
  136. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/signature.svg.js +0 -0
  137. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/size-add.svg.js +0 -0
  138. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/size-minus.svg.js +0 -0
  139. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/strikeout.svg.js +0 -0
  140. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/subscript.svg.js +0 -0
  141. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/superscript.svg.js +0 -0
  142. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/table.svg.js +0 -0
  143. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/title.svg.js +0 -0
  144. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/trash.svg.js +0 -0
  145. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/underline.svg.js +0 -0
  146. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/undo.svg.js +0 -0
  147. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/watermark.svg.js +0 -0
  148. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/canvas-editor/word-tool.svg.js +0 -0
  149. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/clear.png.js +0 -0
  150. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/file.png.js +0 -0
  151. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/hr.png.js +0 -0
  152. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/jian.png.js +0 -0
  153. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/qq.png.js +0 -0
  154. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/robot.png.js +0 -0
  155. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/switch_app.png.js +0 -0
  156. /package/dist/{src → .cache/route-chart-release/frontend/frame/src}/assets/images/weixin.png.js +0 -0
package/src/public.js CHANGED
@@ -1,11 +1,11 @@
1
- export { default as Config } from './Config'
2
- export { default as Page } from './page'
3
- export { default as placeholder } from './placeholder'
4
- export * from './placeholder'
5
- export * from './date-helper'
6
- export * from './dom-helper'
7
- export { default as storage, getXsrfToken, setXsrfToken } from './storage'
8
- export { default as cookie } from './storage'
9
- export { default as moment, default as dateTime, createMoment } from './moment-compat'
10
- export { default as lodash } from './collection'
11
- export * from './collection'
1
+ export { default as Config } from './Config'
2
+ export { default as Page } from './page'
3
+ export { default as placeholder } from './placeholder'
4
+ export * from './placeholder'
5
+ export * from './date-helper'
6
+ export * from './dom-helper'
7
+ export { default as storage, getXsrfToken, setXsrfToken } from './storage'
8
+ export { default as cookie } from './storage'
9
+ export { default as moment, default as dateTime, createMoment } from './moment-compat'
10
+ export { default as lodash } from './collection'
11
+ export * from './collection'
package/src/util.js CHANGED
@@ -1,2 +1,2 @@
1
- // 兼容旧路径;新代码从 @epxing/core 导入。
2
- export { default } from '@epxing/core/src/runtime-utils/util'
1
+ // 兼容旧路径;新代码从 @epxing/core 导入。
2
+ export { default } from '@epxing/core/src/runtime-utils/util'
@@ -0,0 +1,164 @@
1
+ /**
2
+ * Wiki 路径工具。
3
+ *
4
+ * 规则必须与后端 `WikiPaths` 一致:正文里的相对链接是作者按目录写的,
5
+ * 两边解析口径不同就会出现「后端认得、前端点不开」,而这正是这套设计要消灭的问题。
6
+ */
7
+
8
+ /** 拆出锚点。 */
9
+ export function splitAnchor (href) {
10
+ const s = String(href || '')
11
+ const i = s.indexOf('#')
12
+ return i < 0 ? { path: s, anchor: '' } : { path: s.slice(0, i), anchor: s.slice(i + 1) }
13
+ }
14
+
15
+ /** 外链不参与站内解析。 */
16
+ export function isExternal (href) {
17
+ return /^(https?:)?\/\//i.test(String(href || '')) ||
18
+ /^(mailto|tel|data|javascript):/i.test(String(href || ''))
19
+ }
20
+
21
+ /** 页表与接口使用 Store 的规范页标识;这里只解码并统一分隔符,不猜扩展名。 */
22
+ export function pagePath (path) {
23
+ return decodePath(path)
24
+ .replace(/\\/g, '/')
25
+ .split('/')
26
+ .filter(seg => seg && seg !== '.')
27
+ .join('/')
28
+ }
29
+
30
+ /**
31
+ * 相对链接 → 站内绝对路径。
32
+ *
33
+ * `../` 必须真的回退一级,不能只做字符串拼接——后端曾经就栽在这里:
34
+ * 规范化时保留了 `../`,导致 `../implementation/05-sop.md` 永远匹配不上任何页。
35
+ */
36
+ export function resolvePath (fromPath, href) {
37
+ const split = splitAnchor(href)
38
+ const path = decodePath(split.path)
39
+ const anchor = decodeAnchor(split.anchor)
40
+ if (!path) return { path: pagePath(fromPath), anchor }
41
+ if (isExternal(path)) return { path: '', anchor: '' }
42
+
43
+ const abs = path.startsWith('/')
44
+ const baseDir = abs ? [] : String(fromPath || '').split('/').slice(0, -1)
45
+ const parts = abs ? [] : baseDir.slice()
46
+
47
+ for (const seg of path.replace(/^\//, '').split('/')) {
48
+ if (!seg || seg === '.') continue
49
+ if (seg === '..') {
50
+ if (!parts.length) return { path: '', anchor: '' }
51
+ parts.pop()
52
+ continue
53
+ }
54
+ parts.push(seg)
55
+ }
56
+ return { path: pagePath(parts.join('/')), anchor }
57
+ }
58
+
59
+ /**
60
+ * 站点地址:`#/wiki/{客户}/{系统}/{空间}/{页路径}`,锚点挂 hash。
61
+ *
62
+ * 保留当前路由的前三段而不是自己拼——客户与系统段是权限边界的一部分,
63
+ * 在前端重新组装容易拼错,也容易被人改成别的租户去试。
64
+ */
65
+ export function siteUrl (route, path, anchor) {
66
+ const routePath = pagePath(path)
67
+ const out = {
68
+ name: route.name,
69
+ params: { ...route.params, path: routePath },
70
+ query: {}
71
+ }
72
+ if (route.name === 'wikiView') {
73
+ // `/wiki/view` 这条路由没有路径段,params.path 落不到地址里。
74
+ // 不管用这一点会一口气错三样:地址栏始终是同一个 `#/wiki/view`,
75
+ // 刷新读不回当前页,浏览器历史里堆的全是同一条、返回看着像没反应。
76
+ // 所以这条路由上换页走 query,并且必须把 `w`(空间)原样带上:
77
+ // 丢了它,下一次读页就没有空间 ID,后端只能报「页不存在」——看着像页被删了。
78
+ out.query = { path: routePath }
79
+ if (route.query.w) out.query.w = route.query.w
80
+ // p / rev / h 属于那一条引用(冻结在某一版),换到别的页之后就不成立了,
81
+ // 留着会让 syncFromRoute 继续按引用读,点哪一页都回到引用那一页。
82
+ }
83
+ // 两种站点路由换页都必须保留预览模式和返回地址。
84
+ const contextKeys = ['mode', 'from', 'back']
85
+ contextKeys.forEach(key => {
86
+ if (route.query[key]) out.query[key] = route.query[key]
87
+ })
88
+ if (anchor) out.hash = '#' + anchor
89
+ return out
90
+ }
91
+
92
+ /**
93
+ * 从聊天页打开 Wiki 的统一入口。
94
+ *
95
+ * `mode=preview` 决定能力边界,`from/back` 只决定返回去向。两者分开后,分享链接可以
96
+ * 去掉聊天会话地址但继续保持只读,不会把分享接收者送进发起人的聊天路由。
97
+ */
98
+ export function chatPreviewRoute (route, wikiId, pageId, anchor) {
99
+ const query = {
100
+ w: wikiId,
101
+ mode: 'preview',
102
+ from: 'chat',
103
+ back: route.fullPath
104
+ }
105
+ if (pageId) query.p = pageId
106
+ if (anchor) query.h = anchor
107
+ const client = route.params.client
108
+ // 新窗口没有聊天页的 Vuex 上下文,必须把租户写进地址。
109
+ // Wiki 属于该租户的平台系统,与聊天智能体所在的业务系统无关。
110
+ if (client) {
111
+ delete query.w
112
+ return { name: 'wikiSite', params: { client, system: 'epxing-frame', wiki: wikiId }, query }
113
+ }
114
+ return { name: 'wikiView', query }
115
+ }
116
+
117
+ /** 兼容旧聊天链接:在加载应用配置之前,恢复 back 中明确携带的租户。 */
118
+ export function restoreChatWikiRoute (route) {
119
+ if (route.name !== 'wikiView' || route.query.from !== 'chat' || !route.query.w) return null
120
+ const back = route.query.back
121
+ const match = typeof back === 'string' && /^\/(?:app|hall)\/([\w-]+)(?:\/|\?|$)/.exec(back)
122
+ if (!match || match[1] === 'role' || match[1] === 'login') return null
123
+ const { w, ...query } = route.query
124
+ return {
125
+ name: 'wikiSite',
126
+ params: { client: match[1], system: 'epxing-frame', wiki: w },
127
+ query,
128
+ hash: route.hash,
129
+ replace: true
130
+ }
131
+ }
132
+
133
+ /**
134
+ * 绝对路径 → 从某一页看过去的相对链接。与后端 `WikiPaths.relativize` 同一套规则。
135
+ *
136
+ * 手写相对路径是死链的头号来源——数错一层 `../` 就指到不存在的地方,
137
+ * 而写的时候看不出来,要等体检或者别人点开才发现。所以内链一律由平台算好、只允许从选择器选。
138
+ *
139
+ * 结果保留目标页的 Store 规范标识:无扩展名、`.md`、`.html` 都不在前端改写。
140
+ */
141
+ export function relativize (fromPath, toPath) {
142
+ const from = pagePath(fromPath).split('/').slice(0, -1)
143
+ const to = pagePath(toPath).split('/')
144
+ let common = 0
145
+ while (common < from.length && common < to.length - 1 && from[common] === to[common]) common++
146
+ const up = from.slice(common).map(() => '../').join('')
147
+ return up + to.slice(common).join('/')
148
+ }
149
+
150
+ function decodePath (value) {
151
+ try {
152
+ return decodeURI(String(value || ''))
153
+ } catch (e) {
154
+ return String(value || '')
155
+ }
156
+ }
157
+
158
+ function decodeAnchor (value) {
159
+ try {
160
+ return decodeURIComponent(String(value || ''))
161
+ } catch (e) {
162
+ return String(value || '')
163
+ }
164
+ }
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_2 = "" + new URL("../../../assets/ai-BBFn3QRy.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_2 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_3 = "" + new URL("../../../assets/ai_import-BxQ7Ohn6.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_3 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_4 = "" + new URL("../../../assets/app-DBNIokDP.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_4 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_5 = "" + new URL("../../../assets/approval-DGcBv-re.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_5 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_2_31 = "" + new URL("../../../../assets/option-CG02tIgh.svg", import.meta.url).href;
2
- export {
3
- __vite_glob_2_31 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_8 = "" + new URL("../../../assets/create_market_system-BH__UVbt.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_8 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_9 = "" + new URL("../../../assets/create_system-irg--ePh.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_9 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_10 = "" + new URL("../../../assets/custom-C-ujlHz1.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_10 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_11 = "" + new URL("../../../assets/default-icon-2193FMjv.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_11 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_12 = "" + new URL("../../../assets/ex_link-4fYPd9nh.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_12 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_13 = "" + new URL("../../../assets/excel-BYqRm2Y8.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_13 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_15 = "" + new URL("../../../assets/folder-CFVsNbjj.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_15 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_0_0 = "" + new URL("../../../../assets/form-DD9HV-jN.png", import.meta.url).href;
2
- export {
3
- __vite_glob_0_0 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_0_1 = "" + new URL("../../../../assets/meta-Qorpi70B.png", import.meta.url).href;
2
- export {
3
- __vite_glob_0_1 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_0_2 = "" + new URL("../../../../assets/process-Dcndu9m2.png", import.meta.url).href;
2
- export {
3
- __vite_glob_0_2 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_0_3 = "" + new URL("../../../../assets/rule-DcYhYse0.png", import.meta.url).href;
2
- export {
3
- __vite_glob_0_3 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_0_4 = "" + new URL("../../../../assets/service-CLYLpPl3.png", import.meta.url).href;
2
- export {
3
- __vite_glob_0_4 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_0_5 = "" + new URL("../../../../assets/userRole-D1LAdM6N.png", import.meta.url).href;
2
- export {
3
- __vite_glob_0_5 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_17 = "" + new URL("../../../assets/import-tfKWbWVS.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_17 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_19 = "" + new URL("../../../assets/module-DQrs7VAS.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_19 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_20 = "" + new URL("../../../assets/null-B2An29h4.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_20 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_21 = "" + new URL("../../../assets/photo-uscRzRXF.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_21 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_24 = "" + new URL("../../../assets/single_file-B3TJtJli.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_24 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_25 = "" + new URL("../../../assets/snapshot-history-BsVY9cVj.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_25 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_26 = "" + new URL("../../../assets/snapshot-manual-DBRfFHYI.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_26 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_27 = "" + new URL("../../../assets/snapshot-realtime-DjHnJI6C.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_27 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_28 = "" + new URL("../../../assets/staff-Bn_-_00l.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_28 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_31 = "" + new URL("../../../assets/sync_append-Bm8mtvZs.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_31 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_30 = "" + new URL("../../../assets/sync_append_update-DzjxqJ_U.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_30 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_32 = "" + new URL("../../../assets/sync_loading-D7LoNPFP.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_32 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_33 = "" + new URL("../../../assets/sync_replace-Cbbzz327.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_33 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_34 = "" + new URL("../../../assets/sync_update-Birao6Cr.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_34 as default
4
- };
@@ -1,4 +0,0 @@
1
- const __vite_glob_1_35 = "" + new URL("../../../assets/user_bg-BFHtaZjz.png", import.meta.url).href;
2
- export {
3
- __vite_glob_1_35 as default
4
- };