V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
rizon
V2EX  ›  分享创造

谁能想到这里还藏着一个“小程序”功能~ 在线记事本的周边小功能:小程序

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

    写在前面的废话

    这两天情绪有些很迷,就经常刷 v2,感受就是大家在活在同一个时间点,同一片天空下同一个土地上,可灵魂却完全活在不一样的世界里。

    看到各种发自己做的各种东西的帖子,也想到了不久前还热情与激情的自己,也想到了自己以前在 v2 激动的发出自己的产品———— notelive.cc 在线记事本
    打开网页,看了看,虽然不火,没几个人用,但是感觉真的是做的挺好的一个产品呀,唉。 虽然存在一些性能和稳定性问题(出于学习目的采用了不熟悉的 nodejs 开发后端,而前端更是边学边写),但是因为使用频率低,又没几个人用,所以也就没太多动力去修复,也不影响用就是了。 等工作不忙的时候找时间优化吧~~


    看这个,这里是正文

    这个记事本有一个隐藏的没有写在帮助文档里的功能,就是小程序功能,先贴示例再讲解: https://notelive.cc/app/?tid=todo

    简化描述就是: 使用记事本 notelive.cc 去写一个单页面的应用,然后使用 "notelive.cc/app/?tid={应用的 ID 值}" 去打开就是你的应用了。 比如示例中的 todo 应用的源码就是 https://notelive.cc/#todo 这个。

    打开应用后会像记事本一样通过 hash 值来指定或分配一个 ID,然后在你写的应用中可以调用提供给你的一个函数 nlApp,这个函数提供了存储数据的读取和写入的功能,所谓存储数据分配给这个 ID 的存储空间。

     nlApp.onLoadData((data)=>{
           console.log(data);
        });
     nlApp.refreshData();
     nlApp.saveData(data).catch(msg=>{alert("保存失败")});
    

    函数使用细节可以看 todo 示例的源码

    这里再提供一个示例 App 数据 diff 功能: https://notelive.cc/app/?tid=diff#test
    这里 #test 就是打开 test 这个记事本的内容,然后可以做文本对比。

    ps. 以上两个示例 todo 和 diff 的源码都是网上找的。

    写在后面的废话

    不知道啊为啥要发个帖子写这东西,大概是有些无聊吧,想着也许有 v 友可以给提供个有意思的 app 吧,但是也担心有人会恶意使用这个功能,毕竟本人能力精力有限没法去做安全性上的事情,不过又想反正也只是个自用的小产品,没什么影响力应该没关系。
    所以还望 v 友如果有兴趣尝试,还请善意使用,个人小作品经不起折腾,大家用个方便就好了。


    谢谢大家~~~

    7 条回复    2019-11-25 13:54:35 +08:00
    Elecoxy
        1
    Elecoxy  
       2019-11-20 15:12:15 +08:00
    挺有意思的 加油吧
    imdong
        2
    imdong  
       2019-11-20 15:22:33 +08:00
    接口比较慢,是这会访问的人多?

    加个 loaging 吧,还以为错了呢。
    imdong
        3
    imdong  
       2019-11-20 15:24:29 +08:00
    小程序页面 的 queryOne 应该是 获取代码吧,换成 get,好加缓存。
    不然人多点会拖垮你的,用 cdn 来做一道缓存,速度会快很多。
    rizon
        4
    rizon  
    OP
       2019-11-20 16:34:17 +08:00
    @imdong #3
    谢谢建议,其实这个是有支持缓存的 api 接口也可以用来拉取数据,有时间换一下。

    后台有时候就是会没响应,pm2 管理的 nodejs 服务,看接口请求也过去了,但是就是不返回,重启一下就好了,还没找出问题在哪,初步怀疑是 mongodb 连接池配置有问题,mongodb 也好 nodejs 也好 都不是很熟悉。 连接池优化过一次了看样子是没效果,再研究下吧
    rizon
        5
    rizon  
    OP
       2019-11-20 16:39:24 +08:00
    @imdong #3 关于 cdn 做缓存,这个我知道的只是缓存页面资源吧? 接口也能缓存? 因为页面我用的 wpa,所以倒是不会有太多问题,主要是腾讯的 1m 小水管的机器,真的也就只能自用了。。。
    1239305697
        6
    1239305697  
       2019-11-21 00:42:10 +08:00
    ⎛⎝。◕⏝⏝◕。⎠⎞
    iblessyou
        7
    iblessyou  
       2019-11-25 13:54:35 +08:00
    啊 如果不是突然想起,都忘了关注你了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3106 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:45 · PVG 18:45 · LAX 02:45 · JFK 05:45
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.