angularjs+lumen+datatable 初体验

jquery datable 基本上是我现在处理表格首选的插件了。

不过以前我的项目基本上都是ci+jquery  所以用的比较顺手,

如今项目基本上前后端都换了框架,所以还要有一段时间需要适应

不过好在不用去重复造轮子,前辈们已经给出了很好的库

 

前端angulajrs使用的库:

https://github.com/l-lin/angular-datatables

 

因为我使用的是server-side模式,所以后端要有相应的构造方法

后端laravel使用的库

https://github.com/yajra/laravel-datatables/

不过这个是laravel的库,所以在lumen上使用上要进行一些改造才能使用。

Lumen+Dingo+JWT+Angularjs架构设计

最近我的一个webapp 使用了lumen+dingo+JWT+Angularjs的架构,主要是参考了以下几篇文章

有时间,我也自己做个demo吧

 

主要参考后端的部署

http://laravelista.com/json-web-token-authentication-for-lumen/( 英文)

http://blog.csdn.net/hooloo/article/details/49714259(中文)

https://thinkster.io/angularjs-jwt-auth(英文)

主要参考angularjs的设计部分

http://www.toptal.com/web/cookie-free-authentication-with-json-web-tokens-an-example-in-laravel-and-angularjs(英文)

http://zhuanlan.zhihu.com/FrontendMagazine/19920223(中文)

一个dem0

https://github.com/0plus1/lumendingojwtapi(英文)

jwt-auth 使用部分问题汇总

1、Token Not Provided 

请求的header中已经构造了token,但是请求的后台的时候仍然提示Token Not Provided ,主要原因是后台服务器的可能过滤了相关头。例如apache可以进行如下设置

在public目录的.htaccess中增加以下配置

RewriteCond %{HTTP:Authorization} ^(.*)

RewriteRule .* – [e=HTTP_AUTHORIZATION:%1]

2、user not found

如果不是使用的默认的user表,而是重写了model,可以在config/jwt.php中指定identifier的值,但是我指定了并没有效果,而是在model文件中 设置了$primaryKey变量才有效。

protected $primaryKey = ‘xx’;

Laravel/Lumen cors跨域支持

使用lumen做后端api开发,前端使用的是angularJS ,需要使用到options请求和跨域。

再github上找到一个很不错的gist 供大家参考:

 

主要就是2个文件:

CatchAllOptionsRequestsProvider.php

主要就是为了接收options请求

CorsMiddleware.php

主要是为了解决跨域

 

可以根据自己的需要在bootstrap/app.php里进行注册加载。