feat: 新增APP升级,Android点击上传APK

This commit is contained in:
wanglihui 2023-12-12 12:50:52 +08:00
parent 8b09926cc6
commit fdfa818559
3 changed files with 76 additions and 22 deletions

10
src/api/file.ts Normal file
View File

@ -0,0 +1,10 @@
import request from '@/utils/axios';
// 获取文件路径
export function feileGet(params?: any) {
return request({
url: '/file/upload',
method: 'get',
params
});
}

View File

@ -24,16 +24,20 @@
</el-radio-group>
</el-form-item>
<el-form-item label="安装包">
<el-upload
ref="upload"
action="https://run.mocky.io/v3/9d059bf9-4660-45f2-925d-ce80ad6c4d15"
:limit="1"
:auto-upload="false"
>
<template #trigger>
<el-button type="primary">点击上传APK</el-button>
</template>
</el-upload>
<div class="w-100%">
<el-upload
ref="upload"
:action="actionURL"
:limit="1"
:headers="headers"
:before-upload="beforeUploadFile"
:on-success="onFileSuccess"
>
<template #trigger>
<el-button type="primary">点击上传APK</el-button>
</template>
</el-upload>
</div>
</el-form-item>
<el-form-item label="版本号">
<el-input v-model="formData.app_version" placeholder="请输入版本号" />
@ -59,25 +63,19 @@
<script lang="ts" name="BdAppVersion" setup>
import { ref } from 'vue';
import { ElMessage } from 'element-plus';
import { useUserStore } from '@/stores/modules/user';
// API
import { commonAppversionPost } from '@/api/tool';
import { feileGet } from '@/api/file';
interface IProps {
value: boolean;
}
const props = withDefaults(defineProps<IProps>(), {
value: false
});
const content = ref('');
const loaging = ref<boolean>(false);
const formData = reactive({
app_version: '',
os: 'android',
is_force: 0,
update_desc: '',
download_url: ''
});
const emits = defineEmits<{
(e: 'update:value', item: boolean): void;
(e: 'ok', item: any): void;
@ -89,6 +87,47 @@ watch(
props.value = n;
}
);
const userStore = useUserStore();
const content = ref('');
const loaging = ref<boolean>(false);
const formData = reactive({
app_version: '',
os: 'android',
is_force: 0,
update_desc: '',
download_url: ''
});
/**
* 上传图片
*/
const headers = {
token: userStore.token
};
const actionURL = ref('');
//
const beforeUploadFile = async (rawFile: any) => {
const fileData = {
path: `/${rawFile.uid}/${rawFile.name}`,
type: 'common'
};
const res = (await feileGet(fileData)) as any;
if (res.url) {
actionURL.value = res.url;
return true;
} else {
return false;
}
};
//
const onFileSuccess = (response: any, _uploadFile: any) => {
console.log(response);
formData.download_url = response.path;
};
//
const onClose = () => {
emits('update:value', false);

View File

@ -51,7 +51,7 @@
</div>
</div>
<!-- 新增版本 -->
<bd-app-version v-model:value="appVersionAddValue" />
<bd-app-version v-model:value="appVersionAddValue" @ok="onAppVersionOk" />
</bd-page>
</template>
@ -133,6 +133,11 @@ const appVersionAddValue = ref<boolean>(false);
const onAppVersionAdd = () => {
appVersionAddValue.value = true;
};
//
const onAppVersionOk = () => {
getTableList();
};
//
onMounted(() => {
getTableList();