微信宣布小程序将能够在PC端微信打开后,智库君就接到要求,须要兼容PC端小程序,一开始觉得官方已经作了完美适配,不须要改什么,但当本人下载内测版开始测试的时候,才发现或许坑还挺多的~~~html
下面分享下本人“搬砖填坑”的全过程: (如下都是PC端小程序特有的问题,手机端正常)json
{
"pages": [],
"resizable":false, //在这里设置false,使得小程序默认手机尺寸
"pageOrientation":"portrait", //这里默认设置便可
...
}
复制代码
PC版微信默认打开小程序是ipad版,这样就会出现各类形变,布局错乱,这个能够在app.json进行配置,静止自动旋转,默认手机竖屏样子打开。小程序
这个问题本人也找了好久,一直很纳闷IDE工具和手机打开看都没什么问题,用PC打开小程序就出现页面找不到的状况,大体报错是:windows
page[pages/XXX/XXX] not found.May be caused by :1. Forgot to add page route in app.json.2. Invoking Page() in async task.
复制代码
通常这种状况以往是 app.json没配,或者页面里面缺乏page(),但此次诡异的地方是只有“PC版小程序”报这个错!后来分析问题发现是:目前PC版小程序不能直接支持ES6,必须转换成ES5,同时因为一些语法转化不够完善,特别是ES7中的await 和 async 致使转化二次报错,这里就须要打开 “加强编译” 配置。bash
由于目前PC版小程序估计内核的机制问题,还只支持低版本的选择器,若是你直接写小程序的标签,它没法识别,好比微信
.popCont navigator{ //navigator 标签是小程序里的,PC端没法支持
width: 560rpx;
height: 300rpx;
}
.popCont image{ //image 标签是小程序里的,PC端没法支持
width: 560rpx;
height: 300rpx;
}
复制代码
但这些写法,其实在手机小程序和IDE工具里是彻底正常的,PC版须要作兼容,改为class选择器。微信开发
若是遇到这种状况,会检查一下是否使用屏幕尺寸(rpx)来计算布局,PC 上屏幕尺寸比窗口尺寸大,应该使用窗口尺寸来计算。app
小程序如何判断是 PC 平台?async
经过 getSystemInfo 官方接口(platform 是 windows) 经过 UA(PC UA 包含 MiniProgramEnv/Windows)工具
developers.weixin.qq.com/miniprogram…
往期回顾:
[打怪升级]小程序评论回复和发贴功能实战(二)
[打怪升级]小程序评论回复和发贴功能实战(一)
[填坑手册]小程序Canvas生成海报(一)
[拆弹时刻]小程序Canvas生成海报(二)
[填坑手册]小程序目录结构和component组件使用心得