欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

goframe重寫FastAdmin后端實(shí)現(xiàn)實(shí)例詳解

 更新時間:2023年12月10日 15:55:51   作者:IoTFast  
這篇文章主要為大家介紹了goframe重寫FastAdmin后端實(shí)現(xiàn)實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

引言

時間大約是三年前,當(dāng)時我所在的團(tuán)隊(duì)是最早接觸 PHP 的,而團(tuán)隊(duì)其他成員都是用 Java。由于某些項(xiàng)目原因,我們決定全面轉(zhuǎn)向使用 GO 進(jìn)行開發(fā)。在當(dāng)時,我們并不想花太多時間去折騰 REACT 和 VUE 這些前端框架,我們更傾向于使用 jQuery 來開發(fā),因?yàn)槲覀兿矚g它的快感。

于是我想到了一個基于 ThinkPHP 和 Bootstrap 的快速后臺開發(fā)框架,叫做 FastAdmin。我之前使用過它做過項(xiàng)目,發(fā)現(xiàn)速度很快,而且學(xué)習(xí)成本也很低。于是,我們決定將原本用 ThinkPHP 寫的后端代碼用 Goframe 重新實(shí)現(xiàn)了一遍,并且使用 FastAdmin 的前端規(guī)范和框架。我們內(nèi)部把它叫做 FastGoAdmin。

原本我想花點(diǎn)時間整理一下代碼,將業(yè)務(wù)邏輯和框架分離,然后開源分享出來。但由于一直忙于產(chǎn)品開發(fā),沒有時間進(jìn)行整理。今天我先在這里留個記錄,如果有很多人關(guān)注的話,我就會花時間整理代碼并開源出來。另外,我也要感謝 FastAdmin 的作者,他提供了一個簡單易用的設(shè)計思想。

FastGoAdmin 框架

FastGoAdmin 框架支持一鍵生成 CRUD,根據(jù)數(shù)據(jù)表可以自動產(chǎn)生控制器、模型、視圖、JS、語言包、菜單、回收站等。

FastGoAdmin 的目標(biāo)是為開發(fā)者提供一個能夠單獨(dú)完成前后端開發(fā)的能力,約定優(yōu)于配置,配置優(yōu)于開發(fā),開發(fā)優(yōu)于重復(fù)。

主要特性

包括:

  • 基于 Auth 驗(yàn)證的權(quán)限管理系統(tǒng)
  • 一鍵生成 CRUD
  • 支持無限級父子級權(quán)限繼承,父級管理員可以任意增刪改子級管理員并設(shè)置權(quán)限
  • 支持單管理員多角色
  • 支持用戶部門管理
  • 支持?jǐn)?shù)據(jù)權(quán)限,可以對管理員管轄的數(shù)據(jù)進(jìn)行權(quán)限限制
  • 有插件應(yīng)用市場,可以進(jìn)行插件化開發(fā),實(shí)現(xiàn)即插即用的應(yīng)用
  • 支持多語言,內(nèi)置簡體中文、繁體中文和英文
  • 支持多模塊的開發(fā)

我們修改后的功能界面

我們把詳細(xì)頁面修改了一下

添加了插件管理功能

下面的部份代碼

//通用的查詢、新增、修改、刪除、查看 功能,由代碼產(chǎn)生后自帶CURD界面
func (a *openAuth) List(ctx context.Context, req *libModel.ApiPageReq) (total int, list []*entity.OpenAuth, err error) {
	boAttachment := &libService.BackendOption{Model: dao.OpenAuth.Table(), Ctx: ctx, DataLimit: true}
	total, err = libService.NewBackend(boAttachment).Index(req, &list)
	return
}
func (a *openAuth) Add(ctx context.Context, req *model.OpenAuthRow) (res *libModel.AdminApiRes, err error) {
	id, err := libService.NewBackend(&libService.BackendOption{Model: dao.OpenAuth.Table(), Ctx: ctx, DataLimit: true}).Add()
	if err != nil {
		return nil, gerror.New("添加失敗")
	}
	res = &libModel.AdminApiRes{
		Count: 1,
		Id:    id,
	}
	return
}
func (a *openAuth) Edit(ctx context.Context, req *model.OpenAuthRow, id uint64) (res *libModel.AdminApiRes, err error) {
	count, err := libService.NewBackend(&libService.BackendOption{Model: dao.OpenAuth.Table(), Ctx: ctx, DataLimit: true}).Edit(dao.OpenAuth.Columns().Id, id)
	if err != nil {
		return nil, gerror.New("修改失敗")
	}
	res = &libModel.AdminApiRes{
		Count: count,
	}
	return
}
func (a *openAuth) Del(ctx context.Context, req *libModel.ApiDelReq) (res *libModel.AdminApiRes, err error) {
	count, err := libService.NewBackend(&libService.BackendOption{Model: dao.OpenAuth.Table(), Ctx: ctx, DataLimit: true}).Del(dao.OpenAuth.Columns().Id, gstr.Split(req.Ids, ","))
	if err != nil {
		return nil, gerror.New("刪除失敗")
	}
	res = &libModel.AdminApiRes{
		Count: count,
	}
	return
}
func (a *openAuth) GetDetailById(ctx context.Context, id uint64) (row *entity.OpenAuth, err error) {
	err = libService.NewBackend(&libService.BackendOption{Model: dao.OpenAuth.Table(), Ctx: ctx, DataLimit: true}).GetDetailById(id, &row)
	return
}

