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

网站详情页链接怎么做wordpress忘记密码邮件收不到

网站详情页链接怎么做,wordpress忘记密码邮件收不到,管理系统是网站吗,成都网络公司服务内容#1 写在前面 开始写这篇文章时#xff0c;标题怎么定困扰我良久#xff0c;缘于不晓得如何给接下来要做的事定个简单明了的标题#xff1a;在#x1f4f1;终端只能纯文本交互的前提下#xff0c;优雅展示 markdown 文档中的图片。这也许比问题本身还要棘手#x1f604;。…#1 写在前面 开始写这篇文章时标题怎么定困扰我良久缘于不晓得如何给接下来要做的事定个简单明了的标题在终端只能纯文本交互的前提下优雅展示 markdown 文档中的图片。这也许比问题本身还要棘手。 #2 背景说明 公司内网有一套基于 markdown 的文档系统方便同事查阅资料现希望能够在移动端进行浏览。 目前我们已在集团移动办公 APP 发布有 H5 小程序实现了互联网与内网的数据通信但存在以下限制 请求方式为 POST后端返回内容限定为纯文本每次发起请求终端都有 loading 弹窗无法加载互联网资源 #3 思路阐述 **方案一将图片编码进 markdown 文本 ** 识别出 markdown 内的图片转换为 BASE64 编码并替换原文本终端解析后渲染。本文采用此方案✅。 方案二延迟加载图片 终端渲染后监听页面滚动按需加载图片传递 url 或图片编号后端返回 BASE64 编码。此方案可通过自定义指令实现前后端均需要代码改造。 #3.1 处理流程 用户请求指定 ID 的 MARKDOWN 资源从数据库读取原始文本调用 MarkdownFunc.embedImages 方法若该 ID 的缓存文件存在则直接使用跳转到⑥用正则表达式匹配全部图片标签对符合后缀规范的本地文件进行以下操作 a. 原始图片宽度超出阈值则先缩放 b. 转换为 WEBP 格式节流 c. 进一步转换为 BASE64 编码 d. 替换到原标签文本将处理完成的文本写入缓存文件返回内容到客户端 同时当文档被修改后监听事件删除对应的缓存文件。 #3.2 代码实现 Configuration ConfigurationProperties(prefix page.markdown) class MarkdownConfig {var maxWidth 900 //图片宽度超出此值则进行压缩var quality 0.1F //转换为 webp 时质量阈值var resizeQuality 0.8f //裁剪图片的质量阈值var exts listOf(jpg,jpeg,bmp,png)var dir markdown }Component class MarkdownFunc(private val fileStore: FileStore,private val config: MarkdownConfig) {Value(\${server.servlet.context-path})private val contextPath private val logger LoggerFactory.getLogger(javaClass)/*** 转换为 Base64 编码*/private fun base64(bytes:ByteArray) ![](data:image/webp;base64,${Base64.getEncoder().encodeToString(bytes)})private fun txtFile(id: Long) fileStore.buildPathWithoutDate(${id}.txt, config.dir)/**** param id 文档唯一编号* param text markdown 源文本*/fun embedImages(id:Long, text:String):String txtFile(id).let { file-if(file.exists()) returnlet Files.readString(file)Regex(!\\[.*?\\]\\((.*?)\\)).replace(text) { match-val fileUrl match.groupValues.last().let {if(it.startsWith(contextPath))it.replaceFirst(contextPath, )elseit}//暂不支持互联网资源if(fileUrl.startsWith(http)) returnreplace match.valueval imgPath Paths.get(., fileUrl)val ext imgPath.extension.lowercase()logger.info(${imgPath.toAbsolutePath() } ${imgPath.isRegularFile()})if(imgPath.exists() imgPath.isRegularFile()){if(config.exts.contains(ext)){var img ImageIO.read(imgPath.toFile()).let {if(it.width config.maxWidth){if(logger.isDebugEnabled) logger.debug(图片 $imgPath 宽度超出阈值 ${config.maxWidth} 即将裁剪...)//对图片进行缩放如需水印可以调用 watermark 方法Thumbnails.of(it).width(config.maxWidth).outputQuality(config.resizeQuality).asBufferedImage()}elseit}val out ByteArrayOutputStream()val mout MemoryCacheImageOutputStream(out)ImageIO.getImageWritersByMIMEType(image/webp).next().let { writer-writer.output moutwriter.write(null,IIOImage(img, null, null),WebPWriteParam(writer.locale).also {it.compressionMode ImageWriteParam.MODE_EXPLICITit.compressionType it.compressionTypes[WebPWriteParam.LOSSY_COMPRESSION]it.compressionQuality config.quality})if(logger.isDebugEnabled) logger.debug(图片 $imgPath 转 webp 完成...)}mout.flush()base64(out.toByteArray())}//对于 webp 格式不作缩放处理直接编码else if(ext webp){base64(Files.readAllBytes(imgPath))}else{if(logger.isDebugEnabled) logger.debug(图片 $imgPath 不是支持的格式...)match.value}}else {logger.error(图片 $imgPath 不存在或不是一个有效文件...)match.value}}.also {file.parent.also { p-if(!p.exists())Files.createDirectories(p)}Files.writeString(file, it, StandardOpenOption.CREATE, StandardOpenOption.TRUNCATE_EXISTING)logger.info(缓存 $file 写入成功SIZE ${file.fileSize()} B)}}AsyncEventListener(PageContentUpdateEvent::class)fun onPageUpdate(event: PageContentUpdateEvent) {event.page.also {if(it.template Page.MARKDOWN){logger.info(检测到 #${it.id} 的内容变更即将删除其缓存文件若存在...)txtFile(it.id).deleteIfExists()}}} }
http://www.hkea.cn/news/14451011/

相关文章:

  • 昆明seo博客南网站建设网站页面设计分析
  • 自适应 网站开发二次开发招聘
  • 义乌网站建设工作室高端网站制作公
  • 深圳高端做网站东莞便宜做网站
  • 深夜小网站网站建设流程 费用
  • 毕业设计论文网站开发需要多少wordpress 屏蔽搜索引擎
  • 浙江做网站找谁免费海外网站建设
  • 青岛网站搜索排名西安网站建设怎样
  • 建设团购网站费用天津seo推广方法
  • 关于网站制作报价网站开发具备的相关知识
  • 建设网站服务器是什么邢台公司做网站多少钱
  • 网站建设是怎么赚钱的系统开发是什么意思
  • 我的网站模板下载不了网站怎么加链接
  • 呼伦贝尔旅游网站建设wordpress轮播图修改
  • 秦皇岛找一家能建网站的公司易思企业网站管理系统
  • nodejs 做网站备案网站名称怎么写个人
  • 手机软件做的相册怎样传到网站diy小程序开发平台
  • 黄骗免费网站如果做微商需不需要开个网站。
  • 建一个自己的网站wordpress iis 中文
  • 昆明专业做网站多少钱seo优化公司哪家好
  • wordpress 主题 google东莞网站优化东莞seo最专业的东莞网络公司小红孩营销
  • 网站建设高端培训学校网页升级紧急通知狼人
  • 网站 网站 建设设置网站维护页面
  • 网站制作软件教程网站动态页面打不开
  • 怎样发布自己的网站wordpress 插马
  • 做一个展示型网站多少钱wordpress 404 调用
  • 辽宁城乡住房建设厅网站打不开十大互联网平台
  • 网站建设模板公司自考本科报名官网入口
  • 六安网站建设 220如何做网站上抓视频
  • 成都三网合一网站建设沈阳网站制作平台