58 lines
1.5 KiB
PHP
58 lines
1.5 KiB
PHP
<?php
|
|
|
|
|
|
namespace addons\xilufitness\traits;
|
|
|
|
|
|
use addons\xilufitness\library\Aescbc;
|
|
|
|
trait BaseModel
|
|
{
|
|
|
|
/**
|
|
* 初始化操作
|
|
*/
|
|
protected function initialize(){
|
|
$class = get_class($this);
|
|
if (!isset(static::$initialized[$class])) {
|
|
static::$initialized[$class] = true;
|
|
static::init();
|
|
}
|
|
$this->append = array_merge($this->append ?? [],['xilufitness_urls']);
|
|
|
|
}
|
|
|
|
/**
|
|
* 未所有的图片自动添加链接
|
|
*/
|
|
public function getXilufitnessUrlsAttr($value,$data){
|
|
$values = [];
|
|
if(!empty($data)){
|
|
foreach ($data as $key => $val){
|
|
if(false !== strpos($key,'image')){
|
|
$values[$key] = cdnurl($val,true);
|
|
}
|
|
if(false !== strpos($key,'images')){
|
|
$image_list = array_filter(explode(',',$val));
|
|
foreach ($image_list as $kk => $vv){
|
|
$image_list[$kk] = cdnurl($vv,true);
|
|
}
|
|
$values[$key] = $image_list;
|
|
}
|
|
if(false !== strpos($key,'avatar')){
|
|
$values[$key] = !empty($val) ? cdnurl($val,true) : '';
|
|
}
|
|
}
|
|
}
|
|
return $values;
|
|
}
|
|
|
|
/**
|
|
* 主健加密
|
|
*/
|
|
public function getIdAttr($value,$data){
|
|
$value = $value ? $value : $data['id'] ?? '';
|
|
return urlencode(Aescbc::encryptWithOpenssl($value));
|
|
}
|
|
|
|
} |