Žiadny popis

kenan c80e6b1f98 falst 1 rok pred
Modules c80e6b1f98 falst 1 rok pred
app c80e6b1f98 falst 1 rok pred
bootstrap c80e6b1f98 falst 1 rok pred
config c80e6b1f98 falst 1 rok pred
database c80e6b1f98 falst 1 rok pred
deploy c80e6b1f98 falst 1 rok pred
lang c80e6b1f98 falst 1 rok pred
private_vendor c80e6b1f98 falst 1 rok pred
public c80e6b1f98 falst 1 rok pred
resources c80e6b1f98 falst 1 rok pred
routes c80e6b1f98 falst 1 rok pred
storage c80e6b1f98 falst 1 rok pred
tests c80e6b1f98 falst 1 rok pred
vendor c80e6b1f98 falst 1 rok pred
.gitignore 101ccce199 Initial commit 1 rok pred
README.md c80e6b1f98 falst 1 rok pred
artisan c80e6b1f98 falst 1 rok pred
composer.json c80e6b1f98 falst 1 rok pred
composer.lock c80e6b1f98 falst 1 rok pred
package.json c80e6b1f98 falst 1 rok pred
phpunit.xml c80e6b1f98 falst 1 rok pred
webpack.mix.js c80e6b1f98 falst 1 rok pred

README.md

#支付中心

区块链支付-Laravel6

技术

环境依赖

  • php8.0
  • composer
  • ext-BCMath
  • ext-Ctype
  • ext-JSON
  • ext-Mbstring
  • ext-OpenSSL
  • ext-PDO
  • ext-Tokenizer
  • ext-XML
  • ext-redis

项目初始化步骤

  1. 下载laravel指定版本 https://github.com/laravel/laravel/archive/refs/tags/v6.20.1.zip
  2. 安装laravel依赖

    composer install -vvv
    
  3. 复制本地.env文件

    cp .env.example .env
    
  4. 生产laravel 密钥

    php artisan key:generate
    
    5. .gitignore 追加忽略
    
    public function register()
    {
        if ($this->app->isLocal()) {
            $this->app->register(\Barryvdh\LaravelIdeHelper\IdeHelperServiceProvider::class);
        }
    }
    
    

本地调试服务

php artisan serve --host=0.0.0.0 --port=8601
# 本地处理异步队列.
php artisan queue:listen

# 权限管理DB更新.
php artisan permission:resource

规范

代码命名规范

  1. 必须使用AMZN CodeSniffer检测脚本,进行代码PSR-2规范
  2. 目录、文件命名,必须满足PSR-4规范
  3. Windows下,由于同文件或者目录名大小写书写错误,请重写不同命名进行2次commit提交
  4. 所有代码文件,文件编码必须是utf-8,其次换行符标准LF(Mac/Linux \n )
  5. 业务代码逻辑相对复杂的,约定要用注释写清楚关键信息.
  6. 所有方法,尽可能注释详细(名称、类型、备注等)

.env规范

  1. .env.example,所有增加的变量,都必须先放这里
  2. 不能存放自己开发、测试、生产环境的env提交到git

数据库规范

  1. 数据库名、表名、字段名等,必须使用蛇形半角小写风格。例如prefix_order_logs
  2. 数据库表业务设计必须遵从,禁止超过3张表关联
  3. MySql数据库统一引擎InnoDB,字符集utf8mb4,字符编码utf8mb4_unicode_ci
  4. 生产环境数据库账号信息,务必独立分配账号和归属schema,禁止使用root等超级用户权限.
  5. MySql时间类型字段,统一使用datetime(0),存储时间格式Y-m-d H:i:s
  6. 业务有对外暴露的ID,务必设计成 自增ID+自定义唯一ID,禁止暴露吐出自增ID.
  7. MySql增量sql,请放置在storage/sql/inc/目录下,命名规则[database name]_inc_[日期Y-m-d].sql

接口规范

  1. 返回数据各下标节点名,一律使用蛇形半角小写风格.
  2. 规避返回无效(没有被使用)的字段以及数据.在业务层处理过滤.
  3. 不需要严格按照RESTFUL接口方法约定规范,但如果是http-api模式,除了特殊接口,一律统一使用post请求方法.
  4. 所有接口必须提交到Yapi平台,测试通过后,勾选状态完成可用.

项目特殊

部署

  1. 【第一次】cp .env.example .env
  2. 【第一次】修改好.env里的配置
  3. 【第一次】chmod -R 777 ./public/attachment ./storage/ ./bootstrap/
  4. 【每次】rm -f ./composer.lock
  5. 【每次】composer install -vvv
  6. 【第一次】确认.env 中的QUEUE_CONNECTION=redis
  7. 【第一次】 导入 storage/sql/all_inc.sql 库

计划任务

  • * * * * /usr/local/bin/php /var/www/pay_center_server/artisan order:status-expired > /tmp/load.log 2>&1 &