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

钉钉内嵌H5遇到的一些问题

基于钉钉内核开发的政务云APP,在里面开发H5应用时会遇到一些莫名其妙的BUG

标题1、React打包H5时,安卓手机白屏的问题。

1、钉钉安卓使用 UC3.0 内核,版本比较低
2、React + Vite + TS 打包的H5应用的安卓端无法正常使用
3、添加 build 配置项

import { defineConfig } from 'vite'
export default defineConfig({plugins: [react(),],// ... otherbuild: {target: ['chrome52'],cssTarget: ["chrome52"]},// ... other
})

标题2、ios上传文件上传失败的问题。

1、首先我们需要一个 FormData 对象
2、向 FormData 对象 append 我们需要的数据
3、打印 FormData 对象,比较安卓、H5、ios 之间的差异
4、比较出差异,改造 ios 的 FormData 对象
tips:首先保证谷歌浏览器下 H5 能够正常上传。

	const handleUpload = (file: File) => {const formData = new FormData()formData.append('file', file) // 放入 file 文件,第三个参数选传文件名。”file“ 键名因接口而已console.log('formData', formData)console.log('entries', formData.entries)console.log('realFormData', formData.realFormData)const realFormData = formData.realFormData;// 如果存在 realFormData,将传 realFormData 对象,此时需要放入 file 文件// realFormData 是钉钉内核应用在 ios H5中特有的对象,此时需要改造此对象。if(realFormData) {realFormData.append('file', file)}// 返回 Promise 对象return new Promise<ImageUploadItem>((r,j) => {fileUploadApi(realFormData || formData // 传入的 FormData 对象,传入形式因接口而异).then(res => {r({url: res.data.url})}).catch(err => {j('err')throw new Error('Fail to upload')})})}
http://www.lryc.cn/news/221743.html

相关文章:

  • LeetCode 热题100——链表专题(二)
  • 【Rust日报】2023-11-06 ESP上使用 Rust实现 SNTP协议
  • LibreOJ - 2874 历史研究 (回滚莫队)
  • 人工智能-卷积神经网络之多输入多输出通道
  • Open3D(C++) Umeyama算法求两个点云的变换矩阵
  • 【C++】从入门到精通第二弹——类的构造与析构函数
  • C#8.0本质论第十一章--异常处理
  • FPGA高端项目:图像缩放+GTP+UDP架构,高速接口以太网视频传输,提供2套工程源码加QT上位机源码和技术支持
  • ansible安装和常见模块
  • 【Python基础】 Python设计模式之单例模式介绍
  • 算法小白的心得笔记:关于Nan
  • Photoshop 2023 v24.7
  • 进程间通信(IPC)-管道、消息队列、信号量、共享存储、socket
  • 「Verilog学习笔记」使用generate…for语句简化代码
  • 互联网Java工程师面试题·Spring篇·第七弹
  • mysql驱动包引起的告警问题using SSL the verifyServerCertificate property is set to ‘false‘
  • draw.io与项目管理——如何利用流程图工具提高项目管理效率
  • LoRaWAN物联网架构
  • 数据结构(五):哈希表及面试常考的算法
  • 水利部加快推进小型水库除险加固,大坝安全监测是重点
  • 实施电子采购的6个有效步骤
  • 【Shell脚本6】Shell 运算符
  • 设计模式之保护性暂停
  • UE5、CesiumForUnreal实现加载GeoJson绘制单面(Polygon)功能(StaticMesh方式)
  • Linux 下以其他用户运行程序
  • Centos7下安装使用K3S
  • 易云维®工厂能耗管理平台系统方案,保证运营质量,推动广东制造企业节能减排
  • Qwt QwtWheel绘制滚动轮
  • 【C++语法讲解】 | 运算符重构 | 三种运算符的重构方式 |代码演示
  • [100天算法】-寻找峰值(day 63)