{"id":22533594,"url":"https://github.com/shanliu/lsys","last_synced_at":"2025-04-05T05:05:43.277Z","repository":{"id":162094029,"uuid":"592239949","full_name":"shanliu/lsys","owner":"shanliu","description":"[开发中] 一个用rust实现 简易应用管理系统 [测试账号:aaaaa 密码:000000]","archived":false,"fork":false,"pushed_at":"2024-12-21T14:25:14.000Z","size":2333,"stargazers_count":55,"open_issues_count":1,"forks_count":12,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-12T09:32:07.883Z","etag":null,"topics":["rust","rust-web","web-development"],"latest_commit_sha":null,"homepage":"https://lsys.site","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shanliu.png","metadata":{"files":{"readme":"README.MD","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-01-23T09:40:07.000Z","updated_at":"2024-12-30T07:57:10.000Z","dependencies_parsed_at":"2024-03-02T07:25:33.576Z","dependency_job_id":"05a0f6c8-6ce8-4628-af18-59b979b0366f","html_url":"https://github.com/shanliu/lsys","commit_stats":null,"previous_names":[],"tags_count":5,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanliu%2Flsys","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanliu%2Flsys/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanliu%2Flsys/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shanliu%2Flsys/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shanliu","download_url":"https://codeload.github.com/shanliu/lsys/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247289426,"owners_count":20914464,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rust","rust-web","web-development"],"created_at":"2024-12-07T09:08:52.420Z","updated_at":"2025-04-05T05:05:43.252Z","avatar_url":"https://github.com/shanliu.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"### rust实现的 `内部应用应用管理中心` \r\n\r\n\u003e 适用场景：\r\n\u003e 1. 当你使用rust开发web应用时，使用本项目二次开发可以减少重复工作量。\r\n\u003e 2. 当你需要一个包含oauth的轻量级开放平台服务时,可基于本项目快速实现鉴权，应用管理等.\r\n\u003e 3. 当进行分模块独立开发（如：公司内分团队的各自独立开发）时，可用本项目作为一个内部应用管理中心。\r\n\u003e 4. 当你希望把一些常用服务（如：发送短信，邮件 等）抽离出来公用时,可用本项目实现.\r\n\r\n\r\n\u003e 在线示例: https://lsys.site/ [账号:aaaaa 密码:000000]\r\n\r\n\r\n#### 配置跟编译\r\n\r\n1. 执行编译\r\n\r\n\u003e 编译生成文件在 `./build` 中,并同时可生成 `./build` 目录的压缩包\r\n\r\n\u003e 仅拷贝生成的 `./build` 到你的服务器即可,其他文件可以删除.\r\n\r\n\u003e Windows(64bit)系统下可以下载 lsys-for-windows.zip 跳过此编译过程\r\n\r\n\u003e windows\r\n```\r\n.\\build.cmd zip assets \r\n#zip :可选,生成 lsys-for-windows.zip \r\n#assets :可选,从github下载对应资源\r\n```\r\n\r\n\u003e linux or macos\r\n```\r\nbash ./build.sh tar assets\r\n#zip :可选,生成 lsys.tar.gz\r\n#assets :可选,从github下载对应资源\r\n```\r\n\r\n2. 导入SQL到数据库\r\n```\r\nmysql -u your_username -p your_database \u003c ./build/assets/tables.sql #导入到你的MYSQL\r\n```\r\n\r\n3. 修改项目配置\r\n\r\n\u003e 修改服务器配置。\r\n\r\n```\r\n./build/.env  # 配置文件\r\n```\r\n\r\n\r\n\u003e 修改UI访问后台服务地址\r\n\r\n```\r\n./build/ui/config.js # ui 使用内置HTTP服务无需修改,自行部署(如nginx)时指定,示例: \"serverURL\": \"//lsys.site/\"\r\n```\r\n\r\n4. 启动服务\r\n\r\n\u003e 源码编译时，可在 [https://github.com/shanliu/lsys/releases/tag/v0.0.0](https://github.com/shanliu/lsys/releases/tag/v0.0.0) 下载项目使用的资源文件,下载后放置于  `build/data` 中。\r\n\r\n\u003e 执行 `./actix-web-dome ` 启动服务。注意:初次启动会慢一些。\r\n\r\n\u003e 可使用 `nohup ./actix-web-dome \u0026` 后台执行\r\n\r\n\u003e 根据`.env`配置访问服务.默认地址:http://127.0.0.1:8080/ \r\n\r\n\r\n#### 二次开发时序参考\r\n\r\n##### 基于rust二次开发\r\n\r\n\u003e [基于rust二次开发示例](server/examples/lsys-web-subapp-demo/)\r\n\r\n```mermaid\r\nsequenceDiagram\r\n    par 管理ui实现\r\n    前端-\u003e\u003elsys服务: 前端请求到 lsys-actix-web[actix-web] 服务\r\n    lsys服务--\u003e\u003e前端: 返回结果\r\n    end\r\n    par 自行开发RUST内部应用实现\r\n    前端-\u003e\u003elsys服务: 前端请求到 lsys-actix-web[actix-web] 服务\r\n    lsys服务-\u003e\u003e内部rust实现: 由 actix-web 进行接入，可换其他支持tokio运行时框架\r\n    内部rust实现-\u003e\u003e内部rust实现: 实现你的业务逻辑，示例应用[lsys-web-subapp-dome]\r\n    内部rust实现--\u003e\u003elsys服务: 可以库调用访问lsys服务[lsys-rbac,lsys-user等]\r\n    lsys服务--\u003e\u003e前端: 返回结果\r\n    end\r\n```\r\n\r\n\r\n##### 基于HTTP接口方式二次开发\r\n\r\n\u003e [通过HTTP接口接入文档](sdk/) \r\n\r\n```mermaid\r\nsequenceDiagram\r\n    par 普通应用实现[接入层处理业务逻辑]\r\n    前端-\u003e\u003e外部应用接入层: 自行选择语言,实现方式等\r\n    外部应用接入层-\u003e\u003elsys服务: 通过以上协议 访问lsys提供的服务来实现部分你需要的功能\r\n    lsys服务--\u003e\u003e外部应用接入层: 处理结果返回到外部应用\r\n    外部应用接入层--\u003e\u003e前端: 返回结果\r\n    end\r\n    par 拆分接入层跟服务层的实现[服务层处理业务逻辑]\r\n    前端-\u003e\u003e外部应用接入层: 自行选择语言,实现方式等\r\n    外部应用接入层-\u003e\u003e外部应用服务层:自行选择语言,内部访问协议等,最好接入层 APPID 并传入\r\n    外部应用服务层-\u003e\u003elsys服务: 根据接入层传入的APPID,查询对应的APP信息\r\n    lsys服务--\u003e\u003e外部应用服务层: 可根据查询到的 APP信息 \r\n    外部应用服务层-\u003e\u003e外部应用服务层: 根据查询app信息及接入层传入APPID及其他参数 进行签名校验\r\n    外部应用服务层-\u003e\u003e外部应用服务层: 校验请求通过后，继续完成内部服务层业务逻辑\r\n    外部应用服务层--\u003e\u003e外部应用接入层: 自行实现协议返回数据到接入层\r\n    外部应用接入层--\u003e\u003e前端: 返回结果\r\n    end\r\n```\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshanliu%2Flsys","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshanliu%2Flsys","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshanliu%2Flsys/lists"}