@aplus-frontend/ui 7.10.2 → 7.10.4

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.
@@ -1,18 +1,18 @@
1
- import { defineComponent as G, useSlots as U, ref as y, watch as W, unref as n, createBlock as M, openBlock as $, withCtx as d, createVNode as w, mergeProps as q, createSlots as J, renderList as Q, renderSlot as X, normalizeProps as Y, guardReactiveProps as Z } from "vue";
2
- import { isEqual as ee, isArray as g, omit as oe } from "lodash-unified";
3
- import { ApForm as u } from "../../ap-form/index.mjs";
1
+ import { defineComponent as $, useSlots as q, ref as b, watch as J, unref as n, createBlock as Q, openBlock as X, withCtx as c, createVNode as R, mergeProps as Y, createSlots as Z, renderList as ee, renderSlot as oe, normalizeProps as ae, guardReactiveProps as te } from "vue";
2
+ import { isEqual as ne, isArray as v, omit as le } from "lodash-unified";
3
+ import { ApForm as f } from "../../ap-form/index.mjs";
4
4
  import "../../config-provider/index.mjs";
5
5
  import "../../hooks/index.mjs";
6
- import { useEditableApi as ae } from "../hooks/use-editable-api.mjs";
7
- import { useGetEditableColumns as te } from "../hooks/use-editable-columns.mjs";
6
+ import { useEditableApi as re } from "../hooks/use-editable-api.mjs";
7
+ import { useGetEditableColumns as se } from "../hooks/use-editable-columns.mjs";
8
8
  import "../index.vue2.mjs";
