ThinkJS Service(服務(wù))

2021-09-17 10:29 更新

Service

有時候項目里需要調(diào)用一些第三方的服務(wù),如:調(diào)用 Github 相關(guān)接口。如果直接在 controller 里直接調(diào)用這些接口,一方面導(dǎo)致 controller 代碼比較復(fù)雜,另一方面也不能更多進行代碼復(fù)用。

對于這些情況,可以包裝成 service 供 controller 里調(diào)用。

創(chuàng)建 service

可以通過命令 thinkjs service [name] 來創(chuàng)建命令,具體使用請見 擴展功能 -> ThinkJS 命令 -> 添加 service。

默認(rèn)生成的 service 是一個 class,但有些 service 直接提供一些靜態(tài)方法即可,這時候可以把 class 改為對象即可。

加載 service

可以通過 think.service 加載一個 service,如:

export default class extends think.controller.base {
  indexAction(){
    let GithubService = think.service("github");
    let instance = new GithubService();
  }
}

如果想跨模塊加載 service,可以通過下面的方式:

export default class extends think.controller.base {
  indexAction(){
    let GithubService = think.service("github", "admin"); //加載 admin 模塊下的 github service
    let instance = new GithubService();
  }
}

注: 如果項目不是特別復(fù)雜,建議把 service 放在 common 模塊下,可以就都可以方便的加載了。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號