Config.php 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. <?php
  2. namespace app\admin\model\weixin;
  3. use think\Model;
  4. /**
  5. * 配置模型
  6. */
  7. class Config extends Model
  8. {
  9. // 表名,不含前缀
  10. protected $name = 'weixin_config';
  11. // 自动写入时间戳字段
  12. protected $autoWriteTimestamp = false;
  13. // 定义时间戳字段名
  14. protected $createTime = false;
  15. protected $updateTime = false;
  16. // 追加属性
  17. protected $append = [
  18. ];
  19. public function getExtendAttr($value, $data)
  20. {
  21. $result = preg_replace_callback("/\{([a-zA-Z]+)\}/", function ($matches) use ($data) {
  22. if (isset($data[$matches[1]])) {
  23. return $data[$matches[1]];
  24. }
  25. }, $data['extend']);
  26. return $result;
  27. }
  28. /**
  29. * 读取分类分组列表
  30. * @return array
  31. */
  32. public static function getGroupList()
  33. {
  34. //$groupList = json_decode('{"weixin":"公众号配置","xiaochengxu":"小程序配置(未实现)"}', true);
  35. $groupList = json_decode('{"weixin":"公众号配置"}', true);
  36. foreach ($groupList as $k => &$v) {
  37. $v = __($v);
  38. }
  39. return $groupList;
  40. }
  41. public static function getArrayData($data)
  42. {
  43. if (!isset($data['value'])) {
  44. $result = [];
  45. foreach ($data as $index => $datum) {
  46. $result['field'][$index] = $datum['key'];
  47. $result['value'][$index] = $datum['value'];
  48. }
  49. $data = $result;
  50. }
  51. $fieldarr = $valuearr = [];
  52. $field = isset($data['field']) ? $data['field'] : (isset($data['key']) ? $data['key'] : []);
  53. $value = isset($data['value']) ? $data['value'] : [];
  54. foreach ($field as $m => $n) {
  55. if ($n != '') {
  56. $fieldarr[] = $field[$m];
  57. $valuearr[] = $value[$m];
  58. }
  59. }
  60. return $fieldarr ? array_combine($fieldarr, $valuearr) : [];
  61. }
  62. /**
  63. * 将字符串解析成键值数组
  64. * @param string $text
  65. * @return array
  66. */
  67. public static function decode($text, $split = "\r\n")
  68. {
  69. $content = explode($split, $text);
  70. $arr = [];
  71. foreach ($content as $k => $v) {
  72. if (stripos($v, "|") !== false) {
  73. $item = explode('|', $v);
  74. $arr[$item[0]] = $item[1];
  75. }
  76. }
  77. return $arr;
  78. }
  79. /**
  80. * 将键值数组转换为字符串
  81. * @param array $array
  82. * @return string
  83. */
  84. public static function encode($array, $split = "\r\n")
  85. {
  86. $content = '';
  87. if ($array && is_array($array)) {
  88. $arr = [];
  89. foreach ($array as $k => $v) {
  90. $arr[] = "{$k}|{$v}";
  91. }
  92. $content = implode($split, $arr);
  93. }
  94. return $content;
  95. }
  96. /**
  97. * 本地上传配置信息
  98. * @return array
  99. */
  100. public static function upload()
  101. {
  102. $uploadcfg = config('upload');
  103. $upload = [
  104. 'cdnurl' => $uploadcfg['cdnurl'],
  105. 'uploadurl' => $uploadcfg['uploadurl'],
  106. 'bucket' => 'local',
  107. 'maxsize' => $uploadcfg['maxsize'],
  108. 'mimetype' => $uploadcfg['mimetype'],
  109. 'multipart' => [],
  110. 'multiple' => $uploadcfg['multiple'],
  111. ];
  112. return $upload;
  113. }
  114. }