找回密码
 立即注册
首页 业界区 业界 基于.net6的一款开源的低代码、权限、工作流、动态接口 ...

基于.net6的一款开源的低代码、权限、工作流、动态接口平台-系统安装篇

荆邦 2025-11-25 23:00:09
系统安装说明

1. 安装环境


  • 操作系统:Windows 10 或以上版本
  • 数据库:MySQL 8.0 或以上版本(我开发使用的是Windows版本,Linux版本没有测试)
  • .NET 6.0
  • Yarn:1.22 或以上版本
2. 拉取项目代码

2.1 命令行拉取项目代码


  • 打开命令行工具(如 PowerShell 或 cmd)。
  • 导航到要存储项目代码的目录。
  • 运行以下命令来克隆项目仓库:
    1. git clone https://gitee.com/Jesai/platform.git
    复制代码
2.2 可视化工具拉取项目代码


  • 打开可视化工具(如 GitKraken、SourceTree 等)。
  • 点击“克隆仓库”或类似按钮。
  • 输入项目仓库的 URL(如 https://gitee.com/Jesai/platform.git)。
  • 选择要存储项目代码的目录。
  • 点击“克隆”或类似按钮来拉取项目代码。
3. 数据库配置


  • 打开 MySQL 数据库管理工具(如 MySQL Workbench、Navicat 等)。
  • 连接到本地 MySQL 数据库服务器。
  • 运行以下 SQL 命令来创建数据库:
    3.1. 创建业务主库Platform
    1. CREATE DATABASE IF NOT EXISTS Platform;
    复制代码
    3.2. 创建低代码库monacoroslyncomplete(可选,默认自动创建)
    1. CREATE DATABASE IF NOT EXISTS monacoroslyncomplete;
    复制代码
    3.3. 创建请求监控库httprequestmonitor(可选,默认自动创建)
    1. CREATE DATABASE IF NOT EXISTS httprequestmonitor;
    复制代码
    3.4 创建工作流引擎库workflow
    1. CREATE DATABASE IF NOT EXISTS workflow;
    复制代码
  • 运行以下 SQL 命令来创建数据库用户并授权:
    创建用户并授权Platform库
    1. CREATE USER IF NOT EXISTS 'jesai'@'localhost' IDENTIFIED BY '123456';
    2. GRANT ALL PRIVILEGES ON Platform.* TO 'jesai'@'localhost';
    3. FLUSH PRIVILEGES;
    复制代码
    授权工作流引擎库workflow
    1. GRANT ALL PRIVILEGES ON workflow.* TO 'jesai'@'localhost';
    2. FLUSH PRIVILEGES;
    复制代码
    创建用户并授权httprequestmonitor库(可选,默认自动创建)
    1. CREATE USER IF NOT EXISTS 'jesai'@'localhost' IDENTIFIED BY '123456';
    2. GRANT ALL PRIVILEGES ON httprequestmonitor.* TO 'jesai'@'localhost';
    3. FLUSH PRIVILEGES;
    复制代码
    创建用户并授权monacoroslyncomplete库(可选,默认自动创建)
    1. CREATE USER IF NOT EXISTS 'jesai'@'localhost' IDENTIFIED BY '123456';
    2. GRANT ALL PRIVILEGES ON monacoroslyncomplete.* TO 'jesai'@'localhost';
    3. FLUSH PRIVILEGES;
    复制代码
  • 运行以下 SQL 命令来导入数据库表结构:
    批量执行Sql/Platform下面的所有dump sql文件
    1. USE Platform;
    2. SOURCE Sql/Platform/*.sql;
    复制代码
    批量执行Sql/workflow下面的所有dump sql文件(可选,开启自动创建)
    1. USE workflow;
    2. SOURCE Sql/workflow/*.sql;
    复制代码
    批量执行Sql/httprequestmonitor下面的所有dump sql文件(可选,默认自动创建)
    1. USE httprequestmonitor;
    2. SOURCE Sql/httprequestmonitor/*.sql;
    复制代码
    批量执行Sql/monacoroslyncomplete下面的所有dump sql文件(可选,默认自动创建)
    1. USE monacoroslyncomplete;
    2. SOURCE Sql/monacoroslyncomplete/*.sql;
    复制代码
    如果你的数据库管理工具不支持批量执行 SQL 文件,可以使用以下脚本在 Windows 环境下通过命令行批量执行 SQL 文件:
    1. @echo off
    2. set MYSQL_USER=root
    3. set MYSQL_PASS=yourpassword
    4. set MYSQL_HOST=localhost
    5. set DATABASE=your_database
    6. set SQL_DIR=d:\sql_files
    7. for %%f in (%SQL_DIR%\*.sql) do (
    8.     echo 执行SQL文件: %%f
    9.     mysql -u%MYSQL_USER% -p%MYSQL_PASS% -h%MYSQL_HOST% %DATABASE% < "%%f"
    10. )
    11. echo 所有SQL文件执行完成!
    复制代码
4. 项目配置


  • 打开项目目录中的 appsettings.json 文件。
  • 配置所有数据库连接字符串:
    1. {
    2. "Logging": {
    3.     "LogLevel": {
    4.     "Default": "Information",
    5.     "Microsoft.AspNetCore": "Warning"
    6.     }
    7. },
    8. "Hangfire": {
    9.     "Login": "admin",
    10.     "Password": "123456"
    11. },
    12. //数据库类型列表
    13. "DbList": [ "Sqlite", "Mysql", "Sqlserver", "Oracle" ],
    14. "DbConnOptions": {
    15.     "Url": "server=localhost;port=3306;database=platform;user id=root;password=123456",
    16.     "DbType": "Mysql",
    17.     "EnabledDbSeed": false,
    18.     "EnabledReadWrite": false,
    19.     "EnabledCodeFirst": false,
    20.     "EntityAssembly": null,
    21.     "ReadUrl": [
    22.     //"DataSource=[xxxx]", //sqlite
    23.     "server=localhost;port=3306;database=platform;user id=root;password=123456" //mysql
    24.     //"Data Source=[xxxx];Initial Catalog=[xxxx];User ID=[xxxx];password=[xxxx]" //sqlserver
    25.     ]
    26. },
    27. "JwtAuthorize": {
    28.     "ProjectName": "MMLT.WebApi",
    29.     "Secret": "hsenwkqimk4mfxt88pc9hbn6fcubcb4u",
    30.     "Issuer": "poc",
    31.     "Audience": "axon",
    32.     "PolicyName": "permission",
    33.     "DefaultScheme": "Bearer",
    34.     "IsHttps": "false",
    35.     "RequireExpirationTime": "true",
    36.     "MySqlConnectionString": "server=localhost;port=3306;database=platform;uid=root;pwd=123456;characterset=utf8",
    37.     "RefreshInteval": 300
    38. },
    39. //"DbConfig": [
    40. //  {
    41. //    "Name": "admin",
    42. //    "Default": true,
    43. //    "ConnectionString": "server=localhost;port=3306;database=platform;uid=root;pwd=123456;characterset=utf8",
    44. //    "DbType": "MySql",
    45. //    "IsAutoCloseConnection": true
    46. //  }
    47. //],
    48. //授权
    49. "JwtTokenOptions": {
    50.     "Audience": "mlt",
    51.     "Issuer": "localhost:19001",
    52.     "Subject": "mltframwork",
    53.     "ExpSecond": 3600
    54. },
    55. "WorkflowDataSource": {
    56.     "providerName": "MySql",
    57.     "database": "workflow",
    58.     "connectionString": "server=localhost;database=workflow;uid=root;pwd=123456;Character Set=utf8"
    59. },
    60. "AllowedHosts": "*",
    61. "BaseUrl": "https://localhost:8989/",
    62. "ExternalConnectorUrl": {
    63.     "MailServiceUrl": "ConfigUtil.Value('BaseUrl') + 'mail/send'",
    64.     "WechatServiceUrl": "ConfigUtil.Value('BaseUrl') + 'wechat/send'",
    65.     "SmsServiceUrl": "ConfigUtil.Value('BaseUrl') + 'sms/send'",
    66.     "WorkflowUrl": "ConfigUtil.Value('BaseUrl')",
    67.     "GetUserByDept": "ConfigUtil.Value('BaseUrl') + 'api/workflowusers'", //获取部门下所有人员 External Web API,
    68.     "GetUserByUser": "ConfigUtil.Value('BaseUrl') + 'api/workflowusers'", //获取多个人员信息External Web API
    69.     "GetUser": "ConfigUtil.Value('BaseUrl') + 'api/workflowusers/user'", //获取单个人员信息External Web API
    70.     "GetUserByDeptLeader": "ConfigUtil.Value('BaseUrl') + 'api/workflowusers'", //获取部门领导 External Web API
    71.     "GetUserByDirectReporter": "ConfigUtil.Value('BaseUrl') + 'api/workflowusers'", //获取直接汇报人 External Web API
    72.     "GetUserByDuty": "ConfigUtil.Value('BaseUrl') + 'api/workflowusers'", //获取担当某个岗位角色的人员 External Web API
    73.     "GetUserByUnderling": "ConfigUtil.Value('BaseUrl') + 'api/workflowusers'" //获取直接下属 External Web API
    74. },
    75. "ConfigFile": "activiti.cfg.json",
    76. "CacheOptions": {
    77.     "Type": "Sys.Core.Cache.InMemoryCache,Sys.Bpm.Engine",
    78.     "Options": {
    79.     //InMemoryCache配置
    80.     "InMemory": {
    81.         "SizeLimit": -1, //-1 不限制大小(字节)
    82.         "AbsoluteExpiration": -1 //-1 永不过期,否则配置使用 天.小时:分钟:秒:毫秒格式设置绝对过期时间
    83.     }
    84.     //Redis配置
    85.     //"ConnectTimeout": 3000, //链接超时
    86.     //"ClientName": "ApiWorkflow", //客户端id,默认guid
    87.     //"Password": "123456", //密码
    88.     //"Endpoints": "192.168.13.180:6379,192.168.13.181:6379", //Redis服务端地址列表,以","分隔,例:"192.168.1.1:6379,192.168.1.2:6379"
    89.     //"AllowAdmin": false, //是否允许Admin操作,默认false
    90.     //"Prefix": "WORKFLOW", //缓存前缀,不允许超过20位,填写 application id或其简写,长度建议8位
    91.     //"KeepAlive": 60, //发送消息以帮助保持套接字活动的时间, 即连接保持时间(默认60s)
    92.     //"SyncTimeout": 1000, //指定系统允许同步操作的时间(默认为1秒),以毫秒为单位
    93.     //"AsyncTimeout": 1000, //指定系统允许异步操作的时间(默认为SyncTimeout),以毫秒为单位
    94.     //"EnableLogCallRecords": false //是否记录调用日志,默认false
    95.     }
    96. },
    97. "MonacoRoslynComplete": {
    98.     "Storage": {
    99.     //"ConnectionString": "Data Source=127.0.0.1;Initial Catalog=HttpRequestMonitor;User ID=test;Password=test;charset=utf8;SslMode=none;",
    100.     "ConnectionString": "database=MonacoRoslynComplete;server=localhost;uid=root;pwd=123456;",
    101.     //"ConnectionString": "Max Pool Size = 512;server=.;uid=sa;pwd=123456;database=HttpRequestMonitor;",
    102.     //"ConnectionString": "http://localhost:9200/",
    103.     //"ConnectionString": "Host=localhost;Port=5432;Username=postgres;Password=123456;Database=HttpRequestMonitor;",
    104.     //"ConnectionString": "Password=Mm2717965346;User ID=sa;Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=127.0.0.1)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORCL)));",
    105.     "EnableDefer": true,
    106.     "DeferSecond": 10,
    107.     "DeferThreshold": 3
    108.     }
    109. }
    110. }
    复制代码
  • 保存 appsettings.json 文件。
5. 运行项目


  • 打开项目目录。
  • 运行以下命令来构建项目:
    1. dotnet build
    复制代码
  • 运行以下命令来运行项目:
    1. dotnet run
    复制代码
6.运行前端项目


  • 打开项目目录中的 Platform\UI\web 子目录。
  • 运行以下命令来安装前端依赖:
    1. yarn install
    复制代码
  • 运行以下命令来启动前端项目:
    1. yarn run dev
    复制代码
7. 访问项目


  • 打开浏览器。
  • 输入以下 URL 来访问项目:
    1. http://localhost:3000
    复制代码
  • 使用以下默认管理员账号登录:

    • 用户名:admin
    • 密码:123456

8. 常见问题


  • 问题:登录后页面显示空白。
    解决方法:检查前端项目是否成功启动,确保端口号为 3000。
  • 问题:数据库连接失败。
    解决方法:检查数据库连接字符串是否正确配置,确保数据库服务已启动。
  • 运行程序各种数据库报错
    解决方法:检查是否表名大小写问题,作者开发默认用的mysql是window系统,大小写不敏感,但是在linux系统中是敏感的。
开源地址:https://gitee.com/Jesai/platform.git

来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

相关推荐

您需要登录后才可以回帖 登录 | 立即注册