本文整理汇总了Golang中github.com/AlexanderChen1989/go-json-rest/rest.Request类的典型用法代码示例。如果您正苦于以下问题:Golang Request类的具体用法?Golang Request怎么用?Golang Request使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了Request类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Golang代码示例。
示例1: DeleteNetworkById
func DeleteNetworkById(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
ID uint
AccessToken string
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
_, errVerify := VerifyAccessPurview(info.AccessToken, ctx, true, w, r)
if errVerify != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errVerify.Error()})
return
}
mod, err := repo.DeleteNetworkById(info.ID)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
_, errDelete := repo.DeleteIpByNetworkId(info.ID)
if errDelete != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errDelete.Error()})
return
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功", "Content": mod})
}
开发者ID:idcos,项目名称:osinstall-server,代码行数:35,代码来源:network.go
示例2: DeleteHardwareById
func DeleteHardwareById(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
ID uint
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
hardware, err := repo.GetHardwareById(info.ID)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
if hardware.IsSystemAdd == "Yes" {
//w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "系统添加的配置不允许删除!"})
//return
}
mod, err := repo.DeleteHardwareById(info.ID)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功", "Content": mod})
}
开发者ID:lue828,项目名称:osinstall-server,代码行数:33,代码来源:hardware.go
示例3: UpdateMyInfo
func UpdateMyInfo(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
ID uint
Password string
Name string
PhoneNumber string
Permission string
Status string
Role string
AccessToken string
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
info.Password = strings.TrimSpace(info.Password)
info.Name = strings.TrimSpace(info.Name)
info.PhoneNumber = strings.TrimSpace(info.PhoneNumber)
info.AccessToken = strings.TrimSpace(info.AccessToken)
_, errAccessToken := VerifyAccessToken(info.AccessToken, ctx, false)
if errAccessToken != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errAccessToken.Error()})
return
}
user, err := repo.GetUserById(info.ID)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
if info.Password == "" {
info.Password = user.Password
} else {
encodePassword, err := util.EncodePassword(info.Password)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
info.Password = encodePassword
}
info.Permission = user.Permission
info.Status = user.Status
info.Role = user.Role
mod, err := repo.UpdateUserById(info.ID, info.Password, info.Name, info.PhoneNumber, info.Permission, info.Status, info.Role)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功", "Content": mod})
}
开发者ID:idcos,项目名称:osinstall-server,代码行数:60,代码来源:user.go
示例4: BatchDeleteVm
func BatchDeleteVm(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var infos []struct {
ID uint
}
if err := r.DecodeJSONPayload(&infos); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误"})
return
}
for _, info := range infos {
_, errDevice := repo.DeleteVmDeviceById(info.ID)
if errDevice != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errDevice.Error()})
return
}
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功"})
}
开发者ID:lue828,项目名称:osinstall-server,代码行数:26,代码来源:vm_install.go
示例5: GetModelNameByWhereAndGroup
func GetModelNameByWhereAndGroup(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
Company string
Product string
IsSystemAdd string
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
where := " company = '" + info.Company + "'"
if info.Product != "" {
where += " and product = '" + info.Product + "'"
}
if info.IsSystemAdd != "" {
where += " and is_system_add = '" + info.IsSystemAdd + "'"
}
mod, err := repo.GetModelNameByWhereAndGroup(where)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功", "Content": mod})
}
开发者ID:idcos,项目名称:osinstall-server,代码行数:34,代码来源:hardware.go
示例6: FormatLocationToTreeByPid
func FormatLocationToTreeByPid(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
Pid uint
SelectPid uint
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
//var initContent []map[string]interface{}
mods, err := repo.FormatLocationToTreeByPid(info.Pid, nil, 0, info.SelectPid)
//mods, err := repo.FormatLocationToTreeByPid(info.Pid)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功", "Content": mods})
}
开发者ID:lue828,项目名称:osinstall-server,代码行数:25,代码来源:location.go
示例7: GetScanDeviceModelName
func GetScanDeviceModelName(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
Company string
Product string
UserID uint
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误"})
return
}
info.Company = strings.TrimSpace(info.Company)
info.Product = strings.TrimSpace(info.Product)
var where string
where = "device_id = 0 and company = '" + info.Company + "'"
if info.Product != "" {
where += " and product = '" + info.Product + "'"
}
if info.UserID > uint(0) {
where += " and user_id = '" + fmt.Sprintf("%d", info.UserID) + "'"
}
mod, err := repo.GetManufacturerModelNameByGroup(where)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功", "Content": mod})
}
开发者ID:idcos,项目名称:osinstall-server,代码行数:35,代码来源:manufacturer.go
示例8: SavePlatformConfig
func SavePlatformConfig(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
Name string
Content string
AccessToken string
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
info.AccessToken = strings.TrimSpace(info.AccessToken)
_, errVerify := VerifyAccessPurview(info.AccessToken, ctx, true, w, r)
if errVerify != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errVerify.Error()})
return
}
info.Name = strings.TrimSpace(info.Name)
info.Content = strings.TrimSpace(info.Content)
if info.Name == "" {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "请将信息填写完整!"})
return
}
count, err := repo.CountPlatformConfigByName(info.Name)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
if count > 0 {
platformConfig, err := repo.GetPlatformConfigByName(info.Name)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
_, errUpdate := repo.UpdatePlatformConfigById(platformConfig.ID, info.Name, info.Content)
if errUpdate != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errUpdate.Error()})
return
}
} else {
_, err := repo.AddPlatformConfig(info.Name, info.Content)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功"})
}
开发者ID:idcos,项目名称:osinstall-server,代码行数:60,代码来源:platform_config.go
示例9: GetScanDeviceProduct
func GetScanDeviceProduct(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
Company string
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误"})
return
}
info.Company = strings.TrimSpace(info.Company)
var where string
where = "device_id = 0 and company = '" + info.Company + "'"
mod, err := repo.GetManufacturerProductByGroup(where)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功", "Content": mod})
}
开发者ID:idcos,项目名称:osinstall-server,代码行数:26,代码来源:manufacturer.go
示例10: GetNetworkList
func GetNetworkList(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
Limit uint
Offset uint
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
mods, err := repo.GetNetworkListWithPage(info.Limit, info.Offset)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
result := make(map[string]interface{})
result["list"] = mods
//总条数
count, err := repo.CountNetwork()
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
result["recordCount"] = count
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功", "Content": result})
}
开发者ID:idcos,项目名称:osinstall-server,代码行数:33,代码来源:network.go
示例11: BatchReInstall
//重装
func BatchReInstall(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var infos []struct {
ID uint
}
if err := r.DecodeJSONPayload(&infos); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误"})
return
}
for _, info := range infos {
_, err := repo.ReInstallDeviceById(info.ID)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
//log
device, err := repo.GetDeviceById(info.ID)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
logContent := make(map[string]interface{})
logContent["data"] = device
json, err := json.Marshal(logContent)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "操作失败:" + err.Error()})
return
}
_, errAddLog := repo.AddDeviceLog(info.ID, "重装设备", "operate", string(json))
if errAddLog != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errAddLog.Error()})
return
}
_, errLog := repo.UpdateDeviceLogTypeByDeviceIdAndType(info.ID, "install", "install_history")
if errLog != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errLog.Error()})
return
}
/*
//删除LOG
_, errLog := repo.DeleteDeviceLogByDeviceID(info.ID)
if errLog != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errLog.Error()})
return
}
*/
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功"})
}
开发者ID:oiooj,项目名称:osinstall-server,代码行数:61,代码来源:device.go
示例12: DeleteUserById
func DeleteUserById(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
ID uint
AccessToken string
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
_, errAccessToken := VerifyAccessToken(info.AccessToken, ctx, true)
if errAccessToken != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errAccessToken.Error()})
return
}
osConfig, err := repo.DeleteUserById(info.ID)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
errAssign := repo.AssignManufacturerNewOnwer(uint(0), info.ID)
if errAssign != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errAssign.Error()})
return
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功", "Content": osConfig})
}
开发者ID:idcos,项目名称:osinstall-server,代码行数:35,代码来源:user.go
示例13: GetDeviceNumByStatus
func GetDeviceNumByStatus(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
Status string
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
info.Status = strings.TrimSpace(info.Status)
var where string
where = " where t1.id > 0 "
where += " and t1.status = '" + info.Status + "'"
//总条数
count, err := repo.CountDevice(where)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
result := make(map[string]interface{})
result["count"] = count
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功", "Content": result})
}
开发者ID:oiooj,项目名称:osinstall-server,代码行数:31,代码来源:device.go
示例14: ValidateSn
func ValidateSn(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
Sn string
}
info.Sn = strings.TrimSpace(info.Sn)
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
if info.Sn == "" {
w.WriteJSON(map[string]interface{}{"Status": "failure", "Message": "SN参数不能为空!", "Content": ""})
return
}
count, err := repo.CountDeviceBySn(info.Sn)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "failure", "Message": "参数错误!"})
return
}
if count > 0 {
w.WriteJSON(map[string]interface{}{"Status": "failure", "Message": "该SN已存在,继续填写会覆盖旧的数据!"})
} else {
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "SN填写正确!"})
}
}
开发者ID:oiooj,项目名称:osinstall-server,代码行数:34,代码来源:device.go
示例15: GetCidrInfoByNetwork
//获取cidr信息
func GetCidrInfoByNetwork(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
_, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
logger, ok := middleware.LoggerFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
Network string
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误"})
return
}
info.Network = strings.TrimSpace(info.Network)
//处理网段
network, err := util.GetCidrInfo(info.Network, logger)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功", "Content": network})
}
开发者ID:idcos,项目名称:osinstall-server,代码行数:31,代码来源:network.go
示例16: DeleteLocationById
func DeleteLocationById(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
ID uint
AccessToken string
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
info.AccessToken = strings.TrimSpace(info.AccessToken)
_, errVerify := VerifyAccessPurview(info.AccessToken, ctx, true, w, r)
if errVerify != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errVerify.Error()})
return
}
locationIds, err := repo.FormatChildLocationIdById(info.ID, "", ",")
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
count, err := repo.CountDeviceByWhere("location_id in (" + locationIds + ")")
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
if count > 0 {
devices, err := repo.GetDeviceByWhere("location_id in (" + locationIds + ")")
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
var str string
for k, device := range devices {
if k != len(devices)-1 {
str += device.Sn + ","
} else {
str += device.Sn
}
}
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "下列设备正在使用此位置,不能删除! <br />SN:(" + str + ")"})
return
}
mod, err := repo.DeleteLocationById(info.ID)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功", "Content": mod})
}
开发者ID:idcos,项目名称:osinstall-server,代码行数:59,代码来源:location.go
示例17: AddHardware
//添加
func AddHardware(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
Company string
Product string
ModelName string
Raid string
Oob string
Bios string
IsSystemAdd string
Tpl string
Data string
Source string
Version string
Status string
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误"})
return
}
info.Company = strings.TrimSpace(info.Company)
info.Product = strings.TrimSpace(info.Product)
info.ModelName = strings.TrimSpace(info.ModelName)
info.IsSystemAdd = strings.TrimSpace(info.IsSystemAdd)
info.Tpl = strings.TrimSpace(info.Tpl)
info.Data = strings.TrimSpace(info.Data)
info.Source = strings.TrimSpace(info.Source)
info.Version = strings.TrimSpace(info.Version)
info.Status = strings.TrimSpace(info.Status)
if info.Company == "" || info.Product == "" || info.ModelName == "" {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "请将信息填写完整!"})
return
}
count, err := repo.CountHardwareByCompanyAndProductAndName(info.Company, info.Product, info.ModelName)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
if count > 0 {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "该硬件型号已存在!"})
return
}
_, errAdd := repo.AddHardware(info.Company, info.Product, info.ModelName, info.Raid, info.Oob, info.Bios, info.IsSystemAdd, info.Tpl, info.Data, info.Source, info.Version, info.Status)
if errAdd != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errAdd.Error()})
return
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功"})
}
开发者ID:oiooj,项目名称:osinstall-server,代码行数:60,代码来源:hardware.go
示例18: UploadDevice
func UploadDevice(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
w.Header().Add("Content-type", "text/html; charset=utf-8")
r.ParseForm()
file, handle, err := r.FormFile("file")
if err != nil {
w.Write([]byte("{\"Message\":\"" + err.Error() + "\",\"Status\":\"error\"}"))
return
}
cd, err := iconv.Open("UTF-8", "GBK")
if err != nil {
w.Write([]byte("{\"Message\":\"" + err.Error() + "\",\"Status\":\"error\"}"))
return
}
defer cd.Close()
dir := "/tmp/cloudboot-server/"
if !util.FileExist(dir) {
err := os.MkdirAll(dir, 0777)
if err != nil {
w.Write([]byte("{\"Message\":\"" + err.Error() + "\",\"Status\":\"error\"}"))
return
}
}
list := strings.Split(handle.Filename, ".")
fix := list[len(list)-1]
h := md5.New()
h.Write([]byte(fmt.Sprintf("%s", time.Now().UnixNano()) + handle.Filename))
cipherStr := h.Sum(nil)
md5 := fmt.Sprintf("%s", hex.EncodeToString(cipherStr))
filename := "osinstall-upload-" + md5 + "." + fix
result := make(map[string]interface{})
result["result"] = filename
if util.FileExist(dir + filename) {
os.Remove(dir + filename)
}
f, err := os.OpenFile(dir+filename, os.O_WRONLY|os.O_CREATE, 0666)
io.Copy(f, file)
if err != nil {
w.Write([]byte("{\"Message\":\"" + err.Error() + "\",\"Status\":\"error\"}"))
return
}
defer f.Close()
defer file.Close()
data := map[string]interface{}{"Status": "success", "Message": "操作成功", "Content": result}
json, err := json.Marshal(data)
if err != nil {
w.Write([]byte("{\"Message\":\"" + err.Error() + "\",\"Status\":\"error\"}"))
return
}
w.Write([]byte(json))
return
}
开发者ID:idcos,项目名称:osinstall-server,代码行数:59,代码来源:import.go
示例19: GetDeviceInstallCallbackList
func GetDeviceInstallCallbackList(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var info struct {
DeviceId uint
}
if err := r.DecodeJSONPayload(&info); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + err.Error()})
return
}
where := fmt.Sprintf("device_id = %d", info.DeviceId)
order := "id asc"
list, err := repo.GetDeviceInstallCallbackByWhere(where, order)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
var rows []model.DeviceInstallCallback
for _, callback := range list {
device, err := repo.GetDeviceById(callback.DeviceID)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
callback.Content = strings.Replace(callback.Content, "<{sn}>", device.Sn, -1)
callback.Content = strings.Replace(callback.Content, "<{hostname}>", device.Hostname, -1)
callback.Content = strings.Replace(callback.Content, "<{ip}>", device.Ip, -1)
callback.Content = strings.Replace(callback.Content, "<{manage_ip}>", device.ManageIp, -1)
if device.NetworkID > uint(0) {
network, _ := repo.GetNetworkById(device.NetworkID)
callback.Content = strings.Replace(callback.Content, "<{gateway}>", network.Gateway, -1)
callback.Content = strings.Replace(callback.Content, "<{netmask}>", network.Netmask, -1)
}
if device.ManageNetworkID > uint(0) {
manageNetwork, _ := repo.GetManageNetworkById(device.ManageNetworkID)
callback.Content = strings.Replace(callback.Content, "<{manage_gateway}>", manageNetwork.Gateway, -1)
callback.Content = strings.Replace(callback.Content, "<{manage_netmask}>", manageNetwork.Netmask, -1)
}
callback.Content = strings.Replace(callback.Content, "\n", "<br />", -1)
callback.RunResult = strings.Replace(callback.RunResult, "\n", "<br />", -1)
rows = append(rows, callback)
}
result := make(map[string]interface{})
result["list"] = rows
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功", "Content": result})
}
开发者ID:idcos,项目名称:osinstall-server,代码行数:57,代码来源:device_install_callback.go
示例20: BatchAssignManufacturerOnwer
func BatchAssignManufacturerOnwer(ctx context.Context, w rest.ResponseWriter, r *rest.Request) {
repo, ok := middleware.RepoFromContext(ctx)
if !ok {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "内部服务器错误"})
return
}
var infos []struct {
ID uint
UserID uint
AccessToken string
}
session, errSession := GetSession(w, r)
if errSession != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误" + errSession.Error()})
return
}
if err := r.DecodeJSONPayload(&infos); err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": "参数错误"})
return
}
for _, info := range infos {
if session.ID <= uint(0) {
accessTokenUser, errAccessToken := VerifyAccessToken(info.AccessToken, ctx, false)
if errAccessToken != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errAccessToken.Error()})
return
}
session.ID = accessTokenUser.ID
session.Role = accessTokenUser.Role
}
if session.Role != "Administrator" {
w.WriteJSON(map[string]interface{}{"Status": "failure", "Message": "权限不足!"})
return
}
manufacturer, err := repo.GetManufacturerById(info.ID)
if err != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": err.Error()})
return
}
_, errUpdate := repo.AssignManufacturerOnwer(manufacturer.ID, info.UserID)
if errUpdate != nil {
w.WriteJSON(map[string]interface{}{"Status": "error", "Message": errUpdate.Error()})
return
}
}
w.WriteJSON(map[string]interface{}{"Status": "success", "Message": "操作成功"})
}
开发者ID:idcos,项目名称:osinstall-server,代码行数:55,代码来源:manufacturer.go
注:本文中的github.com/AlexanderChen1989/go-json-rest/rest.Request类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论