一次对复杂的古董问卷系统项目的前端优化之旅

背景

年前接盘了一个项目的优化任务,这是一套类似“问卷网 / 问卷星”之类的,集问卷拖拉创建、预览、发布、数据收集、数据可视化报表等非常齐全的复杂的古董问卷系统,由于产物是出生于 jQuery 一招先,jQuery 称王称霸的年代。实现的逻辑当然是 Dom 操作为王的思路。加之、先前的开发作者是偏后端的全栈开发, 继续阅读“一次对复杂的古董问卷系统项目的前端优化之旅”

Vue 中 使用 json 定义生成表单(支持 ElementUi / iview / Ant Design Vue)

背景

之前已经在项目中实现过类似的功能,就是要通过后端接口返回的 json 动态输出相应的表单。但之前的实现方式是通过条件判断来根据 json 定义的类型输出相应的组件组成表单。本次遇到类似的需求,实现方式想通过 Vue 中的 component :is 的方式 继续阅读“Vue 中 使用 json 定义生成表单(支持 ElementUi / iview / Ant Design Vue)”

TensorFlow.js 入门并动手编写娱乐版的双色球在线预测

背景

一年前就知道了 TensorFlow js 版的存在,一直没有去玩一下。最近一次偶然的机会,要协助同事处理过一个 TensorFlow.js 相关的 Demo 小程序,要使用 TensorFlow.js 结合小程序的照相机 API 功能,实现微信小程序扫描识别物体功能。该 Demo 主要是由 TensorFlow.js 官方项目 – https://github.com/tensorflow/tfjs-wechat/tree/master/demo/mobilenet 改造而来 继续阅读“TensorFlow.js 入门并动手编写娱乐版的双色球在线预测”

给 vue-easytable 表格增加树节点功能

背景

同事在使用一个 vue 表格组件 vue-easytable 时遇到了点麻烦,现在项目中出现了一个需求就是要给表格增加树节点功能,让表格中的行可以展开与收缩,我们知道使用 element UI / ant-design-vue 中的表格是自带树节点功能的。但是老项目如果要更换组件的话已经是不大可能,于是需要帮忙加上树结构功能 继续阅读“给 vue-easytable 表格增加树节点功能”

小程序中使用 canvas 制作 5 维雷达图(结合小学六年级三角函数知识)

背景

微信小程序项目中需要制作一个 5 维雷达图(如图一),许多人第一时间可能想到的就是去找插件解决问题,其实小程序的数据可视化的插件还真有,但就为了这一个小图非得去把整个笨重的图形库引进来,这就直接拖慢了小程序的加载速度。使用小程序里的 canvas,结合小学六年级三角函数几何知识,其实我们完全可以很快 DIY 一个 5 维雷达图出来 继续阅读“小程序中使用 canvas 制作 5 维雷达图(结合小学六年级三角函数知识)”

使用 wepy + wepy-redux + less 开发微信小程序的一些心得体会

背景

终于经历了 10 天加班加点后,把一个小程序赶了出来,晚上 10 点多提审,半夜 1点半审核通过(同事们都很惊奇,怎么可以那么快过审,因为我以前试过第一版提审,微信足足审了我两周的时间。估计是他们看到熟客,因为以前我提的一般都没什么问题,直接快快给我过审)。本次开发人员两个人,一个前端,一个后端,因为之前用 wepy 开发过几个小程序,比较顺手,很多坑已经踩过,所以再次选用了 wepy。其实,公司层面更倾向于使用 uni-app,而且我也为别的同事写过一些使用 uni-app 开发小程序的启动项目,但无奈,这次要写一个团队答题游戏类的,业务逻辑相对复杂,要亲自上马,时间太赶,不能花多余的时间去踩 uni-app 的坑 继续阅读“使用 wepy + wepy-redux + less 开发微信小程序的一些心得体会”

使用 Less + 各种框架开发小程序快速切图布局常用的自定义 Less 函数【原创】

前言

开发小程序已有一段时间了,之前使用过 wepy、uni-app 框架来开发小程序,切图布局时对比过原始 cssscss / sassless 三种方式来写样式,最后发现使用 less 来写样式是最省心的,高效的定义好 less 样式函数,可以让你写起代码来事半功倍 继续阅读“使用 Less + 各种框架开发小程序快速切图布局常用的自定义 Less 函数【原创】”

前端 Canvas 使用矩阵 (matrix) + 向量 (vector) 操控画布绘图之二维向量 (vector2) 函数库

前言

上一篇《前端 Canvas 用法之 – 使用矩阵 (matrix) + 向量 (vector) 操控画布绘图》介绍了在 canvas 中如何使用矩阵(matrix),及如何使用矩阵进行图形变换(transform)。但里面有用到的向量并没有详细介绍,本篇通过结合一个向量的函数工具库来介绍一下向量的应用,因为向量主要是用来描述对象的长度 / 运动距离,一般会在 canvas 动画里面会派上用场, 继续阅读“前端 Canvas 使用矩阵 (matrix) + 向量 (vector) 操控画布绘图之二维向量 (vector2) 函数库”

前端 Canvas 用法之 – 使用矩阵 (matrix) + 向量 (vector) 操控画布绘图

前言

使用 canvas 画布来操控图形或者图片的二维变化的方式一般是平移、缩放、和旋转。canvas 已相应提供了相关的 api。如:translate(), scale() 和 rotate(),但这些功能无法统一处理并且无法描述当前画布的处于某种状态。为了实现这种统一连贯性的状态描述,canvas 给我们提供了另外一种思路及方法,即使用:transform() / setTransform();因为画布上的每个对象都拥有一个当前的 3 x 3 变换矩阵, 继续阅读“前端 Canvas 用法之 – 使用矩阵 (matrix) + 向量 (vector) 操控画布绘图”

Vue 中递归调用节点组件自身实现无限节点的树

前言

在之前一篇《Vue 中使用渲染函数 render 实现无限节点的树》中我们介绍了如何使用 render 函数中的 h 函数来实现无限节点树的渲染,但这种方式有很多小伙伴们可能使用起来不是很习惯。有没有一种更加直观的方式来实现呢?其实是有的,就是我们可以递归调用树节点组件自身实现无限节点 继续阅读“Vue 中递归调用节点组件自身实现无限节点的树”