php-casbin 设置不被验证的超级管理员与超级角色
m = (g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act) || r.sub == "user" || g(r.sub, "role")
其中
"user" 是一个字符,可以理解为用户名可用户ID。
"roles" 也是一个字符串,可以理解为角色名称或角色ID。
m = (g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act) || r.sub == "user" || g(r.sub, "role")
其中
"user" 是一个字符,可以理解为用户名可用户ID。
"roles" 也是一个字符串,可以理解为角色名称或角色ID。
还在为没有设置好Charles 抓不了手机上的https请求而苦恼吗!今天手把手教你用proxyman抓取iPhone上的网络请求
1.软件安装步骤我就省略了,软件下载地址: https://proxyman.io/
2.安装证书;Certificate->Install Certificate on this Mac
3.安装扩展以及证书,Automatic->Install&Trust Certificate
1.上面的步骤就安装好了证书;但是这个时候只能请求http,如果我们请求是https的话,执行下面步骤:
1.查看移动端设置流程,必须跟电脑连同一个Wi-Fi
2.根据上面5个步骤手机设置,注意⚠️第五步千万别遗漏了,这是你能否抓到数据等关键。
本文转自:https://www.jianshu.com/p/2e728bce7eba
感谢作者:剁椒先生
原理
规则
数据ER
管理UI
数据表实例
特别声明:其中方案二
为某大佬线上生产环境系统设计,如果侵犯到此权限请通知我删除,同时采纳者一同承担相应责任。
当前页面 | 路由后页面 | 触发的生命周期(按顺序) |
---|---|---|
A | A | Nothing happend |
A | B | A.onHide(), B.onLoad(), B.onShow() |
A | B(再次打开) | A.onHide(), B.onShow() |
C | A | C.onUnload(), A.onShow() |
C | B | C.onUnload(), B.onLoad(), B.onShow() |
D | B | D.onUnload(), C.onUnload(), B.onLoad(), B.onShow() |
D(从转发进入) | A | D.onUnload(), A.onLoad(), A.onShow() |
D(从转发进入) | B | D.onUnload(), B.onLoad(), B.onShow() |
如下图所示:
一、微信公众平台-第三方平台开发(什么是第三方平台)
微信公众平台-第三方平台(简称第三方平台)开放给所有通过开发者资质认证后的开发者使用。在得到公众号或小程序运营者(简称运营者)授权后,第三方平台开发者可以通过调用微信开放平台的接口能力,为公众号或小程序的运营者提供账号申请、小程序创建、技术开发、行业方案、活动营销、插件能力等全方位服务。同一个账号的运营者可以选择多家适合自己的第三方为其提供产品能力或委托运营。
从具体的业务场景上说,第三方平台包括以下场景:
1、提供行业解决方案,整体打包公众号或小程序的产品开发等;
2、行业:提供更加专业的运营能力,精细化运营用户公众号或小程序;
3、功能:对公众平台功能的优化,如专门优化图文消息视觉样式和排版的工具,或专门定制的 CRM 用户管理功能,或功能强大的小程序插件等。
二、第三方平台代实现小程序业务
第三方平台代实现小程序业务,即第三方平台帮助旗下已授权的小程序进行代码管理。和普通的小程序开发流程相比,第三方代实现小程序业务,需要先开发完成小程序模板,再将小程序模板部署到旗下小程序帐号中
更多详见:https://developers.weixin.qq.com/community/business/doc/000648e11201c0ca44da6a4fb56c0d
<?php
/**
* curl POST请求
* @param string $url 请求地址
* @param array $data 请求数据
* @param bool $json 请求格式[urlencoded|json]
* @return bool|string
*/
function curlPost(string $url, array $data, bool $json = true)
{
if ($json) {
$str_data = json_encode($data, JSON_UNESCAPED_UNICODE);
$header = ['Content-Type: application/json'];
} else {
// 默认选项
$str_data = http_build_query($data);
$header = ['Content-Type: application/x-www-form-urlencoded'];
}
$ch = curl_init($url);
curl_setopt_array($ch, [
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => $str_data,
CURLOPT_HTTPHEADER => $header,
CURLOPT_SSL_VERIFYHOST => false,
CURLOPT_SSL_VERIFYPEER => false,
]);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
<?php
/**
* curl GET请求
*/
function curlGet($url){
$ch = curl_init($url);
curl_setopt_array($ch,[
CURLOPT_RETURNTRANSFER => true,
]);
$output = curl_exec($ch);
curl_close($ch);
return $output;
}
转自:https://cdc.tencent.com/2022/02/08/后台审批流系统设计指南/
id | article_id | parent_id(string) |
---|---|---|
1 | 3 | 0 |
2 | 3 | 1 |
3 | 3 | 1_2 |
4 | 3 | 2 |
5 | 3 | 1_2_3 |
删除 id = 1 的1 级文章及下级所有文章
Article::where('id', 1)->delete();
Article::where('parent_id', 'like', '1%')->delete();
这样和 id = 1 的所有相关文章就删除了
删除这些文章下的评论就用观察者就行了