有关本项目的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
develop build
develop composer install
cp .env.example .env develop artisan key:generate
develop npm install
develop webpack development
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构建步骤,包括:
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速