目前,我使用护照功能在 Laravel 中制作的 api 具有登录、注册、更新和删除功能。使用此api插入数据并从数据库中获取数据一切正常。现在我想知道,当令牌过期时,如何自定义api的响应。令牌的到期也工作正常。它会自动显示此消息
{ "message": "Unauthenticated" }
这是路由的代码,它受我的 Oauth 令牌保护,如果用户没有先登录,则用户未经过身份验证以浏览路由
Route::middleware('auth:api')->get('/user', function (Request $request){return $request->user();});
Route::post('/timekeeping','Auth\Api\AuthController@timekeeping');
Route::post('/login','Auth\Api\AuthController@login');
Route::middleware('auth:api')->group(function () {Route::post('/timekeeping_app','Auth\Api\AuthController@timekeeping_app');
Route::post('/logout','Auth\Api\AuthController@logout');
Route::post('/register','Auth\Api\AuthController@register');
Route::post('/show_dtr_list','Auth\Api\AuthController@show_dtr_list');
Route::post('/update','Auth\Api\AuthController@update');
Route::post('/delete','Auth\Api\AuthController@delete');
});
Run Code Online (Sandbox Code Playgroud)
然后这就是每当用户成功登录、注册甚至注销他们的帐户时我的响应方式。
return response(['status'=>'oK','message'=>'Successful!']);
我想要的是每次用户使用过期令牌时。api 应该像这样响应
{ "message": "Token is expired" }
不只是
{ "message": "Unathenticated" }
一些线程讨论说我需要覆盖 laravel 的一些功能,但我不知道我要从哪里开始以及如何开始。
目前开始学习MVVM Kotlin。这个youtube教程非常令人困惑,但直截了当。
https://www.youtube.com/watch?v=0LaUXQcGuT0&t=254s
我的标题中有这个错误。
这段代码触发了我的错误 MainActivity
所以这是我的Module:app( build.gradle)
依赖关系
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
//Config data binding compiler with Kotlin
kapt 'com.android.databinding:compiler:3.1.1'
//LifeCycle Extensions
implementation 'android.arch.lifecycle:extensions:1.1.1'
//Toasty to show Toast
implementation 'com.github.GrenderG:Toasty:1.2.8'
}
Run Code Online (Sandbox Code Playgroud)
数据绑定
dataBinding{
enabled=true
}
Run Code Online (Sandbox Code Playgroud)
应用插件
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
apply plugin: "org.jetbrains.kotlin.kapt"
apply plugin: 'kotlin-kapt'
Run Code Online (Sandbox Code Playgroud)
我的 activity_main.xml
<data>
<variable
name="viewModel"
type="com.example.rnd.kotlinmvvmlogin.ViewModel.LoginViewModel"/>
</data>
Run Code Online (Sandbox Code Playgroud)
这是我的 MVVM …
因此,在我的实例中LoginController.php,,我启动了一个不同的会话post request variables,其中会话代码位于 auth 的经过身份验证的函数内。
protected function authenticated(Request $request, User $user){
$request->session()->put('param1',$param1);
$request->session()->put('param2',$param2);
$request->session()->put('param3',$param3);
.....
}
Run Code Online (Sandbox Code Playgroud)
我可以像这样在不同的控制器中轻松访问这些会话
$request->session()->get('param1')
我还在注销触发时放置了此代码。
session()->flush();
但我也需要保护我的route如果这些session exists或not
我想做的是如果会话不存在web.php则不允许用户访问这些路由
Route::group(['middleware'=> ['auth']], function(){
Route::get('/pay', 'PayController@index');
Route::post('pay/getReceipt', 'PayController@getReceipt')->name('getReceipt');
....
});
Run Code Online (Sandbox Code Playgroud) 所以我有这段代码
myTask[] 是这样的选择选项
<select name="myTask[]" class="myTask" id="myTask1">
<option value="1">Task1</option>
<option value="2">Task1</option>
<option value="3">Task1</option>
</select>
<select name="myTask[]" class="myTask" id="myTask2">
<option value="1">Task1</option>
<option value="2">Task2</option>
<option value="3">Task3</option>
</select>
<select name="myTask[]" class="myTask" id="myTask3">
<option value="1">Task1</option>
<option value="2">Task2</option>
<option value="3">Task3</option>
</select>
Run Code Online (Sandbox Code Playgroud)
并select使用此代码轻松获取这些值。
JavaScript
var task = document.getElementsByName('myTask[]');
for (var i = 0, iLen = task.length; i < iLen; i++) {
alert(task[i].value);
}
Run Code Online (Sandbox Code Playgroud)
但是我想将它们存储在一个var用逗号分隔的位置。
如果用户选择task不同select
的值 var应该是这样的
var arrTask = [2, 3, 1];
我正在尝试将所有选定的值从3 select存入1var
目前我有这张leaflet.js地图
<div id="myMap" style="width: 100%; height:300px;"></div>
<script>
// This setup the leafmap object by linking the map() method to the map id (in <div> html element)
var map = L.map('myMap', {
center: [14.599512, 120.984222],
zoom: 13,
// minZoom: 1.5,
// maxZoom: 1.5
});
// Start adding controls as follow... L.controlName().addTo(map);
// Control 1: This add the OpenStreetMap background tile
L.tileLayer('http://{s}.tile.osm.org/{z}/{x}/{y}.png', {
attribution: '© <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
}).addTo(map);
// Control 2: This add a scale to the map
L.control.scale().addTo(map); …Run Code Online (Sandbox Code Playgroud)