小程序开发

2022-02-23 14:10阅读 202
  • 客服能力规则

    客户发送一条,客服最多可回复5条,且在48小时内

    客服不能主动搭话(之前可以设置一条欢迎语)

  • 小程序的生命周期

    App级 onLaunch onShow onHide

    Page级 onLoad onShow onReady onHide onUnload

    Component级 created attached detached

  • 不得在小程序初始页面设置强制授权弹窗中断用户后续流程(部分类目可以)

  • 小程序引导关注公众号,使用微信提供的组件official-account,但是这个限制较多,还有一种方式是跳转至webview中,内容是引导长按识别的推文。

  • 一些原生能力返回会触发App、Page 的onShow 和 的onHide (例如 地图,电话,分享, 客服会话, 选择图片)

  • 原生组件的事件监听不能使用 bind:eventname 的写法,只支持 bindeventname。原生组件也不支持 catch 和 capture 的事件绑定方式

  • 获取手机号等一些用户信息时需要用户点击按钮来手动触发

  • WXSS无法获取本地资源图片,可以使用网络图片,或者 base64,或者使用标签

  • 小程序根目录下的 sitemap.json文件可以配置哪些页面可以被爬取,类似于rebot.txt

  • 注意iOS中 的日期格式问题

  • WXML中{{}} 变量不能换行

  • Textarea 组件 在 fixed布局下光标显示问题

  • text 组件 可以识别 \r 等转义字符,view 组件不可以

  • 小程序中 request请求需要白名单中声明才可以调用

  • 小程序中 webview的地址 需要通过域名校验(绑定的公众号的文章例外),最多支持100个

  • 服务域名和业主域名都需要走https协议

  • 保存图片需要提前在服务域名的download中声明

  • 小程序端绘制海报需要头像时记得把微信头像地址在download声明

  • createOffScreenCanvas设置宽高是最大不能超出4000px,否则真机下会返回null(IDE正常返回 OffscreenCanvas 对象)

  • 小程序中不能长按识别普通二维码

  • image组件添加show-menu-by-longpress可以长按弹出菜单,有腾讯相关二维码,可以识别

  • tabbar 最多5项 最少2项,并且不能是分包页面

  • 小程序运营指标和性能指标都达到优秀,可以享受2小时内审核特权

  • 一个开发者的微信账号可以加50个小程序开发者

  • 插件个数不能超出10个

  • 小程序分享可通过参数来知道是通过右上角菜单转发还是点击按钮转发

  • 小程序可以让用户主动订阅消息通知来达到 主动给用户推消息的目的

  • 小程序组件中样式隔离策略:

    默认组件中的样式是完全隔离的,不会受page和app影响,也不会影响父容器

    配置styleIsolation属性: isolated 启用隔离(默认),apply-shared page中样式会影响component, component不会影响page,sharedpage和component互相影响

    注:app和page中配置标签选择器会影响子组件

    view { color: red; }
    

    想使用个别app或page中样式又不想开启styleIsolation配置,可以使用 ~,例如使用某个字体图标 <text class="~iconfont ~icon-plus" />

    引用该组件的父组件的样式可以使用 ^,例如 <text class="^parent-component-class">我显示的是父组件的样式</text>

  • 小程序中使用iconfont ,可以在iconfont配置勾选 WOFF2和 Base64,生成的css文件保存为wxss到项目,再使用 @import './iconfont.wxss';引入到app.wxss中

  • 在component中,使用 this.setUpdatePerformanceListener 函数可以查看性能开销

  • 小程序分包限制: 小程序包(主包/分包)不能超出2M,所有分包之和不能大于20M

  • 在微信开发者工具中调试面板中 Audits 可以进行小程序体检,会根据性能、体验、最佳实践来给出报告

  • 小程序改名:发布前 个人和企业都有2次机会,发布后个人 2次/年,企业可通过认证改名(300元)

  • 小程序的某些功能需要认证对应的资质才能使用,否则审核不通过,比如视频播放,论坛,评论等功能

  • 小程序码生成方式有临时和永久之分,临时没有数量限制,有效期30天,永久数量10万个

  • 在app.wxss中声明image的宽高熟悉,可解决image标签mode为widthFix时,图片加载大小闪动的问题

// app.wxss
image {
    width:auto;
    height:auto;
}
  • 模块导入时, 路径不能省略文件夹中的index

  • wxs可以做一些数据处理, 速度相比JavaScript在iOS端快2~10倍,Android无差异

  • 小程序中2018年1月开放了打开App的能力,于2021年5月回收,因为该能力被滥用导致(部分小程序阅读全文也要跳转至App才可以看)

  • 从其他App中跳转至微信小程序中,微信小程序没有再次冷启动的情况下是可以返回到App中的

  • 小程序中分享好友API可以拿到用户点击了分享,但是拿不到分享成功的事件(也是被滥用导致能力回收)

  • 分享朋友圈目前只有Android支持,并且分享出去的页面为“单页模式”,并且部分接口和组件受限,可以想象为小程序之外的入口页面,纯展示。比如wx.login接口被限

  • 跳转其他小程序只需要对方的 appid 和 path

  • 小程序中可以使用微信开发工具提供的代码依赖分析来优化包体积

  • 大部分情况下图片资源会占包很大体积,优化体积可以从这里开始

  • 小程序开发中未发布的小程序路径,生成小程序码会失败

  • 小程序中 开发版小程序和体验版小程序 识别小程序码都会跳转至正式小程序

  • 针对以上问题可以先保存小程序至本地,再使用微信开发工具 中 添加编译模式-选择添加方式改为“解析二维码”,这样就可以拿到小程序路径和参数了,注意scene。

  • 在小程序开发版和体验版,右上角可以有打开调试功能

  • 当在开发版或调试版打开小程序调试,退出再进入正式版,这样正式版中调试也不会关闭

  • 小程序中显示富文本的方案:

      1、使用第三方开源库 wxParse
      优点:可以处理事件
           可以显示视频
      缺点:使用繁琐
           作者停止维护了
    
      2、使用微信组件 rich-text
      优点:使用简单
           可处理string 和 nodes
           无需引用第三方包
           
      缺点:不支持事件
           不可以显示视频
           不支持本地图片及其他资源
    
      3、使用第三方库 mp-html(推荐)
      优点:配置简洁
           可以处理事件
           可以显示视频
      缺点:会占包大小 大致27k左右
    
标签
标签
标签