pictastudio / venditio-core
电子商务核心包
v0.1.8
2024-04-05 13:57 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^10.0
- spatie/laravel-activitylog: ^4.7
- spatie/laravel-package-tools: ^1.14.0
- spatie/laravel-permission: ^6.3
- spatie/laravel-query-builder: ^5.7
- spatie/laravel-sluggable: ^3.5
Requires (Dev)
- drradao/laravel-bard: ^0.3.0
- larastan/larastan: ^2.0.1
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.8
- orchestra/testbench: ^8.8
- pestphp/pest: ^2.34
- pestphp/pest-plugin-arch: ^2.5
- pestphp/pest-plugin-laravel: ^2.0
- pestphp/pest-plugin-type-coverage: ^2.8
README
Venditio 核心库 是一个无头电子商务工具。它为基于 Laravel 的电子商务应用程序提供核心功能,让您自由选择前端堆栈。
安装
您可以通过 Composer 安装此包
composer require pictastudio/venditio-core
您可以使用以下命令安装此包
php artisan venditio-core:install
这是已发布配置文件的内容
return [ /* |-------------------------------------------------------------------------- | Auth |-------------------------------------------------------------------------- | | Specify the auth manager | */ 'auth' => [ 'manager' => AuthManager::class, ], /* |-------------------------------------------------------------------------- | Models |-------------------------------------------------------------------------- | | Specify the models to use | */ 'models' => [ 'address' => PictaStudio\VenditioCore\Models\Address::class, 'brand' => PictaStudio\VenditioCore\Models\Brand::class, 'cart' => PictaStudio\VenditioCore\Models\Cart::class, 'cart_line' => PictaStudio\VenditioCore\Models\CartLine::class, 'country' => PictaStudio\VenditioCore\Models\Country::class, 'country_tax_class' => PictaStudio\VenditioCore\Models\CountryTaxClass::class, 'currency' => PictaStudio\VenditioCore\Models\Currency::class, 'discount' => PictaStudio\VenditioCore\Models\Discount::class, 'inventory' => PictaStudio\VenditioCore\Models\Inventory::class, 'order' => PictaStudio\VenditioCore\Models\Order::class, 'order_line' => PictaStudio\VenditioCore\Models\OrderLine::class, 'product' => PictaStudio\VenditioCore\Models\Product::class, 'product_category' => PictaStudio\VenditioCore\Models\ProductCategory::class, 'product_custom_field' => PictaStudio\VenditioCore\Models\ProductCustomField::class, 'product_type' => PictaStudio\VenditioCore\Models\ProductType::class, 'product_item' => PictaStudio\VenditioCore\Models\ProductItem::class, 'product_variant' => PictaStudio\VenditioCore\Models\ProductVariant::class, 'product_variant_option' => PictaStudio\VenditioCore\Models\ProductVariantOption::class, 'shipping_status' => PictaStudio\VenditioCore\Models\ShippingStatus::class, 'tax_class' => PictaStudio\VenditioCore\Models\TaxClass::class, 'user' => PictaStudio\VenditioCore\Models\User::class, ], /* |-------------------------------------------------------------------------- | Pricing |-------------------------------------------------------------------------- | | Specify the pricing formatter | */ 'pricing' => [ 'formatter' => DefaultPriceFormatter::class, ], /* |-------------------------------------------------------------------------- | Decimal |-------------------------------------------------------------------------- | | Specify the decimal formatter | */ 'decimal' => [ 'formatter' => DefaultDecimalFormatter::class, ], /* |-------------------------------------------------------------------------- | Scopes |-------------------------------------------------------------------------- | | Scopes configuration | */ 'scopes' => [ 'in_date_range' => [ 'allow_null' => true, // allow null values to pass when checking date range 'include_start_date' => true, // include the start date in the date range 'include_end_date' => true, // include the end date in the date range ], ], ];
使用方法
API
默认情况下,此包提供的 API 路由是公开的,没有设置身份验证。您应该在应用程序中使用类似 laravel/breeze
的方式为 SPA 或其他类型的身份验证提供身份验证层。
购物车
生成器
自定义购物车标识符生成器 修改 Laravel 容器中的绑定
$this->app->bind(CartIdentifierGeneratorInterface::class, CartIdentifierGenerator::class);
订单
生成器
自定义订单标识符生成器 修改 Laravel 容器中的绑定
$this->app->bind(OrderIdentifierGeneratorInterface::class, OrderIdentifierGenerator::class);
namespace App\Generators; use PictaStudio\VenditioCore\Models\Order; use PictaStudio\VenditioCore\Orders\Contracts\OrderIdentifierGeneratorInterface; class MyCustomGenerator implements OrderIdentifierGeneratorInterface { /** * {@inheritDoc} */ public function generate(Order $order): string { // ... return 'my-custom-reference'; } }
待办事项
- 更新过时的文档
- 关于将模型和 DTO 绑定到容器的文档
- 流水线文档
- 关于
OrderStatus
枚举和Contracts\OrderStatus
的文档,以及如何使用它及其背后的逻辑 - 关于自定义验证规则的文档
- 修复在
CartUpdatePipeline
中更新购物车行的问题
测试
composer test
变更日志
有关最近更改的更多信息,请参阅 变更日志。
贡献
有关详细信息,请参阅 贡献指南。
安全漏洞
有关如何报告安全漏洞的详细信息,请参阅 我们的安全策略。
鸣谢
许可
MIT 许可证(MIT)。有关更多信息,请参阅 许可文件。