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

解决 uniapp h5 页面在私有企微iOS平台 间歇性调用uni api不成功问题(uni.previewImage为例)。

demo

<template><view class="content"><image class="logo" src="/static/logo.png"></image><button @click="previewImage">预览图片</button></view>
</template><script>
//打开浏览器控制台
var script = document.createElement('script');
// script.src = 'https://cdn.bootcss.com/eruda/1.5.2/eruda.min.js'
script.src = '//cdn.jsdelivr.net/npm/eruda';
script.async = true;
document.getElementsByTagName('head')[0].appendChild(script);
script.onload = function () {window.eruda.init();
};
// #ifdef H5
//import {uni} from '@dcloudio/uni-h5/dist/uni-h5.es.js'
// #endifexport default {data() {return {title: 'Hello',}},onLoad() {},methods: {previewImage() {console.log('uni.previewImage', uni.previewImage);uni.previewImage({urls: ['/static/logo.png'],fail: (err) => {console.log('err', err);uni.showToast({message: err.errMsg,icon: 'none',})},});}},
}
</script><style>
.content {display: flex;flex-direction: column;align-items: center;justify-content: center;
}.logo {height: 200rpx;width: 200rpx;margin-top: 200rpx;margin-left: auto;margin-right: auto;margin-bottom: 50rpx;
}.text-area {display: flex;justify-content: center;
}.title {font-size: 36rpx;color: #8f8f94;
}
</style>

问题

uniapp h5 页面在私有企微iOS平台 间歇性调用uni api不成功,在其他平台及设备正常。

正常调用

在这里插入图片描述

私有企微iOS平台失败

在这里插入图片描述

解决

验证发现 uni.previewImage 打印出来的api正常与失败的不一致。

正常
uni.previewImage (args = {}, ...rest) => {if (hasCallback(args)) {return wrapperReturnValue(name, invokeApi(name, fn, args, rest));}return wrapperReturnValue(name,handlePromise(new Promise((resolve, reject) => {invokeApi(name,fn,extend(args, { success: resolve, fail: reject }),rest);})));}
异常
uni.previewImage function(a){c(r.previewImage,{current:a.current,urls:a.urls,hidePreviewMenuList:a.hidePreviewMenuList},a)}
最终解决

虽然不知道问题怎么产生的,但是通过正常的api 找到了对应的源码,引入uni h5的 源码就正常了

// #ifdef H5
//解决 uniapp在私有企微ios上api调用报错的问题
import { uni } from '@dcloudio/uni-h5/dist/uni-h5.es.js';
window.uni = uni;
// #endif                       

相关文章:

  • uniapp实现幻灯功能方法及代码
  • springboot 搭建一个 测试redis 集群连通性demo
  • Java热部署:让应用更新如丝般顺滑,告别繁琐重启!
  • openEuler2203SP3自定义ios
  • android怎么知道FileProvider应该导入的包名是什么?androidx.core.content.FileProvider
  • 华为开发者大会:全场景智能操作系统HarmonyOS NEXT
  • python web框架哪家强?Flask、Django、FastAPI对比
  • idea导入文件里面的子模块maven未识别处理解决办法
  • 外部存储器
  • 【Vue】图片懒加载的实现
  • 【计算机】我不允许还有人不知道数据库是什么
  • Rust语言-线程间的消息传递mpsc::Sender
  • echarts Y轴展示时间片段,series data数据 也是时间片段,鼠标放上去 提示框显示对应的时间片段
  • 【计算机毕业设计】​206校园顺路代送微信小程序
  • 基于S32K144驱动NSD8308
  • 10个确保微服务与容器安全的最佳实践
  • C++11: atomic 头文件
  • Docker 笔记(1):介绍、镜像、容器及其基本操作
  • JavaScript 一些 DOM 的知识点
  • Mybatis初体验
  • MySQL数据库运维之数据恢复
  • NSTimer学习笔记
  • uni-app项目数字滚动
  • WePY 在小程序性能调优上做出的探究
  • 阿里云ubuntu14.04 Nginx反向代理Nodejs
  • 不用申请服务号就可以开发微信支付/支付宝/QQ钱包支付!附:直接可用的代码+demo...
  • 高程读书笔记 第六章 面向对象程序设计
  • 构造函数(constructor)与原型链(prototype)关系
  • 开源地图数据可视化库——mapnik
  • 前端工程化(Gulp、Webpack)-webpack
  • 小程序 setData 学问多
  • d²y/dx²; 偏导数问题 请问f1 f2是什么意思
  • 不要一棍子打翻所有黑盒模型,其实可以让它们发挥作用 ...
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #《AI中文版》V3 第 1 章 概述
  • #AngularJS#$sce.trustAsResourceUrl
  • #HarmonyOS:基础语法
  • #ubuntu# #git# repository git config --global --add safe.directory
  • #我与Java虚拟机的故事#连载18:JAVA成长之路
  • (2)leetcode 234.回文链表 141.环形链表
  • (6) 深入探索Python-Pandas库的核心数据结构:DataFrame全面解析
  • (k8s)Kubernetes 从0到1容器编排之旅
  • (Note)C++中的继承方式
  • (pt可视化)利用torch的make_grid进行张量可视化
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)ssm码农论坛 毕业设计 231126
  • (免费分享)基于springboot,vue疗养中心管理系统
  • (数据结构)顺序表的定义
  • (四)TensorRT | 基于 GPU 端的 Python 推理
  • (一)VirtualBox安装增强功能
  • (原创)Stanford Machine Learning (by Andrew NG) --- (week 9) Anomaly DetectionRecommender Systems...
  • (转)setTimeout 和 setInterval 的区别
  • .net core 6 集成 elasticsearch 并 使用分词器