小程序开发之注意问题

版权声明:欢迎转载,可Chat交流,写博不易请标明出处: https://blog.csdn.net/JackJia2015/article/details/85683216

1.网络请求问题:强制要求请求全部为https

2.网络请求问题:测试环境可以使用http协议

由于小程序开发时域名需要在公众平台备案
所以我们学习测试时:点击开发工具右上角“详请”--勾选“不校验合法域名、web-view(业务域名)、TLS 版本以及 HTTPS 证书”即可在正常网络环境中测试
在这里插入图片描述

3.企业类型帐号需支付300元认证费或者用公司账号向腾讯公司打款认证。
政府、媒体、其他组织类型帐号,必须通过微信认证验证主体身份

4.公众号关联小程序

关联规则:
所有公众号都可以关联小程序。
一个公众号可关联10个同主体的小程序,3个不同主体的小程序。
一个小程序可关联500个公众号。
公众号一个月可新增关联小程序13次,小程序一个月可新增关联500次。

5.待续

5.小程序有些组件依赖于node.js开发环境,建议电脑安装一下node.js开发环境
安装教程:https://blog.csdn.net/JackJia2015/article/details/84101036

6.小程序创建页面的.wxml.js.wxss.json四个文件必须具有相同的路径与文件名

7.小程序允许上传的文件格式
程序文件格式: js、json、wxml、wxss
图片格式:png、jpg、jpeg、gif、svg
数据格式:wxs、json
文件个数:cer
音频格式:mp3、aac、m4a、wav、m4a、silk
视频格式:mp4

8.json的配置文件不可以写注释,而且标点符号要求很严格,所有符号需要英文符号,配置参数键值最后一个项不能加逗号

9.tabBar 底部导航栏,如果配置,只能配置最少2个、最多5个 tab

10.获取用户位置信息的官方声明
2019年1月14日起新提交发布的版本将会受到此调整的影响。 需要各位开发者注意,2019年1月14日起新提交发布的版本若未填写地理位置用途说明,则将无法正常调用地理位置相关接口,请及时填写地理位置用途说明。 该调整策略在微信客户端 7.0.0 版本生效。另外,考虑到兼容性等问题,在微信客户端 7.0.0 版本以下的环境中不受此策略影响。

解决方案:
需要在App.json配置

"permission": {
    "scope.userLocation": {
      "desc": "你的位置信息将用于小程序位置接口的效果展示"
    }
}

11.页面.json中配置项会覆盖 app.json 的 window 中相同的配置项。

12.控制页面整体不能上下滚动的disableScroll只在页面配置中有效,无法在 app.json 中设置

13.小程序框架的逻辑层并非运行在浏览器中,因此 JavaScript 在 web 中一些能力都无法使用,如 window,document 等

14.如何区分前台、后台

前台:当再次进入微信或再次打开小程序,又会从后台进入前台。
后台:当用户点击左上角关闭,或者按了设备 Home 键离开微信,小程序并没有直接销毁,而是进入了后台;
当日如果小程序进入后台一定时间,或者系统资源占用过高,才会被真正的销毁。

15.获取全局变量注意问题

获取全局变量userInfo

const app = getApp()
console.log(app.globalData.userInfo) 

注:
(1)不要在App.js 内的函数中调用 getApp()
(2)App.js 中,使用 this 就可以拿到 app 实例。

var that = this
console.log(this.globalData.userInfo) 

(3)通过 getApp() 获取实例之后,不要私自调用生命周期函数。

16.setData 函数用于将数据从逻辑层发送到视图层(异步),同时改变对应的 this.data 的值(同步)。

17.获取当前页面栈–getCurrentPages()

  • 不要尝试修改页面栈,会导致路由以及页面状态错误。
  • 不要在 App.onLaunch 的时候调用 getCurrentPages(),此时 page 还没有生成。

18.navigateTo等多个值传值时一定要传加上JSON.parse()

  • 传值端JSON.stringify(array),
  • 接收端JSON.parse(options.array);

否则传过的将字符串的形式接收,无法正常解析

  1. 路由跳转相关问题

(1)navigateTo, redirectTo 只能打开非 tabBar 页面。
(2)switchTab 只能打开 tabBar 页面。
(3)reLaunch 可以打开任意页面。
(4)页面底部的 tabBar 由页面决定,即只要是定义为 tabBar 的页面,底部都有 tabBar。
(5)调用页面路由带的参数可以在目标页面的onLoad中获取。
(6)调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,而redirectTo 方法则不会。所以只要navigateTo的跳转才可以使用wx.navigateBack方法

19.待续





猜你喜欢

转载自blog.csdn.net/JackJia2015/article/details/85683216