WechatMedia.php 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. <?php
  2. // +----------------------------------------------------------------------
  3. // | Niucloud-admin 企业快速开发的saas管理平台
  4. // +----------------------------------------------------------------------
  5. // | 官方网址:https://www.niucloud.com
  6. // +----------------------------------------------------------------------
  7. // | niucloud团队 版权所有 开源版本可自由商用
  8. // +----------------------------------------------------------------------
  9. // | Author: Niucloud Team
  10. // +----------------------------------------------------------------------
  11. namespace app\model\wechat;
  12. use app\dict\sys\WechatMediaDict;
  13. use core\base\BaseModel;
  14. /**
  15. * 微信素材管理
  16. * Class WechatMedia
  17. * @package app\model\wechat
  18. */
  19. class WechatMedia extends BaseModel
  20. {
  21. /**
  22. * 数据表主键
  23. * @var string
  24. */
  25. protected $pk = 'id';
  26. /**
  27. * 模型名称
  28. * @var string
  29. */
  30. protected $name = 'wechat_media';
  31. /**
  32. * @param $value
  33. * @param $data
  34. * @return mixed
  35. */
  36. public function getTypeNameAttr($value, $data)
  37. {
  38. if (empty($data['type']))
  39. return '';
  40. $temp = WechatMediaDict::getTypeList()[$data['type']] ?? [];
  41. return $temp['name'] ?? '';
  42. }
  43. /**
  44. * @param $query
  45. * @param $value
  46. * @return void
  47. */
  48. public function searchTypeAttr($query, $value) {
  49. if (!empty($value)) {
  50. $query->where([['type', '=', $value]]);
  51. }
  52. }
  53. public function getValueAttr($value, $data) {
  54. if ($data['type'] == WechatMediaDict::NEWS) {
  55. return json_decode($value, true);
  56. } else {
  57. return $value;
  58. }
  59. }
  60. }