<?php /* * @description: * @Date: 2022-09-26 20:27:01 * @LastEditTime: 2022-09-26 20:27:53 */ namespace app\model; use think\Model; class LinkModel extends Model { protected $name = "link"; protected $pk = "user_id"; protected $autoWriteTimestamp = "datetime"; protected $updateTime = "update_time"; protected $jsonAssoc = true; protected $json = ['link']; protected $WebApp = []; protected $card = []; public function __construct(array $data = []) { parent::__construct($data); $list = LinkStoreModel::where("app", 1)->select()->toArray(); $tmp = []; foreach ($list as $k => $v) { $tmp[$v['id']] = $v; } $this->WebApp = $tmp; } function getLinkAttr($value): array { foreach ($value as $k => &$v) { if (isset($v['app']) && $v['app'] == 1) { if (isset($v['origin_id']) && $v['origin_id'] > 0 && $v['type'] === 'icon') { if (isset($this->WebApp[(int)$v['origin_id']])) { $v['custom'] = $this->WebApp[(int)$v['origin_id']]['custom']; $v['url'] = $this->WebApp[(int)$v['origin_id']]['url']; $v['src'] = $this->WebApp[(int)$v['origin_id']]['src']; $v['name'] = $this->WebApp[(int)$v['origin_id']]['name']; $v['bgColor'] = $this->WebApp[(int)$v['origin_id']]['bgColor']; } } } } return (array)$value; } }