qidian-vue-ui 1.1.21 → 1.1.23
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/components/avatar/index.vue.d.ts +1 -1
- package/dist/components/avatar/index.vue.mjs +1 -1
- package/dist/components/avatar/index.vue2.mjs +17 -5
- package/dist/components/avatar/index.vue2.mjs.map +1 -1
- package/dist/components/avatar/props.d.ts +3 -0
- package/dist/components/avatar/props.mjs +4 -0
- package/dist/components/avatar/props.mjs.map +1 -1
- package/dist/components/image/index.d.ts +2 -0
- package/dist/components/image/index.vue.d.ts +14 -0
- package/dist/components/image/index.vue.mjs +117 -0
- package/dist/components/image/index.vue.mjs.map +1 -0
- package/dist/components/image/index.vue2.mjs +5 -0
- package/dist/components/image/index.vue2.mjs.map +1 -0
- package/dist/components/image/props.d.ts +6 -0
- package/dist/components/image/props.mjs +12 -0
- package/dist/components/image/props.mjs.map +1 -0
- package/dist/components/image/types.d.ts +6 -0
- package/dist/components/index.d.ts +1 -0
- package/dist/index.mjs +10 -8
- package/dist/index.mjs.map +1 -1
- package/dist/qidian-vue-ui.css +2 -2
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import _sfc_main from "./index.vue2.mjs";
|
|
2
2
|
/* empty css */
|
|
3
3
|
import _export_sfc from "../../_virtual/_plugin-vue_export-helper.mjs";
|
|
4
|
-
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-
|
|
4
|
+
const index = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-26692975"]]);
|
|
5
5
|
export {
|
|
6
6
|
index as default
|
|
7
7
|
};
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { defineComponent, mergeDefaults, inject, computed, ref, watch, resolveDirective, createElementBlock, openBlock, withDirectives, createCommentVNode, createBlock, unref, mergeProps, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps, normalizeClass, toDisplayString } from "vue";
|
|
2
2
|
import { Avatar } from "tdesign-vue-next";
|
|
3
|
-
import { isEmpty, validator, abortWrapper
|
|
4
|
-
import { qdAvatarProps } from "./props.mjs";
|
|
3
|
+
import { isEmpty, validator, abortWrapper } from "qidian-shared";
|
|
4
|
+
import { qdAvatarImageProps, qdAvatarProps } from "./props.mjs";
|
|
5
5
|
import { PROVIDE_AVATAR } from "../config-provider/config.mjs";
|
|
6
6
|
import "../../hooks/useAgentChat/index.mjs";
|
|
7
7
|
import "../../locales/zh-CN.mjs";
|
|
8
8
|
import { useUserAvatar } from "../../hooks/useUserAvatar/index.mjs";
|
|
9
|
+
import merge from "../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/merge.mjs";
|
|
9
10
|
const _hoisted_1 = { class: "qd-avatar" };
|
|
10
11
|
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
11
12
|
...{
|
|
@@ -39,12 +40,23 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
39
40
|
let serviceAbort;
|
|
40
41
|
const reImage = ref();
|
|
41
42
|
const reProps = computed(() => {
|
|
42
|
-
const {
|
|
43
|
+
const {
|
|
44
|
+
name,
|
|
45
|
+
mode,
|
|
46
|
+
avatarClassName,
|
|
47
|
+
nameClassName,
|
|
48
|
+
image,
|
|
49
|
+
service,
|
|
50
|
+
imageProps,
|
|
51
|
+
...avatarOptions
|
|
52
|
+
} = props;
|
|
43
53
|
const reAlt = avatarOptions.alt || name;
|
|
44
54
|
const serviceOptions = { service: service || globalAvatarProps.value?.service };
|
|
55
|
+
const reImageProps = merge(imageProps, qdAvatarImageProps);
|
|
45
56
|
return {
|
|
46
57
|
avatarOptions: {
|
|
47
58
|
...avatarOptions,
|
|
59
|
+
imageProps: reImageProps,
|
|
48
60
|
alt: reAlt
|
|
49
61
|
},
|
|
50
62
|
serviceOptions,
|
|
@@ -82,7 +94,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
82
94
|
withDirectives((openBlock(), createBlock(unref(Avatar), mergeProps({ class: __props.avatarClassName }, reProps.value.avatarOptions, {
|
|
83
95
|
image: typeof reImage.value === "number" ? reImage.value + "" : reImage.value
|
|
84
96
|
}), createSlots({ _: 2 }, [
|
|
85
|
-
renderList(
|
|
97
|
+
renderList(_ctx.$slots, (name) => {
|
|
86
98
|
return {
|
|
87
99
|
name,
|
|
88
100
|
fn: withCtx((slotProps) => [
|
|
@@ -91,7 +103,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
91
103
|
};
|
|
92
104
|
})
|
|
93
105
|
]), 1040, ["class", "image"])), [
|
|
94
|
-
[_directive_loading, unref(loading)]
|
|
106
|
+
[_directive_loading, { loading: unref(loading), size: "small" }]
|
|
95
107
|
]),
|
|
96
108
|
reProps.value.name ? (openBlock(), createElementBlock("span", {
|
|
97
109
|
key: 0,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/avatar/index.vue"],"sourcesContent":["<template>\n <div class=\"qd-avatar\">\n <t-avatar\n v-loading=\"loading\"\n :class=\"avatarClassName\"\n v-bind=\"reProps.avatarOptions\"\n :image=\"typeof reImage === 'number' ? reImage + '' : reImage\"\n >\n <template v-for=\"name in
|
|
1
|
+
{"version":3,"file":"index.vue2.mjs","sources":["../../../src/components/avatar/index.vue"],"sourcesContent":["<template>\n <div class=\"qd-avatar\">\n <t-avatar\n v-loading=\"{ loading, size: 'small' }\"\n :class=\"avatarClassName\"\n v-bind=\"reProps.avatarOptions\"\n :image=\"typeof reImage === 'number' ? reImage + '' : reImage\"\n >\n <template v-for=\"name in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </t-avatar>\n\n <span v-if=\"reProps.name\" :class=\"`qd-avatar__name ${nameClassName}`\">{{ reProps.name }}</span>\n </div>\n</template>\n\n<script setup lang=\"ts\">\n import type { QdAvatarProps } from './types'\n import type { AbortWrapperPromise } from 'qidian-shared'\n import { Avatar as TAvatar } from 'tdesign-vue-next'\n import { abortWrapper, isEmpty, validator } from 'qidian-shared'\n import { qdAvatarImageProps, qdAvatarProps } from './props'\n import { ref, computed, watch, inject } from 'vue'\n import { PROVIDE_AVATAR } from '../config-provider/config'\n import { useUserAvatar } from '../../hooks'\n import { merge } from 'lodash-es'\n\n defineOptions({\n name: 'QdAvatar'\n })\n\n const props = withDefaults(defineProps<QdAvatarProps>(), qdAvatarProps)\n\n const globalAvatarProps = inject(\n PROVIDE_AVATAR,\n computed(() => undefined)\n )\n\n const { loading, getAvatar } = useUserAvatar()\n let serviceAbort: AbortWrapperPromise<Awaited<ReturnType<typeof getAvatar>>> | undefined\n\n const reImage = ref<string | number | undefined>()\n const reProps = computed(() => {\n const {\n name,\n mode,\n avatarClassName,\n nameClassName,\n image,\n service,\n imageProps,\n ...avatarOptions\n } = props\n const reAlt = avatarOptions.alt || name\n const serviceOptions = { service: service || globalAvatarProps.value?.service }\n const reImageProps = merge(imageProps, qdAvatarImageProps)\n\n return {\n avatarOptions: {\n ...avatarOptions,\n imageProps: reImageProps,\n alt: reAlt\n },\n serviceOptions,\n name,\n mode,\n avatarClassName,\n nameClassName,\n image\n }\n })\n\n watch(\n () => reProps.value.image,\n async (newVal, oldVal) => {\n if (newVal === oldVal) return\n\n serviceAbort?.abort?.('abort')\n const { mode, serviceOptions } = reProps.value\n if (mode === 'ossId') {\n const { service } = serviceOptions\n if (!service || isEmpty(newVal) || validator(newVal, 'url')) {\n reImage.value = newVal\n return\n }\n\n serviceAbort = abortWrapper(getAvatar(newVal))\n const res = await serviceAbort\n reImage.value = res\n return\n }\n\n reImage.value = newVal\n },\n { immediate: true }\n )\n</script>\n\n<style lang=\"less\" scoped>\n .qd-avatar {\n display: inline-flex;\n align-items: center;\n font: var(--td-font-body-medium);\n color: var(--td-text-color-primary);\n\n &__name {\n margin-left: var(--td-comp-margin-s);\n }\n }\n</style>\n"],"names":["_openBlock","_createElementBlock","_createBlock","_unref","TAvatar","_mergeProps","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps","_toDisplayString"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAgCE,UAAM,QAAQ;AAEd,UAAM,oBAAoB;AAAA,MACxB;AAAA,MACA,SAAS,MAAM,MAAS;AAAA,IAAA;AAG1B,UAAM,EAAE,SAAS,UAAA,IAAc,cAAA;AAC/B,QAAI;AAEJ,UAAM,UAAU,IAAA;AAChB,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM;AAAA,QACJ;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA,GAAG;AAAA,MAAA,IACD;AACJ,YAAM,QAAQ,cAAc,OAAO;AACnC,YAAM,iBAAiB,EAAE,SAAS,WAAW,kBAAkB,OAAO,QAAA;AACtE,YAAM,eAAe,MAAM,YAAY,kBAAkB;AAEzD,aAAO;AAAA,QACL,eAAe;AAAA,UACb,GAAG;AAAA,UACH,YAAY;AAAA,UACZ,KAAK;AAAA,QAAA;AAAA,QAEP;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAAA,IAEJ,CAAC;AAED;AAAA,MACE,MAAM,QAAQ,MAAM;AAAA,MACpB,OAAO,QAAQ,WAAW;AACxB,YAAI,WAAW,OAAQ;AAEvB,sBAAc,QAAQ,OAAO;AAC7B,cAAM,EAAE,MAAM,eAAA,IAAmB,QAAQ;AACzC,YAAI,SAAS,SAAS;AACpB,gBAAM,EAAE,YAAY;AACpB,cAAI,CAAC,WAAW,QAAQ,MAAM,KAAK,UAAU,QAAQ,KAAK,GAAG;AAC3D,oBAAQ,QAAQ;AAChB;AAAA,UACF;AAEA,yBAAe,aAAa,UAAU,MAAM,CAAC;AAC7C,gBAAM,MAAM,MAAM;AAClB,kBAAQ,QAAQ;AAChB;AAAA,QACF;AAEA,gBAAQ,QAAQ;AAAA,MAClB;AAAA,MACA,EAAE,WAAW,KAAA;AAAA,IAAK;;;AA9FpB,aAAAA,UAAA,GAAAC,mBAaM,OAbN,YAaM;AAAA,qCAZJC,YASWC,MAAAC,MAAA,GATXC,WASW,EAPR,OAAO,QAAA,gBAAA,GACA,QAAA,MAAQ,eAAa;AAAA,UAC5B,OAAK,OAAS,QAAA,UAAO,WAAgB,QAAA,aAAe,QAAA;AAAA,QAAA;UAE5BC,WAAAA,KAAAA,SAAR,SAAI;;;cACnB,IAAAC,QAAA,CADwC,cAAS;AAAA,gBACjDC,WAAwC,KAAA,QAA3B,MAAIC,eAAAC,mBAAU,SAAS,CAAA,GAAA,QAAA,IAAA;AAAA,cAAA;;;;0CANzBP,MAAA,OAAA,GAAO,MAAA,QAAA,CAAA;AAAA,QAAA;QAUV,QAAA,MAAQ,qBAApBF,mBAA+F,QAAA;AAAA;UAApE,yCAA0B,QAAA,aAAa,EAAA;AAAA,QAAA,GAAOU,gBAAA,QAAA,MAAQ,IAAI,GAAA,CAAA;;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"props.mjs","sources":["../../../src/components/avatar/props.tsx"],"sourcesContent":["import { UserIcon } from 'tdesign-icons-vue-next'\n\nexport const qdAvatarProps = {\n hideOnLoadFailed: true,\n icon: () => () => <UserIcon />,\n mode: 'ossId'\n} as const\n"],"names":["qdAvatarProps","hideOnLoadFailed","icon","_createVNode","UserIcon","mode"],"mappings":";;AAEO,MAAMA,gBAAgB;AAAA,EAC3BC,kBAAkB;AAAA,EAClBC,MAAMA,MAAM,MAAAC,YAAAC,UAAA,MAAA,IAAA;AAAA,EACZC,MAAM;AACR;"}
|
|
1
|
+
{"version":3,"file":"props.mjs","sources":["../../../src/components/avatar/props.tsx"],"sourcesContent":["import { UserIcon } from 'tdesign-icons-vue-next'\n\nexport const qdAvatarProps = {\n hideOnLoadFailed: true,\n icon: () => () => <UserIcon />,\n mode: 'ossId'\n} as const\n\nexport const qdAvatarImageProps = {\n lazy: true\n} as const"],"names":["qdAvatarProps","hideOnLoadFailed","icon","_createVNode","UserIcon","mode","qdAvatarImageProps","lazy"],"mappings":";;AAEO,MAAMA,gBAAgB;AAAA,EAC3BC,kBAAkB;AAAA,EAClBC,MAAMA,MAAM,MAAAC,YAAAC,UAAA,MAAA,IAAA;AAAA,EACZC,MAAM;AACR;AAEO,MAAMC,qBAAqB;AAAA,EAChCC,MAAM;AACR;"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { QdImageProps } from './types';
|
|
2
|
+
declare const _default: <OR = unknown, OP extends string | number | (string | number)[] = string | number | (string | number)[], TOP = OP>(__VLS_props: NonNullable<Awaited<typeof __VLS_setup>>["props"], __VLS_ctx?: __VLS_PrettifyLocal<Pick<NonNullable<Awaited<typeof __VLS_setup>>, "attrs" | "emit" | "slots">>, __VLS_expose?: NonNullable<Awaited<typeof __VLS_setup>>["expose"], __VLS_setup?: Promise<{
|
|
3
|
+
props: __VLS_PrettifyLocal<Pick<Partial<{}> & Omit<{} & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, never>, never> & QdImageProps<OR, OP, TOP> & Partial<{}>> & import("vue").PublicProps;
|
|
4
|
+
expose(exposed: import("vue").ShallowUnwrapRef<{}>): void;
|
|
5
|
+
attrs: any;
|
|
6
|
+
slots: {};
|
|
7
|
+
emit: {};
|
|
8
|
+
}>) => import("vue").VNode & {
|
|
9
|
+
__ctx?: Awaited<typeof __VLS_setup>;
|
|
10
|
+
};
|
|
11
|
+
export default _default;
|
|
12
|
+
type __VLS_PrettifyLocal<T> = {
|
|
13
|
+
[K in keyof T]: T[K];
|
|
14
|
+
} & {};
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { defineComponent, mergeDefaults, inject, computed, ref, watch, resolveDirective, withDirectives, createBlock, openBlock, unref, mergeProps, createSlots, renderList, withCtx, renderSlot, normalizeProps, guardReactiveProps } from "vue";
|
|
2
|
+
import { qdImageProps } from "./props.mjs";
|
|
3
|
+
import { Image } from "tdesign-vue-next";
|
|
4
|
+
import { isEmpty, validator, suspectedWrapperPromise, to } from "qidian-shared";
|
|
5
|
+
import { PROVIDE_UPLOAD } from "../config-provider/config.mjs";
|
|
6
|
+
import merge from "../../node_modules/.pnpm/lodash-es@4.17.21/node_modules/lodash-es/merge.mjs";
|
|
7
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
8
|
+
...{
|
|
9
|
+
name: "QdImage"
|
|
10
|
+
},
|
|
11
|
+
__name: "index",
|
|
12
|
+
props: /* @__PURE__ */ mergeDefaults({
|
|
13
|
+
src: {},
|
|
14
|
+
mode: {},
|
|
15
|
+
alt: {},
|
|
16
|
+
error: {},
|
|
17
|
+
fallback: {},
|
|
18
|
+
fit: {},
|
|
19
|
+
gallery: { type: Boolean },
|
|
20
|
+
lazy: { type: Boolean },
|
|
21
|
+
loading: {},
|
|
22
|
+
overlayContent: {},
|
|
23
|
+
overlayTrigger: {},
|
|
24
|
+
placeholder: {},
|
|
25
|
+
position: {},
|
|
26
|
+
referrerpolicy: {},
|
|
27
|
+
shape: {},
|
|
28
|
+
srcset: {},
|
|
29
|
+
onError: { type: Function },
|
|
30
|
+
onLoad: { type: Function },
|
|
31
|
+
listOssByIds: {}
|
|
32
|
+
}, qdImageProps),
|
|
33
|
+
setup(__props) {
|
|
34
|
+
const props = __props;
|
|
35
|
+
const globalUploadProps = inject(
|
|
36
|
+
PROVIDE_UPLOAD,
|
|
37
|
+
computed(() => void 0)
|
|
38
|
+
);
|
|
39
|
+
const reSrc = ref();
|
|
40
|
+
const reProps = computed(() => {
|
|
41
|
+
const { src, mode, listOssByIds, ...imageOptions } = props;
|
|
42
|
+
const reListOssByIds = merge(listOssByIds, globalUploadProps.value?.listOssByIds);
|
|
43
|
+
return {
|
|
44
|
+
src,
|
|
45
|
+
mode,
|
|
46
|
+
listOssByIds: reListOssByIds,
|
|
47
|
+
imageOptions
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
const serviceLoad = ref(false);
|
|
51
|
+
watch(
|
|
52
|
+
() => reProps.value.src,
|
|
53
|
+
async (newVal, oldVal) => {
|
|
54
|
+
if (newVal === oldVal) return;
|
|
55
|
+
const { mode, listOssByIds } = reProps.value;
|
|
56
|
+
if (mode === "ossId") {
|
|
57
|
+
if (!listOssByIds || !listOssByIds.service || isEmpty(newVal) || newVal instanceof File || validator(newVal, "url")) {
|
|
58
|
+
reSrc.value = newVal;
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
const { service, transformParams, transformRes } = listOssByIds;
|
|
62
|
+
serviceLoad.value = true;
|
|
63
|
+
const currentParams = newVal;
|
|
64
|
+
let tParams;
|
|
65
|
+
if (transformParams) {
|
|
66
|
+
const [trErr, trRes] = await suspectedWrapperPromise(transformParams(currentParams));
|
|
67
|
+
if (trErr) {
|
|
68
|
+
serviceLoad.value = false;
|
|
69
|
+
throw trErr;
|
|
70
|
+
}
|
|
71
|
+
tParams = trRes;
|
|
72
|
+
}
|
|
73
|
+
const [serviceErr, serviceRes] = await to(
|
|
74
|
+
service(tParams || currentParams)
|
|
75
|
+
);
|
|
76
|
+
if (serviceErr) {
|
|
77
|
+
serviceLoad.value = false;
|
|
78
|
+
throw serviceErr;
|
|
79
|
+
}
|
|
80
|
+
let res;
|
|
81
|
+
if (transformRes) {
|
|
82
|
+
const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes));
|
|
83
|
+
serviceLoad.value = false;
|
|
84
|
+
if (trErr) throw trErr;
|
|
85
|
+
res = trRes;
|
|
86
|
+
} else {
|
|
87
|
+
serviceLoad.value = false;
|
|
88
|
+
res = serviceRes;
|
|
89
|
+
}
|
|
90
|
+
reSrc.value = res[0]?.url;
|
|
91
|
+
}
|
|
92
|
+
},
|
|
93
|
+
{ immediate: true }
|
|
94
|
+
);
|
|
95
|
+
return (_ctx, _cache) => {
|
|
96
|
+
const _directive_loading = resolveDirective("loading");
|
|
97
|
+
return withDirectives((openBlock(), createBlock(unref(Image), mergeProps(reProps.value.imageOptions, {
|
|
98
|
+
src: typeof reSrc.value === "number" ? reSrc.value + "" : reSrc.value
|
|
99
|
+
}), createSlots({ _: 2 }, [
|
|
100
|
+
renderList(_ctx.$slots, (name) => {
|
|
101
|
+
return {
|
|
102
|
+
name,
|
|
103
|
+
fn: withCtx((slotProps) => [
|
|
104
|
+
renderSlot(_ctx.$slots, name, normalizeProps(guardReactiveProps(slotProps)))
|
|
105
|
+
])
|
|
106
|
+
};
|
|
107
|
+
})
|
|
108
|
+
]), 1040, ["src"])), [
|
|
109
|
+
[_directive_loading, { loading: serviceLoad.value, size: "small" }]
|
|
110
|
+
]);
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
});
|
|
114
|
+
export {
|
|
115
|
+
_sfc_main as default
|
|
116
|
+
};
|
|
117
|
+
//# sourceMappingURL=index.vue.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.vue.mjs","sources":["../../../src/components/image/index.vue"],"sourcesContent":["<template>\n <t-image\n v-loading=\"{ loading: serviceLoad, size: 'small' }\"\n v-bind=\"reProps.imageOptions\"\n :src=\"typeof reSrc === 'number' ? reSrc + '' : reSrc\"\n >\n <template v-for=\"name in $slots\" #[name]=\"slotProps\">\n <slot :name=\"name\" v-bind=\"slotProps\" />\n </template>\n </t-image>\n</template>\n\n<script\n setup\n lang=\"ts\"\n generic=\"\n OR = unknown,\n OP extends string | number | (string | number)[] = string | number | (string | number)[],\n TOP = OP\n \"\n>\n import type { QdImageProps } from './types'\n import type { QdUploadListOssByIdsResult } from '../upload/types'\n import { qdImageProps } from './props'\n import { Image as TImage } from 'tdesign-vue-next'\n import { computed, inject, ref, watch } from 'vue'\n import { isEmpty, suspectedWrapperPromise, to, validator } from 'qidian-shared'\n import { PROVIDE_UPLOAD } from '../config-provider/config'\n import { merge } from 'lodash-es'\n\n defineOptions({\n name: 'QdImage'\n })\n\n type Props = QdImageProps<OR, OP, TOP>\n\n const props = withDefaults(defineProps<Props>(), qdImageProps)\n\n const globalUploadProps = inject(\n PROVIDE_UPLOAD,\n computed(() => undefined)\n )\n\n const reSrc = ref<string | number | File | undefined>()\n const reProps = computed(() => {\n const { src, mode, listOssByIds, ...imageOptions } = props\n const reListOssByIds = merge(listOssByIds, globalUploadProps.value?.listOssByIds)\n\n return {\n src,\n mode,\n listOssByIds: reListOssByIds,\n imageOptions\n }\n })\n\n const serviceLoad = ref(false)\n\n watch(\n () => reProps.value.src,\n async (newVal, oldVal) => {\n if (newVal === oldVal) return\n\n const { mode, listOssByIds } = reProps.value\n if (mode === 'ossId') {\n if (\n !listOssByIds ||\n !listOssByIds.service ||\n isEmpty(newVal) ||\n newVal instanceof File ||\n validator(newVal, 'url')\n ) {\n reSrc.value = newVal\n return\n }\n\n const { service, transformParams, transformRes } = listOssByIds\n\n serviceLoad.value = true\n const currentParams = newVal\n let tParams: TOP | undefined\n\n if (transformParams) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformParams(currentParams as OP))\n if (trErr) {\n serviceLoad.value = false\n throw trErr\n }\n\n tParams = trRes\n }\n\n const [serviceErr, serviceRes] = await to(\n service(tParams || (currentParams as unknown as TOP))\n )\n if (serviceErr) {\n serviceLoad.value = false\n throw serviceErr\n }\n\n let res: QdUploadListOssByIdsResult | undefined\n if (transformRes) {\n const [trErr, trRes] = await suspectedWrapperPromise(transformRes(serviceRes))\n serviceLoad.value = false\n if (trErr) throw trErr\n\n res = trRes\n } else {\n serviceLoad.value = false\n res = serviceRes as QdUploadListOssByIdsResult\n }\n\n reSrc.value = res[0]?.url\n }\n },\n { immediate: true }\n )\n</script>\n"],"names":["_withDirectives","_openBlock","_createBlock","_unref","TImage","_mergeProps","$slots","_withCtx","_renderSlot","_normalizeProps","_guardReactiveProps"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCE,UAAM,QAAQ;AAEd,UAAM,oBAAoB;AAAA,MACxB;AAAA,MACA,SAAS,MAAM,MAAS;AAAA,IAAA;AAG1B,UAAM,QAAQ,IAAA;AACd,UAAM,UAAU,SAAS,MAAM;AAC7B,YAAM,EAAE,KAAK,MAAM,cAAc,GAAG,iBAAiB;AACrD,YAAM,iBAAiB,MAAM,cAAc,kBAAkB,OAAO,YAAY;AAEhF,aAAO;AAAA,QACL;AAAA,QACA;AAAA,QACA,cAAc;AAAA,QACd;AAAA,MAAA;AAAA,IAEJ,CAAC;AAED,UAAM,cAAc,IAAI,KAAK;AAE7B;AAAA,MACE,MAAM,QAAQ,MAAM;AAAA,MACpB,OAAO,QAAQ,WAAW;AACxB,YAAI,WAAW,OAAQ;AAEvB,cAAM,EAAE,MAAM,aAAA,IAAiB,QAAQ;AACvC,YAAI,SAAS,SAAS;AACpB,cACE,CAAC,gBACD,CAAC,aAAa,WACd,QAAQ,MAAM,KACd,kBAAkB,QAClB,UAAU,QAAQ,KAAK,GACvB;AACA,kBAAM,QAAQ;AACd;AAAA,UACF;AAEA,gBAAM,EAAE,SAAS,iBAAiB,aAAA,IAAiB;AAEnD,sBAAY,QAAQ;AACpB,gBAAM,gBAAgB;AACtB,cAAI;AAEJ,cAAI,iBAAiB;AACnB,kBAAM,CAAC,OAAO,KAAK,IAAI,MAAM,wBAAwB,gBAAgB,aAAmB,CAAC;AACzF,gBAAI,OAAO;AACT,0BAAY,QAAQ;AACpB,oBAAM;AAAA,YACR;AAEA,sBAAU;AAAA,UACZ;AAEA,gBAAM,CAAC,YAAY,UAAU,IAAI,MAAM;AAAA,YACrC,QAAQ,WAAY,aAAgC;AAAA,UAAA;AAEtD,cAAI,YAAY;AACd,wBAAY,QAAQ;AACpB,kBAAM;AAAA,UACR;AAEA,cAAI;AACJ,cAAI,cAAc;AAChB,kBAAM,CAAC,OAAO,KAAK,IAAI,MAAM,wBAAwB,aAAa,UAAU,CAAC;AAC7E,wBAAY,QAAQ;AACpB,gBAAI,MAAO,OAAM;AAEjB,kBAAM;AAAA,UACR,OAAO;AACL,wBAAY,QAAQ;AACpB,kBAAM;AAAA,UACR;AAEA,gBAAM,QAAQ,IAAI,CAAC,GAAG;AAAA,QACxB;AAAA,MACF;AAAA,MACA,EAAE,WAAW,KAAA;AAAA,IAAK;;;AAlHpB,aAAAA,gBAAAC,aAAAC,YAQUC,MAAAC,KAAA,GARVC,WAEU,QAMA,MANQ,cAAY;AAAA,QAC3B,KAAG,OAAS,MAAA,UAAK,WAAgB,MAAA,aAAa,MAAA;AAAA,MAAA;QAEtBC,WAAAA,KAAAA,SAAR,SAAI;;;YACnB,IAAAC,QAAA,CADwC,cAAS;AAAA,cACjDC,WAAwC,KAAA,QAA3B,MAAIC,eAAAC,mBAAU,SAAS,CAAA,CAAA;AAAA,YAAA;;;;wCALhB,YAAA,OAAW,MAAA,SAAA;AAAA,MAAA;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.vue2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { createVNode } from "vue";
|
|
2
|
+
import { ImageErrorIcon, LoadingIcon } from "tdesign-icons-vue-next";
|
|
3
|
+
const qdImageProps = {
|
|
4
|
+
loading: () => () => createVNode(LoadingIcon, null, null),
|
|
5
|
+
error: () => () => createVNode(ImageErrorIcon, null, null),
|
|
6
|
+
mode: "ossId",
|
|
7
|
+
lazy: true
|
|
8
|
+
};
|
|
9
|
+
export {
|
|
10
|
+
qdImageProps
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=props.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"props.mjs","sources":["../../../src/components/image/props.tsx"],"sourcesContent":["import { ImageErrorIcon, LoadingIcon } from 'tdesign-icons-vue-next'\n\nexport const qdImageProps = {\n loading: () => () => <LoadingIcon />,\n error: () => () => <ImageErrorIcon />,\n mode: 'ossId',\n lazy: true\n} as const\n"],"names":["qdImageProps","loading","_createVNode","LoadingIcon","error","ImageErrorIcon","mode","lazy"],"mappings":";;AAEO,MAAMA,eAAe;AAAA,EAC1BC,SAASA,MAAM,MAAAC,YAAAC,aAAA,MAAA,IAAA;AAAA,EACfC,OAAOA,MAAM,MAAAF,YAAAG,gBAAA,MAAA,IAAA;AAAA,EACbC,MAAM;AAAA,EACNC,MAAM;AACR;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { TdImageProps, UploadFile } from 'tdesign-vue-next';
|
|
2
|
+
import type { QdUploadProps } from '../upload';
|
|
3
|
+
export interface QdImageProps<OR = unknown, OP extends string | number | (string | number)[] = string | number | (string | number)[], TOP = OP> extends Omit<TdImageProps, 'src'>, Pick<QdUploadProps<UploadFile, OR, OP, TOP>, 'listOssByIds'> {
|
|
4
|
+
src?: string | number | File;
|
|
5
|
+
mode?: 'ossId' | 'url';
|
|
6
|
+
}
|
package/dist/index.mjs
CHANGED
|
@@ -27,10 +27,11 @@ import { qdFormGrid, qdFormGutter } from "./components/form/props.mjs";
|
|
|
27
27
|
import { default as default19 } from "./components/grid/index.vue.mjs";
|
|
28
28
|
import { default as default20 } from "./components/grid/item.vue.mjs";
|
|
29
29
|
import { PROVIDE_GRID_ITEM_PROPS_KEY, PROVIDE_GRID_WIDTH_KEY } from "./components/grid/config.mjs";
|
|
30
|
-
import { default as default21 } from "./components/
|
|
31
|
-
import { default as default22 } from "./components/service/
|
|
32
|
-
import { default as default23 } from "./components/service/
|
|
33
|
-
import { default as default24 } from "./components/
|
|
30
|
+
import { default as default21 } from "./components/image/index.vue.mjs";
|
|
31
|
+
import { default as default22 } from "./components/service/table.vue.mjs";
|
|
32
|
+
import { default as default23 } from "./components/service/list.vue.mjs";
|
|
33
|
+
import { default as default24 } from "./components/service/select.vue.mjs";
|
|
34
|
+
import { default as default25 } from "./components/upload/index.vue.mjs";
|
|
34
35
|
import { qdUploadAcceptMap } from "./components/upload/config.mjs";
|
|
35
36
|
import { hasPermi, hasPermiDirective } from "./directive/hasPermi.mjs";
|
|
36
37
|
import { hasRole, hasRoleDirective } from "./directive/hasRole.mjs";
|
|
@@ -64,12 +65,13 @@ export {
|
|
|
64
65
|
default18 as QdFormItem,
|
|
65
66
|
default19 as QdGrid,
|
|
66
67
|
default20 as QdGridItem,
|
|
68
|
+
default21 as QdImage,
|
|
67
69
|
default15 as QdOfficePdf,
|
|
68
70
|
default16 as QdOrgSelect,
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
71
|
+
default23 as QdServiceList,
|
|
72
|
+
default24 as QdServiceSelect,
|
|
73
|
+
default22 as QdServiceTable,
|
|
74
|
+
default25 as QdUpload,
|
|
73
75
|
auth,
|
|
74
76
|
defineQdCrudList,
|
|
75
77
|
defineQdCrudTable,
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/qidian-vue-ui.css
CHANGED
|
@@ -133,13 +133,13 @@ p {
|
|
|
133
133
|
-webkit-box-orient: vertical;
|
|
134
134
|
-webkit-line-clamp: var(--v07d46710);
|
|
135
135
|
}
|
|
136
|
-
.qd-avatar[data-v-
|
|
136
|
+
.qd-avatar[data-v-26692975] {
|
|
137
137
|
display: inline-flex;
|
|
138
138
|
align-items: center;
|
|
139
139
|
font: var(--td-font-body-medium);
|
|
140
140
|
color: var(--td-text-color-primary);
|
|
141
141
|
}
|
|
142
|
-
.qd-avatar__name[data-v-
|
|
142
|
+
.qd-avatar__name[data-v-26692975] {
|
|
143
143
|
margin-left: var(--td-comp-margin-s);
|
|
144
144
|
}
|
|
145
145
|
[data-v-cdb247de] .qd-card__header--click {
|