记录下小程序项目中的一些问题

项目中遇到一些问题,之前一直赶项目,忘了记录了,想起来一点记录一点吧

1、textarea 层级最高 z-index无效 解决办法 text替代 text有一个decode可以解析textarea中的换行符 等符号 实现简单富文本展示 并且层级不会在最高级、可控制


image.png

2、wx.setStorageSync 微信同步保存缓存 调用过多可能会报错 本地保存10MB以内 如果数据过大 在少数手机上会保存超时 解决办法 过大的数据不保存在本地 用的时候直接获取网络请求或者本地请求 (项目中遇到一个两年前的华为手机,我在自己设计的入口文件中请求了国内的城市数据,用同步保存的方法提示超时 其他Android未发现、 iOS目前未发现)

3、小程序网络请求可以封装在外部文件里 通过app.js 中的globalData 设置一个值 去引入这个文件 或者import方法引入 这样代码整体整洁 修改简单 可封装请求 统一处理错误代码

4、setData({}) 方法是异步的 同一方法内尽量少调用 会冲突导致某个setdata方法没执行 解决办法 尽量调用一次 越少越好

5、小程序无法动态更改tabs 所有的tabs都是在app.json中配置好的 如果小程序要实现类似用户和管理者同时打开一个小程序而展示不同的页面信息的话 有两种方案

一种是 自制假的tabs  缺点 点击tabs页面会整体刷新 tabs会闪一下 体验较差  

第二种 建立一个index入口页面 在入口文件中进行权限的逻辑判断 设置一个变量保存在本地 之后进入首页后进行判断 在onload中设置需要展示的tab名字图标等信息
wx.setTabBarItem({
    index: 0, //下标改变的
    text: "tab名字",
    iconPath: "/utils/icon/未选中",
    selectedIconPath: "/utils/icon/选择"
});

6、手机端和电脑端 通过获取时间戳的方法得到结果不一样 电脑端得到时间正常 手机端 获取时间戳 为了兼容iOS 需要写成 "2018-06-01T00:00:00"这种完整格式 得到的时间戳 需要减去8小时 才是正确的时间戳 注意月和日不足两位、保持两位

new Date("2018-06-01T00:00:00") / 1000 - 28800

7、部分安卓机 图片地址不能有空格 不然会识别不出来 比如 aa bb.png 需写成aa_bb.png

———————— 待续 ————————

你可能感兴趣的:(记录下小程序项目中的一些问题)