- chooseImage最近使用时,手机端总是显示permission denied,这是什么原因?
使用chooseImage时,在开发者工具中能打开浏览照片,但是在手机端总是显示permission denied,不知道怎么处理。 代码如下: vm.TakingPictures = function () { wx.ready(function () { wx.checkJsApi({ jsApiList: [ 'chooseImage', 'previewImage', 'uploadImage', 'downloadImage' ], success: function (res) { // alert(JSON.stringify(res)); // alert(JSON.stringify(res.checkResult.getLocation)); if (res.checkResult.getLocation == false) { alert('你的微信版本太低,不支持微信JS接口,请升级到最新的微信版本!'); return; } else { // alert("111111"); wx.chooseImage({ count: 1, //sizeType: ['original', 'compressed'], //sourceType: ['album', 'camera'], sourceType: ['camera'], success: function (res) { alert(res.localIds); vm.images.localId = res.localIds; if (vm.images.localId.length == 0) { alert('请先使用 chooseImage 接口选择图片'); return; } var i = 0, length = vm.images.localId.length; vm.images.serverId = []; function upload() { var localid = vm.images.localId[i]; wxgetLocalImgData(localid, i); wx.uploadImage({ localId: localid, success: function (res) { i++; vm.images.serverId.push(res.serverId); if (i < length) { upload(); } }, fail: function (res) { alert(JSON.stringify(res)); } }); } upload(); }, fail: function (res) { // location.reload(this); alert("权限不足,相机启动失败!"); } }) } } , fail: function (res) { alert("启动失败!"); } }); }); }
2020-10-08 - 开发公众号,相机在安卓上可以调用,在IOS上无法调用?
在IOS上报错 调取摄像头失败 Object { "errMsg": "chooseImage:... 调取摄像头失败 Object { "errMsg": "chooseImage:... errMsg: "chooseImage:the permission value is offline verifying" __proto__: Object __proto__: null 但是在安卓上可以正常调用 weixin-jsapi版本是 1.1.0 代码如下 点击之前已设置了config wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: res.data.appId, // 必填,公众号的唯一标识 timestamp: res.data.timestamp, // 必填,生成签名的时间戳 nonceStr: res.data.nonceStr, // 必填,生成签名的随机串 signature: res.data.signature, // 必填,签名 jsApiList: ['getLocation', 'chooseImage', 'uploadImage', 'downloadImage'] // 必填,需要使用的JS接口列表 }) //调取摄像头 <div class="upload" @click="ready"> {{ text }} </div> //方法 ready () { wx.ready(() => { wx.chooseImage({ count: 1, // 默认9 sizeType: ['compressed'], // 可以指定是原图还是压缩图,默认二者都有 sourceType: ['camera'], // 可以指定来源是相册还是相机,默认二者都有 success: (res) => { this.localId = res.localIds[0] // 返回选定照片的本地ID列表,localId可以作为img标签的src属性显示图片 wx.uploadImage({ localId: this.localId, // 需要上传的图片的本地ID,由chooseImage接口获得 isShowProgressTips: 1, // 默认为1,显示进度提示 success: (res) => { var serverId = res.serverId // 返回图片的服务器端ID console.log('服务器端id', serverId) const params = { groupId: this.groupId, mediaId: serverId } GetImgFileUrl(params).then(res => { const path = res.data this.readyToLogin(path) }) }, fail: (err) => { console.log('上传图像失败', err) } }) }, fail: (err) => { console.log('调取摄像头失败', err) } }) }) },
2020-10-15 - 服务号中使用 wx-open-launch-weapp 真机点击没反应?
[图片][图片] [图片] [图片]
2020-07-14 - 小程序跳转按钮:<wx-open-launch-weapp>部分机型适配的问题 标题必须有问号?
背景: 1、拥有认证服务号 2、JS接口安全域名已配置 3、网站正常使用 需求:在网站内添加跳转小程序功能 实现:vue组件 <template> <div class="components-details" v-if="reday" :span="24"> <wx-open-launch-weapp style="display:block; width:100%;height:100%;" class="launch-btn" id="launch-btn" :username="appid" :extinfo="path"> <script type="text/wxtag-template"> <style> .btn { width: 100%; height: 100%; font-size:15px; color:#ffffff; line-height: 45px; background-color: #e60039; margin: 0 auto; text-align: center; } </style> <div class="btn">前往小程序</div> </script> </wx-open-launch-weapp> </div> </template> <script> //获取配置接口 import { getWxConfigInfo } from '@/api/goods' export default { props: { appid: { type: String, default: '' }, path: { type: String, default: 'pages/index/index.html' } }, data() { return { reday: false }; }, created() { this.getConfig() }, methods: { getConfig() { let wxurl = window.location.href.split('#')[0]; //获取签名的地址 vue hash模式 const that = this; getWxConfigInfo({ appid: '你的服务号appid', requesturl: wxurl }).then(res => { if (res.code == '0') { //这里直接用wx是因为项目在index.html 引入了https://res.wx.qq.com/open/js/jweixin-1.6.0.js //当然也可以用import方式引入再使用 wx.config({ debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId: res.data.appId, // 必填,公众号的唯一标识 timestamp: res.data.timestamp, // 必填,生成签名的时间戳 nonceStr: res.data.nonceStr, // 必填,生成签名的随机串 signature: res.data.signature, // 必填,签名,见附录1 jsApiList: ['onMenuShareTimeline'], // 所有要调用的 API 都要加到这个列表中,即使 不使用任何API也必须填一个,不填的话按钮不会显示 openTagList: ['wx-open-launch-weapp'],//小程序跳转组件 success: function (res) { // alert(JSON.stringify(res)); // console.log(res) // 以键值对的形式返回,可用的api值true,不可用为false // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"} }, cancel: function () { reject(); }, fail: function (err) { console.log(err) reject(err) } }); // config成功 wx.ready(function () { // 成功后显示<wx-open-launch-weapp>标签 that.reday = true; }) } }) } } }; </script> <style scoped lang="scss"> .components-details { width: 100%; height: 100%; } </style> 效果: iPhone手机能正常显示(低版本没有测试) [图片] 2部小米手机无法显示按钮安卓10,微信7.0.16 [图片] 2部OPPO手机无法显示 安卓10,微信7.0.15 [图片] 华为P30无法显示 安卓9 微信7.0.15
2020-07-16