小程序常见问题FAQs

  • new Date('yyyy-MM-dd HH:mm:ss')
    这种格式在部分系统/手机型号里面,是无法解析出日期对象的!需要替换'-'为'/'
  // "2022-01-01" to  Date() 对象
  function dayString2Date(string) {
    var date = new Date(string.replace(/-/g,   "/"));  
    return date
  }

1、开放能力:
open-type='getPhoneNumber' bindgetphonenumber="bindGetPhoneNumber"
通过微信开放组件获取手机号码,
报错‘该appid没有权限’
原因:小程序没有进行‘微信认证’。可在小程序公众号管理后台,进入设置页面,找到‘微信认证’,然后点详情去认证。认证需要¥300;(目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体)。)

2、<scroll-view>内部用以下代码没用!!其子视图DirectSon必须要占100%宽度才能居中。DirectSon内部视图可用如下代码居中

  display: flex;
  flex-direction: column;
  align-items: center;

3、不要限制<scroll-view>的高度!!!其height属性将限制内部子视图可见部分!

4、移动端new Date(dateString) 返回undefined,
解决办法:
let date = new Date(time.replace(/-/g, "/"))

5、设置url白名单,可能要超过6小时才生效。。。

6、页面间传递xml标签
解决办法:
string先转化为二进制,再还原

//将字符串转换成二进制形式,中间用空格隔开
function strToBinary(str){
    var result = [];
    var list = str.split("");
    for(var i=0;i<list.length;i++){
        if(i != 0){
            result.push(" ");
        }
        var item = list[i];
        var binaryStr = item.charCodeAt().toString(2);
        result.push(binartStr);
    }   
    return result.join("");
}
 
console.log(strToBinary("我们")); //110001000010001 100111011101100
console.log(strToBinary("@%$+")); //1000000 100101 100100 101011
 
//将二进制字符串转换成Unicode字符串
function binaryToStr(str){
    var result = [];
    var list = str.split(" ");
    for(var i=0;i<list.length;i++){
         var item = list[i];
         var asciiCode = parseInt(item,2);
         var charValue = String.fromCharCode(asciiCode);
         result.push(charValue);
    }
    return result.join("");
}
console.log(binaryToStr("110001000010001 100111011101100")); //我们
console.log(binaryToStr("1000000 100101 100100 101011")); //@%$+

7、图片上添加控件(如拍照上传,右上角显示删除按钮,右下角显示上传状态。)

wxml:
<view class='imageView'>
  <image class='image></image>
  <image class='deleteBtn' src='----/deleteIcon.png' wx:if='{{hasImage}}'>
   <image class='stateIcon' src='{{stateIcon}}>
</view>
css:
.imageView {
  position: relative;
  width: 60pt;
  height: 55pt;
}
.image {
  position: absolute;
  width: 60pt;
  height: 55pt;
  top: 0;
  left: 0;
}
.deleteBtn {
  width: 20pt;
  height: 20pt;
  position: absolute;
  top: 3pt;
  right: 3pt;
}
.stateIcon {
  width: 15pt;
  height: 15pt;
  position: absolute;
  bottom: 3pt;
  right: 3pt;
}

8、padding(无效/没有按照预期生效)的问题
比如,

<view class='pageView'>
  <view class='header'>
    <text>我是左边文本</text>
    <text>我是又边文本</text>
  </view>
</view> 

.pageView {
  width: 100vmin;
}
.header {
  width: 100%;
  height: 30pt;
  display: flex;
  justify-content: space-between;
  padding-left: 10pt;
  padding-right: 10pt;
}

我们预期是2边各缩进10pt,


预期想要的约束

但实际上,它是这样的,


错误的约束结果!

我明明是要2边都缩进,为什么右边确没有缩进?反而还超出了屏幕界限?就算设置padding-right: -10pt;也还是错上加错!
正确的做法是,.header内加上一句
.header {
  ......
  box-sizing: border-box;
}

就行了。默认box-sizing是content-box,padding和margin都是往外扩张!加上border-box后,box大小固定后,padding是向内缩进的!这才是我们想要的结果!

9、本月(201911)调试,在<map>标签内添加控件用的是cover-view,cover-image,但是IDE提示不需要用这2个控件了,可以直接用view,image代替。然后替换过来,果然OK哇!上线后,很多用户打电话过来说页面错了。。。N,M,M-P,没成熟的东西在IDE一直提示叫我去用!最后只能又用回cover-view,cover-image。

10、维护别人写的项目,wepy中的@tap方法带了参数,如@tap='commit({{value1,value2}})',结果每天一大波客服电话说这个页面显示空白,那个页面显示空白。但是我们测试确实从来没出现过空白。我猜测是wepy里面这种写法有bug,在部分设备上会导致页面渲染失败。于是替换成了不带参数写法,参数仍然用小程序传统方式传值。改完之后,就没有人再打电话说页面空白了。wepy坑死你Dady啊!

11、父视图有圆角border-radius,被子视图覆盖掉了。
解决:

.fatherView {
....
  border-radius: 4pt;
  overflow: auto;
}

12、view/image被text压缩宽度

文字少时显示正常,
文字少的时候正常

文字多的时候左侧图标就被挤扁了
图标被挤扁了

我们期望是这样的:
始终保证左侧图标宽度不被压缩

这个涉及到一些约束条件优先级问题,解决的办法是给左侧图标设置min-width属性:
.icon {
  width: 20pt;
  height: 20pt;
  /* 必须写min-width,否则当文字超长时,会把图片挤扁! */
  min-width: 20pt;
  min-height: 20pt;
  margin-left: 8pt;
  margin-right: 8pt;
}

13、PS修改保存图片后图片大小翻了几倍甚至几十倍!(小程序大小不能超过2M,图片过大是不被允许的!)
菜单栏找到:文件——存储为WEB所用格式——预设那里调整为:PNG-8 128仿色,然后点击“存储”,这个方法可以缩小图片占空间的大小,但有个大问题--半透明色会变不透明。最优办法使用第三方压缩软件,如PNGoo.exe

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 214,951评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,606评论 3 389
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 160,601评论 0 350
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,478评论 1 288
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,565评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,587评论 1 293
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,590评论 3 414
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,337评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,785评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,096评论 2 330
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,273评论 1 344
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,935评论 5 339
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,578评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,199评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,440评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,163评论 2 366
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,133评论 2 352

推荐阅读更多精彩内容