当前位置: 首页 > news >正文

有了网站源码怎么建站网站首页html代码

有了网站源码怎么建站,网站首页html代码,网站制作要用哪些软件有哪些,网站首页建设网一#xff1a; 删除垃圾图片 思路#xff1a; 获取 oss 中存储的所有图片文件#xff1b;获取数据库中存储的图片文件数据#xff1b;对比差异#xff0c;不在数据库中的 oss 图片文件即为要删除的垃圾图片。 实现#xff1a; 1、获取所有 oss 文件 import OSS from…一 删除垃圾图片 思路 获取 oss 中存储的所有图片文件获取数据库中存储的图片文件数据对比差异不在数据库中的 oss 图片文件即为要删除的垃圾图片。 实现 1、获取所有 oss 文件 import OSS from ali-oss import prisma from /services/indeximport config from /config const { aliAccessKey, aliAccessKeySecret, ossBucketName, ossRegion } configimport TaskOssScheduler from ./scheduleconst client new OSS({region: ossRegion,accessKeyId: aliAccessKey,accessKeySecret: aliAccessKeySecret,bucket: ossBucketName })/*** description 获取 oss 下的图片* param other * returns */ export const getAllImgFromOss: any async (other: any {}) {try {let continuationToken null;let imgArray: string[] []// 每页列举1000个文件。const maxKeys 5;do {const result: any await client.listV2({delimiter: /,prefix: web/,start-after: web/, // web/ 目录之后的文件continuation-token: continuationToken,max-keys: maxKeys,...other}, {});continuationToken result.nextContinuationToken;const { objects [] } resultfor (let i 0; i objects.length; i) {imgArray.push(objects[i].name);}console.log(result);} while (continuationToken)return {list: imgArray,count: imgArray.length || 0,}} catch (error) {console.log(error);return []} }2、获取所有数据存储的图片数据 /*** 从数据库中获取图片*/ export const getAllImgFromModel async () {try {let dataBaseImgs: any []// todo 未来查询多表const imgList await prisma.applySitter.findMany({select: {idCardFrontUrl: true,idCardBackUrl: true,groomerImgUrl: true,manAndPetPhotoUrl: true,}})// 平铺返回值并替换路径域名部分imgList.map(item {const items Object.values(item).map(itemMap itemMap?.replace(https://xxxx.com/, ))dataBaseImgs.push(...items)})console.log(dataBaseImgs);return dataBaseImgs} catch (error) {return []} }// 删除 oss 图片 export const delOssImgs async (imgArr: string[]) {try {const result await client.deleteMulti(imgArr, { quiet: true });return result} catch (error) {throw error} }3、对比差异找到要删除的图片 // 删除 oss 垃圾图片 export const delOssBadImgs async () {try {// 获取 oss 文件列表// todo 暂时只获取 web 目录下图片// 1. oss 图片const ossResult await getAllImgFromOss() || {}// 2. 存储到数据库图片const dataBaseResult await getAllImgFromModel() || []// 3. 对比差异const badImgArr: string[] []ossResult.list.forEach((arrItem: string) {if (arrItem !dataBaseResult.includes(arrItem)) {badImgArr.push(arrItem)}})// 4. 删除指定图片const delRes await delOssImgs(badImgArr)// console.log(---badImg);// console.log(badImgArr);if (delRes?.res.status 200) {console.log(删除 oss 垃圾图片成功)} else {console.log(删除 oss 垃圾图片失败)}} catch (error) {} }二 创建定时任务 1、安装依赖包 npm i node-schedule types/node-schedule -S node-schedule 为创建定时任务第三方库 2、创建定时任务基类文件 taskOssScheduler.ts import schedule from node-schedule import dayjs from dayjs import type { Job, JobCallback } from node-schedule;// 定时任务基类 export default class TaskOssScheduler {cronExpression: string;task: JobCallback;job: Job | null;constructor(cronExpression: string, task: any) {this.cronExpression cronExpressionthis.task taskthis.job null}// 启动任务start() {// 如果当前没有正在运行的任务则创建新的任务if (!this.job) {this.job schedule.scheduleJob(this.cronExpression, this.task);console.log(定时任务启动 ${this.cronExpression});console.log(dayjs().format(YYYYMMDD-HH:mm:ss));} else {this.stop()}}// 停止任务stop() {// 如果当前有正在运行的任务则取消任务并将 job 设为 nullif (this.job) {this.job.cancel();console.log(定时任务停止 ${this.cronExpression});console.log(dayjs().format(YYYYMMDD-HH:mm:ss));this.job null;}} }3、定义工具函数 // 每天的凌晨 2 点进行删除 // 入参任务开始时间及回调函数 export const DelOssImgTask new TaskOssScheduler(0 0 2 * * *, delOssBadImgs)4、定义 express 路由通过访问路由开启和关闭定时任务 ossController startDelOssImgTask: async (req: Request, res: Response) {try {// 开启定时删除 oss 垃圾图片任务DelOssImgTask.start()res.send(ComResult.success(定时任务开启))} catch (error) {throw error}},stopDelOssImgTask: async (req: Request, res: Response) {try {// 关闭定时删除 oss 垃圾图片任务DelOssImgTask.stop()res.send(ComResult.success(定时任务关闭))} catch (error) {throw error}}ossRoutes ossRoutes.post(/startDelOssImgTask, ossController.startDelOssImgTask) ossRoutes.post(/stopDelOssImgTask, ossController.stopDelOssImgTask)三、测试 oss 删除结果
http://www.zqtcl.cn/news/451912/

相关文章:

  • 长沙做网站的公司有哪些宁波奉化建设局网站
  • 温岭专业自适应网站建设承德招聘信息网
  • 做公司网站的模板下载wordpress e
  • 网站建设基本知识wordpress 没有小工具
  • 北京完美建设有限公司网站酒店加盟
  • 山东网络推广网站德州市建设局质监站网站
  • api模式网站开发网站打开后显示建设中
  • 排名好的郑州网站建设免费营销培训
  • 美橙互联网站网站主要应用
  • 淘宝客网站做appuv推广平台
  • 网站公司可以做英文网吗图片加字制作免费
  • 海口个人建站模板精品课程云网站建设
  • 阿里网站空间莱芜新闻视频回放
  • 高清网站建设的好处wordpress 房产模板
  • 在建工程查询网站怎么自己开发网站
  • 旧电脑怎么做网站如何自己弄个免费网站
  • 聊城网站营销WordPress工作发布
  • 建造网站需要什么汽车网站建设
  • 网站建设app郑州发布评论
  • 福州网站制作建设网页设计图片是怎么显示的
  • 天津通用网站建设收费网站建设怎么在png上写文字
  • 浏阳做网站报价高校网站站群建设公司
  • 海口网站提升排名网站建设与管理考试题
  • 做网站的算什么行业ui视觉设计常用软件是什么
  • 成都网站建设公司哪家好西安搬家公司哪家便宜
  • 程序员自己做网站怎么能来钱上海猎头公司哪家好
  • 无忧网站建设哪家好手机网站php开发
  • 如何仿制一个网站wordpress+主题课堂
  • 公明做网站渭南网站开发
  • 网站优化排名多少钱查备案网站备案