![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
新奇技术学习
宁静之峰
一个菜鸟的不断渴求知识之路,写得都是自己心酸历程,希望对大家有帮助
展开
-
php 微信 app端支付 hyperf框架
<?phpdeclare(strict_types=1);namespaceApp\Logic\V1\Order;useApp\Logic\BaseLogic;useHyperf\Utils\Context;classWxPayLogicextendsBaseLogic{//支付接口publicfunctionappPay($order_sn,$total_money){$request...原创 2020-07-01 15:37:42 · 1123 阅读 · 0 评论 -
php 极光推送完整方案
/***@Task*/publicfunctionsendMessage(array$data){$res=$this->push($data["receiver"],$data["content"],$data["title"],$data["extras"]);if($res){$res=json_decode($res,true);var_du...原创 2020-07-01 15:34:01 · 534 阅读 · 0 评论 -
Hyperf 调用 快递100物流查看接口遇到的坑
最近业务上需要查询快递,所以确定了使用快递100的api所以我们调用接口,查看文档是这样的$com="快递公司编号";$num="快递单号";$post_data=array();$post_data["customer"]='客户编号';$key='客户key';$param["com"]=$com;$param["num"]=$num;...原创 2020-06-22 18:10:21 · 893 阅读 · 0 评论 -
Hyperf 引入支付宝app支付遇到的坑
1首先把SDK放入项目里2.require__DIR__.'/storage/alipay-sdk-PHP-4.9.0/aop/AopClient.php';//记得用__DIR__相对路径require__DIR__.'/storage/alipay-sdk-PHP-4.9.0/aop/request/AlipayTradeAppPayRequest.php';useAopClient;useAlipayTradeAppPayRequest;/**total_amoun...原创 2020-06-12 18:21:11 · 1504 阅读 · 0 评论 -
华为云ssl证书 nginx 1.7 配置 https
server { listen 443 ssl; server_name 域名; ssl_certificate cert/server.crt; ssl_certificate_key cert/server.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD...原创 2020-06-11 18:42:03 · 536 阅读 · 0 评论 -
华为云敏感词汇php-sdk
1.开通服务后首先下载sdkhttps://developer.huaweicloud.com/sdk?MODERATION2.在“image_moderation_aksk_demo.php”文件中配置“app_key”,“app_secret” // region目前支持华北-北京(cn-north-4)init_region($region = 'cn-north-4');$app_key = "*************";$app_secret = "********原创 2020-06-08 19:23:47 · 527 阅读 · 0 评论 -
Hyperf华为云切片上传
1.首先引入华为云php-sdkhttps://github.com/huaweicloud/huaweicloud-sdk-php-obs.git2.进入目录执行composer install3.先引入obsautoload.php useObs\ObsClient;$this->obsClient=newObsClient(['key'=>"ak",'secret'=&g...原创 2020-06-08 19:06:44 · 685 阅读 · 0 评论 -
php 支付宝支付 app与web流程讲解
首先app端的php支付php连sdk 在支付的时候第一步:app请求服务端接口,php调支付宝sdk拿到支付orderstring第二步:app调取支付宝sdk,传orderstring完成支付,返回支付成功(客户端不可信)第三步:支付宝异步回调支付成功接口,处理订单逻辑第四步:app轮询问服务端是否支付成功第五步:后端返回支付成功,或一段时间后app请求服务端去支付宝问原因再返回结果web端的php 支付宝支付第一步:调取php接口,php访问支付宝拿回二维码页面返.原创 2020-05-28 15:07:32 · 497 阅读 · 0 评论 -
Hyperf 使用 Elasticsearch 增删改查基本方法
<?phpdeclare(strict_types=1);namespaceApp\Elasticsearch;useHyperf\Elasticsearch\ClientBuilderFactory;useHyperf\Utils\ApplicationContext;classElasticsearch{/***@varContainerInterface*/protected$container;...原创 2020-05-28 14:17:25 · 3074 阅读 · 0 评论 -
Hyperf微服务中做切片上传遇到的问题
今天在Hyperf里做切片上传的时候看到以前的代码是从接口把整个切片内容读出来到微服务中处理这样不仅造成微服务间通信的高达几M的数据交互,也会造成无法调取微服务的问题不说了上代码我遇到的问题是前端传了三片文件,第三片无法访问微服务在调取微服务的时候直接报错,这是怎么回事呢?打印下切片内容第一,第二片很正常,第三片全是“////////////”如果没猜错的话就是这个问题所以我们把file_get_contents()拿到微服务里执行。传递的参数只是临时路径tmp这样就原创 2020-05-19 14:10:46 · 734 阅读 · 0 评论 -
Hyperf 命名空间错误但是可以访问进去,然而对象注入不进来
当我版本写为V1 时能进入这个类但是我版本写为v1时也能进入这个类当我版本写为V1 时能打印出这个对象但是我版本写为v1时打印这个对象位null因为出现微服务调不到所以遇到了这个问题。在此提醒大家,写代码一定注意减少拼写错误,减少大小写失误...原创 2020-05-13 20:29:51 · 600 阅读 · 0 评论 -
Hyperf 框架微服务搭建
新公司采用Hyperf框架搭建一个大型的分布式微服务系统。首先明确微服务的概念:一个大的服务分解成为多个小服务,这些小服务又能独立运行,这些小服务就是微服务。而集成的多个微服务服务器就是分布式Hyperf里面采用consul为服务中心,多个微服务通过不同的jsonrpc端口号把不同的service(服务)注册到服务中心,这样可以使所有有权限可以连接到服务中心的服务器都可以调到这些微服务。配置步骤 Hyperf里面的config/autoload/services.php,加入微服务ser..原创 2020-05-13 16:44:31 · 6628 阅读 · 1 评论 -
Hyperf项目能正常启动,用守护进程无法启动
今天遇到一个问题:Hyperf项目能正常启动,用守护进程无法启动首先排除守护进程问题,因为其他项目可正常启动。对应项目的配置文件也毫无问题。解决方式:给我们的缓存文件夹runtime 加777权限chomd -R 777 /runtime...原创 2020-05-13 16:27:16 · 2887 阅读 · 0 评论 -
接口报错doesn't work properly without JavaScript
首先我们识别下这个错误是怎么出来的。根据网上大部分百度搜索出来的这个错误都是因为vue路由开启历史模式导致,但是目前我们这个错误是直接从postman报错的说明这个错误是后端的错误,接口直接报错与vue无关我们发现的这个问题查找了很多因素,比如Nginx的原因。但是最后发现只有自己的机器访问这个接口报这个错误,其他人并不会报错。解决方式:在我们项目中存在守护进程日志和nginx日志,清掉日志。重新访问就可以轻松解决这个问题。...原创 2020-05-13 16:24:15 · 4838 阅读 · 0 评论 -
视频聊天--信令服务器相关操作
//搜索联系人private function is_mybuddy(uid,uid,uid,buddy_uid){if(!KaTeX parse error: Expected 'EOF', got '}' at position 68: …turn true; }̲ public fun…param){checkres=Events::checkParam(check_...原创 2019-09-16 09:35:21 · 499 阅读 · 0 评论 -
jsAES128加密方法
function getAesString(data,key,iv){//加密 var key = CryptoJS.enc.Utf8.parse(key); var iv = CryptoJS.enc.Utf8.parse(iv); var encrypted =CryptoJS.AES.encrypt(data,key, { ...原创 2019-08-22 23:33:52 · 5978 阅读 · 2 评论 -
客户端js生成rsa 密钥对
//获取密钥对function getRsaKeys(func){ window.crypto.subtle.generateKey( { name: "RSA-OAEP", modulusLength: 2048, //can be 1024, 2048, or 4096 publicExponen...原创 2019-08-22 23:31:34 · 6580 阅读 · 2 评论 -
GatewayWorkman定时器案例
在Event.php里的onWorkerStart调用定时类 public static function onWorkerStart($worker) { //进程启动开启定时任务 $task = new Task; $task->start(); }新建Task.php<?phpnamespace App...原创 2019-04-24 16:57:10 · 1657 阅读 · 0 评论 -
号称最安全的Mega网盘加密方法分析
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Ma...原创 2019-03-08 10:10:29 · 7120 阅读 · 0 评论 -
webUploader 的使用实例
// 实例化 uploader = WebUploader.create({ pick: { id: '#filePicker', label: '点击选择文件' }, formData: { uid: 123 }, dnd: '#...原创 2019-03-13 20:48:54 · 1531 阅读 · 0 评论 -
php 上传视频并获取视频第一帧
function shipin(){//检测是否为视频$oldfilepath = $this->ShipinChock();//路径$part ="";$name = “”;houzhui=".mp4";if(!isdir(houzhui = ".mp4"; if(!is_dir(houzhui=".m...原创 2019-04-10 15:49:48 · 1596 阅读 · 0 评论 -
七牛云镜像存储服务
配置步骤Step 1将非结构化数据的源站配置为七牛空间的镜像源站。选择空间,然后在空间的概览页面里,找到镜像存储,然后在镜像源对话框内填入用于回源抓取资源的源站域名。比如将空间 image1 的镜像源站配置为http://image1.abc.com。Step 2为空间申请自定义域名,该域名将是新的资源外链的域名。注意加速域名的填写,比如为空间 image1 申请自定义域名image...原创 2019-04-10 15:54:17 · 701 阅读 · 0 评论 -
图片网站加载速度更快 可以像Google图片搜索一样,先加载缩略图,再逐步变清晰,参考代码,采用JS可以实现
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> &l...原创 2019-04-10 15:55:40 · 1201 阅读 · 0 评论 -
使用JS获取当前页面input type=file 的真实路径
$(document).on(‘change’, ‘#PictureUrl’, function () { //PictureUrl为input file 的id//console.log(this.files[0]);function getObjectURL(file) {var url = null;if (window.createObjcectURL != undefined) ...原创 2019-04-10 15:56:49 · 12157 阅读 · 0 评论 -
七牛云上传,存储空间与绑定域名不符,需要修改
华东 z0 服务器端上传:http(s)原创 2019-04-10 15:57:35 · 2172 阅读 · 0 评论 -
php递归完成mega网盘文件命名规则
//$n为第n个切片的加密数据 $data = $_POST; //接收文件id,查询数据库,得到该条记录 $fileInfo = getMysqlInfo($data["docId"],$data["userId"]); //传递切片编号,文件夹路径,文件扩展名获取文件内容 $content = getContent($data["num"],$f...原创 2019-04-10 16:11:23 · 377 阅读 · 0 评论 -
Simple-peer实现视频聊天并切片点对点分享文件demo之html
Peer connection Simple-Chat 简单通话<p>这是一个基于 WebRTC 的在线点对点通讯项目</p><div style="width:50%;float:left;"> <p>...原创 2019-04-08 19:16:19 · 1097 阅读 · 0 评论 -
simple-peer 视频聊天之main.js
‘use strict’;console.log(‘初始化按钮’);const callButton = document.getElementById(‘callButton’);const hangupButton = document.getElementById(‘hangupButton’);const sendButton = document.getElementById(‘...原创 2019-04-08 19:17:26 · 1540 阅读 · 0 评论 -
simple-peer视频聊天之 simple.min.js
(function(e){if(“object”==typeof exports&&“undefined”!=typeof module)module.exports=e();else if(“function”==typeof define&&define.amd)define([],e);else{var t;t=“undefined”==typeof wind...原创 2019-04-08 19:18:33 · 1243 阅读 · 0 评论 -
simple-peer视频聊天之adapter-latest.js
(function(f){if(typeof exports===“object”&&typeof module!“undefined”){module.exports=f()}else if(typeof define=“function”&&define.amd){define([],f)}else{var g;if(typeof window!“undefin...原创 2019-04-08 19:19:58 · 2831 阅读 · 0 评论 -
simple-peer视频聊天之main.css
/*Copyright © 2015 The WebRTC project authors. All Rights Reserved.Use of this source code is governed by a BSD-style licensethat can be found in the LICENSE file in the root of the sourcetree....原创 2019-04-08 19:20:35 · 195 阅读 · 0 评论 -
simple-peer 视频聊天之main2.css
/*Copyright © 2015 The WebRTC project authors. All Rights Reserved.Use of this source code is governed by a BSD-style licensethat can be found in the LICENSE file in the root of the sourcetree....原创 2019-04-08 19:21:16 · 284 阅读 · 0 评论 -
javascript利用crypto.js进行 AES加密解密
#举例var testData = [];for(var i=0;i&amp;lt;128*1024;i++){testData.push(i)}//转换为 Uint8var buffer = new Uint8Array(testData);//将 Uint8 转换成 WordArrayvar WordArray = CryptoJS.enc.u8array.parse(buffer);...原创 2019-03-12 10:11:48 · 2040 阅读 · 1 评论