dva.js 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import dva from 'dva';
  2. import { Component } from 'react';
  3. import createLoading from 'dva-loading';
  4. import history from '@tmp/history';
  5. let app = null;
  6. export function _onCreate() {
  7. const plugins = require('umi/_runtimePlugin');
  8. const runtimeDva = plugins.mergeConfig('dva');
  9. app = dva({
  10. history,
  11. ...(runtimeDva.config || {}),
  12. ...(window.g_useSSR ? { initialState: window.g_initialData } : {}),
  13. });
  14. app.use(createLoading());
  15. (runtimeDva.plugins || []).forEach(plugin => {
  16. app.use(plugin);
  17. });
  18. app.model({ namespace: 'common', ...(require('D:/project/advich/xinketong-seller/src/models/common.js').default) });
  19. app.model({ namespace: 'decorate', ...(require('D:/project/advich/xinketong-seller/src/models/decorate.js').default) });
  20. app.model({ namespace: 'global', ...(require('D:/project/advich/xinketong-seller/src/models/global.js').default) });
  21. app.model({ namespace: 'list', ...(require('D:/project/advich/xinketong-seller/src/models/list.js').default) });
  22. app.model({ namespace: 'login', ...(require('D:/project/advich/xinketong-seller/src/models/login.js').default) });
  23. app.model({ namespace: 'manage', ...(require('D:/project/advich/xinketong-seller/src/models/manage.js').default) });
  24. app.model({ namespace: 'menu', ...(require('D:/project/advich/xinketong-seller/src/models/menu.js').default) });
  25. app.model({ namespace: 'project', ...(require('D:/project/advich/xinketong-seller/src/models/project.js').default) });
  26. app.model({ namespace: 'setting', ...(require('D:/project/advich/xinketong-seller/src/models/setting.js').default) });
  27. app.model({ namespace: 'user', ...(require('D:/project/advich/xinketong-seller/src/models/user.js').default) });
  28. return app;
  29. }
  30. export function getApp() {
  31. return app;
  32. }
  33. export class _DvaContainer extends Component {
  34. render() {
  35. const app = getApp();
  36. app.router(() => this.props.children);
  37. return app.start()();
  38. }
  39. }