Compare commits

...

14 Commits
v1.4.67 ... pro

158 changed files with 2347 additions and 1953 deletions

View File

@ -2,6 +2,22 @@
All notable changes to this project will be documented in this file.
## [1.4.81]
### Features
- 优化周报、日报中已完成和未完成任务的统计规则,任务数据更准确。
- 改进消息推送逻辑,并支持点击消息直接打开相关微应用,查看内容更便捷。
- 更新内置应用商店版本,提升整体可用性和稳定性。
### Bug Fixes
- 修复任务导出时状态判断错误和状态高亮列错位的问题,导出结果更清晰。
- 修复任务统计导出时,部分无计划时间但已完成的任务会被漏掉的问题,统计更完整。
- 修复关闭应用时加载状态未及时更新的问题,应用退出过程更自然。
- 调整弹窗的最小高度设置,显示更加美观。
- 提升内嵌页面的安全设置,使用更放心。
## [1.4.67]
### Features

View File

@ -1359,11 +1359,30 @@ class ProjectController extends AbstractController
'style' => 'font-weight: bold;padding-bottom: 4px;',
];
//
$startTime = Carbon::parse($time[0])->startOfDay();
$endTime = Carbon::parse($time[1])->endOfDay();
$builder = ProjectTask::with(['taskTag'])->select(['project_tasks.*', 'project_task_users.userid as ownerid'])
->join('project_task_users', 'project_tasks.id', '=', 'project_task_users.task_id')
->where('project_task_users.owner', 1)
->whereIn('project_task_users.userid', $userid)
->betweenTime(Carbon::parse($time[0])->startOfDay(), Carbon::parse($time[1])->endOfDay(), $type);
->whereIn('project_task_users.userid', $userid);
// 按导出时间类型筛选:
// - createdTime仅按创建时间范围筛选
// - 任务时间(默认):优先使用任务计划时间筛选,但对“无计划时间”的任务,
// 若在考核期内已完成,则按完成时间 complete_at 兜底纳入导出,避免漏掉考核期内完成的任务。
if ($type === 'createdTime') {
$builder->betweenTime($startTime, $endTime, $type);
} else {
$builder->where(function ($query) use ($startTime, $endTime) {
$query->betweenTime($startTime, $endTime, 'taskTime')
->orWhere(function ($q2) use ($startTime, $endTime) {
$q2->where(function ($q3) {
$q3->whereNull('project_tasks.start_at')
->orWhereNull('project_tasks.end_at');
})->whereNotNull('project_tasks.complete_at')
->whereBetween('project_tasks.complete_at', [$startTime, $endTime]);
});
});
}
$builder->orderByDesc('project_tasks.id')->chunk(100, function ($tasks) use ($doo, &$datas) {
/** @var ProjectTask $task */
foreach ($tasks as $task) {
@ -1409,15 +1428,17 @@ class ProjectController extends AbstractController
}
$actualTime = $task->complete_at ? $totalTime : 0; // 实际完成用时
$statusText = '未完成';
// 状态判定规则:
// - flow_item_name 以 end| 开头:视为结束态,区分“已取消”和“已完成”
// - 非 end|,但 complete_at 有值:视为已完成(兼容无流程或历史数据)
if (str_starts_with($task->flow_item_name, 'end')) {
if (preg_match('/已取消|Cancelled|취소됨|キャンセル済み|Abgebrochen|Annulé|Dibatalkan|Отменено/', $task->flow_item_name)) {
$statusText = '已完成';
if (ProjectTask::isCanceledFlowName($task->flow_item_name)) {
$statusText = '已取消';
$actualTime = 0;
$testTime = 0;
$developTime = 0;
$overTime = '-';
} elseif (str_contains($task->flow_item_name, '已完成')) {
$statusText = '已完成';
}
} elseif ($task->complete_at) {
$statusText = '已完成';
@ -1426,15 +1447,15 @@ class ProjectController extends AbstractController
$datas[$task->ownerid] = [
'index' => 1,
'nickname' => Base::filterEmoji(User::userid2nickname($task->ownerid)),
'styles' => ["A1:P1" => ["font" => ["bold" => true]]],
'styles' => ["A1:Q1" => ["font" => ["bold" => true]]],
'data' => [],
];
}
$datas[$task->ownerid]['index']++;
if ($statusText === '未完成') {
$datas[$task->ownerid]['styles']["P{$datas[$task->ownerid]['index']}"] = ["font" => ["color" => ["rgb" => "ff0000"]]]; // 未完成
$datas[$task->ownerid]['styles']["Q{$datas[$task->ownerid]['index']}"] = ["font" => ["color" => ["rgb" => "ff0000"]]]; // 未完成
} elseif ($statusText === '已完成' && $task->end_at && Carbon::parse($task->complete_at)->gt($task->end_at)) {
$datas[$task->ownerid]['styles']["P{$datas[$task->ownerid]['index']}"] = ["font" => ["color" => ["rgb" => "436FF6"]]]; // 已完成超期
$datas[$task->ownerid]['styles']["Q{$datas[$task->ownerid]['index']}"] = ["font" => ["color" => ["rgb" => "436FF6"]]]; // 已完成超期
}
$datas[$task->ownerid]['data'][] = [
$task->id,
@ -1476,7 +1497,7 @@ class ProjectController extends AbstractController
foreach ($userid as $ownerid) {
$data = $datas[$ownerid] ?? [
'nickname' => Base::filterEmoji(User::userid2nickname($ownerid)),
'styles' => ["A1:P1" => ["font" => ["bold" => true]]],
'styles' => ["A1:Q1" => ["font" => ["bold" => true]]],
'data' => [],
];
$title = (count($sheets) + 1) . "." . ($data['nickname'] ?: $ownerid);

View File

@ -327,6 +327,13 @@ class ReportController extends AbstractController
$start_time->startOfWeek();
$end_time = Carbon::instance($start_time)->endOfWeek();
}
// 周报时预计算下一周期时间范围(下周)
$next_start_time = null;
$next_end_time = null;
if ($type === Report::WEEKLY) {
$next_start_time = Carbon::instance($start_time)->copy()->addWeek();
$next_end_time = Carbon::instance($end_time)->copy()->addWeek();
}
// 生成唯一标识
$sign = Report::generateSign($type, 0, Carbon::instance($start_time));
@ -362,6 +369,10 @@ class ReportController extends AbstractController
->get();
if ($complete_task->isNotEmpty()) {
foreach ($complete_task as $task) {
// 排除取消态任务:不将已取消任务计入“已完成工作”
if (ProjectTask::isCanceledFlowName($task->flow_item_name)) {
continue;
}
$complete_at = Carbon::parse($task->complete_at);
$remark = $type == Report::WEEKLY ? ('<div style="text-align:center">[' . Doo::translate('周' . ['日', '一', '二', '三', '四', '五', '六'][$complete_at->dayOfWeek]) . ']</div>') : '&nbsp;';
$completeDatas[] = [
@ -377,18 +388,7 @@ class ReportController extends AbstractController
// 未完成的任务
$unfinishedDatas = [];
$unfinished_task = ProjectTask::query()
->join("projects", "projects.id", "=", "project_tasks.project_id")
->whereNull("projects.archived_at")
->whereNull("project_tasks.complete_at")
->whereNotNull("project_tasks.start_at")
->where("project_tasks.end_at", "<", $end_time->toDateTimeString())
->whereHas("taskUser", function ($query) use ($user) {
$query->where("userid", $user->userid);
})
->select("project_tasks.*")
->orderByDesc("project_tasks.id")
->get();
$unfinished_task = ProjectTask::buildUnfinishedTaskQuery($user->userid, $start_time, $end_time, true)->get();
if ($unfinished_task->isNotEmpty()) {
foreach ($unfinished_task as $task) {
empty($task->end_at) || $end_at = Carbon::parse($task->end_at);
@ -408,8 +408,10 @@ class ReportController extends AbstractController
if ($type === Report::WEEKLY) {
$title = $user->nickname . "的周报[" . $start_time->format("m/d") . "-" . $end_time->format("m/d") . "]";
$title .= "[" . $start_time->month . "月第" . $start_time->weekOfMonth . "周]";
$unfinishedTitle = '本周未完成的工作';
} else {
$title = $user->nickname . "的日报[" . $start_time->format("Y/m/d") . "]";
$unfinishedTitle = '今日未完成的工作';
}
$title = Doo::translate($title);
@ -422,22 +424,44 @@ class ReportController extends AbstractController
])->render();
$contents[] = '<p>&nbsp;</p>';
$contents[] = '<h2>' . Doo::translate('未完成的工作') . '</h2>';
$contents[] = '<h2>' . Doo::translate($unfinishedTitle) . '</h2>';
$contents[] = view('report', [
'labels' => $labels,
'datas' => $unfinishedDatas,
])->render();
if ($type === Report::WEEKLY) {
// 下周拟定计划:基于下周时间范围预生成候选任务
$nextPlanDatas = [];
if ($next_start_time && $next_end_time) {
$next_tasks = ProjectTask::buildUnfinishedTaskQuery($user->userid, $next_start_time, $next_end_time, false)->get();
if ($next_tasks->isNotEmpty()) {
foreach ($next_tasks as $task) {
$planTime = '-';
if ($task->start_at || $task->end_at) {
$startText = $task->start_at ? Carbon::parse($task->start_at)->format('Y-m-d H:i') : '';
$endText = $task->end_at ? Carbon::parse($task->end_at)->format('Y-m-d H:i') : '';
$planTime = trim($startText . ($endText ? (' ~ ' . $endText) : ''));
}
$nextPlanDatas[] = [
'[' . $task->project->name . '] ' . $task->name,
$planTime,
$task->taskUser->where("owner", 1)->map(function ($item) {
return User::userid2nickname($item->userid);
})->implode(", "),
];
}
}
}
$contents[] = '<p>&nbsp;</p>';
$contents[] = "<h2>" . Doo::translate("下周拟定计划") . "[" . $start_time->addWeek()->format("m/d") . "-" . $end_time->addWeek()->format("m/d") . "]</h2>";
$contents[] = "<h2>" . Doo::translate("下周拟定计划") . "[" . $next_start_time->format("m/d") . "-" . $next_end_time->format("m/d") . "]</h2>";
$contents[] = view('report', [
'labels' => [
Doo::translate('计划描述'),
Doo::translate('计划时间'),
Doo::translate('负责人'),
],
'datas' => [],
'datas' => $nextPlanDatas,
])->render();
}

View File

@ -37,6 +37,7 @@ use App\Models\UserRecentItem;
use App\Models\UserTag;
use App\Models\UserTagRecognition;
use App\Models\UserAppSort;
use App\Module\Apps;
use Illuminate\Support\Facades\DB;
use App\Models\UserEmailVerification;
use App\Module\AgoraIO\AgoraTokenGenerator;
@ -1098,6 +1099,8 @@ class UsersController extends AbstractController
$upArray = [];
$upLdap = [];
$transferUser = null;
$hookAction = '';
$hookEvent = '';
switch ($type) {
case 'setadmin':
$msg = '设置成功';
@ -1179,12 +1182,16 @@ class UsersController extends AbstractController
return Base::retError('交接人已离职,请选择另一个交接人');
}
}
$hookAction = 'user_offboard';
$hookEvent = 'offboard';
break;
case 'cleardisable':
$msg = '操作成功';
$upArray['identity'] = array_diff($userInfo->identity, ['disable']);
$upArray['disable_at'] = null;
$hookAction = 'user_onboard';
$hookEvent = 'restore';
break;
case 'delete':
@ -1303,6 +1310,9 @@ class UsersController extends AbstractController
}
});
}
if ($hookAction) {
Apps::dispatchUserHook($userInfo, $hookAction, $hookEvent);
}
//
return Base::retSuccess($msg, $userInfo);
}

View File

@ -4,8 +4,10 @@ namespace App\Http\Middleware;
@error_reporting(E_ALL & ~E_NOTICE & ~E_WARNING);
use App\Module\Base;
use App\Module\Doo;
use App\Services\RequestContext;
use Cache;
use Closure;
class WebApi
@ -29,6 +31,12 @@ class WebApi
// 加载Doo类
Doo::load();
// 记录 PC 端活跃时间
$userid = Doo::userId();
if ($userid > 0 && Base::isPc()) {
Cache::put("user_pc_active:{$userid}", time(), 60);
}
// 解密请求内容
$encrypt = Doo::pgpParseStr($request->header('encrypt'));
if ($request->isMethod('post')) {

View File

@ -2010,4 +2010,64 @@ class ProjectTask extends AbstractModel
//
return $task;
}
/**
* 构建指定周期内的未完成任务查询(用于周报/日报等)
* @param int $userid
* @param Carbon $start_time
* @param Carbon $end_time
* @param bool $includeUpdatedForNoPlan 无计划时间任务是否按周期内更新时间一并纳入
* @return \Illuminate\Database\Eloquent\Builder
*/
public static function buildUnfinishedTaskQuery(int $userid, Carbon $start_time, Carbon $end_time, bool $includeUpdatedForNoPlan = true)
{
return self::query()
->join("projects", "projects.id", "=", "project_tasks.project_id")
->whereNull("projects.archived_at")
->whereNull("project_tasks.complete_at")
->whereHas("taskUser", function ($query) use ($userid) {
$query->where("userid", $userid);
})
->where(function ($query) use ($start_time, $end_time, $includeUpdatedForNoPlan) {
// 1) 有计划时间:计划时间与给定周期 [start_time, end_time] 有交集
$query->where(function ($q1) use ($start_time, $end_time) {
$q1->whereNotNull('project_tasks.start_at')
->whereNotNull('project_tasks.end_at')
->where(function ($q2) use ($start_time, $end_time) {
$q2->whereBetween('project_tasks.start_at', [$start_time->toDateTimeString(), $end_time->toDateTimeString()])
->orWhereBetween('project_tasks.end_at', [$start_time->toDateTimeString(), $end_time->toDateTimeString()])
->orWhere(function ($q3) use ($start_time, $end_time) {
$q3->where('project_tasks.start_at', '<=', $start_time->toDateTimeString())
->where('project_tasks.end_at', '>=', $end_time->toDateTimeString());
});
});
});
// 2) 无计划时间
$query->orWhere(function ($q1) use ($start_time, $end_time, $includeUpdatedForNoPlan) {
$q1->whereNull('project_tasks.start_at')
->whereNull('project_tasks.end_at')
->where(function ($q2) use ($start_time, $end_time, $includeUpdatedForNoPlan) {
$q2->whereBetween('project_tasks.created_at', [$start_time->toDateTimeString(), $end_time->toDateTimeString()]);
if ($includeUpdatedForNoPlan) {
$q2->orWhereBetween('project_tasks.updated_at', [$start_time->toDateTimeString(), $end_time->toDateTimeString()]);
}
});
});
})
->select("project_tasks.*")
->orderByDesc("project_tasks.id");
}
/**
* 判断工作流名称是否为取消态(多语言)
* @param string|null $flowItemName
* @return bool
*/
public static function isCanceledFlowName(?string $flowItemName): bool
{
if (empty($flowItemName)) {
return false;
}
return preg_match('/已取消|Cancelled|취소됨|キャンセル済み|Abgebrochen|Annulé|Dibatalkan|Отменено/', $flowItemName) === 1;
}
}