9
- import ne from "../style/editable.mjs";
10
- import { arrayToObject as p } from "./utils.mjs";
11
- import { useNamespace as le } from "../../config-provider/hooks/use-namespace.mjs";
12
- import { useControllableValue as re } from "../../hooks/useControllableValue.mjs";
13
- import { useGlobalConfig as se } from "../../config-provider/hooks/use-global-config.mjs";
14
- import ie from "../index.vue.mjs";
15
- const xe = /* @__PURE__ */ G({
9
+ import ie from "../style/editable.mjs";
10
+ import { arrayToObject as y, getRowKey as de } from "./utils.mjs";
11
+ import { useNamespace as ue } from "../../config-provider/hooks/use-namespace.mjs";
12
+ import { useControllableValue as pe } from "../../hooks/useControllableValue.mjs";
13
+ import { useGlobalConfig as me } from "../../config-provider/hooks/use-global-config.mjs";
14
+ import ce from "../index.vue.mjs";
15
+ const Fe = /* @__PURE__ */ $({
16
16
  name: "EditableGrid",
17
17
  __name: "index",
18
18
  props: {
@@ -131,107 +131,113 @@ const xe = /* @__PURE__ */ G({
131
131
  onFieldChange: {}
132
132
  },
133
133
  emits: ["update:value"],
134
- setup(h, {
135
- expose: b,
136
- emit: v
134
+ setup(C, {
135
+ expose: x,
136
+ emit: B
137
137
  }) {
138
- const C = U(), o = h, {
139
- b: R
140
- } = le("editable-aggrid"), x = ne("editable-aggrid"), B = v, s = y(), {
138
+ const S = q(), o = C, {
139
+ b: T
140
+ } = ue("editable-aggrid"), _ = ie("editable-aggrid"), F = B, d = b(), {
141
141
  value: r,
142
- updateValue: m
143
- } = re(o, B), l = y(), S = u.useWatch(o.name, l);
144
- W(r, (e) => {
145
- const a = p(e, o.rowKey);
146
- ee(a, n(S)) || l.value?.setFieldValue(o.name, a);
142
+ updateValue: w
143
+ } = pe(o, F), l = b(), E = f.useWatch(o.name, l);
144
+ J(r, (e) => {
145
+ const a = y(e, o.rowKey);
146
+ ne(a, n(E)) || l.value?.setFieldValue(o.name, a);
147
147
  }, {
148
148
  deep: !0
149
149
  });
150
- const T = se("valueTypeMap"), _ = te(o, T), {
151
- add: F,
152
- addMultiple: E,
153
- remove: N,
154
- removeByKey: A,
155
- getRowData: V,
156
- getRowsData: j,
157
- setRowData: k,
158
- clear: D,
159
- refreshRowIds: i
160
- } = ae(o, l, r, m);
161
- function K() {
162
- const e = s.value?._internalGridApi;
163
- if (!i.value?.length || !e)
150
+ const K = me("valueTypeMap"), k = se(o, K), {
151
+ add: N,
152
+ addMultiple: j,
153
+ remove: A,
154
+ removeByKey: D,
155
+ getRowData: I,
156
+ getRowsData: V,
157
+ setRowData: H,
158
+ clear: O,
159
+ refreshRowIds: p
160
+ } = re(o, l, r, w);
161
+ function z() {
162
+ const e = d.value?._internalGridApi;
163
+ if (!p.value?.length || !e)
164
164
  return;
165
- const a = i.value.map((t) => e.getRowNode(t)).filter((t) => !!t);
165
+ const a = p.value.map((t) => e.getRowNode(t)).filter((t) => !!t);
166
166
  e.refreshCells({
167
167
  rowNodes: a,
168
168
  force: !0
169
- }), i.value = [];
169
+ }), p.value = [];
170
170
  }
171
- function H() {
171
+ function L() {
172
172
  l.value?.resetFields();
173
173
  }
174
- function I(e) {
175
- return e ? (g(e) ? e : [e]).map((t) => g(t) ? [o.name, ...t] : [o.name, t]) : void 0;
174
+ function P(e) {
175
+ return e ? (v(e) ? e : [e]).map((t) => v(t) ? [o.name, ...t] : [o.name, t]) : void 0;
176
176
  }
177
- async function z(e, a) {
178
- return (await l.value?.validateFields(I(e), a))?.[o.name];
177
+ async function G(e, a) {
178
+ const s = (await l.value?.validateFields(P(e), a))?.[o.name];
179
+ try {
180
+ const u = Object.keys(s), h = r.value.map((i) => de(i, void 0, o.rowKey));
181
+ return u.sort((i, M) => h.findIndex((m) => String(m) === i) - h.findIndex((m) => String(m) === M)), u.map((i) => s[i]);
182
+ } catch {
183
+ return s;
184
+ }
179
185
  }
180
- function L(e) {
181
- m(e);
182
- const a = p(e, o.rowKey);
186
+ function U(e) {
187
+ w(e);
188
+ const a = y(e, o.rowKey);
183
189
  l.value?.setFieldValue(o.name, a);
184
190
  }
185
- function c(e, a) {
191
+ function g(e, a) {
186
192
  const t = e === "end" ? r.value.length - 1 : e;
187
- s.value?.scrollToRow(t, a);
193
+ d.value?.scrollToRow(t, a);
188
194
  }
189
- function O(e, a) {
190
- s.value?.scrollToColumn(e, a);
195
+ function W(e, a) {
196
+ d.value?.scrollToColumn(e, a);
191
197
  }
192
- return b({
193
- resetFields: H,
194
- validateFields: z,
195
- add: F,
196
- addMultiple: E,
197
- remove: N,
198
- removeByKey: A,
199
- getRowData: V,
200
- getRowsData: j,
201
- setRowData: k,
202
- clear: D,
203
- setTableData: L,
204
- scrollTo: c,
205
- scrollToRow: c,
206
- scrollToColumn: O
207
- }), (e, a) => ($(), M(n(u), {
198
+ return x({
199
+ resetFields: L,
200
+ validateFields: G,
201
+ add: N,
202
+ addMultiple: j,
203
+ remove: A,
204
+ removeByKey: D,
205
+ getRowData: I,
206
+ getRowsData: V,
207
+ setRowData: H,
208
+ clear: O,
209
+ setTableData: U,
210
+ scrollTo: g,
211
+ scrollToRow: g,
212
+ scrollToColumn: W
213
+ }), (e, a) => (X(), Q(n(f), {
208
214
  ref_key: "formRef",
209
215
  ref: l,
210
216
  "initial-values": {
211
- [o.name]: n(p)(n(r), o.rowKey)
217
+ [o.name]: n(y)(n(r), o.rowKey)
212
218
  },
213
219
  style: {
214
220
  height: "100%"
215
221
  }
216
222
  }, {
217
- default: d(() => [w(n(u).FormItem, {
223
+ default: c(() => [R(n(f).FormItem, {
218
224
  name: e.name,
219
225
  "no-style": ""
220
226
  }, {
221
- default: d(() => [w(ie, q(n(oe)(o, ["name", "value", "onUpdate:value", "maxLength", "onChange", "defaultValue"]), {
227
+ default: c(() => [R(ce, Y(n(le)(o, ["name", "value", "onUpdate:value", "maxLength", "onChange", "defaultValue"]), {
222
228
  ref_key: "tableRef",
223
- ref: s,
224
- class: [n(R)(), n(x)],
229
+ ref: d,
230
+ class: [n(T)(), n(_)],
225
231
  size: "mini",
226
- columns: n(_),
232
+ columns: n(k),
227
233
  "data-source": n(r),
228
234
  "search-form": !1,
229
- onUpdate: K
230
- }), J({
235
+ onUpdate: z
236
+ }), Z({
231
237
  _: 2
232
- }, [Q(C, (t, f) => ({
233
- name: f,
234
- fn: d((P) => [X(e.$slots, f, Y(Z(P || {})))])
238
+ }, [ee(S, (t, s) => ({
239
+ name: s,
240
+ fn: c((u) => [oe(e.$slots, s, ae(te(u || {})))])
235
241
  }))]), 1040, ["class", "columns", "data-source"])]),
236
242
  _: 3
237
243
  }, 8, ["name"])]),
@@ -240,5 +246,5 @@ const xe = /* @__PURE__ */ G({
240
246
  }
241
247
  });
242
248
  export {
243
- xe as default
249
+ Fe as default
244
250
  };
@@ -1,4 +1,4 @@
1
- import { ApDownLoadProps, downloadCallbackResponse } from './interface';
1
+ import { ApDownLoadProps, downloadCallbackResponse, ApDownLoadNeedNameModel } from './interface';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  import { ButtonType } from '@aplus-frontend/antdv/es/button';
4
4
  type __VLS_Props = ApDownLoadProps;
@@ -19,6 +19,7 @@ declare const __VLS_component: DefineComponent<__VLS_Props, {}, {}, {}, {}, Comp
19
19
  size: "small" | "large" | "middle";
20
20
  type: ButtonType;
21
21
  disabled: boolean;
22
+ needName: ApDownLoadNeedNameModel;
22
23
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
23
24
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
24
25
  export default _default;
@@ -40,20 +40,20 @@ const M = {
40
40
  variant: {},
41
41
  text: {},
42
42
  fileName: {},
43
- needName: { type: [Boolean, Object] },
43
+ needName: { type: [Boolean, Object], default: void 0 },
44
44
  getOssAccess: {}
45
45
  },
46
46
  emits: ["downloadCallback"],
47
47
  setup(C, { emit: N }) {
48
- const r = N, n = z(!1), { lang: b } = G(), w = A(), h = s(() => b.value === "zh-cn" ? "zh_CN" : "en_US"), e = C, l = y("apUpload"), c = y(
48
+ const r = N, l = z(!1), { lang: b } = G(), v = A(), w = s(() => b.value === "zh-cn" ? "zh_CN" : "en_US"), e = C, n = y("apUpload"), c = y(
49
49
  "downloadCenterTriggerConfig"
50
- ), d = s(() => e.disabled), v = s(() => e.size), { getInnerWrapperClass: _ } = P(v, d), k = s(() => e.getOssAccess || l.value?.getOssAccess), B = async () => {
50
+ ), d = s(() => e.disabled), h = s(() => e.size), { getInnerWrapperClass: _ } = P(h, d), k = s(() => e.getOssAccess || n.value?.getOssAccess), B = async () => {
51
51
  if (!e.disabled) {
52
- n.value = !0;
52
+ l.value = !0;
53
53
  try {
54
54
  if (c.value?.trigger) {
55
55
  let a = g(
56
- e.needName ?? l?.value?.needName,
56
+ e.needName ?? n?.value?.needName,
57
57
  e.fileName
58
58
  ).map((p) => ({
59
59
  objectName: p.path,
@@ -63,10 +63,10 @@ const M = {
63
63
  } else {
64
64
  const a = await (await E(
65
65
  k.value,
66
- t(h)
66
+ t(w)
67
67
  )).downloadFile(
68
68
  g(
69
- e.needName ?? l?.value?.needName,
69
+ e.needName ?? n?.value?.needName,
70
70
  e.fileName
71
71
  )
72
72
  );
@@ -75,7 +75,7 @@ const M = {
75
75
  } catch (o) {
76
76
  console.error(o);
77
77
  } finally {
78
- n.value = !1;
78
+ l.value = !1;
79
79
  }
80
80
  }
81
81
  };
@@ -89,10 +89,10 @@ const M = {
89
89
  m("div", {
90
90
  class: j(t(_))
91
91
  }, [
92
- n.value ? (i(), f("span", M, [
92
+ l.value ? (i(), f("span", M, [
93
93
  I(t(U), { spin: !0 })
94
94
  ])) : u("", !0),
95
- t(w).icon ? (i(), f("span", R, [
95
+ t(v).icon ? (i(), f("span", R, [
96
96
  F(o.$slots, "icon")
97
97
  ])) : u("", !0),
98
98
  m("span", W, T(o.text), 1)
@@ -1,16 +1,16 @@
1
- import { defineComponent as M, computed as n, ref as S, watchEffect as U, createBlock as p, openBlock as l, unref as a, mergeProps as f, withCtx as j, renderSlot as B, normalizeProps as E, guardReactiveProps as L, createElementVNode as g, normalizeClass as x, createElementBlock as D, Fragment as P, renderList as R, resolveDynamicComponent as T, createVNode as z } from "vue";
2
- import { DownloadOutlined as V } from "@ant-design/icons-vue";
3
- import { Image as W } from "@aplus-frontend/antdv";
4
- import { omit as G } from "lodash-unified";
1
+ import { defineComponent as S, computed as n, ref as j, watchEffect as B, createBlock as h, openBlock as i, unref as o, mergeProps as v, withCtx as E, renderSlot as F, normalizeProps as L, guardReactiveProps as U, createElementVNode as b, normalizeClass as W, createElementBlock as x, Fragment as D, renderList as P, resolveDynamicComponent as R, createVNode as T } from "vue";
2
+ import { DownloadOutlined as z } from "@ant-design/icons-vue";
3
+ import { Image as V } from "@aplus-frontend/antdv";
4
+ import { omit as $ } from "lodash-unified";
5
5
  import "../../config-provider/index.mjs";
6
- import { injectLocaleToOss as $, getOssInstance as q, getSignatureUrl as H } from "./hooks/useOss.mjs";
6
+ import { injectLocaleToOss as G, getOssInstance as q, getSignatureUrl as H } from "./hooks/useOss.mjs";
7
7
  import J from "./imgs/admin-fallback.jpg.mjs";
8
8
  import K from "./imgs/user-fallback.jpg.mjs";
9
9
  import Q from "./style/index.mjs";
10
10
  import { useNamespace as X } from "../../config-provider/hooks/use-namespace.mjs";
11
- import { useGlobalConfig as c } from "../../config-provider/hooks/use-global-config.mjs";
11
+ import { useGlobalConfig as m } from "../../config-provider/hooks/use-global-config.mjs";
12
12
  import { useLocale as Y } from "../../config-provider/hooks/use-locale.mjs";
13
- const ue = /* @__PURE__ */ M({
13
+ const ue = /* @__PURE__ */ S({
14
14
  __name: "ApImage",
15
15
  props: {
16
16
  getOssAccess: {},
@@ -23,78 +23,81 @@ const ue = /* @__PURE__ */ M({
23
23
  uiMode: {},
24
24
  preview: { type: [Boolean, Object], default: !0 }
25
25
  },
26
- setup(v) {
27
- const { b: i } = X("ap-image"), m = Q("ap-image"), e = v, u = {
26
+ setup(k) {
27
+ const { b: u } = X("ap-image"), p = Q("ap-image"), e = k, d = {
28
28
  aplus: K,
29
29
  admin: J
30
- }, b = c("apImage", { uiMode: "aplus" }), h = c("apUpload"), d = c(
30
+ }, w = m("apImage", { uiMode: "aplus" }), C = m("apUpload"), f = m(
31
31
  "downloadCenterTriggerConfig"
32
- ), k = n(
33
- () => e.uiMode || b.value?.uiMode
34
- ), { t: w, lang: C } = Y(), O = n(
35
- () => e.getOssAccess || h.value?.getOssAccess
36
- ), y = n(
37
- () => u[k.value] || u.aplus
38
- ), A = n(() => e?.fallback || y.value), s = S("");
39
- $(w, C), U(async () => {
32
+ ), O = n(
33
+ () => e.uiMode || w.value?.uiMode
34
+ ), { t: y, lang: A } = Y(), g = n(
35
+ () => e.getOssAccess || C.value?.getOssAccess
36
+ ), N = n(
37
+ () => d[O.value] || d.aplus
38
+ ), I = n(() => e?.fallback || N.value), s = j("");
39
+ G(y, A), B(async () => {
40
40
  if (!e?.src) {
41
41
  s.value = "";
42
42
  return;
43
43
  }
44
- if (!e.src?.startsWith("Frontend-Upload")) {
44
+ if (e.src?.startsWith("http") || e.src?.startsWith("data:")) {
45
45
  s.value = e.src;
46
46
  return;
47
47
  }
48
48
  try {
49
- const t = await q(O.value), r = await H({
50
- oss: t,
51
- fileName: e.src
49
+ const a = e.src?.match(/^([^:]+):(.*)$/), r = a?.[1], t = a?.[2] ?? e.src, l = await q(
50
+ () => r ? g.value?.(r) : g.value?.(),
51
+ r
52
+ ), c = await H({
53
+ oss: l,
54
+ fileName: t
52
55
  });
53
- r && (s.value = r);
56
+ c && (s.value = c);
54
57
  } catch {
55
58
  s.value = "";
56
59
  }
57
60
  });
58
- async function N() {
61
+ async function _() {
59
62
  if (!e?.src)
60
63
  return;
61
- const t = e.src, r = e.fileName ?? e.src;
62
- if (!e.src?.startsWith("Frontend-Upload")) {
63
- I(t, r);
64
+ const a = e.src, r = e.fileName ?? e.src;
65
+ if (e.src?.startsWith("http") || e.src?.startsWith("data:")) {
66
+ M(a, r);
64
67
  return;
65
68
  }
66
- if (d.value?.trigger) {
67
- let o = [
69
+ if (f.value?.trigger) {
70
+ let t = [
68
71
  {
69
- objectName: t,
72
+ objectName: a,
70
73
  fileName: r
71
74
  }
72
75
  ];
73
- await d.value?.trigger(o);
76
+ await f.value?.trigger(t);
74
77
  }
75
78
  }
76
- const I = (t, r) => {
77
- const o = document.createElement("a");
78
- o.href = t, o.rel = "noopener noreferrer", o.setAttribute("download", r), document.body.appendChild(o), o.click(), document.body.removeChild(o);
79
+ const M = (a, r) => {
80
+ const t = document.createElement("a");
81
+ t.href = a, t.rel = "noopener noreferrer", t.setAttribute("download", r), document.body.appendChild(t), t.click(), document.body.removeChild(t);
79
82
  };
80
- return (t, r) => (l(), p(a(W), f({
81
- class: [a(i)(), a(m)]
83
+ return (a, r) => (i(), h(o(V), v({
84
+ class: [o(u)(), o(p)]
82
85
  }, {
83
- ...a(G)(e, ["src", "getOssAccess"]),
84
- fallback: A.value,
86
+ ...o($)(e, ["src", "getOssAccess"]),
87
+ fallback: I.value,
85
88
  src: s.value
86
89
  }), {
87
- toolbarRender: j((o) => [
88
- B(t.$slots, "toolbarRender", E(L({ ...o })), () => [
89
- g("div", {
90
- class: x([a(i)("toolbar"), a(m)])
90
+ toolbarRender: E((t) => [
91
+ F(a.$slots, "toolbarRender", L(U({ ...t })), () => [
92
+ b("div", {
93
+ class: W([o(u)("toolbar"), o(p)])
91
94
  }, [
92
- (l(!0), D(P, null, R(o.originalNodes, (_, F) => (l(), p(T(_), f({ ref_for: !0 }, e, { key: F }), null, 16))), 128)),
93
- g("div", {
95
+ (i(!0), x(D, null, P(t.originalNodes, (l, c) => (i(), h(R(l), v({ ref_for: !0 }, e, { key: c }), null, 16))), 128)),
96
+ b("div", {
94
97
  class: "ant-image-preview-operations-operation",
95
- onClick: N
98
+ onClick: _
96
99
  }, [
97
- z(a(V))
100
+ T(o(z))
98
101
  ])
99
102
  ], 2)
100
103
  ])
@@ -3,7 +3,7 @@ import { Ref } from 'vue';
3
3
  import { Translator } from '../../../config-provider';
4
4
  type GetOssAccess = () => Promise<accessCreate>;
5
5
  export declare function injectLocaleToOss(tValue: Translator, langValue: Ref<string>): void;
6
- export declare function getOssInstance(getOssAccess?: GetOssAccess): Promise<Oss>;
6
+ export declare function getOssInstance(getOssAccess?: GetOssAccess, bucket?: string): Promise<Oss>;
7
7
  export declare function getSignatureUrl({ oss, fileName }: {
8
8
  oss: Oss;
9
9
  fileName: string;
@@ -1,46 +1,48 @@
1
- import { createOssInstance as c } from "@aplus-frontend/oss";
2
- const l = 1e4;
3
- let n, r;
4
- function f(e, s) {
5
- n = e, r = s;
1
+ import { createOssInstance as u } from "@aplus-frontend/oss";
2
+ const g = 1e4;
3
+ let n, i;
4
+ function _(t, s) {
5
+ n = t, i = s;
6
6
  }
7
- const p = {
7
+ const f = {
8
8
  "zh-cn": "zh_CN",
9
9
  en: "en_US"
10
10
  };
11
- function u() {
12
- return p[r.value] ?? "zh_CN";
11
+ function m() {
12
+ return f[i.value] ?? "zh_CN";
13
13
  }
14
- let t;
15
- async function m(e) {
16
- if (!e)
14
+ const c = /* @__PURE__ */ new Map();
15
+ async function w(t, s) {
16
+ if (!t)
17
17
  throw new Error(`${n("ap.apUpload.pleasePass")}getOssAccess`);
18
- return t?.createDate && t.createDate < Date.now() + l && t?.oss || (t = {
19
- oss: new Promise((s, i) => {
20
- const a = c();
21
- a.initOssClient({
22
- getOssAccess: e,
23
- locale: u(),
24
- onFailure: (o) => {
25
- i(
26
- typeof o?.message == "string" ? o.message : n("ap.apUpload.FailedToObtainOssTemporaryPermissions")
18
+ const a = s || "ap_image_default_bucket";
19
+ let e = c.get(a);
20
+ return e?.createDate && e.createDate < Date.now() + g && e?.oss || (e = {
21
+ oss: new Promise((l, p) => {
22
+ const o = u();
23
+ o.initOssClient({
24
+ getOssAccess: t,
25
+ locale: m(),
26
+ onFailure: (r) => {
27
+ p(
28
+ typeof r?.message == "string" ? r.message : n("ap.apUpload.FailedToObtainOssTemporaryPermissions")
27
29
  );
28
30
  }
29
31
  }).then(() => {
30
- s(a);
32
+ l(o);
31
33
  });
32
34
  }),
33
35
  createDate: Date.now()
34
- }), t.oss;
36
+ }, c.set(a, e)), e.oss;
35
37
  }
36
- function O({
37
- oss: e,
38
+ function U({
39
+ oss: t,
38
40
  fileName: s
39
41
  }) {
40
- return e.getSignatureUrl(s);
42
+ return t.getSignatureUrl(s);
41
43
  }
42
44
  export {
43
- m as getOssInstance,
44
- O as getSignatureUrl,
45
- f as injectLocaleToOss
45
+ w as getOssInstance,
46
+ U as getSignatureUrl,
47
+ _ as injectLocaleToOss
46
48
  };
@@ -1,7 +1,7 @@
1
1
  import { accessCreate } from '@aplus-frontend/oss';
2
2
  import { UiModeType } from '../../config-provider';
3
3
  export interface ApImageProps {
4
- getOssAccess?: () => Promise<accessCreate>;
4
+ getOssAccess?: (bucket?: string) => Promise<accessCreate>;
5
5
  width?: number | string;
6
6
  height?: number | string;
7
7
  alt?: string;
@@ -181,8 +181,8 @@ declare const __VLS_component: DefineComponent<ExtractPropTypes<{
181
181
  value: string | unknown[] | Record<string, any>;
182
182
  maxCount: number;
183
183
  maxSize: number;
184
- getOssAccess: GetOssAccess;
185
184
  needName: boolean | Record<string, any>;
185
+ getOssAccess: GetOssAccess;
186
186
  accept: string;
187
187
  beforeUpload: BeforeUpload;
188
188
  onRemove: Function;
@@ -1,5 +1,5 @@
1
1
  import { DefaultOptionType } from '@aplus-frontend/antdv/es/select';
2
- import { client } from '@aplus-frontend/oss';
2
+ import { accessCreate } from '@aplus-frontend/oss';
3
3
  import { InjectionKey, Ref, VNode } from 'vue';
4
4
  import { Recordable } from '../type';
5
5
  import { ConfigProviderProps } from './config-provider-props';
@@ -18,7 +18,7 @@ export type ApiType = {
18
18
  };
19
19
  export type ApUploadConfig = {
20
20
  dirName?: string;
21
- getOssAccess?: Parameters<typeof client.initOssClient>[0]['getOssAccess'];
21
+ getOssAccess?: (bucket?: string) => Promise<accessCreate>;
22
22
  needName?: boolean | {
23
23
  pathKey?: string;
24
24
  nameKey?: string;
@@ -1,2 +1,2 @@
1
- declare const _default: "7.10.2";
1
+ declare const _default: "7.10.4";
2
2
  export default _default;
@@ -1,4 +1,4 @@
1
- const e = "7.10.2";
1
+ const e = "7.10.4";
2
2
  export {
3
3
  e as default
4
4
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),u=require("lodash-unified"),d=require("../../ap-form/index.js");require("../../config-provider/index.js");require("../../hooks/index.js");const I=require("../hooks/use-editable-api.js"),P=require("../hooks/use-editable-columns.js");require("../index.vue2.js");const z=require("../style/editable.js"),c=require("./utils.js"),G=require("../../config-provider/hooks/use-namespace.js"),L=require("../../hooks/useControllableValue.js"),M=require("../../config-provider/hooks/use-global-config.js"),U=require("../index.vue.js"),W=e.defineComponent({name:"EditableGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowHoverable:{type:Boolean},rowSelection:{type:[Boolean,Object]},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{default:66},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},columns:{},value:{},defaultValue:{},"onUpdate:value":{},onChange:{},maxLength:{},name:{default:"ap-editable-table-inner-name"},onFieldChange:{}},emits:["update:value"],setup(y,{expose:w,emit:b}){const g=e.useSlots(),a=y,{b:h}=G.useNamespace("editable-aggrid"),v=z.default("editable-aggrid"),C=b,s=e.ref(),{value:r,updateValue:p}=L.useControllableValue(a,C),l=e.ref(),R=d.ApForm.useWatch(a.name,l);e.watch(r,o=>{const t=c.arrayToObject(o,a.rowKey);u.isEqual(t,e.unref(R))||l.value?.setFieldValue(a.name,t)},{deep:!0});const x=M.useGlobalConfig("valueTypeMap"),B=P.useGetEditableColumns(a,x),{add:_,addMultiple:S,remove:T,removeByKey:q,getRowData:F,getRowsData:E,setRowData:A,clear:N,refreshRowIds:i}=I.useEditableApi(a,l,r,p);function j(){const o=s.value?._internalGridApi;if(!i.value?.length||!o)return;const t=i.value.map(n=>o.getRowNode(n)).filter(n=>!!n);o.refreshCells({rowNodes:t,force:!0}),i.value=[]}function V(){l.value?.resetFields()}function O(o){return o?(u.isArray(o)?o:[o]).map(n=>u.isArray(n)?[a.name,...n]:[a.name,n]):void 0}async function k(o,t){return(await l.value?.validateFields(O(o),t))?.[a.name]}function D(o){p(o);const t=c.arrayToObject(o,a.rowKey);l.value?.setFieldValue(a.name,t)}function f(o,t){const n=o==="end"?r.value.length-1:o;s.value?.scrollToRow(n,t)}function K(o,t){s.value?.scrollToColumn(o,t)}return w({resetFields:V,validateFields:k,add:_,addMultiple:S,remove:T,removeByKey:q,getRowData:F,getRowsData:E,setRowData:A,clear:N,setTableData:D,scrollTo:f,scrollToRow:f,scrollToColumn:K}),(o,t)=>(e.openBlock(),e.createBlock(e.unref(d.ApForm),{ref_key:"formRef",ref:l,"initial-values":{[a.name]:e.unref(c.arrayToObject)(e.unref(r),a.rowKey)},style:{height:"100%"}},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ApForm).FormItem,{name:o.name,"no-style":""},{default:e.withCtx(()=>[e.createVNode(U.default,e.mergeProps(e.unref(u.omit)(a,["name","value","onUpdate:value","maxLength","onChange","defaultValue"]),{ref_key:"tableRef",ref:s,class:[e.unref(h)(),e.unref(v)],size:"mini",columns:e.unref(B),"data-source":e.unref(r),"search-form":!1,onUpdate:j}),e.createSlots({_:2},[e.renderList(g,(n,m)=>({name:m,fn:e.withCtx(H=>[e.renderSlot(o.$slots,m,e.normalizeProps(e.guardReactiveProps(H||{})))])}))]),1040,["class","columns","data-source"])]),_:3},8,["name"])]),_:3},8,["initial-values"]))}});exports.default=W;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),c=require("lodash-unified"),y=require("../../ap-form/index.js");require("../../config-provider/index.js");require("../../hooks/index.js");const L=require("../hooks/use-editable-api.js"),M=require("../hooks/use-editable-columns.js");require("../index.vue2.js");const U=require("../style/editable.js"),p=require("./utils.js"),W=require("../../config-provider/hooks/use-namespace.js"),$=require("../../hooks/useControllableValue.js"),J=require("../../config-provider/hooks/use-global-config.js"),Q=require("../index.vue.js"),X=e.defineComponent({name:"EditableGrid",__name:"index",props:{dropdownPrefixCls:{},bordered:{type:Boolean},locale:{},onResizeColumn:{},getPopupContainer:{},scroll:{},sortDirections:{},showSorterTooltip:{type:[Boolean,Object]},prefixCls:{},rowKey:{type:[String,Function],default:"key"},tableLayout:{},title:{},id:{},showHeader:{type:Boolean},components:{},customHeaderRow:{},direction:{},expandFixed:{type:[String,Boolean]},expandColumnWidth:{},expandedRowKeys:{},defaultExpandedRowKeys:{},expandedRowRender:{},expandRowByClick:{type:Boolean},expandIcon:{},onExpand:{},onExpandedRowsChange:{},defaultExpandAllRows:{type:Boolean},indentSize:{},expandIconColumnIndex:{},showExpandColumn:{type:Boolean},expandedRowClassName:{},childrenColumnName:{},rowExpandable:{},transformCellText:{},rowHoverable:{type:Boolean},rowSelection:{type:[Boolean,Object]},onLoadingChange:{},onShownColumnsChange:{},pagination:{type:[Boolean,Object],default:!1},searchFormWrapperStyle:{},tableWrapperStyle:{},wrapperStyle:{},tableStyle:{},adaptive:{type:Boolean},columnResizable:{type:Boolean,default:!1},loading:{type:Boolean,default:void 0},summary:{},rowHeight:{default:66},getRowHeight:{},advanceRenderer:{type:Boolean},browserTooltips:{type:Boolean},virtual:{type:[Boolean,Object],default:void 0},onRowClicked:{},onScrollEnd:{},rowClassName:{},rowClassRules:{},autoHeight:{type:Boolean},onUpdate:{},customRow:{},theme:{},columns:{},value:{},defaultValue:{},"onUpdate:value":{},onChange:{},maxLength:{},name:{default:"ap-editable-table-inner-name"},onFieldChange:{}},emits:["update:value"],setup(h,{expose:v,emit:C}){const R=e.useSlots(),a=h,{b:x}=W.useNamespace("editable-aggrid"),B=U.default("editable-aggrid"),_=C,i=e.ref(),{value:r,updateValue:w}=$.useControllableValue(a,_),l=e.ref(),S=y.ApForm.useWatch(a.name,l);e.watch(r,o=>{const t=p.arrayToObject(o,a.rowKey);c.isEqual(t,e.unref(S))||l.value?.setFieldValue(a.name,t)},{deep:!0});const T=J.useGlobalConfig("valueTypeMap"),q=M.useGetEditableColumns(a,T),{add:F,addMultiple:E,remove:A,removeByKey:j,getRowData:N,getRowsData:K,setRowData:V,clear:k,refreshRowIds:f}=L.useEditableApi(a,l,r,w);function O(){const o=i.value?._internalGridApi;if(!f.value?.length||!o)return;const t=f.value.map(n=>o.getRowNode(n)).filter(n=>!!n);o.refreshCells({rowNodes:t,force:!0}),f.value=[]}function D(){l.value?.resetFields()}function I(o){return o?(c.isArray(o)?o:[o]).map(n=>c.isArray(n)?[a.name,...n]:[a.name,n]):void 0}async function H(o,t){const s=(await l.value?.validateFields(I(o),t))?.[a.name];try{const d=Object.keys(s),g=r.value.map(u=>p.getRowKey(u,void 0,a.rowKey));return d.sort((u,G)=>g.findIndex(m=>String(m)===u)-g.findIndex(m=>String(m)===G)),d.map(u=>s[u])}catch{return s}}function P(o){w(o);const t=p.arrayToObject(o,a.rowKey);l.value?.setFieldValue(a.name,t)}function b(o,t){const n=o==="end"?r.value.length-1:o;i.value?.scrollToRow(n,t)}function z(o,t){i.value?.scrollToColumn(o,t)}return v({resetFields:D,validateFields:H,add:F,addMultiple:E,remove:A,removeByKey:j,getRowData:N,getRowsData:K,setRowData:V,clear:k,setTableData:P,scrollTo:b,scrollToRow:b,scrollToColumn:z}),(o,t)=>(e.openBlock(),e.createBlock(e.unref(y.ApForm),{ref_key:"formRef",ref:l,"initial-values":{[a.name]:e.unref(p.arrayToObject)(e.unref(r),a.rowKey)},style:{height:"100%"}},{default:e.withCtx(()=>[e.createVNode(e.unref(y.ApForm).FormItem,{name:o.name,"no-style":""},{default:e.withCtx(()=>[e.createVNode(Q.default,e.mergeProps(e.unref(c.omit)(a,["name","value","onUpdate:value","maxLength","onChange","defaultValue"]),{ref_key:"tableRef",ref:i,class:[e.unref(x)(),e.unref(B)],size:"mini",columns:e.unref(q),"data-source":e.unref(r),"search-form":!1,onUpdate:O}),e.createSlots({_:2},[e.renderList(R,(n,s)=>({name:s,fn:e.withCtx(d=>[e.renderSlot(o.$slots,s,e.normalizeProps(e.guardReactiveProps(d||{})))])}))]),1040,["class","columns","data-source"])]),_:3},8,["name"])]),_:3},8,["initial-values"]))}});exports.default=X;
@@ -1,4 +1,4 @@
1
- import { ApDownLoadProps, downloadCallbackResponse } from './interface';
1
+ import { ApDownLoadProps, downloadCallbackResponse, ApDownLoadNeedNameModel } from './interface';
2
2
  import { DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
3
3
  import { ButtonType } from '@aplus-frontend/antdv/es/button';
4
4
  type __VLS_Props = ApDownLoadProps;
@@ -19,6 +19,7 @@ declare const __VLS_component: DefineComponent<__VLS_Props, {}, {}, {}, {}, Comp
19
19
  size: "small" | "large" | "middle";
20
20
  type: ButtonType;
21
21
  disabled: boolean;
22
+ needName: ApDownLoadNeedNameModel;
22
23
  }, {}, {}, {}, string, ComponentProvideOptions, false, {}, any>;
23
24
  declare const _default: __VLS_WithTemplateSlots<typeof __VLS_component, __VLS_TemplateResult["slots"]>;
24
25
  export default _default;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),k=require("@ant-design/icons-vue"),_=require("@aplus-frontend/antdv"),h=require("lodash-unified");require("../../config-provider/index.js");const w=require("./hooks/index.js"),B=require("./hooks/useStyle.js"),d=require("./utils/getFileInfo.js"),O=require("../../config-provider/hooks/use-locale.js"),u=require("../../config-provider/hooks/use-global-config.js"),q={key:0,class:"spin"},z={key:1,class:"icon"},S={class:"text"},I=e.defineComponent({name:"ApDownload",__name:"ap-download",props:{prefixCls:{},type:{default:"link"},htmlType:{},shape:{},size:{default:"middle"},loading:{type:[Boolean,Object]},disabled:{type:Boolean,default:!1},ghost:{type:Boolean},block:{type:Boolean},danger:{type:Boolean},icon:{},href:{},target:{},title:{},onClick:{},onMousedown:{},autoInsertSpace:{type:Boolean},iconPosition:{},color:{},variant:{},text:{},fileName:{},needName:{type:[Boolean,Object]},getOssAccess:{}},emits:["downloadCallback"],setup(p,{emit:f}){const l=f,s=e.ref(!1),{lang:m}=O.useLocale(),g=e.useSlots(),C=e.computed(()=>m.value==="zh-cn"?"zh_CN":"en_US"),t=p,a=u.useGlobalConfig("apUpload"),i=u.useGlobalConfig("downloadCenterTriggerConfig"),c=e.computed(()=>t.disabled),y=e.computed(()=>t.size),{getInnerWrapperClass:b}=B.useStyle(y,c),N=e.computed(()=>t.getOssAccess||a.value?.getOssAccess),v=async()=>{if(!t.disabled){s.value=!0;try{if(i.value?.trigger){let n=d.getFileInfo(t.needName??a?.value?.needName,t.fileName).map(r=>({objectName:r.path,fileName:r.fileName}));await i.value?.trigger(n),l("downloadCallback",n)}else{const n=await(await w.useOssInit(N.value,e.unref(C))).downloadFile(d.getFileInfo(t.needName??a?.value?.needName,t.fileName));l("downloadCallback",n)}}catch(o){console.error(o)}finally{s.value=!1}}};return(o,n)=>(e.openBlock(),e.createBlock(e.unref(_.Button),e.mergeProps(e.unref(h.omit)(t,["getOssAccess","fileName","needName"]),{type:t.type,size:t.size,disabled:c.value,onClick:v}),{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(b))},[s.value?(e.openBlock(),e.createElementBlock("span",q,[e.createVNode(e.unref(k.LoadingOutlined),{spin:!0})])):e.createCommentVNode("",!0),e.unref(g).icon?(e.openBlock(),e.createElementBlock("span",z,[e.renderSlot(o.$slots,"icon")])):e.createCommentVNode("",!0),e.createElementVNode("span",S,e.toDisplayString(o.text),1)],2)]),_:3},16,["type","size","disabled"]))}});exports.default=I;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),k=require("@ant-design/icons-vue"),_=require("@aplus-frontend/antdv"),h=require("lodash-unified");require("../../config-provider/index.js");const w=require("./hooks/index.js"),B=require("./hooks/useStyle.js"),d=require("./utils/getFileInfo.js"),O=require("../../config-provider/hooks/use-locale.js"),u=require("../../config-provider/hooks/use-global-config.js"),q={key:0,class:"spin"},z={key:1,class:"icon"},S={class:"text"},I=e.defineComponent({name:"ApDownload",__name:"ap-download",props:{prefixCls:{},type:{default:"link"},htmlType:{},shape:{},size:{default:"middle"},loading:{type:[Boolean,Object]},disabled:{type:Boolean,default:!1},ghost:{type:Boolean},block:{type:Boolean},danger:{type:Boolean},icon:{},href:{},target:{},title:{},onClick:{},onMousedown:{},autoInsertSpace:{type:Boolean},iconPosition:{},color:{},variant:{},text:{},fileName:{},needName:{type:[Boolean,Object],default:void 0},getOssAccess:{}},emits:["downloadCallback"],setup(p,{emit:f}){const l=f,s=e.ref(!1),{lang:m}=O.useLocale(),g=e.useSlots(),C=e.computed(()=>m.value==="zh-cn"?"zh_CN":"en_US"),t=p,a=u.useGlobalConfig("apUpload"),i=u.useGlobalConfig("downloadCenterTriggerConfig"),c=e.computed(()=>t.disabled),y=e.computed(()=>t.size),{getInnerWrapperClass:b}=B.useStyle(y,c),N=e.computed(()=>t.getOssAccess||a.value?.getOssAccess),v=async()=>{if(!t.disabled){s.value=!0;try{if(i.value?.trigger){let n=d.getFileInfo(t.needName??a?.value?.needName,t.fileName).map(r=>({objectName:r.path,fileName:r.fileName}));await i.value?.trigger(n),l("downloadCallback",n)}else{const n=await(await w.useOssInit(N.value,e.unref(C))).downloadFile(d.getFileInfo(t.needName??a?.value?.needName,t.fileName));l("downloadCallback",n)}}catch(o){console.error(o)}finally{s.value=!1}}};return(o,n)=>(e.openBlock(),e.createBlock(e.unref(_.Button),e.mergeProps(e.unref(h.omit)(t,["getOssAccess","fileName","needName"]),{type:t.type,size:t.size,disabled:c.value,onClick:v}),{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(e.unref(b))},[s.value?(e.openBlock(),e.createElementBlock("span",q,[e.createVNode(e.unref(k.LoadingOutlined),{spin:!0})])):e.createCommentVNode("",!0),e.unref(g).icon?(e.openBlock(),e.createElementBlock("span",z,[e.renderSlot(o.$slots,"icon")])):e.createCommentVNode("",!0),e.createElementVNode("span",S,e.toDisplayString(o.text),1)],2)]),_:3},16,["type","size","disabled"]))}});exports.default=I;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),y=require("@ant-design/icons-vue"),_=require("@aplus-frontend/antdv"),I=require("lodash-unified");require("../../config-provider/index.js");const n=require("./hooks/useOss.js"),M=require("./imgs/admin-fallback.jpg.js"),A=require("./imgs/user-fallback.jpg.js"),B=require("./style/index.js"),S=require("../../config-provider/hooks/use-namespace.js"),c=require("../../config-provider/hooks/use-global-config.js"),U=require("../../config-provider/hooks/use-locale.js"),F=e.defineComponent({__name:"ApImage",props:{getOssAccess:{},width:{},height:{},alt:{},fallback:{},src:{},fileName:{},uiMode:{},preview:{type:[Boolean,Object],default:!0}},setup(f){const{b:l}=S.useNamespace("ap-image"),u=B.default("ap-image"),r=f,i={aplus:A.default,admin:M.default},p=c.useGlobalConfig("apImage",{uiMode:"aplus"}),m=c.useGlobalConfig("apUpload"),d=c.useGlobalConfig("downloadCenterTriggerConfig"),g=e.computed(()=>r.uiMode||p.value?.uiMode),{t:b,lang:v}=U.useLocale(),k=e.computed(()=>r.getOssAccess||m.value?.getOssAccess),C=e.computed(()=>i[g.value]||i.aplus),h=e.computed(()=>r?.fallback||C.value),s=e.ref("");n.injectLocaleToOss(b,v),e.watchEffect(async()=>{if(!r?.src){s.value="";return}if(!r.src?.startsWith("Frontend-Upload")){s.value=r.src;return}try{const a=await n.getOssInstance(k.value),o=await n.getSignatureUrl({oss:a,fileName:r.src});o&&(s.value=o)}catch{s.value=""}});async function w(){if(!r?.src)return;const a=r.src,o=r.fileName??r.src;if(!r.src?.startsWith("Frontend-Upload")){q(a,o);return}if(d.value?.trigger){let t=[{objectName:a,fileName:o}];await d.value?.trigger(t)}}const q=(a,o)=>{const t=document.createElement("a");t.href=a,t.rel="noopener noreferrer",t.setAttribute("download",o),document.body.appendChild(t),t.click(),document.body.removeChild(t)};return(a,o)=>(e.openBlock(),e.createBlock(e.unref(_.Image),e.mergeProps({class:[e.unref(l)(),e.unref(u)]},{...e.unref(I.omit)(r,["src","getOssAccess"]),fallback:h.value,src:s.value}),{toolbarRender:e.withCtx(t=>[e.renderSlot(a.$slots,"toolbarRender",e.normalizeProps(e.guardReactiveProps({...t})),()=>[e.createElementVNode("div",{class:e.normalizeClass([e.unref(l)("toolbar"),e.unref(u)])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.originalNodes,(O,N)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(O),e.mergeProps({ref_for:!0},r,{key:N}),null,16))),128)),e.createElementVNode("div",{class:"ant-image-preview-operations-operation",onClick:w},[e.createVNode(e.unref(y.DownloadOutlined))])],2)])]),_:3},16,["class"]))}});exports.default=F;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),y=require("@ant-design/icons-vue"),_=require("@aplus-frontend/antdv"),I=require("lodash-unified");require("../../config-provider/index.js");const l=require("./hooks/useOss.js"),M=require("./imgs/admin-fallback.jpg.js"),A=require("./imgs/user-fallback.jpg.js"),B=require("./style/index.js"),S=require("../../config-provider/hooks/use-namespace.js"),u=require("../../config-provider/hooks/use-global-config.js"),j=require("../../config-provider/hooks/use-locale.js"),E=e.defineComponent({__name:"ApImage",props:{getOssAccess:{},width:{},height:{},alt:{},fallback:{},src:{},fileName:{},uiMode:{},preview:{type:[Boolean,Object],default:!0}},setup(g){const{b:i}=S.useNamespace("ap-image"),d=B.default("ap-image"),t=g,f={aplus:A.default,admin:M.default},b=u.useGlobalConfig("apImage",{uiMode:"aplus"}),v=u.useGlobalConfig("apUpload"),m=u.useGlobalConfig("downloadCenterTriggerConfig"),h=e.computed(()=>t.uiMode||b.value?.uiMode),{t:k,lang:C}=j.useLocale(),p=e.computed(()=>t.getOssAccess||v.value?.getOssAccess),w=e.computed(()=>f[h.value]||f.aplus),q=e.computed(()=>t?.fallback||w.value),o=e.ref("");l.injectLocaleToOss(k,C),e.watchEffect(async()=>{if(!t?.src){o.value="";return}if(t.src?.startsWith("http")||t.src?.startsWith("data:")){o.value=t.src;return}try{const r=t.src?.match(/^([^:]+):(.*)$/),s=r?.[1],a=r?.[2]??t.src,n=await l.getOssInstance(()=>s?p.value?.(s):p.value?.(),s),c=await l.getSignatureUrl({oss:n,fileName:a});c&&(o.value=c)}catch{o.value=""}});async function O(){if(!t?.src)return;const r=t.src,s=t.fileName??t.src;if(t.src?.startsWith("http")||t.src?.startsWith("data:")){N(r,s);return}if(m.value?.trigger){let a=[{objectName:r,fileName:s}];await m.value?.trigger(a)}}const N=(r,s)=>{const a=document.createElement("a");a.href=r,a.rel="noopener noreferrer",a.setAttribute("download",s),document.body.appendChild(a),a.click(),document.body.removeChild(a)};return(r,s)=>(e.openBlock(),e.createBlock(e.unref(_.Image),e.mergeProps({class:[e.unref(i)(),e.unref(d)]},{...e.unref(I.omit)(t,["src","getOssAccess"]),fallback:q.value,src:o.value}),{toolbarRender:e.withCtx(a=>[e.renderSlot(r.$slots,"toolbarRender",e.normalizeProps(e.guardReactiveProps({...a})),()=>[e.createElementVNode("div",{class:e.normalizeClass([e.unref(i)("toolbar"),e.unref(d)])},[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.originalNodes,(n,c)=>(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n),e.mergeProps({ref_for:!0},t,{key:c}),null,16))),128)),e.createElementVNode("div",{class:"ant-image-preview-operations-operation",onClick:O},[e.createVNode(e.unref(y.DownloadOutlined))])],2)])]),_:3},16,["class"]))}});exports.default=E;
@@ -3,7 +3,7 @@ import { Ref } from 'vue';
3
3
  import { Translator } from '../../../config-provider';
4
4
  type GetOssAccess = () => Promise<accessCreate>;
5
5
  export declare function injectLocaleToOss(tValue: Translator, langValue: Ref<string>): void;
6
- export declare function getOssInstance(getOssAccess?: GetOssAccess): Promise<Oss>;
6
+ export declare function getOssInstance(getOssAccess?: GetOssAccess, bucket?: string): Promise<Oss>;
7
7
  export declare function getSignatureUrl({ oss, fileName }: {
8
8
  oss: Oss;
9
9
  fileName: string;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("@aplus-frontend/oss"),l=1e4;let n,r;function u(e,s){n=e,r=s}const g={"zh-cn":"zh_CN",en:"en_US"};function p(){return g[r.value]??"zh_CN"}let t;async function O(e){if(!e)throw new Error(`${n("ap.apUpload.pleasePass")}getOssAccess`);return t?.createDate&&t.createDate<Date.now()+l&&t?.oss||(t={oss:new Promise((s,c)=>{const a=i.createOssInstance();a.initOssClient({getOssAccess:e,locale:p(),onFailure:o=>{c(typeof o?.message=="string"?o.message:n("ap.apUpload.FailedToObtainOssTemporaryPermissions"))}}).then(()=>{s(a)})}),createDate:Date.now()}),t.oss}function f({oss:e,fileName:s}){return e.getSignatureUrl(s)}exports.getOssInstance=O;exports.getSignatureUrl=f;exports.injectLocaleToOss=u;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("@aplus-frontend/oss"),p=1e4;let n,i;function O(t,s){n=t,i=s}const f={"zh-cn":"zh_CN",en:"en_US"};function m(){return f[i.value]??"zh_CN"}const c=new Map;async function T(t,s){if(!t)throw new Error(`${n("ap.apUpload.pleasePass")}getOssAccess`);const a=s||"ap_image_default_bucket";let e=c.get(a);return e?.createDate&&e.createDate<Date.now()+p&&e?.oss||(e={oss:new Promise((l,u)=>{const o=g.createOssInstance();o.initOssClient({getOssAccess:t,locale:m(),onFailure:r=>{u(typeof r?.message=="string"?r.message:n("ap.apUpload.FailedToObtainOssTemporaryPermissions"))}}).then(()=>{l(o)})}),createDate:Date.now()},c.set(a,e)),e.oss}function U({oss:t,fileName:s}){return t.getSignatureUrl(s)}exports.getOssInstance=T;exports.getSignatureUrl=U;exports.injectLocaleToOss=O;
@@ -1,7 +1,7 @@
1
1
  import { accessCreate } from '@aplus-frontend/oss';
2
2
  import { UiModeType } from '../../config-provider';
3
3
  export interface ApImageProps {
4
- getOssAccess?: () => Promise<accessCreate>;
4
+ getOssAccess?: (bucket?: string) => Promise<accessCreate>;
5
5
  width?: number | string;
6
6
  height?: number | string;
7
7
  alt?: string;
@@ -181,8 +181,8 @@ declare const __VLS_component: DefineComponent<ExtractPropTypes<{
181
181
  value: string | unknown[] | Record<string, any>;
182
182
  maxCount: number;
183
183
  maxSize: number;
184
- getOssAccess: GetOssAccess;
185
184
  needName: boolean | Record<string, any>;
185
+ getOssAccess: GetOssAccess;
186
186
  accept: string;
187
187
  beforeUpload: BeforeUpload;
188
188
  onRemove: Function;
@@ -1,5 +1,5 @@
1
1
  import { DefaultOptionType } from '@aplus-frontend/antdv/es/select';
2
- import { client } from '@aplus-frontend/oss';
2
+ import { accessCreate } from '@aplus-frontend/oss';
3
3
  import { InjectionKey, Ref, VNode } from 'vue';
4
4
  import { Recordable } from '../type';
5
5
  import { ConfigProviderProps } from './config-provider-props';
@@ -18,7 +18,7 @@ export type ApiType = {
18
18
  };
19
19
  export type ApUploadConfig = {
20
20
  dirName?: string;
21
- getOssAccess?: Parameters<typeof client.initOssClient>[0]['getOssAccess'];
21
+ getOssAccess?: (bucket?: string) => Promise<accessCreate>;
22
22
  needName?: boolean | {
23
23
  pathKey?: string;
24
24
  nameKey?: string;
@@ -1,2 +1,2 @@
1
- declare const _default: "7.10.2";
1
+ declare const _default: "7.10.4";
2
2
  export default _default;
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="7.10.2";exports.default=e;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e="7.10.4";exports.default=e;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aplus-frontend/ui",
3
- "version": "7.10.2",
3
+ "version": "7.10.4",
4
4
  "main": "./lib/index.js",
5
5
  "type": "module",
6
6
  "files": [
@@ -46,14 +46,14 @@
46
46
  "peerDependencies": {
47
47
  "@aplus-frontend/antdv": "^1.3.5",
48
48
  "@aplus-frontend/icon": "^2.0.4",
49
- "@aplus-frontend/oss": "^1.1.9",
49
+ "@aplus-frontend/oss": "^1.1.10",
50
50
  "vue": "^3.5.21",
51
51
  "vxe-table": "^4.13.37"
52
52
  },
53
53
  "devDependencies": {
54
54
  "@aplus-frontend/antdv": "^1.3.5",
55
55
  "@aplus-frontend/icon": "^2.0.4",
56
- "@aplus-frontend/oss": "^1.1.9",
56
+ "@aplus-frontend/oss": "^1.1.10",
57
57
  "@emotion/serialize": "^1.3.3",
58
58
  "@types/sortablejs": "^1.15.8",
59
59
  "axios": "^1.7.2",