やっと業務が落ち着いたのでやっと図書管理アプリの作成に取りかかれる。
土曜:2.5h,2h,2h=6.5h
一旦今日はサインアップ・ログイン(再読み込みでstoreの情報は消える)までの実装 + 一覧画面の書籍追加ボタン・ダイアログの仮設置まで完了。
- 明日は認証情報の永続化・ログアウトで認証情報の削除 + 書籍追加処理・書籍一覧くらいまでが目標。
- ログインの確認はステートを確認して、で一旦問題なさそう???
- 再読み込みした際にログイン情報をセッションからstoreへ再格納するような処理が必要???
日曜:2.5h,2h,0.5h=5h
- 認証情報の永続化についてあまり記事がなくて詰まっている
universal-cookie
を使用してログイン時にcookieに詰める→middleware階層にてcookieからidを取得する
月曜:10h
- 以下は時間のある時にやっておきたい
- cross-envを使い環境ごとに環境変数を分ける
- qiita.com
認証情報の永続化
@nuxtjs/dotenv": "^1.4.1"
でやる
- 1.
src
配下に.env
ファイルを作成
- 2.以下のように作成(シングルクォート
''
やカンマ,
は不要)←でハマった
API_KEY = HOGEHOGE
AUTH_DOMAIN =
DATABASE_URL =
PROJECT_ID =
STORAGE_BUCKET =
MESSAGING_SENDER_ID =
APP_ID = 1::web:
MEASUREMENT_ID = G-
- 3.使う時は
process.env.API_KEY
でいける。
fireApp = firebase.initializeApp({
apiKey: process.env.API_KEY,
authDomain: process.env.AUTH_DOMAIN,
databaseURL: process.env.DATABASE_URL,
projectId: process.env.PROJECT_ID,
storageBucket: process.env.STORAGE_BUCKET,
messagingSenderId: process.env.MESSAGING_SENDER_ID,
appId: process.env.APP_ID,
measurementId: process.env.MEASUREMENT_ID
middlewareでcookie管理
import Cookies from 'universal-cookie'
export default ({ req, store }) => {
if (process.browser) {
return
}
const cookies = new Cookies(req.headers.cookie)
// ↓はログイン時にセットしたcookie
const userId = cookies.get('user_id')
store.commit('authenticate/setId', { id: userId })
}
- もう一つmiddleware
- 認証していない時はログインページへ飛ばす
/**
* 認証が必要なページで未認証の場合はリダイレクトする
*/
export default function({ store, redirect }) {
if (
store.state.authenticate.id === null ||
typeof store.state.authenticate.id === 'undefined'
) {
redirect('/login')
}
}
火曜:10h
水曜:8h
- 以下のように端末を判定してレイアウトを分けなきゃいけないか?
qiita.com
木曜:12h
- lodashで配列のなかのキーを指定してそのキーが何番目の配列にあるかを探す
- 以下は指定した組織コードに引っかかるものが何番目にあるかを探している
this.selectTabIndex = _.findIndex(this.tabs, {
sikCd: node.sikcd
})
金曜:12h
- 最終更新日付を作成するのに詰まったが配列にしてソートさせれば良いと気づいた。
dateArr.sort(function(a, b) {
return a > b ? 1 : -1
})
- これで昇順に並ぶのであとは
dateArr[dateArr.length - 1]
で一番後ろを取ればおけ。
週次報告
- 目標勉強時間:70h
- 勉強時間:63.5h
- 目標との乖離:-255.25h
- 何を得たか:nuxt.js + TypeScriptの基礎 + javascriptの基礎 + ディベロッパーツールの使い方
- 何が必要か:nuxt.js + typescriptの基礎と応用
- 来週の目標:nuxt.js + typescript + firebaseにて書籍管理アプリのモックを作成する