index.js 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822
  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 {
  102. pathLevel2Id,
  103. folderId,
  104. pageNum,
  105. pageSize,
  106. } = data
  107. if (folderId === 'root') {
  108. ok({
  109. data: {
  110. list: [
  111. {
  112. name: i18n.t('gather.siweikankan'),
  113. sceneName: i18n.t('gather.siweikankan'),
  114. id: 'kankan',
  115. type: 'dir',
  116. },
  117. {
  118. name: i18n.t('gather.siweikanjian'),
  119. sceneName: i18n.t('gather.siweikanjian'),
  120. id: 'kanjian',
  121. type: 'dir',
  122. },
  123. ],
  124. total: 2,
  125. }
  126. })
  127. return
  128. } else {
  129. http.postJson(`/ucenter/user/scene/newList`, {
  130. cameraId: null,
  131. cameraType: null,
  132. endTime: "",
  133. folderId: Number.isInteger(folderId) ? folderId : '',
  134. folderType: pathLevel2Id === 'kankan' ? "0" : '2',
  135. isOldMu: false,
  136. isSetData: true,
  137. keywordType: "sceneName",
  138. pageNum,
  139. pageSize,
  140. sceneName: '',
  141. sceneSource: pathLevel2Id === 'kankan' ? "1" : '3',
  142. sceneType: null,
  143. searchKey: '',
  144. startTime: "",
  145. }).then((res) => {
  146. ok({
  147. code: 0,
  148. data: {
  149. list: res.data.pageInfo.list.map((item) => {
  150. if (item.isFolder === 1) {
  151. item.type = 'dir'
  152. item.sceneName = item.name
  153. }
  154. return item
  155. }),
  156. total: res.data.pageInfo.total
  157. }
  158. })
  159. })
  160. }
  161. }
  162. /**
  163. * 获取三维场景列表(使用关键词搜索功能,分别搜索看看和看见,两个结果合并后返回)
  164. */
  165. export function searchInAll3DScenes(data, ok) {
  166. const {
  167. searchKey,
  168. } = data
  169. return Promise.all([
  170. http.postJson(`/ucenter/user/scene/getOnlySceneList`, {
  171. cameraId: null,
  172. cameraType: null,
  173. endTime: "",
  174. folderId: '',
  175. folderType: '0',
  176. isOldMu: false,
  177. isSetData: true,
  178. keywordType: "sceneName",
  179. pageNum: 1,
  180. pageSize: 999999,
  181. sceneName: searchKey,
  182. sceneSource: '1',
  183. sceneType: null,
  184. searchKey,
  185. startTime: "",
  186. }),
  187. http.postJson(`/ucenter/user/scene/getOnlySceneList`, {
  188. cameraId: null,
  189. cameraType: null,
  190. endTime: "",
  191. folderId: '',
  192. folderType: '2',
  193. isOldMu: false,
  194. isSetData: true,
  195. keywordType: "sceneName",
  196. pageNum: 1,
  197. pageSize: 999999,
  198. sceneName: searchKey,
  199. sceneSource: '3',
  200. sceneType: null,
  201. searchKey,
  202. startTime: "",
  203. }),
  204. ]).then((res) => {
  205. let total = res[0].data.total + res[1].data.total
  206. let list = [...res[0].data.list, ...res[1].data.list]
  207. ok({
  208. code: 0,
  209. data: {
  210. total,
  211. list,
  212. }
  213. })
  214. })
  215. }
  216. /**
  217. * 获取初始场景
  218. * @param {*} data
  219. * @param {*} ok
  220. * @param {*} no
  221. */
  222. export function getIndex(data, ok, no) {
  223. return http.get(`${URL_FILL}/manage/scene/getIndex/${number()}`, data, ok, no)
  224. }
  225. /**
  226. * 保存初始场景
  227. * @param {*} data
  228. * @param {*} ok
  229. * @param {*} no
  230. */
  231. export function saveIndexInfo(data, ok, no) {
  232. return http.post(`${URL_FILL}/manage/scene/setIndex/${data.id}/${number()}`, '', ok, no)
  233. }
  234. /**
  235. * 上传封面
  236. * @param {*} data: {file sceneCode}
  237. * @param {*} ok
  238. * @param {*} no
  239. */
  240. export function uploadCover(data, ok, no) {
  241. return http.uploadBlobFile(`${URL_FILL}/manage/work/upload`, data, ok, no)
  242. }
  243. /**
  244. * 保存全景图初始视角
  245. * @param {*} data
  246. * @param {*} ok
  247. * @param {*} no
  248. */
  249. export function savePosition(data, ok, no) {
  250. return http.postJson(`${URL_FILL}/manage/scene/editXml`, data, ok, no)
  251. }
  252. /**
  253. * 重命名全景图
  254. * @param {*} data
  255. * @param {*} ok
  256. * @param {*} no
  257. */
  258. export function editPanoName(data, ok, no) {
  259. return http.postJson(`${URL_FILL}/manage/scene/edit`, data, ok, no)
  260. }
  261. /**
  262. * 重命名分组名称
  263. * @param {*} data
  264. * @param {*} ok
  265. * @param {*} no
  266. */
  267. export function editCatalogName(data, ok, no) {
  268. return http.postJson(`${URL_FILL}/manage/catalog/edit`, data, ok, no)
  269. }
  270. /**
  271. * 保存初始画面
  272. * @param {*} data
  273. * @param {*} ok
  274. * @param {*} no
  275. */
  276. export function saveInitScreen(data, ok, no) {
  277. return http.post(`${URL_FILL}/manage/scene/saveIndex`, data, ok, no)
  278. }
  279. /**
  280. * 保存全景图配置信息
  281. * @param {*} data
  282. * @param {*} ok
  283. * @param {*} no
  284. */
  285. export function saveSomeData(data, ok, no) {
  286. return http.postJson(`${URL_FILL}/manage/scene/editSomeData`, data, ok, no)
  287. }
  288. /**
  289. * 保存使用的热点
  290. * @param {*} data
  291. * @param {*} ok
  292. * @param {*} no
  293. */
  294. export function saveUseHots(data, ok, no) {
  295. return http.postJson(`${URL_FILL}/manage/scene/save/useHots`, data, ok, no)
  296. }
  297. /**
  298. * 保存初始场景
  299. * @param {*} data
  300. * @param {*} ok
  301. * @param {*} no
  302. */
  303. export function deleteIndexInfo(data, ok, no) {
  304. return http.get(`${URL_FILL}/manage/scene/removeIndex/${number()}`, data, ok, no)
  305. }
  306. /**
  307. * 获取场景基本信息
  308. * @param {*} data
  309. * @param {*} ok
  310. * @param {*} no
  311. */
  312. export function getSceneInfo(data, ok, no) {
  313. return http.get(`${URL_FILL}/manage/scene/detail/${scene()}`, {}, ok, no)
  314. }
  315. /**
  316. * 获取场景分组列表(展示端)
  317. * @param {*} data
  318. * @param {*} ok
  319. * @param {*} no
  320. */
  321. export function getWebTabList(data, ok, no) {
  322. return http.get(`${URL_FILL}/web/common/getCatalog/${number()}`, data, ok, no)
  323. }
  324. /**
  325. * 检查作品是否可用
  326. * @param {*} data
  327. * @param {*} ok
  328. * @param {*} no
  329. */
  330. export function checkWork(data, ok, no) {
  331. let visit = ''
  332. if (window.location.pathname.indexOf('showMobile.html') > -1 || window.location.pathname.indexOf('show.html') > -1) {
  333. visit = 1111
  334. }
  335. return http.get(`${URL_FILL}/web/common/checkWork/${number()}${visit ? ('?visit=' + visit) : ''}`, data, ok, no)
  336. }
  337. /**
  338. * 根据分组ID获取场景(展示端)
  339. * @param {*} data
  340. * @param {*} ok
  341. * @param {*} no
  342. */
  343. export function getWebTabSceneList(data, ok, no) {
  344. return http.get(`${URL_FILL}/web/common/getScene/${data.catalogId}`, {}, ok, no)
  345. }
  346. /**
  347. * 检测登陆状态
  348. */
  349. export function checkLogin() {
  350. if (window.location.pathname.indexOf('material.html') > -1) {
  351. return http.get(`${URL_FILL}/web/common/checkToken/?_=${Math.random()}`)
  352. } else {
  353. return http.get(`${URL_FILL}/manage/work/checkToken/${number()}`)
  354. }
  355. }
  356. /**
  357. * 检测素材状态
  358. */
  359. export function checkMStatus(data, ok, no) {
  360. return http.get(`${URL_FILL}/manage/fodder/checkStatus/${data.ids.join(',')}`, { islongpolling: data.islongpolling }, ok, no)
  361. }
  362. /**
  363. * 获取作品基本信息(展示端)
  364. * @param {*} data
  365. * @param {*} ok
  366. * @param {*} no
  367. */
  368. export function getWebWorksInfo(data, ok, no) {
  369. return http.get(`${URL_FILL}/web/common/detail/${number()}`, {}, ok, no)
  370. }
  371. /**
  372. * 校验密码(展示端)
  373. * @param {*} data
  374. * @param {*} ok
  375. * @param {*} no
  376. */
  377. export function checkPassword(data, ok, no) {
  378. data.workId = number()
  379. return http.postJson(`${URL_FILL}/web/common/checkPwd`, data, ok, no)
  380. }
  381. /**
  382. * 获取初始场景(展示端)
  383. * @param {*} data
  384. * @param {*} ok
  385. * @param {*} no
  386. */
  387. export function getWebIndex(data, ok, no) {
  388. return http.get(`${URL_FILL}/web/common/getIndex/${number()}`, {}, ok, no)
  389. }
  390. /**
  391. * 查询该作品是否存在场景
  392. * @param {*} data
  393. * @param {*} ok
  394. * @param {*} no
  395. */
  396. export function getAllVrList(data, ok, no) {
  397. return http.get(`${URL_FILL}/manage/scene/findByWork/${number()}`, data, ok, no)
  398. }
  399. /**
  400. * 保存全景图基本信息
  401. * @param {*} data
  402. * @param {*} ok
  403. * @param {*} no
  404. */
  405. export function savePanoInfo(data, ok, no) {
  406. data.houseId = number()
  407. return http.postJson('/fcb/pano/scene/house/edit', data, ok, no)
  408. }
  409. /**
  410. * 获取房车宝签名
  411. * @param {*} data
  412. * @param {*} ok
  413. * @param {*} no
  414. */
  415. export function getAuthCode(data, ok, no) {
  416. return http.postJson(`/fcb/project/api/query/authCode`, data, ok, no)
  417. }
  418. /**
  419. * 获取户型列表
  420. * @param {*} data
  421. * @param {*} ok
  422. * @param {*} no
  423. */
  424. export function getHouseList(data, ok, no) {
  425. data.token = getToken()
  426. data.houseId = number()
  427. return http.postJson(`/fcb/pano/scene/findVrModel`, data, ok, no)
  428. }
  429. /**
  430. * 获取全景图列表
  431. * @param {*} data
  432. * @param {*} ok
  433. * @param {*} no
  434. */
  435. export function getPanoList(data, ok, no) {
  436. data.houseId = number()
  437. return http.postJson('/fcb/pano/scene/list', data, ok, no)
  438. }
  439. /**
  440. * 获取全景图列表(搜索)
  441. * @param {*} data
  442. * @param {*} ok
  443. * @param {*} no
  444. */
  445. export function getSearchPanoList(data, ok, no) {
  446. data.houseId = number()
  447. return http.postJson('/fcb/pano/scene/searchUnion', data, ok, no)
  448. }
  449. /**
  450. * 获取楼盘详情
  451. * @param {*} data
  452. * @param {*} ok
  453. * @param {*} no
  454. */
  455. export function getHouseDetail(data, ok, no) {
  456. data.houseId = number()
  457. return http.postJson(`/fcb/pano/scene/findRoom/${data.houseId}`, {}, ok, no)
  458. }
  459. /**
  460. * 调整顺序
  461. * @param {*} data
  462. * @param {*} ok
  463. * @param {*} no
  464. */
  465. export function setListSort(data, ok, no) {
  466. return http.postJson(`/fcb/pano/scene/setSort`, data, ok, no)
  467. }
  468. // 素材库
  469. /**
  470. * 获取素材列表
  471. * @param {*} data
  472. * @param {*} ok
  473. * @param {*} no
  474. */
  475. export function getMaterialList(data, ok, no) {
  476. let url = `${URL_FILL}/manage/fodder/listAndDir`
  477. // if (data.urlSelect) {
  478. // url = `${URL_FILL}/manage/fodder/select/${data.type}/${number()}`
  479. // }
  480. return http.postJson(url, data, (result) => {
  481. console.log(result);
  482. // 处理旧版本时上传的素材没有新版本新加入的字段的问题
  483. if (result && result.code === 0 && result.data.list) {
  484. for (const item of result.data.list) {
  485. if (item.dirId === null) {
  486. item.dirId = 1
  487. }
  488. if (item.dirName === '') {
  489. item.dirName = '根目录'
  490. }
  491. }
  492. }
  493. return ok(result)
  494. }, (err) => {
  495. return no(err)
  496. })
  497. }
  498. /**
  499. * 上传素材
  500. * @param {*} data
  501. * @param {*} ok
  502. * @param {*} no
  503. */
  504. export function uploadMaterialOld(data, subdata, ok, no, onProgress) {
  505. return http.uploadFile(`${URL_FILL}/manage/fodder/upload/${subdata.type}/${subdata.uid}`, data, ok, no, onProgress)
  506. }
  507. export function uploadMaterial(data, ok, no, onProgress) {
  508. return http.uploadFile(`${URL_FILL}/manage/fodder/uploadDir`, data, ok, no, onProgress)
  509. }
  510. /**
  511. * 删除素材或文件夹
  512. * @param {*} data
  513. * @param {*} ok
  514. * @param {*} no
  515. */
  516. export function delMaterial(id, ok, no) {
  517. return http.postJson(`${URL_FILL}/manage/fodder/remove/${id}`, {}, ok, no)
  518. }
  519. /**
  520. * 修改素材
  521. * @param {*} data
  522. * @param {*} ok
  523. * @param {*} no
  524. */
  525. export function editMaterial(data, ok, no) {
  526. return http.postJson(`${URL_FILL}/manage/fodder/update`, data, ok, no)
  527. }
  528. /**
  529. * 文件夹相关
  530. */
  531. function folderTreeSortRoutine(folderList) {
  532. if (folderList.children) {
  533. folderList.children.sort((a, b) => {
  534. const createTimeA = new Date(a.createTime)
  535. const createTimeB = new Date(b.createTime)
  536. if (createTimeA.getTime() > createTimeB.getTime()) {
  537. return -1
  538. } else if (createTimeA.getTime() === createTimeB.getTime()) {
  539. return 0
  540. } else {
  541. return 1
  542. }
  543. })
  544. }
  545. }
  546. // 获取目录结构
  547. export function getFolderTree(data) {
  548. return http.getJson(`${URL_FILL}/manage/dir/getTree/${data.type}`).then((res) => {
  549. if (res.code === 0 && Array.isArray(res.data)) {
  550. const temp = {
  551. name: '根目录',
  552. id: 1,
  553. children: res.data
  554. }
  555. res.data = temp
  556. postOrderTraversal(res.data, folderTreeSortRoutine)
  557. }
  558. return res
  559. })
  560. }
  561. // 素材库中新增文件夹
  562. export function createFolder(data, ok, no) {
  563. return http.postJson(`${URL_FILL}/manage/dir/save`, data, ok, no)
  564. }
  565. // 素材库中文件夹重命名
  566. export function renameFolder(data, ok, no) {
  567. return http.postJson(`${URL_FILL}/manage/dir/save`, data, ok, no)
  568. }
  569. // 移动素材或文件夹到一个文件夹
  570. export function moveToFolder(list, targetId, ancestors) {
  571. const param = {
  572. ancestors,
  573. dirIds: list.filter((item) => {
  574. return item.type === 'dir'
  575. }).map((item) => {
  576. return item.id
  577. }).join(','),
  578. fodderIds: list.filter((item) => {
  579. return item.type !== 'dir'
  580. }).map((item) => {
  581. return item.id
  582. }).join(','),
  583. parentId: targetId,
  584. }
  585. return http.postJson(`${URL_FILL}/manage/dir/move`, param).then((res) => {
  586. if (res.code === 0) {
  587. return Promise.resolve(res)
  588. } else {
  589. return Promise.reject(false)
  590. }
  591. })
  592. }
  593. export async function delFolder(id) {
  594. return http.postJson(`${URL_FILL}/manage/dir/remove/${id}`).then((res) => {
  595. if (res.code === 0) {
  596. return Promise.resolve(res)
  597. } else {
  598. return Promise.reject(false)
  599. }
  600. })
  601. // return http.postJson(`${URL_FILL}/manage/dir/remove/${id}`, ok, no)
  602. }
  603. /**
  604. * end of 文件夹相关
  605. */
  606. /**
  607. * 添加我的作品
  608. * @param {*} data
  609. * @param {*} ok
  610. * @param {*} no
  611. */
  612. export function addWorks(data, ok, no) {
  613. return http.postJson(`${URL_FILL}/manage/work/add`, data, ok, no)
  614. }
  615. /**
  616. * 获取我的作品列表
  617. * @param {*} data
  618. * @param {*} ok
  619. * @param {*} no
  620. */
  621. export function getWorksList(data, ok, no) {
  622. return http.postJson(`${URL_FILL}/manage/work/list`, data, ok, no)
  623. }
  624. /**
  625. * 保存我的作品
  626. * @param {*} data
  627. * @param {*} ok
  628. * @param {*} no
  629. */
  630. export function saveWorks(data, ok, no) {
  631. !data.id && (data.id = number())
  632. // return http.postJson(`http://192.168.0.152:8001/qjkankan/manage/work/edit`, data, ok, no)
  633. return http.postJson(`${URL_FILL}/manage/work/edit`, data, ok, no)
  634. }
  635. /**
  636. * 删除我的作品
  637. * @param {*} data
  638. * @param {*} ok
  639. * @param {*} no
  640. */
  641. export function delWorks(data, ok, no) {
  642. return http.postJson(`${URL_FILL}/manage/work/remove/${data}`, {}, ok, no)
  643. }
  644. /**
  645. * 检查用户空间
  646. * @param {*} data
  647. * @param {*} ok
  648. * @param {*} no
  649. */
  650. // export function checkUserSize(data, ok, no) {
  651. // return http.get(`http://192.168.0.152:8001/qjkankan/manage/fodder/checkUserSize`, data, ok, no)
  652. // // return http.get(`${URL_FILL}/manage/fodder/checkUserSize`, data, ok, no)
  653. // }
  654. export async function checkUserSize() {
  655. // const url = "http://192.168.0.152:8001/qjkankan/manage/fodder/checkUserSize"
  656. const url = `${URL_FILL}/manage/fodder/checkUserSize`
  657. return http.get(url).then((res) => {
  658. if (res.code === 0) {
  659. return Promise.resolve(res.data)
  660. } else {
  661. return Promise.reject(false)
  662. }
  663. })
  664. // return http.postJson(`${URL_FILL}/manage/dir/remove/${id}`, ok, no)
  665. }
  666. /**
  667. * 上传附件
  668. * @param {*} data
  669. * @param {*} ok
  670. * @param {*} no
  671. */
  672. export function uploadAttachment(data, ok, no) {
  673. return http.uploadFile(`${URL_FILL}/manage/work/uploadHot`, data, ok, no)
  674. }
  675. /**
  676. * 更新通知
  677. * @param {*} data
  678. * @param {*} ok
  679. * @param {*} no
  680. */
  681. export function getNoticeApi(data, ok, no) {
  682. return http.getJson(`${URL_FILL}/manage/work/getServiceUpTip`, data, ok, no)
  683. }
  684. /**
  685. * 动态获取QRcode
  686. */
  687. export function getQrCode(data,ok, no) {
  688. return http.postJson(`${URL_FILL}/manage/logo/gerQrCode`, data, ok, no)
  689. }