Browse Source

Merge branch 'dev' of git.1000my.com:project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts into dev

pull/2/head
张耀 3 years ago
parent
commit
5b75a04130
  1. 4
      .drone.yml
  2. 8
      .tpl
  3. 82
      CHANGELOG.md
  4. 4
      package-lock.json
  5. 2
      package.json
  6. 304
      public/static/offline/JSON/getArtList.json
  7. 97
      public/static/offline/JSON/getArtWorkList.json
  8. 27
      public/static/offline/JSON/getSpecialIndustry.json
  9. 119
      public/static/qm/MainMap_QM.js
  10. 7
      src/components/Map/Map.vue
  11. 13
      src/composables/useGuideFilterShop.ts
  12. 9
      src/composables/useInitConfigAndMallInfo.ts
  13. 26
      src/composables/useInitMap.ts
  14. 3
      src/http/api/brand/index.ts
  15. 2
      src/http/api/parking/index.ts
  16. 4
      src/store/root/actions.ts
  17. 4
      src/store/root/state.ts
  18. 8
      src/types/industry.d.ts
  19. 2
      src/views/Guide/ArtList.vue

4
.drone.yml

@ -68,7 +68,7 @@ steps:
- mv $zip_name ../ - mv $zip_name ../
# svn目录定义 开头和结尾不能有/,且不能出现中文乱码,复制地址时建议只复制02项目定制后的目录,会影响到变量取值 # svn目录定义 开头和结尾不能有/,且不能出现中文乱码,复制地址时建议只复制02项目定制后的目录,会影响到变量取值
- svndir="2022研发/Prd007_智能导视/02项目定制/BJ006北京京西大悦城/导视前端"
- svndir="2022研发/Prd007_智能导视/02项目定制/CD003成都SKP/导视前端"
# - svn_reponame=${svndir%%/*} # - svn_reponame=${svndir%%/*}
# - svn_path=${svndir##*/} # - svn_path=${svndir##*/}
# - echo 仓库内部子路径取值 $svn_path # - echo 仓库内部子路径取值 $svn_path
@ -104,7 +104,7 @@ steps:
image: lddsb/drone-dingtalk-message image: lddsb/drone-dingtalk-message
failure: ignore failure: ignore
settings: settings:
token: 'your dingTalk robot token'
token: 'a8db02730860e75c3ad22caeb2710948744f40e1659dccfe8b3a4495adcd24b6'
type: markdown type: markdown
message_color: true message_color: true
message_pic: true message_pic: true

8
.tpl

@ -1,9 +1,13 @@
<font color=[TPL_STATUS_COLOR] size="3"> <font color=[TPL_STATUS_COLOR] size="3">
项目svn地址:http://svn.1000my.com/svn/2022研发/Prd007_智能导视/02项目定制/
项目svn地址:http://svn.1000my.com/svn/2022研发/Prd007_智能导视/02项目定制/CD003成都SKP/导视前端
</font> </font>
<font color=[TPL_STATUS_COLOR] size="3"> <font color=[TPL_STATUS_COLOR] size="3">
项目git地址:https://git.1000my.com/
项目git地址:https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts
</font>
<font color=[TPL_STATUS_COLOR] size="3">
更新内容:[TPL_COMMIT_MSG]
</font> </font>
![image]([TPL_STATUS_PIC]) ![image]([TPL_STATUS_PIC])

82
CHANGELOG.md

