You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

541 lines
27 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
5 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
5 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
5 years ago
2 years ago
2 years ago
2 years ago
5 years ago
  1. <p align="center">
  2. <a href="https://maimengcloud.com/" target="_blank">
  3. <img src="https://maimengcloud.com/img/728c2dec5c1055349455.png" width="400" alt="logo">
  4. </a>
  5. </p>
  6. <p align="center">
  7. <strong>唛盟(mdp-lcode):多功能、高效率、低代码的前后端一体化、智能化的开发工具</strong>
  8. </p>
  9. <p align="center">
  10. <a target="_blank" href="https://gitee.com/maimengcloud/mdp-lcode-ui-web">
  11. <img src='https://gitee.com/maimengcloud/mdp-lcode-ui-web/badge/star.svg?theme=gvp' alt='gitee star'/>
  12. </a>
  13. </p>
  14. <p align="center">
  15. 👉 <a target="_blank" href="https://maimengcloud.com/lcode/m1/">https://maimengcloud.com</a> 👈
  16. </p>
  17. ## 快速导航
  18. - [唛盟-后端开发底座](https://gitee.com/maimengcloud/mdp-core)
  19. - [前端组件](https://gitee.com/maimengcloud/mdp-lcode-ui-web)
  20. - [后端服务](https://gitee.com/maimengcloud/mdp-lcode-backend)
  21. - [体验环境](https://maimengcloud.com/lcode/m1/)
  22. 登陆界面上选择演示账号登陆或者直接扫码登陆,无须注册
  23. ## 📢 简介[唛盟低代码开发平台mdp-lcode](/)
  24. 唛盟低代码开发平台简称唛盟或者mdp.
  25. 唛盟旨在为企业开发业务系统提供一整套解决方案,唛盟具有高效率、低代码、功能丰富等特点。企业可以在唛盟工程之上,加入更多其它业务功能;也可以以唛盟作为模板,创建新的工程,用于开发其它业务。使用唛盟构建应用,您不用考虑多租户、登录、统一认证中心、权限、菜单管理、系统管理、公共组件、公共api、代码冗余、数据字典、图片库、文件库、智能表单、工作流、微服务互相调用、全局跟踪定位bug、多主键crud,复杂sql查询等各种问题,这些问题的解决方案都作为扩展功能内置唛盟工程中了。
  26. 💪给你一个使用唛盟的理由:代码大量减少、开发so easy、前后端MIT协议、全部开源、永久免费
  27. ### 唛盟主体工程
  28. 唛盟属于前后端严格分离的一套系统,分为前端工程、后端工程两部分
  29. - [mdp-lcode-ui-web](https://gitee.com/maimengcloud/mdp-lcode-ui-web)
  30. 唛盟的前端工程,以vue.js为主
  31. - [mdp-lcode-backend](https://gitee.com/maimengcloud/mdp-lcode-backend)
  32. 唛盟的后端工程,java语言为主
  33. ### 配套工程
  34. - [mdp-code-generator](https://gitee.com/maimengcloud/mdp-code-generator) 代码生成器
  35. 生成代码两种方式,
  36. 一、使用代码生成器本地工程,好处是代码可以直接覆盖到本地业务工程,避免复制黏贴出错。
  37. 二、如果不需要本地生成代码,也可以在低代码平台在线生成。[在线生成代码](https://maimengcloud.com/lcode/m1/#/mdp/lcode/gen)
  38. - [mdp-sys-backend](https://gitee.com/maimengcloud/mdp-sys-backend)
  39. 登陆、角色管理、权限管理、组织、人员、菜单、部门、元数据等管理功能的服务接口,默认打包合并到mdp-lcode-backend中,如果不涉及改动,无须关注该工程
  40. - [mdp-core](https://gitee.com/maimengcloud/mdp-core)
  41. 该工程作为所有后端的公共封装,不包含任何的业务功能,仅作为后端系统的技术底座,包含一些公共工具、服务类抽象、dao层抽象等。
  42. 默认打包进mdp-lcode-backend中,一般无须理会
  43. - [mdp-cloud-backend](https://gitee.com/maimengcloud/mdp-cloud-backend)
  44. 该工程作为spring cloud的扩展工程,如果需要将系统发布到spring cloud环境,需要下载该工程重新打包,不包含任何的业务功能,仅作为后端接入cloud环境使用
  45. - [mdp-oauth2-backend](https://gitee.com/maimengcloud/mdp-oauth2-backend)
  46. 该工程为统一认证中心,作为spring oauth2的扩展工程,如果需要将系统接入oauth2环境,需要下载该工程重新打包,该工程实现分布式单点登陆;支持微信、支付宝、短信、账户密码等多种登陆方式
  47. >⚠️注意:企业可以单独使用mdp-lcode-ui-web作为前端,单独开发后端系统;也可以使用**唛盟团队** 配套开源的后端系统[mdp-lcode-backend](https://gitee.com/maimengcloud/mdp-lcode-backend)作为后端服务。
  48. ## 😭 日常开发中,您是否有以下痛点?
  49. - **团队中缺乏企业级前后端分离的开发底座**,需要在各种框架中进行摸索、整合。
  50. - 重复造轮子现象严重、浪费人力、对开发者经验要求过高。
  51. - 缺乏统一的开发模式,缺乏公共组件的抽取和共享机制,导致业务代码混乱不堪、代码臃肿、bug多、维护困难
  52. - 缺乏统一的足够灵活的权限管理机制,开发人员不得不写一堆的权限代码混入业务代码中,前端权限、后端权限控制混乱不堪
  53. - 缺乏统一的能够覆盖前后端的、满足前后端分离的代码生成器,代码模板无法按企业现状进行重新编辑、修改
  54. - 缺乏统一的编程规范,或者具有书面编程规范,难以贯彻落实到开发中,代码还是五花八门
  55. - 缺乏统一的元数据(数据字典)管理机制,前后的数据共享调用困难,下拉列表数据混乱不堪
  56. - 缺乏统一的流程管理机制,要想进行流程类业务开发非常困难
  57. - 缺乏统一的国际化机制,国际化实施困难,不得不针对各种语言发布多个版本,无法解决后端国际化、前端国际化等问题
  58. - 缺乏统一的微服务、分布式系统整合机制,微服务互相调用、微服务的权限管理困难
  59. - 缺乏统一的认证中心,单点登录实施困难
  60. - 缺乏统一的支付整合机制,接入微信、支付宝、paypal等困难
  61. - 缺乏项目管理工具,项目计划、任务委派、质量管理、需求管理、持续集成等完全没概念
  62. - **让 唛盟-mdp 来帮你解决这些痛点吧!然而,这些只是 唛盟-mdp 解决的最基础的功能。**
  63. ## 😁 为什么要使用 [唛盟-mdp](https://gitee.com/maimengcloud/mdp-core)
  64. - 完全开源、永久免费的企业级开发底座
  65. 1. 使用mdp能够带来开发效率的大幅提升,代码行数大幅减少,质量提升明显
  66. 2. 使用mdp能够大幅度降低对开发人员的经验要求,大幅度降低人力成本
  67. 3. mdp对各种开源组件进行了融合改进,提供了针对企业开发中各种问题的最佳解决方案
  68. 4. 企业使用一套开源软件即同时拥有前端开发框架及后端开发框架
  69. - 统一的开发模式
  70. 1. 前后端分离
  71. 2. 前后端都分别进行了技术组件、业务组件的抽取、共享,企业可以进行再提炼、抽象,形成更多的公共组件,对后续开发形成强力的支撑作用
  72. - 足够灵活的权限管理机制
  73. 1. 前端提供统一的按钮级别的权限判断接口、提供路由菜单的权限控制机制
  74. 2. 后端实现api接口的自动注册、自动审核
  75. 3. 基于岗位-部门-角色-菜单及按钮-后端api-人员 6要素的权限管理机制,可以0编程实现绝大多数的权限需求
  76. - 基于领域驱动设计(DDD)的框架及代码生成器
  77. 1. 代码生成器覆盖前端、后端,支持任意时刻的重新生成,支持命令行、开发工具插件、在线三种方式生成代码,生成的代码可以0编程使用
  78. 2. 代码生成器代码模板可以按企业现状进行修改、满足不断发展、持续改进的需求
  79. 3. 支持多个表一次性生成,也就是可以一次性生成几十到几百张表的增删改查功能,而开发人员仅需要填写表名即可完成
  80. - 提供完整的编程规范说明
  81. 1. mdp的框架提供了完备的接口说明、组件说明、组件使用场景等
  82. 2. mdp维护团队提供在线支持,及时解答、解决开发者使用过程中的问题
  83. - 提供强大的元数据(数据字典)管理机制
  84. 1. 内置了元数据管理模块,并实现了元数据的分布式缓存、客户端缓存、元数据分发、缓存清理等
  85. 2. 开发者在客户端、任意微服务中、任意单体应用中可以快速获取元数据
  86. 3. 元数据的调用效率等同于调用本地map缓存,几乎可以忽略使用元数据的性能开销问题
  87. - 整合了最新版本的强大的flowable工作流引擎
  88. 1. 基于mdp框架重新开发了流程中心、任务中心、流程的发布、上下架等功能
  89. 2. 提供分布式环境下的流程调用、流程整合问题的解决方案
  90. 3. 提供在线流程设计器,并整合了mdp的权限机制
  91. - 提供强大的国际化解决方案
  92. 1. 前后端均支持分别进行国际化
  93. 2. 多语言的支持与业务代码完全解耦,彻底解决硬编码进行语言切换的问题
  94. - 整合了强大的微服务框架
  95. 1. mdp平台任意组件均同时支持微服务环境、单体应用环境运行,开发人员开发的时候可以以单体应用的方式开发,然后以微服务方式发布到生产、测试环境
  96. 2. 提供微服务的治理
  97. - 强大的DAO层
  98. 1. 支持基于xml文件的sql编写
  99. 2. 支持无xml方式的数据访问
  100. 3. 支持多主键(对mybatis plus进行升级,解决了多主键、多表联合查询等问题)
  101. 4. 支持多数据源,通过备注实现数据源切换
  102. 5. 支持前端构建任意复杂的查询条件并提供对应的最佳实践,支持前端输入框输入>,=,*,$IS NULL,$IN,$NOT IN等运算操作符,支持前端通过 or and 连接符构建任意复杂的条件表达式
  103. - 强大的web ui
  104. 1. 提供好用好看的ui组件库
  105. 2. 提供页面高级查询功能、可以组装任意复杂的查询条件
  106. 3. 提供针对元数据(数据字典)的引用、针对任意表的引用的组件库
  107. 4. 提供导入、导出等基础功能
  108. 5. 提供按钮权限判断接口、
  109. 6. 提供动态菜单功能
  110. - 提供自定义表单解决方案
  111. 1. 自定义表单设计
  112. 2. 表单展现
  113. 3. 表单数据管理
  114. 4. 自定义表单与工作流整合使用
  115. 5. 自定义表单发布成普通菜单
  116. - 整合了微信支付、支付宝支付、paypal支付
  117. 1. 提供支付、订单、支付通知底层框架,可以快速整合各种支付功能
  118. 2. 整合了微信支付功能,进行配置文件更新即可使用
  119. 3. 整合了支付宝支付功能,进行配置文件更新即可使用
  120. 4. 整合了paypal支付,进行配置文件更新即可使用
  121. - 整合了oauth2.0框架
  122. 1. 提供oauth2.0的整体框架,构建统一认证中心、单点登录等不再是难事
  123. 2. 整合了微信、支付宝、手机验证码、账户密码等登录方式
  124. ## 💪 内置功能
  125. ```
  126. 角色权限
  127. ├── 角色管理 => 角色crud、分配菜单、分配权限
  128. ├── 权限定义 => 权限crud
  129. ├── 菜单管理 => 菜单(按钮)crud、分配菜单(按钮)给角色、
  130. ├── 模块管理 => 模块crud
  131. ├── 已开模块 => 查看企业(个人)已开通的模块
  132. 组织管理
  133. ├── 机构管理 => 企业信息维护、管理员维护、账户信息维护、企业产品维护、
  134. ├── 用户管理 => 用户的crud、分配岗位、分配部门、重置密码、邀请
  135. ├── 部门管理 => 部门curd、分配岗位到部门、查看部门用户
  136. ├── 公司管理 => 公司curd(超级管理员使用)
  137. ├── 岗位管理 => 岗位curd、分配角色到岗位、岗位人员查看
  138. ├── 注销审核 => 审核用户的注销申请
  139. 平台管理
  140. ├── 平台配置 => 配置平台的信息
  141. ├── 个人认证审核 => 审核个人的实名认证请求
  142. ├── 企业认证审核 => 审核企业的实名认证请求
  143. 元数据管理
  144. ├── 字典管理 => 数据字典的crud
  145. ├── 列表维护 => 下拉列表数据项的crud
  146. ├── 参数定义 => 公共系统参数的crud
  147. 审批中心
  148. ├── 待执行 => 我的待执行任务查询、任务执行
  149. ├── 日历任务 => 我的待执行任务查询、任务执行
  150. ├── 发起流程 => 发起流程
  151. 审批监控
  152. ├── 我发起的流程 => 查询我发起的流程
  153. ├── 我监控的流程 => 查询我监控的流程、催办
  154. ├── 我参与的流程 => 查询我参与过的流程
  155. 流程模型
  156. ├── 流程编辑器 => 在线流程编辑器
  157. ├── 模型发布 => 流程模型发布
  158. ├── 模型设置 => 设置流程与智能表单的关联、模型的启动条件、审批人、权限等
  159. 低代码
  160. ├── 表单中心 => 智能表单的门户
  161. ├── 表单设计 => 进行智能表单设计、权限设置、在线查看源代码等
  162. ├── 数据录入、查询 => 查询表单已录入的数据
  163. ├── 代码生成器 => 在线生成crud的前端页面代码(表单、表格、api),后端代码(控制层、服务层、dao层代码),前后端0修改即可正常运行
  164. ```
  165. ## 组件库[mdp-ui](/src/components/mdp-ui)
  166. mdp封装了几十个ui组件,使用mdp-ui与不使用mdp-ui的区别:写100行代码还是写1行代码的区别,代码量的减少立竿见影
  167. - [mdp-ui](/src/components/mdp-ui)
  168. mdp的核心组件,该组件库为纯前端页面组件,无须配置任何后端api接口即可正确运行
  169. - [mdp-ui-ext](/src/components/mdp-ui-ext)
  170. 基于mdp-ui扩展的带有对接后台api业务加载能力的业务组件
  171. >⚠️注意:先行体验一把[mdp-ui组件效果预览](https://maimengcloud.com/lcode/m1/#/mdp/lcode/index)
  172. ### ⚙快速开始
  173. >找到[main.js](/src/main.js) 添加下面代码
  174. ```js
  175. //mdp-ui 基础组件
  176. import MdpComponents from '@/components/mdp-ui/index.js'
  177. Vue.use(MdpComponents)
  178. //mdp-ui-ext拓展的组件
  179. import MdpUiExtComponents from '@/components/mdp-ui-ext/index.js'
  180. Vue.use(MdpUiExtComponents)
  181. // 公共api
  182. import mdp from "@/api/mdp_pub";
  183. Vue.prototype.$mdp = mdp;
  184. ```
  185. ### [mdp-dialog](/src/components/mdp-ui/mdp-dialog)
  186. 弹框,可以把任意页面装配成弹框,无须定义多余的变量及函数
  187. - 相对于el-dialog来说,要使用弹窗,事情还真不少。需要定义visible变量,定义showDialog,closeDialog两个函数,最关键一点是如果要父页面传递参数到窗口内组件,还得在父页面定义一个变量,通过props属性传递。相当麻烦。如果某个功能弹窗特别多,会有一堆的控制弹窗的变量及函数,非常恶心。mdp-dialog则完全解决上述问题。
  188. ### [mdp-table](/src/components/mdp-ui/mdp-table)
  189. 表格,内置了增、删、改、查、高级查询、重置查询、导出、列配置、分页、批量编辑等功能、内置了对按钮权限的控制机制
  190. 功能非常强大,懂的都懂。
  191. - 综合管理
  192. ![综合管理表格](/docs/images/ui-components/table-mng.jpg)
  193. - 可编辑表格
  194. ![可编辑表格](/docs/images/ui-components/edit-table.jpg)
  195. - 可编辑-树状表格
  196. ![可编辑-树状表格](/docs/images/ui-components/left-right-tree-table.jpg)
  197. ### [mdp-select](/src/components/mdp-ui/mdp-select)
  198. 下拉列表,支持对数据字典、元数据的引用,支持对任意小表表格数据的引用,支持参数化加载后台数据,对后台加载的数据进行缓存
  199. ![mdp-select](/docs/images/ui-components/select-origin.jpg)
  200. ### [mdp-select-table](/src/components/mdp-ui/mdp-select-table)
  201. 超大表格下拉列表,与mdp-select相比,该组件具有分页查询功能
  202. ![分页选择表格数据](/docs/images/ui-components/big-table-select.jpg)
  203. ### [mdp-select-user](/src/components/mdp-ui-ext/mdp-select-user)
  204. 用户选择下拉列表,与mdp-select-table组件类似,仅仅针对用户的头像做了特殊处理
  205. ![用户选择](/docs/images/ui-components/select-user.jpg)
  206. ### [mdp-input](/src/components/mdp-ui/mdp-input)
  207. 输入框
  208. ### [mdp-date](/src/components/mdp-ui/mdp-date)
  209. 日期
  210. ### [mdp-date-range](/src/components/mdp-ui/mdp-date-range)
  211. 区间日期
  212. ### [mdp-number](/src/components/mdp-ui/mdp-number)
  213. 数字输入
  214. ### [mdp-hi-query](/src/components/mdp-ui/mdp-hi-query)
  215. 高级查询,可以由用户自定义任意复杂的查询条件
  216. ![高级查询](/docs/images/ui-components/hi-query.jpg)
  217. ### [mdp-table-configs](/src/components/mdp-ui/mdp-table-configs)
  218. 表格配置,用于控制表格的列显示与否
  219. ![表格配置列显示隐藏](/docs/images/ui-components/table-column-configs.jpg)
  220. ### [mdp-transfer](/src/components/mdp-ui/mdp-transfer)
  221. 穿梭框
  222. ### [mdp-cate-tree](/src/components/mdp-ui-ext/mdp-cate-tree)
  223. 文档、文章目录树
  224. ### [mdp-expand](/src/components/mdp-ui-ext/mdp-expand)
  225. 智能表单相关组件
  226. ### [mdp-ext-infos](/src/components/mdp-ui-ext/mdp-ext-infos)
  227. 自动扩展字段信息
  228. ### [mdp-image](/src/components/mdp-ui-ext/mdp-image)
  229. 图片库,图片的增删改查、上传、下载
  230. ### [mdp-select-image](/src/components/mdp-ui-ext/mdp-select-image)
  231. 图片选择器,支持图片的上传下载、上传后的统一管理、共享
  232. ### [mdp-select-dept](/src/components/mdp-ui-ext/mdp-select-dept)
  233. 部门选择,支持树状机构,异步加载,支持分页查询,任意大数据量
  234. ### [mdp-select-att](/src/components/mdp-ui-ext/mdp-select-att)
  235. 附件库,支持附件的上传下载、上传后的统一管理、共享
  236. ### [mdp-select-cate](/src/components/mdp-ui-ext/mdp-select-cate)
  237. 文档、文章目录树选择器
  238. ### [mdp-select-tag](/src/components/mdp-ui-ext/mdp-select-tag)
  239. 标签库,支持标签的统一管理、共享
  240. ### [mdp-meta-item](/src/components/mdp-ui-ext/[mdp-meta-item)
  241. 元数据管理库、支持元数据的crud
  242. ### [mdp-meta-option](/src/components/mdp-ui-ext/mdp-meta-option)
  243. 元数据管理库-列表数据组件、支持列表数据的crud
  244. ### [mdp-rich-text](/src/components/mdp-ui-ext/mdp-rich-text)
  245. 富文本编辑器,整合了mdp-select-image作为插件
  246. ## 🔃 api
  247. - [api](/src/api/)
  248. 业务api,哪里用到哪里就单独引入
  249. ### [api/mdp_pub/index.js](/src/api/mdp_pub/index.js)
  250. 公共api总入口,注册到vue全局函数中,可以在页面中任意地方直接使用,公共api总入口,如需要添加公共api,请在此文件添加
  251. ### [mdp_api_base.js](/src/api/mdp_pub/mdp_api_base.js)
  252. 为mdp框架核心的与后端交互的api,自动注册为全局公共函数,可通过$mdp.xxx调用,可改,但不要新增,删除任何一个api.
  253. ### [mdp_api_ext.js](/src/api/mdp_pub/mdp_api_ext.js)
  254. 为mdp扩展的组件与后端交互的api,自动注册为全局公共函数,可通过$mdp.xxx调用,可改,但不要新增,删除任何一个api.
  255. ### [mdp_api_biz.js](/src/api/mdp_pub/mdp_api_biz.js)
  256. 为mdp扩展的组件与后端交互的api,自动注册为全局公共函数,可通过$mdp.xxx调用,可改,可新增必要的api.
  257. ```html
  258. <el-button @click="$mdp.xxxApi()"/>
  259. ```
  260. ```js
  261. this.$mdp.xxxApi()
  262. ```
  263. - [login](/src/api/login.js)
  264. 登录相关api
  265. ## ↕️ 指令
  266. - [v-adaptive](./directive/el-table/index.js)
  267. 让表格自动适应,表格底部始终保持距离视窗底部一定距离(默认 30px)
  268. ```
  269. <el-table v-adaptive="{bottomOffset:30}"/>
  270. ```
  271. ## ⌨ 技术栈
  272. vue全家桶 + element-ui + axios
  273. ## 💻 样例项目
  274. - [低代码平台] (https://maimengcloud.com/lcode/m1/)
  275. - [系统管理] (https://maimengcloud.com/sys/m1/)
  276. - [协同办公] (https://maimengcloud.com/oa/m1/)
  277. - [项目管理] (https://maimengcloud.com/xm/m1/)
  278. - [流程管理] (https://maimengcloud.com/workflow/m1/)
  279. ## ⚙ 快速开始
  280. >⚠️注意:该项目使用 element-ui@2.3.0+ 版本,所以最低兼容 vue@2.5.0+ nodejs版本v14.16.1
  281. ### 前序准备
  282. - 你的本地环境需要安装 [node](http://nodejs.org/) 和 [git](https://git-scm.com/)。我们的技术栈基于 [ES2015+](http://es6.ruanyifeng.com/)、[vue](https://cn.vuejs.org/index.html)、[vuex](https://vuex.vuejs.org/zh-cn/)、[vue-router](https://router.vuejs.org/zh-cn/) and [element-ui](https://github.com/ElemeFE/element),提前了解和学习这些知识会对使用本项目有很大的帮助。
  283. - 该项目属于网页版前端项目,所有api由 [mdp-lcode-backend](https://gitee.com/maimengcloud/mdp-lcode-backend)提供,请下载该项目
  284. - 代码生成器下载 [mdp-code-generator](https://gitee.com/maimengcloud/mdp-code-generator) 也可以在低代码平台在线生成
  285. ### 开发
  286. ```bash
  287. # 克隆项目
  288. git clone https://gitee.com/maimengcloud/mdp-lcode-ui-web.git
  289. # 安装依赖
  290. npm install
  291.    
  292. # 建议不要用cnpm安装 会有各种诡异的bug 可以通过如下操作解决 npm 下载速度慢的问题
  293. npm install --registry=https://registry.npm.taobao.org
  294. # 启动服务
  295. npm run dev
  296. ```
  297. 浏览器访问 http://localhost:8015
  298. #### 登录相关
  299. 登录api,对接后台接口有两种方式,分别为对接统一认证中心、对接mdp-lcode-backend
  300. 默认对接mdp-lcode-backend中的登录模块,如果想切换,更改[mdp_config.js中的getOauth2LoginContext函数即可](src/api/mdp_pub/mdp_config.js)
  301. - 对接统一认证中心进行登录
  302. ```js
  303. getOauth2LoginContext:function(){
  304. return "oauth2client"
  305. }
  306. ```
  307. - 对接mdp-lcode-backend进行登录
  308. ```js
  309. getOauth2LoginContext:function(){
  310. return "lcode"
  311. }
  312. ```
  313. ### 发布
  314. ```bash
  315. # 构建测试环境
  316. npm run build:sit
  317. # 构建生成环境
  318. npm run build:prod
  319. ```
  320. ### 🔔️ 特别提醒
  321. mdp 3.0 版本已经开始规划更新了,尽请期待新版本的诞生吧
  322. ### 🗒️ 版本更新日志
  323. 升级前必看:[CHANGELOG.md](/docs/CHANGELOG.md)
  324. ## 🚀 基于mdp框架拓展的开源项目
  325. >⚠️ 注意:以下拓展的框架或者子系统,由mdp开源团队基于项目经验进行总结抽取,可用可不用,可以以jar包方式合并到现有工程进行发布,也可单独发布成单体应用、微服务应用
  326. - 第三方支付框架,整合了微信支付、支付宝支付、paypal支付
  327. 1. [mdp-tpa-pay-backend](https://gitee.com/maimengcloud/mdp-tpa-pay-backend) 后端
  328. - 即时通讯框架
  329. 1. [mdp-im-uniapp](https://gitee.com/maimengcloud/mdp-im-uniapp) 前端app
  330. 2. [mdp-im-web](https://gitee.com/maimengcloud/mdp-im-web) 前端浏览器
  331. 3. [mdp-im-backend](https://gitee.com/maimengcloud/mdp-im-backend) 后端
  332. - 统一认证中心框架
  333. 2. [mdp-oauth2-backend](https://gitee.com/maimengcloud/mdp-oauth2-backend) 后端
  334. - 微服务框架
  335. 1. [mdp-cloud-backend](https://gitee.com/maimengcloud/mdp-cloud-backend) 后端
  336. - 工作流管理子系统
  337. 1. [mdp-workflow-ui-web](https://gitee.com/maimengcloud/mdp-workflow-ui-web) 前端
  338. 2. [mdp-workflow-backend](https://gitee.com/maimengcloud/mdp-workflow-backend) 后端
  339. - 低代码平台
  340. 1. [mdp-lcode-ui-web](https://gitee.com/maimengcloud/mdp-lcode-ui-web) 前端
  341. 2. [mdp-lcode-backend](https://gitee.com/maimengcloud/mdp-lcode-backend) 后端
  342. - 内容管理子系统
  343. 1. [mdp-arc-ui-web](https://gitee.com/maimengcloud/mdp-arc-ui-web) 前端
  344. 2. [mdp-arc-backend](https://gitee.com/maimengcloud/mdp-arc-backend) 后端
  345. - 短信子系统
  346. 1. [mdp-sms-ui-web](https://gitee.com/maimengcloud/mdp-sms-ui-web) 前端
  347. 2. [mdp-sms-backend](https://gitee.com/maimengcloud/mdp-sms-backend) 后端
  348. - 项目管理子系统
  349. 1. [xm-crowd-ui-web](https://gitee.com/maimengcloud/xm-crowd-ui-web) 前端众包
  350. 2. [xm-ui-web](https://gitee.com/maimengcloud/xm-ui-web) 前端管理端
  351. 3. [xm-backend](https://gitee.com/maimengcloud/xm-backend) 后端
  352. - 财务管理子系统
  353. 1. [ac-core-ui-web](https://gitee.com/maimengcloud/ac-core-ui-web) 前端管理端
  354. 2. [ac-backend](https://gitee.com/maimengcloud/ac-backend) 后端
  355. ## 📝 常见问题、操作说明
  356. - [FQA](https://maimengcloud.com/#/openCommunity/fqa)
  357. ## 💯 实践案例
  358. 1. [低代码平台](https://maimengcloud.com/lcode/m1/)
  359. 1. [系统管理](https://maimengcloud.com/sys/m1/)
  360. 2. [协同办公](https://maimengcloud.com/oa/m1/)
  361. 3. [唛盟众包-网页](https://maimengcloud.com)
  362. 3. [项目管理-网页](https://maimengcloud.com/xm/m1/)
  363. 4. 项目管理-小程序
  364. <img src="https://maimengcloud.com/img/77639c6907935d3b699f.png" alt="drawing" width="200"/>
  365. 5. [流程管理](https://maimengcloud.com/workflow/m1/)
  366. ## 🔨贡献指南
  367. ### 贡献须知
  368. mdp 作为开源项目,离不开社区的支持,欢迎任何人修改和提出建议。贡献无论大小,你的贡献会帮助背后成千上万的使用者以及开发者,你做出的贡献也会永远的保留在项目的贡献者名单中,这也是开源项目的意义所在!
  369. 为了保证项目代码的质量与规范,以及帮助你更快的了解项目的结构,请在贡献之前阅读:
  370. - [mdp 贡献说明](https://gitee.com/maimengcloud/mdp-core/blob/master/docs/CONTRIBUTE.md)
  371. ### 贡献步骤
  372. 1. Fork 本仓库。
  373. 2. Fork 后会在你的帐号下多了一个和本仓库一模一样的仓库,把你帐号的仓库 clone 到本地。
  374. 注意替换掉链接中的`分支名`和`用户名`。
  375. 如果是贡献代码,分支名填 `dev`;如果是贡献文档,分支名填 `docs`
  376. ```bash
  377. git clone -b 分支名 https://gitee.com/用户名/mdp-lcode-ui-web.git
  378. ```
  379. 3. 修改代码/文档,修改后提交上来。
  380. ```bash
  381. # 把修改的文件添加到暂存区
  382. git add .
  383. # 提交到本地仓库,说明你具体做了什么修改
  384. git commit -m '填写你做了什么修改'
  385. # 推送到远程仓库,分支名替换成 dev 或者 docs
  386. git push origin 分支名
  387. ```
  388. 4. 登录你的仓库,然后会看到一条 PR 请求,点击请求合并,等待管理员把你的代码合并进来。
  389. ### 项目分支说明
  390. | 分支 | 说明 |
  391. |--------|-----------------------------------------------|
  392. | master | 主分支,受保护分支,此分支不接受 PR。在 dev 分支后经过测试没问题后会合并到此分支。 |
  393. | dev | 开发分支,接受 PR,PR 请提交到 dev 分支。 |
  394. ## 🐞 交流讨论 、反馈 BUG、提出建议等
  395. 1. 快扫描下方左侧微信二维码和我们一起交流讨论吧!(备注 唛盟-mdp 进群)
  396. <img src="https://maimengcloud.com/img/5ff0a747a4a1f14cf6a5.png" alt="drawing" width="200"/>
  397. 2. 唛盟微信公众号查看一些基础教程
  398. <img src="https://maimengcloud.com/img/f3f91bac3a3735264a66.png" alt="drawing" width="200"/>
  399. 3. 反馈 BUG、提出建议,欢迎新建:[issues](https://gitee.com/maimengcloud/mdp-lcode-ui-web/issues),开发人员会不定时查看回复。
  400. 4. 参与贡献,请查看[贡献指南](#🔨贡献指南)。
  401. ## 💲 打赏
  402. **感谢所有赞赏以及参与贡献的小伙伴,你们的支持是我们不断更新前进的动力!微信扫一扫,赏杯咖啡呗!**
  403. <img src="https://maimengcloud.com/img/97094cc1553fe0b0046c.jpg" alt="drawing" width="300"/>
  404. ## 🔔商务合作
  405. 序号|合作项目| 详细介绍 | 费用说明|
  406. ----------------------|------------|----------------------|-----|
  407. 1.| 打赏获得赞助商名额| 在赞助商列表展示(添加微信沟通) |不限额度|
  408. 2.| 新组件开发| 提供组件扩展、优化服务 |视复杂程度而定|
  409. 3.| 开发问题解答|如果使用该产品遇到棘手问题需要解决,添加微信进行沟通解决 |免费|
  410. 4.| 开发培训|提供开发流程介绍、技术介绍、功能介绍、部署流程介绍,仅限线上培训 |加微信详聊|
  411. 5.| 扩展问题解答|如果需要使用该产品进行自有业务系统研发,需要我方提供意见建议,我方收取一定费用后提供相应服务 |加微信详聊|
  412. 6.| 广告合作|广告位(精品项目推荐、赞助商展位) |加微信沟通|