V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
rizon
V2EX  ›  程序员

大家来写个插件测试下吧?? 在线记事的小工具增加了一个在线插件功能

  •  1
     
  •   rizon ·
    othorizon · 2019-06-11 02:26:43 +08:00 · 1255 次点击
    这是一个创建于 1998 天前的主题,其中的信息可能已经有所发展或是发生改变。

    notelive.cc 试着加了一个插件功能,现在还是个 demo,没放出正式入口,不过已经可以测试了。
    ❤️大佬 v 友们,大家也帮忙看看吧,给给意见和看法,看看那这东西能不能行得通,有哪些风险,提供下建议和指导。

    现在的 demo 是这样子,后面正式的时候,会有单独的模板开发页面,需要人工审核通过的模板才可以使用,用户可以直接在笔记页面选择使用哪个模板来打开 /新建内容。

    提供一个示例: https://notelive.cc/app/?tid=diff#diffd
    这是一个文本比较示例,会读取笔记的内容并展示文本的 diff,点击保存后,可以使用新的文本保存。源码是从网上找的,仅做演示使用。


    插件开发方式

    只要打开一个笔记,编写内容就好了(编辑时语言选择 html 会有代码提示),比如本文中的示例 diff 的源码:https://notelive.cc/#diff
    然后调用方式为:https://notelive.cc/app/?tid=diff#diffd
    tid=diff表示使用 id 为diff的笔记作为模板。
    #diffd表示打开 id 为 diffd 的笔记。

    API 说明

    nlApp 对象提供了三个基本操作:
    onLoadData(callback) 读取完数据后会调用 callback(data) saveData(data) 保存数据 refreshData() 重新加载数据,会重新触发 onLoadData

    // 监听数据加载事件
    nlApp.onLoadData((data)=>{
        if(data.status==="ok"){
            document.getElementById("edit_textarea_1").value=data.data.content;
        }
    });
    
    function saveData(){
        //保存数据
        nlApp.saveData(document.getElementById("edit_textarea_2").value)
        .then(()=>{alert("保存成功");})
        .catch(msg=>{alert("失败:"+JSON.stringify(msg))})
        .finally(()=>nlApp.refreshData())
        ;
    }
    

    onLoadData 的数据格式:

    {
    	"status": "ok",// ok 成功 not_exist 数据不存在 need_pwd 需要密码 error 错误
    	"data": {
    		"title": "id",
    		"content": ""
    		},
    	"msg":"信息"
    }
    
    第 1 条附言  ·  2019-06-11 17:26:35 +08:00

    还真就没人在意。。。
    好吧,看来这是个无聊的东西了~~
    不过没关系~~ 自嗨的开心就好啦~~
    加了一个新的app: (https://notelive.cc/app/?tid=todo#d_todo)[https://notelive.cc/app/?tid=todo#d_todo]

    3 条回复    2019-06-11 17:27:40 +08:00
    rizon
        1
    rizon  
    OP
       2019-06-11 04:32:03 +08:00
    rizon
        2
    rizon  
    OP
       2019-06-11 11:36:56 +08:00
    rizon
        3
    rizon  
    OP
       2019-06-11 17:27:40 +08:00
    加了一个简单的 todo 的 app:
    https://notelive.cc/app/?tid=todo#d_todo
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1768 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:38 · PVG 00:38 · LAX 08:38 · JFK 11:38
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.