以上就是goframe重寫FastAdmin后端實(shí)現(xiàn)實(shí)例詳解的詳細(xì)內(nèi)容,更多關(guān)于goframe重寫FastAdmin后端的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Go語言循環(huán)遍歷含有中文的字符串的方法小結(jié)

    Go語言循環(huán)遍歷含有中文的字符串的方法小結(jié)

    這篇文章主要介紹了Go語言循環(huán)遍歷含有中文的字符串的幾種方法,文章通過代碼示例講解的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴跟著小編一起來看看吧
    2023-07-07
  • 在 Golang 中實(shí)現(xiàn) Cache::remember 方法詳解

    在 Golang 中實(shí)現(xiàn) Cache::remember 方法詳解

    這篇文章主要介紹了在 Golang 中實(shí)現(xiàn) Cache::remember 方法詳解,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-03-03
  • Go Java算法最大單詞長度乘積示例詳解

    Go Java算法最大單詞長度乘積示例詳解

    這篇文章主要為大家介紹了Go Java算法最大單詞長度乘積示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • Go語言什么時候該使用指針

    Go語言什么時候該使用指針

    本文主要介紹了Go語言什么情況下應(yīng)該使用指針,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • Go語言JSON解析器gjson使用方法詳解

    Go語言JSON解析器gjson使用方法詳解

    這篇文章主要介紹了Go語言json解析框架與gjson,JSON?解析是我們不可避免的常見問題,在Go語言中,我們可以借助gjson庫來方便的進(jìn)行json屬性的提取與解析,需要的朋友可以參考一下
    2022-12-12
  • Golang中HTTP服務(wù)的分析與設(shè)計詳解

    Golang中HTTP服務(wù)的分析與設(shè)計詳解

    這篇文章主要介紹了Golang中HTTP服務(wù)的分析與設(shè)計,HTTP服務(wù)是實(shí)現(xiàn)Web應(yīng)用程序的重要組成部分,為了實(shí)現(xiàn)高效可擴(kuò)展的Web應(yīng)用程序,需要對HTTP服務(wù)進(jìn)行分析與設(shè)計,需要的朋友可以參考下
    2023-05-05
  • Go工具鏈之go tool cover使用方法和示例詳解

    Go工具鏈之go tool cover使用方法和示例詳解

    go tool cover是Go工具鏈中的一個命令,作用是分析測試用例的代碼覆蓋率,本文將對go tool cover 作用,使用方法和使用場景作一個簡單的介紹,感興趣的同學(xué)可以參考閱讀一下
    2023-07-07
  • Golang中errgroup的常見誤用詳解

    Golang中errgroup的常見誤用詳解

    errgroup和sync.WaitGroup類似,都可以發(fā)起執(zhí)行并等待一組協(xié)程直到所有協(xié)程運(yùn)行結(jié)束,本文主要為大家整理了一些errgroup的常見誤用,有需要的可以參考下
    2024-01-01
  • GoLang與Java各自生成grpc代碼流程介紹

    GoLang與Java各自生成grpc代碼流程介紹

    這篇文章主要介紹了GoLang與Java各自生成grpc代碼流程,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)吧
    2023-03-03
  • Go依賴注入工具wire的具體使用

    Go依賴注入工具wire的具體使用

    本文主要介紹了Go依賴注入工具wire的具體使用,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05

最新評論