appapi.php 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. <?php
  2. /**
  3. * FecShop file.
  4. *
  5. * @link http://www.fecshop.com/
  6. * @copyright Copyright (c) 2016 FecShop Software LLC
  7. * @license http://www.fecshop.com/license/
  8. */
  9. // 本文件在app/web/index.php 处引入。
  10. // fecshop - appfront 的核心模块
  11. $modules = [];
  12. foreach (glob(__DIR__ . '/modules/*.php') as $filename) {
  13. $modules = array_merge($modules, require($filename));
  14. }
  15. // 此处也可以重写fecshop的组件。供调用。
  16. $config = [
  17. 'modules'=>$modules,
  18. 'params' => [
  19. 'appName' => 'appapi',
  20. // 速度控制[120,60] 代表 60秒内最大访问120次,
  21. 'rateLimit' => [
  22. 'enable'=> false, # 是否开启?默认不开启速度控制。
  23. //'limit' => [120, 60],
  24. ],
  25. /**
  26. * 该配置用来设置:允许那些账户在appapi入口进行登录获取token
  27. * 1.apiUserAllow数组的值为空:代表默认是所有的后台用户
  28. * 2.apiUserAllow数组中设置了用户名(数组可以设置多个),那么,只有包含在这个数组中的用户,才可以用于appapi用户登录获取access-token。其他的账户获取token就会失败
  29. * 3.默认该数组为空,允许所有的appadmin的后台用户进行登录获取access-token
  30. */
  31. 'apiUserAllow' => [
  32. ],
  33. ],
  34. 'components' => [
  35. 'urlManager' => [
  36. 'class' => 'yii\web\UrlManager',
  37. 'rules' => [
  38. '' => 'v1/home/index',
  39. ],
  40. /*
  41. 'enablePrettyUrl' => true,
  42. 'enableStrictParsing' => true,
  43. 'showScriptName' => false,
  44. 'rules' => [
  45. //################
  46. //# Article Api ##
  47. //################
  48. // http://fecshop.appapi.fancyecommerce.com/v1/articles
  49. [
  50. 'class' => 'yii\rest\UrlRule',
  51. 'controller' => 'v1/article',
  52. // 默认开启复数,需要在url后面加一个s,譬如v1/article,默认访问为v1/articles
  53. // 如果为false,则url后面不需要加s,譬如v1/article,默认访问为v1/article ,
  54. //'pluralize' => false,
  55. ],
  56. // 这个设置是和复数没有任何关系的
  57. 'GET v1/articles/test' => 'v1/article/test',
  58. //#################
  59. //# Customer Api ##
  60. //#################
  61. [
  62. 'class' => 'yii\rest\UrlRule',
  63. 'controller' => 'v1/customer',
  64. // 默认开启复数,需要在url后面加一个s,譬如v1/article,默认访问为v1/articles
  65. // 如果为false,则url后面不需要加s,譬如v1/article,默认访问为v1/article ,
  66. //'pluralize' => false,
  67. ],
  68. //#################
  69. //# Category Api ##
  70. //#################
  71. [
  72. 'class' => 'yii\rest\UrlRule',
  73. 'controller' => 'v1/pcate',
  74. //'pluralize' => true,
  75. ],
  76. //#################
  77. //#Product Api ##
  78. //#################
  79. //
  80. //[
  81. // 'class' => 'yii\rest\UrlRule',
  82. // 'controller' => 'v1/product',
  83. // # 默认开启复数,需要在url后面加一个s,譬如v1/article,默认访问为v1/articles
  84. // # 如果为false,则url后面不需要加s,譬如v1/article,默认访问为v1/article ,
  85. // //'pluralize' => false,
  86. //],
  87. ////
  88. 'GET v1/products' => 'v1/product/customindex',
  89. 'POST v1/products' => 'v1/product/customcreate',
  90. 'GET v1/products/<product_id>' => 'v1/product/customview',
  91. 'PATCH v1/products/<product_id>' => 'v1/product/customupdate',
  92. 'PUT v1/products/<product_id>' => 'v1/product/customupdate',
  93. 'DELETE v1/products/<product_id>' => 'v1/product/customdelete',
  94. ],
  95. */
  96. ],
  97. 'request' => [
  98. 'class' => 'yii\web\Request',
  99. 'enableCookieValidation' => false,
  100. 'parsers' => [
  101. 'application/json' => 'yii\web\JsonParser',
  102. ],
  103. ],
  104. 'user' => [
  105. // 【默认】不开启速度限制的 User Model
  106. 'identityClass' => 'fecshop\models\mysqldb\AdminUser',
  107. // 开启速度限制的 User Model
  108. //'identityClass' => 'fecshop\models\mysqldb\adminUser\AdminUserAccessToken',
  109. //'enableAutoLogin' => true,
  110. // 关闭session
  111. 'enableSession' => false,
  112. ],
  113. 'errorHandler' => [
  114. 'errorAction' => 'site/error',
  115. ],
  116. ],
  117. ];
  118. // product 生产环境,errorHandler使用 AppserverErrorHandler
  119. if (YII_ENV_PROD) {
  120. $config['components']['errorHandler']['class'] = 'fecshop\components\AppserverErrorHandler';
  121. }
  122. return $config;