{"version":3,"file":"grid-item-7GYFXiVS.js","sources":["../../../../global-common/dist/lib/composables/useSearch.js","../../../src/components/public/d-no-result/d-no-result.vue","../../../src/components/search/search-recommend/search-recommend.vue","../../../../global-common/apis/img-clippng/searchImg/searchByText/list.ts","../../../src/structure/GridItemList.ts","../../../src/stores/page/useStoreSearch.ts","../../../../bbw-masonry2/dist/index.js","../../../../global-common/apis/img-clippng/user/img/like-add.ts","../../../../global-common/apis/img-clippng/user/img/like-cancel.ts","../../../../global-common/apis/img-clippng/user/img/like-state.ts","../../../src/components/grid-item/grid-item.vue"],"sourcesContent":["import { reactive as h, ref as s } from \"vue\";\nconst P = () => {\n const t = h([]), i = (e) => {\n t.length = 0, t.push(...e);\n }, p = (e) => {\n t.push(...e);\n }, n = s(!1), g = (e) => {\n n.value = e;\n }, c = h([]), S = (e) => {\n c.push(e);\n }, d = () => {\n c.forEach((e) => {\n e.cancel();\n }), c.splice(0, c.length);\n }, a = s(1), m = (e) => {\n a.value = e;\n }, o = s(1), v = (e) => {\n o.value = e;\n }, r = s(20), f = (e) => {\n r.value = e;\n }, l = s(!1), E = (e) => {\n l.value = e;\n }, u = s(!1);\n return {\n items: t,\n setItems: i,\n addItems: p,\n isLoading: n,\n setIsLoading: g,\n addCancelToken: S,\n clearCancelTokens: d,\n pageNumber: a,\n setPageNumber: m,\n pageStep: o,\n setPageStep: v,\n pageSize: r,\n setPageSize: f,\n isSearchError: l,\n setIsSearchError: E,\n isSearchEnd: u,\n setIsSearchEnd: (e) => {\n u.value = e;\n }\n };\n};\nexport {\n P as useSearch\n};\n//# sourceMappingURL=useSearch.js.map\n","\n\n\n\n\n","\n\n\n","import {$axios, GcResponse} from \"../../../helper\";\nimport {ServerClippngImg} from \"../../../../lib/constants/server\";\n\nexport type TSearchImgByText= {\n text: string,\n p: number,\n size: number\n}\n\nexport type ISearchImgModule = {\n id: number,\n img_name: string,\n artificial_label: string,\n img_url: string,\n origin_type: number,\n img_width: number,\n img_height: number,\n img_format: string,\n copyright_id: number\n}\n/** 拿搜索页瀑布流的列表\n * @see http://doc.bigbigwork.com/docs/hw/7948\n */\nexport default function fetchSearchImgList(\n params: TSearchImgByText\n) {\n return $axios> ({\n url: `${ServerClippngImg}/searchImg/searchByText`,\n method: 'POST',\n params\n })\n}\n","import {resizeWaterFallItem} from \"@helpers/util.ts\"\nexport class GridItemList {\n public id: number;\n public url: string;\n public width: number;\n public height: number;\n // 图片真实宽度\n public real_width: number;\n // 图片真实高度\n public real_height: number;\n // 显示宽度\n public dw: number;\n // 显示高\n public dh: number;\n // 是否喜爱\n public flag_like: number;\n // 图片类型\n public origin_type: number;\n public format: string;\n /** 网站版权信息 */\n public copyright_id: number;\n public artificial_label: string;\n public desc: string;\n [name:string]: any\n /**\n * 初始化\n * @param options\n */\n constructor( options:any = {} ) {\n this.id = options.id ?? 0;\n this.url = options.img_url ?? options.url ?? ``;\n this.width = options.width ?? options.img_width ?? 340;\n this.height = options.height ?? options.img_height ?? 340;\n this.real_width = options.real_width ?? this.width ?? 340 ;\n this.real_height = options.real_height ?? this.height ?? 340 ;\n this.origin_type = options.origin_type ?? 0;\n this.flag_like = options.flag_like ?? 0;\n this.format = options.format ?? `png`;\n this.copyright_id = options.copyright_id ?? 0;\n this.artificial_label = options.artificial_label ?? ``;\n this.desc = options.desc ?? options.img_name ?? ``;\n }\n\n // 计算瀑布流高度\n public resize ( width:number = 320, maxHeight:number = width * 3, minHeight:number = width) {\n const { dw, dh, overflow } = resizeWaterFallItem ( this, width, maxHeight, minHeight );\n this.dw = dw ;\n this.dh = dh ;\n // this.overflow = overflow;\n }\n\n public toJson () {\n return {\n id: this.id,\n url: this.url,\n flag_like: this.flag_like,\n width: this.width,\n height: this.height,\n desc: this.desc,\n dw: this.dw,\n dh: this.dh,\n origin_type: this.origin_type,\n copyright_id: this.copyright_id,\n artificial_label: this.artificial_label\n }\n }\n}\n","import { defineStore } from 'pinia'\nimport { ref } from 'vue'\nimport fetchSearchImgList, {\n ISearchImgModule,\n TSearchImgByText\n} from \"global-common/apis/img-clippng/searchImg/searchByText/list.ts\";\nimport {GridItemList} from \"../../structure/GridItemList.ts\"\nimport { useSearch, waitLogin, waitUserReady } from \"global-common\"\nimport {statSearch} from \"@helpers/stats.ts\";\n\n\nexport const usePageSearchStore = defineStore ( `PageSearch`, () => {\n\n let searchData = useSearch();\n const searchWord = ref(``);\n\n const statSearchFn = async ( params ) => {\n await waitUserReady();\n await statSearch ( params );\n }\n\n const fetchData = async (\n params: TSearchImgByText,\n opts?: { force?:boolean }\n ) => {\n const { force = false } = opts || {};\n if( searchData.isLoading.value && !force ) return;\n searchData.setIsLoading(true);\n searchData.setPageSize(50)\n searchWord.value = params.text;\n params.p = searchData.pageNumber.value;\n params.size = searchData.pageSize.value;\n console.log(searchData.isLoading.value, 'loading')\n const [err, res] = await fetchSearchImgList( params );\n if ( err ) {\n searchData.setIsSearchEnd ( true )\n searchData.setIsSearchError ( true )\n searchData.setIsLoading ( false )\n }\n const data = res.data as ISearchImgModule[];\n console.log(data, '瀑布流接口')\n if ( !data.length ) {\n searchData.setIsSearchEnd ( true )\n } else {\n const result = data.map((item)=> {\n const list = new GridItemList(item);\n list.resize();\n return list;\n })\n console.log(result, 'result');\n searchData.addItems(result);\n statSearchFn ( params );\n }\n searchData.setPageNumber( searchData.pageNumber.value + searchData.pageStep.value );\n searchData.setIsLoading(false);\n }\n return {\n ...searchData, searchWord, fetchData, statSearch\n }\n})\n","import { defineComponent as _, onMounted as k, onActivated as z, nextTick as I, onDeactivated as A, onUnmounted as F, reactive as T, ref as C, computed as N, watch as w, openBlock as M, createElementBlock as H, normalizeClass as S, normalizeStyle as L, Fragment as j, renderList as G, renderSlot as b, createElementVNode as $ } from \"vue\";\nconst tt = (n, e) => {\n let t = !1;\n return t = n.gridWidth === e.gridWidth, t = n.gapX === e.gapX, t = Y(n) === Y(e), t;\n}, U = () => ({\n masonryWidth: 0,\n gridWidth: 320,\n gapX: 15,\n gapY: 15\n}), B = (n, e, t) => {\n const a = t.map((r, s) => {\n const o = P(n, e, r, s);\n return e = o.colHeight, o.rendererItem;\n });\n return { colHeight: e, rendererItems: a };\n}, P = (n, e, t, a) => {\n const r = (t.w || t.dw || 1) / (t.h || t.dh || 1), s = t.dw || n.gridWidth, o = t.dh || n.gridWidth / r;\n if (e.length) {\n const c = J(e), h = c.findIndex * (n.gridWidth + n.gapX), y = e[c.findIndex], m = n.gridWidth, u = n.gridWidth / s * o;\n e[c.findIndex] = y + u + n.gapY;\n let p;\n return n.unit === \"px\" ? p = {\n x: Math.round(h),\n y: Math.round(y),\n width: Math.round(m),\n height: Math.round(u),\n free: !1,\n order: a,\n data: t\n } : p = { x: h, y, width: m, height: u, order: a, data: t, free: !1 }, { colHeight: e, rendererItem: p };\n } else\n return {\n colHeight: [],\n rendererItem: {\n x: 0,\n y: -1e5,\n free: !0,\n order: a,\n width: n.unit === \"px\" ? Math.round(n.gridWidth) : n.gridWidth,\n height: n.unit === \"px\" ? Math.round(n.gridWidth / s * o) : n.gridWidth / s * o,\n data: t\n }\n };\n}, Y = (n) => n.unit === \"px\" ? Math.floor((n.masonryWidth + n.gapX) / (n.gridWidth + n.gapX)) : Math.floor((Math.ceil(n.masonryWidth) + n.gapX) / (n.gridWidth + n.gapX)), q = (n) => {\n let e, t;\n return n.forEach((a, r, s) => {\n e === void 0 && (e = a), t === void 0 && (t = r), a > e && (e = a, t = r);\n }), e = e || 0, { height: e, findIndex: t };\n}, J = (n) => {\n let e, t;\n return n.forEach((a, r, s) => {\n e === void 0 && (e = a), t === void 0 && (t = r), a < e && (e = a, t = r);\n }), e = e || 0, { height: e, findIndex: t };\n}, K = (n, e, t = 0) => {\n const a = e.y, r = e.y + e.height, s = e.x, o = e.x + e.width, c = n.y - t, h = n.y + n.height + t, y = n.x, m = n.x + n.width;\n return r >= c && a <= h && o >= y && s <= m;\n}, v = (n) => {\n const e = Y(n);\n return e ? new Array(e).fill(0) : [];\n}, Q = (n, e) => {\n const t = n.map((o, c) => ({ index: c, isFree: !0 })), a = [].concat(n), r = [];\n for (let o = 0; o < e.length; o++) {\n let c = !0;\n for (let h = 0; h < n.length; h++)\n if (e[o].data == n[h].data) {\n t[h].isFree = !1, a[h] = e[o], c = !1;\n break;\n }\n c && r.push(e[o]);\n }\n const s = t.filter((o) => o.isFree);\n return r.forEach((o) => {\n if (s.length <= 0)\n a.push(o);\n else {\n const c = s.pop();\n c && (a[c.index] = o);\n }\n }), s.forEach((o) => {\n const c = a[o.index];\n c.y = -1e4, c.free = !0;\n }), a;\n}, Z = (n) => {\n let e = Object.assign({}, U(), n), t = v(e), a = [], r = [];\n return {\n getColumHeight: () => t,\n getMaxHeight: () => q(t).height,\n getItems: () => a,\n clear: () => {\n a = [], r = [], t = v(e);\n },\n renderer: (s) => {\n try {\n t = v(e), a = s;\n const o = B(e, t, a);\n return r = o.rendererItems, t = o.colHeight, r;\n } catch (o) {\n throw o;\n }\n },\n redraw: (s = !1) => {\n if (s) {\n t = v(e);\n const o = B(e, t, a), c = o.rendererItems;\n return t = o.colHeight, c;\n } else\n return r;\n },\n setOptions: (s) => {\n e = Object.assign(e, s);\n },\n getOptions: () => Object.assign({}, e)\n };\n}, et = /* @__PURE__ */ _({\n name: \"vMasonry2\",\n __name: \"masonry\",\n props: {\n items: { default: () => [] },\n server: { type: Boolean, default: !1 },\n displayDistance: { default: 200 },\n loadDistance: { default: 200 },\n gapX: { default: 18 },\n gapY: { default: 18 },\n gridWidth: { default: 250 },\n masonryWidth: { default: \"auto\" },\n minScrollActionDistance: { default: 10 },\n wrapperElement: { default: null },\n refreshID: { default: 0 },\n scrollY: { default: void 0 },\n unit: { default: \"px\" },\n clipBottom: { default: 0 }\n },\n setup(n, { emit: e }) {\n const t = n, a = e;\n k(() => {\n s = t.wrapperElement || window, E();\n }), z(async () => {\n E(), await I(), g();\n }), A(() => {\n X();\n }), F(() => {\n X();\n });\n const r = T({\n viewRect: {\n x: 0,\n y: 0,\n width: 0,\n height: 0\n },\n maxHeight: 0,\n masonry: Z({ ...t, masonryWidth: 0 }),\n prevDisplay: [],\n active: !1,\n lastScrollTop: 0,\n displayItems: []\n });\n let s = null;\n const o = C(null), c = N(() => {\n const i = Math.max(r.maxHeight - t.clipBottom, 0), l = {};\n return l.minHeight = i + t.unit, l.position = \"relative\", t.clipBottom && (l.overflow = \"hidden\"), l;\n }), h = (i = !1) => {\n const l = T(r.masonry.renderer(t.items));\n if (t.server) {\n r.displayItems = l;\n return;\n }\n const d = l.filter((f) => K(r.viewRect, f, t.displayDistance), this);\n if (i)\n r.displayItems = d;\n else {\n const f = Q(r.prevDisplay, d);\n r.prevDisplay = f, r.displayItems = f;\n }\n r.maxHeight = r.masonry.getMaxHeight();\n }, y = (i) => t.items.findIndex((l) => i.data === l) + 1, m = (i) => t.server ? {\n width: i.width + t.unit,\n height: i.height + t.unit\n } : {\n left: i.x + t.unit,\n top: i.y + t.unit,\n width: i.width + t.unit,\n height: i.height + t.unit\n }, u = (i) => {\n switch (t.unit) {\n case \"vw\":\n const l = window.innerWidth / 100;\n return i / l;\n case \"vh\":\n const d = window.innerHeight / 100;\n return i / d;\n // 默认为px,不做处理\n default:\n return i;\n }\n }, p = (i) => {\n let l;\n if (typeof t.scrollY > \"u\") {\n let d;\n s === window ? d = window.scrollY : s === window.document.body ? d = s.scrollTop || window.document.documentElement.scrollTop : d = (s == null ? void 0 : s.scrollTop) || (s == null ? void 0 : s.scrollY);\n let f = u(d);\n if (Math.abs(f - r.lastScrollTop) < t.minScrollActionDistance)\n return;\n r.lastScrollTop = f, a(\"scroll\", i), g();\n const W = u(window ? window.innerHeight : s == null ? void 0 : s.clientHeight);\n l = u(r.masonry.getMaxHeight() - (r.viewRect.y + W));\n } else {\n const d = t.scrollY;\n if (Math.abs(d - r.lastScrollTop) < t.minScrollActionDistance)\n return;\n r.lastScrollTop = d, a(\"scroll\", { scrollY: t.scrollY }), g();\n const f = u(window.innerHeight);\n l = u(r.masonry.getMaxHeight() - (r.viewRect.y + f));\n }\n l < t.loadDistance && a(\"loadEnd\", l);\n }, x = (i) => {\n a(\"resize\", i), r.maxHeight = r.masonry.getMaxHeight(), g();\n }, D = (i = \"auto\") => u(\n i === \"auto\" ? o.value.clientWidth || o.value.offsetWidth : i\n ), g = () => {\n let i;\n const l = o.value.getBoundingClientRect();\n i = {\n x: 0,\n y: u(-l.top),\n width: D(t.masonryWidth),\n height: u(window.innerHeight)\n }, r.viewRect.height = i.height, r.viewRect.width = i.width, r.viewRect.x = i.x, r.viewRect.y = i.y, r.maxHeight = r.masonry.getMaxHeight(), r.masonry.setOptions({ masonryWidth: r.viewRect.width }), h();\n }, E = async () => {\n console.log(\"瀑布流进入\"), !r.active && (r.active = !0, await I(), x(), typeof t.scrollY > \"u\" && s.addEventListener(\"scroll\", p), window.addEventListener(\"resize\", x), g());\n }, X = () => {\n r.active && (r.active = !1, typeof t.scrollY > \"u\" && s.removeEventListener(\"scroll\", p), window.removeEventListener(\"resize\", x));\n };\n return w([\n () => t.gapX,\n () => t.gapY,\n () => t.gridWidth,\n () => t.masonryWidth,\n () => t.refreshID\n ], (i, l) => {\n const [d, f, W, O] = i, R = D(O);\n r.masonry.setOptions({\n gapX: d,\n gapY: f,\n gridWidth: W,\n masonryWidth: R\n }), g();\n }), w(() => t.items, (i, l) => {\n i[0] !== l[0] ? h(!0) : h();\n }, { deep: !0 }), w(() => t.scrollY, () => {\n p();\n }), w(() => t.wrapperElement, async (i, l) => {\n i !== l && (l && (l == null || l.removeEventListener(\"scroll\", p)), s = i || window, typeof t.scrollY > \"u\" && s.addEventListener(\"scroll\", p), await I(), p());\n }), h(), (i, l) => (M(), H(\"div\", {\n class: S([\"masonry\", i.server ? \"static\" : \"\"]),\n ref_key: \"container\",\n ref: o,\n style: L(c.value)\n }, [\n (M(!0), H(j, null, G(r.displayItems, (d, f) => (M(), H(\"div\", {\n style: L(m(d)),\n key: d.data.id || d.data.uuid,\n class: S([\n \"cell\",\n `cell-${f}`,\n d.free && \"free\",\n i.server ? \"static\" : \"\"\n ])\n }, [\n b(i.$slots, \"default\", {\n item: d,\n itemIndex: y(d),\n state: i.server ? \"static\" : \"\"\n })\n ], 6))), 128)),\n $(\"div\", null, [\n b(i.$slots, \"fastFav\")\n ])\n ], 6));\n }\n});\nexport {\n q as _findHeightestCol,\n J as _findLowestCol,\n Y as calColumn,\n Z as createMasonry,\n tt as isDirty,\n K as isItemNeedDraw,\n Q as rendererDiff,\n v as resetColHeight,\n et as vMasonry\n};\n//# sourceMappingURL=index.js.map\n","import {$axios, GcResponse} from \"../../../helper.ts\";\nimport {ServerClippngImg} from \"../../../../lib/constants/server\";\n\nexport type LinkAdd = {\n img_id: number,\n token: string\n}\n/** 用户喜爱接口\n * @see http://doc.bigbigwork.com/docs/hw/7956\n */\nexport default function UserImgLikeAdd(\n params: LinkAdd\n){\n return $axios>({\n url: `${ServerClippngImg}/user/img/like/add`,\n method: `GET`,\n params\n })\n}\n","import {$axios, GcResponse} from \"../../../helper.ts\";\nimport {ServerClippngImg} from \"../../../../lib/constants/server\";\n\nexport type LinkCancel = {\n img_id: number,\n token: string\n}\n/** 用户取消喜爱接口\n * @see http://doc.bigbigwork.com/docs/hw/7987\n */\nexport default function UserImgLikeCancel(\n params: LinkCancel\n){\n return $axios>({\n url: `${ServerClippngImg}/user/img/like/cancel`,\n method: `DELETE`,\n params\n })\n}\n","import {$axios, GcResponse} from \"../../../helper.ts\"\nimport {ServerClippngImg} from \"../../../../lib/constants/server\";\nimport {IIndexModule} from \"../../home/title/list.ts\";\n\nexport default function likeState(params: {img_id: number, token: string}) {\n const {img_id, token} = params\n return $axios>({\n url: `${ServerClippngImg}/user/img/like/state`,\n method: \"GET\",\n headers: {\n token\n },\n params:{\n img_id\n }\n })\n}\n","\n\n\n\n"],"names":["P","t","h","i","e","p","n","s","g","c","S","d","a","m","o","v","r","f","l","E","u","_sfc_main$2","defineComponent","_sfc_render","_ctx","_cache","$setup","$data","$options","_normalizeClass","_createElementVNode","proxy","getCurrentInstance","props","__props","showLeft","ref","showRight","useRouter","onMounted","animate","el","scrollAni","val","startX","distance","fetchSearchImgList","params","$axios","ServerClippngImg","GridItemList","options","__publicField","width","maxHeight","minHeight","dw","dh","overflow","resizeWaterFallItem","usePageSearchStore","defineStore","searchData","useSearch","searchWord","statSearchFn","waitUserReady","statSearch","opts","force","err","res","data","result","item","list","U","B","J","y","Y","q","K","Q","Z","et","_","k","z","I","A","X","F","T","C","N","W","x","D","w","O","R","M","H","L","j","G","b","$","UserImgLikeAdd","UserImgLikeCancel","likeState","img_id","token","subtractionDownloadCount","useStoreDownload","router","route","useRoute","isLoading","artificial_label","computed","getUrl","url","style","emptyImg","getLinkState","getToken","useStoreUserInfo","flag_like","statClick","search_word","prams","statImgHits","handleLove","showLoginModel","toDownload","id","download","handleSearch","word","index","searchKeyword","handleToDetail","desc","processImageDescription"],"mappings":"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"}