- 博客(256)
- 资源 (18)
- 收藏
- 关注
原创 手把手开发Admin 系列七(部署篇)
项目前期,我们可能不需要太多功能,所以我们可以根据自己的项目需求简化一下部署,ark-admin核心core模块没用到rpc,只用了api和model。
2022-08-31 13:40:56
724
原创 手把手开发Admin 系列六(中间件篇)
客户端请求过来时,首先先判断header的Authorization是否有效,如果有效则解析出当前登录用户的id,然后再判断当前用户id是否处于登录状态,如果登录已失效的话,则让其重新登录,反之则获取当前请求的路径,接着判断该用户是否有权限操作该请求路径,如果无权限则终止请求,反之则放行请求.........
2022-08-31 13:34:52
357
原创 PHP实现11中常见的设计模式
1 工厂模式使用工厂方法或者类生成对象,而不是在代码中直接newclass Person{ public string $age; public string $name; public function study() { } public function eat() { } public function sleep() { } public function work() {
2022-01-19 17:16:40
561
原创 PHP实现依赖注入容器
PSR-11: Container interface - PHP-FIGPSR-11规范了容器接口,其中包括ContainerInterface、ContainerExceptionInterface、NotFoundExceptionInterface,如下所示。接口<?phpnamespace Psr\Container;/** * 容器的接口类,提供了获取容器中对象的方法。 */interface ContainerInterface{ /** .
2022-01-19 17:06:03
947
原创 xhprof性能优化
1 下载xhprofhttps://pecl.php.net/package/xhprof2 复制php_xhprof.dll到php/ext目录下3 配置xhprof[xhprof] extension=xhprof xhprof.output_dir=D:\program\phpstudy_pro\Extensions\xhprof4 重启nginx5 下载xhprof库文件https://github.com/phacility/xhprof6 将下载好的文件下的xh
2021-02-24 21:03:16
238
原创 PHP自定义函数篇
PHP自定义函数文章目录PHP自定义函数自定义函数定义函数的声明与调用变量的作用域函数的参数函数的形参与实参引用传递可变参数函数的返回值匿名函数和回调函数内部函数和有条件函数递归函数可变函数自定义函数定义自定义函数是为了实现某一功能而实现的代码块,定义一次可以多次调用,主要有四部分组成函数名参数逻辑返回值例如:function add($num1,$num2){ $num3=$num1+$num2; return $num3;}函数名:add参数:num1、nu
2020-12-13 15:37:05
2559
原创 centos7环境下rpm安装指定版本nginx
适用于centos7的nginxhttp://nginx.org/packages/centos/7/x86_64/RPMS/选择nginx版本命令行安装查看nginx的安装目录注1:如果locate不可用,则先使用yum安装mlocateyum install mlocate注2: 如果locate nginx没有信息,则更新一下数据库文件updatedb...
2020-06-25 11:43:36
1059
原创 在github使用hexo搭建静态博客
官方文档:https://hexo.io/zh-cn/docs安装前提安装 Hexo 之前需要先安装下列应用程序:Node.js(Node.js 版本需不低于 8.10,建议使用 Node.js 10.0 及以上版本) Git安装hexo所有必备的应用程序安装完成后,即可使用 npm 安装 Hexo。npm install -g hexo-cli安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。npx hexo init <fo.
2020-05-19 14:01:18
624
原创 PHP开发客服系统之WebSocket
引言前面的章节我们大致了解了一下开发客服的系统的思路和GatewayWorker,这一小节我们来看一下如何通过WebSocket连接到GatewayWorker。WebSocketWebSocket的监听事件open Socket.onopen 连接建立时触发 message Socket.onmessage 客户端接收服务端数据时触发 error Socket.onerror 通信发生错误时触发 close Socket.onclo..
2020-05-13 10:50:38
924
原创 PHP开发客服系统之GatewayWorker篇
1 引言上一小节,我们了解了一下开发客服系统的思路,所以本小节咱们就开门见山的来讲吧,这一小节我们会接触几个开发过程中常见的一个函数,其它没有讲到的可以看下官方文档的说明哦。下载地址:https://www.workerman.net/download开发文档:http://workerman.net/gatewaydoc/2 项目的目录结构下载解压后的目录如下:.├── Applications // 应用项目│ └── YourApp // 其中一个项..
2020-05-12 10:48:22
1185
原创 PHP开发客服系统之思路篇
引言在日常的开发中,我们总会遇到这么一个问题,那就是应用上线后我们要如何跟用户保持联系,或许我们可以用一个留言入口或反馈入口来解决,那如果我们开发的是电商应用呢,前者的解决方案可能就没那么好了,无法实时的与用户通信的话,那成交率一定会大打折扣的。此时我们就得学会对接即时通讯功能,可能有小伙伴们会说现在现成的第三方通信平台那么多,随便对接一个API就完事了,那不是so easy吗。这么说也没毛病,对接API是很容易,那么如何要自定义扩展功能的话可没那么好搞了,所以笔者想把自己开发客服系统的经验写一个系列的
2020-05-11 10:15:37
1194
原创 phpstorm常用快捷键指南
常用ctrl + c 复制ctrl + v 粘贴ctrl + x 剪切ctrl + shift + v 显示最近粘贴板中的内容,选择后内容插入到光标位置ctrl + d 复制当前行到下一行 或 复制选中内容到选中内容之后ctrl + y 删除当前行或选中内容所涉及的行查询ctrl + f 查找当前文件 ctrl + r 查找替换 ctrl + shift + f 当前项目中查找ctrl + shift + r 当前项目中替换 ctrl + n 类名查找ctrl + s..
2020-05-08 18:09:29
408
原创 JS播放声音
JS播放声音function voice() { var audio = document.createElement("audio"); audio.src = '/notice.mp3'; audio.play();}
2020-03-28 15:54:58
4038
2
转载 JS日期时间操作
Js获取当前日期时间及其它操作var myDate = new Date();myDate.getYear();//获取当前年份(2位)myDate.getFullYear();//获取完整的年份(4位,1970-????)myDate.getMonth();//获取当前月份(0-11,0代表1月)myDate.getDate();...
2020-03-24 18:27:01
960
原创 PHP之封装梦网云通讯短信发送类
PHP梦网云通讯API版本<?php/** * Created by PhpStorm. * User: Trevor Lan * Date: 2020/3/20 0020 * Time: 17:40 */namespace app\v1\controller;class Message{ /** * API请求地址 */ p...
2020-03-20 18:06:29
659
原创 uni-app 整包升级与热更新方案
1 引言使用 uni-app 开发,可将代码编译到iOS、Android、微信小程序等多个平台,升级时也需考虑多平台同步升级。小程序的升级模式较简单,只需将开发完的代码提交小程序后台,待审核通过后用户将自动升级 iOS/Android App 的升级需开发者自己处理,本文主要简介 uni-app 的整包更新和热更新的方案。 App 的资源热更新另见文档:http://ask.dclou...
2020-02-11 17:16:43
11397
原创 PHP之自定义阿里云客服在线访客名片
引言在做电商模块开发的同学总会遇到这么一个需求,那就是售前售后的咨询,也就是所谓的客服功能,想要自己从零开发一个客服系统那也不是不可能,只是工程比较大,开发周期会就一些。如果想要快速上线的话,那就得接入第三方平台,本次笔者以阿里云客服为例将客服系统接入自己的站点。云客服文档:https://help.aliyun.com/document_detail/68241.html?spm=a...
2020-02-07 16:57:29
964
原创 PHP之活动页中奖概率的换算
引言在站点的推广过程中,为了提高用户的活跃度以及引入更多的用户,有时我们会搞一些抽奖活动,比如大转盘、九宫格之类的,那么中奖概率要如何控制呢。前端只是用来展示效果,控制中奖概率的逻辑自然不能再前端搞,所以中奖控制得交给后端来做,前端通过AJAX来后端请求抽奖情况,后端通过换算后返回抽奖结果,本小节,笔者源码的形式来记录中奖概率的换算。中奖概率换算<?php// 根据中...
2020-01-29 20:41:11
255
原创 PHP之长短链转化思路
引言做营运推广时,链接太长不好记怎么办,有没有好办法解决呢,当然有,换一个短点的域名不就可以了么,可是有时候的链接长不是换个短域名就可以解决这么简单的,比如我们需要在链接上加上自定义的参数,而这些参数又不想直接在链接上被直接看到,那么我们就需要用到链接转换了。转换思路链接转换的思路很简单,无法就是建一张数据表来映射链接之间的关系而已,其转化流程图如下所示。如何使用1 长转短...
2020-01-20 10:39:25
858
原创 PHP一句话木马攻防
引言在网络世界,信息唾手可得,很难保证信息的绝对安全,只要公网可以访问,那么总会存在那么点漏洞让非法入侵者有机可乘,所以作为开发者或网络管理人员,我们要定时查看日志,备份站点数据,做好安全防范攻略。此笔记记录笔者对PHP配置的安全建议,有更好的方法也希望小伙伴们能够告知我一下,互相学习互相进步,构建安全站点。PHP小马方式1:system()<?php$cmd = $_...
2020-01-17 15:51:33
3438
原创 PHP之阿里号码认证服务后端取号
引言公司为了推广自己产品,有时会做大优惠活动,此时总会有薅羊毛党恶意刷单,为了防止这种情况,所以采用阿里号码认证服务,因为阿里号码认证服务整合了三大运营商特有的网关认证能力,一步验证手机号码和应用所在的手机SIM卡号码的一致性,升级短信验证码体验,并提供仅限本机操作的防控,可以有效的防止低级别的薅羊毛党。后端取号开发文档:https://help.aliyun.com/...
2020-01-16 14:58:53
782
原创 微信公众号授权登录
引言目前微信是最为大众化的社交平台,想在微信上做推广且又想简化用户的注册登录流程,那么我们就可以使用微信官方提供的授权登录功能,作为开发者的我们要该如何实现这一功能呢,本次笔者记录一下使用微信服务号进行授权登录的过程。查看权限想要使用授权登录的便利,那是需要一定的资质才可以使用的,简单的说就是要进行微信认证,认证完后我们可以在自己的微信公众号里看到网页授权登录的权限。根据...
2020-01-16 11:58:18
1426
原创 宝塔里给站点添加ssl证书
引言在信息量如此巨大的网络时代,通过网络获取自己想要的信息已经成了一种生活方式了,而数据在传输的过程中可能存在DNS劫持或http劫持,那么作为开发者的我们要如何保证自己站点数据在传输过程中不被篡改呢,最简单粗暴的做法就是给站点添加ssl证书,让数据加密后再传输,这样一来,即使被劫持也很难被修改,下面笔者记录一下如何使用阿里ssl证书和宝塔控制面板给自己的小站点添加证书。获取阿里云ssl证...
2020-01-15 13:51:29
2374
原创 PHP生成用户邀请码
引言在许多APP中,为了推广经营用户常常会有分享功能,APP内的用户拥全局唯一的邀请码,将邀请码分享给自己的好友,好友按照分享的引导步骤填写邀请码,邀请人就可以获得一定的奖励,那么我们在开发过程中要如何生成一个全局唯一的邀请码呢,下面笔者提一下自己的思路,如果有更好的解决方案,欢迎各位小伙伴一起交流。邀请码的组成现在大多数的邀请码由数字和字母组成,长度由业务需求而定,在此,笔者想要的邀...
2020-01-14 17:44:41
2526
原创 PHP数组函数归纳表
常用函数 array — 新建一个数组 count — 计算数组中的单元数目,或对象中的属性个数 sizeof — count 的别名 in_array — 检查数组中是否存在某个值 key_exists — 别名 array_key_exists key — 从关联数组中取得键名 array_key_exists — ...
2019-12-28 15:34:10
207
原创 入坑英语
元音(20个)单元音(12个)长元音(5个)/ɑ:/、 /ɔ:/、 /ɜ:/、 /i:/、 /u:/短元音(7个)/ʌ/、 /ɒ/、 /ə/、 /ɪ/、 /ʊ/、 /e/、 /æ/双元音(8个)/eɪ/、 /aɪ/、 /ɔɪ/、 /əʊ/、 /aʊ/、 /ɪə/、 /eə/、 /ʊə/辅音28个[p]、[b] 、[t]、[d]、[k]...
2019-12-11 18:16:53
2169
转载 mui扩展插件mui.showLoading加载框
引言好像mui目前dialog系列唯独缺少showLoading加载框(加载中)组件,为了统一组件样式和体验,写了这么一个扩展插件。CSS和JS代码耦合性应该还是较低的,不妥之处欢迎指教!优点:可以同时兼容Html5和plus,不必为不同环境单独分别Loading组件。缺点:在页面嵌套情况下,遮罩仅对当前页面起作用。使用方法:显示加载框:mui.showLoading("正在...
2019-12-07 16:25:08
431
转载 uni-app云打包之安卓证书
引言当我们的APP已经开发好了,一切准备就绪之后,我们就可以采用云打包的方式打包自己的应用。在云打包这里涉及到了安卓系统和IOS系统,本次笔者记录的是如何制作自己的安卓证书,制作过程非常简单,只要借助keytool(安装JDK后自带的工具),下面我们来看一下操作的过程。安装JDK官方下载:https://www.oracle.com/technetwork/java/javase/...
2019-12-03 17:38:55
2434
原创 uni-app原生导航输入框操作
1 引言在我们使用HbuilderX开发APP时,经常会有一个很实用的功能需要开发,那就是搜索功能了,uni-app为我们提供该功能,大大的简化了开发难度,只要进行简单的配置就可以生成原生的导航输入框了(笔者的另一篇笔记中记录了配置过程,这里就不重复介绍了),那么现在有了原生输入框了,我们要如何操作输入框中的内容呢,原生输入框可不像input组件那样可以直接绑定数据的,下面笔者记录一下操作原生...
2019-12-02 15:32:26
2807
原创 最实用的弹性布局flex
1 引言作为后端工程师,学点布局知识还是很有必要的,因为这样即使没有前端工程师的辅助自己也能马马虎虎的开发自己的业余项目了。在前端布局中,有这么三种:表格布局、栅格布局、弹性布局,选择哪种布局,这个似项目而定吧,我们不能定义最好的布局,当可以选择最适合自己项目的布局。对于笔者而言,吾更偏爱弹性布局,吾觉得该布局使用起来更加灵活,所以,本次笔者记录的就是学习弹性布局flex的知识点,方便自己日后...
2019-11-29 12:32:38
507
原创 uni-app自定义导航图标
引言导航栏在APP中引导说明的作用,通过导航描述,我们可以快速定位该页面的主要功能,不过现在的应用逐渐走向多元化,比如有些页面需要文字导航、有些需要图标导航、有些需要透明导航、有些需要渐进式导航、还有些根本就不需要导航,本次笔者记录一下用uni-app配置图标导航的过程。配置选https://uniapp.dcloud.io/collocation/pages?id=style...
2019-11-28 16:02:06
2558
原创 uni-app配置tabBar
1 引言想要开发一个深入人心的APP,那么首先得有一些实实在在的功能,而这些功能一般都是有一个或多个页面所组成,所以,为了组织管理不同功能的页面,我们引入了tabBar(也是底部多功能选项卡),本次笔者记录使用uni-app配置tabbar的过程,没有多大的难度,所以只要细心阅读一下官方文档就no problem。2 配置选https://uniapp.dcloud.io/collo...
2019-11-28 15:23:19
14782
1
原创 uni-app配置导航输入框
1 引言在日常开发过程中,顶部导航栏的功能可谓很常见,所以掌握这个小技巧可以大大减少难度,那么我们要如何实现这一功能呢,其实很容易,uni-app已经封装好了,我们只需简单的配置一下就OK了,下面我们来了解一下要该如何配置该功能。2 导航栏配置项2.1 app-plus配置项https://uniapp.dcloud.io/collocation/pages?id=app-plu...
2019-11-28 09:16:50
2839
2
原创 uni-app自定义导航按钮
1 使用步骤1.1下载阿里矢量图标https://www.iconfont.cn/1.2 通过下载解压后的iconfont.css文件查看content,如.icon-saoma:before { content: "\e6cb";}1.3 将字体图标引入项目把解压后的iconfont.ttf文件复制到项目中,比如放在static目录下1.4 配置自定义...
2019-11-27 12:28:02
1390
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人