@ -0,0 +1,82 @@
# Changelog
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
## 1.0.0-B.1 (2023-07-18)
### Features
* 🚀 猜你喜欢 ([a547e63](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/a547e63201cc068750353b90ea794ab7b205c1dd))
* 🚀 猜你喜欢加快 ([ae787d6](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/ae787d633684efbec0fed3a5c6c4f70c1b99be44))
* 🚀 导航 ([8939fb1](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/8939fb1f0109a8a87d9b50e426b293014f285f6d))
* 🚀 地图优化 ([2552ac6](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/2552ac67d167da955d2f3ab2fe4a7b6ffb5987ad))
* 🚀 对接app容器 ([3de1238](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/3de123844683bc55700329b363b3bc2e7001693e))
* 🚀 交通信息接口联调 ([547af02](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/547af02be5ad2928347b6456fac227b1275ae390))
* 🚀 首页接口调试 ([ee8345e](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/ee8345e935a578ffbd2659c1132cff3aa2324e44))
* 🚀 首页以及导航 ([fb430c0](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/fb430c0d0f48a2dd37e91b22bf9f39d734bce064))
* 🚀 添加初始化进入自动弹屏保弹框 ([2df9631](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/2df96313fb05be606d2fd91c455b549bee7e4479))
* 🚀 添加多语言文案 ([b92ef73](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/b92ef73d642f49a2f9db660c9861d5ce67b93f17))
* 🚀 添加分页hooks以及分页逻辑放在worker线程处理 ([d275da4](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/d275da4dd108d253beef00869ef3308bf446e72f))
* 🚀 添加退出判断 ([b53b841](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/b53b84139ae470580c8c83c98b310e39e3bd9859))
* 🚀 添加影院模块的ts声明文件 ([9c8fc16](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/9c8fc1691ce6daf449096b49283cfc369582612a))
* 🚀 新增地图导览筛选店铺/停车模块hook ([6c52626](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/6c52626bb1673425bd5ad320802865d815ce19b2))
* 🚀 新增服务导航hook 修改当前楼层字段'currentFloor'为'device'字段 store新增店铺列表按照楼层 业态分组 业态列表 推荐列表 的全局状态 ([ec3e2fc](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/ec3e2fccf1e0461dde1024ad480871651f515b48))
* 🚀 新增切片插件 ([c4c535a](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/c4c535a0e83e5b7ee517bdcfa2256a1a9f6443b5))
* 🚀 init ([24e101c](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/24e101c4fb1ec731b139d75012d2ffef380d8991))
* 翻译文案 ([72734ad](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/72734ad001d563c48af32dfab9e0898ae88eabe5))
* 翻译文案 ([a4bd2ad](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/a4bd2ada51defaae8740e06d5f3f216f899862fc))
* 翻译文案 ([14f50ed](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/14f50ed3280229ea06968e4296e079cd828f5bc9))
* 会员和搜索 ([2023423](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/2023423678f177d23362962ea7f9eb379d1d2eae))
* 品牌模块和店铺详情 ([6817d49](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/6817d49791f683e096451c50c46fd33de5d77f83))
* 删除切换语言hooks 添加关键注释 ([a6a8872](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/a6a88723999adbf4ce9942bf9b76196179e0ccb9))
* 删除切换语言hooks 添加关键注释 ([dcc66ff](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/dcc66ff4ff756472d86ecee4785348a7292cfb2c))
* 删除切换语言hooks 添加关键注释 ([afa5183](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/afa51835dd42177c46d8d5c0c4481deca70848ce))
* 添加滚动条组件 ([8e363e6](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/8e363e6b08308db6e96901efda462b02bb39b8b4))
* 添加滚动条组件 ([e899a0e](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/e899a0e6d7816f40cb2ca53d863cff44ace4dd22))
* 添加滚动条组件 ([a403c62](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/a403c62290533cdb3b2f6a327fede9f0e5e6767f))
* 添加基础英文文案和繁体文案 ([d28b9cf](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/d28b9cff4e85abdf127d804ddaa9abceffd46094))
* 添加路由跳转组件 全局window声明文件 ([8b60aa6](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/8b60aa6fb309b1f28940b1d181980f0398efffcc))
* 添加路由跳转组件 全局window声明文件 ([690c43a](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/690c43ab5f3ec557477bb9a0716e6770b245d6b6))
* 添加路由跳转组件 全局window声明文件 ([f59e00f](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/f59e00f9adfc9e72ca9c962604be2a1b10d077b3))
* 添加vscode文件 ([b196e97](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/b196e970f9c2984ace0b140420e97d1525c1bb6c))
* 添加vscode文件 ([668b0de](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/668b0dee345beee33333bc058b025d5b25791d5e))
* 添加vscode文件 ([9c4b7aa](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/9c4b7aa7d248d1a717e952e58b625086807ebc45))
* init ([64d70e9](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/64d70e9a505ae2c4839df5b7aaef1c2f3ecc5386))
### Bug Fixes
* 🧩 地图优化 ([4651f3f](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/4651f3fd2b11589a26d637c86d0c1df6ed39186e))
* 🧩 返回屏保时间设置为0时 弹框直接出现 ([40a3f40](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/40a3f40f7d2ba97d7271e6169d184c6fea824578))
* 🧩 屏保时间为0且在首页时 全局弹框自动隐藏 ([78c65f4](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/78c65f40c6423b14416500726333d6c104be8cd1))
* 🧩 停车详情 ([ed77649](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/ed77649d783973bf7f4060a0781dac01c9a0ac6f))
* 🧩 文档优化 ([87e5913](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/87e59138b5645287e0097d595350ccc08edb4fcd))
* 🧩 相关优化 ([779a77e](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/779a77e838e56853c0bce2804d3ffea53d8ce83c))
* 🧩 相关优化 ([338e3ae](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/338e3ae1209a10819a35e9ea83625c075bc3695e))
* 🧩 修复若干bug ([1adfd6c](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/1adfd6cc11b19e96d1bd118f4ac8729aa1210227))
* 🧩 艺术、停车、交通 ([c4d001a](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/c4d001aa8ac31fd37adb1148db7320accaad36cb))
* 🧩 store action类型错误 ([6b1966c](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/6b1966c2fdff17449b65ab192e8b7579a3419ad0))
* 地图可重复加载 ([65b1128](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/65b112892c142e8f8d76d3f061254bb8476d2720))
* 地图水平旋转功能优化 ([5a990e1](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/5a990e1ef60b49fa1cea808e87803079fe46c9a0))
* 地图优化 ([2bbf374](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/2bbf374e1c338d963eb529ebf23ac509838f8c1c))
* 模型增加 ([ce42179](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/ce4217911ff59e00ceb085649d25d6f9d8283df1))
* 品牌和活动 ([b066a37](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/b066a37a5c4804b9807d5ed45be73834a0d82e48))
* 手动合并 ([e16ab27](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/e16ab27be389c6af0fa1ea39b14efa022d64314b))
* 手动合并test ([cb35c3e](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/cb35c3e4d0181aa0047d8e8e6d5ef32f61bc9b6a))
* 图标弹跳参数 ([6fb263b](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/6fb263bfb5b7d5788543a143655c078fe66fb90d))
* 文件冲突 ([623b153](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/623b153c105e5c4ea6ecbdc47271d6bd4e63d76e))
* 修改冲突 ([f740e7e](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/f740e7eef0d621a44f396b110f6ec83af3acaa73))
* 修改读取问题 ([65369c3](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/65369c39770a064c6631c5fbd486837ba2fda9bb))
* 修改会员的读取数据问题 ([173b8a4](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/173b8a4f9c73a0f0439377e1ece1aa35c5b41010))
* 修改问题 ([8ce774f](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/8ce774f738d3f7babeb4253db297173558fd7557))
* 修改问题 ([76e214f](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/76e214f000211c27f6845f53217d465589779cdb))
* 修改问题 ([fc4a575](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/fc4a575ab81140887467d590209cd9973a377c40))
* 增加天空盒、区域贴图 ([1b70a87](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/1b70a87d27709d8ed7027a81edbcc4b55bf7f2ba))
* ci ([cc15fa7](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/cc15fa70c624e2e63bb972c2e6a4e2283be22dff))
* ci ([dc837c6](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/dc837c6df093ada2cafcadf2230f1f4f4e3101e8))
* ci ([781371d](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/781371d782563c6b75bc94e306762e6e17f8b092))
* ci ([6d66915](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/6d66915670e668cecb73b3c7249e0ff2c98ec5c6))
* ci ([32ce94b](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/32ce94bba88934d1922b35d6a4985a14bcb7df0a))
* ci ([d8b2727](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/d8b272746ec55c65f6dee2e9fd5f4699220599e1))
* ci ([35f2eca](https://git.1000my.com/project-chengduSKP/cd_SKP_H_base_daoshi_vue_ts/commit/35f2ecaac3760f4fffd1bb127b42fe1bd987240f))

4
package-lock.json

@ -1,12 +1,12 @@
{ {
"name": "vue_cli_ts", "name": "vue_cli_ts",
"version": "0.1.0",
"version": "1.0.0-B.1",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "vue_cli_ts", "name": "vue_cli_ts",
"version": "0.1.0",
"version": "1.0.0-B.1",
"dependencies": { "dependencies": {
"@better-scroll/core": "^2.5.0", "@better-scroll/core": "^2.5.0",
"@better-scroll/observe-image": "^2.5.0", "@better-scroll/observe-image": "^2.5.0",

2
package.json

@ -1,6 +1,6 @@
{ {
"name": "vue_cli_ts", "name": "vue_cli_ts",
"version": "0.1.0",
"version": "1.0.0-B.1",
"private": true, "private": true,
"scripts": { "scripts": {
"serve": "vue-cli-service serve", "serve": "vue-cli-service serve",

304
public/static/offline/JSON/getArtList.json

@ -1 +1,303 @@
{"code":200,"msg":"操作成功","data":[{"id":172,"title":"2","content":{"name":"魔法水星","nameEn":"MAGIC WATER BALL ","point":"0_0_9"}},{"id":171,"title":"1","content":{"name":"花之泉广场","nameEn":"NORTH ENTRANCE FOUNTAIN SQUARE","point":"0_0_65"}},{"id":173,"title":"3","content":{"name":"家庭乐园","nameEn":"THE FAMILY PARK","point":"0_0_1"}},{"id":174,"title":"4","content":{"name":"精灵之泉","nameEn":"THE FOUNTAIN PLAYGROUND","point":"0_0_161"}}]}
{
"code": 200,
"msg": "操作成功",
"data": [
{
"id": 172,
"title": "2",
"content": {
"name": "魔法水星",
"nameEn": "MAGIC WATER BALL ",
"point": "0_0_9"
}
},
{
"id": 171,
"title": "1",
"content": {
"name": "花之泉广场",
"nameEn": "NORTH ENTRANCE FOUNTAIN SQUARE",
"point": "0_0_65"
}
},
{
"id": 173,
"title": "3",
"content": {
"name": "家庭乐园",
"nameEn": "THE FAMILY PARK",
"point": "0_0_1"
}
},
{
"id": 174,
"title": "4",
"content": {
"name": "精灵之泉",
"nameEn": "THE FOUNTAIN PLAYGROUND",
"point": "0_0_161"
}
},
{
"id": 172,
"title": "2",
"content": {
"name": "魔法水星",
"nameEn": "MAGIC WATER BALL ",
"point": "0_0_9"
}
},
{
"id": 171,
"title": "1",
"content": {
"name": "花之泉广场",
"nameEn": "NORTH ENTRANCE FOUNTAIN SQUARE",
"point": "0_0_65"
}
},
{
"id": 173,
"title": "3",
"content": {
"name": "家庭乐园",
"nameEn": "THE FAMILY PARK",
"point": "0_0_1"
}
},
{
"id": 174,
"title": "4",
"content": {
"name": "精灵之泉",
"nameEn": "THE FOUNTAIN PLAYGROUND",
"point": "0_0_161"
}
},
{
"id": 172,
"title": "2",
"content": {
"name": "魔法水星",
"nameEn": "MAGIC WATER BALL ",
"point": "0_0_9"
}
},
{
"id": 171,
"title": "1",
"content": {
"name": "花之泉广场",
"nameEn": "NORTH ENTRANCE FOUNTAIN SQUARE",
"point": "0_0_65"
}
},
{
"id": 173,
"title": "3",
"content": {
"name": "家庭乐园",
"nameEn": "THE FAMILY PARK",
"point": "0_0_1"
}
},
{
"id": 174,
"title": "4",
"content": {
"name": "精灵之泉",
"nameEn": "THE FOUNTAIN PLAYGROUND",
"point": "0_0_161"
}
},
{
"id": 172,
"title": "2",
"content": {
"name": "魔法水星",
"nameEn": "MAGIC WATER BALL ",
"point": "0_0_9"
}
},
{
"id": 171,
"title": "1",
"content": {
"name": "花之泉广场",
"nameEn": "NORTH ENTRANCE FOUNTAIN SQUARE",
"point": "0_0_65"
}
},
{
"id": 173,
"title": "3",
"content": {
"name": "家庭乐园",
"nameEn": "THE FAMILY PARK",
"point": "0_0_1"
}
},
{
"id": 174,
"title": "4",
"content": {
"name": "精灵之泉",
"nameEn": "THE FOUNTAIN PLAYGROUND",
"point": "0_0_161"
}
},
{
"id": 172,
"title": "2",
"content": {
"name": "魔法水星",
"nameEn": "MAGIC WATER BALL ",
"point": "0_0_9"
}
},
{
"id": 171,
"title": "1",
"content": {
"name": "花之泉广场",
"nameEn": "NORTH ENTRANCE FOUNTAIN SQUARE",
"point": "0_0_65"
}
},
{
"id": 173,
"title": "3",
"content": {
"name": "家庭乐园",
"nameEn": "THE FAMILY PARK",
"point": "0_0_1"
}
},
{
"id": 174,
"title": "4",
"content": {
"name": "精灵之泉",
"nameEn": "THE FOUNTAIN PLAYGROUND",
"point": "0_0_161"
}
},
{
"id": 172,
"title": "2",
"content": {
"name": "魔法水星",
"nameEn": "MAGIC WATER BALL ",
"point": "0_0_9"
}
},
{
"id": 171,
"title": "1",
"content": {
"name": "花之泉广场",
"nameEn": "NORTH ENTRANCE FOUNTAIN SQUARE",
"point": "0_0_65"
}
},
{
"id": 173,
"title": "3",
"content": {
"name": "家庭乐园",
"nameEn": "THE FAMILY PARK",
"point": "0_0_1"
}
},
{
"id": 174,
"title": "4",
"content": {
"name": "精灵之泉",
"nameEn": "THE FOUNTAIN PLAYGROUND",
"point": "0_0_161"
}
},
{
"id": 172,
"title": "2",
"content": {
"name": "魔法水星",
"nameEn": "MAGIC WATER BALL ",
"point": "0_0_9"
}
},
{
"id": 171,
"title": "1",
"content": {
"name": "花之泉广场",
"nameEn": "NORTH ENTRANCE FOUNTAIN SQUARE",
"point": "0_0_65"
}
},
{
"id": 173,
"title": "3",
"content": {
"name": "家庭乐园",
"nameEn": "THE FAMILY PARK",
"point": "0_0_1"
}
},
{
"id": 174,
"title": "4",
"content": {
"name": "精灵之泉",
"nameEn": "THE FOUNTAIN PLAYGROUND",
"point": "0_0_161"
}
},
{
"id": 172,
"title": "2",
"content": {
"name": "魔法水星",
"nameEn": "MAGIC WATER BALL ",
"point": "0_0_9"
}
},
{
"id": 171,
"title": "1",
"content": {
"name": "花之泉广场",
"nameEn": "NORTH ENTRANCE FOUNTAIN SQUARE",
"point": "0_0_65"
}
},
{
"id": 173,
"title": "3",
"content": {
"name": "家庭乐园",
"nameEn": "THE FAMILY PARK",
"point": "0_0_1"
}
},
{
"id": 174,
"title": "4",
"content": {
"name": "精灵之泉",
"nameEn": "THE FOUNTAIN PLAYGROUND",
"point": "0_0_161"
}
},
{
"id": 172,
"title": "2",
"content": {
"name": "魔法水星",
"nameEn": "MAGIC WATER BALL ",
"point": "0_0_9"
}
}
]
}

97
public/static/offline/JSON/getArtWorkList.json

@ -1 +1,96 @@
{"code":200,"msg":"操作成功","data":[{"id":198,"title":"猩猩的太空漫步","content":{"name":"猩猩的太空漫步","nameEn":"dddd","file_code":["/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/vwcYXFrhK1CbEB6uFy76R.png"],"point":"0_0_4","content":"vnasfkvl","contentEn":"fwefwqe","icon":["/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/DEB6NDQ8975GvfR5yKclw.png"],"icon_sel":[]}},{"id":199,"title":"共生","content":{"name":"共生","nameEn":"dddd","file_code":["/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/CkR9FMDrKtej6Rt0GDAUR.png"],"point":"0_0_129","content":"1235","contentEn":"fwerf","icon":["/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/RyWHWQugQvDwEjEY_MwHb.png"],"icon_sel":[]}},{"id":200,"title":"超新星","content":{"name":"超新星","nameEn":"dddd","file_code":["/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/6DH-CKwe8pzVt4qmP-Knm.png"],"point":"0_0_129","content":"1326","contentEn":"56456","icon":["/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/ea-Q5M6K-ri1xw3UfY18_.png"],"icon_sel":[]}},{"id":201,"title":"盛开的山谷","content":{"name":"盛开的山谷","nameEn":"dadd","file_code":["/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/fH0IKTz9Nhg7nnVhtJg_o.png"],"point":"0_0_84","content":"i7u","contentEn":"hhrt","icon":["/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/j49AhcyUGy3ooRveXNTAt.png"],"icon_sel":[]}},{"id":202,"title":"琥珀","content":{"name":"琥珀","nameEn":"t534","file_code":["/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/rQjWB5AzY05NM7YSmWgtT.png"],"point":"0_0_84","content":"213","contentEn":"545","icon":["/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/GeJT_PoeLfW6e2SgxCGmQ.png"],"icon_sel":[]}}]}
{
"code": 200,
"msg": "操作成功",
"data": [
{
"id": 198,
"title": "猩猩的太空漫步",
"content": {
"name": "猩猩的太空漫步",
"nameEn": "dddd",
"file_code": [
"/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/vwcYXFrhK1CbEB6uFy76R.png"
],
"point": "0_3_4",
"content": "vnasfkvl",
"contentEn": "fwefwqe",
"icon": [
"/iotFile/project-ey_fpaur6s6fkgvszywana/20230711/i5NJjQ-h_RKrWqWza7g79.jpg"
],
"icon_sel": []
}
},
{
"id": 199,
"title": "共生",
"content": {
"name": "共生",
"nameEn": "dddd",
"file_code": [
"/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/CkR9FMDrKtej6Rt0GDAUR.png"
],
"point": "0_0_129",
"content": "1235",
"contentEn": "fwerf",
"icon": [
"/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/RyWHWQugQvDwEjEY_MwHb.png"
],
"icon_sel": []
}
},
{
"id": 200,
"title": "超新星",
"content": {
"name": "超新星",
"nameEn": "dddd",
"file_code": [
"/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/6DH-CKwe8pzVt4qmP-Knm.png"
],
"point": "0_0_129",
"content": "1326",
"contentEn": "56456",
"icon": [
"/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/ea-Q5M6K-ri1xw3UfY18_.png"
],
"icon_sel": []
}
},
{
"id": 201,
"title": "盛开的山谷",
"content": {
"name": "盛开的山谷",
"nameEn": "dadd",
"file_code": [
"/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/fH0IKTz9Nhg7nnVhtJg_o.png"
],
"point": "0_0_84",
"content": "i7u",
"contentEn": "hhrt",
"icon": [
"/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/j49AhcyUGy3ooRveXNTAt.png"
],
"icon_sel": []
}
},
{
"id": 202,
"title": "琥珀",
"content": {
"name": "琥珀",
"nameEn": "t534",
"file_code": [
"/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/rQjWB5AzY05NM7YSmWgtT.png"
],
"point": "0_0_84",
"content": "213",
"contentEn": "545",
"icon": [
"/iotFile/project-ey_fpaur6s6fkgvszywana/20230713/GeJT_PoeLfW6e2SgxCGmQ.png"
],
"icon_sel": []
}
}
]
}

27
public/static/offline/JSON/getSpecialIndustry.json

@ -0,0 +1,27 @@
{
"code": 200,
"msg": "操作成功",
"data": [
{
"id": 250,
"title": "咖啡/甜品",
"content": {
"industry_id": "XTiJfbL_-Sy87Fw0dU7Tl"
}
},
{
"id": 251,
"title": "甜品",
"content": {
"industry_id": "hCGB5-YT7j2TpilgXONHT"
}
},
{
"id": 252,
"title": "健康食品/茶叶",
"content": {
"industry_id": "WDEyhFPf6tv_ejRrhV-sN"
}
}
]
}

119
public/static/qm/MainMap_QM.js

@ -32,7 +32,7 @@ QMUtil = function () {
this.mapServerInfo = "static/offline/JSON/GetMapInfo.json"; this.mapServerInfo = "static/offline/JSON/GetMapInfo.json";
this.beforPath = "./"; this.beforPath = "./";
this.options = { this.options = {
playSpeed: 6, //动画播放速度
playSpeed: 8, //动画播放速度
collision: true, //是否支持名称的碰撞检测 collision: true, //是否支持名称的碰撞检测
showStyle: true, //是否4K showStyle: true, //是否4K
modelIcon: true, //是否使用模型 true 模型 false 图标 modelIcon: true, //是否使用模型 true 模型 false 图标
@ -78,7 +78,7 @@ QMUtil = function () {
//debug 参数 相机坐标/ 镜头方向 //debug 参数 相机坐标/ 镜头方向
this.guiOptions = { cameraX: 0, cameraY: 220, cameraZ: 220, targatX: 0, targatY: 0, targatZ: 0 }; //this.button = function() {}; this.guiOptions = { cameraX: 0, cameraY: 220, cameraZ: 220, targatX: 0, targatY: 0, targatZ: 0 }; //this.button = function() {};
this.sceneGap = { x: 60, y: 0, z: 0, scale: dir ? 0.15 : 0.05 }; //改变地图位置,大小
this.sceneGap = { x: 0, y: 0, z: 0, scale: dir ? 0.15 : 0.055 }; //改变地图位置,大小
this.selectBuild = 0; this.selectBuild = 0;
this.selectFloor = 0; this.selectFloor = 0;
@ -3247,17 +3247,30 @@ MainMap_QM.prototype = {
type: 'icon', type: 'icon',
data: { "buildOrder": buildOrder, "floorOrder": floorOrder, "node": navCode, "src": src, "facCode": facCode, "title": title } data: { "buildOrder": buildOrder, "floorOrder": floorOrder, "node": navCode, "src": src, "facCode": facCode, "title": title }
}) })
console.log("触发 icon 事件 ", {
type: 'icon',
data: { "buildOrder": buildOrder, "floorOrder": floorOrder, "node": navCode, "src": src, "facCode": facCode, "title": title }
});
return;
}
}
//艺术品点击
for (let i = 0; i < intersects.length; i++) {
//艺术品点击
if (intersects[i].object.userData && (intersects[i].object.userData.type == 'art' || intersects[i].object.parent.userData.type == 'art' || intersects[i].object.parent.parent.userData.type == 'art')) {
if (Map_QM.endModel && Map_QM.endModel.visible) {
Map_QM.endModel.visible = false;
}
Map_QM.mapArr[Map_QM.util.selectBuild][Map_QM.util.selectFloor].findPath.clearPath();
let codeId = intersects[i].object.userData.codeId || intersects[i].object.parent.userData.codeId || intersects[i].object.parent.parent.userData.codeId
let userData = intersects[i].object.userData || intersects[i].object.parent.userData || intersects[i].object.parent.parent.userData;
Map_QM.dispatchEvent({
type: 'art',
data: { "codeId": codeId, "artData": userData }
})
return; return;
} }
} }
for (let i = 0; i < intersects.length; i++) { for (let i = 0; i < intersects.length; i++) {
//房间BOX点击 //房间BOX点击
console.log(intersects);
if (intersects[i].object.userData && intersects[i].object.userData.type == "shop" && intersects[i].object.name != "") { if (intersects[i].object.userData && intersects[i].object.userData.type == "shop" && intersects[i].object.name != "") {
if (Map_QM.endModel && Map_QM.endModel.visible) { if (Map_QM.endModel && Map_QM.endModel.visible) {
Map_QM.endModel.visible = false; Map_QM.endModel.visible = false;
@ -5247,6 +5260,7 @@ MainMap_QM.init = function (callBack, options) {
Map_QM.cancelRender(); Map_QM.cancelRender();
Map_QM.beforeDestroy(options); Map_QM.beforeDestroy(options);
} }
console.log(options);
Map_QM = new MainMap_QM(callBack, options); Map_QM = new MainMap_QM(callBack, options);
return Map_QM; return Map_QM;
} }
@ -5316,28 +5330,31 @@ FloorMap_QM.prototype = {
if (Map_QM.util.artUrl.length > 0) { if (Map_QM.util.artUrl.length > 0) {
let _this = this; let _this = this;
Map_QM.util.artUrl.forEach((item)=>{ Map_QM.util.artUrl.forEach((item)=>{
let url = Map_QM.util.beforPath + item.content.icon[0];
let spriteMap = new THREE.TextureLoader().load(url);
let spriteMaterial = new THREE.SpriteMaterial({ //sizeAttenuation: false 禁止跟随鼠标缩放
map: spriteMap,
depthTest: true,
transparent: true,
alphaTest: 0.1
});
let sprite = new MySprite_QM(spriteMaterial);
sprite.scale.set(64, 64, 1);
sprite.imgUrl = url;
sprite.center = new THREE.Vector2(0.5, 0);
sprite.userData = item;
sprite.userData.type = "art";
sprite.userData.use = "all";
sprite.userData.src = url;
let pathData = Map_QM.util.allMap[_this.buildOrder].buildArr[_this.floorOrder].mapData.path;
if(pathData.nodes.length > 0){
pathData.nodes.sort(Config.sortNode);
sprite.position.set(pathData.nodes[parseInt(item.content.point)].x, -1*pathData.nodes[parseInt(item.content.point)].y, 60);
sprite.renderOrder = 300;
_this.serObj.add(sprite);
let points = item.content.point.split("_");
if(parseInt(points[0]) == _this.buildOrder && parseInt(points[1]) ==_this.floorOrder && parseInt(points[2])>=0){
let url = Map_QM.util.beforPath + item.content.icon[0];
let spriteMap = new THREE.TextureLoader().load(url);
let spriteMaterial = new THREE.SpriteMaterial({ //sizeAttenuation: false 禁止跟随鼠标缩放
map: spriteMap,
depthTest: true,
transparent: true,
alphaTest: 0.1
});
let sprite = new MySprite_QM(spriteMaterial);
sprite.scale.set(64, 64, 1);
sprite.imgUrl = url;
sprite.center = new THREE.Vector2(0.5, 0);
sprite.userData = item;
sprite.userData.type = "art";
sprite.userData.use = "all";
sprite.userData.codeId = item.id;
let pathData = Map_QM.util.allMap[_this.buildOrder].buildArr[_this.floorOrder].mapData.path;
if(pathData.nodes.length > 0){
pathData.nodes.sort(Map_QM.util.sortNode);
sprite.position.set(pathData.nodes[parseInt(points[2])].x, -1*pathData.nodes[parseInt(points[2])].y, 60);
sprite.renderOrder = 300;
_this.serObj.add(sprite);
}
} }
}) })
} }
@ -5577,18 +5594,18 @@ FloorMap_QM.prototype = {
}); });
} }
if (showLeb != "" || some) { if (showLeb != "" || some) {
showLeb = mapData.shopArea[i].name;
let shopDiv = document.createElement('div');
shopDiv.className = "map_label";
shopDiv.innerHTML = Map_QM.util.options.shopStyle == "shopName" ? show : mapData.shopArea[i].name;
shopDiv.dataset.name = show;
shopDiv.dataset.nameEn = showE;
shopDiv.style.visibility = "hidden";
let shopLabel = new THREE.CSS2DObject(shopDiv);
shopLabel.position.set(mapData.shopArea[i].xaxis >> 0, -1 * mapData.shopArea[i].yaxis >> 0, parseInt(mapData.shopArea[i].toHeight) + parseInt(mapData.shopArea[i].site || 0));
shopLabel.name = mapData.shopArea[i].name;
shopLabel.userData.mapShow = mapShow;
this.labelObj.add(shopLabel);
// showLeb = mapData.shopArea[i].name;
// let shopDiv = document.createElement('div');
// shopDiv.className = "map_label";
// shopDiv.innerHTML = Map_QM.util.options.shopStyle == "shopName" ? show : mapData.shopArea[i].name;
// shopDiv.dataset.name = show;
// shopDiv.dataset.nameEn = showE;
// shopDiv.style.visibility = "hidden";
// let shopLabel = new THREE.CSS2DObject(shopDiv);
// shopLabel.position.set(mapData.shopArea[i].xaxis >> 0, -1 * mapData.shopArea[i].yaxis >> 0, parseInt(mapData.shopArea[i].toHeight) + parseInt(mapData.shopArea[i].site || 0));
// shopLabel.name = mapData.shopArea[i].name;
// shopLabel.userData.mapShow = mapShow;
// this.labelObj.add(shopLabel);
//this.labelObj.add(Map_QM.util.getTextMesh(show,new THREE.Vector3(mapData.shopArea[i].xaxis >> 0, -1 * mapData.shopArea[i].yaxis >> 0, parseInt(mapData.shopArea[i].toHeight) + parseInt(mapData.shopArea[i].site || 0)))); //this.labelObj.add(Map_QM.util.getTextMesh(show,new THREE.Vector3(mapData.shopArea[i].xaxis >> 0, -1 * mapData.shopArea[i].yaxis >> 0, parseInt(mapData.shopArea[i].toHeight) + parseInt(mapData.shopArea[i].site || 0))));
} }
} }
@ -6063,16 +6080,16 @@ FloorMap_QM.prototype = {
} }
//显示车位编号 //显示车位编号
if (mapData.parkArea[i].parkNum != "NaN" && i % 10 == 0) {
let shopDiv = document.createElement('div');
shopDiv.className = "map_label"
shopDiv.style.visibility = "hidden";
shopDiv.textContent = mapData.parkArea[i].parkNum;
let shopLabel = new THREE.CSS2DObject(shopDiv);
shopLabel.name = mapData.parkArea[i].name;
shopLabel.position.set(mapData.parkArea[i].xaxis >> 0, -1 * mapData.parkArea[i].yaxis >> 0, parseInt(mapData.parkArea[i].toHeight) + 1);
this.labelObj.add(shopLabel);
}
// if (mapData.parkArea[i].parkNum != "NaN" && i % 10 == 0) {
// let shopDiv = document.createElement('div');
// shopDiv.className = "map_label"
// shopDiv.style.visibility = "hidden";
// shopDiv.textContent = mapData.parkArea[i].parkNum;
// let shopLabel = new THREE.CSS2DObject(shopDiv);
// shopLabel.name = mapData.parkArea[i].name;
// shopLabel.position.set(mapData.parkArea[i].xaxis >> 0, -1 * mapData.parkArea[i].yaxis >> 0, parseInt(mapData.parkArea[i].toHeight) + 1);
// this.labelObj.add(shopLabel);
// }
} }
} }
let mahc = this.Model_QM.MyParkShape(shapeArr, materials, parkHeight, borderColor); let mahc = this.Model_QM.MyParkShape(shapeArr, materials, parkHeight, borderColor);

