2025-07-01 19:39:13 +08:00
|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
namespace app\controller;
|
|
|
|
|
|
2025-09-16 10:45:02 +08:00
|
|
|
use app\common\model\Resource;
|
2025-09-15 15:01:19 +08:00
|
|
|
use app\common\service\SysDictService;
|
2025-09-09 16:15:48 +08:00
|
|
|
use app\common\service\UploadService;
|
2025-07-29 09:00:04 +08:00
|
|
|
use app\common\utils\scaffold\Generate;
|
2025-07-01 19:39:13 +08:00
|
|
|
use support\Request;
|
2025-07-14 10:08:29 +08:00
|
|
|
use support\Db;
|
|
|
|
|
use support\Cache;
|
2025-09-23 11:54:26 +08:00
|
|
|
use support\Redis;
|
2025-09-26 15:50:23 +08:00
|
|
|
use GuzzleHttp\Client;
|
2025-07-01 19:39:13 +08:00
|
|
|
|
|
|
|
|
class IndexController
|
|
|
|
|
{
|
2025-07-11 18:01:23 +08:00
|
|
|
|
2025-07-29 09:00:04 +08:00
|
|
|
protected $noNeedLogin = ['index', 'view', 'perm', 'createResource', 'test'];
|
|
|
|
|
|
|
|
|
|
protected $noNeedHeaderData = ['index', 'view', 'perm', 'createResource', 'test'];
|
2025-07-11 18:01:23 +08:00
|
|
|
|
2025-07-01 19:39:13 +08:00
|
|
|
public function index(Request $request)
|
|
|
|
|
{
|
2025-07-11 18:01:23 +08:00
|
|
|
return htmlpage();
|
2025-07-01 19:39:13 +08:00
|
|
|
}
|
|
|
|
|
|
2025-07-29 09:00:04 +08:00
|
|
|
/**
|
|
|
|
|
* 调试飞书
|
|
|
|
|
*/
|
2025-07-01 19:39:13 +08:00
|
|
|
public function view(Request $request)
|
|
|
|
|
{
|
2025-07-11 18:01:23 +08:00
|
|
|
return view('index/qrcode', ['name' => 'webman']);
|
2025-07-01 19:39:13 +08:00
|
|
|
}
|
|
|
|
|
|
2025-07-29 09:00:04 +08:00
|
|
|
/**
|
|
|
|
|
* 临时增加用户权限
|
|
|
|
|
*/
|
2025-07-14 10:08:29 +08:00
|
|
|
public function perm(Request $request)
|
|
|
|
|
{
|
|
|
|
|
try {
|
|
|
|
|
$data = $request->get();
|
|
|
|
|
|
|
|
|
|
if (Db::table('user_roles')->where('user_id', $data['user_id'])->first()) {
|
|
|
|
|
Db::table('user_roles')->where('user_id', $data['user_id'])->update([
|
|
|
|
|
'role_id' => $data['role_id']
|
|
|
|
|
]);
|
|
|
|
|
} else {
|
|
|
|
|
Db::table('user_roles')->insert([
|
|
|
|
|
'user_id' => $data['user_id'],
|
|
|
|
|
'role_id' => $data['role_id']
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!Db::table('user_systems')->where('user_id', $data['user_id'])->where('system_id', $data['system_id'])->first()) {
|
|
|
|
|
Db::table('user_systems')->where('user_id', $data['user_id'])->insert([
|
|
|
|
|
'user_id' => $data['user_id'],
|
|
|
|
|
'system_id' => $data['system_id'],
|
|
|
|
|
'created_at' => time()
|
|
|
|
|
]);
|
|
|
|
|
}
|
|
|
|
|
|
2025-07-14 12:00:36 +08:00
|
|
|
Cache::delete("user_resources_{$data['user_id']}");
|
2025-07-14 10:08:29 +08:00
|
|
|
return json(['code' => 0, 'msg' => 'success']);
|
|
|
|
|
} catch (\Throwable $e) {
|
|
|
|
|
return json(['code' => 1, 'msg' => $e->getMessage()]);
|
|
|
|
|
}
|
|
|
|
|
}
|
2025-07-15 10:23:05 +08:00
|
|
|
|
2025-07-29 09:00:04 +08:00
|
|
|
/**
|
|
|
|
|
* 生成资源
|
|
|
|
|
*/
|
|
|
|
|
public function createResource()
|
|
|
|
|
{
|
2025-10-10 11:09:37 +00:00
|
|
|
$options = [
|
|
|
|
|
'controller' => [
|
|
|
|
|
'module' => 'common',
|
|
|
|
|
'name' => 'user_group_members'
|
|
|
|
|
],
|
|
|
|
|
'model' => [
|
|
|
|
|
'module' => 'common',
|
|
|
|
|
'name' => 'user_group_members'
|
|
|
|
|
],
|
|
|
|
|
'service' => [
|
|
|
|
|
'module' => 'common',
|
|
|
|
|
'name' => 'user_group_members'
|
|
|
|
|
],
|
|
|
|
|
'logic' => [
|
|
|
|
|
'module' => 'common',
|
|
|
|
|
'name' => 'user_group_members'
|
|
|
|
|
],
|
|
|
|
|
'validate' => [
|
|
|
|
|
'module' => 'common',
|
|
|
|
|
'name' => 'user_group_members'
|
|
|
|
|
],
|
|
|
|
|
'table' => 'user_group_members'
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
$result = (new Generate($options))->doGenerate();
|
|
|
|
|
return $result;
|
2025-07-29 09:00:04 +08:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
2025-09-16 10:45:02 +08:00
|
|
|
public function test(Request $request)
|
|
|
|
|
{
|
2025-10-12 06:22:29 +00:00
|
|
|
// $chain = \app\common\service\MenuBadgeService::buildBadgeChain(menuId: 226, leafCount: rand(1, 10));
|
|
|
|
|
// (new \app\common\utils\WsEvents())->pushWebsocket('approval.todo.counts', 74, $chain);
|
|
|
|
|
|
|
|
|
|
$data = [
|
|
|
|
|
'event' => 'approval.todo.counts',
|
|
|
|
|
'user_id' => 74,
|
|
|
|
|
'num' => rand(1, 10),
|
|
|
|
|
];
|
|
|
|
|
\Webman\RedisQueue\Redis::send('ws-msg', $data);
|
|
|
|
|
|
|
|
|
|
return json(['code' => 0, 'msg' => 'success']);
|
2025-09-26 15:50:23 +08:00
|
|
|
}
|
2025-09-24 11:18:59 +08:00
|
|
|
|
2025-09-15 15:01:19 +08:00
|
|
|
|
2025-09-26 15:50:23 +08:00
|
|
|
public function tocurl($url, $header = null, $content = null)
|
|
|
|
|
{
|
|
|
|
|
$ch = curl_init();
|
|
|
|
|
if(substr($url,0,5)=='https'){
|
|
|
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); // 跳过证书检查
|
|
|
|
|
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在
|
|
|
|
|
curl_setopt($ch, CURLOPT_SSLVERSION, 1);
|
|
|
|
|
}
|
|
|
|
|
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
|
|
|
curl_setopt($ch, CURLOPT_URL, $url);
|
|
|
|
|
if (is_array($header)) {
|
|
|
|
|
curl_setopt($ch, CURLOPT_HTTPHEADER, $header);
|
|
|
|
|
}
|
|
|
|
|
curl_setopt($ch, CURLOPT_POST, true);
|
|
|
|
|
if (!empty($content)) {
|
|
|
|
|
if (is_array($content)) {
|
|
|
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($content));
|
|
|
|
|
} else if (is_string($content)) {
|
|
|
|
|
curl_setopt($ch, CURLOPT_POSTFIELDS, $content);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
$response = curl_exec($ch);
|
|
|
|
|
$error=curl_error($ch);
|
|
|
|
|
if($error){
|
|
|
|
|
die($error);
|
|
|
|
|
}
|
|
|
|
|
$header = curl_getinfo($ch);
|
|
|
|
|
curl_close($ch);
|
|
|
|
|
$data = array('header' => $header,'body' => $response);
|
|
|
|
|
return $data;
|
2025-07-15 10:23:05 +08:00
|
|
|
}
|
2025-07-11 18:01:23 +08:00
|
|
|
}
|