车队基地客户门户
车队基地可扩展的客户工作空间,有自助服务订单、账单、文件、支助、账户设置和仪表板部件.
概览
Fleetbase客户端门户(Fleetbase Conservation Portal)是一等兵的Fleetbase扩展站,为客户提供连接Fleetbase Console,FleetOps,和Ledger的安全,自助工作空间. 它作为前端的Ember引擎和后端API的Laravel包船.
门户网站是为客户的物流工作流程设计的:客户可以签入,跟踪订单,放出新订单,查看发票,管理文件,打开支持票,更新账户首选,并使用适合其账户的仪表板部件.
特征
- 客户认证 - 客户登录,两要素验证,密码恢复,客户会话加载,以及客户访问URL的自动重定向.
- 工作空间 - 客户仪表板登记,包括正在订购的部件、已完成的订单、未付款的发票、开具的赡养票、最近的订单和待处理的行动.
- 订单管理 - 命令列表、命令细节、命令创建、路线预览、地点查询、有效载荷/实体、自定义字段、注释、文档、取消、重新安排和文件附件.
- 引用和付款 - 初步服务报价查询、门户范围采购率、可选的 " 条纹 " 结账、付款状况检查和Ledger发票核对.
- 计费 - 客户发票清单、发票细节和发票摘要,在安装和提供时由Ledger支持.
- 支助 - 由FleetOps Issues支持的客户支持票,包括发行、摘要、评论、答复、编辑和删除.
- 文件和通讯簿 - 客户可见的订单文件加上账户范围的地方搜索、查询、创建、更新和删除.
- 账户设置 - 账户概况数据、自助密码更改、供应商转换流程、人事管理和通知偏好.
- 管理员配置 - 用于门户配置的控制台设置面板、访问 URL 验证、启用命令配置、启用服务费率和支付设置.
- 延长点 - 边栏和登录登记、仪表板/仪表板登记、虚拟路线和菜单集成,以便从其他Fleet基地包中扩展门户.
建筑
此寄存器包含扩展名的两侧 :
addon/ Ember engine source: routes, templates, components, services, widgets, and extension registration
app/ Re-exports that make addon modules available to the consuming Fleetbase Console app
server/ Laravel package source: routes, controllers, services, providers, notifications, and observers
tests/ Ember/QUnit tests and dummy app support
前端软件包
@fleetbase/customer-portal-engine
Ember引擎在舰队基地路线上挂载,配置于 package.json数字 :
{
"fleetbase": {
"route": "customer-portal",
"mount": "root"
}
}
引擎注册客户门户路由,用于认证,仪表板,订单,计费,支持,文件,地址簿,通知,设置,账户管理,以及虚拟扩展页.
后端软件包
fleetbase/customer-portal-api
Laravel 包在可配置前缀下注册门户 API :
customer-portal/int/v1
后端控制器和服务范围数据到认证客户账户,与FleetOps订单和问题集成,与Ledger发票和交易集成,并曝光Console管理员的门户配置.
安装
在 Fleetbase API 中安装后端软件包 :
composer require fleetbase/customer-portal-api
在舰队基地控制台安装 Ember 引擎 :
pnpm install @fleetbase/customer-portal-engine
软件包还依赖于Fleetbase共享的前端软件包和先行后端软件包,包括Core API,FleetOps,和Ledger.
开发设置
对于本地的Fleetbase扩展开发,使用Fleetbase的软件包链接器,因此Console和API解决了这次取出,而不是发布软件包版本. 见官员 舰队基地开发设置指南 整个工作流程.
具有子模块的克隆人舰队基地:
git clone https://github.com/fleetbase/fleetbase.git
cd fleetbase
git submodule update --init --recursive
从 Fleetbase 仓库根安装一次软件包链接器 :
npm link
flb-package-linker --help
启用客户门户软件包 :
flb-package-linker enable customer-portal
flb-package-linker install customer-portal
您可以让链接器立即运行安装命令 :
flb-package-linker enable customer-portal --install
对于 Docker 的后端软件包工作, 将本地源码挂入应用程序容器 :
services:
application:
environment:
ENVIRONMENT: "development"
APP_DEBUG: "true"
volumes:
- ./api:/fleetbase/api
- ./packages:/fleetbase/packages
更改 Docker 挂载后重新启动堆栈 :
docker compose up -d
Fleetbase运行Laravel Octane,因此在PHP更改后重新装入应用程序工人:
docker compose exec application php artisan octane:reload
对于前端工作,在当地或多克运行Fleetbase Console开发服务器. 本地路径通常最快:
docker compose stop console
cd console
pnpm install
pnpm start:dev
控制台将在 :
http://localhost:4200
配置
后端配置存在 server/config/customer-portal.php数字 :
return [
'api' => [
'version' => '0.0.1',
'routing' => [
'prefix' => 'customer-portal',
'internal_prefix' => 'int',
],
],
];
门户网站管理员可以配置来自Fleetbase Console设置的客户门户网站行为. 软件包包括API支持:
- 门户配置装入并保存
- 客户访问 URL sult 验证
- 启用顺序配置
- 启用服务费率
- 支付可用性和条纹支持的取出配置
质量检查
安装此软件包的依赖性 :
pnpm install
composer install
运行前端检查 :
pnpm lint
pnpm test
运行后端检查 :
composer test
有用的焦点命令 :
pnpm start
pnpm build
pnpm test:ember
pnpm test:ember-compatibility
composer test:lint
composer test:types
composer test:unit
捐款
欢迎捐款。 保持更改范围,包括行为变化的测试,当一个特性跨越前端/后端边界时,验证Ember引擎和Laravel包路径.
在舰队基地内部开发时,宁可 flb-package-linker 超过手动 package.json, (中文(简体) ), composer.json,或工作空间编辑,使本地开发链接仍然可逆.
许可证
Fleetbase客户端门户在GNU Affero通用公共许可证v3.0或后期发布. 见 利比里亚 详细情况.