| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 | 
							- <?php
 
- namespace App\Models;
 
- use Illuminate\Database\Eloquent\Model;
 
- use Illuminate\Database\Eloquent\SoftDeletes;
 
- use Illuminate\Support\Facades\Cache;
 
- /**
 
-  * App\Models\Config
 
-  *
 
-  * @property int $id
 
-  * @property int $type_id config_types.id
 
-  * @property string $name 配置名称
 
-  * @property string $alias 别名
 
-  * @property string $value 配置值
 
-  * @property int $listorder 排序
 
-  * @property string $input_type 组件类型
 
-  * @property string $default_value 默认值
 
-  * @property string|null $option_values 提供的选择项:json对象{"name":"value"}
 
-  * @property string|null $tips 帮助信息
 
-  * @property string|null $placeholder placeholder
 
-  * @property string|null $rules 验证规则
 
-  * @property string|null $rule_messages 验证错误信息json对象
 
-  * @property \Illuminate\Support\Carbon|null $created_at
 
-  * @property \Illuminate\Support\Carbon|null $updated_at
 
-  * @property string|null $deleted_at
 
-  * @method static bool|null forceDelete()
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config newModelQuery()
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config newQuery()
 
-  * @method static \Illuminate\Database\Query\Builder|\App\Models\Config onlyTrashed()
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config query()
 
-  * @method static bool|null restore()
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereAlias($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereCreatedAt($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereDefaultValue($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereDeletedAt($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereId($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereInputType($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereListorder($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereName($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereOptionValues($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config wherePlaceholder($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereRuleMessages($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereRules($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereTips($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereTypeId($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereUpdatedAt($value)
 
-  * @method static \Illuminate\Database\Eloquent\Builder|\App\Models\Config whereValue($value)
 
-  * @method static \Illuminate\Database\Query\Builder|\App\Models\Config withTrashed()
 
-  * @method static \Illuminate\Database\Query\Builder|\App\Models\Config withoutTrashed()
 
-  * @mixin \Eloquent
 
-  */
 
- class Config extends Model
 
- {
 
-     use SoftDeletes;
 
-     public function getOptionValuesAttribute($value)
 
-     {
 
-         if (empty($value)) {
 
-             return [];
 
-         }
 
-         if (is_null(json_decode($value, true))) {
 
-             return $value;
 
-         }
 
-         return json_decode($value, true);
 
-     }
 
-     public function getRuleMessagesAttribute($value)
 
-     {
 
-         return json_decode($value, true)?:[];
 
-     }
 
-     public static function buildConfig()
 
-     {
 
-         $types=ConfigType::where('parent', 0)->get();
 
-         $configs=[];
 
-         foreach ($types as $type) {
 
-             $configs[$type->alias]=[];
 
-             foreach ($type->subTypes as $secondType) {
 
-                 $configs[$type->alias][$secondType->alias]=[];
 
-                 foreach ($secondType->subTypes as $thirdType) {
 
-                     $configs[$type->alias][$secondType->alias][$thirdType->alias]=[];
 
-                     foreach ($thirdType->configs as $config) {
 
-                         $configs[$type->alias][$secondType->alias][$thirdType->alias][$config->alias]
 
-                             =$config->value?:$config->default_value;
 
-                     }
 
-                 }
 
-             }
 
-         }
 
-         Cache::set('system_config', $configs);
 
-         config($configs);
 
-         return $configs;
 
-     }
 
- }
 
 
  |