osskey设置

main
Ycc 1 month ago
parent a6cde1f8fb
commit 2a6c5ecf9f

@ -1,6 +1,6 @@
import { useEffect, useState } from "react";
import { Upload, List, Button, Popconfirm , Col , Row } from "antd";
import { UploadOutlined, FileTextOutlined,DeleteOutlined } from "@ant-design/icons";
import { Upload, List, Button, Popconfirm, Col, Row } from "antd";
import { UploadOutlined, FileTextOutlined, DeleteOutlined } from "@ant-design/icons";
import { Image } from "antd";
import { fetchJSON } from "@/utils/request";
import { HT3_HOST } from "@/config";
@ -21,9 +21,15 @@ const simple_encrypt = text => {
};
//
const getImageList = async (key,type='111') => {
const getImageList = async (key, overlist = false) => {
try {
const { errcode, result } = await fetchJSON(`${HT3_HOST}/oss/list_unique_key?key=${key}&type=${type}`);
let url;
if (overlist) {
url = `${HT3_HOST}/oss/list_over_unique_key?key=${key}`;
} else {
url = `${HT3_HOST}/oss/list_unique_key?key=${key}`;
}
const { errcode, result } = await fetchJSON(url);
if (errcode === 0) {
return result
.map(file => ({
@ -221,13 +227,12 @@ export const ImageUploader = props => {
export const ImageViewer = props => {
const [fileList, setFileList] = useState([]);
const key = props.osskey;
const type = props.type || '111';
const overlist = props.overlist || false;
//
useEffect(() => {
const loadImages = async () => {
const images = await getImageList(key,type);
const images = await getImageList(key, overlist);
setFileList(images);
if (props.onChange) {
@ -245,23 +250,23 @@ export const ImageViewer = props => {
<>
<Image.PreviewGroup>
<Row gutter={[20, 20]}>
{fileList &&
fileList.map(item => {
return (
<Col key={item.encrypt_key}>
{item.key.match(/\.(jpg|jpeg|png|gif|bmp|webp)$/i) ? (
{fileList &&
fileList.map(item => {
return (
<Col key={item.encrypt_key}>
{item.key.match(/\.(jpg|jpeg|png|gif|bmp|webp)$/i) ? (
<Image width={200} src={item.url} />
) : (
<a href={item.url} download>
<Button type="primary" icon={<FileTextOutlined />} size="large" title={item.key.replace(/^.*[\\\/]/, '')}>
...{item.key.slice(-10)}
</Button>
</a>
)}
</Col>
);
})}
</Row>
) : (
<a href={item.url} download>
<Button type="primary" icon={<FileTextOutlined />} size="large" title={item.key.replace(/^.*[\\\/]/, "")}>
...{item.key.slice(-10)}
</Button>
</a>
)}
</Col>
);
})}
</Row>
</Image.PreviewGroup>
</>
);

@ -1,47 +1,31 @@
import React, { useState, useEffect } from 'react';
import { Input, Button, Card, Typography, Space, Alert } from 'antd';
import { useParams } from 'react-router-dom';
import {ImageViewer} from '@/components/ImageUploader';
const { Title, Text } = Typography;
import { useState, useEffect } from "react";
import { Alert } from "antd";
import { useParams } from "react-router-dom";
import { ImageViewer } from "@/components/ImageUploader";
const CustomerImageViewer = () => {
const [ossKey, setOssKey] = useState('');
const [showUploader, setShowUploader] = useState(false);
const { key } = useParams();
useEffect(() => {
console.log(key);
// const key = `temp/tour-guide/2025-6/31278`;
setOssKey(key);
setShowUploader(true);
}, []);
return (
<div>
<Alert
message="信息提示"
description="您可以在此页面查看与旅行相关的所有图片,支持点击放大等操作。"
type="info"
showIcon
/>
<br/>
{showUploader ? (
<div>
<ImageViewer osskey={ossKey} type='222' />
</div>
) : (
<div>
<Text style={{ display: 'block', color: '#874d00', fontSize: '16px' }}>
无法提取客户信息
</Text>
</div>
)}
</div>
);
const [ossKey, setOssKey] = useState("");
const [showUploader, setShowUploader] = useState(false);
const { key } = useParams();
useEffect(() => {
setOssKey(key);
setShowUploader(true);
}, []);
return (
<>
{showUploader ? (
<>
<Alert message="Information" description="You can view all travel-related Photos on this page, provided by your tour guides." type="info" showIcon />
<br />
<ImageViewer osskey={ossKey} overlist={true} />
</>
) : (
<Alert message="Error" description="Photos not found" type="error" showIcon />
)}
</>
);
};
export default CustomerImageViewer;

@ -23,7 +23,7 @@ function Detail() {
const [feedbackInfo, setFeedbackInfo] = useState({});
const [ossKey, setOssKey] = useState('');
useEffect(() => {
const key = `temp/tour-guide/2025-6/31278`;
const key = `ghh/${GRI_SN}-${RefNo}/tourguide_image/travel-agency-${travelAgencyId}`;
setOssKey(key);
}, []);

Loading…
Cancel
Save