import { createApp } from "vue";
import "./style.css";
import App from "./App.vue";

import store from "./storex";

import {
  // create naive ui
  create,
  // component
  NButton,
  NTabPane,
  NTabs,
  NInput,
  NEmpty,
  NImage,
} from "naive-ui";

// n-tab-pane
const naive = create({
  components: [NButton, NTabs, NTabPane, NInput, NEmpty, NImage],
});

import qs from "query-string";
const parseSearch: any = qs.parse(location.search);
const hashSearch = qs.parse(location.hash.split("?")[1]);
const Authorization: string = parseSearch.Authorization || hashSearch.Authorization || "";
// 授权
sessionStorage.setItem("Authorization", Authorization);
/**
 * 平台
 * classroom 课堂乐器
 * orchestra 管乐团
 */
sessionStorage.setItem("platform", parseSearch.platform || hashSearch.platform || "");

import { TUIComponents, TUICore, genTestUserSig } from "./TUIKit";
// import TUICallKit
// import { TUICallKit } from "@tencentcloud/call-uikit-vue";

const SDKAppID = parseSearch.appId || hashSearch.appId || 1400805079; // Your SDKAppID
const secretKey = parseSearch.secretKey || hashSearch.secretKey || "c5f4ea6140128a36c842990446a2c89249ab886b5e1ea6893555aa635a0b3c30"; // Your secretKey
const userID = parseSearch.userID || "KT:140:TEACHER"; // User ID

// init TUIKit
const TUIKit = TUICore.init({
  SDKAppID,
});
// TUIKit add TUIComponents
TUIKit.use(TUIComponents);
// TUIKit add TUICallKit
// TUIKit.use(TUICallKit);

// login TUIKit
TUIKit.login({
  userID: userID,
  userSig: genTestUserSig({
    SDKAppID,
    secretKey,
    userID,
  }).userSig, // The password with which the user logs in to IM. It is the ciphertext generated by encrypting information such as userID.For the detailed generation method, see Generating UserSig
});

createApp(App).use(naive).use(store).use(TUIKit).mount("#app");
