index.js 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984
  1. import { http, getToken } from "../utils/request";
  2. import config from "../config";
  3. import { $waiting } from "@/components/shared/loading";
  4. import { postOrderTraversal } from "@/utils/other.js";
  5. import { i18n } from "@/lang";
  6. const number = function () {
  7. return config.projectNum;
  8. };
  9. const scene = function () {
  10. return config.sceneNum;
  11. };
  12. const CLIENT_CODE = config.client_code;
  13. const URL_FILL = config.urlFill;
  14. let ossUrl = config.CDN;
  15. // https://ossxiaoan.4dage.com/720yun_fd_manage
  16. /**
  17. * 获取用户账号信息
  18. */
  19. export function getUserInfo(ok, no) {
  20. return http.postJson(`/api/user/getUserInfo`, {}, ok, no);
  21. }
  22. /**
  23. * 获取全景作品基本信息
  24. * @param {*} data
  25. * @param {*} ok
  26. * @param {*} no
  27. */
  28. export function getPanoInfo(data, ok, no) {
  29. return http.get(`${ossUrl}/720yun_fd_manage/${data || number()}/someData.json?_=${Math.random()}`, {}, ok, no);
  30. }
  31. /**
  32. * 获取四维看看场景信息
  33. * @param {*} data
  34. * @param {*} ok
  35. * @param {*} no
  36. */
  37. export function getSceneInfomation(data, ok, no) {
  38. debugger;
  39. return http.get(`/api/scene/getInfo?num=${data.id}&_=${Math.random()}`, {}, ok, no);
  40. }
  41. /**
  42. * 获取场景分组列表
  43. * @param {*} data
  44. * @param {*} ok
  45. * @param {*} no
  46. */
  47. export function getTabList(data, ok, no) {
  48. return http.get(`${URL_FILL}/manage/catalog/getCatalog/${number()}`, data, ok, no);
  49. }
  50. /**
  51. * 根据分组ID获取场景
  52. * @param {*} data
  53. * @param {*} ok
  54. * @param {*} no
  55. */
  56. export function getTabSceneList(data, ok, no) {
  57. return http.get(`${URL_FILL}/manage/catalog/getScene/${data.catalogId}`, {}, ok, no);
  58. }
  59. /**
  60. * 修改场景分组名称
  61. * @param {*} data
  62. * @param {*} ok
  63. * @param {*} no
  64. */
  65. export function editTabName(data, ok, no) {
  66. data.workId = number();
  67. return http.postJson(`${URL_FILL}/manage/catalog/save`, data, ok, no);
  68. }
  69. /**
  70. * 新增/保存全景
  71. * @param {*} data
  72. * @param {*} ok
  73. * @param {*} no
  74. */
  75. export function savePanoToWorks(data, ok, no) {
  76. data.workId = number();
  77. return http.postJson(`${URL_FILL}/manage/scene/saves`, data, ok, no);
  78. }
  79. /**
  80. * 删除标签
  81. * @param {*} data
  82. * @param {*} ok
  83. * @param {*} no
  84. */
  85. export function delTab(data, ok, no) {
  86. return http.get(`${URL_FILL}/manage/catalog/remove/${data}`, {}, ok, no);
  87. }
  88. /**
  89. * 删除场景
  90. * @param {*} data
  91. * @param {*} ok
  92. * @param {*} no
  93. */
  94. export function delPano(data, ok, no) {
  95. return http.get(`${URL_FILL}/manage/scene/remove/${data}`, {}, ok, no);
  96. }
  97. /**
  98. * 获取三维场景列表(不应使用其搜索功能,因为无法全局搜索,而且无论搜的是什么词,指定文件夹中所有子文件夹都会被返回。
  99. */
  100. export function get3DSceneList(data, ok) {
  101. const { pathLevel2Id, folderId, pageNum, pageSize } = data;
  102. if (folderId === "root") {
  103. ok({
  104. data: {
  105. list: [
  106. {
  107. name: i18n.t("gather.siweikankan"),
  108. sceneName: i18n.t("gather.siweikankan"),
  109. id: "kankan",
  110. type: "dir",
  111. },
  112. {
  113. name: i18n.t("gather.siweikanjian"),
  114. sceneName: i18n.t("gather.siweikanjian"),
  115. id: "kanjian",
  116. type: "dir",
  117. },
  118. {
  119. name: i18n.t("gather.siweiSS"),
  120. sceneName: i18n.t("gather.siweiSS"),
  121. id: "siweiSS",
  122. type: "dir",
  123. },
  124. {
  125. name: i18n.t("gather.siweiSG"),
  126. sceneName: i18n.t("gather.siweiSG"),
  127. id: "siweiSG",
  128. type: "dir",
  129. },
  130. ],
  131. total: 4,
  132. },
  133. });
  134. return;
  135. } else {
  136. //1,3,4,5
  137. let tmpSceneSource = 1;
  138. let folderType = 0;
  139. // pathLevel2Id === "kankan" ? "1" : "3"
  140. switch (true) {
  141. case pathLevel2Id === "kankan":
  142. tmpSceneSource = 1;
  143. break;
  144. case pathLevel2Id === "kanjian":
  145. tmpSceneSource = 3;
  146. folderType = 2;
  147. break;
  148. case pathLevel2Id === "siweiSS":
  149. tmpSceneSource = 4;
  150. folderType = 4;
  151. break;
  152. case pathLevel2Id === "siweiSG":
  153. tmpSceneSource = 5;
  154. folderType = 5;
  155. break;
  156. }
  157. // const data = {
  158. // cameraId: null,
  159. // cameraType: null,
  160. // endTime: "",
  161. // folderId: Number.isInteger(folderId) ? folderId : "",
  162. // folderType: String(folderType),
  163. // isOldMu: false,
  164. // isSetData: true,
  165. // keywordType: "sceneName",
  166. // pageNum,
  167. // pageSize,
  168. // sceneName: "",
  169. // sceneSource: tmpSceneSource,
  170. // sceneType: null,
  171. // searchKey: "",
  172. // startTime: "",
  173. // // isObj: 1,
  174. // };
  175. const data = {
  176. pageNum: pageNum,
  177. pageSize: pageSize,
  178. cameraId: null,
  179. searchKey: "",
  180. cameraType: null,
  181. isSetData: true,
  182. folderId: Number.isInteger(folderId) ? folderId : "",
  183. keywordType: "sceneName",
  184. folderType: String(folderType),
  185. sceneType: null,
  186. sceneSource: tmpSceneSource,
  187. endTime: "",
  188. startTime: "",
  189. };
  190. // const info = JSON.parse(localStorage.getItem("info"));
  191. // if (tmpSceneSource === 4 || tmpSceneSource === 5) {
  192. // const MegaData = {
  193. // pageNum,
  194. // pageSize,
  195. // sceneSource: tmpSceneSource,
  196. // selectType: 1,
  197. // snCode: null,
  198. // title: "",
  199. // cooperationUserName: null,
  200. // phone: info.userName || "",
  201. // folderId: Number.isInteger(folderId) ? folderId : "",
  202. // };
  203. // const userInfo = JSON.parse(localStorage.getItem("info"));
  204. // let headers = {};
  205. // const token = localStorage.getItem("token");
  206. // headers["Fdtoken"] = token;
  207. // http
  208. // .postJsonWithHeader(
  209. // process.env.VUE_APP_MEGA_LIST_URL,
  210. // MegaData,
  211. // headers
  212. // )
  213. // .then((res) => {
  214. // ok({
  215. // code: 0,
  216. // data: {
  217. // list: res.data.pageInfo.list.map((item) => {
  218. // if (item.isFolder === 1) {
  219. // item.type = "dir";
  220. // item.sceneName = item.name;
  221. // }
  222. // return item;
  223. // }),
  224. // total: res.data.pageInfo.total,
  225. // },
  226. // });
  227. // });
  228. // } else {
  229. // }
  230. if (tmpSceneSource == 4 || tmpSceneSource == 5) {
  231. data["isObj"] = 1;
  232. }
  233. http.postJson(`/ucenter/user/scene/newList`, data).then((res) => {
  234. ok({
  235. code: 0,
  236. data: {
  237. list: res.data.pageInfo.list.map((item) => {
  238. if (item.isFolder === 1) {
  239. item.type = "dir";
  240. item.sceneName = item.name;
  241. }
  242. return item;
  243. }),
  244. total: res.data.pageInfo.total,
  245. },
  246. });
  247. });
  248. }
  249. }
  250. /**
  251. * 获取三维场景列表(使用关键词搜索功能,分别搜索看看和看见,两个结果合并后返回)
  252. */
  253. export function searchInAll3DScenes(data, ok) {
  254. const { searchKey } = data;
  255. const info = JSON.parse(localStorage.getItem("info"));
  256. return Promise.all([
  257. http.postJson(`/ucenter/user/scene/getOnlySceneList`, {
  258. cameraId: null,
  259. cameraType: null,
  260. endTime: "",
  261. folderId: "",
  262. folderType: "0",
  263. isOldMu: false,
  264. isSetData: true,
  265. keywordType: "sceneName",
  266. pageNum: 1,
  267. pageSize: 999999,
  268. sceneName: searchKey,
  269. sceneSource: "1",
  270. sceneType: null,
  271. searchKey,
  272. startTime: "",
  273. }),
  274. http.postJson(`/ucenter/user/scene/getOnlySceneList`, {
  275. cameraId: null,
  276. cameraType: null,
  277. endTime: "",
  278. folderId: "",
  279. folderType: "2",
  280. isOldMu: false,
  281. isSetData: true,
  282. keywordType: "sceneName",
  283. pageNum: 1,
  284. pageSize: 999999,
  285. sceneName: searchKey,
  286. sceneSource: "3",
  287. sceneType: null,
  288. searchKey,
  289. startTime: "",
  290. }),
  291. http.postJson(`/ucenter/user/scene/getOnlySceneList`, {
  292. cameraId: null,
  293. cameraType: null,
  294. endTime: "",
  295. folderId: "",
  296. folderType: "4",
  297. isOldMu: false,
  298. isSetData: true,
  299. keywordType: "sceneName",
  300. pageNum: 1,
  301. pageSize: 999999,
  302. sceneName: searchKey,
  303. sceneSource: "4",
  304. sceneType: null,
  305. searchKey,
  306. startTime: "",
  307. isObj: "1",
  308. }),
  309. http.postJson(`/ucenter/user/scene/getOnlySceneList`, {
  310. cameraId: null,
  311. cameraType: null,
  312. endTime: "",
  313. folderId: "",
  314. folderType: "5",
  315. isOldMu: false,
  316. isSetData: true,
  317. keywordType: "sceneName",
  318. pageNum: 1,
  319. pageSize: 999999,
  320. sceneName: searchKey,
  321. sceneSource: "5",
  322. sceneType: null,
  323. searchKey,
  324. startTime: "",
  325. isObj: "1",
  326. }),
  327. // http.postJsonWithHeader(
  328. // process.env.VUE_APP_MEGA_LIST_URL,
  329. // {
  330. // pageNum: 1,
  331. // pageSize: 999999,
  332. // sceneSource: "4",
  333. // selectType: 1,
  334. // snCode: null,
  335. // title: String(searchKey).trim(),
  336. // phone: info.userName || "",
  337. // cooperationUserName: null,
  338. // folderId: "",
  339. // },
  340. // {
  341. // Fdtoken: getToken(),
  342. // }
  343. // ),
  344. // http.postJsonWithHeader(
  345. // process.env.VUE_APP_MEGA_LIST_URL,
  346. // {
  347. // pageNum: 1,
  348. // pageSize: 999999,
  349. // sceneSource: "5",
  350. // selectType: 1,
  351. // snCode: null,
  352. // title: String(searchKey).trim(),
  353. // phone: info.userName || "",
  354. // cooperationUserName: null,
  355. // folderId: "",
  356. // },
  357. // {
  358. // Fdtoken: getToken(),
  359. // }
  360. // ),
  361. ]).then((res) => {
  362. console.log(res);
  363. let total = res[0].data.total + res[1].data.total + res[2].data.total + res[3].data.total;
  364. let list = [...res[0].data.list, ...res[1].data.list, ...res[2].data.list, ...res[3].data.list];
  365. ok({
  366. code: 0,
  367. data: {
  368. total,
  369. list,
  370. },
  371. });
  372. });
  373. }
  374. /**
  375. * 获取初始场景
  376. * @param {*} data
  377. * @param {*} ok
  378. * @param {*} no
  379. */
  380. export function getIndex(data, ok, no) {
  381. return http.get(`${URL_FILL}/manage/scene/getIndex/${number()}`, data, ok, no);
  382. }
  383. /**
  384. * 保存初始场景
  385. * @param {*} data
  386. * @param {*} ok
  387. * @param {*} no
  388. */
  389. export function saveIndexInfo(data, ok, no) {
  390. return http.post(`${URL_FILL}/manage/scene/setIndex/${data.id}/${number()}`, "", ok, no);
  391. }
  392. /**
  393. * 上传封面
  394. * @param {*} data: {file sceneCode}
  395. * @param {*} ok
  396. * @param {*} no
  397. */
  398. export function uploadCover(data, ok, no) {
  399. return http.uploadBlobFile(`${URL_FILL}/manage/work/upload`, data, ok, no);
  400. }
  401. /**
  402. * 保存全景图初始视角
  403. * @param {*} data
  404. * @param {*} ok
  405. * @param {*} no
  406. */
  407. export function savePosition(data, ok, no) {
  408. return http.postJson(`${URL_FILL}/manage/scene/editXml`, data, ok, no);
  409. }
  410. /**
  411. * 重命名全景图
  412. * @param {*} data
  413. * @param {*} ok
  414. * @param {*} no
  415. */
  416. export function editPanoName(data, ok, no) {
  417. return http.postJson(`${URL_FILL}/manage/scene/edit`, data, ok, no);
  418. }
  419. /**
  420. * 重命名分组名称
  421. * @param {*} data
  422. * @param {*} ok
  423. * @param {*} no
  424. */
  425. export function editCatalogName(data, ok, no) {
  426. return http.postJson(`${URL_FILL}/manage/catalog/edit`, data, ok, no);
  427. }
  428. /**
  429. * 保存初始画面
  430. * @param {*} data
  431. * @param {*} ok
  432. * @param {*} no
  433. */
  434. export function saveInitScreen(data, ok, no) {
  435. return http.post(`${URL_FILL}/manage/scene/saveIndex`, data, ok, no);
  436. }
  437. /**
  438. * 保存全景图配置信息
  439. * @param {*} data
  440. * @param {*} ok
  441. * @param {*} no
  442. */
  443. export function saveSomeData(data, ok, no) {
  444. return http.postJson(`${URL_FILL}/manage/scene/editSomeData`, data, ok, no);
  445. }
  446. /**
  447. * 保存使用的热点
  448. * @param {*} data
  449. * @param {*} ok
  450. * @param {*} no
  451. */
  452. export function saveUseHots(data, ok, no) {
  453. return http.postJson(`${URL_FILL}/manage/scene/save/useHots`, data, ok, no);
  454. }
  455. /**
  456. * 保存初始场景
  457. * @param {*} data
  458. * @param {*} ok
  459. * @param {*} no
  460. */
  461. export function deleteIndexInfo(data, ok, no) {
  462. return http.get(`${URL_FILL}/manage/scene/removeIndex/${number()}`, data, ok, no);
  463. }
  464. /**
  465. * 获取场景基本信息
  466. * @param {*} data
  467. * @param {*} ok
  468. * @param {*} no
  469. */
  470. export function getSceneInfo(data, ok, no) {
  471. return http.get(`${URL_FILL}/manage/scene/detail/${scene()}`, {}, ok, no);
  472. }
  473. /**
  474. * 获取场景分组列表(展示端)
  475. * @param {*} data
  476. * @param {*} ok
  477. * @param {*} no
  478. */
  479. export function getWebTabList(data, ok, no) {
  480. return http.get(`${URL_FILL}/web/common/getCatalog/${number()}`, data, ok, no);
  481. }
  482. /**
  483. * 检查作品是否可用
  484. * @param {*} data
  485. * @param {*} ok
  486. * @param {*} no
  487. */
  488. export function checkWork(data, ok, no) {
  489. let visit = "";
  490. if (window.location.pathname.indexOf("showMobile.html") > -1 || window.location.pathname.indexOf("show.html") > -1) {
  491. visit = 1111;
  492. }
  493. console.log("checkWork", data);
  494. return http.get(`${URL_FILL}/web/common/checkWork/${number()}${visit ? "?visit=" + visit : ""}`, data, ok, no);
  495. }
  496. /**
  497. * 根据分组ID获取场景(展示端)
  498. * @param {*} data
  499. * @param {*} ok
  500. * @param {*} no
  501. */
  502. export function getWebTabSceneList(data, ok, no) {
  503. return http.get(`${URL_FILL}/web/common/getScene/${data.catalogId}`, {}, ok, no);
  504. }
  505. /**
  506. * 检测登陆状态
  507. */
  508. export function checkLogin() {
  509. if (window.location.pathname.indexOf("material.html") > -1) {
  510. return http.get(`${URL_FILL}/web/common/checkToken/?_=${Math.random()}`);
  511. } else {
  512. return http.get(`${URL_FILL}/manage/work/checkToken/${number()}`);
  513. }
  514. }
  515. /**
  516. * 检测素材状态
  517. */
  518. export function checkMStatus(data, ok, no) {
  519. return http.get(`${URL_FILL}/manage/fodder/checkStatus/${data.ids.join(",")}`, { islongpolling: data.islongpolling }, ok, no);
  520. }
  521. /**
  522. * 获取作品基本信息(展示端)
  523. * @param {*} data
  524. * @param {*} ok
  525. * @param {*} no
  526. */
  527. export function getWebWorksInfo(data, ok, no) {
  528. return http.get(`${URL_FILL}/web/common/detail/${number()}`, {}, ok, no);
  529. }
  530. /**
  531. * 校验密码(展示端)
  532. * @param {*} data
  533. * @param {*} ok
  534. * @param {*} no
  535. */
  536. export function checkPassword(data, ok, no) {
  537. data.workId = number();
  538. return http.postJson(`${URL_FILL}/web/common/checkPwd`, data, ok, no);
  539. }
  540. /**
  541. * 获取初始场景(展示端)
  542. * @param {*} data
  543. * @param {*} ok
  544. * @param {*} no
  545. */
  546. export function getWebIndex(data, ok, no) {
  547. return http.get(`${URL_FILL}/web/common/getIndex/${number()}`, {}, ok, no);
  548. }
  549. /**
  550. * 查询该作品是否存在场景
  551. * @param {*} data
  552. * @param {*} ok
  553. * @param {*} no
  554. */
  555. export function getAllVrList(data, ok, no) {
  556. return http.get(`${URL_FILL}/manage/scene/findByWork/${number()}`, data, ok, no);
  557. }
  558. /**
  559. * 保存全景图基本信息
  560. * @param {*} data
  561. * @param {*} ok
  562. * @param {*} no
  563. */
  564. export function savePanoInfo(data, ok, no) {
  565. data.houseId = number();
  566. return http.postJson("/fcb/pano/scene/house/edit", data, ok, no);
  567. }
  568. /**
  569. * 获取房车宝签名
  570. * @param {*} data
  571. * @param {*} ok
  572. * @param {*} no
  573. */
  574. export function getAuthCode(data, ok, no) {
  575. return http.postJson(`/fcb/project/api/query/authCode`, data, ok, no);
  576. }
  577. /**
  578. * 获取户型列表
  579. * @param {*} data
  580. * @param {*} ok
  581. * @param {*} no
  582. */
  583. export function getHouseList(data, ok, no) {
  584. data.token = getToken();
  585. data.houseId = number();
  586. return http.postJson(`/fcb/pano/scene/findVrModel`, data, ok, no);
  587. }
  588. /**
  589. * 获取全景图列表
  590. * @param {*} data
  591. * @param {*} ok
  592. * @param {*} no
  593. */
  594. export function getPanoList(data, ok, no) {
  595. data.houseId = number();
  596. return http.postJson("/fcb/pano/scene/list", data, ok, no);
  597. }
  598. /**
  599. * 获取全景图列表(搜索)
  600. * @param {*} data
  601. * @param {*} ok
  602. * @param {*} no
  603. */
  604. export function getSearchPanoList(data, ok, no) {
  605. data.houseId = number();
  606. return http.postJson("/fcb/pano/scene/searchUnion", data, ok, no);
  607. }
  608. /**
  609. * 获取楼盘详情
  610. * @param {*} data
  611. * @param {*} ok
  612. * @param {*} no
  613. */
  614. export function getHouseDetail(data, ok, no) {
  615. data.houseId = number();
  616. return http.postJson(`/fcb/pano/scene/findRoom/${data.houseId}`, {}, ok, no);
  617. }
  618. /**
  619. * 调整顺序
  620. * @param {*} data
  621. * @param {*} ok
  622. * @param {*} no
  623. */
  624. export function setListSort(data, ok, no) {
  625. return http.postJson(`/fcb/pano/scene/setSort`, data, ok, no);
  626. }
  627. // 素材库
  628. /**
  629. * 获取素材列表
  630. * @param {*} data
  631. * @param {*} ok
  632. * @param {*} no
  633. */
  634. export function getMaterialList(data, ok, no) {
  635. let url = `${URL_FILL}/manage/fodder/listAndDir`;
  636. // if (data.urlSelect) {
  637. // url = `${URL_FILL}/manage/fodder/select/${data.type}/${number()}`
  638. // }
  639. return http.postJson(
  640. url,
  641. data,
  642. (result) => {
  643. // console.log(result);
  644. // 处理旧版本时上传的素材没有新版本新加入的字段的问题
  645. if (result && result.code === 0 && result.data.list) {
  646. for (const item of result.data.list) {
  647. if (item.dirId === null) {
  648. item.dirId = 1;
  649. }
  650. if (item.dirName === "") {
  651. item.dirName = "根目录";
  652. }
  653. }
  654. }
  655. return ok(result);
  656. },
  657. (err) => {
  658. return no(err);
  659. }
  660. );
  661. }
  662. /**
  663. * 上传素材
  664. * @param {*} data
  665. * @param {*} ok
  666. * @param {*} no
  667. */
  668. export function uploadMaterialOld(data, subdata, ok, no, onProgress) {
  669. return http.uploadFile(`${URL_FILL}/manage/fodder/upload/${subdata.type}/${subdata.uid}`, data, ok, no, onProgress);
  670. }
  671. export function uploadMaterial(data, ok, no, onProgress) {
  672. return http.uploadFile(`${URL_FILL}/manage/fodder/uploadDir`, data, ok, no, onProgress);
  673. }
  674. /**
  675. * 删除素材或文件夹
  676. * @param {*} data
  677. * @param {*} ok
  678. * @param {*} no
  679. */
  680. export function delMaterial(id, ok, no) {
  681. return http.postJson(`${URL_FILL}/manage/fodder/remove/${id}`, {}, ok, no);
  682. }
  683. /**
  684. * 修改素材
  685. * @param {*} data
  686. * @param {*} ok
  687. * @param {*} no
  688. */
  689. export function editMaterial(data, ok, no) {
  690. return http.postJson(`${URL_FILL}/manage/fodder/update`, data, ok, no);
  691. }
  692. /**
  693. * 文件夹相关
  694. */
  695. function folderTreeSortRoutine(folderList) {
  696. if (folderList.children) {
  697. folderList.children.sort((a, b) => {
  698. const createTimeA = new Date(a.createTime);
  699. const createTimeB = new Date(b.createTime);
  700. if (createTimeA.getTime() > createTimeB.getTime()) {
  701. return -1;
  702. } else if (createTimeA.getTime() === createTimeB.getTime()) {
  703. return 0;
  704. } else {
  705. return 1;
  706. }
  707. });
  708. }
  709. }
  710. // 获取目录结构
  711. export function getFolderTree(data) {
  712. return http.getJson(`${URL_FILL}/manage/dir/getTree/${data.type}`).then((res) => {
  713. if (res.code === 0 && Array.isArray(res.data)) {
  714. const temp = {
  715. name: "根目录",
  716. id: 1,
  717. children: res.data,
  718. };
  719. res.data = temp;
  720. postOrderTraversal(res.data, folderTreeSortRoutine);
  721. }
  722. return res;
  723. });
  724. }
  725. // 素材库中新增文件夹
  726. export function createFolder(data, ok, no) {
  727. return http.postJson(`${URL_FILL}/manage/dir/save`, data, ok, no);
  728. }
  729. // 素材库中文件夹重命名
  730. export function renameFolder(data, ok, no) {
  731. return http.postJson(`${URL_FILL}/manage/dir/save`, data, ok, no);
  732. }
  733. // 移动素材或文件夹到一个文件夹
  734. export function moveToFolder(list, targetId, ancestors) {
  735. const param = {
  736. ancestors,
  737. dirIds: list
  738. .filter((item) => {
  739. return item.type === "dir";
  740. })
  741. .map((item) => {
  742. return item.id;
  743. })
  744. .join(","),
  745. fodderIds: list
  746. .filter((item) => {
  747. return item.type !== "dir";
  748. })
  749. .map((item) => {
  750. return item.id;
  751. })
  752. .join(","),
  753. parentId: targetId,
  754. };
  755. return http.postJson(`${URL_FILL}/manage/dir/move`, param).then((res) => {
  756. if (res.code === 0) {
  757. return Promise.resolve(res);
  758. } else {
  759. return Promise.reject(false);
  760. }
  761. });
  762. }
  763. export async function delFolder(id) {
  764. return http.postJson(`${URL_FILL}/manage/dir/remove/${id}`).then((res) => {
  765. if (res.code === 0) {
  766. return Promise.resolve(res);
  767. } else {
  768. return Promise.reject(false);
  769. }
  770. });
  771. // return http.postJson(`${URL_FILL}/manage/dir/remove/${id}`, ok, no)
  772. }
  773. /**
  774. * end of 文件夹相关
  775. */
  776. /**
  777. * 添加我的作品
  778. * @param {*} data
  779. * @param {*} ok
  780. * @param {*} no
  781. */
  782. export function addWorks(data, ok, no) {
  783. return http.postJson(`${URL_FILL}/manage/work/add`, data, ok, no);
  784. }
  785. /**
  786. * 获取我的作品列表
  787. * @param {*} data
  788. * @param {*} ok
  789. * @param {*} no
  790. */
  791. export function getWorksList(data, ok, no) {
  792. return http.postJson(`${URL_FILL}/manage/work/list`, data, ok, no);
  793. }
  794. /**
  795. * 保存我的作品
  796. * @param {*} data
  797. * @param {*} ok
  798. * @param {*} no
  799. */
  800. export function saveWorks(data, ok, no) {
  801. !data.id && (data.id = number());
  802. // return http.postJson(`http://192.168.0.152:8001/qjkankan/manage/work/edit`, data, ok, no)
  803. return http.postJson(`${URL_FILL}/manage/work/edit`, data, ok, no);
  804. }
  805. /**
  806. * 删除我的作品
  807. * @param {*} data
  808. * @param {*} ok
  809. * @param {*} no
  810. */
  811. export function delWorks(data, ok, no) {
  812. return http.postJson(`${URL_FILL}/manage/work/remove/${data}`, {}, ok, no);
  813. }
  814. /**
  815. * 检查用户空间
  816. * @param {*} data
  817. * @param {*} ok
  818. * @param {*} no
  819. */
  820. // export function checkUserSize(data, ok, no) {
  821. // return http.get(`http://192.168.0.152:8001/qjkankan/manage/fodder/checkUserSize`, data, ok, no)
  822. // // return http.get(`${URL_FILL}/manage/fodder/checkUserSize`, data, ok, no)
  823. // }
  824. export async function checkUserSize() {
  825. // const url = "http://192.168.0.152:8001/qjkankan/manage/fodder/checkUserSize"
  826. const url = `${URL_FILL}/manage/fodder/checkUserSize`;
  827. return http.get(url).then((res) => {
  828. if (res.code === 0) {
  829. return Promise.resolve(res.data);
  830. } else {
  831. return Promise.reject(false);
  832. }
  833. });
  834. // return http.postJson(`${URL_FILL}/manage/dir/remove/${id}`, ok, no)
  835. }
  836. /**
  837. * 上传附件
  838. * @param {*} data
  839. * @param {*} ok
  840. * @param {*} no
  841. */
  842. export function uploadAttachment(data, ok, no) {
  843. return http.uploadFile(`${URL_FILL}/manage/work/uploadHot`, data, ok, no);
  844. }
  845. /**
  846. * 更新通知
  847. * @param {*} data
  848. * @param {*} ok
  849. * @param {*} no
  850. */
  851. export function getNoticeApi(data, ok, no) {
  852. return http.getJson(`${URL_FILL}/manage/work/getServiceUpTip`, data, ok, no);
  853. }
  854. /**
  855. * 动态获取QRcode
  856. */
  857. export function getQrCode(data, ok, no) {
  858. return http.postJson(`${URL_FILL}/manage/logo/gerQrCode`, data, ok, no);
  859. }
  860. /**
  861. * 获取我的作品列表
  862. * @param {*} data
  863. * @param {*} ok
  864. * @param {*} no
  865. */
  866. export function getCamWorksList(data, ok, no) {
  867. return http.postJson(`${URL_FILL}/manage/work/sceneWorkList`, data, ok, no);
  868. }
  869. /**
  870. * 检查作品id
  871. * @param {*} data
  872. * @param {*} ok
  873. * @param {*} no
  874. */
  875. export function exchangeId(data, ok, no) {
  876. return http.postJson(`${URL_FILL}/web/common/getIdInfo`, data, ok, no);
  877. }
  878. /**
  879. * 获取作品信息
  880. */
  881. export function getWorkInfo(data, ok, no) {
  882. !data.workId && (data.workId = number());
  883. return http.getJson(`${URL_FILL}/work/view`, data, ok, no);
  884. // return http.getJson(`http://192.168.0.41:8002/qjkankan/work/view`, data, ok, no);
  885. }
  886. /**
  887. * 保存作品基本设置
  888. */
  889. export function saveBaseWorkInfo(data, ok, no) {
  890. !data.workId && (data.workId = number());
  891. return http.postJson(`${URL_FILL}/work/edit/base/save`, data, ok, no);
  892. // return http.postJson(`http://192.168.0.41:8002/qjkankan/work/edit/base/save`, data, ok, no);
  893. }
  894. /**
  895. * 保存视角
  896. */
  897. export function visual_save(data, ok, no) {
  898. !data.workId && (data.workId = number());
  899. return http.postJson(`${URL_FILL}/work/edit/visual/save`, data, ok, no);
  900. // return http.postJson(`http://192.168.0.41:8002/qjkankan/work/edit/base/save`, data, ok, no);
  901. }
  902. /**
  903. * 保存视角
  904. */
  905. export function workHot_save(data, ok, no) {
  906. !data.workId && (data.workId = number());
  907. return http.postJson(`${URL_FILL}/work/edit/workHot/save`, data, ok, no);
  908. // return http.postJson(`http://192.168.0.41:8002/qjkankan/work/edit/base/save`, data, ok, no);
  909. }