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

2019-06-11 02:26:43 +08:00
 rizon

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":"信息"
}
1194 次点击
所在节点    程序员
3 条回复
rizon
2019-06-11 04:32:03 +08:00
rizon
2019-06-11 11:36:56 +08:00
rizon
2019-06-11 17:27:40 +08:00
加了一个简单的 todo 的 app:
https://notelive.cc/app/?tid=todo#d_todo

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/572650

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX