Skip to content

Commit

Permalink
[add-description]:Dynamic change service
Browse files Browse the repository at this point in the history
  • Loading branch information
zhengdechang2 committed Nov 23, 2022
1 parent 6007f34 commit d305fc5
Show file tree
Hide file tree
Showing 21 changed files with 439 additions and 17,339 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -37,3 +37,5 @@ screenshots/

# Locize settings
.locize

.history
8 changes: 0 additions & 8 deletions .vscode/extensions.json

This file was deleted.

15 changes: 0 additions & 15 deletions .vscode/launch.json

This file was deleted.

35 changes: 0 additions & 35 deletions .vscode/settings.json

This file was deleted.

5 changes: 4 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,10 @@
},
"dependencies": {
"@babel/runtime": "^7.5.5",
"core-js": "^3.2.1"
"core-js": "^3.2.1",
"pdfjs-dist": "^2.2.228",
"react-transition-group": "^4.1.1",
"yarn": "^1.22.19"
},
"devDependencies": {
"@babel/core": "^7.5.0",
Expand Down
55 changes: 51 additions & 4 deletions platform/core/src/studies/index.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
/*
* @Description:
* @Author: eleven
* @Date: 2022-11-21 21:23:56
*/
import { QIDO, WADO } from './services/';
import {
deleteStudyMetadataPromise,
Expand All @@ -9,18 +14,60 @@ import retrieveStudiesMetadata from './retrieveStudiesMetadata.js';
import searchStudies from './searchStudies';
import sortStudy from './sortStudy';


// const retrieveStudiesMetadata = (server, ...res) => {
// let serve = JSON.parse(localStorage.getItem('serve'))
// console.log('serve12333r: ', serve);
// if (serve !== undefined || serve !== {}) {
// server = { ...server, ...serve }
// }
// return retrieveStudiesMetadatas(server, ...res)
// }

export const changeServe = (object) => {

let list = Object.keys(object)

let res = list.reduce((pre, item) => {
let midFn = object[item]
console.log('midFn: ', midFn);
Object.defineProperty(object, [item], {
value: function (...arg) {
let [server, ...params] = arg
if (server) {
let serve = JSON.parse(localStorage.getItem('serve'))
if (!serve || JSON.stringify(serve) !== "{}") {
server = { ...server, ...serve }
params = [server, ...params]
}
}
midFn(...params)
}
})
pre[item] = object[item]
return pre
}, {})
return res
}

let serveApi = {
retrieveStudyMetadata,
deleteStudyMetadataPromise,
retrieveStudiesMetadata,

}
let serveApiExport = changeServe(serveApi)

const studies = {
services: {
QIDO,
WADO,
},
loadingDict: {},
retrieveStudyMetadata,
deleteStudyMetadataPromise,
retrieveStudiesMetadata,
getStudyBoxData,
searchStudies,
sortStudy,
getStudyBoxData,
...serveApiExport
};

export default studies;
13 changes: 11 additions & 2 deletions platform/core/src/studies/services/index.js
Original file line number Diff line number Diff line change
@@ -1,15 +1,24 @@
/*
* @Description:
* @Author: eleven
* @Date: 2022-11-21 21:26:10
*/
// DICOMWeb instance, study, and metadata retrieval
import Instances from './qido/instances.js';
import Studies from './qido/studies.js';
import RetrieveMetadata from './wado/retrieveMetadata.js';

const WADO = {

let WADO = {
RetrieveMetadata,
};

const QIDO = {
let QIDO = {
Studies,
Instances,
};




export { QIDO, WADO };
8 changes: 6 additions & 2 deletions platform/core/src/studies/services/qido/instances.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ function resultDataToStudyMetadata(server, StudyInstanceUID, resultData) {
const seriesMap = {};
const series = [];

resultData.forEach(function(instance) {
resultData.forEach(function (instance) {
// Use seriesMap to cache series data
// If the series instance UID has already been used to
// process series data, continue using that series
Expand Down Expand Up @@ -77,7 +77,11 @@ function resultDataToStudyMetadata(server, StudyInstanceUID, resultData) {
*/
export default function Instances(server, StudyInstanceUID) {
// TODO: Are we using this function anywhere?? Can we remove it?

let serve = JSON.parse(localStorage.getItem('serve'))
console.log('server: ', serve);
if (serve !== undefined || serve !== {}) {
server = { ...server, ...serve }
}
const config = {
url: server.qidoRoot,
headers: DICOMWeb.getAuthorizationHeader(server),
Expand Down
19 changes: 17 additions & 2 deletions platform/core/src/studies/services/qido/studies.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ import DICOMWeb from '../../../DICOMWeb/';

import errorHandler from '../../../errorHandler';
import getXHRRetryRequestHook from '../../../utils/xhrRetryRequestHook';

import { changeURL } from '../index'
/**
* Creates a QIDO date string for a date range query
* Assumes the year is positive, at most 4 digits long.
Expand Down Expand Up @@ -115,8 +115,19 @@ function resultDataToStudies(resultData) {
return studies;
}

export default function Studies(server, filter) {




function Studies(server, filter) {
const { staticWado } = server;

let serve = JSON.parse(localStorage.getItem('serve'))
console.log('server: ', serve);
if (serve !== undefined || serve !== {}) {
server = { ...server, ...serve }
}

const config = {
...server,
url: server.qidoRoot,
Expand All @@ -125,6 +136,8 @@ export default function Studies(server, filter) {
requestHooks: [getXHRRetryRequestHook()],
};

console.log('config: ', config);

const dicomWeb = staticWado
? new StaticWadoClient(config)
: new api.DICOMwebClient(config);
Expand All @@ -142,3 +155,5 @@ export default function Studies(server, filter) {

return dicomWeb.searchForStudies(options).then(resultDataToStudies);
}

export default Studies
2 changes: 1 addition & 1 deletion platform/ui/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@
"react-i18next": "^10.11.0",
"react-modal": "^3.11.1",
"react-overlays": "^0.8.0",
"react-transition-group": "2.0.0",
"react-transition-group": "^2.0.0",
"react-with-direction": "1.3.0"
},
"devDependencies": {
Expand Down
30 changes: 16 additions & 14 deletions platform/ui/src/contextProviders/SnackbarProvider.js
Original file line number Diff line number Diff line change
Expand Up @@ -31,20 +31,6 @@ const SnackbarProvider = ({ children, service }) => {
const [count, setCount] = useState(1);
const [snackbarItems, setSnackbarItems] = useState([]);

useEffect(() => {
const onLogHandler = ({ type, notify, title, message }) => {
if (notify) {
show({ type, title, message });
}
};

LogManager.subscribe(LogManager.EVENTS.OnLog, onLogHandler);

return () => {
LogManager.unsubscribe(LogManager.EVENTS.OnLog, onLogHandler);
};
}, [show]);

const show = useCallback(
options => {
if (!options || (!options.title && !options.message)) {
Expand Down Expand Up @@ -72,6 +58,22 @@ const SnackbarProvider = ({ children, service }) => {
[count, DEFAULT_OPTIONS]
);

useEffect(() => {
const onLogHandler = ({ type, notify, title, message }) => {
if (notify) {
show({ type, title, message });
}
};

LogManager.subscribe(LogManager.EVENTS.OnLog, onLogHandler);

return () => {
LogManager.unsubscribe(LogManager.EVENTS.OnLog, onLogHandler);
};
}, [show]);



const hide = useCallback(
id => {
const hideItem = items => {
Expand Down
18 changes: 16 additions & 2 deletions platform/viewer/.webpack/webpack.pwa.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ module.exports = (env, argv) => {
path: DIST_DIR,
filename: isProdBuild ? '[name].bundle.[chunkhash].js' : '[name].js',
publicPath: PUBLIC_URL, // Used by HtmlWebPackPlugin for asset prefix
devtoolModuleFilenameTemplate: function(info) {
devtoolModuleFilenameTemplate: function (info) {
if (isProdBuild) {
return `webpack:///${info.resourcePath}`;
} else {
Expand Down Expand Up @@ -180,9 +180,23 @@ module.exports = (env, argv) => {

if (hasProxy) {
mergedConfig.devServer.proxy = {};
mergedConfig.devServer.proxy[PROXY_TARGET] = PROXY_DOMAIN;
// mergedConfig.devServer.proxy[PROXY_TARGET] = PROXY_DOMAIN;
mergedConfig.devServer.proxy["/10.10.99.88:8042/dicom-web"] = {
target: 'http://10.10.99.88:8042/dicom-web',
changeOrigin: true,//控制服务器收到的请求头中Host的值
pathRewrite: { '^/10.10.99.88:8042/dicom-web': '' } //重写请求路径,下面有示例解释
}
mergedConfig.devServer.proxy["/10.10.99.8:8042/dicom-web"] = {
target: 'http://10.10.99.8:8042/dicom-web',
changeOrigin: true,//控制服务器收到的请求头中Host的值
pathRewrite: { '^/10.10.99.8:8042/dicom-web': '' } //重写请求路径,下面有示例解释
}

console.log('mergedConfig.devServer.proxy: ', mergedConfig.devServer.proxy);
}



if (!isProdBuild) {
mergedConfig.plugins.push(new webpack.HotModuleReplacementPlugin());
}
Expand Down
2 changes: 1 addition & 1 deletion platform/viewer/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
"build:viewer:demo": "cross-env NODE_ENV=production APP_CONFIG=config/demo.js HTML_TEMPLATE=rollbar.html QUICK_BUILD=true node --max_old_space_size=4096 ./../../node_modules/webpack/bin/webpack.js --progress --config .webpack/webpack.pwa.js",
"build:viewer:package": "yarn run build:package",
"dev": "cross-env NODE_ENV=development webpack-dev-server --config .webpack/webpack.pwa.js",
"dev:orthanc": "cross-env NODE_ENV=development PROXY_TARGET=/dicom-web PROXY_DOMAIN=http://localhost:8042 APP_CONFIG=config/docker_nginx-orthanc.js webpack-dev-server --config .webpack/webpack.pwa.js",
"dev:orthanc": "cross-env NODE_ENV=development PROXY_TARGET=/dicom-web PROXY_DOMAIN=http://10.10.99.8:8042 APP_CONFIG=config/docker_nginx-orthanc.js webpack-dev-server --config .webpack/webpack.pwa.js",
"dev:viewer": "yarn run dev",
"start": "yarn run dev",
"test:e2e": "cypress open",
Expand Down
5 changes: 5 additions & 0 deletions platform/viewer/public/config/default.js
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
/*
* @Description:
* @Author: eleven
* @Date: 2022-11-21 21:23:57
*/
window.config = {
// default: '/'
routerBasename: '/',
Expand Down
16 changes: 13 additions & 3 deletions platform/viewer/public/config/docker_nginx-orthanc.js
Original file line number Diff line number Diff line change
@@ -1,13 +1,23 @@
/*
* @Description:
* @Author: zhenglong
* @Date: 2022-11-21 21:23:57
*/


window.config = {
routerBasename: '/',
showStudyList: true,
servers: {
dicomWeb: [
{
name: 'Orthanc',
wadoUriRoot: '/wado',
qidoRoot: '/dicom-web',
wadoRoot: '/dicom-web',
wadoUriRoot: '/10.10.99.88:8042/wado',
qidoRoot: '/10.10.99.88:8042/dicom-web',
wadoRoot: '/10.10.99.88:8042/dicom-web',
// wadoUriRoot: 'http://10.10.99.8:8042/wado',
// qidoRoot: 'http://10.10.99.8:8042/dicom-web',
// wadoRoot: 'http://10.10.99.8:8042/dicom-web',
qidoSupportsIncludeField: false,
imageRendering: 'wadors',
thumbnailRendering: 'wadors',
Expand Down
Loading

0 comments on commit d305fc5

Please sign in to comment.