routes.js 8.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451
  1. const routes = [
  2. /**********************************
  3. * Tab 页面
  4. *********************************/
  5. {
  6. name: '首页',
  7. page: 'pages/index/index',
  8. pkg: 'main',
  9. isTab: true,
  10. type: 'main',
  11. shortcut: {
  12. chat: false,
  13. consultant: true,
  14. },
  15. // auth: ['phone', 'avatar']
  16. },
  17. {
  18. name: '视频',
  19. page: 'pages/video/index',
  20. pkg: 'main',
  21. isTab: true,
  22. type: 'video',
  23. },
  24. {
  25. name: '消息',
  26. page: 'pages/chat/index',
  27. pkg: 'main',
  28. isTab: true,
  29. type: 'chat',
  30. auth: ['page', 'avatar'],
  31. },
  32. {
  33. name: '我是',
  34. page: 'pages/mine/index',
  35. pkg: 'main',
  36. isTab: true,
  37. type: 'mine',
  38. auth: ['page', 'avatar'],
  39. },
  40. // 聊天
  41. {
  42. name: '聊天',
  43. page: 'pages/chat/chatDetail/index',
  44. pkg: 'main',
  45. type: 'chat',
  46. auth: ['phone', 'avatar'],
  47. },
  48. // /********************************
  49. // * 项目相关
  50. // *******************************/
  51. {
  52. name: '定位',
  53. page: 'pages/index/location/index',
  54. pkg: 'main',
  55. type: 'other',
  56. },
  57. {
  58. name: '帮我找房',
  59. page: 'pages/index/helpToFindHouse/index',
  60. pkg: 'main',
  61. type: 'building',
  62. },
  63. {
  64. name: '地图找房',
  65. page: 'pages/index/findHouseFromMap/index',
  66. pkg: 'main',
  67. type: 'building',
  68. },
  69. {
  70. name: '楼盘搜索',
  71. page: 'pages/index/buildingSearch/index',
  72. pkg: 'main',
  73. type: 'building',
  74. },
  75. {
  76. name: '楼盘列表',
  77. page: 'pages/index/buildingList/index',
  78. pkg: 'main',
  79. type: 'building',
  80. },
  81. {
  82. name: '楼盘详情',
  83. page: 'pages/index/buildingDetail/index',
  84. pkg: 'main',
  85. type: 'building',
  86. // auth: ['phone', 'avatar'],
  87. shortcut: {
  88. chat: false,
  89. consultant: true,
  90. },
  91. },
  92. {
  93. name: '全景看房',
  94. page: 'pages/index/panoramaChecking/index',
  95. pkg: 'main',
  96. type: 'building',
  97. },
  98. {
  99. name: '楼盘信息',
  100. page: 'pages/index/buildingInfo/index',
  101. pkg: 'main',
  102. type: 'building',
  103. },
  104. {
  105. name: '围观记录',
  106. page: 'pages/index/buildingViewsRecords/index',
  107. pkg: 'main',
  108. type: 'building',
  109. },
  110. {
  111. name: '置业顾问',
  112. page: 'pages/index/buildingPropertyConsultant/index',
  113. pkg: 'main',
  114. type: 'building',
  115. },
  116. {
  117. name: '相册图片',
  118. page: 'pages/index/buildingPictures/index',
  119. pkg: 'main',
  120. type: 'building',
  121. },
  122. {
  123. name: '报备规则',
  124. page: 'pages/index/buildingRules/index',
  125. pkg: 'main',
  126. type: 'building',
  127. },
  128. {
  129. name: '一键带看',
  130. page: 'pages/index/buildingTakeLook/index',
  131. pkg: 'main',
  132. type: 'building',
  133. auth: ['phone', 'avatar'],
  134. },
  135. {
  136. name: '项目动态',
  137. page: 'pages/index/buildingDynamic/index',
  138. pkg: 'main',
  139. type: 'building',
  140. },
  141. {
  142. name: '周边设施',
  143. page: 'pages/index/buildingAround/index',
  144. pkg: 'main',
  145. type: 'building',
  146. },
  147. {
  148. name: '品牌列表',
  149. page: 'pages/index/brandList/index',
  150. pkg: 'main',
  151. type: 'building',
  152. },
  153. {
  154. name: '品牌专题',
  155. page: 'pages/index/brandDetail/index',
  156. pkg: 'main',
  157. type: 'building',
  158. },
  159. {
  160. name: '增值服务',
  161. page: 'pages/index/addedValueService/index',
  162. pkg: 'main',
  163. type: 'building',
  164. },
  165. {
  166. name: '活动列表',
  167. page: 'pages/index/activityList/index',
  168. pkg: 'main',
  169. type: 'activity',
  170. // auth: ['phone', 'avatar'],
  171. },
  172. {
  173. name: '活动详情',
  174. page: 'pages/index/activityDetail/index',
  175. pkg: 'main',
  176. type: 'activity',
  177. auth: ['phone', 'avatar'],
  178. },
  179. {
  180. name: '特价房',
  181. page: 'pages/index/specialPriceHouse/index',
  182. pkg: 'main',
  183. type: 'building',
  184. auth: ['phone', 'avatar'],
  185. },
  186. {
  187. name: '免责声明',
  188. page: 'pages/index/disclaimer/index',
  189. pkg: 'main',
  190. type: 'building',
  191. },
  192. {
  193. name: '康养',
  194. page: 'pages/index/recovered/index',
  195. pkg: 'main',
  196. type: 'other',
  197. },
  198. {
  199. name: '文旅商办',
  200. page: 'pages/index/culturalAndBusiness/index',
  201. pkg: 'main',
  202. type: 'building',
  203. },
  204. {
  205. name: '资讯',
  206. page: 'pages/index/newsList/index',
  207. pkg: 'main',
  208. type: 'news',
  209. },
  210. {
  211. name: '资讯详情',
  212. page: 'pages/index/newsDetail/index',
  213. pkg: 'main',
  214. type: 'news',
  215. },
  216. {
  217. name: '购房百科',
  218. page: 'pages/index/encyclopediasOfBuyHouse/index',
  219. pkg: 'main',
  220. type: 'building',
  221. },
  222. {
  223. name: '百科详情',
  224. page: 'pages/index/encyDetail/index',
  225. pkg: 'main',
  226. type: 'building',
  227. },
  228. {
  229. name: '课程详情',
  230. page: 'pages/index/courseDetail/index',
  231. pkg: 'main',
  232. type: 'curriculum',
  233. },
  234. //视频
  235. {
  236. name: '直播活动',
  237. page: 'pages/video/liveDetail/index',
  238. pkg: 'main',
  239. type: 'video',
  240. },
  241. {
  242. name: '视频详情',
  243. page: 'pages/video/videoDetail/index',
  244. pkg: 'main',
  245. type: 'video',
  246. },
  247. // 我的
  248. {
  249. name: '我的推广码',
  250. page: 'pages/mine/myRecommendCode/index',
  251. pkg: 'main',
  252. type: 'mine',
  253. // auth: ['phone'],
  254. },
  255. {
  256. name: '房贷计算器',
  257. page: 'pages/mine/mortgageCalc/index',
  258. pkg: 'main',
  259. type: 'other',
  260. },
  261. {
  262. name: '基本信息',
  263. page: 'pages/mine/userInfo/index',
  264. pkg: 'main',
  265. type: 'mine',
  266. auth: ['phone', 'avatar'],
  267. },
  268. {
  269. name: '成为驻场管理',
  270. page: 'pages/mine/toBeManager/index',
  271. pkg: 'main',
  272. type: 'mine',
  273. // auth: ['phone'],
  274. },
  275. {
  276. name: '成为合伙人',
  277. page: 'pages/mine/toBeAgent/index',
  278. pkg: 'main',
  279. type: 'mine',
  280. // auth: ['phone'],
  281. },
  282. {
  283. name: '我的分享',
  284. page: 'pages/mine/myShare/index',
  285. pkg: 'main',
  286. type: 'mine',
  287. },
  288. {
  289. name: '我的课堂',
  290. page: 'pages/mine/myCourse/index',
  291. pkg: 'main',
  292. type: 'curriculum',
  293. // auth: ['phone'],
  294. },
  295. {
  296. name: '我的活动',
  297. page: 'pages/mine/myActivity/index',
  298. pkg: 'main',
  299. type: 'activity',
  300. },
  301. {
  302. name: '我的客户',
  303. page: 'pages/mine/myCustomer/index',
  304. pkg: 'main',
  305. type: 'mine',
  306. // auth: ['phone'],
  307. },
  308. {
  309. name: '客户详情',
  310. page: 'pages/mine/myCustomerDetail/index',
  311. pkg: 'main',
  312. type: 'mine',
  313. // auth: ['phone'],
  314. },
  315. {
  316. name: '操作人员',
  317. page: 'pages/mine/myCustomerForOperator/index',
  318. pkg: 'main',
  319. type: 'mine',
  320. // auth: ['phone'],
  321. },
  322. {
  323. name: '跟进记录',
  324. page: 'pages/mine/myCustomerForRecord/index',
  325. pkg: 'main',
  326. type: 'mine',
  327. // auth: ['phone'],
  328. },
  329. {
  330. name: '我的收藏',
  331. page: 'pages/mine/myCollect/index',
  332. pkg: 'main',
  333. type: 'mine',
  334. },
  335. {
  336. name: '合作渠道',
  337. page: 'pages/channel/partnerChannel/index',
  338. pkg: 'subpackages',
  339. type: 'mine',
  340. // auth: ['phone'],
  341. },
  342. {
  343. name: '添加客户',
  344. page: 'pages/mine/addCustomer/index',
  345. pkg: 'main',
  346. type: 'mine',
  347. // auth: ['phone'],
  348. },
  349. {
  350. name: '驻场管理',
  351. page: 'pages/marketing/residentManager/index',
  352. pkg: 'subpackages',
  353. type: 'mine',
  354. // auth: ['phone'],
  355. },
  356. {
  357. name: '确认到访',
  358. page: 'pages/marketing/sureVisit/index',
  359. pkg: 'subpackages',
  360. type: 'mine',
  361. // auth: ['phone'],
  362. },
  363. {
  364. name: '变更交易节点',
  365. page: 'pages/marketing/changeVisit/index',
  366. pkg: 'subpackages',
  367. type: 'mine',
  368. // auth: ['phone'],
  369. },
  370. {
  371. name: '盘客工具',
  372. page: 'pages/consultant/statCustomer/index',
  373. pkg: 'subpackages',
  374. type: 'mine',
  375. // auth: ['phone'],
  376. },
  377. {
  378. name: '客户信息',
  379. page: 'pages/mine/customerDetail/index',
  380. pkg: 'main',
  381. type: 'mine',
  382. // auth: ['phone'],
  383. },
  384. {
  385. name: '客户分析',
  386. page: 'pages/consultant/customerAnalyse/index',
  387. pkg: 'subpackages',
  388. type: 'mine',
  389. // auth: ['phone'],
  390. },
  391. {
  392. name: '个人主页',
  393. page: 'pages/consultant/myHomepage/index',
  394. pkg: 'subpackages',
  395. type: 'card',
  396. // auth: ['phone'],
  397. },
  398. {
  399. name: '意见反馈',
  400. page: 'pages/mine/feedBack/index',
  401. pkg: 'main',
  402. type: 'mine',
  403. },
  404. {
  405. name: '全景图',
  406. page: 'pages/index/webview/index',
  407. pkg: 'main',
  408. type: 'other',
  409. },
  410. ]
  411. /**
  412. * 获取 app pages 列表
  413. */
  414. function getPages() {
  415. const grp = routes.reduce((g, r) => {
  416. const { pkg, page } = r
  417. const pg = g[pkg] || []
  418. return Object.assign(g, {
  419. [`${pkg}`]: pg.concat(page),
  420. })
  421. }, {});
  422. const pages = grp.main;
  423. const subPackages = Object.keys(grp).filter(x => x !== 'main').reduce(((pkg, key) => {
  424. return pkg.concat({
  425. root: key,
  426. pages: grp[key],
  427. })
  428. }),[])
  429. return {
  430. pages,
  431. subPackages,
  432. }
  433. }
  434. // eslint-disable-next-line import/no-commonjs
  435. module.exports = {
  436. routes,
  437. getPages,
  438. };