大家都是怎样开发Admin后台的,效率如何?

5 篇文章 0 订阅
4 篇文章 0 订阅

大家都是怎样开发后台的? 在多年的经验中,我总结了四类方法,一定要看到第四种哦!

1、手动coding

从零开始撸,先开发用户管理,再开发角色菜单,然后再开发各种业务功能,一个月以后,经过几次加班,终于开发完成,感觉自己变秃了也变强了(PS:如果是大神当我没说)

2、代码生成器

将业务抽象为数据库表,通过数据库表反向生成代码,就Java为例:要生成template、controller、service、dao、entity、mapper大概六个文件!项目跑起来很高兴,再修修补补就可以上线了,多日后产品经理要求改功能,生成的代码已经修改过一遍,再生成代码覆盖合并代码的工作量也不小,但是改一个功能就要把这六个文件改一遍,何况多个,好难😢

3、公司自研后台管理系统

经过公司多年的积累做过大量项目,最早写过的一套后台可以反复使用无数次,修修补补,还能再战3个项目!

4、使用erupt

零前端代码,且template、controller、service、dao、entity、mapper啥的通通不要,就一个文件,加上点注解就好了~

开发一个新闻发布系统:

@Erupt(name = "新闻发布")
@Entity
@Table(name = "t_article")
public class Article extends BaseModel {

    @EruptField(
            views = @View(title = "封面图"),
            edit = @Edit(title = "封面图", type = EditType.ATTACHMENT,
                    attachmentType = @AttachmentType(type = AttachmentType.Type.IMAGE))
    )
    private String pic;

    @EruptField(
            views = @View(title = "标题"),
            edit = @Edit(title = "标题", notNull = true, search = @Search)
    )
    private String title;


    @EruptField(
            views = @View(title = "发布状态"),
            edit = @Edit(title = "发布状态", notNull = true, boolType = @BoolType(trueText = "发布", falseText = "草稿"))
    )
    private Boolean publish;

    @Lob
    @EruptField(
            views = @View(title = "内容", type = ViewType.HTML),
            edit =
            @Edit(title = "内容", type = EditType.HTML_EDITOR, notNull = true)
    )
    private String content;


    @Lob
    @EruptField(
            views = @View(title = "备注"),
            edit = @Edit(title = "备注", type = EditType.TEXTAREA)
    )
    private String remark;

}

在这里插入图片描述
在这里插入图片描述
再开发一个图床管理的功能

@Erupt(
        name = "图床管理",
        dataProxy = Pictures.class,
        power = @Power(edit = false)
)
@Table(name = "picture")
@Entity
@Getter
@Setter
@AllowModify
public class Pictures extends HyperModel implements DataProxy<Pictures> {

    @EruptField(
            views = {
                    @View(title = "缩略图", type = ViewType.IMAGE)
            },
            edit = @Edit(title = "图片地址", notNull = true, type = EditType.ATTACHMENT)
    )
    private String filePath;

    @EruptField(
            views = @View(title = "大小", template = "(value/1024/1024).toFixed(2) + 'MB'")
    )
    private Integer sizes;

    @EruptField(
            views = @View(title = "宽度"),
            edit = @Edit(title = "宽度", show = false, search = @Search(vague = true))
    )
    private Integer width;

    @EruptField(
            views = @View(title = "高度"),
            edit = @Edit(title = "高度", show = false, search = @Search(vague = true))
    )
    private Integer height;

    @EruptField(
            views = {
                    @View(title = "备注")
            },
            edit = @Edit(title = "图片备注", type = EditType.TEXTAREA)
    )
    private String remark;

    @SneakyThrows
    @Override
    public void beforeAdd(Pictures pictures) {
        String fileDomain = new QiniuOosProxy().fileDomain();
        HttpResponse httpResponse = HttpUtil.createGet(fileDomain + pictures.getFilePath()).execute();
        BufferedImage bufferedImage = ImageIO.read(httpResponse.bodyStream());
        pictures.setHeight(bufferedImage.getHeight());
        pictures.setWidth(bufferedImage.getWidth());
        pictures.setSizes(httpResponse.bodyBytes().length);
    }
}

图床管理中使用了dataProxy注解配置,代理了add方法并且进行了相关逻辑的处理


开发完成,可以下班了😝…

效率就是这么高,摆脱常年CURD的恐惧,专注核心逻辑!

官网提供有很多示例,其中包括电商系统、博客系统、用户权限管理等。

官网地址:https://www.erupt.xyz

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值