言必行,行必果。
2019计划进行中...
懂商业的技术合伙人|代码复用
简单介绍下,目前的技术选型:
Web前台:layui或者网上的模版
管理系统:用layui+layuiAdmin()+jQuery,列表目前用vue,打算用自己的jtnPage做分页
服务端:JFinal一整套+自己的各种封装工具
小程序:微信小程序(原生),或uni-app,目前的主要难点是做各种页面
1.CSS页面样式的复用 jtn-common-js
css复用方面,目前比较薄弱
jtn-layui.css{
.layui-form-label{
width:auto;
}
2.js复用 jtn-common-js
jtnPage,符合自己需要的分页组件。包含列表和分页2部分一起的,考虑分开,比如分页可以采用layUI的分页组件。
common-layer.js,layui进一步封装的一些方法。
比如,layerAlert替代默认的alert,界面更有好。
jtn-common-jquery.js,jquery常见操作的进一步封装。
3.前端js组件引入方面的复用 jtn-common-js
layui分页,自己进一步封装的
jtn-layuiPage.html
function goToPage(app,pageNumber,pageSize){}
//app,必须有goToPage用来跳转
//page,分页参数,jfinal后台格式
function renderLayuiPage(app,page){}
webuploader_css_js.html
使用webuploader上传,只需要include 1个html文件就行了
4、服务端工具代码的复用 jtn-common
CopyrightKit.java 给java文件增加版权说明
CompressJsCssKit.java JsCss压缩工具
ReflectionKit.java 反射工具类,copy别人的,自己修改维护
JtnHttp.java Http请求,底层实现ok.https
5.服务端工具代码web的复用 jtn-common-web
侧重web项目开发时使用,由于使用了JFinal且JFinal有单独的封装,web项目MybatisSpring等工具类用的不多了。
WebKit.java 最常见的1个请求是否ajax请求,就在这个类里。
MobileKit.java 移动端图片自适应
IpKit.java IP地址的获得
6.服务端JFinal的复用 jtn-jfinal
自定义的拦截器、测试插件、自定义的Json转换
牛逼的Crud基础类,BaseService.java
7.服务端JFinal 增删改查的通用业务实现 jtn-jfinal-crud
常见表结构的增删改查,比如
jtn_category代表 类目分类,商品分类可以用这个,文章分类也可以。
jtn_comment代表 评论,商品评论、文章评论等都能用这个。
这个项目完成之后,常见的功能,服务端代码很快就能搞定。
比如实现 文章的发表、评论。
集中精力做UI,做那些客户看得到的东西。
技术人员喜欢学习研究讨论各种牛逼的后端代码,而中国大部分客户都是中小型客户,人家关心的UI,功能能不能实现,
能不能快一点,便宜一点。
8.第三方接口的封装和复用 jtn-ai-cloud
ai,百度阿里腾讯等AI方面的接口。这些接口感觉更新都比较快,需要做好随时不能用的准备。
短信邮箱实名认证,这种,2014年的接口,2018年了格式还完全一样,充值了就能继续用,很不错。
目前正在从其他项目,整理到这里,做成通用的,方便调用的,web项目和普通项目都方便调用的那种。
配置和实现分开,不能和Spring等框架有任何的关联。
Spring之类的项目太大了,看着就心烦,代码写得还无比复杂。
weixin api接口,网上的封装已经有了,2015年研究过,也有一套自己的,但不是非常完整。
优先看看别人的,如果不合适,自己封装一套自己维护。API接口都是一个模子的,加密传参方面搞定了,其它很简单。
按照自己的底层实现和API接口定义,自己更容易理解记忆。
9.一些服务端组件
Mybatis代码生成器
Spring多数据源切换
10.其它方面的复用
p2p网贷和票据等投资方面的1个项目例子
news新闻资讯1个项目例子
b2c电商1个项目例子
完成3个不同类型的项目,验证之前几项可复用的代码,同时发现更多可复用的代码。
流程、算法、工程等很多方面,都值得去思考,合理封装。
在快速实现和灵活扩展方面得到1个平衡。
细节太多,不再一一赘述,只是介绍下总的思路,仅供参考。
小雷FansUnion
北京·晴
2019年1月22日