7
src/components/Map/Map.vue

@ -90,8 +90,9 @@ function handleDetail() {
<style lang="scss" scoped> <style lang="scss" scoped>
#mapContainer { #mapContainer {
position: absolute; position: absolute;
width: 100vw;
height: 100vh;
right: 0;
width: 1432px;
height: 948px;
} }
.map-flex { .map-flex {
display: flex; display: flex;
@ -180,7 +181,6 @@ function handleDetail() {
position: absolute; position: absolute;
z-index: 500; z-index: 500;
width: 200px; width: 200px;
height: 110px;
visibility: hidden; visibility: hidden;
.circle { .circle {
@include fl(center); @include fl(center);
@ -204,7 +204,6 @@ function handleDetail() {
position: absolute; position: absolute;
z-index: 500; z-index: 500;
width: 200px; width: 200px;
height: 110px;
visibility: hidden; visibility: hidden;
.door { .door {
width: 200px; width: 200px;

13
src/composables/useGuideFilterShop.ts

@ -3,7 +3,7 @@ import { useRootStore } from '@/store/root'
import { hideMapDialog } from '@/composables/useInitMap' import { hideMapDialog } from '@/composables/useInitMap'
export const useGuideFilterShop = () => { export const useGuideFilterShop = () => {
const store = useRootStore() const store = useRootStore()
const { shopList } = toRefs(store)
const { shopList, specialIndustryList } = toRefs(store)
const areaName = ref('全部区域') //区域选中索引 const areaName = ref('全部区域') //区域选中索引
const floorIdx = ref(6) //楼层选中索引 const floorIdx = ref(6) //楼层选中索引
@ -32,7 +32,16 @@ export const useGuideFilterShop = () => {
// 筛选美食业态 // 筛选美食业态
function changeFoodShopList() { function changeFoodShopList() {
selectedShopList.value = shopList.value.filter(item => item.isSpecial)
selectedShopList.value = selectedShopList.value.filter(item => {
let flag = false
for (let i = 0; i < specialIndustryList.value.length; i++) {
if (specialIndustryList.value[i].content.industry_id === item.industryFatherCode) {
flag = true
break
}
}
return flag
})
} }
return { areaName, floorIdx, selectedShopList, changeFloor, changeArea, changeFoodShopList } return { areaName, floorIdx, selectedShopList, changeFloor, changeArea, changeFoodShopList }

9
src/composables/useInitConfigAndMallInfo.ts

@ -3,7 +3,7 @@ import { getConfig, getFacilitiesList, getWeather, getColumnBtn } from '@/http/a
import { getShopAndBuildingList } from '@/http/api/shop' import { getShopAndBuildingList } from '@/http/api/shop'
import { getDeviceInfo } from '@/http/api/building' import { getDeviceInfo } from '@/http/api/building'
import { getArtWorkList } from '@/http/api/art' import { getArtWorkList } from '@/http/api/art'
import { getShopListByFloor, getShopListByIndustry, getBrandInfo } from '@/http/api/brand'
import { getShopListByFloor, getShopListByIndustry, getBrandInfo, getSpecialIndustry } from '@/http/api/brand'
import Message from '@/base/Message/Message' import Message from '@/base/Message/Message'
export const useInitConfigAndMallInfo = async () => { export const useInitConfigAndMallInfo = async () => {
@ -23,7 +23,8 @@ export const useInitConfigAndMallInfo = async () => {
_shopListByIndustry, _shopListByIndustry,
_brandInfo, _brandInfo,
_artWorkList, _artWorkList,
_colomList
_colomList,
_specialList
] = await Promise.all([ ] = await Promise.all([
getDeviceInfo(), getDeviceInfo(),
getShopAndBuildingList(), getShopAndBuildingList(),
@ -33,7 +34,8 @@ export const useInitConfigAndMallInfo = async () => {
getShopListByIndustry(), getShopListByIndustry(),
getBrandInfo(), getBrandInfo(),
getArtWorkList(), getArtWorkList(),
getColumnBtn()
getColumnBtn(),
getSpecialIndustry()
]) ])
const { shopList, buildingList } = _shopAndBuilding.data const { shopList, buildingList } = _shopAndBuilding.data
@ -47,6 +49,7 @@ export const useInitConfigAndMallInfo = async () => {
store.SET_WEATHER(_weather.data) store.SET_WEATHER(_weather.data)
store.SET_ART_PLACE_LIST(_artWorkList.data) store.SET_ART_PLACE_LIST(_artWorkList.data)
store.SET_COLUMN_LIST(_colomList.data) store.SET_COLUMN_LIST(_colomList.data)
store.SET_SPECIAL_LIST(_specialList.data)
} catch (error) { } catch (error) {
Message({ text: '初始化数据失败', type: 'success' }) Message({ text: '初始化数据失败', type: 'success' })
} }

26
src/composables/useInitMap.ts

@ -19,6 +19,7 @@ export const useInitMap = async function () {
() => { () => {
store.SET_MAP_STATUS(true) store.SET_MAP_STATUS(true)
window.Map_QM.addEventListener('shop', onClickShop, false) window.Map_QM.addEventListener('shop', onClickShop, false)
window.Map_QM.addEventListener('art', onClickArt, false)
window.Map_QM.renderer.domElement.addEventListener('webglcontextlost', onContextLost) window.Map_QM.renderer.domElement.addEventListener('webglcontextlost', onContextLost)
const arr: string[] = [] const arr: string[] = []
window.Map_QM.util.allMap[0].buildArr.forEach((item: any) => { window.Map_QM.util.allMap[0].buildArr.forEach((item: any) => {
@ -34,7 +35,7 @@ export const useInitMap = async function () {
navPoint: device.value.location, navPoint: device.value.location,
angle: device.value.angle, angle: device.value.angle,
iconUrl: delPrefixOfFacilityList, iconUrl: delPrefixOfFacilityList,
artUrl: artPlaceList,
artUrl: artPlaceList.value,
mapData: data, mapData: data,
shopData: shopList.value.slice() shopData: shopList.value.slice()
} }
@ -60,6 +61,29 @@ function onClickShop(event: any) {
// } // }
} }
// 艺术装置点击
function onClickArt(event: any) {
const store = useRootStore()
if (event.data) {
const artWork: any = document.getElementById('artWorkInfo')
const poi = event.data.artData.content.point.split('_')
hideMapDialog()
window.Map_QM.addElementByNode(artWork, Number(poi[2]))
artWork.style.visibility = 'visible'
const floors = store.currentBuildingFloorsList.filter(item => item.floorOrder === Number(poi[1]))
const shop = {
shopCode: '',
shopName: event.data.artData.content.name,
shopNameEn: event.data.artData.content.nameEn,
floorOrder: floors[0].floorOrder,
floor: floors[0].floor,
logoUrl: '',
yaxis: Number(poi[2])
}
store.SET_SHOP(shop)
}
}
//地图弹框消失 //地图弹框消失
export function hideMapDialog() { export function hideMapDialog() {
window.shopInfo.style.visibility = 'hidden' window.shopInfo.style.visibility = 'hidden'

3
src/http/api/brand/index.ts

@ -8,3 +8,6 @@ export const getShopListByFloor = () => request<{ list: GroupList }>({ url: `${P
export const getShopListByIndustry = () => export const getShopListByIndustry = () =>
request<{ list: GroupList }>({ url: `${PREFIX.STATIC_URL}/JSON/getBrandShopListByIndustryId.json` }) request<{ list: GroupList }>({ url: `${PREFIX.STATIC_URL}/JSON/getBrandShopListByIndustryId.json` })
// 获取特殊业态
export const getSpecialIndustry = () => request<SpecialIndustry[]>({ url: `${PREFIX.STATIC_URL}/JSON/getSpecialIndustry.json` })

2
src/http/api/parking/index.ts

@ -3,7 +3,7 @@ import { getPrefixUrl } from '../../http'
import { PREFIX } from '@/enums' import { PREFIX } from '@/enums'
//找车 //找车
export const getFindCar = (license: string) => export const getFindCar = (license: string) =>
request<CarInfo>({ url: `${getPrefixUrl().interfaceUrl}/api/guide/v1/web/thirdParkRevision?plateId=${license}` })
request<CarInfo>({ url: `${getPrefixUrl().interfaceUrl}/guide/v1/web/thirdParkRevision?plateId=${license}` })
// 获取停车场信息 // 获取停车场信息
export const getParkInfo = () => request<ParkingInfo[]>({ url: `${PREFIX.STATIC_URL}/JSON/getParkInfo.json` }) export const getParkInfo = () => request<ParkingInfo[]>({ url: `${PREFIX.STATIC_URL}/JSON/getParkInfo.json` })

4
src/store/root/actions.ts

@ -25,6 +25,7 @@ export interface Actions {
SET_SHOP_MAP(shopMap: ShopMap): void SET_SHOP_MAP(shopMap: ShopMap): void
SET_ART_PLACE_LIST(list: ArtPlace[]): void SET_ART_PLACE_LIST(list: ArtPlace[]): void
SET_MAP_PARK_LIST(list: string[]): void SET_MAP_PARK_LIST(list: string[]): void
SET_SPECIAL_LIST(list: SpecialIndustry[]): void
} }
export type GenActions = CreateActions<Root, State, Actions> export type GenActions = CreateActions<Root, State, Actions>
@ -92,5 +93,8 @@ export const actions: GenActions = {
}, },
SET_MAP_PARK_LIST(list) { SET_MAP_PARK_LIST(list) {
this.mapParkList = list this.mapParkList = list
},
SET_SPECIAL_LIST(list) {
this.specialIndustryList = list
} }
} }

4
src/store/root/state.ts

@ -21,6 +21,7 @@ export interface State {
shopMap: ShopMap // 店铺code与店铺信息集合 shopMap: ShopMap // 店铺code与店铺信息集合
artPlaceList: ArtPlace[] // 艺术装置集合 artPlaceList: ArtPlace[] // 艺术装置集合
mapParkList: string[] // 停车位列表 mapParkList: string[] // 停车位列表
specialIndustryList: SpecialIndustry[] // 特殊业态列表
} }
export const state = (): State => ({ export const state = (): State => ({
@ -43,5 +44,6 @@ export const state = (): State => ({
is4K: true, is4K: true,
shopMap: {} as ShopMap, shopMap: {} as ShopMap,
artPlaceList: [], artPlaceList: [],
mapParkList: []
mapParkList: [],
specialIndustryList: []
}) })

8
src/types/industry.d.ts

@ -7,3 +7,11 @@ declare interface Industry {
industryList: Array<{ industryCode: string; industryName: string; shopNum: number }> industryList: Array<{ industryCode: string; industryName: string; shopNum: number }>
fileUrl?: string fileUrl?: string
} }
declare interface SpecialIndustry {
id: number
title: string
content: {
industry_id: string
}
}

2
src/views/Guide/ArtList.vue

@ -84,7 +84,7 @@ function show(item: Art, index: number) {
.lists { .lists {
display: grid; display: grid;
grid-template-columns: 1fr 1fr; grid-template-columns: 1fr 1fr;
gap: 24px;
gap: 12px 24px;
grid-auto-flow: row; grid-auto-flow: row;
.item { .item {
@include fl(flex-start, flex-start); @include fl(flex-start, flex-start);

Loading…
Cancel
Save