[OHIF-Viewers]医疗数字阅片-医学影像-redux-token实操(1)

时间:2022-07-22
本文章向大家介绍[OHIF-Viewers]医疗数字阅片-医学影像-redux-token实操(1),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

[OHIF-Viewers]医疗数字阅片-医学影像-redux-token实操

需要更改地方

修改: platform/core/src/redux/actions.js 修改: platform/core/src/redux/reducers/index.js 新文件: platform/core/src/redux/reducers/token.js 修改: platform/viewer/src/App.js

actions.js

+export const setToken =token=>({
+  type:'SET_TOKEN',
+  token
+})

setStudyData,
setServers,
+setToken,
};

reducers/index.js

import viewports from './viewports';
+import Token from './token'
……
viewports,
+Token,

reducers/token.js

//默认state
export const defaultState = {
  token: 1,
};

const Token = (state = defaultState, action) => {
  switch (action.type) {
    case 'SET_TOKEN': //不使用样板文件
      // return { ...state, token: action.token }; //旧的state一起返回
          return action.token;//只返回新值
    default:
      return state;
  }
};

export default Token;

src/App.js

+import {setToken} from "@ohif/core/src/redux/actions";//直连引入setToken
//设置token
+store.dispatch(setToken(this.getQueryToken('token')?this.getQueryToken('token'):'00'));
+console.log(store.getState().token);

+//获取url 参数
+getQueryToken(name) {
+       var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+       var r = window.location.search.substr(1).match(reg);
+       if (r != null) return unescape(r[2]);
+        return null;
+    }