Commit 2f35fec8 authored by 彭俊龙's avatar 彭俊龙

提交apk上传读取版本信息

parent 36469bf1
Pipeline #93610 passed with stages
import React, { useEffect, useMemo, useState } from 'react'; import React, { useEffect, useMemo, useState } from 'react';
import styles from './index.less'; import styles from './index.less';
import { Form, Table , Input, message, Button, Upload, Tooltip } from 'antd'; import { Form, Table, Input, message, Button, Upload, Tooltip, Space } from 'antd';
import { getAppUploadRecords, postAppVersionInfo } from '@/services/mobileConfig/api'; import {
import { UploadOutlined } from '@ant-design/icons'; getAppUploadRecords,
postAppVersionInfo,
getApkVerionInfo,
} from '@/services/mobileConfig/api';
import { UploadOutlined, QuestionCircleOutlined } from '@ant-design/icons';
import { request } from '@wisdom-utils/utils/es'; import { request } from '@wisdom-utils/utils/es';
const ApkUpload = props => { const ApkUpload = props => {
const [loadding, setLoadding] = useState(false); const [loadding, setLoadding] = useState(false);
...@@ -34,31 +38,36 @@ const ApkUpload = props => { ...@@ -34,31 +38,36 @@ const ApkUpload = props => {
title: '发版日志', title: '发版日志',
dataIndex: 'UploadLog', dataIndex: 'UploadLog',
key: 'UploadLog', key: 'UploadLog',
render: (text, recore, index) => render: (text, recore, index) => (
<Tooltip title= {text}> <Tooltip title={text}>
<div style={{ <div
style={{
width: '150px', width: '150px',
whiteSpace: 'nowrap', /* 不换行 */ whiteSpace: 'nowrap' /* 不换行 */,
overflow: 'hidden', /* 超出部分隐藏 */ overflow: 'hidden' /* 超出部分隐藏 */,
textOverflow: 'ellipsis' /* 显示省略号 */ textOverflow: 'ellipsis' /* 显示省略号 */,
}}> }}
>
{text} {text}
</div> </div>
</Tooltip> </Tooltip>
),
}, },
{ {
title: '下载', title: '下载',
key: 'DownUrl', key: 'DownUrl',
dataIndex: 'DownUrl', dataIndex: 'DownUrl',
render: (text, record, index) => <UploadOutlined onClick={()=> window.open(`${window.origin}${text}`, '_self') }/> render: (text, record, index) => (
<UploadOutlined onClick={() => window.open(`${window.origin}${text}`, '_self')} />
),
}, },
]; ];
const [form] = Form.useForm(); const [form] = Form.useForm();
useEffect(()=>{ useEffect(() => {
getRecords(); getRecords();
//getAppUploadRecords().then(x=> console.log(x, '上传记录')) //getAppUploadRecords().then(x=> console.log(x, '上传记录'))
}, []) }, []);
const normFile = e => { const normFile = e => {
if (Array.isArray(e)) { if (Array.isArray(e)) {
return e; return e;
...@@ -66,12 +75,30 @@ const ApkUpload = props => { ...@@ -66,12 +75,30 @@ const ApkUpload = props => {
return e?.fileList; return e?.fileList;
}; };
const getVerionInfo = filePath => {
getApkVerionInfo({
apkPath: filePath,
})
.then(res => {
if (res.code === 0) {
if (res.data) {
form.setFieldsValue({
Ver: 'V' + res.data?.versionName,
});
}
}
})
.catch(err => {
console.log(err);
});
};
const getRecords = async () => { const getRecords = async () => {
const res = await getAppUploadRecords(); const res = await getAppUploadRecords();
if(res.code === 0){ if (res.code === 0) {
setDataSource(res.data || []); setDataSource(res.data || []);
} }
} };
const postAPPUploadInfo = async () => { const postAPPUploadInfo = async () => {
await form.validateFields(); await form.validateFields();
...@@ -81,32 +108,36 @@ const ApkUpload = props => { ...@@ -81,32 +108,36 @@ const ApkUpload = props => {
return; return;
} }
setLoadding(true); setLoadding(true);
postAppVersionInfo(formData).then(res=> { postAppVersionInfo(formData)
if(res.code === 0){ .then(res => {
if (res.code === 0) {
message.success('新版本提交成功!'); message.success('新版本提交成功!');
getRecords(); getRecords();
form.resetFields() form.resetFields();
}else{ } else {
message.error(res.msg) message.error(res.msg);
} }
}).catch(err=>{ })
console.log(err, '提交失败') .catch(err => {
console.log(err, '提交失败');
}); });
setLoadding(false); setLoadding(false);
}; };
return ( return (
<div style={{ <div
style={{
display: 'flex', display: 'flex',
width: '100%' width: '100%',
}}> }}
>
<Form <Form
style={{ style={{
width: '50%' width: '50%',
}} }}
{...layout} {...layout}
initialValues={{ initialValues={{
DownUrl: '', DownUrl: '',
ApkName: '水务掌天下' ApkName: '水务掌天下',
}} }}
form={form} form={form}
name="control-hooks" name="control-hooks"
...@@ -115,9 +146,16 @@ const ApkUpload = props => { ...@@ -115,9 +146,16 @@ const ApkUpload = props => {
<Form.Item name="ApkName" label="应用名称" rules={[{ required: true }]}> <Form.Item name="ApkName" label="应用名称" rules={[{ required: true }]}>
<Input placeholder="请输入应用名称" /> <Input placeholder="请输入应用名称" />
</Form.Item> </Form.Item>
<Form.Item name="Ver" label="发布版本号" rules={[{ required: true }]}> <Form.Item label="发布版本号">
<Space>
<Form.Item name="Ver" noStyle rules={[{ required: true, message: '请输入版本号' }]}>
<Input placeholder="请输入发布版本号" /> <Input placeholder="请输入发布版本号" />
</Form.Item> </Form.Item>
<Tooltip title="版本号通过上传Apk获取或者手动填写">
<QuestionCircleOutlined />
</Tooltip>
</Space>
</Form.Item>
<Form.Item name="UploadLog" label="发版说明" rules={[{ required: true }]}> <Form.Item name="UploadLog" label="发版说明" rules={[{ required: true }]}>
<TextArea rows={6} placeholder="请输入发版说明" /> <TextArea rows={6} placeholder="请输入发版说明" />
</Form.Item> </Form.Item>
...@@ -131,11 +169,14 @@ const ApkUpload = props => { ...@@ -131,11 +169,14 @@ const ApkUpload = props => {
> >
<Upload <Upload
maxCount={1} maxCount={1}
onChange={baseFile => { onChange={async baseFile => {
const file = baseFile.file; const file = baseFile.file;
let sourcePath = ''; let sourcePath = '';
if (file.status === 'done' && file.response.code === 0) { if (file.status === 'done' && file.response.code === 0) {
sourcePath = `/PandaOMS/OMS/FileCenter/DownLoadFiles?filepath=${file.response.data}`; sourcePath = `/PandaOMS/OMS/FileCenter/DownLoadFiles?filepath=${
file.response.data
}`;
getVerionInfo(file.response.data);
message.success('上传成功!'); message.success('上传成功!');
} else if (file.status === 'done' && file.response.code !== 0) { } else if (file.status === 'done' && file.response.code !== 0) {
message.error('上传失败:' + file.response.msg); message.error('上传失败:' + file.response.msg);
...@@ -168,16 +209,15 @@ const ApkUpload = props => { ...@@ -168,16 +209,15 @@ const ApkUpload = props => {
</Form> </Form>
<Table <Table
style={{ style={{
width: '50%' width: '50%',
}} }}
columns={columns} columns={columns}
pagination={{ pagination={{
pageSize: 10 pageSize: 10,
}} }}
dataSource={dataSource} dataSource={dataSource}
/> />
</div> </div>
); );
}; };
export default ApkUpload; export default ApkUpload;
...@@ -124,3 +124,5 @@ export const upgradeCardVersion = parmas => post(`${PUBLISH_SERVICE}/WebSite/App ...@@ -124,3 +124,5 @@ export const upgradeCardVersion = parmas => post(`${PUBLISH_SERVICE}/WebSite/App
export const postAppVersionInfo = parmas => post(`${PUBLISH_SERVICE}/Mobile/PostAppVersionInfo`, parmas); export const postAppVersionInfo = parmas => post(`${PUBLISH_SERVICE}/Mobile/PostAppVersionInfo`, parmas);
export const getAppUploadRecords = parmas => get(`${PUBLISH_SERVICE}/Mobile/GetAppUploadRecords`, parmas); export const getAppUploadRecords = parmas => get(`${PUBLISH_SERVICE}/Mobile/GetAppUploadRecords`, parmas);
export const getApkVerionInfo = parmas => get(`${PUBLISH_SERVICE}/FileCenter/GetApkVerionInfo`, parmas);
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment