Compare commits

..

2 Commits

Author SHA1 Message Date
d5576061e3 feat(上传): 添加图片缩放功能
为上传组件中的图片添加了缩放功能,用户可以通过鼠标滚轮调整图片的缩放比例,缩放范围限制在0.5到3倍之间。此功能提升了用户体验,方便用户查看图片细节。
2025-04-15 10:09:16 +08:00
596ab0f0d4 2 2024-12-10 14:45:55 +08:00
14 changed files with 2836 additions and 2805 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -172,13 +172,11 @@ function triggerRefValue(ref, newVal) {
} }
} }
} }
var _a;
class ComputedRefImpl { class ComputedRefImpl {
constructor(getter, _setter, isReadonly, isSSR) { constructor(getter, _setter, isReadonly, isSSR) {
this._setter = _setter; this._setter = _setter;
this.dep = void 0; this.dep = void 0;
this.__v_isRef = true; this.__v_isRef = true;
this[_a] = false;
this._dirty = true; this._dirty = true;
this.effect = new ReactiveEffect(getter, () => { this.effect = new ReactiveEffect(getter, () => {
if (!this._dirty) { if (!this._dirty) {
@ -203,7 +201,6 @@ class ComputedRefImpl {
this._setter(newValue); this._setter(newValue);
} }
} }
_a = "__v_isReadonly";
function computed(getterOrOptions, debugOptions, isSSR = false) { function computed(getterOrOptions, debugOptions, isSSR = false) {
let getter; let getter;
let setter; let setter;

View File

@ -1,15 +1,15 @@
import { getCurrentScope, onScopeDispose, computed, toRefs, getCurrentInstance, onMounted, nextTick, ref, unref, isRef, reactive, watch, customRef, onUpdated } from "vue"; import { getCurrentScope, onScopeDispose, computed, toRefs, getCurrentInstance, onMounted, nextTick, ref, unref, isRef, reactive, watch, customRef, onUpdated } from "vue";
var _a; var _a$1;
const isClient = typeof window !== "undefined"; const isClient$1 = typeof window !== "undefined";
const toString = Object.prototype.toString; const toString$1 = Object.prototype.toString;
const isFunction = (val) => typeof val === "function"; const isFunction = (val) => typeof val === "function";
const isNumber = (val) => typeof val === "number"; const isNumber = (val) => typeof val === "number";
const isString = (val) => typeof val === "string"; const isString = (val) => typeof val === "string";
const isObject = (val) => toString.call(val) === "[object Object]"; const isObject$1 = (val) => toString$1.call(val) === "[object Object]";
const clamp = (n, min, max) => Math.min(max, Math.max(min, n)); const clamp = (n, min, max) => Math.min(max, Math.max(min, n));
const noop = () => { const noop = () => {
}; };
isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent); isClient$1 && ((_a$1 = window == null ? void 0 : window.navigator) == null ? void 0 : _a$1.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
function resolveUnref(r) { function resolveUnref(r) {
return typeof r === "function" ? r() : unref(r); return typeof r === "function" ? r() : unref(r);
} }
@ -141,7 +141,7 @@ function useTimeoutFn(cb, interval, options = {}) {
} }
if (immediate) { if (immediate) {
isPending.value = true; isPending.value = true;
if (isClient) if (isClient$1)
start(); start();
} }
tryOnScopeDispose(stop); tryOnScopeDispose(stop);
@ -156,7 +156,7 @@ function unrefElement(elRef) {
const plain = resolveUnref(elRef); const plain = resolveUnref(elRef);
return (_a2 = plain == null ? void 0 : plain.$el) != null ? _a2 : plain; return (_a2 = plain == null ? void 0 : plain.$el) != null ? _a2 : plain;
} }
const defaultWindow = isClient ? window : void 0; const defaultWindow = isClient$1 ? window : void 0;
function useEventListener(...args) { function useEventListener(...args) {
let target; let target;
let event; let event;
@ -561,4 +561,9 @@ function useWindowSize(options = {}) {
useEventListener("orientationchange", update, { passive: true }); useEventListener("orientationchange", update, { passive: true });
return { width, height }; return { width, height };
} }
export { TransitionPresets as T, useResizeObserver as a, useThrottleFn as b, useEventListener as c, useEyeDropper as d, useTransition as e, useMousePressed as f, isObject as i, onClickOutside as o, reactiveOmit as r, templateRef as t, useWindowSize as u }; var _a;
const isClient = typeof window !== "undefined";
const toString = Object.prototype.toString;
const isObject = (val) => toString.call(val) === "[object Object]";
isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && /iP(ad|hone|od)/.test(window.navigator.userAgent);
export { TransitionPresets as T, useResizeObserver as a, useThrottleFn as b, useEventListener as c, useEyeDropper as d, useTransition as e, useMousePressed as f, isObject as g, isObject$1 as i, onClickOutside as o, reactiveOmit as r, templateRef as t, useWindowSize as u };

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1510,7 +1510,7 @@ const _sfc_main = defineComponent({
const soultop = ref(0); const soultop = ref(0);
const soulleft = ref(0); const soulleft = ref(0);
const selcolumn = ref({}); const selcolumn = ref({});
const soulkey = ref(""); const soulkey = ref();
const sxlist = ref({}); const sxlist = ref({});
function showsoul(event, column, key) { function showsoul(event, column, key) {
console.log(event); console.log(event);

View File

@ -1,7 +1,7 @@
import { w as withInstall } from "../badge/index2.js"; import { w as withInstall } from "../badge/index2.js";
import { defineComponent, ref, computed, watch, openBlock, createElementBlock, createElementVNode, normalizeClass, unref, createVNode, createCommentVNode, toDisplayString } from "vue"; import { defineComponent, ref, computed, watch, openBlock, createElementBlock, createElementVNode, normalizeClass, unref, createVNode, createCommentVNode, toDisplayString } from "vue";
import { _ as _sfc_main$2W } from "../_chunks/@layui/index.js"; import { _ as _sfc_main$2W } from "../_chunks/@layui/index.js";
import { i as isObject } from "../_chunks/@vueuse/index.js"; import { g as isObject } from "../_chunks/@vueuse/index.js";
var index = /* @__PURE__ */ (() => ":root{--textarea-border-radius: var(--global-border-radius);--textarea-border-color: var(--global-neutral-color-3)}.layui-textarea{border-width:1px;border-style:solid;background-color:#fff;color:#000000d9;border-radius:var(--textarea-border-radius);border-color:var(--textarea-border-color);display:block;width:100%;height:auto;line-height:20px;min-height:100px;padding:6px 10px;resize:vertical;position:relative;transition:none;-webkit-transition:none}.layui-textarea-wrapper{position:relative}.layui-textarea:hover,.layui-textarea:focus{border-color:#d2d2d2!important}.layui-textarea-clear{position:absolute;color:#00000073;right:10px;top:10px}.layui-textarea::-webkit-input-placeholder{line-height:1.3}.layui-texterea-count{color:inherit;white-space:nowrap;pointer-events:none;text-align:right;margin-top:4px}.layui-textarea-disabled{cursor:not-allowed!important;opacity:.6}\n")(); var index = /* @__PURE__ */ (() => ":root{--textarea-border-radius: var(--global-border-radius);--textarea-border-color: var(--global-neutral-color-3)}.layui-textarea{border-width:1px;border-style:solid;background-color:#fff;color:#000000d9;border-radius:var(--textarea-border-radius);border-color:var(--textarea-border-color);display:block;width:100%;height:auto;line-height:20px;min-height:100px;padding:6px 10px;resize:vertical;position:relative;transition:none;-webkit-transition:none}.layui-textarea-wrapper{position:relative}.layui-textarea:hover,.layui-textarea:focus{border-color:#d2d2d2!important}.layui-textarea-clear{position:absolute;color:#00000073;right:10px;top:10px}.layui-textarea::-webkit-input-placeholder{line-height:1.3}.layui-texterea-count{color:inherit;white-space:nowrap;pointer-events:none;text-align:right;margin-top:4px}.layui-textarea-disabled{cursor:not-allowed!important;opacity:.6}\n")();
const _hoisted_1 = { class: "layui-textarea-wrapper" }; const _hoisted_1 = { class: "layui-textarea-wrapper" };
const _hoisted_2 = ["value", "placeholder", "name", "disabled", "maxlength"]; const _hoisted_2 = ["value", "placeholder", "name", "disabled", "maxlength"];

File diff suppressed because one or more lines are too long

2611
es/upload/index2.js Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -36,7 +36,7 @@
"dependencies": { "dependencies": {
"@ctrl/tinycolor": "^3.4.1", "@ctrl/tinycolor": "^3.4.1",
"@layui/icons-vue": "^1.0.9", "@layui/icons-vue": "^1.0.9",
"@layui/layer-vue": "git+https://git.theluyuan.com/luyuan/layui-layer.git", "@layui/layer-vue": "file:../layer",
"@layui/layui-vue": "file:", "@layui/layui-vue": "file:",
"@umijs/ssr-darkreader": "^4.9.45", "@umijs/ssr-darkreader": "^4.9.45",
"@vueuse/core": "^9.2.0", "@vueuse/core": "^9.2.0",

View File

@ -826,7 +826,7 @@ const soulstatus = ref(false);
const soultop = ref(0); const soultop = ref(0);
const soulleft = ref(0); const soulleft = ref(0);
const selcolumn = ref<any>({}); const selcolumn = ref<any>({});
const soulkey = ref(""); const soulkey = ref<string>();
const sxlist: any = ref({}); const sxlist: any = ref({});
function showsoul(event: MouseEvent, column: any, key: string) { function showsoul(event: MouseEvent, column: any, key: string) {
console.log(event); console.log(event);

File diff suppressed because one or more lines are too long