模型加载
vue3使用hooks实现模型的加载
hooks文件: useBimLoad.js
import { getAccessToken, getViewToken } from "@/api/bimface";//获取accessToken和viewToken,自行编写
import { toRefs } from "vue";
export function useBimLoad(props) {
const { renderDone,backgroundColor= [84,111,33,1] } = props;
const pdata = reactive({
viewer3D: null,
timer: null,
drawableContainer: null,
});
const { viewer3D, drawableContainer} = toRefs(pdata);
const getAccessTokenData = async () => {
const accessTokenRes = await getAccessToken();
let accessToken = "";
if (typeof accessTokenRes === "string") {
accessToken = accessTokenRes;
} else {
const {
data: { data },
} = accessTokenRes;
const { token, expireTime } = data;
accessToken = token;
// 写入cookie
document.cookie = `accessToken=${accessToken};expires=${new Date(
expireTime
).toUTCString()}`;
}
return accessToken;
};
const getViewTokenData = async (accessToken, fileId) => {
const viewTokenRes = await getViewToken(accessToken, fileId);
const { data } = viewTokenRes;
return data.data;
};
// 初始化viewer3D
const viewer3DInit = () => {
let view = document.getElementById("view");
let config = new Glodon.Bimface.Application.WebApplication3DConfig();
// 背景色
config.backgroundColor = [
{
// color: new Glodon.Web.Graphics.Color(0, 0, 0, 0),
color: new Glodon.Web.Graphics.Color(