mirror of
https://gitee.com/xiangheng/x_admin.git
synced 2025-10-06 08:37:12 +08:00
统一message,统一模板
This commit is contained in:
@@ -179,7 +179,7 @@ export default defineComponent({
|
|||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
console.error(err)
|
console.error(err)
|
||||||
err.target && (this.activeStep = err.target)
|
err.target && (this.activeStep = err.target)
|
||||||
err.msg && this.$message.error(err.msg)
|
err.message && this.$message.error(err.message)
|
||||||
})
|
})
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@@ -191,13 +191,13 @@ export default {
|
|||||||
if (haveMoreChildNode) {
|
if (haveMoreChildNode) {
|
||||||
// 如果都是网关就可以,等优化
|
// 如果都是网关就可以,等优化
|
||||||
return reject({
|
return reject({
|
||||||
msg: '流程设计-一个节点只能有一个子节点,可以有多个网关'
|
message: '流程设计-一个节点只能有一个子节点,可以有多个网关'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
// if (data.nodes.length != data.edges.length + 1) {
|
// if (data.nodes.length != data.edges.length + 1) {
|
||||||
// return reject({
|
// return reject({
|
||||||
// msg: "流程设计-节点之间必须连线,可以清理多余的节点",//不是很重要
|
// message: "流程设计-节点之间必须连线,可以清理多余的节点",//不是很重要
|
||||||
// });
|
// });
|
||||||
// }
|
// }
|
||||||
// 检查开始节点和结束节点是否存在
|
// 检查开始节点和结束节点是否存在
|
||||||
@@ -205,7 +205,7 @@ export default {
|
|||||||
const findEndNode = nodes.filter((item) => item.type == 'bpmn:endEvent')
|
const findEndNode = nodes.filter((item) => item.type == 'bpmn:endEvent')
|
||||||
if (findStartNode.length != 1 || findEndNode.length != 1) {
|
if (findStartNode.length != 1 || findEndNode.length != 1) {
|
||||||
return reject({
|
return reject({
|
||||||
msg: '流程设计-流程必须有且只有一个开始节点和结束节点'
|
message: '流程设计-流程必须有且只有一个开始节点和结束节点'
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -113,8 +113,8 @@ export default defineComponent({
|
|||||||
visible.value = false
|
visible.value = false
|
||||||
emit('change')
|
emit('change')
|
||||||
}
|
}
|
||||||
if (response.code == RequestCodeEnum.FAILED && response.msg) {
|
if (response.code == RequestCodeEnum.FAILED && response.message) {
|
||||||
feedback.msgError(response.msg)
|
feedback.msgError(response.message)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
const handleError = (event: any, file: any) => {
|
const handleError = (event: any, file: any) => {
|
||||||
|
@@ -49,7 +49,7 @@ const axiosHooks: AxiosHooks = {
|
|||||||
if (!isTransformResponse) {
|
if (!isTransformResponse) {
|
||||||
return response.data
|
return response.data
|
||||||
}
|
}
|
||||||
const { code, data, msg } = response.data
|
const { code, data, message } = response.data
|
||||||
switch (code) {
|
switch (code) {
|
||||||
case RequestCodeEnum.SUCCESS:
|
case RequestCodeEnum.SUCCESS:
|
||||||
return data
|
return data
|
||||||
@@ -64,7 +64,7 @@ const axiosHooks: AxiosHooks = {
|
|||||||
case RequestCodeEnum.NO_PERMISSTION:
|
case RequestCodeEnum.NO_PERMISSTION:
|
||||||
case RequestCodeEnum.FAILED:
|
case RequestCodeEnum.FAILED:
|
||||||
case RequestCodeEnum.SYSTEM_ERROR:
|
case RequestCodeEnum.SYSTEM_ERROR:
|
||||||
msg && feedback.msgError(msg)
|
message && feedback.msgError(message)
|
||||||
return Promise.reject(data)
|
return Promise.reject(data)
|
||||||
|
|
||||||
case RequestCodeEnum.TOKEN_INVALID:
|
case RequestCodeEnum.TOKEN_INVALID:
|
||||||
|
2
admin/src/utils/request/type.d.ts
vendored
2
admin/src/utils/request/type.d.ts
vendored
@@ -33,5 +33,5 @@ export interface AxiosHooks {
|
|||||||
export interface ResponseData<T = any> {
|
export interface ResponseData<T = any> {
|
||||||
code: number
|
code: number
|
||||||
data: T
|
data: T
|
||||||
msg: string
|
message: string
|
||||||
}
|
}
|
||||||
|
@@ -179,7 +179,7 @@ const handleSubmit = async () => {
|
|||||||
feedback.msgSuccess('操作成功')
|
feedback.msgSuccess('操作成功')
|
||||||
emit('success')
|
emit('success')
|
||||||
}).catch((err) => {
|
}).catch((err) => {
|
||||||
feedback.msgError(err.msg)
|
feedback.msgError(err.message)
|
||||||
})
|
})
|
||||||
} catch (error) {}
|
} catch (error) {}
|
||||||
})
|
})
|
||||||
|
@@ -47,7 +47,6 @@ export function {{{.ModuleName}}}_edit(data: Record<string, any>) {
|
|||||||
|
|
||||||
// {{{.FunctionName}}}删除
|
// {{{.FunctionName}}}删除
|
||||||
export function {{{.ModuleName}}}_delete({{{ .PrimaryKey }}}: number | string) {
|
export function {{{.ModuleName}}}_delete({{{ .PrimaryKey }}}: number | string) {
|
||||||
return request.post({ url: '/{{{.ModuleName}}}/del', { {{{ .PrimaryKey }}} } })
|
|
||||||
return request({
|
return request({
|
||||||
url: '/{{{.ModuleName}}}/del',
|
url: '/{{{.ModuleName}}}/del',
|
||||||
method: "POST",
|
method: "POST",
|
||||||
|
@@ -43,11 +43,11 @@
|
|||||||
onShow
|
onShow
|
||||||
} from "@dcloudio/uni-app";
|
} from "@dcloudio/uni-app";
|
||||||
import {
|
import {
|
||||||
useDictOptions
|
useDictData
|
||||||
} from "@/api/dict.js";
|
} from "@/hooks/useDictOptions";
|
||||||
import {
|
import {
|
||||||
{{{ .ModuleName }}}_detail
|
{{{ .ModuleName }}}_detail
|
||||||
} from "@/api/{{{ .ModuleName }}}.js";
|
} from "@/api/{{{ .ModuleName }}}";
|
||||||
|
|
||||||
|
|
||||||
import {
|
import {
|
||||||
@@ -57,7 +57,10 @@
|
|||||||
} from "@/utils/utils";
|
} from "@/utils/utils";
|
||||||
|
|
||||||
let form = ref({});
|
let form = ref({});
|
||||||
|
{{{- if ge (len .DictFields) 1 }}}
|
||||||
|
{{{- $dictSize := sub (len .DictFields) 1 }}}
|
||||||
|
const { dictData } = useDictData([{{{- range .DictFields }}}'{{{ . }}}'{{{- if ne (index $.DictFields $dictSize) . }}},{{{- end }}}{{{- end }}}])
|
||||||
|
{{{- end }}}
|
||||||
onLoad((e) => {
|
onLoad((e) => {
|
||||||
console.log("onLoad", e);
|
console.log("onLoad", e);
|
||||||
getDetails(e.id);
|
getDetails(e.id);
|
||||||
@@ -67,18 +70,22 @@
|
|||||||
getDetails(form.value.id);
|
getDetails(form.value.id);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
onPullDownRefresh(() => {
|
||||||
|
getDetails(form.value.id);
|
||||||
|
});
|
||||||
function getDetails(id) {
|
function getDetails(id) {
|
||||||
{{{ .ModuleName }}}_detail(id).then((res) => {
|
{{{ .ModuleName }}}_detail(id).then((res) => {
|
||||||
|
uni.stopPullDownRefresh();
|
||||||
if (res.code == 200) {
|
if (res.code == 200) {
|
||||||
if (res?.result) {
|
if (res?.data) {
|
||||||
form.value = res?.result
|
form.value = res?.data
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
toast(res.message);
|
toast(res.message);
|
||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch((err) => {
|
.catch((err) => {
|
||||||
|
uni.stopPullDownRefresh();
|
||||||
toast(err.message||"网络错误");
|
toast(err.message||"网络错误");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@@ -5,13 +5,17 @@
|
|||||||
{{{- if .IsEdit }}}
|
{{{- if .IsEdit }}}
|
||||||
<uv-form-item label="{{{ .ColumnComment }}}" prop="{{{ (toCamelCase .GoField) }}}" borderBottom>
|
<uv-form-item label="{{{ .ColumnComment }}}" prop="{{{ (toCamelCase .GoField) }}}" borderBottom>
|
||||||
{{{- if eq .HtmlType "input" }}}
|
{{{- if eq .HtmlType "input" }}}
|
||||||
<uv-input v-model="form.{{{ (toCamelCase .GoField) }}}" border="surround"></uv-input>
|
<uv-input v-model="form.{{{ (toCamelCase .GoField) }}}" border="surround"></uv-input>
|
||||||
{{{- else if eq .HtmlType "number" }}}
|
{{{- else if eq .HtmlType "number" }}}
|
||||||
<uv-number-box v-model="form.{{{ (toCamelCase .GoField) }}}" :min="-99999999" :max="99999999" :integer="true"></uv-number-box>
|
<uv-number-box v-model="form.{{{ (toCamelCase .GoField) }}}" :min="-99999999" :max="99999999" :integer="true"></uv-number-box>
|
||||||
{{{- else if eq .HtmlType "textarea" }}}
|
{{{- else if eq .HtmlType "textarea" }}}
|
||||||
<uv-textarea v-model="form.{{{ (toCamelCase .GoField) }}}" border="surround"></uv-textarea>
|
<uv-textarea v-model="form.{{{ (toCamelCase .GoField) }}}" border="surround"></uv-textarea>
|
||||||
{{{- else if or (eq .HtmlType "checkbox") (eq .HtmlType "radio") (eq .HtmlType "select")}}}
|
{{{- else if or (eq .HtmlType "checkbox") (eq .HtmlType "radio") (eq .HtmlType "select")}}}
|
||||||
<x-picker v-model="form.{{{ (toCamelCase .GoField) }}}" valueKey="value" labelKey="name" :columns="dictData.{{{ .DictType }}}"></x-picker>
|
{{{- if ne .DictType "" }}}
|
||||||
|
<x-picker v-model="form.{{{ (toCamelCase .GoField) }}}" valueKey="value" labelKey="name" :columns="dictData.{{{ .DictType }}}"></x-picker>
|
||||||
|
{{{- else }}}
|
||||||
|
请选择字典生成代码
|
||||||
|
{{{- end }}}
|
||||||
{{{- end }}}
|
{{{- end }}}
|
||||||
</uv-form-item>
|
</uv-form-item>
|
||||||
{{{- end }}}
|
{{{- end }}}
|
||||||
@@ -35,12 +39,15 @@
|
|||||||
import {
|
import {
|
||||||
{{{ .ModuleName }}}_detail,
|
{{{ .ModuleName }}}_detail,
|
||||||
{{{ .ModuleName }}}_edit
|
{{{ .ModuleName }}}_edit
|
||||||
} from "@/api/{{{ .ModuleName }}}.js";
|
} from "@/api/{{{ .ModuleName }}}";
|
||||||
import {
|
import {
|
||||||
toast,
|
toast,
|
||||||
alert
|
alert
|
||||||
} from "@/utils/utils";
|
} from "@/utils/utils";
|
||||||
|
import {
|
||||||
|
useDictData
|
||||||
|
} from "@/hooks/useDictOptions";
|
||||||
|
|
||||||
let formRef = ref();
|
let formRef = ref();
|
||||||
let form = ref({
|
let form = ref({
|
||||||
{{{- range .Columns }}}
|
{{{- range .Columns }}}
|
||||||
|
@@ -65,8 +65,8 @@ import {
|
|||||||
onReachBottom,
|
onReachBottom,
|
||||||
onPageScroll,
|
onPageScroll,
|
||||||
} from "@dcloudio/uni-app";
|
} from "@dcloudio/uni-app";
|
||||||
import { {{{ .ModuleName }}}_list } from "@/api/{{{ .ModuleName }}}.js";
|
import { {{{ .ModuleName }}}_list } from "@/api/{{{ .ModuleName }}}";
|
||||||
import { usePaging } from "@/utils/usePaging";
|
import { usePaging } from "@/hooks/usePaging";
|
||||||
import { toPath } from "@/utils/utils";
|
import { toPath } from "@/utils/utils";
|
||||||
const queryParams = reactive({
|
const queryParams = reactive({
|
||||||
key: "",
|
key: "",
|
||||||
|
@@ -1,32 +1,20 @@
|
|||||||
<!-- 产品,分组,IMEI,SIm卡1、2,安装位置,在线状态 ,启用状态-->
|
|
||||||
<template>
|
<template>
|
||||||
<view class="page-content">
|
<view class="page-content">
|
||||||
<uv-form labelPosition="left" labelWidth="80" :model="form" ref="formRef">
|
<uv-form labelPosition="left" labelWidth="80" :model="form" ref="formRef">
|
||||||
<uv-form-item label="在线状态" prop="status" borderBottom>
|
{{{- range .Columns }}}
|
||||||
<x-picker valueKey="value" labelKey="label" :columns="dictData.devices_status"
|
{{{- if eq .IsQuery 1 }}}
|
||||||
v-model="form.status"></x-picker>
|
<uv-form-item label="{{{ .ColumnComment }}}" prop="{{{ (toCamelCase .GoField) }}}" borderBottom>
|
||||||
</uv-form-item>
|
{{{- if eq .HtmlType "datetime" }}}
|
||||||
|
<x-date-range v-model:startTime="form.{{{ (toCamelCase .GoField) }}}Start"
|
||||||
|
v-model:endTime="form.{{{ (toCamelCase .GoField) }}}End"></x-date-range>
|
||||||
<uv-form-item label="位置" prop="placedName" borderBottom>
|
{{{- else if or (eq .HtmlType "select") (eq .HtmlType "radio") }}}
|
||||||
<uv-input v-model="form.placedName"> </uv-input>
|
<x-picker v-model="form.{{{ (toCamelCase .GoField) }}}" valueKey="value" labelKey="name" :columns="dictData.{{{ .DictType }}}"></x-picker>
|
||||||
</uv-form-item>
|
{{{- else if eq .HtmlType "input" }}}
|
||||||
|
<uv-input v-model="form.{{{ (toCamelCase .GoField) }}}"> </uv-input>
|
||||||
<uv-form-item label="开始时间" prop="startTime" borderBottom>
|
{{{- end }}}
|
||||||
<uv-input v-model="form.startTime" :readonly="true" placeholder="请选择时间"
|
|
||||||
@click="startTimePicker.open()"> </uv-input>
|
|
||||||
<uv-datetime-picker ref="startTimePicker" :minDate="minDate" :maxDate="maxDate" :value="form.startTime"
|
|
||||||
mode="datetime" @confirm="startTimeConfirm">
|
|
||||||
</uv-datetime-picker>
|
|
||||||
</uv-form-item>
|
|
||||||
<uv-form-item label="结束时间" prop="endTime" borderBottom>
|
|
||||||
|
|
||||||
<uv-input v-model="form.endTime" :readonly="true" placeholder="请选择时间"
|
|
||||||
@click="endTimePicker.open()"> </uv-input>
|
|
||||||
<uv-datetime-picker ref="endTimePicker" :minDate="minDate" :maxDate="maxDate" :value="form.endTime" mode="datetime"
|
|
||||||
@confirm="endTimeConfirm">
|
|
||||||
</uv-datetime-picker>
|
|
||||||
</uv-form-item>
|
</uv-form-item>
|
||||||
|
{{{- end }}}
|
||||||
|
{{{- end }}}
|
||||||
|
|
||||||
<uv-button type="primary" text="搜索" customStyle="margin-top: 20rpx" @click="submit"></uv-button>
|
<uv-button type="primary" text="搜索" customStyle="margin-top: 20rpx" @click="submit"></uv-button>
|
||||||
</uv-form>
|
</uv-form>
|
||||||
@@ -34,7 +22,7 @@
|
|||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup>
|
<script setup>
|
||||||
import dayjs from 'dayjs'
|
|
||||||
import {
|
import {
|
||||||
onLoad
|
onLoad
|
||||||
} from "@dcloudio/uni-app";
|
} from "@dcloudio/uni-app";
|
||||||
@@ -50,34 +38,26 @@
|
|||||||
} from "@/utils/utils";
|
} from "@/utils/utils";
|
||||||
import {
|
import {
|
||||||
useDictData
|
useDictData
|
||||||
} from "@/methods/useDictOptions";
|
} from "@/hooks/useDictOptions";
|
||||||
const startTimePicker = ref();
|
|
||||||
const endTimePicker = ref();
|
|
||||||
|
|
||||||
const {
|
{{{- if ge (len .DictFields) 1 }}}
|
||||||
dictData
|
{{{- $dictSize := sub (len .DictFields) 1 }}}
|
||||||
} = useDictData(["devices_status"]);
|
const { dictData } = useDictData([{{{- range .DictFields }}}'{{{ . }}}'{{{- if ne (index $.DictFields $dictSize) . }}},{{{- end }}}{{{- end }}}])
|
||||||
|
{{{- end }}}
|
||||||
|
|
||||||
let formRef = ref();
|
let formRef = ref();
|
||||||
let form = ref({
|
let form = ref({
|
||||||
|
{{{- range .Columns }}}
|
||||||
location: "",
|
{{{- if .IsQuery }}}
|
||||||
|
{{{- if eq .HtmlType "datetime" }}}
|
||||||
placedName: "",
|
{{{ (toCamelCase .GoField) }}}Start: '',
|
||||||
status: "",
|
{{{ (toCamelCase .GoField) }}}End: '',
|
||||||
startTime: '',
|
{{{- else }}}
|
||||||
endTime: '',
|
{{{ (toCamelCase .GoField) }}}: '',
|
||||||
|
{{{- end }}}
|
||||||
|
{{{- end }}}
|
||||||
|
{{{- end }}}
|
||||||
});
|
});
|
||||||
let minDate = dayjs('2022-01-01 00:00:00').valueOf()
|
|
||||||
let maxDate = dayjs().endOf('month').valueOf()
|
|
||||||
function startTimeConfirm(e) {
|
|
||||||
form.value.startTime = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss')
|
|
||||||
}
|
|
||||||
|
|
||||||
function endTimeConfirm(e) {
|
|
||||||
form.value.endTime = dayjs(e.value).format('YYYY-MM-DD HH:mm:ss')
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
function submit() {
|
function submit() {
|
||||||
console.log("submit", form.value);
|
console.log("submit", form.value);
|
||||||
|
@@ -223,7 +223,7 @@ func (tu templateUtil) GetFilePaths(tplCodeMap map[string]string, ModuleName str
|
|||||||
"vue/index.vue.tpl": strings.Join([]string{"admin/src/views/", ModuleName, "/index.vue"}, ""), // "admin/src/views/%s/index.vue",
|
"vue/index.vue.tpl": strings.Join([]string{"admin/src/views/", ModuleName, "/index.vue"}, ""), // "admin/src/views/%s/index.vue",
|
||||||
"vue/index-tree.vue.tpl": strings.Join([]string{"admin/src/views/", ModuleName, "/index-tree.vue"}, ""), // "admin/src/views/%s/index-tree.vue",
|
"vue/index-tree.vue.tpl": strings.Join([]string{"admin/src/views/", ModuleName, "/index-tree.vue"}, ""), // "admin/src/views/%s/index-tree.vue",
|
||||||
|
|
||||||
"uniapp/api.ts.tpl": strings.Join([]string{"uniapp/src/api/", ModuleName, ".ts"}, ""),
|
"uniapp/api.ts.tpl": strings.Join([]string{"uniapp/api/", ModuleName, ".ts"}, ""),
|
||||||
"uniapp/edit.vue.tpl": strings.Join([]string{"uniapp/pages/", ModuleName, "/edit.vue"}, ""),
|
"uniapp/edit.vue.tpl": strings.Join([]string{"uniapp/pages/", ModuleName, "/edit.vue"}, ""),
|
||||||
"uniapp/index.vue.tpl": strings.Join([]string{"uniapp/pages/", ModuleName, "/index.vue"}, ""),
|
"uniapp/index.vue.tpl": strings.Join([]string{"uniapp/pages/", ModuleName, "/index.vue"}, ""),
|
||||||
"uniapp/search.vue.tpl": strings.Join([]string{"uniapp/pages/", ModuleName, "/search.vue"}, ""),
|
"uniapp/search.vue.tpl": strings.Join([]string{"uniapp/pages/", ModuleName, "/search.vue"}, ""),
|
||||||
|
@@ -15,47 +15,47 @@ import (
|
|||||||
|
|
||||||
// RespType 响应类型
|
// RespType 响应类型
|
||||||
type RespType struct {
|
type RespType struct {
|
||||||
code int
|
code int
|
||||||
msg string
|
message string
|
||||||
data interface{}
|
data interface{}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Response 响应格式结构
|
// Response 响应格式结构
|
||||||
type Response struct {
|
type Response struct {
|
||||||
Code int `json:"code"`
|
Code int `json:"code"`
|
||||||
Msg string `json:"msg"`
|
Message string `json:"message"`
|
||||||
Data interface{} `json:"data"`
|
Data interface{} `json:"data"`
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
Success = RespType{code: 200, msg: "成功"}
|
Success = RespType{code: 200, message: "成功"}
|
||||||
Failed = RespType{code: 300, msg: "失败"}
|
Failed = RespType{code: 300, message: "失败"}
|
||||||
|
|
||||||
ParamsValidError = RespType{code: 310, msg: "参数校验错误"}
|
ParamsValidError = RespType{code: 310, message: "参数校验错误"}
|
||||||
ParamsTypeError = RespType{code: 311, msg: "参数类型错误"}
|
ParamsTypeError = RespType{code: 311, message: "参数类型错误"}
|
||||||
RequestMethodError = RespType{code: 312, msg: "请求方法错误"}
|
RequestMethodError = RespType{code: 312, message: "请求方法错误"}
|
||||||
AssertArgumentError = RespType{code: 313, msg: "断言参数错误"}
|
AssertArgumentError = RespType{code: 313, message: "断言参数错误"}
|
||||||
|
|
||||||
LoginAccountError = RespType{code: 330, msg: "登录账号或密码错误"}
|
LoginAccountError = RespType{code: 330, message: "登录账号或密码错误"}
|
||||||
LoginDisableError = RespType{code: 331, msg: "登录账号已被禁用了"}
|
LoginDisableError = RespType{code: 331, message: "登录账号已被禁用了"}
|
||||||
TokenEmpty = RespType{code: 332, msg: "token参数为空"}
|
TokenEmpty = RespType{code: 332, message: "token参数为空"}
|
||||||
TokenInvalid = RespType{code: 333, msg: "token参数无效"}
|
TokenInvalid = RespType{code: 333, message: "token参数无效"}
|
||||||
|
|
||||||
NoPermission = RespType{code: 403, msg: "无相关权限"}
|
NoPermission = RespType{code: 403, message: "无相关权限"}
|
||||||
Request404Error = RespType{code: 404, msg: "请求接口不存在"}
|
Request404Error = RespType{code: 404, message: "请求接口不存在"}
|
||||||
Request405Error = RespType{code: 405, msg: "请求方法不允许"}
|
Request405Error = RespType{code: 405, message: "请求方法不允许"}
|
||||||
|
|
||||||
SystemError = RespType{code: 500, msg: "系统错误"}
|
SystemError = RespType{code: 500, message: "系统错误"}
|
||||||
)
|
)
|
||||||
|
|
||||||
// Error 实现error方法
|
// Error 实现error方法
|
||||||
func (rt RespType) Error() string {
|
func (rt RespType) Error() string {
|
||||||
return strconv.Itoa(rt.code) + ":" + rt.msg
|
return strconv.Itoa(rt.code) + ":" + rt.message
|
||||||
}
|
}
|
||||||
|
|
||||||
// Make 以响应类型生成信息
|
// Make 以响应类型生成信息
|
||||||
func (rt RespType) Make(msg string) RespType {
|
func (rt RespType) Make(message string) RespType {
|
||||||
rt.msg = msg
|
rt.message = message
|
||||||
return rt
|
return rt
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -72,7 +72,7 @@ func (rt RespType) Code() int {
|
|||||||
|
|
||||||
// Msg 获取msg
|
// Msg 获取msg
|
||||||
func (rt RespType) Msg() string {
|
func (rt RespType) Msg() string {
|
||||||
return rt.msg
|
return rt.message
|
||||||
}
|
}
|
||||||
|
|
||||||
// Data 获取data
|
// Data 获取data
|
||||||
@@ -89,9 +89,9 @@ func Result(c *gin.Context, resp RespType, data interface{}) {
|
|||||||
c.Error(resp)
|
c.Error(resp)
|
||||||
}
|
}
|
||||||
c.JSON(http.StatusOK, Response{
|
c.JSON(http.StatusOK, Response{
|
||||||
Code: resp.code,
|
Code: resp.code,
|
||||||
Msg: resp.msg,
|
Message: resp.message,
|
||||||
Data: data,
|
Data: data,
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -110,9 +110,9 @@ func Ok(c *gin.Context) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// OkWithMsg 正常响应附带msg
|
// OkWithMsg 正常响应附带msg
|
||||||
func OkWithMsg(c *gin.Context, msg string) {
|
func OkWithMsg(c *gin.Context, message string) {
|
||||||
resp := Success
|
resp := Success
|
||||||
resp.msg = msg
|
resp.message = message
|
||||||
Result(c, resp, []string{})
|
Result(c, resp, []string{})
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -137,8 +137,8 @@ func Fail(c *gin.Context, resp RespType) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// FailWithMsg 错误响应附带msg
|
// FailWithMsg 错误响应附带msg
|
||||||
func FailWithMsg(c *gin.Context, resp RespType, msg string) {
|
func FailWithMsg(c *gin.Context, resp RespType, message string) {
|
||||||
resp.msg = msg
|
resp.message = message
|
||||||
respLogger(resp, "Request FailWithMsg: url=[%s], resp=[%+v]", c.Request.URL.Path, resp)
|
respLogger(resp, "Request FailWithMsg: url=[%s], resp=[%+v]", c.Request.URL.Path, resp)
|
||||||
Result(c, resp, []string{})
|
Result(c, resp, []string{})
|
||||||
}
|
}
|
||||||
@@ -218,10 +218,10 @@ func CheckMysqlErr(err error) (e error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// CheckErrDBNotRecord 校验数据库记录不存在的错误
|
// CheckErrDBNotRecord 校验数据库记录不存在的错误
|
||||||
func CheckErrDBNotRecord(err error, msg string) (e error) {
|
func CheckErrDBNotRecord(err error, message string) (e error) {
|
||||||
if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
|
if err != nil && errors.Is(err, gorm.ErrRecordNotFound) {
|
||||||
core.Logger.WithOptions(zap.AddCallerSkip(1)).Infof("记录不存在: err=[%+v]", err)
|
core.Logger.WithOptions(zap.AddCallerSkip(1)).Infof("记录不存在: err=[%+v]", err)
|
||||||
return SystemError.Make(msg)
|
return SystemError.Make(message)
|
||||||
}
|
}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@@ -27,10 +27,10 @@ func GetExcelColumnName(columnNumber int) string {
|
|||||||
//
|
//
|
||||||
// 需要在传入的结构体中的字段加上tag:excel:"title:列头名称;index:列下标(从0开始);"
|
// 需要在传入的结构体中的字段加上tag:excel:"title:列头名称;index:列下标(从0开始);"
|
||||||
//
|
//
|
||||||
// @param list 要导出的数据
|
// list 要导出的数据
|
||||||
// @param sheet 文档
|
// sheet 文档
|
||||||
// @param title 标题
|
// title 标题
|
||||||
// @param changeHead map[string]string{"Id": "账号", "Name": "真实姓名"}
|
// changeHead map[string]string{"Id": "账号", "Name": "真实姓名"}
|
||||||
func NormalDynamicExport(list interface{}, sheet string, title string, changeHead map[string]string) (file *excelize.File, err error) {
|
func NormalDynamicExport(list interface{}, sheet string, title string, changeHead map[string]string) (file *excelize.File, err error) {
|
||||||
e := ExcelInit()
|
e := ExcelInit()
|
||||||
err = ExportExcel(sheet, title, list, changeHead, e)
|
err = ExportExcel(sheet, title, list, changeHead, e)
|
||||||
|
Reference in New Issue
Block a user