微信小程序开发

2020.8

  1. 全局globalData, 在app 中可以用this.globalData。在其他页面中中不可以使用this app.globalData
  1. 分享小程序卡片 尺寸限制 5:4

    imageUrl| 自定义图片路径,可以是本地文件或者网络图片。支持 PNG 及 JPG,显示图片长宽比是 1:1。| 默认使用小程序 Logo
    https://developers.weixin.qq.com/miniprogram/dev/reference/api/Page.html#onshareappmessageobject-object

  1. 小程序web-view的src有长度限制吗?

没仔细研究过:
先说一下各大浏览器url最大长度:
IE : 2803
Firefox:65536
Chrome:8182
Safari:80000
Opera:190000
微信使用的微信内置浏览器(X5内核),你就按照最低的Chrome 8182 也应该够用的吧。具体多少,不知道

这种都有大小限制,建议大量数据通过接口获取,只传入关键参数即可

  1. 微信小程序页面跳转url传参,对象数据过长问题

是URL有特殊字符才截取的吧

  1. 获取小程序页面路径(分享出错,页面打不开等时候排错)
    小程序跳转链接获取方式
    1、登陆小程序管理后台,从上方“工具”入口进入“生成小程序码”:
    2、添加需要获取页面跳转链接的小程序:appid 或者名称

    3、添加项目成员微信号:
    相应微信帐号即可在小程序上复制到页面跳转链接:

  2. 分享小程序路径pages前面斜杠不重要,路径要和app.mpx中路径一致。

  3. 区分页面环境 微信或者小程序

    微信内置浏览器与小程序中的 User Agent 对比

微信小程序的 UA 是和微信内置浏览器 UA 是不同的,后面会多出一小段,特别是最后的“miniProgram”字符串,就是小程序的特别的 UA,
而在 iPhone 系统设备中 UA 都是一致的,小程序和内置浏览器 UA 是没有区别的。

1
2
3
4
5
6
7
// if(navigator.userAgent.match(/(MicroMessenger)/i)){
if(/MicroMessenger/i.test(navigator.userAgent)){
alert('你真正使用微信访问');
}

// Android.*MicroMessenger.*miniProgram//安卓端的小程序
// iPhone.*MicroMessenger//苹果端微信或小程序

### 判断小程序

有micromessenger是微信内置浏览器,有micromessenger和miniprogram的是微信小程序. (ios不适用)
在网页内可通过window.__wxjs_environment变量判断是否在小程序环境,建议在WeixinJSBridgeReady回调中使用,也可以使用JSSDK 1.3.2提供的getEnv接口。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
// web-view下的页面内
function ready() {
console.log(window.__wxjs_environment === 'miniprogram') // true
}
if (!window.WeixinJSBridge || !WeixinJSBridge.invoke) {
document.addEventListener('WeixinJSBridgeReady', ready, false)
} else {
ready()
}

// 或者
wx.miniProgram.getEnv(function(res) {
console.log(res.miniprogram) // true
})

  1. 小程序引流app
    小结:以上两种方式都是由app 主动发起的跳转,然后小程序才能返回打开app,如果不是由app主动发起的跳转,则不能由小程序直接打开app。所以想要由小程序给app 导量的风骚走位,可能就行不通了。

小程序是不支持主动跳转app的,这个大家应该清楚。只有在场景值1036,1069,1038,1089和1090这几个中才有跳转app的权限。场景值我们可以在app.js的onLunch(options)和onShow(options)中获取,options.scene中获取。
根据场景值条件判断添加 跳转app 按钮。
<button open-type="launchApp" app-parameter="wechat" binderror="launchAppError">打开APP</button>

同理下载

knowledge is no pay,reward is kindness
0%