mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-11 18:42:54 +00:00
488 lines
20 KiB
HTML
488 lines
20 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>DooTask</title>
|
||
<meta name="google" value="notranslate">
|
||
<meta name="description" content="Lightweight open source online project task management tool to help teams efficiently advance their projects and make work easier.">
|
||
<meta name="keywords" content="China DooTask Task management Lightweight Hitosea Teamwork">
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<link rel="shortcut icon" href="../img/favicon.ico">
|
||
<link rel="stylesheet" href="../css/common.css">
|
||
<link rel="stylesheet" type="text/css" href="../css/rem.css">
|
||
<link rel="stylesheet" href="../css/download.css">
|
||
</head>
|
||
<body>
|
||
<div class="BulletBox"></div>
|
||
<div id="layout">
|
||
<!-- 页头区域 -->
|
||
<header class="head dow">
|
||
<div class="nav">
|
||
<div class="nav-layout">
|
||
<a href="../en/index.html" class="logo">
|
||
<img id="logo" src="../img/light/logo.svg" alt="DooTask,Logo">
|
||
<i class="dootask txt-7002027">DooTask</i>
|
||
</a>
|
||
<ul class="nav-ul">
|
||
<li class="nav-ul-item">
|
||
<a class="txt-4001620 txt nav-product" href="../en/product.html">Product</a>
|
||
</li>
|
||
<li class="nav-ul-item">
|
||
<a class="txt-4001620 txt nav-solutions" href="../en/solutions.html">Solutions</a>
|
||
</li>
|
||
<li class="nav-ul-item">
|
||
<i class="txt-4001620 txt nav-support" id="support-txt" onclick="showMenuPopHandle()">
|
||
Support
|
||
<img src="../img/vector.svg" alt="Support" class="nav-vector" id="drop-down-svg">
|
||
</i>
|
||
<ol class="submenu-pop" id="submenu-pop">
|
||
<li class="submenu-pop-item" onclick="changeMenu()">
|
||
<a class="txt-4001418 txt-sub" href="../en/download.html">Download Center</a>
|
||
</li>
|
||
<li class="submenu-pop-item" onclick="changeMenu()">
|
||
<a class="txt-4001418 txt-sub" href="../en/help.html">Help Center</a>
|
||
</li>
|
||
<li class="submenu-pop-item" onclick="changeMenu()">
|
||
<a class="txt-4001418 txt-sub" href="../en/privacy.html" target="_blank">Privacy Policy</a>
|
||
</li>
|
||
<li class="submenu-pop-item" onclick="changeMenu()">
|
||
<a class="txt-4001418 txt-sub" href="../../docs/index.html" target="_blank">API document</a>
|
||
</li>
|
||
</ol>
|
||
</li>
|
||
<li class="nav-ul-item">
|
||
<a class="txt-4001620 txt nav-price" href="../en/price.html">Pricing</a>
|
||
</li>
|
||
<li class="nav-ul-item">
|
||
<a class="txt-4001620 txt nav-about" href="../en/about.html">About Us</a>
|
||
</li>
|
||
</ul>
|
||
<div class="nav-r">
|
||
<div class="lang" id="lang-img">
|
||
<img src="../img/lang-select.svg" alt="Language switch" onclick="shouLangPopHandle()">
|
||
<ul class="lang-pop" id="lang-pop">
|
||
<li class="lang-pop-item" onclick="changeLanguage('zh')">
|
||
<i class="lang-txt">简体中文</i>
|
||
</li>
|
||
<li class="lang-pop-item" onclick="changeLanguage('en')">
|
||
<i class="lang-txt" >English</i>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<i class="nav-r-icon theme_dark" onclick="setTheme('light')">
|
||
<img src="../img/light.svg" alt="Brighter themes">
|
||
</i>
|
||
<i class="nav-r-icon theme_light" onclick="setTheme('dark')">
|
||
<img src="../img/drak.svg" alt="Dark theme">
|
||
</i>
|
||
<a href="https://github.com/kuaifan/dootask" target="_blank">
|
||
<i class="nav-r-icon">
|
||
<img src="../img/github.svg" alt="github">
|
||
</i>
|
||
</a>
|
||
<i class="line-1"></i>
|
||
<span class="get-started">
|
||
<a href="../../manage/dashboard">
|
||
<button class="btn btn-primary" >Try Now</button>
|
||
</a>
|
||
</span>
|
||
</div>
|
||
<div class="menuBtn">
|
||
<img id="menuBtn" src="../img/menu.svg" alt="Menu">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="topics">
|
||
<div class="topics-con">
|
||
<div class="topics-layout">
|
||
<div class="topics-tit mb-32 topics-tit-en">
|
||
<span class="txt-6005670 topics-h1">Download DooTask client</span>
|
||
</div>
|
||
<h4 class="txt-4001830 topics-h4 mb-64 topics-h4-en">Also supports iOS, Android, macOS, Windows versions</h4>
|
||
<ul class="download-ul">
|
||
<li class="download-ul-item dow-animate-box" style="--delay: 0s;" onmouseover='handleMouseover(0)' onmouseout='handleMouseout(0)'>
|
||
<a class="normal" href="https://apps.apple.com/cn/app/dootask/id1624855111" target="_blank" id="ios">
|
||
<img class="icon mb-8" src="../img/dow_ios.svg" alt="ios">
|
||
<i class="txt-4001624 txt">ios</i>
|
||
</a>
|
||
<a class="hover" href="https://apps.apple.com/cn/app/dootask/id1624855111" target="_blank">
|
||
<img class="qr-code mb-8" src="../img/ios_code.png" alt="Scan download,ios">
|
||
<i class="txt-4001624 txt"> Download</i>
|
||
</a>
|
||
</li>
|
||
<li class="download-ul-item dow-animate-box" style="--delay: 0.1s;" onmouseover='handleMouseover(1)' onmouseout='handleMouseout(1)'>
|
||
<a class="normal" href="https://www.dootask.com/desktop/publish/latest?platform=android" target="_blank" id="Android">
|
||
<img class="icon mb-8" src="../img/dow_android.svg" alt="Android">
|
||
<i class="txt-4001624 txt">Android</i>
|
||
</a>
|
||
<a class="hover radius" id="winx64Link" href="https://www.dootask.com/desktop/publish/latest?platform=android" target="_blank">
|
||
<img class="icon mb-8" src="../img/dow_icon.svg" alt="Windows,download">
|
||
<i class="txt-4001624 txt">Download</i>
|
||
</a>
|
||
</li>
|
||
<li class="download-ul-item dow-animate-box" style="--delay: 0.2s;" onmouseover='handleMouseover(2)' onmouseout='handleMouseout(2)'>
|
||
<div class="normal">
|
||
<img class="icon mb-8" src="../img/dow_mac.svg" alt="macOS">
|
||
<i class="txt-4001624 txt">macOS</i>
|
||
</div>
|
||
<div class="hover radius">
|
||
<button class="btn btn-green mb-12 btn-padding" style="width: 70%;">
|
||
<a class="chips-txt txt-4001418" id="arm64Link" href="https://www.dootask.com/desktop/publish/latest?platform=mac&arch=arm64" target="_blank">Apple Chips</a>
|
||
</button>
|
||
<button class="btn btn-green btn-padding" style="width: 70%;">
|
||
<a class="chips-txt txt-4001418" id="x64Link" href="https://www.dootask.com/desktop/publish/latest?platform=mac&arch=x64" target="_blank">Intel Chips</a>
|
||
</button>
|
||
</div>
|
||
</li>
|
||
<li class="download-ul-item dow-animate-box" style="--delay: 0.3s;" onmouseover='handleMouseover(3)' onmouseout='handleMouseout(3)'>
|
||
<div class="normal">
|
||
<img class="icon mb-8" src="../img/dow_window.svg" alt="Windows">
|
||
<i class="txt-4001624 txt">Windows</i>
|
||
</div>
|
||
<a class="hover radius" id="winx64Link" href="https://www.dootask.com/desktop/publish/latest?platform=win&arch=x64" target="_blank">
|
||
<img class="icon mb-8" src="../img/dow_icon.svg" alt="Windows,download">
|
||
<i class="txt-4001624 txt">Download</i>
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
<a class="download-other-btn dow-animate-box" style="--delay: 0.5s;" href="https://www.dootask.com/desktop/publish/latest" target="_blank"><span>Other Versions</span></a>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</header>
|
||
<!-- 菜单抽屉 -->
|
||
<div class="drawer">
|
||
<div class="drawer-t mb-36">
|
||
<a href="../en/index.html" class="logo">
|
||
<img id="logo" src="../img/light/logo.svg" alt="DooTaskLogo">
|
||
<i class="dootask txt-7002027">DooTask</i>
|
||
</a>
|
||
<i class="close-drawer" onclick="closeDraweHandle()">✕</i>
|
||
</div>
|
||
<ul class="drawer-ul">
|
||
<li class="drawer-item-t mb-16">
|
||
<div class="drawer-item" onclick="closeDraweHandle()">
|
||
<a class="txt-4001620 txt" href="../en/product.html">Product</a>
|
||
</div>
|
||
<div class="drawer-item" onclick="closeDraweHandle()">
|
||
<a class="txt-4001620 txt" href="../en/solutions.html">Solutions</a>
|
||
</div>
|
||
<div class="drawer-item" onclick="expandMenuHandle('support')">
|
||
<i class="txt-4001620 txt">
|
||
Support
|
||
<img src="../img/vector.svg" class="nav-vector" alt="Support" id="drawer-down-support-svg">
|
||
</i>
|
||
</div>
|
||
<ol class="drawer-active hide" id="support">
|
||
<li class="drawer-item" onclick="changeMenu()">
|
||
<a class="txt-4001620 txt" href="../en/download.html">Download Center</a>
|
||
</li>
|
||
<li class="drawer-item" onclick="changeMenu()">
|
||
<a class="txt-4001620 txt" href="../en/help.html">Help Center</a>
|
||
</li>
|
||
<li class="drawer-item" onclick="changeMenu()">
|
||
<a class="txt-4001620 txt" href="../en/privacy.html" target="_blank">Privacy Policy</a>
|
||
</li>
|
||
<li class="drawer-item" onclick="changeMenu()">
|
||
<a class="txt-4001620 txt" href="../../docs/index.html" target="_blank">API document</a>
|
||
</li>
|
||
</ol>
|
||
<div class="drawer-item" onclick="closeDraweHandle()">
|
||
<a class="txt-4001620 txt" href="../en/price.html">Pricing</a>
|
||
</div>
|
||
<div class="drawer-item mb-16" onclick="closeDraweHandle()">
|
||
<a class="txt-4001620 txt" href="../en/about.html">About Us</a>
|
||
</div>
|
||
</li>
|
||
<li class="drawer-item-c">
|
||
<div class="drawer-item" onclick="expandMenuHandle('theme')">
|
||
<i class="txt-4001620 txt">
|
||
Theme
|
||
<img src="../img/vector.svg" alt="Theme" class="nav-vector" id="drawer-down-theme-svg">
|
||
</i>
|
||
</div>
|
||
<ol class="drawer-active hide" >
|
||
<li class="drawer-item" onclick="setTheme('light')">
|
||
<i class="txt-4001620 txt">Light</i>
|
||
</li>
|
||
<li class="drawer-item" onclick="setTheme('dark')">
|
||
<i class="txt-4001620 txt">Dark</i>
|
||
</li>
|
||
</ol>
|
||
<div class="drawer-item" onclick="expandMenuHandle('language')">
|
||
<i class="txt-4001620 txt">
|
||
Language
|
||
<img src="../img/vector.svg" alt="Language" class="nav-vector" id="drawer-down-language-svg">
|
||
</i>
|
||
</div>
|
||
<ol class="drawer-active hide" id="language" >
|
||
<li class="drawer-item" onclick="changeLanguage('zh')">
|
||
<i class="txt-4001620 txt">简体中文</i>
|
||
</li>
|
||
<li class="drawer-item" onclick="changeLanguage('en')">
|
||
<i class="txt-4001620 txt">English</i>
|
||
</li>
|
||
</ol>
|
||
</li>
|
||
<li class="drawer-item-b">
|
||
<div class="drawer-item">
|
||
<a class="txt-4001620 txt" href="../../manage/dashboard">Try Now</a>
|
||
</div>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<!-- 内容区域 -->
|
||
<main>
|
||
<!-- 主要区域划分 -->
|
||
<section>
|
||
<article class="update">
|
||
<div class="update-bg-svg">
|
||
<div class="update-con">
|
||
<div class="update-layout">
|
||
<div class="update-l">
|
||
<h1 class="txt-4003645 update-h1 mb-36">Update Log</h1>
|
||
<ul class="update-ul">
|
||
<li id="releases"></li>
|
||
<li>
|
||
<a class="more-item" href="../en/log.html">
|
||
<h5 class="txt-4001624 more">More Logs</h5>
|
||
<img class="icon" src="../img/dow_arrow.svg" alt="More Logs">
|
||
</a>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
<div class="update-r">
|
||
<img class="update-r-svg" id="dow_pic1" src="../img/light/zh_dow_pic1.png" alt="Download Centre">
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</article>
|
||
</section>
|
||
</main>
|
||
<!-- 页脚区域 -->
|
||
<footer>
|
||
<div class="footer-con">
|
||
<div class="footer-layut">
|
||
<div class="footer-l">
|
||
<a href="../en/index.html" class="logo">
|
||
<img id="logo" src="../img/light/logo.svg" alt="DooTask,Logo">
|
||
<i class="dootask txt-7002027">DooTask</i>
|
||
</a>
|
||
<i class="txt txt-4001624">Helps teams move projects forward efficiently and makes work easier.</i>
|
||
</div>
|
||
<div class="footer-r">
|
||
<ul class="footer-r-ul">
|
||
<li class="footer-r-item">
|
||
<ol class="footer-r-ol">
|
||
<li class="footer-ol-item txt-5001624 mb-24">Links</li>
|
||
<li class="footer-ol-item mb-16">
|
||
<a class="txt-4001624 txt" href="../en/product.html">Product</a>
|
||
</li>
|
||
<li class="footer-ol-item mb-16">
|
||
<a class="txt-4001624 txt" href="../en/solutions.html">Solutions</a>
|
||
</li>
|
||
<li class="footer-ol-item mb-16">
|
||
<a class="txt-4001624 txt" href="../en/price.html">Pricing</a>
|
||
</li>
|
||
<li class="footer-ol-item">
|
||
<a class="txt-4001624 txt" href="../en/solutions.html">About Us</a>
|
||
</li>
|
||
</ol>
|
||
</li>
|
||
<li class="footer-r-item">
|
||
<ol class="footer-r-ol">
|
||
<li class="footer-ol-item txt-5001624 mb-24">Support</li>
|
||
<li class="footer-ol-item mb-16">
|
||
<a class="txt-4001624 txt" href="../en/download.html">Download Center</a>
|
||
</li>
|
||
<li class="footer-ol-item mb-16">
|
||
<a class="txt-4001624 txt" href="../en/help.html">Help Center</a>
|
||
</li>
|
||
<li class="footer-ol-item mb-16">
|
||
<a class="txt-4001620 txt" href="../en/privacy.html" target="_blank">Privacy Policy</a>
|
||
</li>
|
||
<li class="footer-ol-item">
|
||
<a class="txt-4001624 txt" href="../../docs/index.html" target="_blank">API document</a>
|
||
</li>
|
||
</ol>
|
||
</li>
|
||
<li class="footer-r-item">
|
||
<ol class="footer-r-ol">
|
||
<li class="footer-ol-item txt-5001624 mb-24">Community</li>
|
||
<li class="footer-ol-item">
|
||
<div class="footer-ol-item mb-16">
|
||
<i class="txt-4001624 txt" onclick="openInNewTab('https://github.com/kuaifan/dootask')">Github</i>
|
||
</div>
|
||
<div class="footer-ol-item mb-16">
|
||
<i class="txt-4001624 txt" onclick="openInNewTab('https://gitee.com/aipaw/dootask')">Gitee</i>
|
||
</div>
|
||
<div class="footer-ol-item" id="qq_group">
|
||
<i class="txt-4001624 txt">QQ group</i>
|
||
<div class="group_code">
|
||
<img class="code-svg" id="home_code" src="../img/light/home_code.svg" alt="Group:546574618">
|
||
<i class="group_num">Group:546574618</i>
|
||
<i class="lower_triangle"></i>
|
||
</div>
|
||
</div>
|
||
</li>
|
||
</ol>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
<div class="txt-4001624 filings footer_copyright">
|
||
<span>
|
||
Copyright © 2022-2023 DooTask. All rights reserved.
|
||
</span>
|
||
<div class="footer_beian" style="display: flex;"><img src="../img/beian.png" alt=""><span style="padding-left: 3px;">桂公网安备 45010802000393号</span></div>
|
||
<a class="footer_beian_a" href="http://beian.miit.gov.cn">桂ICP备2021003642号-5</a>
|
||
</div>
|
||
</div>
|
||
</footer>
|
||
</div>
|
||
</body>
|
||
<script src="//cdn.bootcdn.net/ajax/libs/axios/1.3.6/axios.js"></script>
|
||
<script src="../js/common.js"></script>
|
||
<script>
|
||
const isMobile = 'ontouchstart' in window
|
||
const androidDOM = document.getElementById("Android")
|
||
const iosDOM = document.getElementById("ios")
|
||
// 判断是否为ios
|
||
const isIos = /iPad|iPhone|iPod/.test(window.navigator.userAgent);
|
||
// 判断是否为安卓
|
||
const isAndroid = /Android/.test(window.navigator.userAgent);
|
||
// 判断是否为windows
|
||
const isWindows = /Win64/.test(window.navigator.userAgent);
|
||
/* 下载应用的hover处理函数 */
|
||
const download = document.querySelector('.download-ul');
|
||
const downloadItems = download.querySelectorAll('.download-ul-item');
|
||
const handleMouseover = (val)=>{
|
||
if(isIos||isAndroid){
|
||
return;
|
||
}else{
|
||
downloadItems[val].children[0].style.display = 'none'
|
||
downloadItems[val].children[1].style.display = 'flex'
|
||
}
|
||
}
|
||
const handleMouseout = (val)=>{
|
||
if(isIos||isAndroid){
|
||
return;
|
||
}else{
|
||
downloadItems[val].children[0].style.display = 'flex'
|
||
downloadItems[val].children[1].style.display = 'none'
|
||
}
|
||
}
|
||
/* 对于ios与Android pc端点击时a链接直接跳转 移动端点击时需要阻止a链接直接跳转 */
|
||
androidDOM.addEventListener('click',function(e){
|
||
if(isMobile){
|
||
e.preventDefault()
|
||
}
|
||
})
|
||
iosDOM.addEventListener('click',function(e){
|
||
if(isMobile){
|
||
e.preventDefault()
|
||
}
|
||
})
|
||
// 对于不同类型的移动端进行处理
|
||
function movieHandle(flag=true){
|
||
if(flag){
|
||
downloadItems.forEach((item,index)=>{
|
||
item.addEventListener('touchstart',function(){
|
||
if(index==2||index==3){
|
||
return showBox("Not supported on current device")
|
||
}
|
||
if(index==0){
|
||
if(isIos){
|
||
window.location.href = item.children[0].href
|
||
return
|
||
}
|
||
return showBox("Not supported on current device")
|
||
}
|
||
if(index==1){
|
||
if(isAndroid){
|
||
window.location.href = item.children[0].href
|
||
return
|
||
}
|
||
return showBox("Not supported on current device")
|
||
}
|
||
})
|
||
})
|
||
}
|
||
}
|
||
// 移动端
|
||
/* 显示/隐藏提示弹框 */
|
||
function showBox(text){
|
||
const box = document.querySelector('.BulletBox')
|
||
box.style.display = 'block'
|
||
box.innerHTML = text
|
||
setTimeout(()=>{
|
||
box.style.display = 'none'
|
||
},1000)
|
||
}
|
||
// 是否是移动端
|
||
if(isMobile){
|
||
if(isAndroid||isIos){
|
||
movieHandle()
|
||
}else if(isWindows){
|
||
movieHandle(false)
|
||
}
|
||
}
|
||
const localStorageHandle = (val)=>{
|
||
localStorage.setItem('update_log_num',val)
|
||
window.location.href = '../en/log.html'
|
||
}
|
||
const getItem = (key)=> {
|
||
var record = JSON.parse(localStorage.getItem(key));
|
||
if (!record) return null;
|
||
if (new Date().getTime() > record.expired) {
|
||
localStorage.removeItem(key);
|
||
return null;
|
||
}
|
||
return record.value;
|
||
}
|
||
/* 滑动到可视区域执行动画 */
|
||
const boxes = document.querySelectorAll('.dow-animate-box');
|
||
const animateBoxes = ()=> {
|
||
boxes.forEach(box => {
|
||
const boxTop = box.getBoundingClientRect().top;
|
||
const boxBottom = box.getBoundingClientRect().bottom;
|
||
if (boxTop < window.innerHeight && boxBottom > 0) {
|
||
box.classList.add('animate');
|
||
}
|
||
});
|
||
}
|
||
window.addEventListener('scroll', animateBoxes);
|
||
animateBoxes();
|
||
|
||
// 获取日志
|
||
const logsItem = getItem('logs_dowmload_en')
|
||
const updates = document.getElementById('releases');
|
||
if(!logsItem) {
|
||
const url = "../../api/system/get/updatelog"
|
||
axios.get(url).then(res=>{
|
||
const changelog=res.data.data.updateLog
|
||
const regex = /## \[(.*?)\]\n([\s\S]*?)(?=\n\n## \[|$)/g;
|
||
let match;
|
||
const Versions = []
|
||
while ((match = regex.exec(changelog)) !== null) {
|
||
Versions.push(match[1])
|
||
}
|
||
const releases = Versions.slice(0,5).map((item,index)=>{
|
||
return `
|
||
<li class="update-item" onclick="localStorageHandle(${index+1})">
|
||
<h5 class="txt-4001624 update-h5">DooTask ${item} update</h5>
|
||
</li>
|
||
`;
|
||
}).join('')
|
||
let record = {value: releases, expired: new Date().getTime() + 30 * 60 * 1000};
|
||
localStorage.setItem('logs_dowmload_en', JSON.stringify(record))
|
||
updates.innerHTML = releases;
|
||
}).catch(err=>{
|
||
})
|
||
}else{
|
||
updates.innerHTML = logsItem;
|
||
}
|
||
</script>
|
||
</html>
|