@jameszuo
2018-03-03T17:19:20.000000Z
字数 2993
阅读 420
工作
背景
合作伙伴大会需要在线报名,要求突出人脸识别能力。但因为WebRTC在大多数浏览器中都不支持,无法保证人脸识别的体验,故需要采用小程序实现。
现状概括
已开发完成,已发布,内部体验中,暂不允许搜索。下周一对外推文,同时允许搜索。功能测试、体验调整、设计回归均已完成。
任务分解及进度
模块 | 特性 | 耗时 | 进度 | 备注 |
---|---|---|---|---|
搭建框架 | 缓存、日志、构建等 | 2d | 100% | 派生自车主服务小程序,进行一定的简化、抽象 |
确认接口协议 | 查报名状态、校验报名信息、提交报名信息、上传照片 | 1d | 100% | |
小程序UI | 首页 | 3d | 100% | 需学习PS标注、切图技巧 |
> | 报名页 | 1d | 100% | |
> | 人脸识别 | 1d | 100% | |
> | 结果页 | 0.5d | 100% | |
> | 宣传视频页 | 1d | 100% | |
配置 | 所有文案 | 0.5d | 100% | 当时没有在首页前增加宣传视频,在首页加载处子生成的配置文件会阻塞页面渲染,所以只使用了配置文件。现在可以在宣传视频页预加载,但文案已基本不再修改,为简化设计,暂时保持使用配置文件形式。 |
接口联调 | 所有接口 | 3d | 100% | 其他接口联调比较顺利,但其中上传照片的接口从995环境联调通过到部署外网可用耗时约9个工作日(2.11~2.27),期间产品无法完整体验整个流程,等待了较长时间。 |
产品体验 | 修改体验问题、需求变更、视觉还原等 | 3d | 100% | 紧急新增了视频宣传页和多次调整文案,导致该过程耗费了3个工作日 |
待解决问题
涉及模块 | 问题 | 影响 |
---|---|---|
首页 | 在iOS下使用小程序内置Swiper组件垂直翻页可能出现翻一半卡住的问题。只在一部iPhoneX下出现过一次,暂时无法重现,还需观察。微信小程序开发者社区有少量相同问题反馈,官方尚未回复任何内容。跟产品建议改为长页面自然平滑滚动(移除Swiper组件),产品表示不愿意修改。 | 会导致页面卡住,无法操作,因而无法报名。必须重启微信进程或等待小程序临时缓存失效后再次打开 |
背景
小程序在用户使用过程中,可能出现因兼容性问题、系统权限、小程序基础库版本、用户特殊操作路径、极端网络状况、服务器故障、服务器接入故障等等复杂问题导致出现一些仅通过后台的监控和日志不可发现的问题,而这类问题开发者必须收集用户端的日志才能够进行定位。这种能力在一般成熟的App中基本属于标配能力,但小程序目前普遍缺少这样的能力。
前阵子跟微信基础侧的开发同学了解过微信客户端的日志机制,从技术上收集小程序日志是可行的。不仅推动起来比较困难、仅能BG内部使用,而且考虑到安全性原因,收集到的客户端的日志不应该被外界的小程序开发者所使用,局限性太大。所以手Q那套通过内部系统“偷偷摸摸”提取远程用户端日志和截屏的能力也实现不了。
退而求其次,可以使用小程序本地存储的方式记录客户端日志,在触发某些特定行为时上传日志,这些行为可以是:
行为 | 优点 | 缺点 | 组件开发成本 | 组件接入成本 |
---|---|---|---|---|
用户截屏时 | 对现有功能没有任何影响、用户无感知 | 用户可能不是想反馈问题 | 低 | 低 |
摇一摇上传 | 对现有功能没有任何影响、用户无感知 | 用户可能不是想反馈问题、对小程序运行性能有影响 | 低 | 低 |
提供反馈界面,提交反馈时上传 | 能够收集到更详细的问题描述、不会误上报 | 需要新增反馈界面、提供上传反馈接口、建立反馈处理机制 | 高 | 高 |
现状概括
先在合作伙伴大会报名小程序中试行日志上报机制,前端预埋截屏时上传日志的逻辑,和后台联调通过后可随时启用。
后台日志上传接口在收到日志后,先将日志以文件形式存至服务器特定目录下(限定目前只允许写N个文件,超出该数量则自动删除旧的文件)。
遇到用户反馈问题时,让用户打开小程序,截屏,我们在通过上传上来的日志来定位问题。
任务分解及进度
模块 | 特性 | 优先级 | 耗时 | 进度 | 备注 |
---|---|---|---|---|---|
日志上报SDK | 打印并缓存日志接口 | p0 | 1d | 100% | 提供API代替默认的console API。接口会在本地Storage中建立最多100条记录,每条记录最长1KB,自动滚动覆盖写入。 |
> | 压缩并上报日志接口 | p0 | 2d | 80% | [待联调]从Storage中收集已缓存的日志内容 + 客户端系统信息 + 微信版本,在客户端进行gzip 压缩,上传至CGI服务器。 |
> | 手机查看用户日志 | p2 | 2d | 0% | 通过小程序查看用户日志(暂时只对内部员工开放),低优先级。 |
待解决问题
暂无
背景
在有用户端日志的情况下,大多数问题都能应该被定为到,但日志机制并不能体现大盘情况。
之前在SNG时做了一些前端监控,除了H5直播播放质量监控、图片加载监控、静态资源404监控等,最核心的还是对CGI成功率和耗时的监控,也曾多次在后台无感知的情况下发现问题,且至今仍在使用。
anders也多次强调我们一定要确保各项服务的成功率,高成功率低耗时对于微信支付做金融级的品牌建设至关重要。
现状概括
目前部门有前端测速上报,但如果要监控接口耗时,需要手工配置、埋点,操作成本高。接口成功率目前没有办法监控。
任务分解及进度
模块 | 特性 | 优先级 | 耗时 | 进度 | 备注 |
---|---|---|---|---|---|
接口调用结果上报 | 上报SDK | p0 | 2d | 0% | |
> | 上报服务 | p0 | ?d | 0% | 代理服务,接收调用方id、被调方id、接口id、接口服务器ip、客户端信息等参数 |
接口联调 | 上报并验证告警 | p0 | 2d | 0% | 需了解idkey原理、报表配置方法、告警接收方式 |
上报接口压力测试 | p1 | 1d | 0% | ||
签约小程序 | 接入前端接口调用监控 | p1 | 2d | 0% |
待解决问题
背景
现状概括
任务分解及进度
模块 | 特性 | 优先级 | 进度 | 备注 |
---|---|---|---|---|
框架 | 技术选型、构建、依赖包 | p0 | 100% | |
关键模型设计 | ||||
> | DNode树模型 | p0 | 100% | |
> | 组件meta | p0 | 100% | |
> | 生成wxml | p0 | 100% | |
设计器部件 | ||||
> | 组件库 | p0 | 100% | |
> | 画布 | p0 | 100% | |
> | 结构树 | p0 | 100% | |
> | 属性编辑器 | p0 | 100% | |
> | 代码查看 | p0 | 100% | |
编辑操作 | ||||
> | 添加组件 | p0 | 100% | |
> | 移动组件 | p0 | 100% | |
> | 删除组件 | p0 | 100% | |
> | 撤销/重做 | p2 | 100% | |
> | 从模板添加组件 | p2 | 0% | 允许一次插入由多个组件组成的复合组件,如表单、列表等 |
组件完善 | ||||
> | wx:if / wx:elif / wx:else | p0 | 100% | |
> | wx:for | p0 | 100% | |
> | View | p0 | 100% | |
> | Text | p0 | 100% | |
> | Image | p0 | 100% | |
> | Form | p0 | 100% | |
> | Input | p0 | 100% | |
> | Select | p0 | 100% | |
> | Switch | p0 | 100% | |
> | Button | p0 | 100% | |
> | List | p0 | 100% | |
> | Flex | p1 | 50% | |
> | Grids | p1 | 50% | |
> | Icon | p1 | 50% | |
> | Footer | p1 | 100% | |
> | Swiper | p2 | 0% | |
> | scroll-view | p2 | 0% | |
读写文件 | ||||
> | 打开wxml | p1 | 100% | |
> | 保存wxml | p1 | 100% | 实现对任意wxml文件的可视化编辑过于底层,且违背了降低使用门槛的初衷,所以只支持符合特定结构的wxml文件,即要求必须通过该工具打开、保存wxml文件 |
桌面App | electron | p1 | 100% | |
官网 | 介绍、帮助文档、教程、demo | p2 | 0% |
- 待解决问题