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.

537 lines
27 KiB

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