智能图库模块-图片功能扩展分享和批量处理功能
今天实现了图片的分享功能和批量处理功能。对于图片分享功能,本项目采用了纯前端实现,即通过一个弹窗让用户选择是复制图片链接分享还是二维码分享,antd组件库中有弹窗组件和二维码组件,不需要自行实现,考虑到这个弹窗可能会在其他页面也用到,因此也是把它单独写成一个组件ShareModal,由父组件传入图片的title和链接:
▼vue复制代码<template> <div> <a-modal v-model:open="visible" :title="title" :footer="false" @cancel="closeModal"> <h4>复制分享链接</h4> <a-typography-link copyable> {{ link }} </a-typography-link> <div style="margin-bottom: 16px" /> <h4>手机扫码查看</h4> <a-qrcode :value="link" /> </a-modal> </div> </template> <script lang="ts" setup> import { ref } from 'vue'; interface Props { title: string; link: string; } const props = withDefaults(defineProps<Props>(),{ title: '分享图片', link: 'https://xxx' }) const visible = ref<boolean>(false); const openModal = () => { visible.value = true; }; const closeModal = () => { visible.value = false; }; //暴露函数给父组件 defineExpose({ openModal }) </script>
因为要在父页面中打开该弹窗,因此需要把openModal方法暴露给父组件使其可以打开弹窗,在父组件引用该组件:<ShareModal ref="shareModalRef" :link="shareLink" />,这里给子组件注册了一个引用shareModalRef,通过这个引用可以直接访问这个 DOM 元素或组件实例,给分享按钮写一个点击事件:
▼ts复制代码const shareModalRef = ref() const shareLink = ref<string>() const doShare = () => { shareLink.value = `${window.location.protocol}//${window.location.host}/picture/${picture.value.id}` if (shareModalRef.value) { shareModalRef.value.openModal() } }
对于批量处理功能,本项目选择的是对当前页面的图片进行批量处理,相较于通过自行点击选择图片实现起来会比较简单,mybatisPlus中有一个updateBatchById方法可以进行批量更新,不需要通过for循环一次次发数据请求给数据库来进行更新。本项目目前由于图片较少实现较为简单,不需要用到线程池来实现,如果一次性需要修改一千条或者更多数据,则可以通过线程池开线程,每个线程处理一定数量图片来实现。
评论
问答助学
相关内容
0个评论
全部评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
内容推荐
学习完智能协同云图库项目后,想改造成springcloudalibaba架构的微服务项目,微服务划分如下:依赖服务:- 注册中心与配置中心: Nacos(负责服务注册发现以及各服务的动态配置管理)- 微服务网关(yunpic-backend-gateway): Gateway 聚合所有接口,统一接收处理前端请求,负责路由转发、鉴权与限流公共模块:- common 公共模块(yunpic-backe
4
云图库-以图搜图失效解决
7
个人博客
4
我在做云图库项目到部署上线阶段时,前后端已经成功部署到宝塔云上,我也能成功通过我的域名正常访问云图库,注册新账户也是注册成功且远程数据库也有信息,但是用已有的账号登录总是显示系统错误。我看了下我的redis密码正确且服务是正常运行请问有人遇到过同样的问题吗?
3
智能协同云图库-进入编辑报错解决
4
作者分享
做了一个月的小程序,终于准备到即将交付的时候了,这段时间里可真是被微信小程序的各种限制折磨的不要不要的,突出一个为难开发者,有几次改代码改到了两点多才改完!小程序的后端技术栈和鱼皮的智能Bi项目采用了差不多的技术栈,通过注解+aop来对接口进行令牌桶限流,用rabbitmq来缓解调用Ai服务的压力,异步生成报告,对于订单采用了自定义线程池结合async+scheduled注解实现定时任务的异步执行,每分钟遍历删除库中的订单,还有些功能等真正交付后再做下总结。唉,不知道这个项目再加上智能图库项目能不能让我这种0相关工作经验的双非往届生有面试机会和找到工作呢,不想再次尝试付出与回报不成正比的滋味了😭😭
8
今天收到了甲方的第一笔付款💰,没想到毕业一年半居然能用自己专业技能接个活赚了点外快,还是有点小高兴的。
这两天的学习状态不太行,我好像总会在经历了持续一段时间的学习后会有两三天学不进的状态🤧,不知道大伙会不会有这种状态,虽然我很想克服这种状态,但心里就好像有东西堵在那影响着学不进去(不知道是不是焦虑),希望明天能恢复状态吧。
转眼到了3月份,接的活的时间也剩下半个月了,下半部分就要开发调用Ai接口的代码和微信支付(感觉好像挺麻烦?)的代码了,同时也需要开始准备看面试题了,想问下各位是怎么使用面试鸭来高效刷题的呢,这两天(可能跟我的状态有关)看面试题总是有种似记住但又没全记住的感觉,上次背八股还是22年秋招的时候,对于一些知识可能还有记得一些,但由于我是0开发经验社招,不知道重点要看哪些好,希望各位大佬能给小弟一点建议🙏
4
这几天没有打卡,不是摆烂了,而是前几天有个朋友推了个活给我问我说做不做,是做一个微信小程序,并且需要调用Ai的接口,他因为工作太忙没有空接这个活,而我本来正在学习Bi项目,打算学完之后写简历刷面试题投简历,所以一开始还在犹豫,觉得自己23届毕业,虽说大学自学了几年Java,但是0相关工作经验,有点没底气,不过后来我拉到了另一个同学来帮忙,那个同学在大厂实习过,有过企业开发的经验,他也乐意加入一起做项目,于是最后便接下了这个活(主要是有钱可以拿)。由于自己是前端苦手,所以也是一边问Ai一边改页面的布局,改到今天觉得差不多了,甲方也觉得ok,后面就准备和同学一起写后端的接口了,在这几天也对着项目需求跟同学讨论了许多功能和结构上的设计,也算是一种积累经验的过程了,希望这一个月的工期内能把项目做好上线,最好是能写到简历上吧,孩子真的很想要一份工作!!这一个月干的活希望不要是白忙活,不然我真的要道心破碎了😭😭😭
7
智能Bi项目-限流优化
7
智能BI项目-调用硅基流动的DeepSeek
19
