wangfukang 1 month ago
parent
commit
2a7723c44a
  1. 10
      src/api/index.js
  2. 7
      src/views/sys/setting-manage/settingManage.vue
  3. 94
      src/views/sys/upApp/upApp.vue

10
src/api/index.js

@ -3,6 +3,8 @@ import { getRequest, postRequest, postBodyRequest, getNoAuthRequest, postNoAuthR
// 文件上传接口 // 文件上传接口
export const uploadFile = `${config.baseApi}/upload/file` export const uploadFile = `${config.baseApi}/upload/file`
// APP热更新包上传接口
export const uploadAppUpdateFile = `${config.baseApi}/upload/app-update`
// 验证码渲染图片接口 // 验证码渲染图片接口
export const drawCodeImage = `${config.baseApi}/common/captcha/draw/` export const drawCodeImage = `${config.baseApi}/common/captcha/draw/`
// 获取菜单 // 获取菜单
@ -567,6 +569,14 @@ export const getNoticeSet = (params) => {
export const editNoticeSet = (params) => { export const editNoticeSet = (params) => {
return postRequest('/setting/notice/set', params) return postRequest('/setting/notice/set', params)
} }
// 获取APP热更新配置
export const getAppUpdateSet = (params) => {
return getRequest('/setting/app-update', params)
}
// 编辑APP热更新配置
export const editAppUpdateSet = (params) => {
return postRequest('/setting/app-update/set', params)
}
// 获取autoChat配置 // 获取autoChat配置
export const getAutoChatSet = (params) => { export const getAutoChatSet = (params) => {
return getRequest('/setting/autoChat', params) return getRequest('/setting/autoChat', params)

7
src/views/sys/setting-manage/settingManage.vue

@ -21,6 +21,7 @@
<MenuItem name="stopWord">禁用词管理</MenuItem> <MenuItem name="stopWord">禁用词管理</MenuItem>
<MenuItem name="audit">审核管理</MenuItem> <MenuItem name="audit">审核管理</MenuItem>
<MenuItem name="notice">系统公告配置</MenuItem> <MenuItem name="notice">系统公告配置</MenuItem>
<MenuItem name="appUpdate">APP热更新</MenuItem>
<MenuItem name="other">其他配置</MenuItem> <MenuItem name="other">其他配置</MenuItem>
</Menu> </Menu>
</Sider> </Sider>
@ -200,6 +201,10 @@
<Spin fix v-if="loading"></Spin> <Spin fix v-if="loading"></Spin>
</div> </div>
</div> </div>
<div v-show="currName == 'appUpdate'">
<div class="setting-title">APP热更新</div>
<up-app />
</div>
<div v-show="currName == 'other'"> <div v-show="currName == 'other'">
<div class="setting-title">其他配置</div> <div class="setting-title">其他配置</div>
<div style="display: flex"> <div style="display: flex">
@ -278,12 +283,14 @@ import {
import oss from "./oss.vue"; import oss from "./oss.vue";
import sms from "./sms.vue"; import sms from "./sms.vue";
import stopWord from "./stopWord.vue"; import stopWord from "./stopWord.vue";
import upApp from "../upApp/upApp.vue";
export default { export default {
name: "setting-manage", name: "setting-manage",
components: { components: {
oss, oss,
sms, sms,
stopWord, stopWord,
upApp,
}, },
data() { data() {
return { return {

94
src/views/sys/upApp/upApp.vue

@ -1,52 +1,56 @@
<template> <template>
<div > <div style="position: relative">
<Upload :action="uploadFileUrl" :headers="accessToken" :data="uploadData" :on-success="handleSuccess" <Upload :action="uploadFileUrl" :headers="accessToken" :data="uploadData" :on-success="handleSuccess"
:on-error="handleError" :max-size="100000000" :before-upload="beforeUpload" :on-error="handleError" :max-size="204800" :before-upload="beforeUpload"
multiple type="drag" ref="up"> :format="['wgt']" :on-format-error="handleFormatError" type="drag" ref="up">
<div style="padding: 20px 0"> <div style="padding: 20px 0">
<Icon type="ios-cloud-upload" size="52" style="color: #3399ff"></Icon> <Icon type="ios-cloud-upload" size="52" style="color: #3399ff"></Icon>
<p>点击这里或将文件拖拽到这里上传</p> <p>点击这里或将wgt包拖拽到这里上传</p>
</div> </div>
</Upload> </Upload>
<Form ref="form" :model="form" :label-width="85" :rules="formValidate"> <Form ref="form" :model="form" :label-width="100" :rules="formValidate" style="margin-top: 24px">
<FormItem label="版本号" prop="title"> <FormItem label="版本号" prop="version">
<Input v-model="form.version" /> <Input v-model="form.version" placeholder="请输入版本号,如1.0.1" style="width: 380px" />
</FormItem>
<FormItem label="wgt包地址" prop="url">
<Input v-model="form.url" readonly placeholder="请先上传wgt包" style="width: 520px" />
</FormItem>
<FormItem label="文件名">
<Input v-model="form.fileName" readonly style="width: 380px" />
</FormItem> </FormItem>
</Form> </Form>
<div slot="footer"> <div>
<Button type="primary" :loading="submitLoading" @click="handelSubmit">提交</Button> <Button type="primary" :loading="submitLoading" @click="handelSubmit">提交</Button>
</div> </div>
<Spin fix v-if="loading"></Spin>
</div> </div>
</template> </template>
<script> <script>
import { import {
getFileCate, uploadAppUpdateFile,
addFileCate,
editFileCate,
uploadFile,
trashFileCate,
searchFileCate,
checkOssSet, checkOssSet,
getAppUpdateSet,
editAppUpdateSet,
} from "@/api/index"; } from "@/api/index";
export default { export default {
name: "fileCategory", name: "upApp",
props: {
showOnly: {
type: Boolean,
default: false,
},
},
data() { data() {
return { return {
uploadFileUrl: uploadFile, uploadFileUrl: uploadAppUpdateFile,
loading: false,
submitLoading: false, submitLoading: false,
accessToken: {}, accessToken: {},
uploadData: {}, uploadData: {},
form:{ form:{
path:'', url: "",
version:'' version: "",
} fileName: "",
},
formValidate: {
version: [{ required: true, message: "请输入版本号", trigger: "blur" }],
url: [{ required: true, message: "请上传wgt包", trigger: "change" }],
},
}; };
}, },
methods: { methods: {
@ -54,6 +58,7 @@
this.accessToken = { this.accessToken = {
accessToken: this.getStore("accessToken"), accessToken: this.getStore("accessToken"),
}; };
this.initAppUpdateSet();
checkOssSet().then((res) => { checkOssSet().then((res) => {
if (!res.success) { if (!res.success) {
this.$Modal.confirm({ this.$Modal.confirm({
@ -71,13 +76,32 @@
} }
}); });
}, },
beforeUpload() { initAppUpdateSet() {
this.loading = true;
getAppUpdateSet().then((res) => {
this.loading = false;
if (res.result) {
for (let attr in res.result) {
if (res.result[attr] == null) {
res.result[attr] = "";
}
}
this.form = res.result;
}
});
},
beforeUpload(file) {
if (!file.name || file.name.toLowerCase().lastIndexOf(".wgt") !== file.name.length - 4) {
this.$Message.error("只能上传wgt格式的热更新包");
return false;
}
return true; return true;
}, },
handleSuccess(res, file, fileList) { handleSuccess(res, file, fileList) {
if (res.success) { if (res.success) {
this.$Message.success("上传文件 " + file.name + " 成功"); this.$Message.success("上传文件 " + file.name + " 成功");
this.form.path = res.result this.form.url = res.result;
this.form.fileName = file.name;
} else { } else {
file.percentage = 0; file.percentage = 0;
file.status = "fail"; file.status = "fail";
@ -88,9 +112,23 @@
handleError(error, file, fileList) { handleError(error, file, fileList) {
this.$Message.error(error.toString()); this.$Message.error(error.toString());
}, },
handleFormatError(file) {
this.$Message.error(file.name + " 不是wgt格式文件");
},
handelSubmit() { handelSubmit() {
this.$refs.form.validate((valid) => {
if (!valid) {
return;
} }
this.submitLoading = true;
editAppUpdateSet(this.form).then((res) => {
this.submitLoading = false;
if (res.success) {
this.$Message.success("保存成功");
}
});
});
},
}, },
mounted() { mounted() {
this.init(); this.init();

Loading…
Cancel
Save