View File

@ -5,6 +5,7 @@ namespace App\Models;
use App\Exceptions\ApiException;
use App\Module\Base;
use App\Module\Doo;
use App\Module\Apps;
use App\Module\Table\OnlineData;
use App\Services\RequestContext;
use Cache;
@ -313,7 +314,7 @@ class User extends AbstractModel
*/
public function deleteUser($reason)
{
return AbstractModel::transaction(function () use ($reason) {
$ret = AbstractModel::transaction(function () use ($reason) {
// 删除原因
$userDelete = UserDelete::createInstance([
'operator' => User::userid(),
@ -334,6 +335,10 @@ class User extends AbstractModel
//
return $this->delete();
});
if ($ret) {
Apps::dispatchUserHook($this, 'user_offboard', 'delete');
}
return $ret;
}
/**
@ -407,7 +412,9 @@ class User extends AbstractModel
$dialog?->joinGroup($user->userid, 0);
}
}
return $user->find($user->userid);
$createdUser = $user->find($user->userid);
Apps::dispatchUserHook($createdUser, 'user_onboard', 'onboard');
return $createdUser;
}
/**

View File

@ -10,6 +10,7 @@ namespace App\Models;
* @property string $key
* @property string|null $fd
* @property string|null $path
* @property string|null $platform 平台类型android, ios, win, mac, web
* @property int|null $userid
* @property \Illuminate\Support\Carbon|null $created_at
* @property \Illuminate\Support\Carbon|null $updated_at
@ -27,6 +28,7 @@ namespace App\Models;
* @method static \Illuminate\Database\Eloquent\Builder|WebSocket whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocket whereKey($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocket wherePath($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocket wherePlatform($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocket whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|WebSocket whereUserid($value)
* @mixin \Eloquent

View File

@ -3,8 +3,11 @@
namespace App\Module;
use App\Exceptions\ApiException;
use App\Models\User;
use App\Services\RequestContext;
use Symfony\Component\Yaml\Yaml;
use App\Module\Base;
use App\Module\Ihttp;
class Apps
{
@ -57,4 +60,43 @@ class Apps
throw new ApiException("应用「{$name}」未安装", [], 0, false);
}
}
/**
* Dispatch user lifecycle hook to appstore (onboard/offboard/delete/restore).
*/
public static function dispatchUserHook(User $user, string $action, string $eventType = ''): void
{
$appKey = env('APP_KEY', '');
if (empty($appKey)) {
info('[appstore_hook] APP_KEY is empty, skip dispatchUserHook');
return;
}
$url = sprintf('http://appstore/api/v1/internal/hooks/%s', $action);
$payload = [
'user' => [
'id' => (string) $user->userid,
'email' => (string) $user->email,
'name' => (string) $user->nickname,
'role' => in_array('admin', $user->identity ?? []) ? 'admin' : 'normal',
],
];
if ($eventType !== '') {
$payload['event_type'] = $eventType;
}
$headers = [
'Content-Type' => 'application/json',
'Authorization' => 'Bearer ' . md5($appKey),
];
$resp = Ihttp::ihttp_request($url, json_encode($payload, JSON_UNESCAPED_UNICODE), $headers, 5);
if (Base::isError($resp)) {
info('[appstore_hook] dispatch fail', [
'url' => $url,
'payload' => $payload,
'error' => $resp,
]);
}
}
}

View File

@ -1827,6 +1827,19 @@ class Base
return $platform;
}
/**
* 是否是PC端包括 Electron 桌面端和 Web 浏览器)
* @param string|null $platform 平台类型,不传则自动获取
* @return bool
*/
public static function isPc($platform = null)
{
if ($platform === null) {
$platform = self::platform();
}
return in_array($platform, ['win', 'mac', 'web']);
}
/**
* 是否是App移动端
* @return bool

View File

@ -64,7 +64,7 @@ class WebSocketService implements WebSocketHandlerInterface
'ud' => $userid,
],
]));
$this->userOn($fd, $userid);
$this->userOn($fd, $userid, $get['platform']);
} else {
// 用户不存在
$server->push($fd, Base::array2json([
@ -105,6 +105,11 @@ class WebSocketService implements WebSocketHandlerInterface
// 握手信息
case 'handshake':
// 更新 PC 端活跃时间
$row = WebSocket::whereFd($frame->fd)->first();
if ($row && Base::isPc($row->platform)) {
Cache::put("user_pc_active:{$row->userid}", time(), 60);
}
break;
// 访问状态
@ -166,17 +171,27 @@ class WebSocketService implements WebSocketHandlerInterface
* 用户上线
* @param $fd
* @param $userid
* @param $platform
* @return void
*/
private function userOn($fd, $userid)
private function userOn($fd, $userid, $platform = 'web')
{
// 校验平台类型
if (!in_array($platform, ['android', 'ios', 'win', 'mac', 'web'])) {
$platform = 'web';
}
WebSocket::updateInsert([
'key' => md5($fd . '@' . $userid)
], [
'fd' => $fd,
'userid' => $userid,
'platform' => $platform,
]);
OnlineData::online($userid);
// PC 端上线时更新活跃时间
if (Base::isPc($platform)) {
Cache::put("user_pc_active:{$userid}", time(), 60);
}
}
/**

View File

@ -2,7 +2,10 @@
namespace App\Tasks;
use App\Models\UmengAlias;
use App\Models\WebSocketDialogMsgRead;
use App\Module\Base;
use Cache;
use Hhxsv5\LaravelS\Swoole\Task\Task;
/**
* 推送友盟消息
@ -11,6 +14,7 @@ class PushUmengMsg extends AbstractTask
{
protected $userid = 0;
protected $array = [];
protected $endPush = []; // 需要在 end() 方法中处理的延迟推送列表
/**
* @param array|int $userid
@ -32,11 +36,68 @@ class PushUmengMsg extends AbstractTask
if ($setting['push'] !== 'open') {
return;
}
UmengAlias::pushMsgToUserid($this->userid, $this->array);
// 消息ID
$msgId = isset($this->array['id']) ? intval($this->array['id']) : 0;
// 处理用户列表
$userids = is_array($this->userid) ? $this->userid : [$this->userid];
$directPushUsers = []; // 直接推送的用户
$delayedPushUsers = []; // 需要延迟推送的用户
foreach ($userids as $uid) {
if ($this->getDelay() > 0) {
// 已经延迟过,检查消息是否已读
if ($msgId > 0) {
$isRead = WebSocketDialogMsgRead::whereMsgId($msgId)
->whereUserid($uid)
->whereNotNull('read_at')
->exists();
if ($isRead) {
// 已读,跳过推送
continue;
}
}
// 未读或无法判断,执行推送
$directPushUsers[] = $uid;
} else {
// 首次推送,检查 PC 端是否活跃
$lastActive = Cache::get("user_pc_active:{$uid}");
$isPcActive = $lastActive && (time() - $lastActive) < 60;
if ($isPcActive) {
// PC 端活跃,需要延迟推送
$delayedPushUsers[] = $uid;
} else {
// PC 端不活跃,直接推送
$directPushUsers[] = $uid;
}
}
}
// 直接推送
if ($directPushUsers) {
UmengAlias::pushMsgToUserid($directPushUsers, $this->array);
}
// 创建延迟推送任务
if ($delayedPushUsers) {
$this->endPush[] = [
'userid' => $delayedPushUsers,
'array' => $this->array,
];
}
}
public function end()
{
if (empty($this->endPush)) {
return;
}
foreach ($this->endPush as $item) {
$task = new PushUmengMsg($item['userid'], $item['array']);
$task->delay(10);
Task::deliver($task);
}
}
}

View File

@ -211,6 +211,10 @@ class WebSocketDialogMsgTask extends AbstractTask
'description' => "MID:{$msg->id}",
'seconds' => 3600,
'badge' => 1,
'extra' => [
'dialog_id' => $msg->dialog_id,
'msg_id' => $msg->id,
]
];
$this->endArray[] = new PushUmengMsg($uids->toArray(), $umengMsg);
}

View File

@ -0,0 +1,33 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
class AddWebSocketsPlatform extends Migration
{
/**
* Run the migrations.
*
* @return void
*/
public function up()
{
Schema::table('web_sockets', function (Blueprint $table) {
$table->string('platform', 20)->nullable()->default('')->after('path')->comment('平台类型android, ios, win, mac, web');
});
}
/**
* Reverse the migrations.
*
* @return void
*/
public function down()
{
Schema::table('web_sockets', function (Blueprint $table) {
$table->dropColumn('platform');
});
}
}

View File

@ -96,7 +96,7 @@ services:
appstore:
container_name: "dootask-appstore-${APP_ID}"
privileged: true
image: "dootask/appstore:0.3.3"
image: "dootask/appstore:0.3.4"
volumes:
- shared_data:/usr/share/dootask
- ${HOST_DOCKER_SOCK:-/var/run/docker.sock}:/var/run/docker.sock

12
electron/electron.js vendored
View File

@ -497,6 +497,14 @@ function createChildWindow(args) {
const wind = childWindow.find(item => item.name == name);
let browser = wind ? wind.browser : null;
let isPreload = false;
// 清理已销毁但仍被引用的窗口,避免对失效对象调用方法
if (browser && browser.isDestroyed && browser.isDestroyed()) {
const index = childWindow.findIndex(item => item.name == name);
if (index > -1) {
childWindow.splice(index, 1);
}
browser = null;
}
if (browser) {
browser.focus();
if (args.force === false) {
@ -533,7 +541,7 @@ function createChildWindow(args) {
options.parent = mainWindow
}
if (preloadWindow && Object.keys(webPreferences).length === 0) {
if (preloadWindow && !preloadWindow.isDestroyed?.() && Object.keys(webPreferences).length === 0) {
// 使用预加载窗口
browser = preloadWindow;
preloadWindow = null;
@ -579,7 +587,7 @@ function createChildWindow(args) {
})
browser.on('closed', () => {
const index = childWindow.findIndex(item => item.name == name);
const index = childWindow.findIndex(item => item.browser === browser);
if (index > -1) {
childWindow.splice(index, 1)
}

View File

@ -942,3 +942,5 @@ URL格式不正确
选择模型
请先配置 AI 助手
请先在「AI 助手」设置中配置 OpenAI
今日未完成的工作
本周未完成的工作

View File

@ -32542,5 +32542,29 @@
"fr": "Seuls les administrateurs peuvent utiliser cette fonctionnalité",
"id": "Fitur ini hanya dapat digunakan oleh administrator",
"ru": "Эту функцию могут использовать только администраторы"
},
{
"key": "今日未完成的工作",
"zh": "",
"zh-CHT": "今日未完成的工作",
"en": "Today's incomplete tasks",
"ko": "오늘 미완료된 작업",
"ja": "本日未完了のタスク",
"de": "Heutige unerledigte Aufgaben",
"fr": "Tâches inachevées daujourdhui",
"id": "Tugas yang belum selesai hari ini",
"ru": "Незавершённые задачи за сегодня"
},
{
"key": "本周未完成的工作",
"zh": "",
"zh-CHT": "本週未完成的工作",
"en": "This week's incomplete tasks",
"ko": "이번 주 미완료된 작업",
"ja": "今週未完了のタスク",
"de": "In dieser Woche unerledigte Aufgaben",
"fr": "Tâches inachevées de cette semaine",
"id": "Tugas yang belum selesai minggu ini",
"ru": "Незавершённые задачи за эту неделю"
}
]

View File

@ -1,7 +1,7 @@
{
"name": "DooTask",
"version": "1.4.67",
"codeVerson": 219,
"version": "1.4.81",
"codeVerson": 220,
"description": "DooTask is task management system.",
"scripts": {
"start": "./cmd dev",

1
public/js/build/404.342bbc36.js vendored Normal file
View File

@ -0,0 +1 @@
import{n as m}from"./app.c5553f1a.js";import"./jquery.1eb1c821.js";import"./@babel.ad55b12f.js";import"./dayjs.d2ace94a.js";import"./localforage.659d76c1.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.cbbfb885.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.561c583d.js";import"./vue.baba6da0.js";import"./vuex.cc7cb26e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.554fcc10.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.978f208d.js";import"./parchment.d5c5924e.js";import"./quill-delta.4f1e4697.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.8fb065bb.js";import"./lodash.isequal.84238944.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.2a6582e4.js";import"./view-design-hi.85d727e5.js";import"./html-to-md.96d5de37.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.89894d1b.js";import"./clipboard.6caea48c.js";import"./vuedraggable.e8809463.js";import"./sortablejs.b1e23af3.js";import"./vue-resize-observer.df5b985e.js";import"./element-sea.9d03b085.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.18409ee0.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.e1b191c9.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var p=function(){var t=this,r=t.$createElement;return t._self._c,t._m(0)},e=[function(){var t=this,r=t.$createElement,i=t._self._c||r;return i("div",{staticClass:"page-404"},[i("div",{staticClass:"flex-center position-ref full-height"},[i("div",{staticClass:"code"},[t._v("404")]),i("div",{staticClass:"message"},[t._v("Not Found")])])])}];const s={},o={};var _=m(s,p,e,!1,n,"7d7154a8",null,null);function n(t){for(let r in o)this[r]=o[r]}var rt=function(){return _.exports}();export{rt as default};

View File

@ -1 +0,0 @@
import{n as m}from"./app.1c2a0fa1.js";import"./jquery.ce39e51d.js";import"./@babel.f9bcab46.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./vuex.cc7cb26e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var p=function(){var t=this,r=t.$createElement;return t._self._c,t._m(0)},e=[function(){var t=this,r=t.$createElement,i=t._self._c||r;return i("div",{staticClass:"page-404"},[i("div",{staticClass:"flex-center position-ref full-height"},[i("div",{staticClass:"code"},[t._v("404")]),i("div",{staticClass:"message"},[t._v("Not Found")])])])}];const s={},o={};var _=m(s,p,e,!1,n,"7d7154a8",null,null);function n(t){for(let r in o)this[r]=o[r]}var rt=function(){return _.exports}();export{rt as default};

1
public/js/build/@babel.ad55b12f.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

15
public/js/build/@micro-zoe.cbc3b3ff.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

263
public/js/build/@traptitech.561c583d.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{m as s}from"./vuex.cc7cb26e.js";import{I as m}from"./IFrame.b5bcaf81.js";import{n as p,l as o}from"./app.1c2a0fa1.js";import"./jquery.ce39e51d.js";import"./@babel.f9bcab46.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var l=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"drawio-content"},[i("IFrame",{ref:"frame",staticClass:"drawio-iframe",attrs:{src:t.url},on:{"on-message":t.onMessage}}),t.loadIng?i("div",{staticClass:"drawio-loading"},[i("Loading")],1):t._e()],1)},d=[];const u={name:"Drawio",components:{IFrame:m},props:{value:{type:Object,default:function(){return{}}},title:{type:String,default:""},readOnly:{type:Boolean,default:!1}},data(){return{loadIng:!0,url:null,bakData:""}},created(){let t=o;switch(o){case"zh-CHT":t="zh-tw";break}let e=this.readOnly?1:0,i=this.readOnly?0:1,n=this.themeName==="dark"?"dark":"kennedy",r=`?title=${this.title?encodeURIComponent(this.title):""}&chrome=${i}&lightbox=${e}&ui=${n}&lang=${t}&offline=1&pwa=0&embed=1&noLangIcon=1&noExitBtn=1&noSaveBtn=1&saveAndExit=0&spin=1&proto=json`;this.$Electron?this.url=$A.originUrl(`drawio/webapp/index.html${r}`):this.url=$A.mainUrl(`drawio/webapp/${r}`)},mounted(){window.addEventListener("message",this.handleMessage)},beforeDestroy(){window.removeEventListener("message",this.handleMessage)},watch:{value:{handler(t){this.bakData!=$A.jsonStringify(t)&&(this.bakData=$A.jsonStringify(t),this.updateContent())},deep:!0}},computed:{...s(["themeName"])},methods:{formatZoom(t){return t+"%"},updateContent(){this.$refs.frame.postMessage(JSON.stringify({action:"load",autosave:1,xml:this.value.xml}))},onMessage(t){switch(t.event){case"init":this.loadIng=!1,this.updateContent();break;case"load":typeof this.value.xml=="undefined"&&this.$refs.frame.postMessage(JSON.stringify({action:"template"}));break;case"autosave":const e={xml:t.xml};this.bakData=$A.jsonStringify(e),this.$emit("input",e);break;case"save":this.$emit("saveData");break}}}},a={};var c=p(u,l,d,!1,h,"39021859",null,null);function h(t){for(let e in a)this[e]=a[e]}var mt=function(){return c.exports}();export{mt as default};
import{m as s}from"./vuex.cc7cb26e.js";import{I as m}from"./IFrame.bee7d822.js";import{n as p,l as o}from"./app.c5553f1a.js";import"./jquery.1eb1c821.js";import"./@babel.ad55b12f.js";import"./dayjs.d2ace94a.js";import"./localforage.659d76c1.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.cbbfb885.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.561c583d.js";import"./vue.baba6da0.js";import"./openpgp_hi.15f91b1d.js";import"./axios.554fcc10.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.978f208d.js";import"./parchment.d5c5924e.js";import"./quill-delta.4f1e4697.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.8fb065bb.js";import"./lodash.isequal.84238944.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.2a6582e4.js";import"./view-design-hi.85d727e5.js";import"./html-to-md.96d5de37.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.89894d1b.js";import"./clipboard.6caea48c.js";import"./vuedraggable.e8809463.js";import"./sortablejs.b1e23af3.js";import"./vue-resize-observer.df5b985e.js";import"./element-sea.9d03b085.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.18409ee0.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.e1b191c9.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var l=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"drawio-content"},[i("IFrame",{ref:"frame",staticClass:"drawio-iframe",attrs:{src:t.url},on:{"on-message":t.onMessage}}),t.loadIng?i("div",{staticClass:"drawio-loading"},[i("Loading")],1):t._e()],1)},d=[];const u={name:"Drawio",components:{IFrame:m},props:{value:{type:Object,default:function(){return{}}},title:{type:String,default:""},readOnly:{type:Boolean,default:!1}},data(){return{loadIng:!0,url:null,bakData:""}},created(){let t=o;switch(o){case"zh-CHT":t="zh-tw";break}let e=this.readOnly?1:0,i=this.readOnly?0:1,n=this.themeName==="dark"?"dark":"kennedy",r=`?title=${this.title?encodeURIComponent(this.title):""}&chrome=${i}&lightbox=${e}&ui=${n}&lang=${t}&offline=1&pwa=0&embed=1&noLangIcon=1&noExitBtn=1&noSaveBtn=1&saveAndExit=0&spin=1&proto=json`;this.$Electron?this.url=$A.originUrl(`drawio/webapp/index.html${r}`):this.url=$A.mainUrl(`drawio/webapp/${r}`)},mounted(){window.addEventListener("message",this.handleMessage)},beforeDestroy(){window.removeEventListener("message",this.handleMessage)},watch:{value:{handler(t){this.bakData!=$A.jsonStringify(t)&&(this.bakData=$A.jsonStringify(t),this.updateContent())},deep:!0}},computed:{...s(["themeName"])},methods:{formatZoom(t){return t+"%"},updateContent(){this.$refs.frame.postMessage(JSON.stringify({action:"load",autosave:1,xml:this.value.xml}))},onMessage(t){switch(t.event){case"init":this.loadIng=!1,this.updateContent();break;case"load":typeof this.value.xml=="undefined"&&this.$refs.frame.postMessage(JSON.stringify({action:"template"}));break;case"autosave":const e={xml:t.xml};this.bakData=$A.jsonStringify(e),this.$emit("input",e);break;case"save":this.$emit("saveData");break}}}},a={};var c=p(u,l,d,!1,h,"39021859",null,null);function h(t){for(let e in a)this[e]=a[e]}var mt=function(){return c.exports}();export{mt as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{n}from"./app.1c2a0fa1.js";var i=function(){var e=this,s=e.$createElement,r=e._self._c||s;return r("iframe",{directives:[{name:"show",rawName:"v-show",value:e.src,expression:"src"}],ref:"iframe",attrs:{src:e.src}})},a=[];const o={name:"IFrame",props:{src:{type:String,default:""}},mounted(){this.$refs.iframe.addEventListener("load",this.handleLoad),window.addEventListener("message",this.handleMessage)},beforeDestroy(){this.$refs.iframe.removeEventListener("load",this.handleLoad),window.removeEventListener("message",this.handleMessage)},methods:{handleLoad(){this.$emit("on-load")},handleMessage({data:e,source:s}){var r;s===((r=this.$refs.iframe)==null?void 0:r.contentWindow)&&(e=$A.jsonParse(e),e.source==="fileView"&&e.action==="picture"&&this.$store.dispatch("previewImage",{index:e.params.index,list:e.params.array}),this.$emit("on-message",e))},postMessage(e,s="*"){this.$refs.iframe&&this.$refs.iframe.contentWindow.postMessage(e,s)}}},t={};var m=n(o,i,a,!1,c,null,null,null);function c(e){for(let s in t)this[s]=t[s]}var l=function(){return m.exports}();export{l as I};
import{n}from"./app.c5553f1a.js";var i=function(){var e=this,s=e.$createElement,r=e._self._c||s;return r("iframe",{directives:[{name:"show",rawName:"v-show",value:e.src,expression:"src"}],ref:"iframe",attrs:{src:e.src}})},a=[];const o={name:"IFrame",props:{src:{type:String,default:""}},mounted(){this.$refs.iframe.addEventListener("load",this.handleLoad),window.addEventListener("message",this.handleMessage)},beforeDestroy(){this.$refs.iframe.removeEventListener("load",this.handleLoad),window.removeEventListener("message",this.handleMessage)},methods:{handleLoad(){this.$emit("on-load")},handleMessage({data:e,source:s}){var r;s===((r=this.$refs.iframe)==null?void 0:r.contentWindow)&&(e=$A.jsonParse(e),e.source==="fileView"&&e.action==="picture"&&this.$store.dispatch("previewImage",{index:e.params.index,list:e.params.array}),this.$emit("on-message",e))},postMessage(e,s="*"){this.$refs.iframe&&this.$refs.iframe.contentWindow.postMessage(e,s)}}},t={};var m=n(o,i,a,!1,c,null,null,null);function c(e){for(let s in t)this[s]=t[s]}var l=function(){return m.exports}();export{l as I};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{n as r}from"./app.1c2a0fa1.js";var a=function(){var t=this,n=t.$createElement,e=t._self._c||n;return t.windowTouch?e("div",[e("Button",{attrs:{loading:t.loading,type:"primary",icon:"ios-search"},on:{click:t.onSearch}},[t._v(t._s(t.$L("\u641C\u7D22")))]),t.filtering?e("Button",{attrs:{type:"text"},on:{click:t.onCancelFilter}},[t._v(t._s(t.$L("\u53D6\u6D88\u7B5B\u9009")))]):e("Button",{attrs:{loading:t.loading,type:"text",icon:"md-refresh"},on:{click:t.onRefresh}},[t._v(t._s(t.$L("\u5237\u65B0")))])],1):e("Tooltip",{attrs:{theme:"light",placement:t.placement,"transfer-class-name":"search-button-clear",transfer:""}},[e("Button",{attrs:{loading:t.loading,type:"primary",icon:"ios-search"},on:{click:t.onSearch}},[t._v(t._s(t.$L("\u641C\u7D22")))]),e("div",{attrs:{slot:"content"},slot:"content"},[t.filtering?e("Button",{attrs:{type:"text"},on:{click:t.onCancelFilter}},[t._v(t._s(t.$L("\u53D6\u6D88\u7B5B\u9009")))]):e("Button",{attrs:{loading:t.loading,type:"text"},on:{click:t.onRefresh}},[t._v(t._s(t.$L("\u5237\u65B0")))])],1)],1)},i=[];const l={name:"SearchButton",props:{loading:{type:Boolean,default:!1},filtering:{type:Boolean,default:!1},placement:{type:String,default:"bottom"}},methods:{onSearch(){this.$emit("search")},onRefresh(){this.$emit("refresh")},onCancelFilter(){this.$emit("cancelFilter")}}},o={};var s=r(l,a,i,!1,c,null,null,null);function c(t){for(let n in o)this[n]=o[n]}var h=function(){return s.exports}();export{h as S};
import{n as r}from"./app.c5553f1a.js";var a=function(){var t=this,n=t.$createElement,e=t._self._c||n;return t.windowTouch?e("div",[e("Button",{attrs:{loading:t.loading,type:"primary",icon:"ios-search"},on:{click:t.onSearch}},[t._v(t._s(t.$L("\u641C\u7D22")))]),t.filtering?e("Button",{attrs:{type:"text"},on:{click:t.onCancelFilter}},[t._v(t._s(t.$L("\u53D6\u6D88\u7B5B\u9009")))]):e("Button",{attrs:{loading:t.loading,type:"text",icon:"md-refresh"},on:{click:t.onRefresh}},[t._v(t._s(t.$L("\u5237\u65B0")))])],1):e("Tooltip",{attrs:{theme:"light",placement:t.placement,"transfer-class-name":"search-button-clear",transfer:""}},[e("Button",{attrs:{loading:t.loading,type:"primary",icon:"ios-search"},on:{click:t.onSearch}},[t._v(t._s(t.$L("\u641C\u7D22")))]),e("div",{attrs:{slot:"content"},slot:"content"},[t.filtering?e("Button",{attrs:{type:"text"},on:{click:t.onCancelFilter}},[t._v(t._s(t.$L("\u53D6\u6D88\u7B5B\u9009")))]):e("Button",{attrs:{loading:t.loading,type:"text"},on:{click:t.onRefresh}},[t._v(t._s(t.$L("\u5237\u65B0")))])],1)],1)},i=[];const l={name:"SearchButton",props:{loading:{type:Boolean,default:!1},filtering:{type:Boolean,default:!1},placement:{type:String,default:"bottom"}},methods:{onSearch(){this.$emit("search")},onRefresh(){this.$emit("refresh")},onCancelFilter(){this.$emit("cancelFilter")}}},o={};var s=r(l,a,i,!1,c,null,null,null);function c(t){for(let n in o)this[n]=o[n]}var h=function(){return s.exports}();export{h as S};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

7
public/js/build/app.b7699767.css vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{m}from"./vuex.cc7cb26e.js";import{M as e}from"./index.73974a50.js";import{n as a}from"./app.1c2a0fa1.js";import"./vue.fd9b772e.js";import"./@babel.f9bcab46.js";import"./view-design-hi.75f80746.js";import"./@micro-zoe.f728a9f4.js";import"./DialogWrapper.29acfe4c.js";import"./index.f74aed09.js";import"./vue-virtual-scroll-list-hi.15e3c1fb.js";import"./lodash.18c5398d.js";import"./ImgUpload.6b64df7a.js";import"./webhook.378987f3.js";import"./jquery.ce39e51d.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./openpgp_hi.15f91b1d.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var n=function(){var t=this,o=t.$createElement,r=t._self._c||o;return r("MicroApps",{ref:"app",attrs:{"window-type":"popout"}})},s=[];const u={components:{MicroApps:e},computed:{...m(["userIsAdmin"])},async mounted(){const{name:t}=this.$route.params;if(!t){$A.modalError("\u5E94\u7528\u4E0D\u5B58\u5728");return}if(t==="iframe-test"){if(!this.userIsAdmin){$A.modalError("\u4EC5\u7BA1\u7406\u5458\u53EF\u4F7F\u7528\u6B64\u529F\u80FD");return}let{url:r}=this.$route.query;if(!r){if(r=await this.promptIframeUrl(),!r)return;this.$router.replace({path:this.$route.path,query:{...this.$route.query,url:r}}).catch(()=>{})}await this.$refs.app.onOpen({id:"iframe-test",name:"iframe-test",url:r,url_type:"iframe",transparent:!0,keep_alive:!1});return}const o=(await $A.IDBArray("cacheMicroApps")).reverse().find(r=>r.name===t);if(!o){$A.modalError("\u5E94\u7528\u4E0D\u5B58\u5728");return}await this.$refs.app.onOpen(o)},methods:{promptIframeUrl(){return new Promise((t,o)=>{$A.modalInput({title:this.$L("\u8BF7\u8F93\u5165 URL"),placeholder:"https://example.com",onOk:r=>{const i=(r||"").trim();if(!i)return this.$L("URL\u4E0D\u80FD\u4E3A\u7A7A");t(i)},onCancel:()=>o()})}).catch(()=>null)}}},p={};var l=a(u,n,s,!1,c,null,null,null);function c(t){for(let o in p)this[o]=p[o]}var cr=function(){return l.exports}();export{cr as default};
import{m}from"./vuex.cc7cb26e.js";import{M as e}from"./index.ac3c5851.js";import{n as a}from"./app.c5553f1a.js";import"./vue.baba6da0.js";import"./@babel.ad55b12f.js";import"./view-design-hi.85d727e5.js";import"./@micro-zoe.cbc3b3ff.js";import"./DialogWrapper.7ff331bb.js";import"./index.805d9e35.js";import"./vue-virtual-scroll-list-hi.aadd1a98.js";import"./lodash.2fa8f497.js";import"./ImgUpload.46aa97c0.js";import"./webhook.378987f3.js";import"./jquery.1eb1c821.js";import"./dayjs.d2ace94a.js";import"./localforage.659d76c1.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.cbbfb885.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.561c583d.js";import"./openpgp_hi.15f91b1d.js";import"./axios.554fcc10.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.978f208d.js";import"./parchment.d5c5924e.js";import"./quill-delta.4f1e4697.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.8fb065bb.js";import"./lodash.isequal.84238944.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.2a6582e4.js";import"./html-to-md.96d5de37.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.89894d1b.js";import"./clipboard.6caea48c.js";import"./vuedraggable.e8809463.js";import"./sortablejs.b1e23af3.js";import"./vue-resize-observer.df5b985e.js";import"./element-sea.9d03b085.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.18409ee0.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.e1b191c9.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var n=function(){var t=this,o=t.$createElement,r=t._self._c||o;return r("MicroApps",{ref:"app",attrs:{"window-type":"popout"}})},s=[];const u={components:{MicroApps:e},computed:{...m(["userIsAdmin"])},async mounted(){const{name:t}=this.$route.params;if(!t){$A.modalError("\u5E94\u7528\u4E0D\u5B58\u5728");return}if(t==="iframe-test"){if(!this.userIsAdmin){$A.modalError("\u4EC5\u7BA1\u7406\u5458\u53EF\u4F7F\u7528\u6B64\u529F\u80FD");return}let{url:r}=this.$route.query;if(!r){if(r=await this.promptIframeUrl(),!r)return;this.$router.replace({path:this.$route.path,query:{...this.$route.query,url:r}}).catch(()=>{})}await this.$refs.app.onOpen({id:"iframe-test",name:"iframe-test",url:r,url_type:"iframe",transparent:!0,keep_alive:!1});return}const o=(await $A.IDBArray("cacheMicroApps")).reverse().find(r=>r.name===t);if(!o){$A.modalError("\u5E94\u7528\u4E0D\u5B58\u5728");return}await this.$refs.app.onOpen(o)},methods:{promptIframeUrl(){return new Promise((t,o)=>{$A.modalInput({title:this.$L("\u8BF7\u8F93\u5165 URL"),placeholder:"https://example.com",onOk:r=>{const i=(r||"").trim();if(!i)return this.$L("URL\u4E0D\u80FD\u4E3A\u7A7A");t(i)},onCancel:()=>o()})}).catch(()=>null)}}},p={};var l=a(u,n,s,!1,c,null,null,null);function c(t){for(let o in p)this[o]=p[o]}var cr=function(){return l.exports}();export{cr as default};

File diff suppressed because one or more lines are too long

6
public/js/build/axios.554fcc10.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import{c as M}from"./@babel.f9bcab46.js";var P={exports:{}};/*!
import{c as M}from"./@babel.ad55b12f.js";var P={exports:{}};/*!
* clipboard.js v2.0.11
* https://clipboardjs.com/
*

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
public/js/build/dayjs.d2ace94a.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{n as l}from"./app.1c2a0fa1.js";import"./jquery.ce39e51d.js";import"./@babel.f9bcab46.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./vuex.cc7cb26e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var m=function(){var t=this,r=t.$createElement,i=t._self._c||r;return i("div",{staticClass:"setting-device"},[i("ul",[t.loadIng>0&&t.devices.length===0?i("li",{staticClass:"loading"},[i("Loading")],1):t._l(t.devices,function(e){return i("li",{key:e.id},[i("div",{staticClass:"icon"},[i("span",{class:t.getIcon(e.detail)})]),i("div",{staticClass:"info"},[i("div",{staticClass:"title"},[i("span",{staticClass:"name"},[t._v(t._s(t.getName(e.detail)))]),i("span",{staticClass:"device"},[t._v(t._s(t.getOs(e.detail)))])]),i("div",{staticClass:"time"},[i("EPopover",{attrs:{placement:"bottom-start",trigger:"click"}},[i("div",{staticClass:"setting-device-popover"},[i("p",[t._v(t._s(t.$L("\u767B\u5F55\u65F6\u95F4"))+": "+t._s(e.created_at))]),i("p",[t._v(t._s(t.$L("\u66F4\u65B0\u65F6\u95F4"))+": "+t._s(e.updated_at))]),i("p",[t._v(t._s(t.$L("\u8FC7\u671F\u65F6\u95F4"))+": "+t._s(e.expired_at))])]),i("span",{attrs:{slot:"reference"},slot:"reference"},[t._v(t._s(e.updated_at))])])],1)]),i("div",[e.is_current?i("span",{staticClass:"current"},[t._v(t._s(t.$L("\u5F53\u524D\u8BBE\u5907")))]):i("Button",{on:{click:function(o){return t.onLogout(e)}}},[t._v(t._s(t.$L("\u9000\u51FA\u767B\u5F55")))])],1)])})],2)])},p=[];const c={name:"SettingDevice",data(){return{loadIng:0,devices:[]}},mounted(){this.getDeviceList()},methods:{getDeviceList(){this.loadIng++,this.$store.dispatch("call",{url:"users/device/list"}).then(({data:t})=>{this.devices=t.list,typeof this.$parent.updateDeviceCount=="function"&&this.$parent.updateDeviceCount(this.devices.length)}).catch(({msg:t})=>{$A.modalError(t),this.devices=[]}).finally(()=>{this.loadIng--})},getIcon({app_type:t,app_name:r}){return/ios/i.test(t)?/ipad/i.test(r)?"tablet":/iphone/i.test(r)?"phone":"apple":/android/i.test(t)?/(tablet|phablet)/i.test(r)?"tablet":"android":/mac/i.test(t)?"macos":/win/i.test(t)?"window":"web"},getName({app_brand:t,app_model:r,device_name:i,app_type:e,app_name:o,browser:a}){const s=[];if(/web/i.test(e))s.push(a,this.$L("\u6D4F\u89C8\u5668"));else{if(i)return i;t?s.push(t,r):s.push(o||e,this.$L("\u5BA2\u6237\u7AEF"))}return s.join(" ")},getOs({app_os:t,os:r}){return t||r},onLogout(t){$A.modalConfirm({title:"\u9000\u51FA\u767B\u5F55",content:"\u662F\u5426\u5728\u8BE5\u8BBE\u5907\u4E0A\u9000\u51FA\u767B\u5F55\uFF1F",loading:!0,onOk:()=>new Promise((r,i)=>{this.$store.dispatch("call",{url:"users/device/logout",data:{id:t.id}}).then(({msg:e})=>{r(e),this.getDeviceList()}).catch(({msg:e})=>{i(e)})})})}}},n={};var u=l(c,m,p,!1,d,null,null,null);function d(t){for(let r in n)this[r]=n[r]}var ot=function(){return u.exports}();export{ot as default};
import{n as l}from"./app.c5553f1a.js";import"./jquery.1eb1c821.js";import"./@babel.ad55b12f.js";import"./dayjs.d2ace94a.js";import"./localforage.659d76c1.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.cbbfb885.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.561c583d.js";import"./vue.baba6da0.js";import"./vuex.cc7cb26e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.554fcc10.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.978f208d.js";import"./parchment.d5c5924e.js";import"./quill-delta.4f1e4697.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.8fb065bb.js";import"./lodash.isequal.84238944.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.2a6582e4.js";import"./view-design-hi.85d727e5.js";import"./html-to-md.96d5de37.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.89894d1b.js";import"./clipboard.6caea48c.js";import"./vuedraggable.e8809463.js";import"./sortablejs.b1e23af3.js";import"./vue-resize-observer.df5b985e.js";import"./element-sea.9d03b085.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.18409ee0.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.e1b191c9.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var m=function(){var t=this,r=t.$createElement,i=t._self._c||r;return i("div",{staticClass:"setting-device"},[i("ul",[t.loadIng>0&&t.devices.length===0?i("li",{staticClass:"loading"},[i("Loading")],1):t._l(t.devices,function(e){return i("li",{key:e.id},[i("div",{staticClass:"icon"},[i("span",{class:t.getIcon(e.detail)})]),i("div",{staticClass:"info"},[i("div",{staticClass:"title"},[i("span",{staticClass:"name"},[t._v(t._s(t.getName(e.detail)))]),i("span",{staticClass:"device"},[t._v(t._s(t.getOs(e.detail)))])]),i("div",{staticClass:"time"},[i("EPopover",{attrs:{placement:"bottom-start",trigger:"click"}},[i("div",{staticClass:"setting-device-popover"},[i("p",[t._v(t._s(t.$L("\u767B\u5F55\u65F6\u95F4"))+": "+t._s(e.created_at))]),i("p",[t._v(t._s(t.$L("\u66F4\u65B0\u65F6\u95F4"))+": "+t._s(e.updated_at))]),i("p",[t._v(t._s(t.$L("\u8FC7\u671F\u65F6\u95F4"))+": "+t._s(e.expired_at))])]),i("span",{attrs:{slot:"reference"},slot:"reference"},[t._v(t._s(e.updated_at))])])],1)]),i("div",[e.is_current?i("span",{staticClass:"current"},[t._v(t._s(t.$L("\u5F53\u524D\u8BBE\u5907")))]):i("Button",{on:{click:function(o){return t.onLogout(e)}}},[t._v(t._s(t.$L("\u9000\u51FA\u767B\u5F55")))])],1)])})],2)])},p=[];const c={name:"SettingDevice",data(){return{loadIng:0,devices:[]}},mounted(){this.getDeviceList()},methods:{getDeviceList(){this.loadIng++,this.$store.dispatch("call",{url:"users/device/list"}).then(({data:t})=>{this.devices=t.list,typeof this.$parent.updateDeviceCount=="function"&&this.$parent.updateDeviceCount(this.devices.length)}).catch(({msg:t})=>{$A.modalError(t),this.devices=[]}).finally(()=>{this.loadIng--})},getIcon({app_type:t,app_name:r}){return/ios/i.test(t)?/ipad/i.test(r)?"tablet":/iphone/i.test(r)?"phone":"apple":/android/i.test(t)?/(tablet|phablet)/i.test(r)?"tablet":"android":/mac/i.test(t)?"macos":/win/i.test(t)?"window":"web"},getName({app_brand:t,app_model:r,device_name:i,app_type:e,app_name:o,browser:a}){const s=[];if(/web/i.test(e))s.push(a,this.$L("\u6D4F\u89C8\u5668"));else{if(i)return i;t?s.push(t,r):s.push(o||e,this.$L("\u5BA2\u6237\u7AEF"))}return s.join(" ")},getOs({app_os:t,os:r}){return t||r},onLogout(t){$A.modalConfirm({title:"\u9000\u51FA\u767B\u5F55",content:"\u662F\u5426\u5728\u8BE5\u8BBE\u5907\u4E0A\u9000\u51FA\u767B\u5F55\uFF1F",loading:!0,onOk:()=>new Promise((r,i)=>{this.$store.dispatch("call",{url:"users/device/logout",data:{id:t.id}}).then(({msg:e})=>{r(e),this.getDeviceList()}).catch(({msg:e})=>{i(e)})})})}}},n={};var u=l(c,m,p,!1,d,null,null,null);function d(t){for(let r in n)this[r]=n[r]}var ot=function(){return u.exports}();export{ot as default};

1
public/js/build/dialog.a0222938.js vendored Normal file
View File

@ -0,0 +1 @@
import{D as p}from"./DialogWrapper.7ff331bb.js";import{m}from"./vuex.cc7cb26e.js";import{n as a}from"./app.c5553f1a.js";import"./index.805d9e35.js";import"./vue-virtual-scroll-list-hi.aadd1a98.js";import"./@babel.ad55b12f.js";import"./vue.baba6da0.js";import"./lodash.2fa8f497.js";import"./ImgUpload.46aa97c0.js";import"./webhook.378987f3.js";import"./jquery.1eb1c821.js";import"./dayjs.d2ace94a.js";import"./localforage.659d76c1.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.cbbfb885.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.561c583d.js";import"./openpgp_hi.15f91b1d.js";import"./axios.554fcc10.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.978f208d.js";import"./parchment.d5c5924e.js";import"./quill-delta.4f1e4697.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.8fb065bb.js";import"./lodash.isequal.84238944.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.2a6582e4.js";import"./view-design-hi.85d727e5.js";import"./html-to-md.96d5de37.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.89894d1b.js";import"./clipboard.6caea48c.js";import"./vuedraggable.e8809463.js";import"./sortablejs.b1e23af3.js";import"./vue-resize-observer.df5b985e.js";import"./element-sea.9d03b085.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.18409ee0.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.e1b191c9.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var e=function(){var t=this,o=t.$createElement,r=t._self._c||o;return r("div",{staticClass:"electron-dialog"},[r("PageTitle",{attrs:{title:t.dialogData.name}}),t.dialogId>0?r("DialogWrapper",{attrs:{dialogId:t.dialogId}}):t._e()],1)},n=[];const s={components:{DialogWrapper:p},computed:{...m(["cacheDialogs"]),dialogId(){const{dialogId:t}=this.$route.params;return parseInt(/^\d+$/.test(t)?t:0)},dialogData(){return this.cacheDialogs.find(({id:t})=>t===this.dialogId)||{}}}},i={};var l=a(s,e,n,!1,d,"4f6d7c8a",null,null);function d(t){for(let o in i)this[o]=i[o]}var st=function(){return l.exports}();export{st as default};

View File

@ -1 +0,0 @@
import{D as p}from"./DialogWrapper.29acfe4c.js";import{m}from"./vuex.cc7cb26e.js";import{n as a}from"./app.1c2a0fa1.js";import"./index.f74aed09.js";import"./vue-virtual-scroll-list-hi.15e3c1fb.js";import"./@babel.f9bcab46.js";import"./vue.fd9b772e.js";import"./lodash.18c5398d.js";import"./ImgUpload.6b64df7a.js";import"./webhook.378987f3.js";import"./jquery.ce39e51d.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./openpgp_hi.15f91b1d.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var e=function(){var t=this,o=t.$createElement,r=t._self._c||o;return r("div",{staticClass:"electron-dialog"},[r("PageTitle",{attrs:{title:t.dialogData.name}}),t.dialogId>0?r("DialogWrapper",{attrs:{dialogId:t.dialogId}}):t._e()],1)},n=[];const s={components:{DialogWrapper:p},computed:{...m(["cacheDialogs"]),dialogId(){const{dialogId:t}=this.$route.params;return parseInt(/^\d+$/.test(t)?t:0)},dialogData(){return this.cacheDialogs.find(({id:t})=>t===this.dialogId)||{}}}},i={};var l=a(s,e,n,!1,d,"4f6d7c8a",null,null);function d(t){for(let o in i)this[o]=i[o]}var st=function(){return l.exports}();export{st as default};

View File

Before

Width:  |  Height:  |  Size: 4.2 KiB

After

Width:  |  Height:  |  Size: 4.2 KiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import n from"./FileContent.c7a3ce20.js";import l from"./FilePreview.f09b0f49.js";import{n as m}from"./app.1c2a0fa1.js";import"./openpgp_hi.15f91b1d.js";import"./IFrame.b5bcaf81.js";import"./jquery.ce39e51d.js";import"./@babel.f9bcab46.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./vuex.cc7cb26e.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var s=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"single-file"},[i("PageTitle",{attrs:{title:t.pageName}}),t.loadIng>0?i("Loading"):t.fileInfo?[t.isPreview?i("FilePreview",{attrs:{code:t.code,file:t.fileInfo,historyId:t.historyId,headerShow:!t.$isEEUIApp}}):i("FileContent",{attrs:{file:t.fileInfo},model:{value:t.fileShow,callback:function(r){t.fileShow=r},expression:"fileShow"}})]:t._e()],2)},p=[];const a={components:{FilePreview:l,FileContent:n},data(){return{loadIng:0,code:null,fileShow:!0,fileInfo:null}},mounted(){},computed:{historyId(){return this.$route.query?$A.runNum(this.$route.query.history_id):0},isPreview(){return this.windowPortrait||this.code||this.historyId>0||this.fileInfo&&this.fileInfo.permission===0},pageName(){return this.$route.query&&this.$route.query.history_title?this.$route.query.history_title:this.fileInfo?`${this.fileInfo.name} [${this.fileInfo.created_at}]`:""}},watch:{$route:{handler(){this.getInfo()},immediate:!0}},methods:{getInfo(){let{codeOrFileId:t}=this.$route.params,e={id:t};if(/^\d+$/.test(t))this.code=null;else if(t)this.code=t;else return;setTimeout(i=>{this.loadIng++},600),this.$store.dispatch("call",{url:"file/one",data:e}).then(({data:i})=>{this.fileInfo=i}).catch(({msg:i})=>{$A.modalError({content:i,onOk:()=>{window.close()}})}).finally(i=>{this.loadIng--})}}},o={};var f=m(a,s,p,!1,u,"662d0b64",null,null);function u(t){for(let e in o)this[e]=o[e]}var mt=function(){return f.exports}();export{mt as default};
import n from"./FileContent.84e52897.js";import l from"./FilePreview.e0fea39f.js";import{n as m}from"./app.c5553f1a.js";import"./openpgp_hi.15f91b1d.js";import"./IFrame.bee7d822.js";import"./jquery.1eb1c821.js";import"./@babel.ad55b12f.js";import"./dayjs.d2ace94a.js";import"./localforage.659d76c1.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.cbbfb885.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.561c583d.js";import"./vue.baba6da0.js";import"./vuex.cc7cb26e.js";import"./axios.554fcc10.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.978f208d.js";import"./parchment.d5c5924e.js";import"./quill-delta.4f1e4697.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.8fb065bb.js";import"./lodash.isequal.84238944.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.2a6582e4.js";import"./view-design-hi.85d727e5.js";import"./html-to-md.96d5de37.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.89894d1b.js";import"./clipboard.6caea48c.js";import"./vuedraggable.e8809463.js";import"./sortablejs.b1e23af3.js";import"./vue-resize-observer.df5b985e.js";import"./element-sea.9d03b085.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.18409ee0.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.e1b191c9.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var s=function(){var t=this,e=t.$createElement,i=t._self._c||e;return i("div",{staticClass:"single-file"},[i("PageTitle",{attrs:{title:t.pageName}}),t.loadIng>0?i("Loading"):t.fileInfo?[t.isPreview?i("FilePreview",{attrs:{code:t.code,file:t.fileInfo,historyId:t.historyId,headerShow:!t.$isEEUIApp}}):i("FileContent",{attrs:{file:t.fileInfo},model:{value:t.fileShow,callback:function(r){t.fileShow=r},expression:"fileShow"}})]:t._e()],2)},p=[];const a={components:{FilePreview:l,FileContent:n},data(){return{loadIng:0,code:null,fileShow:!0,fileInfo:null}},mounted(){},computed:{historyId(){return this.$route.query?$A.runNum(this.$route.query.history_id):0},isPreview(){return this.windowPortrait||this.code||this.historyId>0||this.fileInfo&&this.fileInfo.permission===0},pageName(){return this.$route.query&&this.$route.query.history_title?this.$route.query.history_title:this.fileInfo?`${this.fileInfo.name} [${this.fileInfo.created_at}]`:""}},watch:{$route:{handler(){this.getInfo()},immediate:!0}},methods:{getInfo(){let{codeOrFileId:t}=this.$route.params,e={id:t};if(/^\d+$/.test(t))this.code=null;else if(t)this.code=t;else return;setTimeout(i=>{this.loadIng++},600),this.$store.dispatch("call",{url:"file/one",data:e}).then(({data:i})=>{this.fileInfo=i}).catch(({msg:i})=>{$A.modalError({content:i,onOk:()=>{window.close()}})}).finally(i=>{this.loadIng--})}}},o={};var f=m(a,s,p,!1,u,"662d0b64",null,null);function u(t){for(let e in o)this[e]=o[e]}var mt=function(){return f.exports}();export{mt as default};

1
public/js/build/fileMsg.116ed34e.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
public/js/build/fileTask.ee46cc6c.js vendored Normal file

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import{c as it,g as at}from"./@babel.f9bcab46.js";var G={exports:{}};(function($,ut){(function(_,s){$.exports=s()})(it,function(){return function(_){var s={};function p(l){if(s[l])return s[l].exports;var f=s[l]={i:l,l:!1,exports:{}};return _[l].call(f.exports,f,f.exports,p),f.l=!0,f.exports}return p.m=_,p.c=s,p.d=function(l,f,c){p.o(l,f)||Object.defineProperty(l,f,{enumerable:!0,get:c})},p.r=function(l){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})},p.t=function(l,f){if(1&f&&(l=p(l)),8&f||4&f&&typeof l=="object"&&l&&l.__esModule)return l;var c=Object.create(null);if(p.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:l}),2&f&&typeof l!="string")for(var i in l)p.d(c,i,function(t){return l[t]}.bind(null,i));return c},p.n=function(l){var f=l&&l.__esModule?function(){return l.default}:function(){return l};return p.d(f,"a",f),f},p.o=function(l,f){return Object.prototype.hasOwnProperty.call(l,f)},p.p="",p(p.s=46)}([function(_,s,p){Object.defineProperty(s,"__esModule",{value:!0});var l=p(1),f=p(12),c=p(6),i=p(7),t=p(2),e=function(){function o(n,a,r){var u=r===void 0?{}:r,h=u.keepSpace,d=h!==void 0&&h,y=u.prevTagName,v=y===void 0?"":y,g=u.nextTagName,b=g===void 0?"":g,O=u.prevTagStr,T=O===void 0?"":O,x=u.nextTagStr,j=x===void 0?"":x,P=u.parentTag,S=P===void 0?"":P,m=u.isFirstSubTag,w=m===void 0||m,M=u.calcLeading,E=M!==void 0&&M,C=u.leadingSpace,N=C===void 0?"":C,L=u.layer,J=L===void 0?1:L,A=u.noWrap,z=A!==void 0&&A,H=u.prevHasEndSpace,K=H!==void 0&&H,W=u.prevHasStartSpace,Y=W!==void 0&&W,V=u.match,Z=V===void 0?null:V,R=u.indentSpace,Q=R===void 0?"":R,I=u.language,X=I===void 0?"":I,D=u.count,tt=D===void 0?1:D,q=u.tableColumnCount,et=q===void 0?0:q,U=u.noExtraLine,nt=U!==void 0&&U,B=u.inTable,ot=B!==void 0&&B;if(this.tagName=a,this.rawStr=n,this.parentTag=S,this.prevTagName=v,this.nextTagName=b,this.prevTagStr=T,this.nextTagStr=j,this.isFirstSubTag=w,this.calcLeading=E,this.leadingSpace=N,this.layer=J,this.noWrap=z,this.match=Z,this.indentSpace=Q,this.language=X,this.count=tt,this.inTable=ot,this.tableColumnCount=et,this.noExtraLine=nt,this.prevHasEndSpace=K,this.prevHasStartSpace=Y,this.hasStartSpace=!1,this.hasEndSpace=!1,this.keepSpace=d,!this.__detectStr__(n,this.tagName))return this.attrs={},void(this.innerHTML="");var F=this.__fetchTagAttrAndInnerHTML__(n),rt=F.attr,k=F.innerHTML;k.startsWith(" ")&&(0,l.isSpacePassingTag)(a)&&(this.hasStartSpace=!0),k.endsWith(" ")&&(0,l.isSpacePassingTag)(a)&&(this.hasEndSpace=!0),this.attrs=rt,this.innerHTML=k}return o.prototype.__detectStr__=function(n,a){if(n[0]!=="<")return"Not a valid tag, current tag name: ".concat(this.tagName,", tag content: ").concat(n),!1;for(var r="",u=!1,h=1;h<n.length&&n[h]!==">";h++)!u&&/(\s|\/)/.test(n[h])&&(u=!0),u||(r+=n[h]);return r===a},o.prototype.__fetchTagAttrAndInnerHTML__=function(n){for(var a="",r=1;r<n.length&&n[r]!==">";r++)a+=n[r];for(var u=n.slice(r+1),h="",d=-1,y=u.length-1;y>=0;y--)if((h=u[y]+h).startsWith("</")){h.startsWith("</"+this.tagName+">")&&(d=y);break}d===-1&&(0,l.isSelfClosing)(this.tagName)&&this.tagName;var v=(0,l.getTagAttributes)(a);return this.tagName&&delete v[this.tagName],{attr:v,innerHTML:u.slice(0,d)}},o.prototype.__onlyLeadingSpace__=function(n){n=n.trim();for(var a=0;a<n.length;a++)if(n[a]!==c.SINGLE)return!1;return!0},o.prototype.__isEmpty__=function(n){return!this.keepSpace&&(n===""&&this.tagName!=="td"||this.calcLeading&&this.__onlyLeadingSpace__(n))},o.prototype.getValidSubTagName=function(n){return n},o.prototype.beforeParse=function(){var n=t.default.get().tagListener;if(n){var a=n(this.tagName,{parentTag:this.parentTag,prevTagName:this.prevTagName,nextTagName:this.nextTagName,isFirstSubTag:this.isFirstSubTag,attrs:this.attrs,innerHTML:this.innerHTML,language:this.language,match:this.match,isSelfClosing:!1}),r=a.attrs,u=a.language,h=a.match;this.attrs=r,typeof u=="string"&&(this.language=u),typeof h!="undefined"&&(this.match=h)}return""},o.prototype.parseValidSubTag=function(n,a,r){var u=new((0,l.getTagConstructor)(a))(n,a,r);return[u.exec(),u]},o.prototype.parseOnlyString=function(n,a,r){var u=new f.default(n,a,r);return[u.exec(),u]},o.prototype.afterParsed=function(n){return n},o.prototype.slim=function(n){return this.keepSpace?n:n.trim()},o.prototype.beforeMergeSpace=function(n){return n},o.prototype.mergeSpace=function(n,a,r){return this.keepSpace&&this.tagName!=="pre"?n.endsWith(`
import{c as it,g as at}from"./@babel.ad55b12f.js";var G={exports:{}};(function($,ut){(function(_,s){$.exports=s()})(it,function(){return function(_){var s={};function p(l){if(s[l])return s[l].exports;var f=s[l]={i:l,l:!1,exports:{}};return _[l].call(f.exports,f,f.exports,p),f.l=!0,f.exports}return p.m=_,p.c=s,p.d=function(l,f,c){p.o(l,f)||Object.defineProperty(l,f,{enumerable:!0,get:c})},p.r=function(l){typeof Symbol!="undefined"&&Symbol.toStringTag&&Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(l,"__esModule",{value:!0})},p.t=function(l,f){if(1&f&&(l=p(l)),8&f||4&f&&typeof l=="object"&&l&&l.__esModule)return l;var c=Object.create(null);if(p.r(c),Object.defineProperty(c,"default",{enumerable:!0,value:l}),2&f&&typeof l!="string")for(var i in l)p.d(c,i,function(t){return l[t]}.bind(null,i));return c},p.n=function(l){var f=l&&l.__esModule?function(){return l.default}:function(){return l};return p.d(f,"a",f),f},p.o=function(l,f){return Object.prototype.hasOwnProperty.call(l,f)},p.p="",p(p.s=46)}([function(_,s,p){Object.defineProperty(s,"__esModule",{value:!0});var l=p(1),f=p(12),c=p(6),i=p(7),t=p(2),e=function(){function o(n,a,r){var u=r===void 0?{}:r,h=u.keepSpace,d=h!==void 0&&h,y=u.prevTagName,v=y===void 0?"":y,g=u.nextTagName,b=g===void 0?"":g,O=u.prevTagStr,T=O===void 0?"":O,x=u.nextTagStr,j=x===void 0?"":x,P=u.parentTag,S=P===void 0?"":P,m=u.isFirstSubTag,w=m===void 0||m,M=u.calcLeading,E=M!==void 0&&M,C=u.leadingSpace,N=C===void 0?"":C,L=u.layer,J=L===void 0?1:L,A=u.noWrap,z=A!==void 0&&A,H=u.prevHasEndSpace,K=H!==void 0&&H,W=u.prevHasStartSpace,Y=W!==void 0&&W,V=u.match,Z=V===void 0?null:V,R=u.indentSpace,Q=R===void 0?"":R,I=u.language,X=I===void 0?"":I,D=u.count,tt=D===void 0?1:D,q=u.tableColumnCount,et=q===void 0?0:q,U=u.noExtraLine,nt=U!==void 0&&U,B=u.inTable,ot=B!==void 0&&B;if(this.tagName=a,this.rawStr=n,this.parentTag=S,this.prevTagName=v,this.nextTagName=b,this.prevTagStr=T,this.nextTagStr=j,this.isFirstSubTag=w,this.calcLeading=E,this.leadingSpace=N,this.layer=J,this.noWrap=z,this.match=Z,this.indentSpace=Q,this.language=X,this.count=tt,this.inTable=ot,this.tableColumnCount=et,this.noExtraLine=nt,this.prevHasEndSpace=K,this.prevHasStartSpace=Y,this.hasStartSpace=!1,this.hasEndSpace=!1,this.keepSpace=d,!this.__detectStr__(n,this.tagName))return this.attrs={},void(this.innerHTML="");var F=this.__fetchTagAttrAndInnerHTML__(n),rt=F.attr,k=F.innerHTML;k.startsWith(" ")&&(0,l.isSpacePassingTag)(a)&&(this.hasStartSpace=!0),k.endsWith(" ")&&(0,l.isSpacePassingTag)(a)&&(this.hasEndSpace=!0),this.attrs=rt,this.innerHTML=k}return o.prototype.__detectStr__=function(n,a){if(n[0]!=="<")return"Not a valid tag, current tag name: ".concat(this.tagName,", tag content: ").concat(n),!1;for(var r="",u=!1,h=1;h<n.length&&n[h]!==">";h++)!u&&/(\s|\/)/.test(n[h])&&(u=!0),u||(r+=n[h]);return r===a},o.prototype.__fetchTagAttrAndInnerHTML__=function(n){for(var a="",r=1;r<n.length&&n[r]!==">";r++)a+=n[r];for(var u=n.slice(r+1),h="",d=-1,y=u.length-1;y>=0;y--)if((h=u[y]+h).startsWith("</")){h.startsWith("</"+this.tagName+">")&&(d=y);break}d===-1&&(0,l.isSelfClosing)(this.tagName)&&this.tagName;var v=(0,l.getTagAttributes)(a);return this.tagName&&delete v[this.tagName],{attr:v,innerHTML:u.slice(0,d)}},o.prototype.__onlyLeadingSpace__=function(n){n=n.trim();for(var a=0;a<n.length;a++)if(n[a]!==c.SINGLE)return!1;return!0},o.prototype.__isEmpty__=function(n){return!this.keepSpace&&(n===""&&this.tagName!=="td"||this.calcLeading&&this.__onlyLeadingSpace__(n))},o.prototype.getValidSubTagName=function(n){return n},o.prototype.beforeParse=function(){var n=t.default.get().tagListener;if(n){var a=n(this.tagName,{parentTag:this.parentTag,prevTagName:this.prevTagName,nextTagName:this.nextTagName,isFirstSubTag:this.isFirstSubTag,attrs:this.attrs,innerHTML:this.innerHTML,language:this.language,match:this.match,isSelfClosing:!1}),r=a.attrs,u=a.language,h=a.match;this.attrs=r,typeof u=="string"&&(this.language=u),typeof h!="undefined"&&(this.match=h)}return""},o.prototype.parseValidSubTag=function(n,a,r){var u=new((0,l.getTagConstructor)(a))(n,a,r);return[u.exec(),u]},o.prototype.parseOnlyString=function(n,a,r){var u=new f.default(n,a,r);return[u.exec(),u]},o.prototype.afterParsed=function(n){return n},o.prototype.slim=function(n){return this.keepSpace?n:n.trim()},o.prototype.beforeMergeSpace=function(n){return n},o.prototype.mergeSpace=function(n,a,r){return this.keepSpace&&this.tagName!=="pre"?n.endsWith(`
`)?n:n+r.replace(/\n+/g,`
`):a+n+r},o.prototype.afterMergeSpace=function(n){return n},o.prototype.beforeReturn=function(n){return!((0,l.isSpacePassingTag)(this.prevTagName)&&this.prevHasEndSpace||(0,l.isSpacePassingTag)(this.tagName)&&this.hasStartSpace)||/^\s+/.test(n)||/\s+$/.test(this.prevTagStr)?n:" "+n},o.prototype.exec=function(n,a){n===void 0&&(n=""),a===void 0&&(a="");for(var r=this.beforeParse(),u=(0,l.generateGetNextValidTag)(this.innerHTML),h=u(),d=h[0],y=h[1],v=null,g=!1,b=!1;y!=="";){var O,T=u(),x=T[0],j=T[1],P={parentTag:this.tagName,nextTagName:x,nextTagStr:j,prevTagName:v,prevTagStr:r,prevHasEndSpace:b,prevHasStartSpace:g,leadingSpace:this.leadingSpace,layer:this.layer,keepSpace:this.keepSpace,inTable:this.inTable,calcLeading:(this.tagName==="li"||this.tagName==="ol"||this.tagName==="ul")&&this.calcLeading},S=void 0,m=void 0;d!=null?(S=(O=this.parseValidSubTag(y,d,P))[0],m=O[1]):(S=(O=this.parseOnlyString(y,d,P))[0],m=O[1]),b=(m==null?void 0:m.hasEndSpace)||!1,g=(m==null?void 0:m.hasStartSpace)||!1;var w=this.getValidSubTagName(d);d=x,y=j,w==null&&this.__isEmpty__(S)||(!this.keepSpace&&(0,i.default)(v)&&(0,i.default)(w)&&(r=r.replace(/\n+$/,`
`),S=S.replace(/^\n+/,`

1
public/js/build/index.1a8bc070.js vendored Normal file
View File

@ -0,0 +1 @@
import{_ as m}from"./openpgp_hi.15f91b1d.js";import{e as n}from"./index.40a8e116.js";import{n as p}from"./app.c5553f1a.js";import"./jquery.1eb1c821.js";import"./@babel.ad55b12f.js";import"./dayjs.d2ace94a.js";import"./localforage.659d76c1.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.cbbfb885.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.561c583d.js";import"./vue.baba6da0.js";import"./vuex.cc7cb26e.js";import"./axios.554fcc10.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.978f208d.js";import"./parchment.d5c5924e.js";import"./quill-delta.4f1e4697.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.8fb065bb.js";import"./lodash.isequal.84238944.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.2a6582e4.js";import"./view-design-hi.85d727e5.js";import"./html-to-md.96d5de37.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.89894d1b.js";import"./clipboard.6caea48c.js";import"./vuedraggable.e8809463.js";import"./sortablejs.b1e23af3.js";import"./vue-resize-observer.df5b985e.js";import"./element-sea.9d03b085.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.18409ee0.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.e1b191c9.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var a=function(){var t=this,o=t.$createElement,i=t._self._c||o;return t.ready?i("VEditor",{attrs:{leftToolbar:t.leftToolbar,rightToolbar:t.rightToolbar,tocNavPositionRight:t.tocNavPositionRight,includeLevel:t.includeLevel},model:{value:t.content,callback:function(e){t.content=e},expression:"content"}}):i("Loading")},s=[];const l={name:"VMEditor",mixins:[n],components:{VEditor:()=>m(()=>import("./editor.a2d3b720.js"),["js/build/editor.a2d3b720.js","js/build/editor.90492550.css","js/build/@kangc.12b15229.js","js/build/@kangc.d8464d83.css","js/build/@babel.ad55b12f.js","js/build/vue.baba6da0.js","js/build/copy-to-clipboard.a53c061d.js","js/build/toggle-selection.d2487283.js","js/build/prismjs.069537ae.js","js/build/app.c5553f1a.js","js/build/app.b7699767.css","js/build/jquery.1eb1c821.js","js/build/dayjs.d2ace94a.js","js/build/localforage.659d76c1.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.cbbfb885.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.561c583d.js","js/build/vuex.cc7cb26e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.554fcc10.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.978f208d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.4f1e4697.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.8fb065bb.js","js/build/lodash.isequal.84238944.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.2a6582e4.js","js/build/view-design-hi.85d727e5.js","js/build/html-to-md.96d5de37.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.89894d1b.js","js/build/clipboard.6caea48c.js","js/build/vuedraggable.e8809463.js","js/build/sortablejs.b1e23af3.js","js/build/vue-resize-observer.df5b985e.js","js/build/element-sea.9d03b085.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.18409ee0.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.e1b191c9.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js","js/build/codemirror.99a3984d.js","js/build/codemirror.9ace6687.css","js/build/index.40a8e116.js","js/build/ImgUpload.46aa97c0.js"])},data(){return{ready:!1,content:""}},async mounted(){await $A.loadScriptS(["js/katex/katex.min.js","js/katex/katex.min.css","js/mermaid.min.js"]),this.ready=!0},watch:{value:{handler(t){t==null&&(t=""),this.content=t},immediate:!0},content(t){this.$emit("input",t)}}},r={};var c=p(l,a,s,!1,_,null,null,null);function _(t){for(let o in r)this[o]=r[o]}var mt=function(){return c.exports}();export{mt as default};

View File

@ -1 +1 @@
import{n as e}from"./app.1c2a0fa1.js";import"./jquery.ce39e51d.js";import"./@babel.f9bcab46.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./vuex.cc7cb26e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var m=function(){var t=this,o=t.$createElement,i=t._self._c||o;return i("div")},n=[];const p={data(){return{}},mounted(){if(/^https?:/i.test(window.location.protocol)){let t=null;if(this.$router.mode==="hash"?$A.stringLength(window.location.pathname)>2&&(t=`${window.location.origin}/#${window.location.pathname}${window.location.search}`):this.$router.mode==="history"&&$A.strExists(window.location.href,"/#/")&&(t=window.location.href.replace("/#/","/")),t)throw this.$store.dispatch("userUrl",t).then(o=>{window.location.href=o}),SyntaxError()}},activated(){this.start()},methods:{start(){this.userId>0?this.goForward({name:"manage-dashboard"},!0):this.goForward({name:"login"},!0)}}},r={};var a=e(p,m,n,!1,s,null,null,null);function s(t){for(let o in r)this[o]=r[o]}var ot=function(){return a.exports}();export{ot as default};
import{n as e}from"./app.c5553f1a.js";import"./jquery.1eb1c821.js";import"./@babel.ad55b12f.js";import"./dayjs.d2ace94a.js";import"./localforage.659d76c1.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.cbbfb885.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.561c583d.js";import"./vue.baba6da0.js";import"./vuex.cc7cb26e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.554fcc10.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.978f208d.js";import"./parchment.d5c5924e.js";import"./quill-delta.4f1e4697.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.8fb065bb.js";import"./lodash.isequal.84238944.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.2a6582e4.js";import"./view-design-hi.85d727e5.js";import"./html-to-md.96d5de37.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.89894d1b.js";import"./clipboard.6caea48c.js";import"./vuedraggable.e8809463.js";import"./sortablejs.b1e23af3.js";import"./vue-resize-observer.df5b985e.js";import"./element-sea.9d03b085.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.18409ee0.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.e1b191c9.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var m=function(){var t=this,o=t.$createElement,i=t._self._c||o;return i("div")},n=[];const p={data(){return{}},mounted(){if(/^https?:/i.test(window.location.protocol)){let t=null;if(this.$router.mode==="hash"?$A.stringLength(window.location.pathname)>2&&(t=`${window.location.origin}/#${window.location.pathname}${window.location.search}`):this.$router.mode==="history"&&$A.strExists(window.location.href,"/#/")&&(t=window.location.href.replace("/#/","/")),t)throw this.$store.dispatch("userUrl",t).then(o=>{window.location.href=o}),SyntaxError()}},activated(){this.start()},methods:{start(){this.userId>0?this.goForward({name:"manage-dashboard"},!0):this.goForward({name:"login"},!0)}}},r={};var a=e(p,m,n,!1,s,null,null,null);function s(t){for(let o in r)this[o]=r[o]}var ot=function(){return a.exports}();export{ot as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
import{_ as m}from"./openpgp_hi.15f91b1d.js";import{e as n}from"./index.40a8e116.js";import{n as p}from"./app.1c2a0fa1.js";import"./jquery.ce39e51d.js";import"./@babel.f9bcab46.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./vuex.cc7cb26e.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var a=function(){var t=this,o=t.$createElement,i=t._self._c||o;return t.ready?i("VEditor",{attrs:{leftToolbar:t.leftToolbar,rightToolbar:t.rightToolbar,tocNavPositionRight:t.tocNavPositionRight,includeLevel:t.includeLevel},model:{value:t.content,callback:function(e){t.content=e},expression:"content"}}):i("Loading")},s=[];const l={name:"VMEditor",mixins:[n],components:{VEditor:()=>m(()=>import("./editor.565fee16.js"),["js/build/editor.565fee16.js","js/build/editor.90492550.css","js/build/@kangc.92e0b796.js","js/build/@kangc.d8464d83.css","js/build/@babel.f9bcab46.js","js/build/vue.fd9b772e.js","js/build/copy-to-clipboard.a53c061d.js","js/build/toggle-selection.d2487283.js","js/build/prismjs.ed627128.js","js/build/app.1c2a0fa1.js","js/build/app.7891c652.css","js/build/jquery.ce39e51d.js","js/build/dayjs.23d8b964.js","js/build/localforage.f1b1079d.js","js/build/markdown-it.bda97caf.js","js/build/mdurl.ce6c1dd8.js","js/build/uc.micro.8d343c98.js","js/build/entities.48a44fec.js","js/build/linkify-it.c5e8196e.js","js/build/punycode.js.4b3f125a.js","js/build/highlight.js.ab8aeea4.js","js/build/markdown-it-link-attributes.e1d5d151.js","js/build/@traptitech.897ae552.js","js/build/vuex.cc7cb26e.js","js/build/openpgp_hi.15f91b1d.js","js/build/axios.79c8b3d5.js","js/build/mitt.1ea0a2a3.js","js/build/quill-hi.654cb53d.js","js/build/parchment.d5c5924e.js","js/build/quill-delta.f1b7ce48.js","js/build/fast-diff.f17881f3.js","js/build/lodash.clonedeep.e8ef3f14.js","js/build/lodash.isequal.d6a986d0.js","js/build/eventemitter3.78b735ad.js","js/build/lodash-es.df04b444.js","js/build/quill-mention-hi.41f02fd4.js","js/build/view-design-hi.75f80746.js","js/build/html-to-md.8a9a8796.js","js/build/vue-router.2d566cd7.js","js/build/vue-clipboard2.50be9c5e.js","js/build/clipboard.058ef547.js","js/build/vuedraggable.9fd6afed.js","js/build/sortablejs.d74243d9.js","js/build/vue-resize-observer.c3c9ca4e.js","js/build/element-sea.1d49e96e.js","js/build/deepmerge.cecf392e.js","js/build/resize-observer-polyfill.0bdc1850.js","js/build/throttle-debounce.7c3948b2.js","js/build/babel-helper-vue-jsx-merge-props.5ed215c3.js","js/build/normalize-wheel.2a034b9f.js","js/build/async-validator.49abba38.js","js/build/babel-runtime.4773988a.js","js/build/core-js.314b4a1d.js","js/build/codemirror.8cc0d7e8.js","js/build/codemirror.9ace6687.css","js/build/index.40a8e116.js","js/build/ImgUpload.6b64df7a.js"])},data(){return{ready:!1,content:""}},async mounted(){await $A.loadScriptS(["js/katex/katex.min.js","js/katex/katex.min.css","js/mermaid.min.js"]),this.ready=!0},watch:{value:{handler(t){t==null&&(t=""),this.content=t},immediate:!0},content(t){this.$emit("input",t)}}},r={};var c=p(l,a,s,!1,_,null,null,null);function _(t){for(let o in r)this[o]=r[o]}var mt=function(){return c.exports}();export{mt as default};

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

1
public/js/build/index.ac3c5851.js vendored Normal file

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import{c as Wr}from"./@babel.f9bcab46.js";var kn={exports:{}};/*!
import{c as Wr}from"./@babel.ad55b12f.js";var kn={exports:{}};/*!
* jQuery JavaScript Library v3.7.1
* https://jquery.com/
*

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{g as e,l as n,r as s,n as p}from"./app.1c2a0fa1.js";import{m as l}from"./vuex.cc7cb26e.js";import"./jquery.ce39e51d.js";import"./@babel.f9bcab46.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var u=function(){var t=this,o=t.$createElement,r=t._self._c||o;return r("div",{staticClass:"setting-item submit"},[r("Form",t._b({ref:"formData",attrs:{model:t.formData,rules:t.ruleData},nativeOn:{submit:function(a){a.preventDefault()}}},"Form",t.formOptions,!1),[r("FormItem",{attrs:{label:t.$L("\u9009\u62E9\u8BED\u8A00"),prop:"language"}},[r("Select",{attrs:{placeholder:t.$L("\u9009\u9879\u8BED\u8A00")},model:{value:t.formData.language,callback:function(a){t.$set(t.formData,"language",a)},expression:"formData.language"}},t._l(t.languageList,function(a,i){return r("Option",{key:i,attrs:{value:i}},[t._v(t._s(a))])}),1)],1)],1),r("div",{staticClass:"setting-footer"},[r("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("\u63D0\u4EA4")))]),r("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("\u91CD\u7F6E")))])],1)],1)},f=[];const g={data(){return{loadIng:0,languageList:e,formData:{language:""},ruleData:{}}},mounted(){this.initData()},computed:{...l(["formOptions"])},methods:{initData(){this.$set(this.formData,"language",n),this.formData_bak=$A.cloneJSON(this.formData)},submitForm(){this.$refs.formData.validate(t=>{t&&s(this.formData.language)})},resetForm(){this.formData=$A.cloneJSON(this.formData_bak)}}},m={};var c=p(g,u,f,!1,_,null,null,null);function _(t){for(let o in m)this[o]=m[o]}var nt=function(){return c.exports}();export{nt as default};
import{g as e,l as n,r as s,n as p}from"./app.c5553f1a.js";import{m as l}from"./vuex.cc7cb26e.js";import"./jquery.1eb1c821.js";import"./@babel.ad55b12f.js";import"./dayjs.d2ace94a.js";import"./localforage.659d76c1.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.cbbfb885.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.561c583d.js";import"./vue.baba6da0.js";import"./openpgp_hi.15f91b1d.js";import"./axios.554fcc10.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.978f208d.js";import"./parchment.d5c5924e.js";import"./quill-delta.4f1e4697.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.8fb065bb.js";import"./lodash.isequal.84238944.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.2a6582e4.js";import"./view-design-hi.85d727e5.js";import"./html-to-md.96d5de37.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.89894d1b.js";import"./clipboard.6caea48c.js";import"./vuedraggable.e8809463.js";import"./sortablejs.b1e23af3.js";import"./vue-resize-observer.df5b985e.js";import"./element-sea.9d03b085.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.18409ee0.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.e1b191c9.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var u=function(){var t=this,o=t.$createElement,r=t._self._c||o;return r("div",{staticClass:"setting-item submit"},[r("Form",t._b({ref:"formData",attrs:{model:t.formData,rules:t.ruleData},nativeOn:{submit:function(a){a.preventDefault()}}},"Form",t.formOptions,!1),[r("FormItem",{attrs:{label:t.$L("\u9009\u62E9\u8BED\u8A00"),prop:"language"}},[r("Select",{attrs:{placeholder:t.$L("\u9009\u9879\u8BED\u8A00")},model:{value:t.formData.language,callback:function(a){t.$set(t.formData,"language",a)},expression:"formData.language"}},t._l(t.languageList,function(a,i){return r("Option",{key:i,attrs:{value:i}},[t._v(t._s(a))])}),1)],1)],1),r("div",{staticClass:"setting-footer"},[r("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("\u63D0\u4EA4")))]),r("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("\u91CD\u7F6E")))])],1)],1)},f=[];const g={data(){return{loadIng:0,languageList:e,formData:{language:""},ruleData:{}}},mounted(){this.initData()},computed:{...l(["formOptions"])},methods:{initData(){this.$set(this.formData,"language",n),this.formData_bak=$A.cloneJSON(this.formData)},submitForm(){this.$refs.formData.validate(t=>{t&&s(this.formData.language)})},resetForm(){this.formData=$A.cloneJSON(this.formData_bak)}}},m={};var c=p(g,u,f,!1,_,null,null,null);function _(t){for(let o in m)this[o]=m[o]}var nt=function(){return c.exports}();export{nt as default};

File diff suppressed because one or more lines are too long

View File

@ -1,4 +1,4 @@
import{c as ne,d as te}from"./@babel.f9bcab46.js";var Fe={exports:{}};/*!
import{c as ne,d as te}from"./@babel.ad55b12f.js";var Fe={exports:{}};/*!
localForage -- Offline Storage, Improved
Version 1.10.0
https://localforage.github.io/localForage

View File

@ -1,4 +1,4 @@
import{c as jt}from"./@babel.f9bcab46.js";var el={exports:{}};/**
import{c as jt}from"./@babel.ad55b12f.js";var el={exports:{}};/**
* @license
* Lodash <https://lodash.com/>
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
import{n as a}from"./app.1c2a0fa1.js";import"./jquery.ce39e51d.js";import"./@babel.f9bcab46.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./vuex.cc7cb26e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var s=function(){var i=this,t=i.$createElement,r=i._self._c||t;return r("div")},u=[];const c={mounted(){const{meetingId:i,sharekey:t}=this.$route.params,{nickname:r,avatar:m,audio:p,video:n,type:o}=this.$route.query;this.$store.dispatch("showMeetingWindow",{type:["direct","join"].includes(o)?o:"join",meetingid:i,meetingSharekey:t,meetingNickname:r,meetingAvatar:m,meetingAudio:p,meetingVideo:n,meetingdisabled:!0})},render(){return null}},e={};var d=a(c,s,u,!1,l,null,null,null);function l(i){for(let t in e)this[t]=e[t]}var mt=function(){return d.exports}();export{mt as default};

1
public/js/build/meeting.d9917112.js vendored Normal file
View File

@ -0,0 +1 @@
import{n as a}from"./app.c5553f1a.js";import"./jquery.1eb1c821.js";import"./@babel.ad55b12f.js";import"./dayjs.d2ace94a.js";import"./localforage.659d76c1.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.cbbfb885.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.561c583d.js";import"./vue.baba6da0.js";import"./vuex.cc7cb26e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.554fcc10.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.978f208d.js";import"./parchment.d5c5924e.js";import"./quill-delta.4f1e4697.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.8fb065bb.js";import"./lodash.isequal.84238944.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.2a6582e4.js";import"./view-design-hi.85d727e5.js";import"./html-to-md.96d5de37.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.89894d1b.js";import"./clipboard.6caea48c.js";import"./vuedraggable.e8809463.js";import"./sortablejs.b1e23af3.js";import"./vue-resize-observer.df5b985e.js";import"./element-sea.9d03b085.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.18409ee0.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.e1b191c9.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var s=function(){var i=this,t=i.$createElement,r=i._self._c||t;return r("div")},u=[];const c={mounted(){const{meetingId:i,sharekey:t}=this.$route.params,{nickname:r,avatar:m,audio:p,video:n,type:o}=this.$route.query;this.$store.dispatch("showMeetingWindow",{type:["direct","join"].includes(o)?o:"join",meetingid:i,meetingSharekey:t,meetingNickname:r,meetingAvatar:m,meetingAudio:p,meetingVideo:n,meetingdisabled:!0})},render(){return null}},e={};var d=a(c,s,u,!1,l,null,null,null);function l(i){for(let t in e)this[t]=e[t]}var mt=function(){return d.exports}();export{mt as default};

File diff suppressed because one or more lines are too long

View File

@ -1 +1 @@
import{m as i}from"./vuex.cc7cb26e.js";import{n as m}from"./app.1c2a0fa1.js";import"./jquery.ce39e51d.js";import"./@babel.f9bcab46.js";import"./dayjs.23d8b964.js";import"./localforage.f1b1079d.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.ab8aeea4.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.897ae552.js";import"./vue.fd9b772e.js";import"./openpgp_hi.15f91b1d.js";import"./axios.79c8b3d5.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.654cb53d.js";import"./parchment.d5c5924e.js";import"./quill-delta.f1b7ce48.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.e8ef3f14.js";import"./lodash.isequal.d6a986d0.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.41f02fd4.js";import"./view-design-hi.75f80746.js";import"./html-to-md.8a9a8796.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.50be9c5e.js";import"./clipboard.058ef547.js";import"./vuedraggable.9fd6afed.js";import"./sortablejs.d74243d9.js";import"./vue-resize-observer.c3c9ca4e.js";import"./element-sea.1d49e96e.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.0bdc1850.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.49abba38.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var a=function(){var t=this,s=t.$createElement,r=t._self._c||s;return r("div",{staticClass:"setting-item submit"},[r("Form",t._b({ref:"formDatum",attrs:{model:t.formDatum,rules:t.ruleDatum},nativeOn:{submit:function(e){e.preventDefault()}}},"Form",t.formOptions,!1),[t.userInfo.changepass?r("Alert",{staticStyle:{"margin-bottom":"32px"},attrs:{type:"warning",showIcon:""}},[t._v(t._s(t.$L("\u8BF7\u5148\u4FEE\u6539\u767B\u5F55\u5BC6\u7801\uFF01")))]):t._e(),r("FormItem",{attrs:{label:t.$L("\u65E7\u5BC6\u7801"),prop:"oldpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.oldpass,callback:function(e){t.$set(t.formDatum,"oldpass",e)},expression:"formDatum.oldpass"}})],1),r("FormItem",{attrs:{label:t.$L("\u65B0\u5BC6\u7801"),prop:"newpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.newpass,callback:function(e){t.$set(t.formDatum,"newpass",e)},expression:"formDatum.newpass"}})],1),r("FormItem",{attrs:{label:t.$L("\u786E\u8BA4\u65B0\u5BC6\u7801"),prop:"checkpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.checkpass,callback:function(e){t.$set(t.formDatum,"checkpass",e)},expression:"formDatum.checkpass"}})],1)],1),r("div",{staticClass:"setting-footer"},[r("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("\u63D0\u4EA4")))]),r("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("\u91CD\u7F6E")))])],1)],1)},p=[];const n={data(){return{loadIng:0,formDatum:{oldpass:"",newpass:"",checkpass:""},ruleDatum:{oldpass:[{required:!0,message:this.$L("\u8BF7\u8F93\u5165\u65E7\u5BC6\u7801\uFF01"),trigger:"change"},{type:"string",min:6,message:this.$L("\u5BC6\u7801\u957F\u5EA6\u81F3\u5C116\u4F4D\uFF01"),trigger:"change"}],newpass:[{validator:(t,s,r)=>{s===""?r(new Error(this.$L("\u8BF7\u8F93\u5165\u65B0\u5BC6\u7801\uFF01"))):(this.formDatum.checkpass!==""&&this.$refs.formDatum.validateField("checkpass"),r())},required:!0,trigger:"change"},{type:"string",min:6,message:this.$L("\u5BC6\u7801\u957F\u5EA6\u81F3\u5C116\u4F4D\uFF01"),trigger:"change"}],checkpass:[{validator:(t,s,r)=>{s===""?r(new Error(this.$L("\u8BF7\u91CD\u65B0\u8F93\u5165\u65B0\u5BC6\u7801\uFF01"))):s!==this.formDatum.newpass?r(new Error(this.$L("\u4E24\u6B21\u5BC6\u7801\u8F93\u5165\u4E0D\u4E00\u81F4\uFF01"))):r()},required:!0,trigger:"change"}]}}},computed:{...i(["userInfo","formOptions"])},methods:{submitForm(){this.$refs.formDatum.validate(t=>{t&&(this.loadIng++,this.$store.dispatch("call",{url:"users/editpass",data:this.formDatum}).then(({data:s})=>{$A.messageSuccess("\u4FEE\u6539\u6210\u529F"),this.$store.dispatch("saveUserInfo",s),this.$refs.formDatum.resetFields()}).catch(({msg:s})=>{$A.modalError(s)}).finally(s=>{this.loadIng--}))})},resetForm(){this.$refs.formDatum.resetFields()}}},o={};var l=m(n,a,p,!1,u,null,null,null);function u(t){for(let s in o)this[s]=o[s]}var et=function(){return l.exports}();export{et as default};
import{m as i}from"./vuex.cc7cb26e.js";import{n as m}from"./app.c5553f1a.js";import"./jquery.1eb1c821.js";import"./@babel.ad55b12f.js";import"./dayjs.d2ace94a.js";import"./localforage.659d76c1.js";import"./markdown-it.bda97caf.js";import"./mdurl.ce6c1dd8.js";import"./uc.micro.8d343c98.js";import"./entities.48a44fec.js";import"./linkify-it.c5e8196e.js";import"./punycode.js.4b3f125a.js";import"./highlight.js.cbbfb885.js";import"./markdown-it-link-attributes.e1d5d151.js";import"./@traptitech.561c583d.js";import"./vue.baba6da0.js";import"./openpgp_hi.15f91b1d.js";import"./axios.554fcc10.js";import"./mitt.1ea0a2a3.js";import"./quill-hi.978f208d.js";import"./parchment.d5c5924e.js";import"./quill-delta.4f1e4697.js";import"./fast-diff.f17881f3.js";import"./lodash.clonedeep.8fb065bb.js";import"./lodash.isequal.84238944.js";import"./eventemitter3.78b735ad.js";import"./lodash-es.df04b444.js";import"./quill-mention-hi.2a6582e4.js";import"./view-design-hi.85d727e5.js";import"./html-to-md.96d5de37.js";import"./vue-router.2d566cd7.js";import"./vue-clipboard2.89894d1b.js";import"./clipboard.6caea48c.js";import"./vuedraggable.e8809463.js";import"./sortablejs.b1e23af3.js";import"./vue-resize-observer.df5b985e.js";import"./element-sea.9d03b085.js";import"./deepmerge.cecf392e.js";import"./resize-observer-polyfill.18409ee0.js";import"./throttle-debounce.7c3948b2.js";import"./babel-helper-vue-jsx-merge-props.5ed215c3.js";import"./normalize-wheel.2a034b9f.js";import"./async-validator.e1b191c9.js";import"./babel-runtime.4773988a.js";import"./core-js.314b4a1d.js";var a=function(){var t=this,s=t.$createElement,r=t._self._c||s;return r("div",{staticClass:"setting-item submit"},[r("Form",t._b({ref:"formDatum",attrs:{model:t.formDatum,rules:t.ruleDatum},nativeOn:{submit:function(e){e.preventDefault()}}},"Form",t.formOptions,!1),[t.userInfo.changepass?r("Alert",{staticStyle:{"margin-bottom":"32px"},attrs:{type:"warning",showIcon:""}},[t._v(t._s(t.$L("\u8BF7\u5148\u4FEE\u6539\u767B\u5F55\u5BC6\u7801\uFF01")))]):t._e(),r("FormItem",{attrs:{label:t.$L("\u65E7\u5BC6\u7801"),prop:"oldpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.oldpass,callback:function(e){t.$set(t.formDatum,"oldpass",e)},expression:"formDatum.oldpass"}})],1),r("FormItem",{attrs:{label:t.$L("\u65B0\u5BC6\u7801"),prop:"newpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.newpass,callback:function(e){t.$set(t.formDatum,"newpass",e)},expression:"formDatum.newpass"}})],1),r("FormItem",{attrs:{label:t.$L("\u786E\u8BA4\u65B0\u5BC6\u7801"),prop:"checkpass"}},[r("Input",{attrs:{type:"password"},model:{value:t.formDatum.checkpass,callback:function(e){t.$set(t.formDatum,"checkpass",e)},expression:"formDatum.checkpass"}})],1)],1),r("div",{staticClass:"setting-footer"},[r("Button",{attrs:{loading:t.loadIng>0,type:"primary"},on:{click:t.submitForm}},[t._v(t._s(t.$L("\u63D0\u4EA4")))]),r("Button",{staticStyle:{"margin-left":"8px"},attrs:{loading:t.loadIng>0},on:{click:t.resetForm}},[t._v(t._s(t.$L("\u91CD\u7F6E")))])],1)],1)},p=[];const n={data(){return{loadIng:0,formDatum:{oldpass:"",newpass:"",checkpass:""},ruleDatum:{oldpass:[{required:!0,message:this.$L("\u8BF7\u8F93\u5165\u65E7\u5BC6\u7801\uFF01"),trigger:"change"},{type:"string",min:6,message:this.$L("\u5BC6\u7801\u957F\u5EA6\u81F3\u5C116\u4F4D\uFF01"),trigger:"change"}],newpass:[{validator:(t,s,r)=>{s===""?r(new Error(this.$L("\u8BF7\u8F93\u5165\u65B0\u5BC6\u7801\uFF01"))):(this.formDatum.checkpass!==""&&this.$refs.formDatum.validateField("checkpass"),r())},required:!0,trigger:"change"},{type:"string",min:6,message:this.$L("\u5BC6\u7801\u957F\u5EA6\u81F3\u5C116\u4F4D\uFF01"),trigger:"change"}],checkpass:[{validator:(t,s,r)=>{s===""?r(new Error(this.$L("\u8BF7\u91CD\u65B0\u8F93\u5165\u65B0\u5BC6\u7801\uFF01"))):s!==this.formDatum.newpass?r(new Error(this.$L("\u4E24\u6B21\u5BC6\u7801\u8F93\u5165\u4E0D\u4E00\u81F4\uFF01"))):r()},required:!0,trigger:"change"}]}}},computed:{...i(["userInfo","formOptions"])},methods:{submitForm(){this.$refs.formDatum.validate(t=>{t&&(this.loadIng++,this.$store.dispatch("call",{url:"users/editpass",data:this.formDatum}).then(({data:s})=>{$A.messageSuccess("\u4FEE\u6539\u6210\u529F"),this.$store.dispatch("saveUserInfo",s),this.$refs.formDatum.resetFields()}).catch(({msg:s})=>{$A.modalError(s)}).finally(s=>{this.loadIng--}))})},resetForm(){this.$refs.formDatum.resetFields()}}},o={};var l=m(n,a,p,!1,u,null,null,null);function u(t){for(let s in o)this[s]=o[s]}var et=function(){return l.exports}();export{et as default};

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More