第一步:获取运行git的用户的公钥# ll上图可以看出运行用户是www,切换到www用户下面生成公钥,su www如果出现上图情况,vim /etc/passwd,修改www用户的登录再次运行,su www输入 ssh-keygen -t rsa -C "换成自己邮箱@qq.com",一直回车,即可生成公钥,打印公钥cat /home/www/.ssh/id_rsa.pub第二步:把打印出来的公钥复制到项目的部署公钥中第三步:在项目编写拉取方法在项目根目录新建hook.php<?php //本地路径 $local = '/www/wwwroot/...
通俗点来讲,商品系统中的SPU与SKU的作用就在于:可以在你购买商品时帮助你区分商品。SPU的定位是产品的宏观概念,而SKU就是相较于SPU更加细节性的一个概念。在我们购买商品时,必须同时提供SPU以及SKU的信息才能更准确地找到自己真正心仪的商品。 现资金流的设计和订单流是紧密相关的,而订单流中体现了太多业务特征,出于商业机密原因,这方面的内容不方便透露了。在商品分类体系的分享中,有一个比较重要的概念没有讲到,就是关于商品系统的SPU和SKU。这个概念直接决定了商品在系统中的储存结构,所以,今天特别来讲讲这个吧。我们先来看看这两个概念是怎么定义的:SPU(Standard Produc...
一家粮油店去家附近的一家粮油店买米, 店里面的东西挺多的,各种品牌的柴米油盐样样不少,转了一圈,挑了一袋 50 斤 的洞庭湖1号大米, 告诉老板自己的住址,给老板付了钱,然后我就回家了,回到家不一会儿,老板就把米送过来了, 这速度 还真快,给个赞。晚上用新买的米做了顿饭,吃起来松软可口,再给个赞,并决定下次还去这家店买米。这是人们日常生活中的一个很普通的场景,而正是通过这样一个普通的场景,我们可以抽象出大多数电商系统使用的常用数据结构。把这个粮油店搬到线上粮油店的老板是一个比较有想法的人,他想弄一个网店,这样他的顾客们可以在这个网店上选购自己需要的大米和食油,在网上支付,并填好送货地址,...
项目中需要导出excel时,如果是大项目、要求高,当然使用第三方插件,或者后台导出是必要的,但是如果是一些小型项目,并且对导出excel样式要求不是很严格的,而且前端框架用的是layui的,layui框架自带的excel导出就成了我们最方便快捷的选择,但是在导出数据时会遇到一个问题: 问题:layui框架自带的excel导出长数据错误,如:身份证号码、电话号码、时间等,如下图所示:原因:layui框架自带的导出excel数据默认导出的数据会以数字格式存放,比较长的数据存放后会经过科学计数法加工,从而导致数据错误 解决思路:改变layui框架数据的存放格式即可 解决方法:在layui/la...
安装该扩展需要 PHP 7.1+ 和 ThinkPHP 6.0+,针对 TP 5.1 请使用 Think-Casbin .使用composer安装:composer require casbin/think-authz注册服务,在应用的全局公共文件service.php中加入:return [ // ... tauthz\TauthzService::class, ];发布配置文件和数据库迁移文件:php think tauthz:publish这将自动生成 config/tauthz-rbac-model.conf 和 config/tauthz.php 文件。执行迁...
ThinkLogViewer基于 Thinkphp5 开发的日志浏览组件。该组件为我们提供了一键浏览当前项目日志的功能。安装composer require qsnh/think-log-viewer使用在命令行输入:php think run之后打开浏览器,输入:http://127.0.0.1:8000/log可以看到:配置该扩展包默认注册了 /logs 路由,对应的控制器是 Qsnh\Think\Log\Controllers\LogViewerController@index 如果您因为权限原因或者路由路径问题等原因的话,请自己在 /route/route.php 文件中覆盖该路...
网页授权流程分为四步1、引导用户进入授权页面同意授权,获取code2、通过code换取网页授权access_token(与基础支持中的access_token不同)3、如果需要,开发者可以刷新网页授权access_token,避免过期4、通过网页授权access_token和openid获取用户基本信息(支持UnionID机制)第一步:在微信里面打开链接https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&am...