言必行,行必果。

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

懂商业的技术合伙人|代码复用_封装_02

 

7.服务端JFinal 增删改查的通用业务实现 jtn-jfinal-crud

常见表结构的增删改查,比如

jtn_category代表 类目分类,商品分类可以用这个,文章分类也可以。

jtn_comment代表 评论,商品评论、文章评论等都能用这个。

 

这个项目完成之后,常见的功能,服务端代码很快就能搞定。

比如实现 文章的发表、评论。

集中精力做UI,做那些客户看得到的东西。

技术人员喜欢学习研究讨论各种牛逼的后端代码,而中国大部分客户都是中小型客户,人家关心的UI,功能能不能实现,

能不能快一点,便宜一点。

懂商业的技术合伙人|代码复用_java_03

 

8.第三方接口的封装和复用 jtn-ai-cloud

ai,百度阿里腾讯等AI方面的接口。这些接口感觉更新都比较快,需要做好随时不能用的准备。

短信邮箱实名认证,这种,2014年的接口,2018年了格式还完全一样,充值了就能继续用,很不错。

目前正在从其他项目,整理到这里,做成通用的,方便调用的,web项目和普通项目都方便调用的那种。

配置和实现分开,不能和Spring等框架有任何的关联。

Spring之类的项目太大了,看着就心烦,代码写得还无比复杂。

 

weixin api接口,网上的封装已经有了,2015年研究过,也有一套自己的,但不是非常完整。

优先看看别人的,如果不合适,自己封装一套自己维护。API接口都是一个模子的,加密传参方面搞定了,其它很简单。

按照自己的底层实现和API接口定义,自己更容易理解记忆。

懂商业的技术合伙人|代码复用_java_04

 

9.一些服务端组件

Mybatis代码生成器

Spring多数据源切换

 

10.其它方面的复用

p2p网贷和票据等投资方面的1个项目例子

news新闻资讯1个项目例子

b2c电商1个项目例子

 

完成3个不同类型的项目,验证之前几项可复用的代码,同时发现更多可复用的代码。

 

流程、算法、工程等很多方面,都值得去思考,合理封装。

在快速实现和灵活扩展方面得到1个平衡。

 

 

细节太多,不再一一赘述,只是介绍下总的思路,仅供参考。

 

小雷FansUnion

北京·晴

2019年1月22日