index.js 22 KB

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