自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (3)
  • 收藏
  • 关注

原创 Laravel6版本使用laravel-excel3.x之导出

第一步:安装composer require maatwebsite/excel第二步:配置(可选)文件位置config/app.php'providers' => [ // 此处省略默认配置 Maatwebsite\Excel\ExcelServiceProvider::class,] 'aliases' => [ // 此处省略默认配置 'Excel' => Maatwebsite\Excel\Facades\Excel::class,]

2021-03-31 23:41:56 406

原创 使用Passport 进行 Laravel6 API 接口开发

知识储备1、掌握OAuth2.0授权协议(实例采用密码授权模式开发)2、掌握Passport进行接口授权3、掌握API Resource,对API返回的数据进行转换4、掌握Restful API5、掌握PostMan接口开发测试工具的使用6、掌握HTTP状态码使用,尤其是创建资源返回201状态码,返回资源200状态码,注册用户验证失败返回422状态码无法处理的实体开发环境准备1、安装 Laravel6版本composer create-project --prefer-dist larav

2021-03-29 23:56:45 459

原创 laravel处理文件上传

思路1、上传文件,并移动到指定目录逻辑代码public function uploadArticle(Request $request) { if ($request->isMethod('POST')) { $fileCharater = $request->file('file'); if ($fileCharater->isValid()) { //括号里面的是必须加的哦 /

2021-03-21 17:13:12 484

原创 laravel实现ajax无刷新状态修改

步骤1、点击获取事件内容,发送ajax请求2、响应成功后修改元素展示属性值与文本内容实现代码前端html与jquery部分<td> @if ($item->status == 0) <span class="layui-badge layui-bg-red" style="cursor:pointer" onclick="status(this,{{$item->id}},0)">下架</span> @else

2021-03-21 17:06:45 241

原创 Laravel实现正常接口请求登录-04

步骤1、创建Login表单登录与Register表单注册验证器,并声明验证规则2、创建User控制器,定义注册与登录逻辑3、定义路由,规定返回格式,登录时的token验证实现代码1、创建Login表单登录与Register表单注册验证器,并声明验证规则php artisan make:request \App\Http\Request\Loginphp artisan make:request \App\Http\Request\Register2、创建User控制器,定义注册与登录逻辑

2021-03-18 18:43:35 577

原创 Laravel错误异常使用-03

步骤:定义返回浏览器异常错误格式1、处理输入错误url提示2、token验证失败提示信息参考文档:https://learnku.com/docs/laravel/7.x/errors/7468实现代码所有异常都是由 App\Exceptions\Handler.php 处理#使用NotFoundHttpException处理路由错误use Symfony\Component\HttpKernel\Exception\NotFoundHttpException;public funct

2021-03-18 02:04:07 235

原创 Laravel表单验证使用-02

步骤1、命令创建表单公共验证类定义异常返回格式与继承基础验证的表单类2、路由使用中间件定义返回正确时的数据格式参考”Laravel注册中间件使用-01“篇章3、use使用表单验证在控制器中验证请求参数实现代码1、命令创建表单公共验证类定义异常返回格式与继承基础验证的表单类#公共验证类php artisan make:request \App\Http\Request\Request#普通验证类,extends继承公共验证php artisan make:request \App\Http\

2021-03-17 21:32:48 133

原创 Laravel注册中间件使用-01

步骤:1、创建中间件,中间件的定义采用大驼峰命名2、app/Http/Kernel.php中注册中间件3、路由中使用中间件做http过滤拦截4、重启swoole进程(作为web的http服务)参考文档:https://learnku.com/docs/laravel/7.x/middleware/7459实现代码1、创建ApiAfter中间件php artisan make:middleware ApiAfter定义ApiAfter中间件响应请求格式<?phpnamespa

2021-03-17 12:01:39 285

原创 Larave操作数据库medoo的基本用法

控制器Contorller\Test\IndexController.php<?phpnamespace App\Http\Controllers\Test;use App\Http\Controllers\Controller;use Illuminate\Http\Request;class IndexController extends Controller{ /** * @var \Medoo\Medoo */ protected $med

2021-03-16 01:30:37 397

原创 tp6商城Nginx下PATHINFO路径重写

可以通过URL重写隐藏应用的入口文件index.php(也可以是其它的入口文件,但URL重写通常只能设置一个入口文件),下面是相关服务器的配置参考:[ Nginx ]在Nginx低版本中,是不支持PATHINFO的,但是可以通过在Nginx.conf中配置转发规则实现:location / { // …..省略部分代码 if (!-e $request_filename) { rewrite ^(.*)$ /index.php?s=/$1 last; }}如图:(使

2021-03-07 20:38:58 632

原创 tp6实现商城后台登录功能

思路:后台登录功能实现:1、开启验证验证码2、后台校验提交数据1)是否为post提交2)验证码是否正确(需要开启全局中间件的session)3)验证用户名为条件查询是否存在数据库4)验证用户状态status是否为激活状态5)密码校验采用加密盐+md5方式加密验证是否正确6)保存用户信息到session中实现多页面登录状态与展示用户信息7)更新该用户的登录时间8)验证成功跳转到后台首页后台管理员表结构CREATE TABLE `qing_admin` ( `id` int(11)

2021-03-07 20:19:17 2335 1

转载 input的type属性设为number后可以输入e

原因:e在数学上代表2.71828,所以它也还是一个数字解决方法:<input type='number' onkeypress='return( /[\d]/.test(String.fromCharCode(event.keyCode)))' />2.input数字number类型的时候maxlength无效解决方法:超出截取<input type="number" oninput="if(value.length>11)value=value.slice(0,11)

2021-03-07 14:15:34 1167

原创 Mysql分布式之原生分库(查、删)08

实例查找:根据取模查询分库数据删除:根据取模删除分库数据,异步执行消息队列后删除总数据库数据查询代码:find.php<?phprequire "./RunDbPdo.php";$model = new RunDbPdo();$model->configFile = './config/user.config.php';$user_id = 2;$d = $user_id % 2;$model->configFile = "./config/user{$d}.conf

2021-03-06 17:23:58 183 1

原创 Mysql分布式之原生分库(改)07

实例1、根据id取模后更新分表数据2、根据不同的取模选择不同的数据库3、关闭分库,切换总库4、插入redis消息队列,通过异步定时任务更新总表数据编辑edit.php<?phprequire './RunDbPdo.php';require './RedisQ.php';$model = new RunDbPdo();$model->configFile = './config/user.config.php';$redis = new RedisQ();if (is

2021-03-06 17:02:13 114

原创 Mysql分布式之原生分库(增)06

分库:1、在一台服务器上的数据库进行分表并不是最优的选择,因为操作的数据库还是在一台上,优化的效果并不是很明显2、分库在对多服务器上的数据库能有效的分担压力实现代码1、总库操作完毕,close()关闭总库切换分库前的必要准备操作2、取模形式将选择需要落入的分数据库与表<?php if(isset($_POST) && !empty($_POST)){ require './RunDbPdo.php'; extract($_POST); $user

2021-03-06 16:34:43 140

原创 Mysql分布式之原生分表(查、删)05

思路:查询:根据user_id取模查询数据所在分表数据,局限性在于只能根据id查询删除:先删除分表数据,后压入消息队列删除总表数据实现代码1、查询数据代码find.php<?phprequire "./RunDbPdo.php";$model = new RunDbPdo();$model->configFile = './config/user.config.php';$user_id = 3;$d = $user_id % 2;$sql = "select * fro

2021-03-06 15:26:01 266

原创 Mysql分布式之原生Redis队列保持主表、分表数据一致04

思路:1、根据id取模后更新分表数据2、这一步应该插入redis消息队列,通过异步定时任务更新总表数据3、压入队列4、循环出队列 当sql为空时break结束前循环,sql执行失败的写入文件日志,后期重新执行5、crontab定时执行消息队列实例crontab执行消息出队queque.php,写入总表<?php$file_dir = dirname(__FILE__);chdir($file_dir);require "./RedisQ.php";require './Run

2021-03-06 15:03:22 196

原创 Mysql分布式之原生分表(改)03

思路:1、根据id查询总表,将总表id对应的数据修改的同时,根据取模找出分表id对应的数据修改实现代码<?phprequire './RunDbPdo.php';$model = new RunDbPdo();$model->configFile = './config/user.config.php';if (isset($_GET) && !empty($_GET)) { extract($_GET); $user_id = isset($use

2021-03-06 14:27:15 157

原创 Mysql分布式之原生Redis消息队列使用02

“消息队列”是在消息的传输过程中保存消息的容器先进先出实例使用queque.php<?phprequire "./RedisQ.php";$redis_boj = new RedisQ();//消息入列list类型的使用//入列//$ret = $redis_boj->lpush('q_sql','insert');//$ret = $redis_boj->lpush('q_sql','update');//$ret = $redis_boj->lpush('

2021-03-06 13:36:23 179

原创 Mysql分布式之原生分表(增)01

分表思路1、根据具体业务来处理分表,具体是哪块业务影响了系统运行的效率2、不要盲目分表3、分表分为横向分表与纵向分表,这里只采用横向分表实现4、根据表id唯一性来取模进行分表实现代码逻辑代码index.php<?phprequire "./RunDbPdo.php";if (isset($_POST) && !empty($_POST)) { extract($_POST); //初始化变量 $username = isset($usernam

2021-03-06 12:23:46 215

转载 mysql 分表-横向,纵向

mysql 分库分表分表是分散数据库压力的好方法。分表,最直白的意思,就是将一个表结构分为多个表,然后,可以再同一个库里,也可以放到不同的库。当然,首先要知道什么情况下,才需要分表。个人觉得单表记录条数达到百万到千万级别时就要使用分表了。1,分表的分类纵向分表将本来可以在同一个表的内容,人为划分为多个表。(所谓的本来,是指按照关系型数据库的第三范式要求,是应该在同一个表的。)分表理由:根据数据的活跃度进行分离,(因为不同活跃的数据,处理方式是不同的)案例:对于一个博客系统,文章标题,作者,

2021-03-06 11:25:26 793

原创 积分商城功能表设计结构以及积分功能模块

积分商城功能表结构设计1、会员积分记录表(qing_score)来自的用户user_id,签到和兑换记录字段score(签到为正值,兑换为负值),积分信息infoCREATE TABLE `qing_score` ( `id` int(10) NOT NULL AUTO_INCREMENT, `user_id` int(10) NOT NULL, `score` int(10) NOT NULL, `time` int(10) NOT NULL, `info` varchar(30

2021-03-01 21:12:13 6749

原创 PHP实现快递鸟即时查询接口

即时查询接口1、查看即时查询接口API接口文档2、参考PHP文档demohttp://www.kdniao.com/file/KdApiSearchDemo(PHP).rar3、注册账号,填入企业基本信息与上传营业执照信息4、准备物流公司编码与快递单号,具体查看接口文档中查看快递公司编码4、thinkphp6实现方式1)常量define定义电商ID与电商加密私钥2) 电商Sign签名生成3) 发送post请求<?phpnamespace app\index\controll

2021-03-01 17:52:23 375

jq验证器插件.zip

jq验证器插件.zip

2020-10-06

微信小程序企业展示.zip

小程序企业展示.zip

2020-09-20

微信小程序开锁公司.zip

微信小程序开锁公司.zip微信小程序开锁公司.zip微信小程序开锁公司.zip微信小程序开锁公司.zip微信小程序开锁公司.zip微信小程序开锁公司.zip微信小程序开锁公司.zip微信小程序开锁公司.zip

2020-09-13

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除