aukw 发表于 2023-3-16 15:05

手机上有了这个脚本,再也不用手动粘贴度盘链接和提取码了


我们在手机上经常碰到一些度盘链接,其中有的有提取码。当复制链接和提取码时,要来回切换APP,提取码要记下来一个个输,操作太烦了。。。

所以我搞了一个工具,只要选中文本,点两下就可以打开链接,并且自动输入提取码。


相关截图如下








代码在下方,安装和使用请看代码内有说明。注意:只有苹果手机能用这个代码。


```javascript

// Variables used by Scriptable.
// These must be at the very top of the file. Do not edit.
// icon-color: brown; icon-glyph: code; share-sheet-inputs: plain-text;
// 如何安装
// 1. 安装scriptable app,https://apps.apple.com/cn/app/scriptable/id1405459188?uo=4
// 2. 打开scriptable app,点击右上角加号新建文件,将代码全部粘贴进去
// 3. 点击代码框左下角的设置,接着点击"share sheet inputs",选择"Text"
// 4. 保存代码后进入scriptable的设置界面,点击"quick action",再点击脚本名字前的加号。
// 如何使用:
// 1. 在任意app选中含有度盘链接和提取码的文本
// 2. 进入分享菜单,选中"run script",再选中本脚本
// 3. 稍等数秒,本脚本会生成一个自动输入密码的度盘链接,弹出提示窗口
// 4. 在弹窗内,用户点击"打开链接"或"复制链接"按钮

let text = args.plainTexts
if (text != null) {
await parseAndPrompt(text)
} else {
let alert = new Alert()
alert.title = "没有找到文字"
alert.message = "请重新选择文本"
alert.addCancelAction("OK")
await alert.present()
}


function genLinks(text) {
        let urls=[];
        const matches = text.matchAll(/(http(s?):\/\/pan.baidu.com\/s\/*)/g);
        for (const match of matches) {
                urls.push({url:match, start: match.index, next:text.length, code:''});
                if(urls.length>1) {
                        urls.next = urls.start;
                }
        }
        let links=[];
        for(let i=0;i<urls.length;i++){
                let match = text.substring(urls.start, urls.next).match(/提取码\W*(\w{4})/m);
                urls.code = match ? match : "";
                links.push(urls.url)
                if(urls.code) links +="?pwd="+urls.code;
        }
        return links;
}

async function parseAndPrompt(text) {
let links= genLinks(text)
if (links.length>0) {
    await prompt(links)
} else {
    let alert = new Alert()
    alert.title = "没找到度盘链接"
    alert.message = ""
    await alert.present()
}
}

async function prompt(links) {
let alert = new Alert()
alert.title="links"
alert.message=links.join("\n");
alert.addAction("打开链接")
alert.addAction("复制链接")
alert.addCancelAction("Cancel")
let idx = await alert.presentSheet()
if (idx == 0) {
    links.forEach(function(link){
      Safari.open(link);
    });
} else if (idx == 1) {
    Pasteboard.copyString(links.join("\n"));
}
}
```

fei5788 发表于 2023-3-27 11:54

JcZhang 发表于 2023-3-16 19:44

wananlove 发表于 2023-3-16 20:36

可以的,每次手动粘贴复制挺麻烦的

cai871102 发表于 2023-3-17 08:09

Lambor_G 发表于 2023-3-17 11:31

JcZhang 发表于 2023-3-16 19:44
这个APP叫什么?

scriptable

jiangtaixiaozhu 发表于 2023-3-17 18:52

感谢分享,有了这个确实省了不少麻烦

juy 发表于 2023-3-19 21:08

Ning278 发表于 2023-3-20 09:55

感谢分享。

MarkLin17 发表于 2023-3-20 10:30

感谢楼主分享!

唐伯虎 发表于 2023-3-24 15:46

感谢楼主分享!
页: [1] 2
查看完整版本: 手机上有了这个脚本,再也不用手动粘贴度盘链接和提取码了