2020年3月31日 星期二

axios 加上before after處理

使用axios如果需要在
request送出前 加工送出去的資料
或接收到response後 加工收到的結果
可以使用這樣的結構去攔截修改
1.建立request物件
2.送出request前加工送出資料
  可以加入header或調整送出內容
3.接收到api回應後 做資料整理

const myRequest = axios.create({
  ...
})
myRequest.interceptors.request.use(config => {
  // 修改config內容 就是
  config.headers[xxx] = xxxx //加上header
  return config
})
myRequest.interceptors.response.use(
  response => {
    .... // 自行處理
    return response 
})
例如axios送出資料
需要以x-www-form-urlencoded 格式送出
除了需要加上content-type設定外
還需要在送出去之前 對於資料先做轉換(需另外用qs處理)
import Qs from 'qs'
myRequest.request.use(config => {
  config.data = Qs.stringify(config.data)
  return config
})

2020年3月27日 星期五

Klima - Fluorescent Stars

假日裡 當所有的人在酒吧裡狂歡
我只想一個人靜靜的躺在床上
閉上眼 數著一個 又一個 滿天的星星


小時候 躺在床上睡覺
眼睛盯著天花板
在天花板上 貼上螢光貼紙
黑暗中 一點點的亮光 總讓人可以進入彷彿
浩瀚 未知的世界
從沒想過 可以貼滿整面的牆
讓螢光的黃色星光 閃爍在黑暗中
這是遙遠的想像

Klima的專輯 已經在電腦裡躺了很久
打開才發現自己錯過了這個聲音好久

Fluorescent Stars

It's saturday night
And i don't want to go out
I'm staying in bed
Watching the stars on my wall
My friends are in a bar
Drinking beers and telling jokes
I'm here on my own
Counting the stars
So many of them
My eyes are closing
So many of them
One, two, three, four hundred
The noise from the street
Is coming to my ears
But they've decided to be deaf tonight
And concentrate on the stars
So many of them
My eyes are closing
So many of them
One, two, three four hundred

2020年3月21日 星期六

dart專案建立與基本指令使用

1.dart安裝與環境設定
  透過dart官網說明即可順利安裝dart sdk
  https://dart.dev/get-dart
  dart也有像npm一般可以取得其他網路上open的package的地方
  https://pub.dev/
2.環境設定
  pub指令相當於node的npm指令 用來安裝或執行
  dart 安裝好即包含了pub指令 就如同node安裝好也會帶有npm一樣
  但需要設定路徑到系統內可以確保指令可以被認得
  mac因為是透過homebrew安裝dart 所以不需要特別設定就可使用
  linux需要設定在rc檔案內(ex: .bashrc或 zshrc)加入路徑
export PATH="$PATH:/usr/lib/dart/bin"
export PATH="$PATH":"$HOME/.pub-cache/bin"
3.建立專案
  dart 本身提供可以建立預設專案模板的工具stagehand
  我們需要先透過pub指令來安裝stagehand
  之後就可以透過stagehand來產生各種預設的專案目錄
pub global activate stagehand // 安裝stagehand
stagehand // 列出可用的樣本
stagehand // ex: stagehand console-simple 產生樣板
  目錄下pubsepc.yaml為專案的設定檔案包含專案內需要使用的package都寫在這裡
  注意:要先產生目錄 在目錄內執行 產生樣板的指令
4.pub指令
  pub與npm的差異是透過pub global安裝package會將package統一存放在
  .pub-cache目錄下 再提供各專案使用
1.pub global activate: 由網路上安裝新的package 會安裝到 .pub-cache/global_packages下
2.pub global list: 列出已經安裝可以使用的pacckage
3.pub get: 如果目錄下已經有pubsepc.yaml設定檔案 會依照設定安裝package
4.pub upgrade: 將目錄下pubsepc.yaml已經設定的package 升級
5.pub downgrade: 反過來做package降級
6.pub run 執行指定的檔案
   ex: pub run bin/main  等同執行  dart bin/main.dart
  參考https://dart.dev/tools/pub/cmd
5.dart與node 對照
dart ==== node
pub  ==== npm
pubsepc.yaml === package.json
pub get=== npm install

2020年3月6日 星期五

android 無線adb連接設定

很久就有的功能了
最近用到 記錄一下
在做android app測試 需要直接deploy到實體機器上
通常都會需要使用usb線連到工作電腦上
在device上開啟開發者模式
就可以在電腦上透過adb devices檢查是否有連上設備
有看到就可以直接deploy app到設備上

也可以透過區域網路以無線的方式連接
不過在設定上還是需要先透過usb線連上
再設定
以下紀錄連線的流程
1.將手機使用usb線連接電腦
2.adb tcpip 12345
  設定以手機以12345 port與電腦連接
3.拔除usb線
4.查看手機目前wifi取得的ip(ex:192.168.0.9)
5.電腦 adb connect 192.168.0.9:12345
  連線
6.再用adb devices檢查
  就可以看到有一個 192.168.0.9:12345的device
7.恢復改用usb
  adb usb 就可以了
這時候就可以如同接上usb線一般做各種測試
或透過chrome inspect查看手機內應用程式的狀況