欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

LINE 项目总结

程序员文章站 2022-05-09 12:02:56
前段时间做了一个“国外的公众号”,为什么说是国外的公众号呢,因为他和微信的公众号有很多共通之处。当然了也有很多不同的地方,第一个要说的就是,我在打印信息的时候,使用的alert()弹窗,但是后台才发现,LINE中的弹窗中的内容是不能用逗号分隔的。请看下面的代码: 在LINE中就只能打印个1,然后后面 ......

  前段时间做了一个“国外的公众号”,为什么说是国外的公众号呢,因为他和微信的公众号有很多共通之处。当然了也有很多不同的地方,第一个要说的就是,我在打印信息的时候,使用的alert()弹窗,但是后台才发现,line中的弹窗中的内容是不能用逗号分隔的。请看下面的代码:

1 alert(1,2,3);

在line中就只能打印个1,然后后面的2,3是不能显示的,这个是最初做的时候很疑惑的东西。解决办法也是很简单,就是使用字符串拼接上就可以了。

  然后是line的登录,这个就是为什么我说是国外的公众号的原因了,因为他的登录基本上和微信的登录是一样的。具体过程就是前端需要率先访问一个line的网址,访问这个网址的时候,需要带上我们参数,其中会有一个参数是回调地址url,访问line的地址,会按照那个参数跳回来,然后在url后面添加上code参数。请看下面的代码:

 1         /**
 2          * line网页版登录,通讯验证给予oauth2.0
 3          * @param client_id line后台配置的id,请联系相关人员索要 就是line当中的channel id 1601124***
 4          * @param gameurl 游戏地址,登录后会跳转到此地址并携带可使用一次的code
 5          * state 是咱们自定义的参数
 6          */
 7         //client_id: string, gameurl: string, state: string
 8         function login(client_id,gameurl,state) {
 9             let url = encodeuricomponent(gameurl);
10             //window.open('https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id=' + client_id + '&redirect_uri=' + url + '&state=' + state + '&scope=openid%20profile&nonce=gzmjtw2019');
11             window.location.href = 'https://access.line.me/oauth2/v2.1/authorize?response_type=code&client_id=' + client_id + '&redirect_uri=' + url + '&state=' + state + '&scope=openid%20profile&nonce=gzmjtw2019';
12         }

 11行就是那个line的网址,client_id是在创建这个应用的时候给的一个固定的id,然后gameurl就是跳回来的网址,需要说明的一点是,这个需要进行encodeuri。

  第二点需要注意的是,我们会需要一个uerid,我们是这样获取的。

  首先是引入line的sdk

1 <script src="https://d.line-scdn.net/liff/1.0/sdk.js"></script>

  然后在js中需要一下的代码:

1     function initapp(data){
2             line_userid = data.context.userid;//"u3164697f9daea7dcc5c69fde8bf4a***";
3             
4         }
5         window.onload=function(){
6             liff.init(data=>{
7                 initapp(data);
8             });
9         }

这样就能获取到这个用户在这个应用下的唯一id了。

  然后有了上面的code和用户的唯一id传给后台,后台就能获取到很多信息了。具体内容就需要根据业务需求来确定了,我们的业务是确定登录人在我们系统中的身份。然后继续进行下一步的操作,然后这个uerid我会保存到sessionstorage 中,以便以后确定操作人等。这里附上一个我自己做的流程图,方便以后查阅。

LINE 项目总结