微信图像接口
来源:互联网 发布:权知开封府 编辑:程序博客网 时间:2024/05/29 11:29
前几天weiphp下做了一下微信图像接口的测试,实现了通过jssdk图像的拍照,选择上传等等,现在分享一下。
首先导入了一下微信给出的jssdk.php的类文件,写成Jssdk.class.php(注:我是在weiphp开发的),同时新建一个Api文件夹与控制器同一级,把Jssdk放在该文件夹下面然后在自己插件的控制器下面导入该类文件。
<span style="color:#ff0000;"> use Addons\Suggestions\Api\Jssdk;</span>实现文件的导入,
因此我们可以在控制器下实例化这个类文件。
<span style="color:#ff0000;"> $jssdk = new Jssdk("你的appId", "你的appSecret"); $signPackage = $jssdk->GetSignPackage();</span>
<span style="color:#ff0000;"> var_dump($signPackage);exit(); //你可以把获取的数据dump出来,然后注释掉。</span>
返回的<span style="font-family: Arial, Helvetica, sans-serif;">$signPackage包含了你接口注入权限,我们把返回的数据分配到前台</span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="color:#ff0000;"> $this->assign('app',$signPackage);</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="white-space: pre;"></span>因此我们在前台可以接收到我们需要的数据,把数据放在js里的里再次之前导入js库</span>
<span style="font-family:Arial, Helvetica, sans-serif;"></span><pre name="code" class="html">
<div >
<input type="button" id="chooseImage" value="选择图片">
</div>
<div >
<input id="previewImage" type="button" value="预览">
</div>
<div>
<input id="uploadImage" value="上传" type="button">
</div>
<div>
<input id="downloadImage" value="下载" type="button">
</div>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="color: rgb(51, 51, 51); font-family: 'Microsoft Yahei', 宋体, Tahoma, Arial; font-size: 14px; line-height: 21px;"> 在需要调用JS接口的页面引入如下JS文件,(支持https):</span><a target=_blank href="http://res.wx.qq.com/open/js/jweixin-1.0.0.js" class="external free" rel="nofollow" target="_blank" style="color: rgb(54, 103, 153); text-decoration: none; font-family: 'Microsoft Yahei', 宋体, Tahoma, Arial; font-size: 14px; line-height: 21px;">http://res.wx.qq.com/open/js/jweixin-1.0.0.js</a></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="color:#ff0000;"> var appId="{$app['appId']}"; var timestamp="{$app['timestamp']}"; var nonceStr="{$app['nonceStr']}"; var signature= "{$app['signature']}"; //alert(appId); // alert(timestamp); //alert(nonceStr); // alert(signature);</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="color:#ff0000;"> 然后配置congig</span></span>
<span style="font-family:Arial, Helvetica, sans-serif;"><span style="color:#ff0000;"><span style="white-space:pre"></span></span></span><pre name="code" class="javascript"> wx.config({ <span style="white-space:pre"></span>debug: false,//开始的时候填true <span style="white-space:pre"></span>appId: appId, timestamp:timestamp, nonceStr: nonceStr, signature: signature, jsApiList: [ <span style="white-space:pre"></span>'checkJsApi', <span style="white-space:pre"></span> 'onMenuShareTimeline', <span style="white-space:pre"></span> 'onMenuShareAppMessage', <span style="white-space:pre"></span> 'onMenuShareQQ', <span style="white-space:pre"></span> 'onMenuShareWeibo', <span style="white-space:pre"></span> 'hideMenuItems', <span style="white-space:pre"></span> 'showMenuItems', <span style="white-space:pre"></span> 'hideAllNonBaseMenuItem', <span style="white-space:pre"></span> 'showAllNonBaseMenuItem', <span style="white-space:pre"></span> 'translateVoice', <span style="white-space:pre"></span> 'startRecord', <span style="white-space:pre"></span> 'stopRecord', <span style="white-space:pre"></span> 'onRecordEnd', <span style="white-space:pre"></span> 'playVoice', <span style="white-space:pre"></span> 'pauseVoice', <span style="white-space:pre"></span> 'stopVoice', <span style="white-space:pre"></span> 'uploadVoice', <span style="white-space:pre"></span> 'downloadVoice', <span style="white-space:pre"></span> 'chooseImage', <span style="white-space:pre"></span> 'previewImage', <span style="white-space:pre"></span> 'uploadImage', <span style="white-space:pre"></span> 'downloadImage', <span style="white-space:pre"></span> 'getNetworkType', <span style="white-space:pre"></span> 'openLocation', <span style="white-space:pre"></span> 'getLocation', <span style="white-space:pre"></span> 'hideOptionMenu', <span style="white-space:pre"></span> 'showOptionMenu', <span style="white-space:pre"></span> 'closeWindow', <span style="white-space:pre"></span> 'scanQRCode', <span style="white-space:pre"></span> 'chooseWXPay', <span style="white-space:pre"></span> 'openProductSpecificView', <span style="white-space:pre"></span> 'addCard', <span style="white-space:pre"></span> 'chooseCard', <span style="white-space:pre"></span> 'openCard' <span style="white-space:pre"></span> ] });
<span style="white-space:pre"></span><pre name="code" class="javascript"> <span style="white-space:pre"></span>wx.ready(function () { // 在这里调用 API <span style="white-space:pre"></span> var images = { <span style="white-space:pre"></span> localId: [], <span style="white-space:pre"></span> serverId: [] <span style="white-space:pre"></span> }; <span style="white-space:pre"></span>document.querySelector('#chooseImage').onclick = function () { <span style="white-space:pre"></span> wx.chooseImage({ <span style="white-space:pre"></span> success: function (res) { <span style="white-space:pre"></span> images.localId = res.localIds; <span style="white-space:pre"></span> var image = document.createElement("img"); <span style="white-space:pre"></span> image.src = res.localIds; <span style="white-space:pre"></span> document.querySelector("#imageList").appendChild(image); <span style="white-space:pre"></span> } <span style="white-space:pre"></span> }); <span style="white-space:pre"></span> }<span style="white-space:pre"></span> <span style="white-space:pre"></span> document.querySelector("#previewImage").onclick = function(){ <span style="white-space:pre"></span>wx.previewImage({ <span style="white-space:pre"></span> <span style="white-space:pre"></span>current: "localIds", <span style="white-space:pre"></span> urls : [ <span style="white-space:pre"></span>"http://img3.douban.com/view/photo/photo/public/p2152117150.jpg", <span style="white-space:pre"></span>"http://img3.douban.com/view/photo/photo/public/p2152117150.jpg" <span style="white-space:pre"></span> ] <span style="white-space:pre"></span> }) <span style="white-space:pre"></span> } <span style="white-space:pre"></span> document.querySelector("#uploadImage").onclick = function(){ <span style="white-space:pre"></span>if(images.localId.length <= 0){ <span style="white-space:pre"></span>alert("请选择照片"); <span style="white-space:pre"></span>return false; <span style="white-space:pre"></span>} <span style="white-space:pre"></span>var i = 0, len = images.localId.length; <span style="white-space:pre"></span>function upload(){ <span style="white-space:pre"></span>wx.uploadImage({ <span style="white-space:pre"></span>localId: images.localId[i], <span style="white-space:pre"></span>isShowProgressTips:1, <span style="white-space:pre"></span>success : function(res){ <span style="white-space:pre"></span>i++; images.serverId.push(res.serverId); <span style="white-space:pre"></span> var serverId = res.serverId; <span style="white-space:pre"></span> alert(serverId); if(i<len){ upload(); <span style="white-space:pre"></span>} <span style="white-space:pre"></span>}, <span style="white-space:pre"></span>fail: function(res){ <span style="white-space:pre"></span>alert(JSON.stringify(res)); <span style="white-space:pre"></span>} <span style="white-space:pre"></span>}) <span style="white-space:pre"></span>} <span style="white-space:pre"></span>upload();<span style="white-space:pre"></span> }; <span style="white-space:pre"></span> document.querySelector("#downloadImage").onclick = function(){ <span style="white-space:pre"></span>if(images.serverId.length<=0){ <span style="white-space:pre"></span>alert("服务器端暂无照片"); <span style="white-space:pre"></span>return false; <span style="white-space:pre"></span>} <span style="white-space:pre"></span>var i = 0,len = images.serverId.length; <span style="white-space:pre"></span>alert(len); <span style="white-space:pre"></span>function down(){ <span style="white-space:pre"></span>wx.downloadImage({ <span style="white-space:pre"></span>serverId: images.serverId[i], <span style="white-space:pre"></span>isShowProgressTips: 1, <span style="white-space:pre"></span>success: function(res){ <span style="white-space:pre"></span>i++; <span style="white-space:pre"></span>alert(res.localId); <span style="white-space:pre"></span>if(i<len){ <span style="white-space:pre"></span>down(); <span style="white-space:pre"></span>}<span style="white-space:pre"></span> <span style="white-space:pre"></span>} <span style="white-space:pre"></span>}) <span style="white-space:pre"></span>} <span style="white-space:pre"></span>down(); <span style="white-space:pre"></span> } <span style="white-space:pre"></span> });基本上完成了。
0 0
- 微信图像接口
- 微信图像预览接口调用例子
- 微信JS-SDK之图像接口开发详解
- 微信JS-SDK之图像接口开发详解
- 微信JS-SDK图像接口的具体实现
- PHP+TP框架实现使用微信图像接口
- 微信开发<1>——图像拍照接口实现
- 微信图像接口:拍照或从手机相册中选图接口chooseImage+预览图片接口previewImage+上传图片接口uploadImage+下载图片接口downloadImage
- 微信接口
- 微信接口开发
- 微信素材接口
- 微信支付接口
- 微信分享接口
- 微信JS接口
- 微信接口备忘
- 微信相关接口
- 微信接口整理
- 微信接口封装
- windows系统中国国内镜像网站上用repo下载Android5.0源码
- 开学至此时总结。(月末总结好像一直没写)
- 26. Remove Duplicates from Sorted List
- LeetCode Median of Two Sorted Arrays
- Flatten Binary Tree to Linked List
- 微信图像接口
- Count-Primes
- Convert Sorted Array to Binary Search Tree
- linux—select详解
- Linux 网络设置 ubuntu和 redhat/centos/fedora的不同
- path_sum2
- Ubuntu中安装jdk1.8.0
- 令人崩溃的编译通过之一——删除双向链表的节点
- VRRP和HSRP的区别: