
bookunited/blurr有关本项目的PHP/JS/CSS编码标准,请参考coding-standards文档。
Windows系统:
Mac OSX系统:
注意: 使用Docker可确保代码在开发、测试、验收和生产服务器上的运行环境完全一致。
这意味着开发过程中用于生成资源、运行命令或创建新文件的所有命令也应在Docker容器中运行。
为简化这些命令的执行,已为Windows和Mac机器创建了“develop”命令。Windows用户使用“develop.bat”,Mac用户使用“develop.sh”。
本说明中将统一称为_develop_命令。有关更多信息,请查看develop命令文档。
克隆仓库
git clone -b develop ***:travver/blurr.git
构建/下载Docker镜像
develop build
安装所需的Composer依赖
develop composer install
复制.env.example文件为.env文件,更新为正确值(可咨询同事)并设置应用密钥
cp .env.example .env develop artisan key:generate
安装npm依赖
develop npm install
运行webpack命令生成资源文件
develop webpack development
启动Docker容器
develop up -d
现在,Blurr实例应已正常运行,可通过http://localhost/和https://localhost/访问。
Blurr用于托管多个网站,这些网站均连接到同一后端API。每个网站称为“合作伙伴”或“品牌”。
要创建新合作伙伴,运行以下命令,该命令将交互式引导您完成创建过程。
此操作将创建所需文件并在数据库中添加记录。
develop artisan partners:create
合作伙伴特定代码生成在项目的brands/{namespace}/文件夹中。默认情况下,该文件夹包含以下文件:
| 文件路径 | 描述 |
|---|---|
| App/Boot.php | 合作伙伴的启动文件,用于加载合作伙伴特定文件和服务 |
| App/Http/routes.php | 包含合作伙伴特定路由 |
| resources/assets/config.json | 默认Vue组件的配置文件 |
| resources/assets/logo.png | 用于图标生成的徽标(建议256x256像素,需替换为实际合作伙伴徽标) |
| resources/assets/images/header-logo.png | 默认页眉徽标,使用默认页眉时需替换为合作伙伴徽标 |
| resources/assets/scss/brand.scss | Sass入口文件,加载默认样式表 |
| resources/assets/scss/_variables.scss | 用于覆盖默认变量的首选位置 |
| webpack.mix.js | Webpack混合配置文件 |
通过函数获取合作伙伴对象:
partner();
获取特定合作伙伴设置:
partner()->setting('partner.name');
从mix清单获取合作伙伴资源:
partner()->mix('filename.ext');
获取未版本化的合作伙伴资源:
partner()->file('filename.ext');
这些设置对每个品牌全局生效,而非页面特定。
要调整各种Vue组件的行为,可在合作伙伴的resources/assets/config.json文件中添加设置。
可参考以下文件(位于resources/whitelabel/assets/js/)查看可用选项及其默认值:
| 文件路径 | 描述 |
|---|---|
| components/map/config.json | 地图视图图标的配置 |
| components/offer/config.json | 优惠列表的配置(显示数量、USP显示、紧迫感设置) |
| components/search/autocomplete/config.json | 自动完成器的主搜索路径配置 |
| components/search/filter/config.json | 结果页的搜索过滤器配置 |
| components/search/list/config.json | 结果页配置 |
所有变量在每个Vue组件中可通过config访问:
this.$config.get('SearchList.Amount')
要为品牌覆盖默认设置,在/brands/{brandname}/resources/assets/js/{component}/config.json中添加配置文件。构建主配置文件时,这些设置将与品牌配置合并。
要在后端为组件创建菜单,需在Vue组件所在目录中创建(componentname).json文件。此菜单结构用于后端创建可填充组件动态设置的菜单(如页眉文本、产品列表的自定义查询等)。这些设置在运行时注入,可在Vue文件的data部分访问。确保data属性存在且使用componentSettings混入。
可在Blurr后端的内容部分导入和导出所有动态配置,便于复制生产环境配置用于开发。
首页、联系页、常见问题等内容页面及自定义页面由管理员的内容部分管理。可管理文本和各组件及其设置。例如,可使用可配置的组件列表构建自定义首页。
每个合作伙伴基于语言拥有自己的页面集,并使用默认内容。默认内容位于/resources/whitelabel/views/content/pages目录下的md文件中。
develop命令(Windows系统使用develop.bat,Mac OSX系统使用develop.sh)用于简化Docker容器操作。
默认情况下(无参数),develop命令使用开发环境docker-compose文件(docker-compose.dev.yml)运行docker-compose ps,列出运行中的Docker容器。
若提供未在下文列出的参数,命令将使用开发环境docker-compose文件运行docker-compose,并附加这些参数。例如,在blurr容器中运行bash shell:
develop run --rm blurr bash
使用Docker可构建、运行、检查和销毁Docker镜像及容器。以下是常用命令列表。有关可用命令和选项,参见docker-compose参考文档。
从docker-compose文件构建镜像(使用--no-cache标志强制完全重建):
develop build
启动Docker容器(使用-d标志在启动后分离):
develop up
停止Docker容器(如需删除创建的卷,使用-v标志):
develop down
要运行Artisan命令,使用develop artisan。此命令在blurr容器中运行Artisan。例如,运行迁移:develop artisan migrate,创建新事件:develop artisan make:event等。
要安装或更新Composer依赖,使用develop composer命令。此命令在blurr容器中运行Composer,确保安装正确依赖。例如,安装依赖:develop composer install,添加包:develop composer require developer/package等。
要运行PHPUnit测试,使用develop phpunit。此命令使用blurr容器中通过Composer安装的phpunit版本运行所有测试。
要安装或更新Node.js依赖,使用develop npm。此命令在node容器中运行npm。例如,安装依赖:develop npm install,安装新依赖:develop npm install <package> --save等。
使用webpack命令编译资源。develop webpack命令在node容器中运行webpack。
webpack命令接受2个额外参数:develop webpack <command> <namespace>,取值如下:
command:development(开发构建)、production(生产构建)或watch(监视资源并在文件更改时更新开发构建)。若未提供,默认使用production。
namespace:可选,指定要编译或监视的特定合作伙伴命名空间。例如,监视Hoteldeal合作伙伴的文件:develop webpack watch Hoteldeal。
可添加-f标志加速构建:develop webpack -f <command> <namespace>
此标志将跳过部分webpack构建步骤,包括:
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务