import { createSSRApp } from 'vue';
import App from './App.vue';
import { store } from './store/index';

/*每个页面公共css */
import './theme/index.scss';

import uviewPlus, { setConfig } from 'uview-plus';
// 枚举管理
import smartEnumPlugin from '@/plugins/smart-enums-plugin';
import constantsInfo from '@/constants/index';
import lodash from 'lodash';
export function createApp() {
  const app = createSSRApp(App);
  app.use(store);
  app.use(uviewPlus, () => {
    return {
      options: {
        // 修改$u.config对象的属性
        config: {
          // 修改默认单位为rpx，相当于执行 uni.$u.config.unit = 'rpx'
          // 组件的很多单位仍然为px并非配置不生效，而是rpx配置目前无法做到修改Vue单文件组件中的Css/Sass中写死的px单位。
          // 这个配置主要用于prop传参时的单位修改，比如<up-image width="80"></up-image>中的80会是rpx单位。
          // 如果需要全局组件样式变为rpx，可以尝试使用postcss等第三方插件转换。'
          unit: 'rpx',
        },
        props: {
          // 修改radio组件的size参数的默认值，相当于执行 uni.$u.props.radio.size = 30
          radio: {
            // size: 20
          },
          // 其他组件属性配置
          // ......
        },
      },
    };
  });
  app.use(smartEnumPlugin, constantsInfo);
  app.config.globalProperties.$lodash = lodash;
  return {
    app,
    store,
  };
}
