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.

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