SpringBoot 3 + Flutter3 实战低代码运营管理-10章

kaidnxhd2023 · · 392 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。
SpringBoot 3 + Flutter3 实战低代码运营管理-10章 参考资料1:https://pan.baidu.com/s/1sE93jgG-x3QwuVbbKtG_vQ 提取码:2nli 参考资料2:https://pan.baidu.com/s/1xXEFkvYj_0ZX2l2zZShA7w 提取码:d2nw 技术人员唯有多领域发展,才能具备抓住最佳机会和心仪Offer的实力。《SpringBoot 3 + Flutter3 实战低代码运营管理》将带你基于全栈技术(SpringBoot 3+Flutter3),全流程打造多端低代码运营管理平台,助你急速打通“全栈+跨端“综合技能,更快胜任多领域岗位,先人一步成为企业青睐的 “驾驭全局,深广兼备,打通端到端全技能” 的全能型人才。 从技术到业务,从思维到落地,打造深广兼备的全能型人才 App + Web + Server 打造技术开发的全面能力 测试 + 文档 构建完整的项目质量保障能力 容器部署 + 多类型数据库迁移 掌握复杂项目运维能力 原生低代码方案设计 积累热门业务综合实战经验 实践 Web 端和 APP 端兼顾可拖拽的,所见即所得的布局编辑器 落地" 需求理解->快速搭建原型->验证需求->迭代改进 "企业项目迭代模式 采用原生的低代码方案,保障性能要求和风格协调性 全局思维贯穿始终 提升全方位架构设计能力 多层次抽象封装,多端共享领域模型和组件,多维度打通大型项目的可 维护、可拓展设计思维 兼具前端、后端、安全、测试多领域视野,提高方案设计创造力和可落地性 工程化解决方案落地实践 掌握开发效率与质量保障硬技能 解锁测试驱动开发,自动化测试提高代码质量 实践代码重构改造的更优方案,提高可维护、可扩展性 掌握 “模块化-组件化“ 开发方案,降低耦合度,提高复用率 以下是开发流程: 在 com.example.his.api.mis.service.impl包UserServiceImpl.java类中,实现抽象方法。 @Service public class UserServiceImpl implements UserService { @Resource private UserDao userDao; @Override public Integer login(Map param) { String username = MapUtil.getStr(param, "username"); String password = MapUtil.getStr(param, "password"); MD5 md5 = MD5.create(); String temp = md5.digestHex(username); String tempStart = StrUtil.subWithLength(temp, 0, 6); String tempEnd = StrUtil.subSuf(temp, temp.length() - 3); password = md5.digestHex(tempStart + password + tempEnd).toUpperCase(); param.replace("password", password); Integer userId = userDao.login(param); return userId; } } 加载部门列表和角色列表 为了实现user.vue页面的部门列表和角色列表可以动态加载数据,我们必须编写TS代码利用Ajax请求获取数据,于是需要声明两个封装函数,分别用于加载角色列表和部门列表数据。 function loadRoleList() { proxy.$http('/mis/role/searchAllRole', 'GET', null, true, function (resp) { dataForm.roleList = resp.list; }); } function loadDeptList() { proxy.$http('/mis/dept/searchAllDept', 'GET', null, true, function (resp) { dataForm.deptList = resp.list; }); } //执行两个封装函数 loadRoleList(); loadDeptList(); 加载用户分页数据 定义一个查询分页数据的封装函数,将来会多次用到。比如添加、修改和删除了用户记录之后,都需要重新加载分页记录,所以定义封装函数的目的就是将来调用更方便。 function loadDataList() { data.loading = true; let json = { page: data.pageIndex, length: data.pageSize, name: dataForm.name, sex: dataForm.sex, role: dataForm.role, deptId: dataForm.deptId, status: dataForm.status }; proxy.$http('/mis/user/searchByPage', 'POST', json, true, function (resp) { let page = resp.page; let list = page.list; for (let one of list) { if (one.status == 1) { one.status = '在职'; } else if (one.status == 2) { one.status = '离职'; } } data.dataList = list; data.totalCount = page.totalCount; data.loading = false; }); } //调用封装函数,加载分页记录 loadDataList(); 编写持久层代码 在UserDao.xml文件中,声明两条SQL语句。其中desc字段是关键字,所以需要转义处理。 <select id="searchById" parameterType="int" resultType="HashMap"> SELECT id, dept_name AS deptName, tel, email, `desc` FROM tb_dept WHERE id = #{id} </select> <update id="update" parameterType="com.example.his.api.db.pojo.DeptEntity"> UPDATE tb_dept SET dept_name=#{deptName}, tel=#{tel}, email=#{email}, `desc`=#{desc} WHERE id = #{id} </update> 在com.example.his.api.mis.controller包DeptController.java类中,声明Web方法。 @RestController @RequestMapping("/mis/dept") public class DeptController { …… @PostMapping("/searchById") @SaCheckPermission(value = {"ROOT", "DEPT:SELECT"}, mode = SaMode.OR) public R searchById(@Valid @RequestBody SearchDeptByIdForm form) { HashMap map = deptService.searchById(form.getId()); return R.ok().put("result", map); } @PostMapping("/update") @SaCheckPermission(value = {"ROOT", "DEPT:UPDATE"}, mode = SaMode.OR) public R update(@Valid @RequestBody UpdateDeptForm form) { DeptEntity dept = new DeptEntity(); dept.setId(form.getId()); dept.setDeptName(form.getDeptName()); dept.setTel(form.getTel()); dept.setEmail(form.getEmail()); dept.setDesc(form.getDesc()); int rows = deptService.update(dept); return R.ok().put("rows", rows); } } 项目总结:本项目是一个多端低代码运营管理平台。在保障性能的前提下,帮助运营人员从容应对因为公司各种活动宣传,需要频繁发布新版应用的需求。希望大家会喜欢这个项目!
392 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传