Browse Source
【问题原因】 Mac端在设计器未启动状态下,直接点击模板文件,触发设计器启动, 但启动成功后,设计器里并没有打开对应的模板。查看install4j的 文档后发现还需要使用install4j运行时jar中的API注册监听函数, 才能拿到文件路径。 点击文件启动应用的API与点击网页链接启动应用的API,恰好是一个, 所以就可以在之前迭代的URL启动设计器功能基础上修复这个BUG。 【改动思路】 实现一个用于mac端文件打开的DeepLinkfeature/x
Starryi
3 years ago
3 changed files with 51 additions and 1 deletions
@ -0,0 +1,29 @@ |
|||||||
|
package com.fr.design.deeplink; |
||||||
|
|
||||||
|
import com.fr.design.mainframe.DesignerContext; |
||||||
|
import com.fr.file.FileFILE; |
||||||
|
import com.fr.stable.StringUtils; |
||||||
|
import com.fr.stable.os.OperatingSystem; |
||||||
|
|
||||||
|
import java.io.File; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
/** |
||||||
|
* @author Starryi |
||||||
|
* @version 1.0 |
||||||
|
* Created by Starryi on 2022/1/13 |
||||||
|
*/ |
||||||
|
public class FileOpen4MacDeepLink extends DeepLink { |
||||||
|
@Override |
||||||
|
public boolean accept(String url, String host, String path, Map<String, Object> params) { |
||||||
|
return OperatingSystem.isMacos() && StringUtils.isEmpty(host) && StringUtils.isEmpty(path) && params.isEmpty(); |
||||||
|
} |
||||||
|
|
||||||
|
@Override |
||||||
|
public void run(String url, String host, String path, Map<String, Object> params) { |
||||||
|
File file = new File(url); |
||||||
|
if (file.exists()) { |
||||||
|
DesignerContext.getDesignerFrame().openTemplate(new FileFILE(file)); |
||||||
|
} |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue