first commit
This commit is contained in:
@@ -0,0 +1,94 @@
|
||||
<?php
|
||||
/**
|
||||
+-----------------------------------------------------------------------------------------------
|
||||
* GouGuOPEN [ 左手研发,右手开源,未来可期!]
|
||||
+-----------------------------------------------------------------------------------------------
|
||||
* @Copyright (c) 2021~2024 http://www.gouguoa.com All rights reserved.
|
||||
+-----------------------------------------------------------------------------------------------
|
||||
* @Licensed 勾股OA,开源且可免费使用,但并不是自由软件,未经授权许可不能去除勾股OA的相关版权信息
|
||||
+-----------------------------------------------------------------------------------------------
|
||||
* @Author 勾股工作室 <hdm58@qq.com>
|
||||
+-----------------------------------------------------------------------------------------------
|
||||
*/
|
||||
declare (strict_types = 1);
|
||||
namespace app\api\controller;
|
||||
|
||||
use app\api\BaseController;
|
||||
use think\facade\Db;
|
||||
use Firebase\JWT\JWT;
|
||||
|
||||
|
||||
class Office extends BaseController
|
||||
{
|
||||
public function view($id=0,$mode='edit')
|
||||
{
|
||||
$file = Db::name('File')->where('id',$id)->find();
|
||||
if(empty($file)){
|
||||
return view('../../base/view/common/filetemplate');
|
||||
}
|
||||
$path = $file['filepath'];
|
||||
$title = $file['name'];
|
||||
$extension = pathinfo($path, PATHINFO_EXTENSION);
|
||||
$filename = pathinfo($path, PATHINFO_FILENAME);
|
||||
$office_config = get_system_config('other');
|
||||
$office_config['token'] = 'secret_8JFhzy';
|
||||
//$directory = substr($path, 0, 16);
|
||||
//$key = set_salt(10).str_replace("/", "T", $directory).$filename.'.'.$extension;
|
||||
$key = "key".$file['audit_time']."T".$id;
|
||||
$domain = $_SERVER['HTTP_HOST'];
|
||||
$url = "http://".$domain.$path;
|
||||
$callbackUrl = "http://".$domain."/office.php";
|
||||
$admin = Db::name('Admin')->where('id',$this->uid)->find();
|
||||
$config = [
|
||||
"document" => [
|
||||
"url" => $url,
|
||||
"key" => $key,
|
||||
"permissions" => [
|
||||
"chat"=> true,
|
||||
"comment"=> true,
|
||||
"copy"=> true,
|
||||
"deleteCommentAuthorOnly"=> false,
|
||||
"download"=> true,
|
||||
"edit"=> true,
|
||||
"editCommentAuthorOnly"=> false,
|
||||
"fillForms"=> true,
|
||||
"modifyContentControl"=> true,
|
||||
"modifyFilter"=> true,
|
||||
"print"=>true,
|
||||
"protect"=> true,
|
||||
"review"=> true
|
||||
]
|
||||
],
|
||||
"editorConfig"=>[
|
||||
"mode" => $mode,//view,edit
|
||||
"forcesave"=>true,
|
||||
"lang"=>"zh-CN",
|
||||
"createUrl" => '',
|
||||
"customization"=>[
|
||||
"autosave"=>true,//是否自动保存
|
||||
"comments"=>false,
|
||||
"help"=>false
|
||||
],
|
||||
"user" => [
|
||||
"id" => $admin['id'],
|
||||
"name" => $admin['name']
|
||||
],
|
||||
"callbackUrl"=>$callbackUrl
|
||||
]
|
||||
];
|
||||
$token = JWT::encode($config, $office_config['token'], 'HS256'); //输出Token 默认'HS256'
|
||||
return View('',['token'=>$token,'key'=>$key,'office'=>$office_config,'mode'=>$mode,'domain'=>$domain,'url'=>$url,'title'=>$title,'callbackUrl'=>$callbackUrl,'admin'=>$admin]);
|
||||
}
|
||||
|
||||
public function officeapps($id=0,$mode='edit')
|
||||
{
|
||||
$file = Db::name('File')->where('id',$id)->find();
|
||||
if(empty($file)){
|
||||
return view('../../base/view/common/filetemplate');
|
||||
}
|
||||
$path = $file['filepath'];
|
||||
$domain = $_SERVER['HTTP_HOST'];
|
||||
$url = "//".$domain.$path;
|
||||
return View('',['url'=>$url]);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user