SangSir丨艺术界的一朵奇葩丨至一网络科技 - 3W1H
WHATVue-blog是我边看Vue文档自学边写的博客，后端基于Typecho通过API调用，前端则使用Vue全家桶。WHYVue-cli是Vue的脚手架工具，能够快速构建vue项目Vue更新到2.0之后，作者宣告不再对vue-resource更新，于是使用axios进行http请求Typecho是Markdown编辑器，储存在数据库的文章也是mk格式，因此使用marked解析和highlight代码高亮逛遍基于Vue的UI框架，发现muse-ui还是有些对我口味，基于Vue 2.0 和 Material Desigin 的 UI 组件库Typecho-Api输出的文章时间为Unix时间，使用moment解析并格式化时间WHERE使用Vue开发时领我感触最深的就是生命周期和父子组件通信，这两个关键点搞懂我认为Vue入门不成问题，或者说微信小程序也能够快速上手开发为了更像一个App，App Bar(action bar)需要动态更改文章标题因为动态加载内容，加载内容后不会返回到页面顶部使用marked解析mk格式后，出现与Typecho解析不一致的问题，如不换行、不解析表格HOW生命周期查看手册：/api/#选项-生命周期钩子Vue父子组件以及非父子组件如何通信查看文章：/vue-father-child.html动态更改文章标题查看代码：/header.vue#L3加载内容后页面置顶查看代码：/single.vue#L50-L51marked解析与highlight高亮设置查看代码：/single.vue#L13-L25
WHAT上上签是基于html5的签到系统，用于参加齐鲁大学生软件设计大赛中的html5创意应用命题，本签到系统采用GPS定位签到+人脸认证，保证了人与手机在一起，手机在指定位置范围内，进行有效签到。WHYH5其中的一个特性就是Geolocation，因此利用了GPS定位将教师与学生的签到划分至一定范围内进行签到命题中有建议用百度AI，发现其中有人脸识别的功能，如果加入这一功能则能实现双重校验进行有效签到因为命题要求PC/Mobile都能够使用，因此针对PC端对人脸照片使用Exif查询照片时间实现有效期校验WHERE在项目实现中发现不同手机浏览器之间的H5兼容性还是不同，因此发现不少问题，因此在GPS定位中做了两种友好的错误提示，也方便定位问题所在为了展示更多的h5与css3特性，增加了一处MD风格的悬浮菜单，但出现iOS下无法点击的情况在导出签到报表时通过Excel打开报表发现数字变科学计数法通过Exif进行照片的有效期校验比对，这是我们团队头脑风暴中所想出的解决方法，真的喜欢头脑风暴因为利用GPS定位将教师与学生的签到划分至一定范围内进行签到，所以要计算两点间的经纬度距离v2.0版本增加了花名册的功能，需要对Excel进行处理HOW关于GPS定位的解决方案查看代码：/student.html#L222-L244iOS Safari 中点击事件失效的解决方法查看文章：/Safari-Click.html导出csv文件数字变科学计数法的解决方法查看文章：/export-csv.html对照片与当前时间通过Exif进行时间校验查看代码：/student.html#L193-L209两点间的经纬度距离算法查看代码：/distance.function.php使用PHPExcel进行处理Excel查看代码：/api.php#L80-L95 (更多使用方法可去Github查看PHPExcel的例子)
简述5W2H分析法又叫七问分析法，是二战中美国陆军兵器修理部首创。简单、方便，易于理解、使用，富有启发意义，广泛用于企业管理和技术活动，对于决策和执行性的活动措施也非常有帮助，也有助于弥补考虑问题的疏漏。3W1H分析法则是从5W2H分析法中取其精华、精简而成，主要将项目内容总结分类为WHAT、WHY、WHERE和HOW，目的是为了方便总结项目中的问题与解决方法，从而锻炼自己解决问题与最后总结的能力。在项目总结中使用3W1H分析法是我近期想出的方式，之后的一些项目将使用3W1H进行分析总结，下面我将根据5W2H的基础上定义3W1H分析法的模板供后续总结作为参考。WHAT（发现问题）WHAT——概述，目的，重点，功能，规范原则e.g. 我要做一个课表查询的项目，目的是什么？重点是什么？与什么有关系？功能是什么？规范是什么？我想让我们学校的学生都能够查到自己班级的课表方便查看上课时间，重点在于课表要简洁、随时随地可查询，因此选择了将课表放至微信小程序中。WHY（提出问题）WHY——为什么要做？可不可以不做？有没有替代方案？e.g. 为什么非做不可？为什么采用微信小程序？为什么不使用市场已有的课表程序？虽然已经有了课程格子，超级课程表等APP，但是它们有一个缺陷：导入课表后无法查询其他班级的课表。比如你是计算机专业的学生，你的女朋友是经管专业的，你想了解你的女朋友什么时候没有课，你需要查询她的课表。比如你暗恋一个人文学院的女生，像找个机会碰见她，于是你还要知道她什么时候在哪里上课。这就是课表小程序的初衷，一个你可以查询所有班级的课表，你可以在微信中打开小程序即可查询。WHERE（提出问题）WHERE——范围，地点，切入点e.g. 在何处宣传？从哪里或许到全校课表资源？因为是面向全校的课表查询，因此可以在校园公众号、QQ群、QQ空间等进行宣传，课表资源可以通过爬取教务系统或处理教务处公布的Excel表格至数据库。HOW（解决问题）HOW——方法，如何做e.g. 怎样做省力？怎样做最快？怎样做效率最高？怎样改进？怎样得到？怎样避免失败？怎样达到效率？怎样才能使产品更加美观大方？怎样使产品用起来方便？怎样解决项目中的问题？课表小程序中的课表资源通过python处理教务处公布的Excel表格至数据库，每学期处理一次即可方便维护等等。结语可能读这篇文章会有写晦涩，也可能刚开始使用3W1H分析总结项目不太熟练，但只要利用3W1H勤于总结，肯定会得心应手。如果对项目总结方面有更好的建议，欢迎在评论区留言互相交流！e.g. 上上签项目总结：https://sangsir.com/archives/upsign.html