feat:完善信息

This commit is contained in:
henry
2021-10-27 13:27:01 +08:00
parent d4ab041711
commit 70ba3078b3
20 changed files with 717 additions and 68 deletions

View File

@ -60,7 +60,7 @@ func (a *Account) Register(c *gin.Context) {
api.APIResponse(err, data)(c)
}
func (a *Account) BindMobile() {
func (a *Account) BindMobile(c *gin.Context) {
//account.NewOther()().BindMobile()
}
@ -72,6 +72,6 @@ func (a *Account) Logout(c *gin.Context) {
if handle != nil {
session = handle.(*service.SessionEnterprise)
}
err := account2.NewLogout()(session, api.GetLocal()(c).(uint64)).Launch()
err := account2.NewLogout()(session).Launch()
api.APIResponse(err)(c)
}

View File

@ -0,0 +1,25 @@
package api
import (
"SciencesServer/app/api/enterprise/controller/identity"
"SciencesServer/app/basic/api"
"SciencesServer/app/service"
"github.com/gin-gonic/gin"
)
type Identity struct{}
func (*Identity) Expert(c *gin.Context) {
form := &struct {
Name string `json:"name" form:"name"`
Mobile string `json:"mobile" form:"mobile"`
api.PageForm
}{}
if err := api.Bind(form)(c); err != nil {
api.APIFailure(err.(error))(c)
return
}
data, err := identity.NewInstance()(api.GetSession()(c).(*service.SessionEnterprise), api.GetLocal()(c).(string)).
Expert(form.Name, form.Mobile, form.Page, form.PageSize)
api.APIResponse(err, data)(c)
}

View File

@ -1,3 +0,0 @@
package api
type Tenant struct{}

View File

@ -42,7 +42,7 @@ func (a *User) Detail(c *gin.Context) {
api.APIResponse(err, data)(c)
}
func (a *Tenant) SettledCompany(c *gin.Context) {
func (a *User) SettledCompany(c *gin.Context) {
form := &struct {
userSettledForm
}{}
@ -57,7 +57,7 @@ func (a *Tenant) SettledCompany(c *gin.Context) {
api.APIResponse(err)(c)
}
func (a *Tenant) SettledExpert(c *gin.Context) {
func (a *User) SettledExpert(c *gin.Context) {
form := &struct {
userSettledForm
config.IdentityForExpert
@ -67,12 +67,13 @@ func (a *Tenant) SettledExpert(c *gin.Context) {
return
}
err := user2.NewSettled()(api.GetSession()(c).(*service.SessionEnterprise)).Expert(&user2.SettledParams{
ID: form.Convert(), Area: form.Area, Introduce: form.Introduce, Industry: form.Industry, Keywords: form.Keywords,
ID: form.Convert(), Area: form.Area, Introduce: form.Introduce, Industry: form.Industry,
Keywords: form.Keywords,
}, &form.IdentityForExpert)
api.APIResponse(err)(c)
}
func (a *Tenant) SettledResearch(c *gin.Context) {
func (a *User) SettledResearch(c *gin.Context) {
form := &struct {
userSettledForm
config.IdentityForResearch
@ -88,7 +89,7 @@ func (a *Tenant) SettledResearch(c *gin.Context) {
api.APIResponse(err)(c)
}
func (a *Tenant) SettledLaboratory(c *gin.Context) {
func (a *User) SettledLaboratory(c *gin.Context) {
form := &struct {
userSettledForm
config.IdentityForLaboratory
@ -117,7 +118,7 @@ func (a *User) SwitchIdentity(c *gin.Context) {
}
func (a *User) Back(c *gin.Context) {
data, err := user2.NewBack()(api.GetSession()(c).(*service.SessionEnterprise)).List()
data, err := user2.NewBank()(api.GetSession()(c).(*service.SessionEnterprise)).List()
api.APIResponse(err, data)
}
@ -128,11 +129,11 @@ func (a *User) BackBind(c *gin.Context) {
api.APIFailure(err.(error))(c)
return
}
err := user2.NewBack()(api.GetSession()(c).(*service.SessionEnterprise)).Bind(&user2.BackParams{
err := user2.NewBank()(api.GetSession()(c).(*service.SessionEnterprise)).Bind(&user2.BankParams{
Name: form.Name,
IDCard: form.IDCard,
BackCard: form.BackCard,
BackName: form.BackName,
BankCard: form.BackCard,
BankName: form.BackName,
}, form.Captcha)
api.APIResponse(err)
}
@ -144,6 +145,6 @@ func (a *User) BackUnbind(c *gin.Context) {
api.APIFailure(err.(error))(c)
return
}
err := user2.NewBack()(api.GetSession()(c).(*service.SessionEnterprise)).Unbind(form.Convert())
err := user2.NewBank()(api.GetSession()(c).(*service.SessionEnterprise)).Unbind(form.Convert())
api.APIResponse(err)
}

View File

@ -8,18 +8,19 @@ import (
type Logout struct {
*service.SessionEnterprise
local uint64
}
type LogoutHandle func(enterprise *service.SessionEnterprise, local uint64) *Logout
type LogoutHandle func(enterprise *service.SessionEnterprise) *Logout
func (c *Logout) Launch() error {
service.Publish(config.EventForRedisHashDestroy, config.RedisKeyForAccount, utils.UintToString(c.UID))
if c.UID > 0 {
service.Publish(config.EventForRedisHashDestroy, config.RedisKeyForAccount, utils.UintToString(c.UID))
}
return nil
}
func NewLogout() LogoutHandle {
return func(enterprise *service.SessionEnterprise, local uint64) *Logout {
return &Logout{enterprise, local}
return func(enterprise *service.SessionEnterprise) *Logout {
return &Logout{enterprise}
}
}

View File

@ -13,8 +13,8 @@ func (c *Config) Basic() {
}
// Config 配置信息
func (c *Config) Config() {
func (c *Config) Config() map[string]interface{} {
return config2.SystemConfig
}
// Identity 身份信息

View File

@ -1,7 +1,9 @@
package identity
import (
"SciencesServer/app/api/enterprise/model"
"SciencesServer/app/api/manage/controller"
model2 "SciencesServer/app/common/model"
"SciencesServer/app/service"
)
@ -12,12 +14,46 @@ type Instance struct {
type InstanceHandle func(enterprise *service.SessionEnterprise, local string) *Instance
type (
// InstanceForExpert 专家信息
InstanceForExpert struct {
*model.UserManageForExpert
ID string `json:"id"`
}
)
// Expert 专家列表
func (c *Instance) Expert(name, mobile string, page, pageSize int) (*controller.ReturnPages, error) {
return nil, nil
mUserManage := model.NewUserManage()
where := make([]*model2.ModelWhere, 0)
if name != "" {
where = append(where, model2.NewWhereLike("m.name", name))
}
if mobile != "" {
where = append(where, model2.NewWhereLike("u.mobile", mobile))
}
var count int64
out, err := mUserManage.Expert(page, pageSize, &count, where...)
if err != nil {
return nil, err
}
list := make([]*InstanceForExpert, 0)
for _, v := range out {
mUserManage.ID = v.ID
list = append(list, &InstanceForExpert{
UserManageForExpert: v, ID: mUserManage.GetEncodeID(),
})
}
return &controller.ReturnPages{Data: list, Count: count}, nil
}
func NewIdentity() InstanceHandle {
func NewInstance() InstanceHandle {
return func(enterprise *service.SessionEnterprise, local string) *Instance {
return &Instance{
SessionEnterprise: enterprise,

View File

@ -9,37 +9,37 @@ import (
"errors"
)
type Back struct {
type Bank struct {
*service.SessionEnterprise
}
type BackHandle func(enterprise *service.SessionEnterprise) *Back
type BankHandle func(enterprise *service.SessionEnterprise) *Bank
type (
// BackInfo 银行卡信息
BackInfo struct {
// BankInfo 银行卡信息
BankInfo struct {
ID string `json:"id"`
*model2.UserManageBank
}
// BackParams 银行卡参数信息
BackParams struct {
Name, IDCard, BackCard, BackName string
// BankParams 银行卡参数信息
BankParams struct {
Name, IDCard, BankCard, BankName string
}
)
// checkIDCard 验证身份证号
func (c *BackParams) checkIDCard() bool {
func (c *BankParams) checkIDCard() bool {
return utils.ValidateIDCard(c.IDCard)
}
// checkBankCard 验证银行卡号
func (c *BackParams) checkBankCard() bool {
func (c *BankParams) checkBankCard() bool {
return true
}
// List 列表信息
func (c *Back) List() ([]*BackInfo, error) {
mUserManageBack := model.NewUserManageBank()
func (c *Bank) List() ([]*BankInfo, error) {
mUserManageBank := model.NewUserManageBank()
out := make([]*model2.UserManageBank, 0)
@ -47,19 +47,19 @@ func (c *Back) List() ([]*BackInfo, error) {
Where: model2.NewWhere("uid", c.ManageUID),
Order: model2.NewOrder("is_default", model2.OrderModeToDesc),
}}
if err := model2.Find(mUserManageBack.UserManageBank, &out, where...); err != nil {
if err := model2.Find(mUserManageBank.UserManageBank, &out, where...); err != nil {
return nil, err
}
list := make([]*BackInfo, 0)
list := make([]*BankInfo, 0)
for _, v := range out {
list = append(list, &BackInfo{ID: v.GetEncodeID(), UserManageBank: v})
list = append(list, &BankInfo{ID: v.GetEncodeID(), UserManageBank: v})
}
return list, nil
}
// Bind 绑定
func (c *Back) Bind(params *BackParams, captcha string) error {
func (c *Bank) Bind(params *BankParams, captcha string) error {
pass, err := handle.NewCaptcha().Validate(&handle.CaptchaSms{
Mobile: c.Mobile, Captcha: captcha,
})
@ -75,48 +75,48 @@ func (c *Back) Bind(params *BackParams, captcha string) error {
if !params.checkBankCard() {
return errors.New("银行卡信息错误")
}
mUserManageBack := model.NewUserManageBank()
mUserManageBank := model.NewUserManageBank()
var count int64
if err = model2.Count(mUserManageBack.UserManageBank, &count, model2.NewWhere("back_card", params.BackCard)); err != nil {
if err = model2.Count(mUserManageBank.UserManageBank, &count, model2.NewWhere("bank_card", params.BankCard)); err != nil {
return err
} else if count > 0 {
return errors.New("当前银行卡已被注册")
}
mUserManageBack.UID = c.ManageUID
mUserManageBack.Name = params.Name
mUserManageBack.IDCard = params.IDCard
mUserManageBack.BankCard = params.BackCard
mUserManageBack.BackName = params.BackName
mUserManageBank.UID = c.ManageUID
mUserManageBank.Name = params.Name
mUserManageBank.IDCard = params.IDCard
mUserManageBank.BankCard = params.BankCard
mUserManageBank.BankName = params.BankName
if err = model2.Count(mUserManageBack.UserManageBank, &count, model2.NewWhere("uid", c.ManageUID)); err != nil {
if err = model2.Count(mUserManageBank.UserManageBank, &count, model2.NewWhere("uid", c.ManageUID)); err != nil {
return err
} else if count <= 0 {
mUserManageBack.IsDefault = model2.UserManageBankDefaultForYes
mUserManageBank.IsDefault = model2.UserManageBankDefaultForYes
}
return model2.Create(mUserManageBack.UserManageBank)
return model2.Create(mUserManageBank.UserManageBank)
}
// Unbind 解绑,直接删除
func (c *Back) Unbind(id uint64) error {
mUserManageBack := model.NewUserManageBank()
mUserManageBack.ID = id
func (c *Bank) Unbind(id uint64) error {
mUserManageBank := model.NewUserManageBank()
mUserManageBank.ID = id
isExist, err := model2.FirstField(mUserManageBack.UserManageBank, []string{"id", "uid"})
isExist, err := model2.FirstField(mUserManageBank.UserManageBank, []string{"id", "uid"})
if err != nil {
return err
} else if !isExist {
return errors.New("操作错误,绑定信息不存在")
} else if mUserManageBack.UID != c.ManageUID {
} else if mUserManageBank.UID != c.ManageUID {
return errors.New("无权限操作")
}
return model2.Delete(mUserManageBack)
return model2.Delete(mUserManageBank)
}
func NewBack() BackHandle {
return func(enterprise *service.SessionEnterprise) *Back {
return &Back{enterprise}
func NewBank() BankHandle {
return func(enterprise *service.SessionEnterprise) *Bank {
return &Bank{enterprise}
}
}

View File

@ -1,13 +1,50 @@
package model
import (
"SciencesServer/app/basic/config"
"SciencesServer/app/common/model"
"SciencesServer/serve/orm"
"fmt"
"strings"
)
type UserManage struct {
*model.UserManage
}
type (
// UserManageForExpert 专家信息
UserManageForExpert struct {
ID uint64 `json:"id"`
Name string `json:"name"`
Mobile string `json:"mobile"`
}
)
// Expert 专家数据
func (m *UserManage) Expert(page, pageSize int, count *int64, where ...*model.ModelWhere) ([]*UserManageForExpert, error) {
query := orm.GetDB().Table(m.TableName()+" AS m").
Select(strings.Join([]string{"m.id", "m.name", "u.mobile"}, ",")).
Joins(fmt.Sprintf("LEFT JOIN %s AS u ON m.uid = u.uuid", model.NewUserInstance().TableName())).
Where("m.is_deleted = ?", model.DeleteStatusForNot).
Where("m.identity = ?", config.TenantUserIdentityForExpert)
out := make([]*UserManageForExpert, 0)
if len(where) > 0 {
for _, v := range where {
query = query.Where(v.Condition, v.Value)
}
}
if err := query.Count(count).Error; err != nil {
return nil, err
}
if err := query.Order("m.id " + model.OrderModeToDesc).Offset((page - 1) * pageSize).Limit(pageSize).Scan(&out).Error; err != nil {
return nil, err
}
return out, nil
}
// LastChooseInfo 最后一次选中的信息
func (m *UserManage) LastChooseInfo(uid uint64) error {
_, err := model.FirstField(m.UserManage, []string{"id", "tenant_id", "uuid", "identity"},

View File

@ -0,0 +1,13 @@
package controller
import "SciencesServer/app/service"
type Config struct{ *service.Session }
type ConfigHandle func(session *service.Session) *Config
func NewConfig() ConfigHandle {
return func(session *service.Session) *Config {
return &Config{Session: session}
}
}

View File

@ -0,0 +1,19 @@
package controller
import "SciencesServer/app/service"
type Index struct {
*service.Session
local string
}
type IndexHandle func(session *service.Session, local string) *Index
func NewIndex() IndexHandle {
return func(session *service.Session, local string) *Index {
return &Index{
Session: session,
local: local,
}
}
}

View File

@ -3,6 +3,7 @@ package api
import (
"SciencesServer/config"
"SciencesServer/lib"
"strings"
"github.com/gin-gonic/gin"
)
@ -51,8 +52,9 @@ func (a *Upload) Upload(c *gin.Context) {
}
resp := new(lib.UploadHandle)
if resp, err = lib.Upload(config.SettingInfo.Upload.Path, config.SettingInfo.Upload.Exts, config.SettingInfo.Upload.Size,
config.SettingInfo.Upload.Rename).Handle()(file, config.SettingInfo.Domain); err != nil {
if resp, err = lib.Upload(config.SystemConfig[config.UploadPath].(string),
strings.Split(config.SystemConfig[config.UploadExt].(string), ","), config.SystemConfig[config.UploadSize].(int64),
config.SystemConfig[config.UploadRename].(int) > 0).Handle()(file, config.SettingInfo.Domain); err != nil {
APIFailure(err)(c)
return
}

View File

@ -28,13 +28,13 @@ type (
IdentityForResearch struct {
Longitude float64 `json:"longitude" form:"longitude"` // 经度
Latitude float64 `json:"latitude" form:"latitude"` // 纬度
Research string `json:"research" form:"research"` // 研究方向
Research string `json:"research" form:"research"` // 研究领域方向
}
// IdentityForLaboratory 实验室
IdentityForLaboratory struct {
TenantID uint64 `json:"tenant_id" form:"tenant_id"`
Longitude float64 `json:"longitude" form:"longitude"` // 经度
Latitude float64 `json:"latitude" form:"latitude"` // 纬度
Research map[int]string `json:"research" form:"research"` // 研究方向
Research map[int]string `json:"research" form:"research"` // 研究领域方向
}
)

View File

@ -45,8 +45,12 @@ func initModel() {
&synchronized{iModel: model.NewSysUserTenant()},
&synchronized{iModel: model.NewSysDepartment()},
&synchronized{iModel: model.NewSysRole()}, &synchronized{iModel: model.NewSysRoleMenu()}, &synchronized{iModel: model.NewSysRoleAuth()},
&synchronized{iModel: model.NewSysUserRole()},
// 配置管理
&synchronized{iModel: model.NewSysConfig(), iValues: func() interface{} {
return nil
}},
// 日志管理
&synchronized{iModel: model.NewSysUserRole()},
&synchronized{iModel: model.NewSysLog()}, &synchronized{iModel: model.NewSysUserLoginLog()},
)
}

View File

@ -13,7 +13,7 @@ type ManageExpert struct {
UID uint64 `gorm:"column:uid;type:int;default:0;comment:用户uuid" json:"-"`
Area
Position string `gorm:"column:position;type:varchar(50);default:null;comment:坐标" json:"-"`
School string `gorm:"column:school;type:varchar(50);default:null;comment:坐标" json:"school"`
School string `gorm:"column:school;type:varchar(50);default:null;comment:院校" json:"school"`
Major string `gorm:"column:major;type:varchar(50);default:null;comment:专业" json:"major"`
Job string `gorm:"column:job;type:varchar(50);default:null;comment:职务" json:"job"`
Title string `gorm:"column:title;type:varchar(50);default:null;comment:职称" json:"title"`

View File

@ -8,7 +8,7 @@ type UserManageBank struct {
Name string `gorm:"column:name;type:varchar(30);default:null;comment:姓名" json:"name"`
IDCard string `gorm:"column:id_card;type:varchar(18);default:null;comment:身份证号" json:"id_card"`
BankCard string `gorm:"column:bank_card;type:varchar(18);default:null;comment:银行卡号" json:"bank_card"`
BackName string `gorm:"column:back_name;type:varchar(15);default:null;comment:银行名称" json:"back_name"`
BankName string `gorm:"column:bank_name;type:varchar(15);default:null;comment:银行名称" json:"bank_name"`
IsDefault UserManageBankDefault `gorm:"column:is_default;type:tinyint(1);default:0;comment:默认使用0不默认1默认" json:"-"`
ModelDeleted
ModelAt

View File

@ -4,7 +4,6 @@ import "SciencesServer/app/common/model"
type SysLogProduce struct{}
// Handle
func (this *SysLogProduce) Handle(arg ...interface{}) {
tenantID := arg[0].(uint64)
uid := arg[1].(uint64)

506
file/tsconfig.json Normal file
View File

@ -0,0 +1,506 @@
[
{
"code": "1",
"name": "农、林、牧、渔业",
"child": [
{
"code": "01",
"name": "农业"
},
{
"code": "02",
"name": "林业"
},
{
"code": "03",
"name": "畜牧业"
},
{
"code": "04",
"name": "渔业"
},
{
"code": "05",
"name": "农、林、牧、渔服务业"
}
]
},
{
"code": "2",
"name": "采矿业",
"child": [
{
"code": "06",
"name": "煤炭开采和洗选业"
},
{
"code": "07",
"name": "石油和天然气开采业"
},
{
"code": "08",
"name": "黑色金属矿采选业"
},
{
"code": "09",
"name": "有色金属矿采选业"
},
{
"code": "10",
"name": "非金属矿采选业"
},
{
"code": "11",
"name": "开采辅助活动"
},
{
"code": "12",
"name": "其他采矿业"
}
]
},
{
"code": "3",
"name": "制造业",
"child": [
{
"code": "13",
"name": "农副食品加工业"
},
{
"code": "14",
"name": "食品制造业"
},
{
"code": "15",
"name": "酒、饮料和精制茶制造业"
},
{
"code": "16",
"name": "烟草制品业"
},
{
"code": "17",
"name": "纺织业"
},
{
"code": "18",
"name": "纺织服装、服饰业"
},
{
"code": "19",
"name": "皮革、毛皮、羽毛及其制品和制鞋业"
},
{
"code": "20",
"name": "木材加工和木、竹、藤、棕、草制品业"
},
{
"code": "21",
"name": "家具制造业"
},
{
"code": "22",
"name": "造纸和纸制品业"
},
{
"code": "23",
"name": "印刷和记录媒介复制业"
},
{
"code": "24",
"name": "文教、工美、体育和娱乐用品制造业"
},
{
"code": "25",
"name": "石油加工、炼焦和核燃料加工业"
},
{
"code": "26",
"name": "化学原料和化学制品制造业"
},
{
"code": "27",
"name": "医药制造业"
},
{
"code": "28",
"name": "化学纤维制造业"
},
{
"code": "29",
"name": "橡胶和塑料制品业"
},
{
"code": "30",
"name": "非金属矿物制品业"
},
{
"code": "31",
"name": "黑色金属冶炼和压延加工业"
},
{
"code": "32",
"name": "有色金属冶炼和压延加工业"
},
{
"code": "33",
"name": "金属制品业"
},
{
"code": "34",
"name": "通用设备制造业"
},
{
"code": "35",
"name": "专用设备制造业"
},
{
"code": "36",
"name": "汽车制造业"
},
{
"code": "37",
"name": "铁路、船舶、航空航天和其他运输设备制造业"
},
{
"code": "38",
"name": "电气机械和器材制造业"
},
{
"code": "39",
"name": "计算机、通信和其他电子设备制造业"
},
{
"code": "40",
"name": "仪器仪表制造业"
},
{
"code": "41",
"name": "其他制造业"
},
{
"code": "42",
"name": "废弃资源综合利用业"
},
{
"code": "43",
"name": "金属制品、机械和设备修理业"
}
]
},
{
"code": "4",
"name": "电力、热力、燃气及水生产和供应业",
"child": [
{
"code": "44",
"name": "电力、热力生产和供应业"
},
{
"code": "45",
"name": "燃气生产和供应业"
},
{
"code": "46",
"name": "水的生产和供应业"
}
]
},
{
"code": "5",
"name": "建筑业",
"child": [
{
"code": "47",
"name": "房屋建筑业"
},
{
"code": "48",
"name": "土木工程建筑业"
},
{
"code": "49",
"name": "建筑安装业"
},
{
"code": "50",
"name": "建筑装饰和其他建筑业"
}
]
},
{
"code": "6",
"name": "批发和零售业",
"child": [
{
"code": "51",
"name": "批发业"
},
{
"code": "52",
"name": "零售业"
}
]
},
{
"code": "7",
"name": "交通运输、仓储和邮政业",
"child": [
{
"code": "53",
"name": "铁路运输业"
},
{
"code": "54",
"name": "道路运输业"
},
{
"code": "55",
"name": "水上运输业"
},
{
"code": "56",
"name": "航空运输业"
},
{
"code": "57",
"name": "管道运输业"
},
{
"code": "58",
"name": "装卸搬运和运输代理业"
},
{
"code": "59",
"name": "仓储业"
},
{
"code": "60",
"name": "邮政业"
}
]
},
{
"code": "8",
"name": "住宿和餐饮业",
"child": [
{
"code": "61",
"name": "住宿业"
},
{
"code": "62",
"name": "餐饮业"
}
]
},
{
"code": "9",
"name": "信息传输、软件和信息技术服务业",
"child": [
{
"code": "63",
"name": "电信、广播电视和卫星传输服务"
},
{
"code": "64",
"name": "互联网和相关服务"
},
{
"code": "65",
"name": "软件和信息技术服务业"
}
]
},
{
"code": "10",
"name": "金融业",
"child": [
{
"code": "66",
"name": "货币金融服务"
},
{
"code": "67",
"name": "资本市场服务"
},
{
"code": "68",
"name": "保险业"
},
{
"code": "69",
"name": "其他金融业"
}
]
},
{
"code": "11",
"name": "房地产业",
"child": [
{
"code": "70",
"name": "房地产业"
}
]
},
{
"code": "12",
"name": "租赁和商务服务业",
"child": [
{
"code": "71",
"name": "租赁业"
},
{
"code": "72",
"name": "商务服务业"
}
]
},
{
"code": "13",
"name": "科学研究和技术服务业",
"child": [
{
"code": "73",
"name": "研究和试验发展"
},
{
"code": "74",
"name": "专业技术服务业"
},
{
"code": "75",
"name": "科技推广和应用服务业"
}
]
},
{
"code": "14",
"name": "水利、环境和公共设施管理业",
"child": [
{
"code": "76",
"name": "水利管理业"
},
{
"code": "77",
"name": "生态保护和环境治理业"
},
{
"code": "78",
"name": "公共设施管理业"
}
]
},
{
"code": "15",
"name": "居民服务、修理和其他服务业",
"child": [
{
"code": "79",
"name": "居民服务业"
},
{
"code": "80",
"name": "机动车、电子产品和日用产品修理业"
},
{
"code": "81",
"name": "其他服务业"
}
]
},
{
"code": "16",
"name": "教育",
"child": [
{
"code": "82",
"name": "教育"
}
]
},
{
"code": "17",
"name": "卫生和社会工作",
"child": [
{
"code": "83",
"name": "卫生"
},
{
"code": "84",
"name": "社会工作"
}
]
},
{
"code": "18",
"name": "文化、体育和娱乐业",
"child": [
{
"code": "85",
"name": "新闻和出版业"
},
{
"code": "86",
"name": "广播、电视、电影和影视录音制作业"
},
{
"code": "87",
"name": "文化艺术业"
},
{
"code": "88",
"name": "体育"
},
{
"code": "89",
"name": "娱乐业"
}
]
},
{
"code": "19",
"name": "公共管理、社会保障和社会组织",
"child": [
{
"code": "90",
"name": "中国共产党机关"
},
{
"code": "91",
"name": "国家机构"
},
{
"code": "92",
"name": "人民政协、民主党派"
},
{
"code": "93",
"name": "社会保障"
},
{
"code": "94",
"name": "群众团体、社会团体和其他成员组织"
},
{
"code": "95",
"name": "基层群众自治组织"
}
]
},
{
"code": "20",
"name": "国际组织",
"child": [
{
"code": "96",
"name": "国际组织"
}
]
}
]

View File

@ -3,6 +3,7 @@ package router
import (
api2 "SciencesServer/app/api/enterprise/api"
"SciencesServer/app/api/manage/api"
api3 "SciencesServer/app/basic/api"
"github.com/gin-gonic/gin"
)
@ -25,7 +26,7 @@ func registerAPI(app *gin.Engine) {
// Captcha 验证码
g.GET("/captcha", new(api.Captcha).Captcha)
// Upload 上传管理
g.POST("/upload", new(api.Upload).Upload)
g.POST("/upload", new(api3.Upload).Upload)
// Account 账户管理
account := g.Group("/account")
{
@ -118,6 +119,8 @@ func registerAPI(app *gin.Engine) {
func registerEnterpriseAPI(app *gin.Engine) {
apiPrefix := "/enterprise"
g := app.Group(apiPrefix)
// Upload 上传管理
g.POST("/upload", new(api3.Upload).Upload)
// Config 配置管理
config := g.Group("/config")
{
@ -151,4 +154,10 @@ func registerEnterpriseAPI(app *gin.Engine) {
technology.POST("/equipment/edit", _api.EquipmentEdit)
technology.POST("/equipment/delete", _api.EquipmentDelete)
}
// Identity 身份信息
identity := g.Group("/config")
{
_api := new(api2.Identity)
identity.POST("/expert", _api.Expert)
}
}

View File

@ -21,7 +21,7 @@ type (
IsCors bool
*RateLimitConfig
}
// RouterLimitConfig 限流配置
// RateLimitConfig 限流配置
RateLimitConfig struct {
IsRate bool `json:"is_rate"`
Limit int `json:"limit"`