JianghuJS-多应用开发
120021、概念
多应用开发的需求背景
多应用开发的需求背景主要源自业务多样性、用户差异、平台多样性以及团队协作的需求。采用多应用开发策略有助于更好地满足这些多元化的要求。从开发的角度看,多应用开发的需求背景主要包括以下方面:
技术栈适应性:
不同的应用可能需要采用不同的技术栈和开发框架,以满足特定需求和业务场景。模块化和组件化开发:
采用多应用开发模式可以鼓励模块化和组件化的开发方式,使得代码更容易维护、扩展和重用。团队分工:
多应用开发有助于团队之间的分工,每个团队可以专注于不同应用的开发,提高开发效率。快速迭代:
各个应用独立开发和部署,有助于快速迭代和发布更新,而不影响其他应用的正常运行。平行开发:
不同团队或开发者可以在不同应用上进行平行开发,提高整个开发流程的并行度。定制化用户体验:
针对不同用户群体或业务场景,可以定制化开发不同应用,以提供更优化和个性化的用户体验。技术选型自由度:
不同应用可以选择适合自身需求的技术栈,提供更大的技术选型自由度。
JianghuJS 中级 enterprise
模板项目是一个有价值的学习资源,特别适用于学习多应用项目的开发和管理。
2、初始化 enterprise
enterprise 结构介绍
enterprise的主要结构,有数据仓库,用户管理和应用程序管理。在这个结构中,企业是顶层实体,下面是数据仓库、用户管理和应用程序管理。这三个组成部分共同构成了企业的信息管理和技术支持体系。企业通过数据仓库获得数据洞察,用户管理确保数据的安全访问,应用程序管理则负责有效地开发和维护业务应用。
data_repository:
数据仓库应用,同步/采集其它库的表,用于数据的同步和共享user_app_management:
用户APP管理应用权限directory:
APP目录应用
jianghu-init enterprise 的流程
执行jianghu-init:
my-jh-project-multi 为您的项目名,可自定义
jianghu-init project --type=enterprise `my-jh-project-multi`
填写项目信息:
下面信息如果有默认信息,可直接回车使用默认值
? project name: `${您的项目名称}`
? project description: `${您的项目描述}`
? project author: `${您的项目作者}`
? prefix of database: `${您想要初始化的数据库库名}`
? cookie security keys: `${您项目的cookie key}`
? 数据库IP: `${您项目的cookie key}`
? 数据库端口: `${您项目的cookie key}`
? 数据库账号: `${您项目的cookie key}`
? 数据库密码: `${您项目的cookie key}`
等待初始化完成
✔ 目录切换 data_repository
- [mysql importer] 68.45% Completed
- [mysql importer] 100% Completed
✔ 初始化`数据库基本表和数据`完成
✔ 目录切换 user_app_management
- [mysql importer] 68.45% Completed
- [mysql importer] 100% Completed
✔ 初始化`数据库基本表和数据`完成
✔ 目录切换 directory
- [mysql importer] 68.45% Completed
- [mysql importer] 100% Completed
✔ 初始化`数据库基本表和数据`完成
✔ usage:
- cd /xxx/my-jh-project-multi
- ls
- cd your_app
- npm install
- npm start / npm run dev
✔ jianghu init project is success
出现 jianghu init project is success
后,您的项目就初始化好啦~
3、安装依赖
- 多应用的包安装
输入命令,完成安装:
$ cd my-jh-project-multi
$ npm --prefix=data_repository install
$ npm --prefix=user_app_management install
$ npm --prefix=directory install
4、启动项目
多应用的启动
进入enterprise项目目录:
$ cd my-jh-project-multi
- 启动data_repository:
$ npm --prefix=data_repository run dev
浏览器打开访问http://127.0.0.1:7005, 用户名admin 密码123456
- 启动user_app_management:
$ npm --prefix=user_app_management run dev
浏览器打开访问http://127.0.0.1:7006, 用户名admin 密码123456
- 启动directory:
$ npm --prefix=directory run dev
浏览器打开访问http://127.0.0.1:7007, 用户名admin 密码123456
5、功能介绍
- data_repository(数据仓库)
data_repository(数据存储库)通常是指一个集中存储、管理和组织数据的地方,可以是一个数据库系统或数据仓库。在 Enterprise 中,data_repository 的功能包括:
新增同步配置:
- 点击
新增同步
- 选择需要同步到data_repository的
数据库
- 选择需要同步的
数据表
- 选择需要同步的
时间间隔
- 点击
编辑同步配置:
- 点击每一行的
修改
按钮 - 选择需要同步到data_repository的
数据库
- 选择需要同步的
数据表
- 选择需要同步的
时间间隔
- 点击每一行的
- 手动同步
- 点击
全部-手动同步
按钮,即可触发批量同步 - 点击每一行
同步
按钮,即可单个同步
- 点击
- 自动同步
- 默认
禁用
启用
修改data_repository/config/config.local.js
dataSyncStatus: '启用' // 是否启用同步,启用/禁用
- 查看同步日志
查看数据表同步是否成功,及失败原因
- user_app_management(用户APP权限管理)
- 新增用户
用于给多应用项目添加统一的用户:
- 进入
用户管理
页面 - 点击
新增
- 进入
- 用户APP管理
给多给用户添加APP权限:
- 进入
用户管理
页面 - 点击
APP管理
- 点击
分配新APP
- 进入
用户操作
- 进入
用户管理
页面 - 点击
操作
- 进入
新增APP
用于给多应用项目添加APP:
进入
APP管理
页面点击
新增
APP用户管理
给多给APP分配用户:
进入
APP管理
页面点击
用户管理
点击
分配新用户
APP操作
- 进入
APP管理
页面 - 点击
操作
- 进入
- directory(目录管理)
- 快捷进入
提供应用的快捷入口:
- 进入
目录
页面 - 点击快捷方式即可
- 进入
- 新建应用
- 创建项目
- 进入多应用项目目录:
$ cd my-jh-project-multi
- 初始化应用
$ jianghu-init project --type=1table-crud-enterprise new-1table-crud
✔ 目录切换 new-1table-crud
[mysql importer] 94.45% Completed
[mysql importer] 100% Completed
✔ 初始化`数据库基本表和数据`完成
✔ usage:
- cd /xxx/my-jh-project-mutil/new-1table-crud
- npm install
- npm start / npm run dev
✔ jianghu init project is success
- 添加APP登录权限
默认没有用户可以登录新创建的应用,需要在用户管理中心配置登录权限
- 登录用户管理项目
- 登录
用户管理
项目:
浏览器打开访问http://127.0.0.1:7006, 用户名admin 密码123456
点击登录
- 添加APP
- 进入
APP管理页面
- 点击
添加APP
,输入APP信息- 应用ID:在
${app_path}/config/config.default.js
中的appId获取 - 应用名:app名字
- 应用类型:使用"internal"
- 应用ID:在
- 点击
保存
- 进入
APP管理页面
- 点击
用户管理
- 点击
分配新用户
- 选择需要授权的用户
- 点击
保存选中
即可
- 启动项目
- 进入项目目录:
$ cd my-jh-project-multi/new-1table-crud
- 安装项目依赖:
$ npm install
启动项目:
$ npm run dev
登录:
浏览器打开访问http://127.0.0.1:7008
使用已授权的用户登录即可~