2 Star 0 Fork 0

思依_xuni/Ai3D-3D素材展示

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
main.js 10.23 KB
一键复制 编辑 原始数据 按行查看 历史
‘JOKER’ 提交于 2024-03-26 11:05 . back
import { SingleObjViewer } from './src/SingleObjWorld.js'
function getUrlParam(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = decodeURI(window.location.search).substr(1).match(reg);
if (r != null) return unescape(r[2]); return null;
}
async function main() {
window.requestUrl = window.origin+"/api"
// window.requestUrl = "http://192.168.22.128/api"
//产品3d展示
var pcontainer = document.getElementById('obj-container-product');
var canvasContainer = document.getElementById('canvasContainer');
let useMinio = false;
await fetch('./config.json').then(res => res.json()).then(options => {
if(options.platform == 'local'){
// 本地模式
let idx = getUrlParam("id");
let useb = getUrlParam("useback");
let nMode = getUrlParam("navMode");
let modellist = {
"1":"./assets/11收音机.glb",
"2":"./assets/daolan.glb",
"3":"./assets/01陈伯钧书信.glb",
"4":"./assets/03华北军大部分教材.glb",
"5":"./assets/05学员毕业证书.glb",
"6":"./assets/06学员立功奖状.glb",
"7":"./assets/09戴海长荣誉证书.glb",
"8":"./assets/10向文化大进军.glb",
"9":"./assets/11收音机.glb",
"10":"./assets/13拐杖.glb",
"11":"./assets/14石家庄高级步校部分教材.glb",
"13":"./assets/16包新峰烈士参战期间思想汇报.glb",
"14":"./assets/背包.glb",
"15":"./assets/望远镜.glb",
"16":"./assets/15石家庄高级陆校部分教材.glb",
}
let useback = false;
let navMode = false;
if(useb=="1"){
useback = true;
}
if(nMode=="1"){
navMode = true;
}
var objViewerProduct=new SingleObjViewer(pcontainer,canvasContainer,useback,navMode);
objViewerProduct.start();
if(idx){
objViewerProduct.init(modellist[idx]);
}else{
objViewerProduct.init(modellist[1]);
}
}else{
//线上模式
var objViewerProduct=new SingleObjViewer(pcontainer,canvasContainer,true);
if(window.localStorage.getItem("ai3d_sass_key-token")){
window.userToken = JSON.parse(window.localStorage.getItem("ai3d_sass_key-token")).content ;
}
if(window.localStorage.getItem("ai3d_sass_key-userInfo")){
window.userInfo = JSON.parse(window.localStorage.getItem("ai3d_sass_key-userInfo"));
}
// window.userToken = JSON.parse(window.localStorage.getItem("ai3d_sass_key-token")).content ;
// window.userInfo = JSON.parse(window.localStorage.getItem("ai3d_sass_key-userInfo"));
let idx = getUrlParam("id");
let shareId = getUrlParam("shareId");
if(options.platform == 'minio'){
useMinio = true;
}
if(idx||shareId){
requestUploadInfo(function(domain){
if(shareId){
requestShareModel(shareId,function(result){
console.log(result);
if(useMinio){
requestMinioInfo(function(info){
window.previewUrl = info.imagePreViewPrefix;
window.defaultBucket = info.defaultBucket;
objViewerProduct.start();
objViewerProduct.init(window.origin+window.previewUrl+'/'+window.defaultBucket+'/'+result.materialSourceUrl,useMinio);
})
}else{
objViewerProduct.start();
objViewerProduct.init('https://'+domain+'/'+result.materialSourceUrl);
}
})
}else{
requestModel(idx,function(result){
console.log(result);
if(useMinio){
requestMinioInfo(function(info){
window.previewUrl = info.imagePreViewPrefix;
window.defaultBucket = info.defaultBucket;
objViewerProduct.start();
objViewerProduct.init(window.origin+window.previewUrl+'/'+window.defaultBucket+'/'+result.materialSourceUrl,useMinio);
})
}else{
objViewerProduct.start();
objViewerProduct.init('https://'+domain+'/'+result.materialSourceUrl);
}
})
}
})
}
let key = getUrlParam("key");
if(key){
requestUploadInfo(function(domain){
if(useMinio){
requestMinioInfo(function(info){
window.previewUrl = info.imagePreViewPrefix;
window.defaultBucket = info.defaultBucket;
objViewerProduct.start();
objViewerProduct.init(window.origin+window.previewUrl+'/'+window.defaultBucket+'/'+window.atob(key),useMinio);
})
}else{
objViewerProduct.start();
objViewerProduct.init('https://'+domain+'/'+window.atob(key));
}
})
}
}
})
}
var requestShareModel = function(idx,callback){
// var $ = layui.$;
$.ajax({
url: window.requestUrl+'/xr-service/xrMaterial/getMaterialInfoByShareId',
type: 'POST',
timeout : 3000, //超时时间设置,单位毫秒
// data: data,
dataType: 'json',
async:false,
crossOrigin: true,
headers: {
'Content-Type': 'application/json;charset=utf-8',
'Access-Control-Allow-Origin':'*',
// 'satoken':window.localStorage.getItem("ai3d_sass_key-token").content
},
data:JSON.stringify({
// token:window.token,
shareId:idx
}),
// contentType: 'json',
// processData: false,
success: function (res) {
// var parsdata = JSON.parse(res)
console.log(res);
if(res.code === 200){
let result = res.data;
callback(result);
// Global.uploadToken = result;
}
else{
console.log(res.msg);
layer.msg(res.msg);
window.location = 'https://ai3d.huilan.com/#/404'
}
}.bind(this),
error: function (returndata) {
// alert("网络不佳,请稍后再试");
console.log(returndata);
}.bind(this)
});
}
var requestModel = function(idx,callback){
// var $ = layui.$;
let url;
let data;
let headers;
if(getUrlParam('from')=='1'){
headers = {
'Content-Type': 'application/json;charset=utf-8',
'Access-Control-Allow-Origin':'*',
// 'satoken':window.userToken
}
url = window.requestUrl+'/xr-service/xrMaterial/getMaterialInfoInMarket';
data = JSON.stringify({
id:idx
})
}else{
headers = {
'Content-Type': 'application/json;charset=utf-8',
'Access-Control-Allow-Origin':'*',
'satoken':window.userToken
}
url = window.requestUrl+'/xr-service/xrMaterial/getMaterialInfoInUserCenter';
data = JSON.stringify({
id:idx
})
}
$.ajax({
url: url,
type: 'POST',
timeout : 3000, //超时时间设置,单位毫秒
// data: data,
dataType: 'json',
async:false,
crossOrigin: true,
headers: headers,
data:data,
// contentType: 'json',
// processData: false,
success: function (res) {
// var parsdata = JSON.parse(res)
console.log(res);
if(res.code === 200){
let result = res.data;
callback(result);
// Global.uploadToken = result;
}
else{
console.log(res.msg);
}
}.bind(this),
error: function (returndata) {
// alert("网络不佳,请稍后再试");
console.log(returndata);
}.bind(this)
});
}
//获取上传凭证
var requestUploadInfo = function(callback){
// var $ = layui.$;
$.ajax({
url: window.requestUrl+'/xr-service/qiNiu/getUploadToken',
type: 'POST',
timeout : 3000, //超时时间设置,单位毫秒
// data: data,
dataType: 'json',
async:false,
crossOrigin: true,
headers: {
'Content-Type': 'application/json;charset=utf-8',
'Access-Control-Allow-Origin':'*',
'satoken':window.userToken
},
data:{
// token:window.token,
},
// contentType: 'json',
// processData: false,
success: function (res) {
// var parsdata = JSON.parse(res)
console.log(res);
if(res.code === 200){
let result = res.data;
window.uploadToken = result.upToken;
window.imgRequestUrl = result.domainList[0];
callback(result.domainList[0]);
}
else{
console.log(res.msg);
}
}.bind(this),
error: function (returndata) {
// alert("网络不佳,请稍后再试");
console.log(returndata);
}.bind(this)
});
}
//获取Minio配置
var requestMinioInfo = function(callback){
// var $ = layui.$;
$.ajax({
url: window.requestUrl+'/xr-service/xrSystemConfig/getMinIoPro',
type: 'GET',
timeout : 3000, //超时时间设置,单位毫秒
// data: data,
dataType: 'json',
async:false,
crossOrigin: true,
headers: {
'Content-Type': 'application/json;charset=utf-8',
'Access-Control-Allow-Origin':'*',
'satoken':window.userToken
},
data:{
// token:window.token,
},
// contentType: 'json',
// processData: false,
success: function (res) {
// var parsdata = JSON.parse(res)
console.log(res);
if(res.code === 200){
let result = res.data;
window.MinioInfo = result;
callback(window.MinioInfo);
}
else{
console.log(res.msg);
}
}.bind(this),
error: function (returndata) {
// alert("网络不佳,请稍后再试");
console.log(returndata);
}.bind(this)
});
}
// window.onload=
// main().catch((err) => {
// console.error(err);
// });
export {main}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/SiYi_xuni/display-of-ai3-d-3-d-materials.git
git@gitee.com:SiYi_xuni/display-of-ai3-d-3-d-materials.git
SiYi_xuni
display-of-ai3-d-3-d-materials
Ai3D-3D素材展示
master

搜索帮助

23e8dbc6 1850385 7e0993f3 1850385