小编Sch*_*esi的帖子

Vuex - 将多个参数传递给操作

我正在尝试使用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)

vue.js vuex vuejs2

86
推荐指数
3
解决办法
7万
查看次数

使用vue-router登录后重定向到请求的页面

在我的应用程序中,一些路由只对经过身份验证的用户可访
当未经身份验证的用户点击必须登录的链接时,他将被重定向到登录组件.

如果用户成功登录,我想在他必须登录之前将其重定向到他请求的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)

redirect vue.js vue-router vuejs2

27
推荐指数
4
解决办法
3万
查看次数

CSS - 主要元素的不透明度而不是伪元素(::after, ::before)

我有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元素可见,同时隐藏主要元素。我尝试使用opacityandfilter: opacityvisibility,但这没有用。如何在不操作color属性的情况下实现所需的行为,同时保持文本可选
谢谢你的帮助。

html css pseudo-element

7
推荐指数
1
解决办法
5225
查看次数

在Laravel中使用引号转义字符串

我想将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)

php escaping mysql-real-escape-string laravel

6
推荐指数
1
解决办法
2万
查看次数

将我的应用中的.ics文件添加到iOS日历中

我有一个日历(.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)

calendar objective-c ios

5
推荐指数
0
解决办法
885
查看次数

Laravel API - 身份验证在重新加载页面后才起作用

我正在尝试使用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 vue.js vuex vuejs2 laravel-passport

5
推荐指数
1
解决办法
818
查看次数

在Eloquent中的DUPLICATE KEY UPDATE

我刚开始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)

laravel eloquent laravel-5.2

3
推荐指数
3
解决办法
7569
查看次数

与JSON相关的错误:意外的令牌o

我的数据库表

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)

javascript php jquery json

0
推荐指数
1
解决办法
565
查看次数

如何为选择下拉菜单设置占位符

我正在尝试为我的选择下拉列表设置占位符(例如"选择..."或类似的东西).我知道这在"静态"下拉中是如何工作的.但是,我不知道如何在数据库中获取下拉列表.

我的代码:

<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)

一切正常.我只是想在下拉加载时显示"选择..."而不是我的数据库中的第一个条目,并且在打开下拉列表后无法再选择占位符.
我真的很陌生,我非常感谢任何帮助!

html php

0
推荐指数
1
解决办法
1887
查看次数