- setDate异步
先有一需求,在小程序中实现倒计时,但是查看文档后发现小程序的setDate是异步的,所以就导致倒计时不准,或者渲染得很奇怪(一下子很快,一下子暂停)
2018-09-19 - 不同手机对于字符串转换成日期处理不一样
pc 及小米手机[图片] 苹果7p和魅族Pro5[图片]
2018-09-03 - 官方怎么看?只需两步获取任何微信小程序源码
看来此问题无解,结贴了,大家混淆下,该干啥干啥。 - 需求的场景描述 获取任何微信小程序源码的漏洞,官方怎么看 此问题年初的时候就有人爆出来过,后来以为修复了,不过目前来看仍然可用…… 希望能引起重视,要不然整合生态圈相当脆弱,虽然有侵权保护机制,但这只能保护到品牌,对于开发者来说如果被拿到源码,就成了原创者的血泪史了! - 希望提供的能力 希望能解决源码泄露的安全问题 如果目前还在不到从根本上解决问题的话,官方对我们开发者有什么好的建议可以临时性地解决此问题?
2018-09-06 - 开发者工具导致代码爆了 我已经不知道怎么办
������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ [图片] 昨天公司断电 写好的代码今天看成了这样 那个 谁的锅??? 还好项目刚开始 在写静态页面
2018-08-17 - 数据统计是统一按照中国时区计算,还是会根据查看人所在时区统计?
RT. 我是在加拿大的开发者,希望了解,实时统计的数据是按照本地时区,还是中国时区? 来源分析中,“日”这个单位是根据中国时区,还是本地时区?以及当天数据统计截止时间是零点么?
2018-08-16 - wx.pageScrollTo导致fixed元素抖动
如题。
2018-07-29 - setData时key为数组元素属性时,元素的index只能识别0-9?
[图片] 如上图,key为数组元素单个属性时,元素的index难道只能识别0-9纯数字?伪代码如下: index=fun(); //比如此时index为点击某item回传的位置 setData({ 'array[index].message' : '' }) 这样会报“APP-SERVICE-Engine:Only number 0-9 could inside [ ]……”的错误…… 这中常规需求居然不行吗?那setData真的谈不上“非常灵活”啊……只设置0-9的纯数字这个只有过家家写demo的时候才会这样做吧?真实项目中一般都是需要动态设置某个index对应元素的属性啊……难道非得要设置整个列表数据吗?然而你们的setData太多的时候也容易有性能问题啊…… 跪求官方大哥或者其它大哥解答,十分感谢 :)
2018-05-27 - 关于map组件设置markers的问题
- 需求的场景描述(希望解决的问题) [代码]<[代码][代码]map[代码] [代码]class[代码][代码]=[代码][代码]'map'[代码] [代码]id[代码][代码]=[代码][代码]'map'[代码] [代码]bindmarkertap[代码][代码]=[代码][代码]'bind_mkr_tap'[代码] [代码]bindcallouttap[代码][代码]=[代码][代码]'bind_mkr_callout_tap'[代码] [代码]bindtap[代码][代码]=[代码][代码]'bind_map_tap'[代码] [代码]longitude[代码][代码]=[代码][代码]"{{longitude}}"[代码] [代码]latitude[代码][代码]=[代码][代码]"{{latitude}}"[代码] [代码]markers[代码][代码]=[代码][代码]"{{markers}}"[代码] [代码]style[代码][代码]=[代码][代码]"height:{{map_height}}px;"[代码] [代码]show-location>[代码]</map> [代码][代码][代码]//获取点数据[代码][代码] [代码][代码]wx.request({[代码][代码] [代码][代码]url: getApp().data.net_config.service.host,[代码][代码] [代码][代码]header: getApp().data.net_config.service.header,[代码][代码] [代码][代码]method: [代码][代码]'POST'[代码][代码],[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]'pg'[代码][代码]: [代码][代码]'rcjg'[代码][代码],[代码][代码] [代码][代码]'type'[代码][代码]: [代码][代码]'ini_data'[代码][代码] [代码][代码]},[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码] [代码] [代码][代码]if[代码] [代码](getApp().data.util.json_state(res.data.state)) {[代码][代码] [代码][代码]let d = res.data.data[代码] [代码] [代码][代码]var[代码] [代码]index = [代码][代码]0[代码][代码] [代码][代码]for[代码] [代码]([代码][代码]var[代码] [代码]Key [代码][代码]in[代码] [代码]d) {[代码][代码] [代码][代码]//let markers_new = [];[代码][代码] [代码][代码]let g = map.bd09_To_Gcj02(d[Key].lng, d[Key].lat)[代码][代码] [代码][代码]let content = [代码][代码]"档案号:\n\r"[代码] [代码]+ d[Key].dah + [代码][代码]"\n\r店名:\n\r"[代码] [代码]+ d[Key].name[代码] [代码] [代码][代码]let iconPath = map.get_mkr_ico(d[Key].lx);[代码][代码] [代码][代码]//console.log(g)[代码][代码] [代码][代码]let markers_new = {[代码][代码] [代码][代码]id: d[Key].Id,[代码][代码] [代码][代码]mark_index: index,[代码][代码] [代码][代码]dah: d[Key].dah,[代码][代码] [代码][代码]name: d[Key].name,[代码][代码] [代码][代码]lx: d[Key].lx,[代码][代码] [代码][代码]callout: {[代码][代码] [代码][代码]content: content,[代码][代码] [代码][代码]display: [代码][代码]'BYCLICK'[代码][代码],[代码][代码] [代码][代码]textAlign: [代码][代码]'left'[代码][代码],[代码][代码] [代码][代码]borderRadius: [代码][代码]50[代码][代码] [代码][代码]},[代码][代码] [代码][代码]latitude: g[[代码][代码]1[代码][代码]],[代码][代码] [代码][代码]longitude: g[[代码][代码]0[代码][代码]],[代码][代码] [代码][代码]iconPath: iconPath,[代码][代码] [代码][代码]width: [代码][代码]20[代码][代码],[代码][代码] [代码][代码]height: [代码][代码]20[代码][代码] [代码][代码]}[代码][代码] [代码][代码]let pr = [代码][代码]"markers["[代码] [代码]+ index + [代码][代码]"]"[代码][代码] [代码][代码]let pr_list = [代码][代码]"markers_list["[代码] [代码]+ index + [代码][代码]"]"[代码][代码] [代码][代码]console.log(index)[代码][代码] [代码][代码]that.setData({ [pr]: markers_new, [pr_list]: markers_new })[代码][代码] [代码][代码]index++[代码][代码] [代码][代码]}[代码]因为点的数据有3000+条,大小超过了setData的限制,直接用that.setData({ markers: markers_new, markers_list: markers_new })会出问题,所以以上采用按数组一个一个设置。 实际效果是设置一个会全部重新加载一遍点,3000个点耗时1小时都还没完全加载。 换一个思路,将获取到的数据以1000个为一组进行分组,然后通过wxs进行组合,如下: [代码]//获取点数据[代码][代码] [代码][代码]wx.request({[代码][代码] [代码][代码]url: getApp().data.net_config.service.host,[代码][代码] [代码][代码]header: getApp().data.net_config.service.header,[代码][代码] [代码][代码]method: [代码][代码]'POST'[代码][代码],[代码][代码] [代码][代码]data: {[代码][代码] [代码][代码]'pg'[代码][代码]: [代码][代码]'rcjg'[代码][代码],[代码][代码] [代码][代码]'type'[代码][代码]: [代码][代码]'ini_data'[代码][代码] [代码][代码]},[代码][代码] [代码][代码]success: [代码][代码]function[代码] [代码](res) {[代码] [代码] [代码][代码]if[代码] [代码](getApp().data.util.json_state(res.data.state)) {[代码][代码] [代码][代码]let d = res.data.data[代码][代码] [代码][代码]let d_len =[代码][代码]0[代码][代码] [代码][代码]for[代码] [代码](let ever [代码][代码]in[代码] [代码]d) {[代码][代码]//计算长度[代码][代码] [代码][代码]d_len++;[代码][代码] [代码][代码]}[代码][代码] [代码][代码]let max_make_len = Math.ceil(d[d_len - [代码][代码]1[代码][代码]][[代码][代码]'Id'[代码][代码]] / [代码][代码]1000[代码][代码])[代码][代码] [代码][代码]// console.log(max_make_len)[代码][代码] [代码][代码]for[代码] [代码](let i = [代码][代码]0[代码][代码]; i < max_make_len; i++) {[代码][代码]//分组,防止数组过大[代码][代码] [代码][代码]that.data.make_map.push([])[代码][代码] [代码][代码]}[代码][代码] [代码] [代码] [代码][代码]// console.log(that.data.make_map)[代码][代码] [代码][代码]let index = [代码][代码]0[代码][代码] [代码][代码]for[代码] [代码](let Key [代码][代码]in[代码] [代码]d) {[代码][代码] [代码][代码]let g = map.bd09_To_Gcj02(d[Key].lng, d[Key].lat)[代码][代码] [代码][代码]let content = [代码][代码]"档案号:\n\r"[代码] [代码]+ d[Key].dah + [代码][代码]"\n\r店名:\n\r"[代码] [代码]+ d[Key].name[代码][代码] [代码][代码]let make_index = Math.ceil(Key / [代码][代码]1000[代码][代码])-[代码][代码]1[代码][代码] [代码][代码]let iconPath = map.get_mkr_ico(d[Key].lx);[代码][代码] [代码][代码]// console.log(make_index)[代码][代码] [代码][代码]let new_make = {[代码][代码] [代码][代码]id: d[Key].Id,[代码][代码] [代码][代码]mark_index: index,[代码][代码] [代码][代码]dah: d[Key].dah,[代码][代码] [代码][代码]name: d[Key].name,[代码][代码] [代码][代码]lx: d[Key].lx,[代码][代码] [代码][代码]callout: {[代码][代码] [代码][代码]content: content,[代码][代码] [代码][代码]display: [代码][代码]'BYCLICK'[代码][代码],[代码][代码] [代码][代码]textAlign: [代码][代码]'left'[代码][代码],[代码][代码] [代码][代码]borderRadius: [代码][代码]50[代码][代码] [代码][代码]},[代码][代码] [代码][代码]latitude: g[[代码][代码]1[代码][代码]],[代码][代码] [代码][代码]longitude: g[[代码][代码]0[代码][代码]],[代码][代码] [代码][代码]iconPath: iconPath,[代码][代码] [代码][代码]width: [代码][代码]20[代码][代码],[代码][代码] [代码][代码]height: [代码][代码]20[代码][代码] [代码][代码]}[代码][代码] [代码][代码]that.data.make_map[make_index].push(new_make)[代码] [代码] [代码][代码]index++[代码][代码] [代码][代码]}[代码][代码] [代码] [代码] [代码][代码]for[代码] [代码](let i = [代码][代码]0[代码][代码]; i < max_make_len;i++) {[代码][代码] [代码][代码]let pr = [代码][代码]"make_map["[代码] [代码]+ i + [代码][代码]"]"[代码][代码] [代码][代码]console.log(pr)[代码][代码] [代码][代码]that.setData({ [pr]: that.data.make_map[i] })[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]}[代码][代码] [代码][代码]})[代码][代码]<[代码][代码]wxs[代码] [代码]module[代码][代码]=[代码][代码]"map_make"[代码][代码]>[代码][代码]var make = function (d) {[代码][代码] [代码][代码]var make = [][代码][代码] [代码][代码]d.forEach(function (item, index) {[代码][代码] [代码][代码]make = make.concat(item)[代码][代码] [代码][代码]})[代码][代码] [代码][代码]return make[代码][代码]}[代码][代码]module.exports = {[代码][代码] [代码][代码]makes: make[代码][代码]};[代码][代码]</[代码][代码]wxs[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]map[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{true}}"[代码] [代码]class[代码][代码]=[代码][代码]'map'[代码] [代码]id[代码][代码]=[代码][代码]'map'[代码] [代码]bindmarkertap[代码][代码]=[代码][代码]'bind_mkr_tap'[代码] [代码]bindcallouttap[代码][代码]=[代码][代码]'bind_mkr_callout_tap'[代码] [代码]bindtap[代码][代码]=[代码][代码]'bind_map_tap'[代码] [代码]longitude[代码][代码]=[代码][代码]"{{longitude}}"[代码] [代码]latitude[代码][代码]=[代码][代码]"{{latitude}}"[代码] [代码]markers[代码][代码]=[代码][代码]"{{map_make.makes(make_map)}}"[代码] [代码]style[代码][代码]=[代码][代码]"height:{{map_height}}px;"[代码] [代码]show-location>[代码]</map> [代码][代码][代码] [代码]然而markers加载不出来,经for测试,数据没有问题。 [代码]<[代码][代码]block[代码] [代码]wx:if[代码][代码]=[代码][代码]"{{true}}"[代码] [代码]wx:for[代码][代码]=[代码][代码]"{{map_make.makes(make_map)}}"[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码][代码]> {{index}}: </[代码][代码]view[代码][代码]>[代码][代码] [代码][代码]<[代码][代码]view[代码][代码]> {{item.dah}} </[代码][代码]view[代码][代码]>[代码][代码]</[代码][代码]block[代码][代码]>[代码]- 希望提供的能力 1、多个markers数组可以直接组合。 2、setData能接收更多数据。 3、setData设置一个开关函数,全部赋值后,统一更新。 本人水平有限,如有解决办法,欢迎各位大大指正。
2018-07-20 - 原生icon显示不出
如下图,绿色方块区域是<icon type="success" size="40"/>这样的icon,但是显示不出来,在手机上调试连绿色的框也没有。 完全按照文档来做的,没有做什么特殊的处理。 在开发文档上icon预览在我的开发者工具上可以正常预览,因此不是我机子的问题,是代码问题,求解。 [图片]
2018-07-30 - 微信web开发者工具 一直在上载和下载 流量很大 不知道什么原因
最大时[图片] 一般情况 [图片] 经过测试 页面(Page)中的data数据量大时,如果频繁的调用setData就会造成这个原因, 因为我的页面有倒计时每秒都执行 setData 然后下载 和上传的流量就变大了 请问这是什么原因造成的?? @官方人员
2018-07-27