前言

  本文主要是实现图像接口,之前我以为企业微信和微信应该大差不差的,结果这玩意坑还挺多,写篇文章记录一下自己踩过的坑,希望对你们有所帮助!这个地方就不介绍配置 wx.config 了详细请看上一篇文章“企业微信开发:使用 JS-SDK 配置 wx.config 实现屏蔽分享菜单功能(五)”

概述

  前一段时间写了一个移动端的微信图像上传,然后最近需求有一个企业微信图像上传,我就寻思应该都是大差不差的,我就去把代码移植过来测试,结果发现这个区别还是有点大的,最主要的不同点还是在于 getLocalImgData 的调用

实现图像接口

HTML 前端部份

  这是我准备好的页面,可以直接使用注意里边用到的 js 就好,css 可以自己随便写写。。

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>调用企业微信图像上传接口</title><!--上传图片css--><link rel="stylesheet" href="../css/style.css" />
</head>
<body><header class="upload-hedaer"><a href="javaScript:history.back(-1)" class="upload-fh"></a><div>上传</div><div>···</div></header><section class="upload-section"><article class="upload-piclist"><div class="upload-file" id="uploadfile"></div></article></section><script src="../js/jweixin-1.2.0.js" type="text/javascript" charset="utf-8"></script><script src="../js/jquery-3.0.0.min.js" type="text/javascript" charset="utf-8"></script><script src="../js/wxconfig.js" type="text/javascript" charset="utf-8"></script>
</body>
<script type="text/javascript">/** 这个地方我们只需要在要使用的页面引用就 OK1.chooseImage:和拍照或从手机相册中选图接口2.getLocalImgData:获取本地图片接口**/ wx.config({debug: true, // 生产环境需要关闭debug模式appId: "[[${appId}]]", // appID = corpID 通过微信服务号/企业微信后台查看timestamp: "[[${timestamp}]]", // 生成签名的时间戳nonceStr: "[[${nonceStr}]]", // 生成签名的随机字符串signature: "[[${signature}]]", // 签名jsApiList: [ // 需要调用的JS接口列表'chooseImage','getLocalImgData']});
</script>
</html>
JavaScript JS 部份

  这个地方我们单独写了一个 wx.config 通用文件,主要放的就是一些回调方法,可以看到我们上边并没有 ready 成功接口和 error 失败接口,因为都放到了 wx.config 里边
  首先我们调用 chooseImage 因为我们是点击图片才触发这个方法,所以还要写一个点击事件,记得要写到 wx.ready 回调方法里边!!这样就获取到了安卓显示图片的内容

wx.ready(function(){//给上传图标绑定 onclick 事件$("#uploadfile").click(function(){// 调取接口wx.chooseImage({count: 1, // 默认9sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有defaultCameraMode: "normal",isSaveToAlbum: 1,success: function(res) {// 这个很重要var localIds = res.localIds;alert("获取到返回的本地 ID :"+localId)}});})
});

  这里有一个容易出错的地方,一定要认真地去查看官方文档,不然可能会出现一个问题就是,微信可以上传并显示图片,企业微信可以上传但是不显示图片
  企业微信的 getLocalImgData 接口是不支持安卓的!!!微信的可以。。。

  所以这个地方我们需要使用 getLocalImgData 来获取 ios 显示内容,在上方我们已经拿到了安卓的图片路径

// 调用本地图片接口
wx.getLocalImgData({localId: res.localIds[0], // 图片的localIDsuccess: function(res) {var imageBase64 = res.localData;alert("获取 ios 显示内容:"+imageBase64)}
});

  最后添加一个获取手机型号的 JS 的验证用来区分是苹果还是安卓

var u = navigator.userAgent;
var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端

完整示例

  最后贴上完整的代码和运行截图!!!上方文件不附带样式,只做参考!!

wx.ready(function(){//给上传图标绑定 onclick 事件$("#uploadfile").click(function(){// 调取接口wx.chooseImage({count: 1, // 默认9sizeType: ['original', 'compressed'], // 可以指定是原图还是压缩图,默认二者都有sourceType: ['album', 'camera'], // 可以指定来源是相册还是相机,默认二者都有defaultCameraMode: "normal",isSaveToAlbum: 1,success: function(res) {var picCheck = document.getElementsByClassName('upload-piclist')[0];// 判断手机型类型var u = navigator.userAgent;var isiOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端if(isiOS){// 调用本地图片接口wx.getLocalImgData({localId: res.localIds[0], // 图片的localIDsuccess: function(res) {var imageBase64 = res.localData;var html = document.createElement('div');html.innerHTML = '<img id="image" src=' + imageBase64 + ' alt="">';picCheck.appendChild(html);}});}else{var imageBase64 = res.localIds[0];var html = document.createElement('div');html.innerHTML = '<img id="image" src=' + imageBase64 + ' alt="">';picCheck.appendChild(html);}}});})
});

  最后欢迎各位留言指教!!!

企业微信开发:使用 JS-SDK 实现图像接口功能(六)相关推荐

  1. 腾讯系:微信,公众号,小程序,企业微信开发知识概括

    腾讯系:公众号,小程序,企业微信等等开发知识概括 企业微信 公众号 小程序 微信开放平台 总结 企业微信 第三方应用开发(sass服务商): 概述:第三方应用接口旨在方便企业微信管理员通过简单的操作来 ...

  2. 前端企业微信开发内嵌H5记录

    前端企业微信开发内嵌H5记录(Vue) 文章目录 前端企业微信开发内嵌H5记录(Vue) 一.引入相应JS-SDK 1.JS-SDK 二.授权(网页授权) 1.构造网页授权链接 2.发起授权 3.注入 ...

  3. 企业微信开发H5页面授权 使用接口的问题

    企业微信 h5踩坑指南 企业微信开发H5页面授权 使用接口的问题 开发企业微信的时候 h5页面需要获取登录用户的信息,这个时候就需要jsdk里面的 [开发文档] (https://work.weixi ...

  4. 微信、企业微信和支付窗 SDK 三合一,JeeWx-api 1.2.0 版本发布

    JeeWx-API 1.2.0 版本发布,微信.企业微信和支付窗SDK三合一 摘要: JEEWX-API 是第一款JAVA版微信极速SDK,同时集成企业微信SDK,支付窗SDK,可以快速的基于她进行微 ...

  5. 微信及企业微信内嵌浏览器内核信息及H5跑分数据-企业微信开发

    加我微信li570467731,拉你进二百多人企业微信开发同行群(文末有二维码). 企业微信开发三部曲: <企业微信应用开发概述篇(免费)>已完结: <企业微信开发第三方应用开发篇& ...

  6. 手把手教你springboot企业微信开发(三)之 weui、zepto、thymeleaf

    手把手教你springboot企业微信开发(三)之 weui.zepto.thymeleaf weui zepto thymeleaf 这一篇主要事基础部分,概述一下weui.zepto.thymel ...

  7. 企业微信开发:获取 access_token(二)

    前言   简单的用白话了解一下企业微信的作用,企业微信是腾讯微信团队为企业打造的专业办公管理工具.大致和钉钉差不多,适用于政府.企业等各类组织的一个产品,可以有效的帮您管理员工.个人感觉企业微信开发要 ...

  8. 服务器端缓存企业微信,企业微信开发

    企业微信开发又以下三类,可以根据需要查看相应的文档 企业内部应用开发:开发内部使用应用,开发个性化办公应用 第三方应用开发:开发出来的应用可供其他企业使用 第三方应用开发.png 智慧硬件开发 企业内 ...

  9. 企业微信开发总结-获取通讯录

    企业微信开发总结-获取通讯录 最近遇到个项目需求,需要能够获取到用户企业的通讯录,同步到我们系统中,这样就不用重复输入一批企业人员了.一开始想的很简单,实际研究下来发现企业微信比个人微信对接起来复杂多 ...

最新文章

  1. MySQL5.6多实例部署
  2. 通俗理解LDA主题模型
  3. scala中object和class关键字的区别
  4. Http怎么处理长连接
  5. deletion in request load scenario
  6. 使用Arquillian测试安全的EJB
  7. buck电路上下管_推荐 | 学好电路设计与仿真?你不能错过这两本书籍 ~
  8. NodeJS无所不能:细数10个令人惊讶的NodeJS开源项目
  9. Python学习笔记(十三)文件操作函数
  10. Tcpdump源码分析系列4:main函数继续研究
  11. AWVS 12下载与破解
  12. matlab画动图心,matlab动态心形图代码
  13. 单片机音频信号分析仪
  14. con 元器件符号_multisim元器件符号速查
  15. 列表 元组 字典的概念及其案例
  16. vue 选项卡切换
  17. 统一网关Geteway
  18. 一文看懂 LSTM(Long Short-Term Memory)
  19. python 官网下载地址
  20. 谈谈近期为什么没有写博客的动力

热门文章

  1. 写小程序,iphone手机不支持webp后缀的图片,怎么解决?
  2. 福利帖 - 医保存折金额取出(仅限北京)- 2018年
  3. string类型的函数大全
  4. indexDB 前端操作
  5. Ubuntu虚拟机安装步骤(图文教程,非常详细!!!)
  6. 从深交所2020年创新课题看券商的数智化布局
  7. 从盗版猖獗到全球瞩目,这些年中国音乐市场发生了什么?
  8. 拟牛顿法之BFGS算法
  9. java protostuff 好处_Java 序列化框架性能对比(kryo、hessian、java、protostuff)
  10. 学习随记四十五——希尔排序