Nuxt.jsでaxiosモジュールを使って通信を行う場合、リクエストへ認証情報追加やエラーハンドリングなどの共通処理をaxiosプラグインに定義できる。
Vueコンポーネントなどでaxiosによる通信を行う場合はこれらの共通処理を利用することができるが、自作のAPIクラスでは利用できない問題を、APIを登録する自作プラグインの登録により解決する方法について記述する。
axiosを利用するAPIクラスを実装し、これをインポートして通信を行う。
Nuxt.jsでaxiosモジュールを使って通信を行う場合、リクエストへ認証情報追加やエラーハンドリングなどの共通処理をaxiosプラグインに定義できる。
Vueコンポーネントなどでaxiosによる通信を行う場合はこれらの共通処理を利用することができるが、自作のAPIクラスでは利用できない問題を、APIを登録する自作プラグインの登録により解決する方法について記述する。
axiosを利用するAPIクラスを実装し、これをインポートして通信を行う。
| var TARGET_LINES = [ | |
| // [JR東日本] | |
| // 東海道方面 | |
| {name: '東海道線', company: 'JR東日本', website: 'https://traininfo.jreast.co.jp/train_info/kanto.aspx'}, | |
| {name: '京浜東北線', company: 'JR東日本', website: 'https://traininfo.jreast.co.jp/train_info/kanto.aspx'}, | |
| {name: '横須賀線', company: 'JR東日本', website: 'https://traininfo.jreast.co.jp/train_info/kanto.aspx'}, | |
| {name: '南武線', company: 'JR東日本', website: 'https://traininfo.jreast.co.jp/train_info/kanto.aspx'}, | |
| {name: '横浜線', company: 'JR東日本', website: 'https://traininfo.jreast.co.jp/train_info/kanto.aspx'}, | |
| {name: '伊東線', company: 'JR東日本', website: 'https://traininfo.jreast.co.jp/train_info/kanto.aspx'}, | |
| {name: '相模線', company: 'JR東日本', website: 'https://traininfo.jreast.co.jp/train_info/kanto.aspx'}, |
| var token = '*********************'; // トークン | |
| function doPost(e) { | |
| var verificationToken = e.parameter.token; | |
| if (verificationToken !== token) { | |
| throw new Error('Invalid token'); | |
| } | |
| var translationText = e.parameter.text; | |
| if (translationText === '') { |
| // https://gist.github.com/think49/54b074cab2145efddb48765652c74710 | |
| /** | |
| * eval-calculation.js | |
| * evaluate calculation formula. | |
| * | |
| * @version 1.0.0 | |
| * @author think49 | |
| * @url https://gist.github.com/think49/54b074cab2145efddb48765652c74710 | |
| * @license http://www.opensource.org/licenses/mit-license.php (The MIT License) |