分类 Blog 下的文章
微信支付V3 平台证书(EasyWechat的platform_certs参数)如何下载?
第一步:
假设你已经成功安装了composer工具,并可以正常运行。下面以Linux或MacOS为例:
在任意目录下(如:Download),下载组件:
//
composer require wechatpay/wechatpay
//
第二步:
在当前(Download)项目目录下检测是否有可执行的命令文件:
//
composer exec -l
//
显示有可执行文件 CertificateDownloader.php 表示此文件可执行。
第三步:
执行以下令命:
//
composer exec CertificateDownloader.php
//
出现以上提示表示正常,可以继续往下。
第四步:
根据上图所示,组装命令行,规则通常如下:
//
composer exec CertificateDownloader.php -- -k ${apiV3key} -m ${mchId} -f ${mchPrivateKeyFilePath} -s ${mchSerialNo} -o ${outputFilePath}
//
这里参见:https://github.com/wechatpay-apiv3/wechatpay-php
组装完成后台命令行如下:
//
composer exec CertificateDownloader.php -- -k xxxxxx12345xxxxx -m 1238717442 -f /Users/liziyu/Documents/Wechat_Pay_Cert/wx_cert/apiclient_key.pem -s 4248DC46520F9EAC26C7DA22E3E74FDIGKEE87KA -o /Users/liziyu/Documents/Wechat_Pay_Cert/wx_cert
//
根据实际情况修改成自已的商户平台参数。
如果出现以上提示表示生成成功了。
如上图片示,生成的“平台证书”即可使用了。
最后:
附上微信官方PHP开发V3版 Demo供下载参考。
收藏一个微信支付v2版的php开发Demo
开发文档
微信支付V2的开发文档:https://pay.weixin.qq.com/wiki/doc/api/index.html
微信支付V3的开发文档:https://pay.weixin.qq.com/wiki/doc/apiv3/index.shtml
各支付接口的PHP演示(官方)
点击下载:
WxpayAPI_php.zip
理想🀄️真挚的友谊
真正的好朋友,互损不会翻脸,疏远不会猜疑,出钱不会计较,地位不分高低,成功无需巴结,失败不会离去。奋斗的时候搭把手,迷茫的时候拉一把,开心的时候干一杯,难过的时候抱一下。一起走吧,趁将来未来,趁热情未冷。——致我们真挚的友情
自造Token加密
简单粗暴更直接:
/**
* 自定义token
* @param null $userId
* @param null $roles
* @param int $timeout
* @return string
*/
protected function setToken($userId = null, $roles = null, $timeout = 0) :string
{
$year = 1984;
$time = time();
return $roles.'.'.md5($time).'.'.$year + $userId.'.'.$time.'.'. $timeout;
}
PHP开发必备VSCode插件(大全)
通用
序号 | 名称 | 描述 |
---|---|---|
1 | chinese(simplified ...) | 简体中文语言包 |
2 | live server | html 实时预览 |
3 | prettier-code formatter | 最流行的代码格式化插件 |
4 | better comments | 自定义注释颜色 |
5 | path intellisense | 路径自动感知填充 |
6 | helium icon theme | 一款我喜欢的文件图标主题 |
7 | one dark pro | 经典的主题,使用者众多,很耐看 |
8 | material theme | 经典"材料"主题 |
9 | material theme icons | 常与material theme配置的文件图标 |
10 | shades of purple | 赛博朋克风格的一款主题,很明亮风骚 |
11 | dracula official | 经典的吸血鬼主题 |
12 | dracula at night | 个人更喜欢这款小众的吸血鬼暗黑版(教学用它) |
13 | code runner | 几乎可以快速运行常见的所有语言,如php,java,js... |
14 | codesnap | 快速生成苹果电脑风格的代码片断截图,分享时使用 |
Markdown
序号 | 名称 | 描述 |
---|---|---|
1 | markdown preview... | markdown 实时预览 |
2 | markdownlint | markdown 语法检查器 |
HTML
序号 | 名称 | 描述 |
---|---|---|
1 | auto close tag | 标签自动关闭 |
2 | auto rename tag | 标签自动更名 |
3 | indent-rainbow | 以不同颜色显示代码缩进 |
4 | css peek | 查看并跳转到 css 定义位置 |
5 | html css support | css 自动智能补齐 |
6 | intellsense for css ... | html 中的 css 智能提示 |
7 | easy less | less 实时编译 |
8 | px-to-viewport | px 自动转 vw |
9 | svg preview | svg 预览器 |
10 | tailwind css ... | 无需离开 html 就可快速构建出现代网页 |
11 | tabout | 按 tab 就可快速跳到下一下,或跳出/越过括号等 |
JS/VUE/ES6
序号 | 名称 | 描述 |
---|---|---|
1 | bracket pair ... | 括号高亮配对提示 |
2 | javascript(es6) code snippets | 常用 js 代码片断 |
3 | node-snippets | 常用 node 代码片断 |
4 | quokka.js | js/es6 代码语法实时检查/执行器(续命法宝) |
5 | rest client | 可不离开 vscode 环境进行 api 请求测试 |
6 | eslint | js 代码质量智能分析器 |
7 | vetur | vue 语法高亮,智能感知,emmet 等 |
8 | vue3 snippets | vue3 常用代码片断 |
9 | vue-helper: vue-helper | 在扩展中使用的 vue 提示,如 element ui |
PHP常用
序号 | 名称 | 描述 |
---|---|---|
1 | php intelephense | php 语法提示/自动补齐 |
2 | php intellisense | php 代码跟踪/重构/自动完成 |
3 | php debug | php 代码调试器 |
4 | php docbloker | php 生成块级注释 |
5 | vscode-database | vscode 数据库 SQL 支持插件 |
编程常用字体
字体名称 | 描述 | 支持连写 |
---|---|---|
Fira Code | 喜欢的真喜欢,讨厌的真讨厌 | 支持 |
JetBrains Mono | JetBrains 出品,免费 | 支持 |
字体安装成功后,还需要在 vscode
中进行配置: settings.json
# 将Fira Code 字体放在第一个
"editor.fontFamily": "'Fira Code',Consoles, 'Courier New', monospace",
# 打开允许连写开关
"editor.fontLigatures": true,
本文来自:@PHP中文网公众号
解决打开Github速度慢的问题
第一步:下载https://github.com/oldj/SwitchHosts/releases
第二步:自选适合的方法获取IPhttps://github.com/ineo6/hosts
MAMP与MAMP pro安装包支持MACOS系统的M1与intel芯片
M1
版:
https://pan.baidu.com/s/1C3-aZv7-uRXBt7wQCS0Q2w 提取码: wcoi
Intel
版:
链接: https://pan.baidu.com/s/1NKxce4YG7nK0mqmcQlltgg 提取码: bf3i
SRS流媒体服务器搭建
太懒了,直接拷贝网址备份吧。
https://www.ossrs.net/releases/
https://www.bilibili.com/video/BV1844y1L7dL/
什么是反射?如何理解反射?
反射机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法,对于任意一个对象,都能够调用它的任意一个方法和属性,是一种动态获取的信息以及动态调用对象的方法的功能。