我正在尝试使用vuejs和laravel的护照对用户进行身份验证.
我无法弄清楚如何通过动作向vuex变异发送多个参数.
- 商店 -
export default new Vuex.Store({
state: {
isAuth: !!localStorage.getItem('token')
},
getters: {
isLoggedIn(state) {
return state.isAuth
}
},
mutations: {
authenticate(token, expiration) {
localStorage.setItem('token', token)
localStorage.setItem('expiration', expiration)
}
},
actions: {
authenticate: ({ commit }, token, expiration) => commit('authenticate', token, expiration)
}
})
Run Code Online (Sandbox Code Playgroud)
- 登录方法 -
login() {
var data = {
client_id: 2,
client_secret: '**************************',
grant_type: 'password',
username: this.email,
password: this.password
}
// send data
this.$http.post('oauth/token', data)
.then(response => {
// send the parameters to …
Run Code Online (Sandbox Code Playgroud) 在我的应用程序中,一些路由只对经过身份验证的用户可访
当未经身份验证的用户点击必须登录的链接时,他将被重定向到登录组件.
如果用户成功登录,我想在他必须登录之前将其重定向到他请求的URL.但是,如果用户在登录之前没有请求其他URL ,也应该有默认路由.
如何使用vue-router实现此目的?
router.beforeEach(
(to, from, next) => {
if(to.matched.some(record => record.meta.forVisitors)) {
next()
} else if(to.matched.some(record => record.meta.forAuth)) {
if(!Vue.auth.isAuthenticated()) {
next({
path: '/login'
// Redirect to original path if specified
})
} else {
next()
}
} else {
next()
}
}
)
Run Code Online (Sandbox Code Playgroud)
我的登录组件中的登录功能
login() {
var data = {
client_id: 2,
client_secret: '**************',
grant_type: 'password',
username: this.email,
password: this.password
}
// send data
this.$http.post('oauth/token', data)
.then(response => {
// authenticate …
Run Code Online (Sandbox Code Playgroud) 我有span
与::after
伪元素:
#someId {
font-family: Arial;
font-size: 36px;
color: red;
}
#someId::after {
content: 'B';
}
Run Code Online (Sandbox Code Playgroud)
<span id="someId">A</span>
Run Code Online (Sandbox Code Playgroud)
我想让::after
元素可见,同时隐藏主要元素。我尝试使用opacity
andfilter: opacity
和visibility
,但这没有用。如何在不操作color
属性的情况下实现所需的行为,同时保持文本可选?
谢谢你的帮助。
我想将excel文件的内容插入到我的数据库中.
我只是使用原始查询来实现这一点.
public function uploadExcel()
{
$filename = Input::file('import_file')->getRealPath();
$file = fopen($filename, "r");
$count = 0;
while (($emapData = fgetcsv($file, 10000, "\t")) !== FALSE) {
$count++;
if($count>1) {
DB::statement("INSERT INTO `members` (
member_title,
member_first_name,
member_name_affix,
member_last_name,
member_private_address,
member_private_zip_code,
member_private_location,
member_private_phone,
member_private_mobile,
member_private_fax,
member_private_mail,
member_business_position,
member_business_name,
member_business_address,
member_business_zip_code,
member_business_location,
member_business_area_code,
member_business_phone,
member_business_fax,
member_business_mobile,
member_business_mail,
member_join_date,
extra
) VALUES (
'$emapData[0]',
'$emapData[1]',
'$emapData[2]',
'$emapData[3]',
'$emapData[4]',
'$emapData[5]',
'$emapData[6]',
'$emapData[7]',
'$emapData[8]',
'$emapData[9]',
'$emapData[10]',
'$emapData[11]',
'$emapData[12]',
'$emapData[13]',
'$emapData[14]',
'$emapData[15]',
'$emapData[16]',
'$emapData[17]',
'$emapData[18]',
'$emapData[19]',
'$emapData[20]', …
Run Code Online (Sandbox Code Playgroud) 我有一个日历(.ics
文件).我想创建一个按钮,单击该按钮,打开iCal
文件iOS Calendar
并询问您是否要将其添加到您的iOS Calendar
(如在互联网上的某些网站上:http://icaltv.com/calendars/all-tv-shows/)
那可能吗?
我尝试打开它,UIDocumentInteractionController
但没有用.
谢谢你提前.
编辑:
我找到的临时解决方案是:
NSString *url = @"webcal://url.ics";
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用VueJS作为前端和Laravel作为后端来构建单页应用程序(SPA).
我使用laravel的护照来管理身份验证令牌等.
data() {
return {
email: '',
password: '',
}
},
methods: {
login() {
var data = {
client_id: 2,
client_secret: '****************************',
grant_type: 'password',
username: this.email,
password: this.password
}
// send data
this.$http.post('oauth/token', data)
.then(response => {
// authenticate the user
this.$store.dispatch({
type: 'authenticate',
token: response.body.access_token,
expiration: response.body.expires_in + Date.now()
})
// redirect after successful login
if (this.$route.query.from)
this.$router.push(this.$route.query.from)
else
this.$router.push('/feed')
})
}
}
Run Code Online (Sandbox Code Playgroud)
从后端获取用户信息(刷新页面后正常工作)
setUser () {
// this route throws …
Run Code Online (Sandbox Code Playgroud) 我刚开始laravel和所有我想要做的就是下面的查询工作雄辩:
INSERT INTO geschichte (geschichte_id,
geschichte_text1,
geschichte_text2,
geschichte_text3)
VALUES (:geschichte_id,
:geschichte_text1,
:geschichte_text2,
:geschichte_text3)
ON DUPLICATE KEY
UPDATE geschichte_id = :geschichte_id,
geschichte_text1 = :geschichte_text1,
geschichte_text2 = :geschichte_text2,
geschichte_text3 = :geschichte_text3;
Run Code Online (Sandbox Code Playgroud)
控制器功能
public function alterGeschichte(Request $request)
{
$geschichte1 = new Geschichte;
$geschichte2 = new Geschichte;
$geschichte3 = new Geschichte;
$geschichte1 = Geschichte::updateOrCreate(
['id' => 1],
['geschichte_text1' => $request->geschichte_text1]
);
$geschichte2 = Geschichte::updateOrCreate(
['id' => 2],
['geschichte_text2' => $request->geschichte_text2]
);
$geschichte3 = Geschichte::updateOrCreate(
['id' => 3],
['geschichte_text3' => $request->geschichte_text3] …
Run Code Online (Sandbox Code Playgroud) 我的数据库表:
TABLE `events` (
`event_id` INT(11) unsigned NOT NULL AUTO_INCREMENT,
`event_title` VARCHAR(255) NOT NULL,
`event_desc` TEXT,
`event_location` VARCHAR(255) NOT NULL,
`event_requirements` TEXT DEFAULT NULL,
`event_date` DATETIME NOT NULL,
PRIMARY KEY (`event_id`)
Run Code Online (Sandbox Code Playgroud)
目标:当在选择下拉菜单中选择一个事件时,我想在下面的div中显示属于该事件的其余数据库数据。解决问题
的尝试(在MVC体系结构中):
控制器
function index()
{
$overview_model = $this->loadModel('Events');
$this->view->events = $overview_model->getEventTypes();
$this->view->render('events/index');
}
Run Code Online (Sandbox Code Playgroud)
模型
public function getEventTypes()
{
$sth = $this->db->prepare("SELECT * FROM events");
$sth->execute();
$events = array();
foreach ($sth->fetchAll() as $event) {
$events[$event->event_id] = new stdClass();
$events[$event->event_id]->event_id = $event->event_id;
$events[$event->event_id]->event_title = $event->event_title;
$events[$event->event_id]->event_desc …
Run Code Online (Sandbox Code Playgroud) 我正在尝试为我的选择下拉列表设置占位符(例如"选择..."或类似的东西).我知道这在"静态"下拉中是如何工作的.但是,我不知道如何在数据库中获取下拉列表.
我的代码:
<label>Please choose an event:</label>
<select id="select-event-type">
<?php foreach ($this->events as $event) {
echo "<option value='" .$event->event_id. "'>" .$event->event_title."</option>";
}?>
</select>
Run Code Online (Sandbox Code Playgroud)
一切正常.我只是想在下拉加载时显示"选择..."而不是我的数据库中的第一个条目,并且在打开下拉列表后无法再选择占位符.
我真的很陌生,我非常感谢任何帮助!
laravel ×3
php ×3
vue.js ×3
vuejs2 ×3
html ×2
vuex ×2
calendar ×1
css ×1
eloquent ×1
escaping ×1
ios ×1
javascript ×1
jquery ×1
json ×1
laravel-5.2 ×1
objective-c ×1
redirect ×1
vue-router ×1