• 注册
  • 发动态
  • 发帖子
  • 发视频
  • 发红包
  • 暂没有数据

  • 推荐
  • 视频
  • 关注
  • 瓷器
  • 字画
  • 玉石
  • 钱币
  • 铜器
  • 木器
  • 紫砂
  • 杂项
  • [ls_fbk]
  • 查看全文
  • 查看作者
  • 宫论项目开发记录

    记录2023年项目进度周期。

  • 2
  • 742
  • 0
  • 22.5w
  • 小小乐小可鸭鸭

    请登录之后再进行评论

    登录
  • 0
    小小乐lv.2实名用户
    2025年9月12日
    1、新增的拖拽排序组件:Sortable,通过 wp_enqueue_script 集成到 APP 项目中。该组件支持对列表项的拖拽操作,方便用户进行重新排序。特别是在通过 xinle_upload_image_publish 成功上传图片后,会自动触发 Sortable 组件,使已生成的图片列表变为可拖拽状态。用户可以自由调整图片的顺序。
    2、在上传接口中移除了 ajax_api.php 中的请求拦截器,这是因为上传接口自身已经具备了一套专门的拦截机制,通用的 API 拦截机制并不适用于此类接口。上传接口采用内置的方法来验证请求的安全性和可靠性,以确保上传过程的顺利进行。由于上传操作需要支持并发请求,因此不能对其进行进程锁定,否则可能导致上传行为被不必要地拦截。这一调整能够有效地提升上传接口的效率和稳定性,确保用户上传文件时的流畅体验。
    3、xinle_upload_image_publish 在获取到 blob 对象后,会调用 xinle_upload_blob 来执行上传请求。在上传过程中,系统会实时监控上传的进度和状态变化,并在页面中以进度条的形式展示出来,让用户清晰地看到上传的进展情况。一旦图片上传完成,系统将执行 xinle_delete_blob,以删除本地的 blob 地址,防止内存泄漏,同时将页面中的 blob 地址替换为图片的远程地址。
    4、在执行通用组件的图片上传动作时,处理状态会被同步到 <li> 标签中的 <status></status> 元素,目前有以下几种状态:1、等待上传中:此时已经完成了 blob 的插入,正等待接口进行同步处理。2、正在上传(百分比):上传的百分比会实时更新并显示,帮助用户了解上传进度。3、等待云端同步:即使图片已经上传到服务器,仍需服务器将图片转移到对象存储,此过程在云端进行。4、上传失败:该状态可能由于服务器拒绝请求或云端同步故障而出现。用户可以通过点击上传失败查看具体的错误信息弹出窗口。5、上传成功:表示文件已成功完成同步,状态栏会在500毫秒后自动隐藏。注:每种状态对应不同的背景颜色,以便用户能够轻松区分和处理各个状态。
    5、xinle_upload_image_publish:通用图片上传事件已完成封装处理,整个执行流程如下:1. 用户触发上传 用户点击上传图片按钮,触发 xinle_upload_image_publish(key) 方法。 2. 检查用户登录状态 判断用户是否已登录(xinle.is_login)。 未登录:弹出登录界面(xinle_login()),终止流程。 3. 获取并校验上传配置 通过 key 获取上传配置(xinle_is_config(xinle.upload_image_config, key))。 配置不存在:提示“非法请求-01”,终止流程。 检查当前页面名称与配置页面名称是否一致,不一致则提示“非法请求-02”,终止流程。 4. 获取上传组件区域 根据 key 定位页面中的上传组件容器(如 .xinle_publish_image.key)。 找不到容器:提示“非法请求-03”,终止流程。 5. 检查图片上传数量限制 获取当前已上传图片数量(#xinle_publish_images_list li)。 超出数量限制:提示“图片数量已超过限制”,并隐藏“添加”按钮,终止流程。 计算本次最多可上传的图片数量(upload_number)。 6. 执行图片选择和上传 调用 xinle_upload_image(key, callback, upload_number),弹出图片选择。 用户选择图片后,返回一个 blobs 数组,每个元素包含图片的 blob 数据和类型。 7. 遍历每张图片,逐一处理上传 a. 检查数量限制 每插入一张图片前,再次判断是否已达到最大数量,若达到则隐藏“添加”按钮并跳过后续图片。 b. 页面插入预览 用 URL.createObjectURL(blob) 创建本地图片预览地址。 组装 <li> 结构,包括: <status> 状态标签(显示上传状态) 删除按钮 图片预览(可 fancybox 放大) 将新 <li> 添加到图片列表末尾。 c. 更新数量显示 更新页面的上传数量显示。 d. 设置初始状态 <status> 显示“上传中”,并设置蓝色背景。 8. 上传图片到服务器 调用 xinle_upload_blob(key, blob, onProgress, onComplete) 方法上传图片。 a. 上传进度回调 实时更新 <status>,如“上传中 (20%)”,上传完成时显示“同步云端”。 b. 上传完成回调 上传失败: <status> 显示“上传失败”,背景色变为红色。 预览图禁止点击,点击弹出错误信息。 上传成功: 销毁本地 blob 预览,使用服务器返回的图片地址。 <status> 显示“上传成功”,背景色变为绿色。 0.5 秒后自动淡出隐藏 <status> 提示。 初始化拖拽排序功能(SortableJS),使图片列表可拖拽排序。 9. 拖拽排序支持 每次上传成功后,都会初始化一次 SortableJS 拖拽功能,使图片列表支持顺序调整。
    6、新增了一个图片删除事件:xinle_upload_remove_image。这个函数专门用于删除用户上传的图片,并在图片删除后更新页面上显示的图片数量。如果用户尚未登录,系统会提示用户进行登录操作;如果上传配置或页面名称不匹配,则会显示非法请求的警告。删除图片后,系统会重新计算当前的图片数量,并根据配置进行相应的显示调整。该函数接受两个参数:{string} key,用于标识上传组件的唯一键;{HTMLElement} el,用于触发删除操作的元素。如果删除操作成功,函数将返回 true,否则返回 false。
    7、xinle_upload_remove_image的执行流程如下:1. 检查用户是否登录 如果用户未登录,调用登录弹窗函数 xinle_login(),并终止后续操作。 2. 获取上传图片的配置 通过 xinle_is_config 查找当前 key(如 'shop_image')的上传配置。 如果配置未找到,弹出错误提示“非法请求-01”,终止操作。 3. 校验页面身份 判断当前用户的 page_name 是否和上传配置中的 page_name 匹配。 如果不匹配,弹出错误提示“非法请求-02”,终止操作。 4. 获取上传组件的 DOM 通过类名获取当前页面上的上传区域(如 .xinle_publish_image.shop_image)。 如果没找到,弹出错误提示“非法请求-03”,终止操作。 7. 获取并动画删除当前图片的 <li> 通过 $(el).closest('li') 获取到当前要删除的图片 <li> 元素。 使用 .fadeOut(300, function(){ ... }) 让图片在 300 毫秒内淡出,然后执行回调。 6. 动画结束后更新数量和按钮 在动画回调中,真正移除 <li> 元素。 统计剩余图片数量,并更新显示数量的元素(如 .upload_quantity number)。 如果剩余数量小于上传上限,则显示“添加图片”按钮。
    8、在上传后端接口中新增了一个拦截器,用于处理上传图片的来源校验。如果上传的图片来源标识为 shop_image(即商品包装图),系统将使用 getimagesize 函数来获取该图片的长宽比。一旦检测到图片比例不是1:1(正方形),系统会立即返回错误信息:“商品图比例为1:1(正方形)”。这项措施旨在确保商品包装图在采集和录入时遵循正方形比例,从而避免前端页面展示时出现变形等问题。通过在上传阶段进行拦截处理,从根源上解决潜在的图片展示问题。
    9、在 xinle_upload_remove_image 函数中新增了一个回收机制,以提高系统的内存管理效率。当移除相应的 li 列表时,系统会获取被移除图片的地址。如果该地址是本地的 blob 图片,则会调用 URL.revokeObjectURL 方法来回收该对象。这一机制的实施旨在有效避免内存泄漏风险,确保系统资源的合理利用和稳定运行。通过主动回收不再需要的对象,系统能够更好地维护内存的健康状态,提升整体性能。
    10、在 xinle_page_back(网页后退)监听器中新增了一个重要的处理机制:当用户通过右侧左滑手势返回时,系统会检测 layui-m-layershade 是否存在。如果存在,则表明页面中有 layer 弹出层正在显示,此时系统会触发 layer.closeAll() 来强制关闭所有 layer 弹出层。这样设计的目的是为了避免用户在打开筛选窗口菜单时直接返回上一页,可能导致的异常错误,同时也使得筛选器窗口能够支持左滑手势关闭,提升了用户的操作便利性和界面的稳定性。
    11、当用户加载菜单页面时,会触发 pageBeforeIn 监听动作。首先,系统通过 jQuery 选择器获取两个对象:【page_content:页面内容加载容器、menu:菜单筛选容器区域】。随后,系统会触发一个 AJAX 请求,以请求后端响应对应的初始化页面数据,请求标识为 initialization。需要注意的是,pageBeforeIn 在页面准备加载前就会触发,确保在页面完全呈现给用户之前,所有必要的数据已被加载并准备好,从而保证用户体验的流畅性和数据的完整性。
  • 0
    小小乐lv.2实名用户
    2025年9月11日
    1、xc_upload_image_html组件的封装流程: 1. 获取上传配置 调用 xc_is_config 方法,传入配置名和 key,获取当前上传图片控件的配置信息(比如允许上传的图片数量、图片大小、样式等)。 2. 判断图片列表是否有内容 如果 $image_list 不是空的,进入图片列表处理流程。 如果为空,则只生成一个空的图片上传控件,不显示已上传图片。 3. 规范化图片列表格式 如果图片列表是数组,直接使用。 如果是字符串且包含分号,用分号拆分成数组。 如果是单个图片字符串,则转为数组(数组里只有一个元素)。 4. 生成图片 HTML 遍历图片列表,每个图片生成一个 <li> 标签,里面包含: 隐藏的 <status> 状态提示标签 删除按钮 <i>,绑定 JS 删除方法 图片预览 <a> 包裹 <img>,用于点击放大 所有图片的 <li> 标签拼接起来,形成图片展示区。 5. 统计图片数量 计算图片数组的数量,用于显示当前已上传数量。 6. 生成上传控件整体 HTML 拼接一个大 DIV,包含: 图片列表区域 <ul> “添加图片”按钮(点击触发上传) 数量显示和 loading 动画 7. 返回 HTML 结果 最终返回整个上传图片控件的 HTML 代码字符串。 如果没有配置,直接返回 false。
    2、在前端新增了一个名为 xinle_is_config 的方法,该方法专门用于在配置数组中根据指定的键查找对应的配置项。此函数接收两个参数:$configArray 和 $key。其中,$configArray 是一个配置项数组,数组中的每个元素都是一个包含 'key' 属性的对象;$key 是一个字符串,表示要查找的键。函数的工作机制是遍历 $configArray,查找与 $key 匹配的配置项。如果找到了匹配项,函数将返回该配置项对象;如果没有找到匹配项,则返回 null。这一方法的引入,大大简化了配置项的检索过程,提高了代码的可读性和维护性。
    3、新增了一个前端上传执行请求函数 xinle_upload_image_publish,该方法主要负责通用图片组件的上传工作,充当上传行为的中间层角色。其核心功能是接管上传过程,并对用户的操作进行权限验证,以确保上传操作的合理性和安全性。通过此函数,可以有效地避免未经授权的上传行为,同时确保上传动作的回调能够准确地作用于指定的上传组件中。该方法需要传递一个变量 key,用于标识具体的上传场景。此设计使得图片上传逻辑更加规范化和模块化,不仅提升了功能的灵活性,还增强了系统的安全性和可控性。
    4、xinle_upload_image_publish 的基础拦截逻辑设计如下:
    1. 用户登录状态检查:通过 xinle.is_login 方法验证用户是否已登录。如果检测到用户处于未登录状态,则会强制跳转至登录页面,确保上传操作仅限于已登录用户,提升安全性。
    2. 上传配置读取与校验:利用 xinle_is_config 方法读取上传配置组,并对传入的 key 进行校验。如果 key 存在于配置组中,则将对应的子数组赋值到 config 中,作为后续操作的上传配置依据;若 key 不存在,则直接返回非法请求,杜绝无效或恶意的上传场景。
    3. 页面标识对比:获取当前页面标识,并与上传配置中的标识进行对比。如果标识不一致,则返回对应的错误信息,确保上传行为与当前页面的逻辑绑定一致,避免跨页面执行不合理的请求。
    4. 组件位置获取与交互准备:通过元素选择器锁定上传组件的位置(默认获取最后一个组件)。如果组件位置获取失败,则返回非法请求,阻止后续操作;若获取成功,则创建 page_content 对象,为后续页面交互提供支持。
    5. 图片数量限制检查:读取当前上传组件中已上传图片的数量,并与场景配置中的上传限制进行对比。如果图片数量已达到或超过限制,则直接返回“图片数量已超过限制”的提示,终止上传操作,确保组件的上传行为符合配置规则。
    该逻辑设计旨在对上传行为进行全方位的拦截与验证,保障上传操作的安全性、合理性与规范性,同时确保页面组件交互的正确性与一致性,为通用图片上传功能提供了稳健的底层支持。
    5、xinle_upload_image 方法新增了一个可选变量 number(图片选择数量),以增强对图片上传数量的灵活控制。如果调用时未传递该变量,则默认读取上传配置中的设定数量,确保逻辑上的一致性和默认行为的合理性。由于通用上传场景中存在一个中间层,该中间层的主要职责是对上传行为进行统一管理和校验,包括检查已上传的图片数量。如果已上传的图片数量超过了配置限制,则会直接拦截后续操作。
    在此基础上,为了实现对剩余可上传数量的精准计算,xinle_upload_image 方法需要动态传递当前的剩余可上传数量(由 number 表示)至上传逻辑中。这样可以确保上传组件在执行图片选择操作时,严格遵循剩余可上传数量的限制,从而避免用户选择超过限制数量的图片。
    具体来说,xinle_upload_image 方法的新增逻辑如下:
    1. 变量优先级判断:方法调用时优先检查是否传递了 number 参数。如果传递了,则以该值为准;如果未传递,则自动读取上传配置中的默认设定数量,确保该变量始终有值。
    2. 剩余数量计算:在上传前,中间层会根据当前组件中已上传的图片数量与配置限制进行对比,计算出剩余可上传的图片数量,并将该数量作为参数传递至 xinle_upload_image 方法。
    3. 精准控制图片选择:在最终发起上传时,上传逻辑会根据传入的 number 值限制用户可选择的图片数量,确保用户在上传过程中无法突破配置的数量限制。
    通过新增 number 参数,xinle_upload_image 方法进一步提升了对图片上传数量的动态控制能力,与中间层的逻辑形成了高度协同,有效避免了上传数量超出限制的情况发生。这种设计兼顾了灵活性和严谨性,为通用上传场景的复杂需求提供了强有力的支持。
    6、通用上传图片组件已经完成了集成灯箱响应效果,确保用户无论上传的是本地图片还是远程图片,都可以通过点击图片直接打开灯箱进行预览。这种设计增强了图片浏览的用户体验,使得图片的展示更加直观和友好。同时,为了避免点击事件与 F7 框架的交互逻辑产生冲突,系统为每个 A 标签新增了 link external 类名,使得事件处理更加独立,避免因框架干扰导致点击失败的情况。此外,图片上传功能还预留了一个删除动作事件 xinle_upload_remove_image,以便用户能够对已上传的图片进行移除操作。
    7、通用上传图片组件,在通过xinle_upload_image发起图片选择事件后,会将获取的图片列表转为blob数组,然后执行如下页面交互动作:遍历 blobs 数组: 使用 forEach 方法遍历 blobs 数组。每个元素包含 type 和 blob,其中 blob 是图像文件的 Blob 对象。 获取当前已上传图片数量: 使用 page_content.find('#xinle_publish_images_list li').length 获取当前已经插入的图片列表项数量。 如果列表不存在,默认数量为 0。 检查上传限制: 判断 success_number 是否已经达到或超过 config.number,即上传限制。 如果已达到限制,执行以下操作: 隐藏上传组件(通常是上传按钮),通过 page_content.find('.add').hide()。 使用 return 终止当前循环的后续处理,避免插入更多图片。 增加已上传的数量: 如果未达到限制,增加 success_number 的值。 更新页面上显示的已上传数量: 使用 page_content.find('.upload_quantity number').text(success_number) 更新页面中显示的已上传图片数量。 创建图片的 URL: 使用 URL.createObjectURL(blob) 创建一个 URL,用于预览 Blob 对象(即图像文件)。 构建新的列表项: 使用模板字符串构建新的 <li> 元素,包含以下内容: <status> 标签表示图片状态(例如“等待上传”)。 一个 <i> 标签用于删除图片,绑定 onclick 事件处理器 xinle_upload_remove_image('${key}', this)。 一个 <a> 标签包含图片预览,使用 data-fancybox 属性实现图库功能。 <img> 标签显示图像。 插入图片到列表中: 使用 page_content.find('.images ul').append(add_li) 将新构建的列表项插入到指定的 <ul> 元素中。
    8、在执行 xinle_upload_image_publish 请求时,图片组件会在两个特定场景下自动通过 hide 方法隐藏“添加新图片”模块。首先,在初始化请求阶段,系统会计算当前已生成的 li 元素数量。如果该数量达到或超过配置的上限,组件将拒绝进一步执行上传操作,并同时隐藏上传控件,以防止用户超出限制上传过多图片。其次,在生成 blob 对象并将其构建为 li 元素写入组件容器区域后,系统会再次进行检查。如果此时的图片数量超过了配置的上限,组件将再次自动隐藏上传控件。这种机制确保了用户在使用过程中始终遵循预设的图片数量限制,保持界面的整洁和功能的稳定性,同时避免了因超量上传导致的性能问题或用户体验下降。
    9、新增方法xinle_upload_image_h5 基于 HTML5 的图片上传功能,支持多张图片选择,并通过回调函数返回所选图片的 Blob 对象数组。 limit_image - 限制可上传的图片数量。当值为 1 时,仅允许单张图片上传;当值大于等于 2 时,支持多张图片上传。callback - 图片上传后的回调函数。接收一个参数,为包含图片信息的数组,每个数组元素为一个对象。
    10、xinle_upload_image_h5的执行流程:创建文件选择框 根据limit_image是否大于等于2,决定是否允许多选图片。 创建一个隐藏的<input type="file" accept="image/*">标签,并插入到页面body里。 绑定change事件 给这个input绑定change事件(用户选择文件后触发)。 用户选择图片后,change事件触发,进入回调函数 读取input的files属性,获取用户选中的所有图片文件(FileList对象)。 如果没有选文件: 弹出“未选择任何图片文件”提示。 执行callback([]),回调一个空数组,流程结束。 处理选中的图片文件 声明空数组blobs用于存储所有图片对象。 遍历每一个文件: 如果不是图片类型(type不是image/*),弹出错误提示,不加入数组。 如果是图片类型,压入blobs数组,格式为{type: 文件类型, blob: 文件对象}。 全部处理完成后,回调返回图片数组 如果有有效图片,执行callback(blobs),回调所有图片对象。 如果异常(try-catch捕获),弹出错误提示,并回调空数组callback([])。 清理操作 清空input的值,移除input节点,避免内存泄漏和多次绑定。 自动弹出文件选择框 最后一句fileInput.trigger('click')自动弹出文件选择框,让用户选图片。
    11、xinle_upload_image 方法已完成整体封装,实现了针对不同设备类型的图片上传统一处理逻辑,包括 APP 上传、微信上传以及 H5 上传,确保在多端环境下功能一致性和适配性。该方法包含三个核心变量:1、type - 用于标识上传图片的场景类型,依据该变量匹配对应的配置,从而灵活适应不同场景的需求;2、callback - 上传完成后的回调函数,接收上传后的图片数据,支持后续处理逻辑的自定义扩展,提升功能的灵活性;3、[number] - 可选参数,用于限制上传图片的数量,若未传入则默认采用场景配置中的数量限制,以保证操作的规范性和统一性。这一封装简化了多端图片上传的开发和使用流程,同时提供了高度的可配置性和扩展性,适配不同业务需求。
  • 0
    小小乐lv.2实名用户
    2025年9月10日
    1、新增了 clipboard 脚本,旨在解决跨设备复制文本内容的难题。此前,使用 navigator.clipboard.writeText 方法发起复制请求,但该方法在部分设备上存在兼容性问题,导致复制操作失败或返回空值,尤其是在 webviews 环境下表现不佳。为了克服这些障碍,引入了一个独立的复制脚本,专门负责处理复制操作。这一改进不仅提高了功能的稳定性和适配性,还确保了在不同设备和浏览器环境中顺畅执行复制任务,从而显著提升了用户体验。
    2、新增了“xinle_copy”的方法,专门用于解决跨平台文字复制的挑战。此方法的执行流程设计得更加简洁和高效。首先,它通过 jQuery 创建并插入一个临时按钮,使用 $tempBtn.trigger('click') 来替代传统的 click() 方法进行触发。这种方式不仅提升了操作的流畅性,还确保复制任务完成后自动销毁 ClipboardJS 实例并移除临时按钮,避免了可能出现的内存泄漏问题。此外,为了确保用户体验不受影响,临时按钮的样式设置为 position:fixed;left:-9999px;opacity:0,从而保证按钮完全隐藏,避免页面出现任何闪烁现象。通过增加一个中间层来处理内容复制,这样即使未来需要对复制功能或执行逻辑进行调整,也能够迅速适应变化,确保系统的灵活性和可扩展性。
    3、xinle_copy支持返回 Promise。可以利用 .then() / .catch() 方法链,或采用 async/await 语法来处理复制操作的结果。整个执行流程如下:首先接收要复制的文本 ,并传入想要复制的内容。 判断浏览器环境 首先,函数会判断当前浏览器是否支持最新的剪贴板操作接口(即 navigator.clipboard)。 如果支持,说明是现代浏览器; 如果不支持,说明是较老的浏览器。 现代浏览器的处理方式 如果浏览器支持最新的剪贴板API,函数会用这个接口去复制传入的文本。 复制成功时,函数告诉操作成功; 复制失败时,函数告诉操作失败。 老旧浏览器的兼容处理 如果浏览器不支持最新的API,函数会用一种兼容的方式: 首先,临时创建一个隐藏的输入框,并把要复制的文本填进去; 把这个输入框加到页面里; 选中输入框里的内容; 尝试用浏览器的老式复制命令(execCommand)进行复制; 不管成功还是失败,都把临时输入框移除; 复制成功时,函数告诉操作成功;复制失败时,告诉操作失败。
    4、由于分享组件尚未集成,当前灯箱图片的分享按钮功能被临时设计为直接复制图片地址,而非触发分享行为。复制操作通过 xinle_copy 方法实现。在发起复制之前,系统会通过内置方法动态获取当前4箱图片的地址,并将其传递给 xinle_copy 进行处理。这样的设计不仅确保了功能的可用性,也为未来分享组件的接入预留了灵活的扩展空间,同时利用 xinle_copy 的高兼容性保证了复制操作在各设备和浏览器环境下的稳定性。
    5、在进行图片上传时,xinle_upload_blob会通过xinle_compress_image功能对图片进行压缩处理,并生成相应的blob地址以便后续内部操作。然而,此前在压缩处理完成后,未对这些blob地址进行摧毁,导致存在潜在的内存泄露风险。针对这一问题,进行了优化,确保在图片上传或压缩处理完成后,及时对生成的blob地址进行摧毁。这项改进不仅提升了系统的资源管理效率,还有效降低了内存泄露的可能性,从而提高了整体稳定性。
    6、新增了一项功能:开发了一个名为xinle_delete_blob的方法,用于优化页面中的资源管理。此方法专门针对删除或替换页面中引用的 Blob URL资源。它支持多种HTML标签,包括img、video、audio、source、iframe和a标签,确保广泛的兼容性和应用范围。使用这个方法时,用户可以指定要处理的 Blob URL,通过参数blob_url进行标识。如果提供了new_url参数,系统会自动将原有的 Blob URL替换为新的URL,实现资源的更新和替换。如果没有提供新的URL,系统则仅执行删除操作。此功能在操作完成后会释放相应的 Blob 对象,有效防止内存泄漏,提升页面性能和稳定性。
    6、plus_gallery_photo的相册选择功能现已支持勾选原图选项。此前,该功能曾被禁用,主要原因是安卓10版本对权限体系进行了重新设计,导致APP无法直接访问相册中的原图文件,操作时会提示权限不足。然而,经过此次功能重构,进行了优化处理。现在,在读取原图前,会将其临时移动到APP的临时文件目录中,再进行后续操作。尽管这一流程增加了一个步骤,却有效避免了选择原图失败的问题,提升了用户体验的稳定性和可靠性。
    7、在使用 plus_gallery_photo 功能发送原图时,系统会在用户进入相册后立即触发加载指示,以提醒用户当前正在处理相册图片。这一加载提示在处理完返回结果后会自动消失。由于移动原图过程中通常需要等待大约0.3到0.5秒的响应时间,这段空白期如果没有加载提示,可能会给用户带来不佳的体验。因此,通过这种方式可以有效提升用户的操作体验,让他们在等待过程中感受到更好的反馈。
    8、系统增加了一项安全机制,当相册中的原图被移动到 APP 目录后,系统会在完成 Blob 封装操作后,主动调用 newEntry.remove 方法来删除临时文件。如果移动过程中出现失败,系统同样会触发删除操作。这一机制的引入确保了临时文件能够被及时清理,防止无效文件在 APP 目录中堆积,从而保持系统的整洁和高效运行。
    9、对 xinle_copy 功能进行了全面的重构处理,现已不再依赖 ClipboardJS 方法,而是改为使用原生的 Clipboard API 来实现复制操作。此改进不仅简化了代码逻辑,还提升了兼容性和性能。如果用户浏览器不支持新版 Clipboard API,系统会自动回退到使用 execCommand('copy') 的方式进行处理,以确保复制功能能够在所有平台上正常工作。这种双重处理机制大大增强了功能的稳定性和适配能力,为用户提供了更加可靠的复制体验。
    10、为了改善苹果设备在H5端使用摄像头拍照采集图片时偶尔出现失败的问题,已在h5_upload_image_change功能中加入了日志报错处理机制。此功能通过详尽记录异常情况的日志,能够清晰地跟踪问题发生的具体场景和潜在原因,为后续问题的定位与解决提供了坚实的依据。这一改进不仅有助于确保图片采集功能的稳定性,同时也显著提升了用户体验,使用户在使用过程中更加顺畅无忧。
    11、考虑到未来有很多场景都需要用到图片上传组件,因此封装一个方法来处理上传场景:xinle_upload_image_html。该方法旨在简化图片上传的流程。通过该函数,可以根据特定的配置键和图片列表生成相应的HTML结构。这个结构不仅包括图片的展示和上传按钮,还整合了相关的配置信息,确保组件的功能全面而高效。虽然在集成组件的过程中需要考虑到许多细节和复杂因素,工作量较大,但一旦完成集成,后续在类似场景下的部署将变得非常轻松。这种预先的封装和标准化处理能够显著减少重复性工作,提高开发效率。
  • 查看全文
  • 查看作者
  • 文章测试

    江西·萍乡
  • 4
  • 54
  • 0
  • 21.32w
  • 咸鱼梦想小可鸭鸭小小乐学藏官方

    请登录之后再进行评论

    登录
  • 0
    欣然lv.1
    最低多少钱?最低多少钱?
  • 0
    咸鱼梦想lv.2实名用户
    测试看看最低多少钱?
  • 0
    咸鱼梦想lv.2实名用户
    内容测试出
  • 查看全文
  • 查看作者
  • 鉴定师入驻协议

    欢迎使用宫论APP鉴定师入驻申请功能,本协议主要阐述您申请成为相关领域鉴定师的相关的权利和义务,请您务必仔细阅读。一、概述 1、本协议内容包括协议正文及所有宫论已经发布或将来可能发布的关于鉴定师入驻。所有规则为本协议不可分割的一部分,与协议正文具有同...
  • 学藏官方 学藏官方
  • 3
  • 50
  • 1.7k
  • 官网公告
  • 2023-03-20 09:21 电脑端
  • 查看全文
  • 查看作者
  • 宫论藏品寄售协议

    欢迎使用宫论App藏品寄售申请功能,本协议主要阐述您作为藏品持宝人相关的权利和义务,请您务必仔细阅读。一、概述 1、本协议内容包括协议正文及所有宫论已经发布或将来可能发布的关于藏品寄售的规则。所有规则为本协议不可分割的一部分,与协议正文具有同等法律效...
  • 学藏官方 学藏官方
  • 1
  • 1
  • 1.9k
  • 官网公告
  • 2023-03-17 08:58 电脑端
  • 查看全文
  • 查看作者
  • 藏品回收申请协议

    欢迎使用宫论APP藏品回收功能,本协议主要阐述您作为藏品持宝人相关的权利和义务,请您务必仔细阅读。一、概述 1、本协议内容包括协议正文及所有宫论已经发布或将来可能发布的关于藏品回收的规则。所有规则为本协议不可分割的一部分,与协议正文具有同等法律效力。...
  • 学藏官方 学藏官方
  • 1
  • 1
  • 1.6k
  • 官网公告
  • 2023-03-13 09:29 电脑端
  • 查看全文
  • 查看作者
  • 宫论藏品鉴定协议

    欢迎使用宫论APP鉴赏功能,本协议主要阐述您作为藏品持宝人相关的权利和义务,请您务必仔细阅读。一、概述 1、本协议内容包括协议正文及所有宫论已经发布或将来可能发布的各类规则。所有规则为本协议不可分割的一部分,与协议正文具有同等法律效力。 2...
  • 学藏官方 学藏官方
  • 1
  • 0
  • 1.6k
  • 官网公告
  • 2023-03-11 15:17 电脑端
  • 查看全文
  • 查看作者
  • 淘货发布协议

    淘货发布协议在宫论APP为了能够约束好每个卖家发布商品,也制定了统一的商品发布规范,如果各位也想要开淘宝店铺,那就需要好好去了解一下宫论APP商品的发布规范。第一章 概述第一条【适用范围】适用于在宫论APP发布商品的卖家。第二条【效力级别】本规范已有规定的,适...
  • 学藏官方 学藏官方
  • 2
  • 0
  • 1.7k
  • 官网公告
  • 2023-03-09 15:33 电脑端
  • 查看全文
  • 查看作者
  • 宫论提现协议

    宫论提现协议 《宫论钱包提现协议》(以下简称“本协议”)适用于所有在宫论平台进行提现的用户(以下或称“您”)。本协议被视为《宫论用户服务条款》的补充协议,是其不可分割的组成部分,与其构成统一整体。本协议与《宫论用户服务条款》内容存在冲突的,以本协议为...
  • 学藏官方 学藏官方
  • 2
  • 0
  • 1.6k
  • 官网公告
  • 2023-03-09 11:44 电脑端
  • 查看全文
  • 查看作者
  • 消费者保障服务协议

    本协议由您与济南谋佐科技有限公司共同缔结,本协议具有合同效力。本协议中协议双方合称协议方,济南谋佐科技公司在本协议中亦称为“宫论”。一、协议内容及生效1、本协议内容包括协议正文及所有宫论已经发布或后续发布的相关的规则与协议。前述规则与协议为本协议不可分割的组成...
  • 学藏官方 学藏官方
  • 2
  • 0
  • 1.4k
  • 官网公告
  • 2023-02-25 20:27 电脑端
  • 查看全文
  • 查看作者
  • 店铺保证金协议

    一、什么是店铺保证金?店铺保证金是如果涉及理赔、违规处罚等情况时,可利用店铺保证金进行支付;如没有前述情况,店铺保证金可全额退回的一种机制。二、为什么要缴纳店铺保证金?(1)重点强调-店铺无违规情况认证有效期内且缴纳店铺保证金后下个整点,可搜索到店铺,若未缴纳...
  • 学藏官方 学藏官方
  • 1
  • 0
  • 1.7k
  • 官网公告
  • 2023-02-25 20:20 电脑端
  • 查看全文
  • 查看作者
  • 宫论特殊类目经营资质

    尊敬的宫论商家:为了保障宫论类目健康、提升交易体验、维护商家及买家利益,现对于以下类目入驻认证需提供对应资质:类目店铺类型需要资质陨石骨牙-骨石企业/个人①与平台店铺认证主体信息一致的水野生保护动物经营利用许可证及副本(如许可证上未列举所有可经营物种明细的需额...
  • 学藏官方 学藏官方
  • 1
  • 0
  • 1.7k
  • 官网公告
  • 2023-02-25 20:16 电脑端
  • 单栏布局 列表样式:矩状 侧栏位置: