config.js 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. /* eslint-disable spaced-comment */
  2. /********************* 1.项目常量定义 **********************/
  3. class Hotax {};
  4. // 资源类型 <视频|音频|直播|图片>
  5. Hotax.RESOURCE_VIDEO = 0;
  6. Hotax.RESOURCE_AUDIO = 1;
  7. Hotax.RESOURCE_LIVE = 2;
  8. Hotax.RESOURCE_IMAGE = 3;
  9. // 清晰度类型 <流畅|标清|高清|超清>
  10. Hotax.QUALITY_FLUENT = 'fluent';
  11. Hotax.QUALITY_STANDARD = 'standard';
  12. Hotax.QUALITY_HIGH = 'high';
  13. Hotax.QUALITY_SUPERCLEAR = 'superclear';
  14. // 产品类型 <课|课程|配套|师训|课程包>
  15. Hotax.PRODUCT_LESSON = 'LESSON';
  16. Hotax.PRODUCT_COURSE = 'COURSE';
  17. Hotax.PRODUCT_SUPPORT = 'SUPPORT';
  18. Hotax.PRODUCT_TRAINING = 'TRAINING';
  19. Hotax.PRODUCT_PACKAGE = 'PACKAGE';
  20. // 删除状态 <正常|删除>
  21. Hotax.STATUS_NORMAL = 'NORMAL';
  22. Hotax.STATUS_DELETE = 'DEL';
  23. // 订单状态 <待支付|已作废|已支付|待发货|已发货|待收货|已收货|待退款|已完成>
  24. Hotax.ORDER_UNPAID = 'UNPAID';
  25. Hotax.ORDER_CANCEL = 'CANCEL';
  26. Hotax.ORDER_PAYOK = 'PAYOK';
  27. Hotax.ORDER_FORSEND = 'FORSEND';
  28. Hotax.ORDER_SENT = 'SENT';
  29. Hotax.ORDER_RECEIVED = 'RECEIVED';
  30. Hotax.ORDER_REFUND = 'REFUND';
  31. Hotax.ORDER_COMPLETE = 'COMPLETE';
  32. // 拆单状态 <已拆单|不需拆单|未拆单>
  33. Hotax.ORDER_SPLITED = 'YES';
  34. Hotax.ORDER_UNSPLIT = 'UN';
  35. Hotax.ORDER_NOSPLIT = 'NO';
  36. // 商品类型 <虚拟|实体>
  37. Hotax.GOODS_VIRTUAL = 'VIRTUAL';
  38. Hotax.GOODS_ENTITY = 'ENTITY';
  39. // 平台代号 <供应商|平台方|渠道方>
  40. Hotax.DOMAIN_CP = 1010;
  41. Hotax.DOMAIN_LJ = 2010;
  42. Hotax.DOMAIN_PJ = 3010;
  43. // 计价单位及时长
  44. Hotax.CHARGE_UNIT_SEASON = '季';
  45. Hotax.CHARGE_UNIT_HALF_YEAR = '半年';
  46. Hotax.CHARGE_UNIT_YEAR = '年';
  47. Hotax.CHARGE_UNIT_ITEM = '件';
  48. Hotax.CHARGE_UNIT_DAY = '天';
  49. Hotax.DURATION_SEASON = 90;
  50. Hotax.DURATION_HALF_YEAR = 180;
  51. Hotax.DURATION_YEAR = 365;
  52. Hotax.DURATION_DAY = 1;
  53. Hotax.DURATION_ITEM = 0;
  54. // 账号的绑定状态
  55. Hotax.ACCOUNT_BINDING = 1;
  56. Hotax.ACCOUNT_UNBOUND = 0;
  57. // 分页大小
  58. Hotax.PAGE_SIZE = 20;
  59. // 上传文件最大尺寸
  60. Hotax.FILE_MAX_SIZE = 5; // Index max size should below 5M
  61. // 项目名称
  62. Hotax.PROJECT_NAME = 'Hotax';
  63. // 版权声明
  64. Hotax.CopyRight = '2017-2020 领教信息科技有限公司';
  65. // 接口地址(本地)
  66. Hotax.API_HOST_LOC = 'http://192.168.1.40:8500';
  67. // 接口地址(测试)
  68. Hotax.API_HOST_DEV = 'http://tt-cms.api.ai160.com';
  69. // 接口地址(线上)
  70. Hotax.API_HOST_PRO = 'http://cms.lingjiao.cn/api/v1';
  71. // oss存储地址
  72. Hotax.OSS_HOST = 'http://efunimgs.oss-cn-beijing.aliyuncs.com';
  73. /********************* 常量定义结束 **********************/
  74. /********************* 2.接口路径定义 **********************/
  75. const apiObj = {
  76. userLogin: '/login',
  77. userLogout: '/logout',
  78. resource: '/resource/list',
  79. resourceItem: '/resource',
  80. signature: '/oss/signature',
  81. merchant: '/merchant/list',
  82. merchantItem: '/merchant',
  83. recommend: '/merchant/recommend',
  84. poster: '/merchant/poster',
  85. posterItem: '/poster',
  86. deposit: '/money/charge',
  87. campus: '/campus/list',
  88. campusItem: '/campus',
  89. terminal: '/user/list',
  90. terminalItem: '/user',
  91. terminalUnbound: '/device/unbind',
  92. specialTerminal: '/white/user/list',
  93. specialTerminalItem: '/white/user',
  94. cmsUser: '/cms/user/list',
  95. cmsUserItem: '/cms/user',
  96. courseware: '/ware/list',
  97. coursewareItem: '/ware',
  98. lesson: '/lesson/list',
  99. lessonItem: '/lesson',
  100. tagGroup: '/group/list',
  101. tagGroupItem: '/group',
  102. tagType: '/tagType/list',
  103. tagTypeItem: '/tagType',
  104. tag: '/tag/list',
  105. tagItem: '/tag',
  106. product: '/product',
  107. items: '/merchant/product',
  108. itemDetail: '/merchant/product/detail',
  109. itemCreate: '/merchant/product/status',
  110. itemBindTags: '/merchant/product/tags',
  111. itemBindPrices: '/goods',
  112. shopCart: '/buymsg/list',
  113. order: '/order',
  114. subOrder: '/order/detail',
  115. orderPay: '/order/pay',
  116. orderSend: '/order/send',
  117. orderReceive: '/order/receive',
  118. snapshot: '/order/snapshot',
  119. configUser: '/user/userTag/uid',
  120. configUserTag: '/userTag',
  121. configCourse: '/user/userRecommend/uid',
  122. copyTag: '/userTag/copy',
  123. };
  124. /**
  125. * 将api路径转化为绝对地址
  126. * @return {Object} 绝对地址
  127. */
  128. function apiFormatter() {
  129. // 根据环境变量选取接口地址
  130. let prefix = '';
  131. if (process.env.API === 'LOC') {
  132. prefix = Hotax.API_HOST_LOC;
  133. } else if (process.env.API === 'PRO') {
  134. prefix = Hotax.API_HOST_PRO;
  135. } else {
  136. prefix = Hotax.API_HOST_DEV;
  137. }
  138. // 生成接口绝对地址
  139. const newApiObj = {};
  140. Object.keys(apiObj).forEach((apiKey) => {
  141. newApiObj[apiKey] = prefix + apiObj[apiKey];
  142. });
  143. return newApiObj;
  144. }
  145. const api = apiFormatter();
  146. /********************* 接口定义结束 **********************/
  147. export { Hotax, api };