由于经常要向用户介绍本次更新了哪些特性,于是做了一个 guideline 前端组件 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
yamedie
V2EX    分享创造

由于经常要向用户介绍本次更新了哪些特性,于是做了一个 guideline 前端组件

  •  
  •   yamedie 2022-02-28 20:35:48 +08:00 2587 次点击
    这是一个创建于 1379 天前的主题,其中的信息可能已经有所发展或是发生改变。

    由于经常要向用户介绍本次更新了哪些特性,于是做了一个 guideline 前端组件

    发现一个挺好的名字没被占用,就叫它 web-assistant

    实现那种黑色遮罩层+聚光灯式的步骤演示,让用户自己一步一步点击将所有步骤看完

    demo

    除了 guideline 以外,还做了类似轮播图式的“intro 组件”,以及纯遮罩层和吐司,都集成在这同一个库,接下来还想做一个“意见反馈组件”也集成进去

    在 npm 开源了,地址是 https://www.npmjs.com/package/web-assistant

    demo 页面由于人比较懒,没有做得很花哨(简陋到可怕),但 show code 那里通过 function.toString()和 window.eval()的方式,做了个好玩的代码编辑器效果,算是个丐版的 codepen 吧

    其实开发到半途看到intro.js这个库了,但感觉它跟我想要的不太一样,还是坚持把轮子造完了,实现了自己想要的效果。onNext 如果传入 async function 可以做很多酷炫的操作,比如用户一路点击“下一步”,页面自动填写完表单并提交。由于用了 async/await ,虽然最终提交成功的 dom 对象在一开始并不存在,但最后仍能将它高亮给用户看,整个过程很像 puppeteer 那种感觉。

    组件用 svelte 开发的,我最近一年很迷 svelte (虽然自己用得并不很熟练),觉得它特别适合用来开发 web components

    依赖了 html2canvas 这个库,大部分场景应该没问题,如果高亮的内容里包含跨域图片也许会翻车吧

    6 条回复    2022-07-26 16:59:25 +08:00
    vsitebon
        1
    vsitebon  
       2022-02-28 20:45:25 +08:00
    正好可以参考看看 svelte 当组件的写法
    qq316107934
        2
    qq316107934  
       2022-02-28 20:49:59 +08:00
    rv54ntjwfm3ug8
        3
    rv54ntjwfm3ug8  
       2022-02-28 21:01:31 +08:00
    感觉不如文档读起来舒服
    rioshikelong121
        4
    rioshikelong121  
       2022-03-01 14:20:49 +08:00
    你这个库功能也太多了。toast 都提供了。
    yamedie
        5
    yamedie  
    OP
       2022-03-08 17:59:05 +08:00
    Feedback 功能终于也完成了~
    yamedie
        6
    yamedie  
    OP
       2022-07-26 16:59:25 +08:00
    append: 又增加了一个 cursor 功能(玩具向), 可以在界面中显示一个假的鼠标指针, 从指定的起点滑动到终点
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     1300 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 23:58 PVG 07:58 LAX 15:58 JFK 18:58
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86