本文已参与「新人创作礼」活动.一起开启掘金创作之路。
小程序开发过程中碰到的问题汇总 1,消息推送,模板推送必须要有formid;
2,formid通过form表单提交获取,form表单必须添加组件report-submit='true',否则拿不到formid;
3,从前端拿数据,在js中e. detail.value,如果前端命名为data-text(这种格式的必须得小写,大写不识别),在js中获取为e.currentTarget.dataset.text;
4,json参数传递,如:jsonStr=JSON.stringify(resultRes.data.result);
5,json参数接收, 如let data = JSON.parse(options.jsonStr);
6,小程序代码大小最多只支持2M;
7,一个小程序主体部分由三个文件(app.js、app.json、app.wxss)组成,必须放在项目的根目录;
8,一个小程序页面由四个文件(js、wxml、json、wxss)组成,为了方便开发者减少配置项,描述页面的四个文件必须具有相同的路径与文件名;
9,导入主体部分的app.js的逻辑这样导入const app = getApp();
10,要用到某种方法则直接app.方法名(参数),比如获取openID的方法直接app.getUserOpenId(function (err, openid) {业务逻辑}这样就不需要再次写获取openID的方法了
11,导工具类则这样导入const 变量名 = require(‘js路径’);要用到某种方法则直接变量名.方法名即可,比如const util = require(‘../../utils/util.js’); const commonApiUrl = require(‘../config’).commonApiUrl
12,声明变量与JavaScript一样,const,let,var,var表示全局声明变量。let表示声明块级别的变量,也就是局部变量。const表示声明常量也有块级别的作用域;
13,小程序js不支持jQuery,wxml前后端分离。
14,微信小程序必须要用HTTPS,所以必须要使用独立服务器,所有的网络请求均必须https
15,WXSS支持的单位有px、rem和rpx,其中rem和rpx可以针对屏幕容器进行适配,px则为固定尺寸。
16,开发者拥有多个移动应用、网站应用、和公众帐号(包括小程序),可通过 UnionID 来区分用户的唯一性,因为只要是同一个微信开放平台帐号下的移动应用、网站应用和公众帐号(包括小程序),用户的 UnionID 是唯一的。换句话说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。意味着我们可以根据这个字段来关联小程序和公众号做到数据互联互通。但是前提是需要在咱们数据库存储这个字段.
17,wx.request(Object object)发起 HTTPS 网络请求, GET:'content-type': 'application/x-www-form-urlencoded,charset=utf-8, POST: 'content-type': 'application/x-www-form-urlencoded’
18,公众号可关联同主体的10个小程序及不同主体的3个小程序。同一个小程序可关联最多50个公众号;
19,小程序跳H5, H5跳小程序,小程序管理后台配置域名白名单,并且h5页面是嵌在小程序里面;
20,目前只支持小程序内嵌H5,并且只有内嵌的H5才能跳回小程序;
21,小程序和小程序也可以相互跳转, 相互跳转的小程序必须是同一公众号下关联的;
22,一个页面只能插入一个web-view; 会自动铺满整个页面,并覆盖其他组件。
23,网页内 iframe 的域名也需要配置到域名白名单。
24, 网页与小程序之间不支持除 JSSDK 提供的接口之外的通信。
25,在 iOS 中,若存在JSSDK接口调用无响应的情况,可在 的 src 后面加个#wechat_redirect解决。
26,避免在链接中带有中文字符,在 iOS 中会有打开白屏的问题,建议加一下 encodeURIComponent。
27,服务器域名和业务域名需经过ICP备案,新备案域名需24小时后才可配置。域名格式只支持英文大小写字母、数字及“- ”,不支持IP地址。
28,如果判断字符串的话,要用到3个=和单引号,如下:a=b另外数字判断只需要2个=,并且不要用单引号,如下a=2
29,网页跳小程序,普通跳转使用wx.miniProgram.navigateTo,该跳转方式只能打开非tabBar页面!跳转tabBar页面可以使用wx.miniProgram.reLaunch,该跳转方式是重新加载小程序首页!
30,Formid用于支付推送时,用预支付id当做formid可以重复使用最多三次。且所有的formid有效期7天。