api.php 6.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201
  1. <?php
  2. $platform_id = Dever::input('set')['platform_id'] ?? 0;
  3. if (!$platform_id) {
  4. $platform_id = Dever::input('field')['platform_id'] ?? 0;
  5. }
  6. $platform = include('platform.php');
  7. $config = array
  8. (
  9. 'list' => array
  10. (
  11. 'where' => array('platform_id' => $platform_id),
  12. 'field' => array
  13. (
  14. //'id',
  15. 'sort' => 'input',
  16. 'name',
  17. 'uri',
  18. 'env',
  19. 'platform_id',
  20. 'status' => array
  21. (
  22. 'type' => 'switch',
  23. 'show' => '{status}',
  24. 'active_value' => 1,
  25. 'inactive_value' => 2,
  26. ),
  27. ),
  28. 'data_button' => array
  29. (
  30. '设置' => array('edit', array('platform_id' => $platform_id)),
  31. //'删除' => 'delete',
  32. '复制' => array('api', 'api/manage.copyApi'),
  33. ),
  34. 'button' => array
  35. (
  36. '新增' => array('fastadd', array('platform_id' => $platform_id, 'field' => 'name,env,platform_id,uri')),
  37. ),
  38. 'search' => array
  39. (
  40. 'platform_id' => array
  41. (
  42. 'type' => 'hidden',
  43. 'default' => $platform_id,
  44. ),
  45. 'name',
  46. 'uri',
  47. 'status',
  48. ),
  49. ),
  50. 'update' => array
  51. (
  52. 'end' => 'api/app.updateApi',
  53. 'desc' => $platform['update']['desc'],
  54. 'tab' => array
  55. (
  56. '基本设置' => 'name,env,api/api_setting',
  57. '请求地址' => 'uri,method,post_method,api/api_path,api/api_query',
  58. '请求参数' => 'api/api_request_header,api/api_request_body',
  59. '响应参数' => 'api/api_response_header,api/api_response_body',
  60. '存储设置' => 'api/api_save',
  61. '回调设置' => 'notify,api/api_notify,api/api_notify_body,api/api_notify_code',
  62. //'价格设置' => 'spec_type,api/sku,api/sku#',
  63. //'输入输出' => 'api/api_request_input,api/api_request_output',
  64. ),
  65. 'field' => array
  66. (
  67. 'name',
  68. 'env' => 'radio',
  69. 'platform_id' => array
  70. (
  71. 'desc' => '【提交后不能更改】',
  72. ),
  73. 'uri',
  74. 'api/api_path' => array
  75. (
  76. 'name' => '接口路径',
  77. 'where' => array('api_id' => 'id'),
  78. 'desc' => '填写接口上的路径path参数',
  79. ),
  80. 'api/api_query' => array
  81. (
  82. 'name' => '接口查询参数',
  83. 'where' => array('api_id' => 'id'),
  84. 'desc' => '填写接口上的query参数',
  85. ),
  86. 'api/api_setting' => array
  87. (
  88. 'name' => '基础参数',
  89. 'where' => array('api_id' => 'id'),
  90. 'desc' => '设置仅限该接口使用的参数,用于定义一些特殊的参数',
  91. ),
  92. 'method' => array
  93. (
  94. 'type' => 'radio',
  95. 'control' => true,
  96. ),
  97. 'post_method' => array
  98. (
  99. 'type' => 'radio',
  100. 'show' => false,
  101. ),
  102. 'api/api_request_body' => array
  103. (
  104. 'name' => '请求体',
  105. 'where' => array('api_id' => 'id'),
  106. ),
  107. 'api/api_request_header' => array
  108. (
  109. 'name' => '请求头',
  110. 'where' => array('api_id' => 'id'),
  111. ),
  112. 'api/api_response_body' => array
  113. (
  114. 'name' => '响应体',
  115. 'desc' => '填写后,平台中的标准响应体将失效,并且只保留填写后的响应体,格式:data[].name,不是列表则为data.name',
  116. 'where' => array('api_id' => 'id'),
  117. ),
  118. 'api/api_response_header' => array
  119. (
  120. 'name' => '响应头',
  121. 'desc' => '填写后,平台中的标准响应头将失效,不填写不保留响应头,格式:data[].name,不是列表则为data.name',
  122. 'where' => array('api_id' => 'id'),
  123. ),
  124. 'api/api_save' => array
  125. (
  126. 'name' => '存储设置',
  127. 'desc' => '用于将响应数据保存到数据表中,该数据表最好有api_id(int)和request_id(varchar)字段,用于区分是哪个接口哪次请求,当然也可以没有',
  128. 'where' => array('api_id' => 'id'),
  129. ),
  130. 'notify' => array
  131. (
  132. 'type' => 'radio',
  133. 'control' => true,
  134. ),
  135. /*
  136. #也可以这样设置
  137. 'api/api_notify#' => array
  138. (
  139. 'field' => 'sign_arg',
  140. 'name' => '签名参数',
  141. 'where' => array('api_id' => 'id'),
  142. ),
  143. 'api/api_notify##' => array
  144. (
  145. 'field' => 'sign_id',
  146. 'name' => '签名',
  147. 'where' => array('api_id' => 'id'),
  148. ),*/
  149. 'api/api_notify' => array
  150. (
  151. 'name' => '基本设置',
  152. 'where' => array('api_id' => 'id'),
  153. 'default' => array(array()),
  154. # 默认使用表格形式展示,可以改成每行展示
  155. #'type' => 'line',
  156. ),
  157. 'api/api_notify_body' => array
  158. (
  159. 'name' => '参数设置',
  160. 'where' => array('api_id' => 'id'),
  161. ),
  162. 'api/api_notify_code' => array
  163. (
  164. 'name' => '状态码',
  165. 'where' => array('api_id' => 'id'),
  166. ),
  167. ),
  168. 'control' => array
  169. (
  170. 'post_method' => array
  171. (
  172. 'method' => 2,
  173. ),
  174. 'api/api_notify' => array
  175. (
  176. 'notify' => 1,
  177. ),
  178. 'api/api_notify_body' => array
  179. (
  180. 'notify' => 1,
  181. ),
  182. 'api/api_notify_code' => array
  183. (
  184. 'notify' => 1,
  185. ),
  186. ),
  187. ),
  188. );
  189. $id = Dever::input('id');
  190. if (!$id) {
  191. unset($config['update']['tab']);
  192. }
  193. return $config;