最近在做一个 LINE chatbot 和 LIFF Web APP
不过因为用 Vue.js 开发,发现 Vue-router 的 hash 没有正确传递
看了一下才发现是因为 LIFF 把 LINE 的各种 access token 丢在 hash 里
所以就做一支 liff-hand 用来解决问题,不过我也没研究是否有其他更好的解决方法
用途跟用法写在 README.md 内
GitHub
https://github.com/melixyen/liff-hand
除了解决 hash 问题外也顺便处理跳转页面时的问题
其实想要在别的页面继续使用 LIFF 也可以,把原本的 token 资讯继续带往下一页就好
我没有试过跨网域能不能用,但在同一个网域下可以
也有试过开发时把手机拿到的 token 贴到电脑上开发但 init 都会失败
简述 liff-hand用法
1. liff-hand 要在 liff 的 sdk.js 之后引入,它会把自己绑在 liff.$hand 之下
2.请把原本的 hash 内容带在 &hashpath= 里面
3.LIFF 初始化完成后请执行 liff.$hand.changeHash(),程式会帮你把 token 备份
4.要跳转到其他页面时请执行 liff.$hand.goto(url),程式会帮你把 token 带上
并自动把你原本网址中的 hash 放进 hashpath 内传过去
在下一个页面一样初始化 liff 跟执行 liff.$hand.changeHash() 就好
不知道未来 LIFF 会不会有自己的市集以及捷径直接嵌在聊天室的功能内用
不然现在只能靠贴上 line://app 网址来用