- 博客(13)
- 收藏
- 关注
原创 【go语言入门系列】随机输出十个年月日(闰年处理)
在网上看的一些教学视频,题目要求是for循环随机输出10个年月日,且考虑闰年的情况,具体实现如下package main//引入所需包文件import ( "fmt" "math/rand" "time")var era = "AD"func main() { /* *调用rand.Seed确保每次都是新的随机数 */ rand.Seed(time.Now().Unix()) for i := 10; i > 0; i-- { year := random(200
2022-05-30 09:42:46 392
原创 Laravel 8使用redis(string)存储接口数据并设置过期时间
接口请求服务端获取数据,服务端请求数据库,如果存redis或者其他缓存可以缓解数据库压力。示例代码:public function getImg() { //判断redis中是否有数据 if (Redis::get('image')){ //如果有,转成数组格式 $data=json_decode(Redis::get('image'),true); }else{ //如果没有,查数据库
2021-11-30 19:34:03 2755
原创 laravel简易根据ip限制接口请求
如果会用redis优先redis,不行就用cache中间件示例:<?phpnamespace App\Http\Middleware;use Closure;use Illuminate\Http\Request;use Illuminate\Support\Facades\Cache;use Illuminate\Support\Facades\Redis;class ThrottleIp{ /** * Handle an incoming request.
2021-11-29 21:56:33 2502 1
原创 微信小程序使用swoole实现websocket消息推送
swoole我个人建议在linux环境下操作,毕竟在windows下有那么一点点麻烦。首先linux安装php和swoole环境(有手就行,建议百度)。因为我们的业务是实现消息推送,也就是在完成特定操作时向swoole发送一个请求,然后swoole能够推送回来这条请求到指定的位置。直接上代码<?php//创建websocket服务器对象,监听0.0.0.0:9502端口$ws = new swoole_websocket_server("0.0.0.0", 9501);//监听WebSo
2021-11-26 17:11:45 2362
原创 用update修改显示成功数据库没有更改
laravel中的enum类型是一个字符串对象,所以如果在修改状态时,给状态赋值的修改后值为int形式,应该存不进去的,所以需要加上引号改成字符串形式再存$res = Notice::find($id); if ($res['status'] == 0){ //这里给status赋值时用字符串形式 $res->update(['status'=>'1']); }else{ $res->upd
2021-10-26 11:50:22 4438
原创 PHP数据递归展示
建议写在Base模型中 //递归展示 public function treeLevel(array $data,int $pid = 0,string $html = '--',int $level = 0){ static $arr = []; foreach($data as $v){ if($pid == $v['pid']){ $v['html'] = str_repeat($html,$level
2021-09-15 16:08:44 132
原创 关于PHP的RBAC设计
1.前提四张表 role,node,role_node,useruser里有role_idrole里有id,role_namenode里有id,name,route,pid首先角色列表页面,直接查角色表展示出来,此时表里应有一个分配/查看权限按钮 角色表大概样式当点击这个按钮时,参数为当前角色的ID,跳转到角色表的查看权限页面,跳转之前要携带的参数:此时需要对数据进行处理,role模型: public function nodes() {
2021-09-15 15:53:44 218
原创 laravel bcrypt及验证
laravel中bcrypt如果往前追可以追到这个页面 function bcrypt($value, $options = []) { return app('hash')->driver('bcrypt')->make($value, $options); }这个app(‘hash’)出自vendor/laravel/framework/src/Illuminate/Support/Facades/Hash.php目录下打开可以看到<?php
2021-09-10 18:46:29 1169 2
原创 微信小程序实现上拉触底(后台分页)加载
这篇文章是用的laravel8+微信小程序。要实现微信小程序下拉加载首先我们要缕清他的思路。在我看来,可以这样实现:首先我们给js一个data属性page,page的值默认为1,也就是第一页。然后加载出第一页后 page自增1 此时下滑触底可以触发触底事件:加载下一页,再来一次循环,并且我们需要每次在接到数据时判断数据是否为空,如果为空,直接给出数据已经到底了。具体代码:Page({ data: { lists:[] //给page一个初始值用来获取第一页数据 page:1,
2021-09-03 01:42:28 2122
原创 Laravel8后台中间件多次恶意请求接口拦截
做多次恶意请求拦截其实非常简单,无非就是给个变量,然后一定时间内请求次数达到上限就重定向到其他位置。我在网上看的时候有发现很多比较高级的做法,其中包括判断路由,指定路由或指定用户的拦截,本人在这里做个示范,写一个在header头里传token(因为接口一般要和用户其他验证身份之类的中间件一起使用)的简单接口拦截。框架:laravel8 public function handle(Request $request, Closure $next) { //接收token
2021-09-02 20:14:14 743
原创 微信小程序select框
组件jsComponent({ properties: { options: { type: Array, value: [] }, defaultOption: { type: Object, value: { id: '0', name: '请选择' } }, key: { type: String, value: 'id' },
2021-08-05 16:28:52 630 5
原创 用PHP框架实现微信小程序向阿里云上传图片
微信小程序端:onChangeTap:function(e){ let Imgs = e.detail.current; let token = wx.getStorageSync('token'); wx.uploadFile({ filePath: Imgs[0], name: 'file', url: 'http://www.week3.com/index.php/api/upimg', header
2021-08-04 16:51:51 218
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人