看是不是你的https页面中又访问了http的页面
配置了业务域名,还是提示“不支持打开非业务域名”[图片] —————————————————————————————— [图片] —————————————————————————————— [图片] —————————————————————————————— 在开发者工具里,勾选下面这个选项后可以打开,但是上传审核发布成功了,还是打不开 不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书
2018-06-27没有遇到过你这样的问题~
为什么开发者工具上的调试器中的Wxml 很经常显示不出来啊?为什么开发者工具上的调试器中的Wxml 很经常显示不出来啊? 很影响开发效率啊,想调试都不好调试 ,只能关闭再重新打开编辑器,有啥办法解决吗[图片]
2018-06-19我是个人主体,无法体验webview,帮不上忙哈~~~
请问如何andriod真机调试小程序中webview的js代码呢?请问如何andriod真机调试小程序中webview的js代码呢? tbs studio 1.3.3 定位不了小程序中的webview。
2018-06-13出于安全考虑,[代码]api.weixin.qq.com[代码] 不能被配置为服务器域名,相关API也不能在小程序内调用。 说你是bug,是因为不管wx.request那个服务器上的图片,返回的都是错误的数据~~~
Bug:wx.request返回的图片数据已不是原来的数据◆◆◆◆◆◆◆◆◆◆◆wx.request发送请求,返回的信息被包装成一个对象res={data:xxx,header:xxx, ... } 通过res.data可以获取返回的数据,对于返回的二进制数据,包装成一个字符串的形式,不知你们是如何包装的,对字节高位是1的所有字节都没有正确返回,某些情况下还会丢失字节,已经不能还原实际应该返回的数据,请进行修改。 bug造成最明显的例子就是返回的图片二进制数组无法转换成base64格式显示出来,虽然提供有转换的方法,但已经变成了摆设,因为获取的数据是错误的,怎么转换也不可能获取正确的结果去显示图片。 如果是你们有意为之,请在文档中作一说明,就是无法处理返回图片二进制数据的情况。
2018-06-09谢谢阳光H 你是说在服务器端编程吗? 先不说安全性问题,就是我上面代码的思路,是哪里错了,造成图片显示不出来呢? 你的回复我再慢慢消化一下,再次表示感谢?
获取小程序码base64后无法显示,请给出方法或思路,别让大家在这里瞎折腾好吗?[代码]wx.request({ [代码][代码]//获取小程序码[代码][代码] [代码][代码]url: [代码][代码]"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="[代码] [代码]+ getApp().globalData.access_token, //获取小程序码[代码][代码] [代码][代码]header: {[代码][代码] [代码][代码]'content-type'[代码][代码]: [代码][代码]'application/json'[代码][代码] [代码][代码]},[代码][代码] [代码][代码]data:{[代码][代码] [代码][代码]scene: json.content,[代码][代码] [代码][代码]page:[代码][代码]"pages/news/detial"[代码][代码],[代码][代码] [代码][代码]width:430[代码][代码] [代码][代码]},[代码][代码] [代码][代码]method:[代码][代码]"POST"[代码][代码],[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]console.log(res);[代码][代码] [代码][代码]var[代码] [代码]json = res.data;[代码][代码] [代码][代码]console.log([代码][代码]"json.length="[代码] [代码]+ json.length);[代码][代码] [代码][代码]console.log([代码][代码]"content length="[代码] [代码]+ res.header[[代码][代码]'Content-Length'[代码][代码]]);[代码][代码] [代码][代码]var[代码] [代码]a =[代码][代码]new[代码] [代码]Uint8Array(json.length)[代码][代码] [代码][代码]for[代码][代码]([代码][代码]var[代码] [代码]i=0;i<json.length;++i){[代码][代码] [代码][代码]a[i]=json.charCodeAt(i);[代码][代码] [代码][代码]}[代码][代码] [代码][代码]var[代码] [代码]b = wx.arrayBufferToBase64(a);[代码][代码] [代码][代码]console.log(b.substring(0,100))[代码][代码] [代码][代码]that.setData({ img: b })[代码][代码] [代码][代码]wx.hideNavigationBarLoading();[代码][代码] [代码][代码]}[代码][代码]})[代码]console.log返回的结果: {data: "����", header: {…}, statusCode: 200, errMsg: "request:ok"} json.length=91729 content length=96702 /f39/QAQSkZJRgABAQAAAQABAAD9/QBDAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEB 可以看出: res.data是字符串格式的图片数据,然而转换成base64后图片并不能显示出来, 请问微信的技术人员,该如何显示潘慧的小程序码图片呢? 如果现在显示不出来,能不能说一声,避免大家浪费数据在这里瞎测试, 如果能显示,请给出方法或思路,别让大家在这里瞎折腾好吗????
2018-06-07获取“小程序码“是图片二进制数据,你是如何显示的呢?你能返回图片的连接地址吗?帮忙看看下面的连接,谢谢哈~~ https://developers.weixin.qq.com/blogdetail?action=get_post_info&lang=zh_CN&token=2050079940&docid=0008e69ea48f78b8fad65b79f56800
后台返回的二进制二维码数据如何在小程序canvas上面显示后台返回的二进制二维码数据如何在小程序canvas上面显示
2018-06-06不行啊,发送的是获取小程序码的请求,我无法控制啊 [代码]wx.request({ [代码][代码]//获取小程序码[代码][代码] [代码][代码]url: [代码][代码]"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="[代码] [代码]+ getApp().globalData.access_token, //仅为示例,并非真实的接口地址[代码][代码] [代码][代码]header: {[代码][代码] [代码][代码]'content-type'[代码][代码]: [代码][代码]'application/json'[代码] [代码]// 默认值[代码][代码] [代码][代码]},[代码][代码] [代码][代码]data:{[代码][代码] [代码][代码]scene: json.content,[代码][代码] [代码][代码]page:[代码][代码]"pages/news/detial"[代码][代码],[代码][代码] [代码][代码]width:430[代码][代码] [代码][代码]},[代码][代码] [代码][代码]method:[代码][代码]"POST"[代码][代码],[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]var[代码] [代码]json = res.data;[代码][代码]//获取的html文本信息[代码][代码] [代码][代码]console.log([代码][代码]'小程序码:'[代码][代码])[代码][代码] [代码][代码]console.log(res);[代码][代码] [代码][代码]// that.setData({img: json})[代码][代码] [代码][代码]wx.hideNavigationBarLoading();[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码]
wx.request返回的是图片的二进制数据,如何用image控件将其显示出来?同标题
2018-06-06发现确实是必须发布的小程序才能生成 小程序码。 问题又来了,返回的res.data中包含的是图片的二进制数据,如何将其显示出来到image控件中呢?
接口B生成小程序码,正常时返回的是什么内容?如何去显示图片?文档上怎么没说啊?关于二维码的文档在这里: [代码]https:[代码][代码]//developers.weixin.qq.com/miniprogram/dev/api/qrcode.html[代码] [代码]怎么调用,说的很清楚,但正确时返回的是什么,怎么去显示图片却没有说,下面的测试显示老出错,不知道该如何处理,请大咖们指点,非常感谢~~~[代码] [代码]是不是只能在小程序发布之后才能使用?若还没有发布该如何测试?[代码] [代码]wx.request({ [代码][代码]//获取小程序码[代码][代码] [代码][代码]url: [代码][代码]"https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token="[代码] [代码]+ getApp().globalData.access_token, //仅为示例,并非真实的接口地址[代码][代码] [代码][代码]header: {[代码][代码] [代码][代码]'content-type'[代码][代码]: [代码][代码]'application/json'[代码] [代码]// 默认值[代码][代码] [代码][代码]},[代码][代码] [代码][代码]data:{[代码][代码] [代码][代码]scene: json.content,[代码][代码] [代码][代码]page:[代码][代码]"pages/index/join"[代码][代码] [代码][代码]},[代码][代码] [代码][代码]method:[代码][代码]"post"[代码][代码],[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码][代码] [代码][代码]var[代码] [代码]json = res.data;[代码][代码]//获取的html文本信息[代码][代码] [代码][代码]console.log([代码][代码]'小程序码:'[代码][代码])[代码][代码] [代码][代码]console.log(json);[代码][代码] [代码][代码]}[代码][代码]})[代码] 控制台显示的是: 小程序码: {errcode: 41030, errmsg: "invalid page hint: [gy9pia04258927]"}
2018-06-06下面是代码片段,单击可以直接在本地开发环境中测试,刚学会,大家看看啊,一定要输入数据 <a href="wechatide://minicode/xS61NNmf6aZn" target="_blank">wechatide://minicode/xS61NNmf6aZn</a> 有人回答问题吗?
出现的弹窗总是透明,很不爽,应该是bug,有截图,有源码请诊断一下是否是bug,无法阻止透明,用背景图片,用透明度等,都不行!!! 绿色按钮没有透明 [图片] 文本透出来了 [图片] 文本透出来了 [图片] 文本透出来了 [图片] 下面是源代码: app.wxss .k{ display: flex; align-items: center; padding:0 10px; font-size:14px; height:36px; } .j{ color:#333; font-weight: normal; flex-shrink:0;} .c{ color:#999; flex-grow:1; flex-shrink: 1; position: relative; line-height: 1.8; padding:5px; } .in{ padding:3px 5px; border-radius: 5px; border:1px solid gray; margin-right: 6px;} radio,checkbox{padding: 5px ; color:black; } .panel{position: absolute; top:0;right:-53px; background:url(https://www.sxldfang.cn/p8/ba.png) ; padding:10px; z-index: 1; border-radius: 10px; max-height: 200px; overflow-y: auto; border:1px solid #666; } .h{line-height: 2;margin:5px ; font-size:14px; } .kong{height:100px;} .jj{text-indent: 2em; font-size: 14px; color:#333; padding: 10px; line-height: 1.8; } me.wxml <view wx:for="{{person}}" class='k'> <text class='j'>{{item.c}}:</text> <input wx:if="{{item.t==0}}" class='c in' data-index='{{index}}' bindfocus='sc' bindinput='sc' value="{{item.v}}"></input> <view wx:elif="{{item.t==1}}" data-who='menu' class='c' bindtap='sc' data-index='{{index}}'> <text data-who='menu'>{{item.v?item.v:'单击去选择...'}}</text> <view class='panel' style="display:{{item.s?'block':'none'}}; background:#ccc; opacity:1;" > <radio-group data-who='group' data-index='{{index}}' bindchange="sc"> <radio wx:for="{{item.i}}" wx:for-item='it' wx:for-index='in' value="{{it}}" checked='{{item.v===it?true:false}}' >{{it}}</radio> </radio-group> <button class='h' data-who='hide'>隐藏</button> </view> </view> <view wx:elif="{{item.t==2}}" data-who='menu' class='c' bindtap='sc' data-index='{{index}}'> <text data-who='menu'>{{item.v?item.v:'单击去选择...'}}</text> <view class='panel' style="display:{{item.s?'block':'none'}}; background:#ccc; opacity:1;" > <checkbox-group data-who='group' data-index='{{index}}' bindchange="sc" > <checkbox wx:for="{{item.i}}" wx:for-item='it' wx:for-index='in' value="{{it}}" checked='{{item.m[in]?true:false}}' >{{it}}</checkbox> </checkbox-group> <button class='h' data-who='hide'>隐藏</button> </view> </view> <switch checked bindchange="switch1Change"/> </view> me.js var me=getApp().globalData.me; // pages/index/me.js Page({ /** * 页面的初始数据 */ data: { lastIndex:-1, person: [ // j简拼 c中文名 t数据类型(0-输入框,1-单选,3-多选) i单选或多选的选项 s是否显示单选多选界面(true显示,false隐藏) m初始化多选界面的对勾情况 { j: 'name', c: '姓名', t: 0, }, { j: 'sex', c: '性别', t: 1, i:['男','女'] }, { j: 'mz', c: '民族', t: 1, i: ['汉族', '壮族', '满族', '回族', '苗族', '维吾尔族', '土家族', '彝族', '蒙古族', '藏族', '布依族', '侗族', '瑶族', '朝鲜族', '白族', '哈尼族', '哈萨克族', '黎族', '傣族', '畲族', '傈僳族', '仡佬族', '东乡族', '高山族', '拉祜族', '水族', '佤族', '纳西族', '羌族', '土族', '仫佬族', '锡伯族', '柯尔克孜族', '达斡尔族', '景颇族', '毛南族', '撒拉族', '布朗族', '塔吉克族', '阿昌族', '普米族', '鄂温克族', '怒族', '京族', '基诺族', '德昂族', '保安族', '俄罗斯族', '裕固族', '乌孜别克族', '门巴族', '鄂伦春族', '独龙族', '塔塔尔族', '赫哲族', '珞巴族'] }, { j: 'xx', c: '血型', t: 1, i: ['A型', 'B型', 'AB型', 'O型'] }, { j: 'hf', c: '婚否', t: 1, i: ['已婚', '未婚'] }, { j: 'ah2', c: '爱好', t: 2, i: ['跑步', '游泳', '网球', '羽毛球', '乒乓球', '爬山', '旅游'] }, { j: 'jg', c: '籍贯', t: 0 }, { j: 'tel', c: '电话', t: 0 }, { j: 'qq', c: 'QQ', t: 0 }, { j: 'email', c: '邮箱', t: 0 }, { j: 'zw', c: '职务', t: 0 }, { j: 'zc', c: '职称', t: 0 }, { j: 'zdxx', c: '在读学校', t: 0 }, { j: 'bj', c: '在读班级', t: 0 }, { j: 'xh', c: '在读学号', t: 0 }, { j: 'byyx', c: '毕业院校', t: 0 }, { j: 'dw', c: '工作单位', t: 0 }, { j: 'bm', c: '工作部门', t: 0 }, { j: 'id', c: '身份证号', t: 0 }, { j: 'kc', c: '教授课程', t: 0 }, { j: 'edu', c: '最高学历', t: 1, i: ['博士', '硕士', '本科', '专科(高专、高职、高技)'] }, { j: 'zzmm', c: '政治面貌', t: 1, i: ['中共党员', '中共预备党员', '共青团员', '民革党员', '民盟盟员', '民建会员', '民进会员', '农工党党员', '致公党党员', '九三学社社员', '台盟盟员', '无党派人士', '群众'] }, { j: 'fz', c: '服装号码', t: 1, i: ['XXXL', 'XXL', 'XL', 'L', 'M', 'S', 'XS', 'XXS'] }, { j: 'jjxm', c: '紧急联系人', t: 0 }, { j: 'jjdh', c: '联系人电话', t: 0 }, ], }, sc:function(e){ var i = e.currentTarget.dataset.index; var change = {} if (e.type === 'input') { change["person[" + i + "].v"] = e.detail.value; }else if (e.type === 'focus' && this.data.lastIndex !== -1){ change["person[" + this.data.lastIndex + "].s"] = false; change.lastIndex = -1; }else{ var who = e.target.dataset.who; if(!who)return; if (who==='hide'){ change["person[" + i + "].s"] = false; change.lastIndex = -1; } else if ( who === 'menu' ){ if (this.data.lastIndex !== -1){ change["person[" + this.data.lastIndex + "].s"] = false; } this.data.lastIndex = i; change["person[" + i + "].s"] = true; } else if(who=='group'){ var v=e.detail.value; if(typeof(v)==='string'){//单选 change["person[" + i + "].s"]=false; } change["person[" + i + "].v"] = v.length == 0 ? '单击去选择...' : v; } } this.setData(change) }, /** * 生命周期函数--监听页面加载 */ onLoad: function (options) { }, /** * 生命周期函数--监听页面初次渲染完成 */ onReady: function () { console.log(me) var p=this.data.person; var change={}; for(var i=0;i<p.length;++i){ if(me[p[i].j]){ change["person[" + i + "].v"] = me[p[i].j]; if (p[i].t == 2){//处理多选,单选无需处理,因为逻辑比较简单 var t = ","+me[p[i].j]+",";// ,跑步,游泳,羽毛球, for(var j=0;j<p[i].i.length;++j){ change["person[" + i + "].m[" + j + "]"] = t.indexOf(","+p[i].i[j]+",") >= 0;//记录选择的是第几项 } } } } this.setData(change); }, /** * 生命周期函数--监听页面显示 */ onShow: function () { }, /** * 生命周期函数--监听页面隐藏 */ onHide: function () { console.log('hide') var me={}; var p = this.data.person; for(var i=0;i<p.length;++i){ if(p[i].v) me[p[i].j]=p[i].v; } getApp().globalData.me=me; }, /** * 生命周期函数--监听页面卸载 */ onUnload: function () { }, /** * 页面相关事件处理函数--监听用户下拉动作 */ onPullDownRefresh: function () { }, /** * 页面上拉触底事件的处理函数 */ onReachBottom: function () { }, /** * 用户点击右上角分享 */ onShareAppMessage: function () { } })
2018-05-30