提交 bc56bf2c authored 作者: 钟是志's avatar 钟是志

显示学生头像

上级 56c980c2
...@@ -6,58 +6,58 @@ import { isJSON } from '@/webPublic/one_stop_public/copy'; ...@@ -6,58 +6,58 @@ import { isJSON } from '@/webPublic/one_stop_public/copy';
* 处理铜川学生头像颠倒的bug * 处理铜川学生头像颠倒的bug
* */ * */
export default function HandlePhoto({ urlObj, style, ...props }) { export default function HandlePhoto({ urlObj, style, ...props }) {
let url = ''; let url = '';
try { try {
url = JSON.parse(urlObj).url; url = JSON.parse(urlObj).url;
} catch (e) { } catch (e) {
url = urlObj; url = urlObj;
} }
const [needTransForm, setTransform] = useState(false); const [needTransForm, setTransform] = useState(false);
if (url) { if (url) {
getIsNeedTransform(url).then((res) => { getIsNeedTransform(url).then((res) => {
if (res) { if (res) {
setTransform(true); setTransform(true);
} }
}); });
} else { } else {
return null; return null;
} }
let styleThis = { let styleThis = {
...style, ...style,
transform: needTransForm ? 'rotate(-90deg)' : 'none', transform: needTransForm ? 'rotate(-90deg)' : 'none',
}; };
return <img src={url} {...props} style={styleThis} />; return <img src={url} {...props} style={styleThis} />;
} }
export function getIsNeedTransform(url) { export function getIsNeedTransform(url) {
return new Promise((resolve, reject) => { return new Promise((resolve, reject) => {
if (url) { if (url) {
const img = new Image(); const img = new Image();
img.src = url; img.src = url;
// 判断是否有缓存 // 判断是否有缓存
if (img.complete) { if (img.complete) {
// 打印 // 打印
if (img.width > img.height) { if (img.width > img.height) {
resolve(true); resolve(true);
} else { } else {
resolve(false); resolve(false);
} }
} else { } else {
// 加载完成执行 // 加载完成执行
img.onload = () => { img.onload = () => {
if (img.width > img.height) { if (img.width > img.height) {
resolve(true); resolve(true);
} else { } else {
resolve(false); resolve(false);
} }
}; };
} }
img.onerror = () => { img.onerror = () => {
resolve(false); resolve(false);
}; };
} }
}); });
} }
/** /**
...@@ -80,21 +80,21 @@ export function getFileInfo(fileJsonStr) { ...@@ -80,21 +80,21 @@ export function getFileInfo(fileJsonStr) {
fileJsonStr.indexOf('http') <= -1 && fileJsonStr.indexOf('http') <= -1 &&
fileJsonStr.length > 10 fileJsonStr.length > 10
) { ) {
// 勇哥喊的 拼url // 拼一站式的 图片路径 可能需要修改
const prefix = window.specialImportantSystemConfig && window.specialImportantSystemConfig.dfs const prefix = window.specialImportantSystemConfig && window.specialImportantSystemConfig.dfs;
return { return {
downloadUrl: '', downloadUrl: '',
url: prefix + fileJsonStr, url: prefix + fileJsonStr,
fileName: '', fileName: '',
}; };
} else { } else {
if(fileJsonStr && fileJsonStr.indexOf('http') > -1 && fileJsonStr.length > 10){ if (fileJsonStr && fileJsonStr.indexOf('http') > -1 && fileJsonStr.length > 10) {
return { return {
downloadUrl: '', downloadUrl: '',
url: fileJsonStr, url: fileJsonStr,
fileName: '', fileName: '',
}; };
}else{ } else {
return { return {
downloadUrl: '', downloadUrl: '',
url: '', url: '',
...@@ -103,11 +103,23 @@ export function getFileInfo(fileJsonStr) { ...@@ -103,11 +103,23 @@ export function getFileInfo(fileJsonStr) {
} }
} }
} else { } else {
return { if (isJSON(fileJsonStr)) {
downloadUrl: '', fileJsonStr = JSON.parse(fileJsonStr);
url: '', if (fileJsonStr.url) {
fileName: '', return fileJsonStr;
}; } else {
return {
downloadUrl: '',
url: '',
fileName: '',
};
}
} else {
return {
downloadUrl: '',
url: '',
fileName: '',
};
}
} }
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论