徐总多门店
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
jiuhaoshenghuo/crmeb/basic/BaseMessage.php

152 lines
3.2 KiB

<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者,助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2020 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件,未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace crmeb\basic;
use think\facade\Config;
abstract class BaseMessage extends BaseStorage
{
/**
* 模板id
* @var array
*/
protected $templateIds = [];
/**
* openId
* @var string
*/
protected $openId;
/**
* 跳转链接
* @var string
*/
protected $toUrl;
/**
* 颜色
* @var string
*/
protected $color;
/**
* 初始化
* @param array $config
* @return mixed|void
*/
protected function initialize(array $config)
{
$this->templateIds = Config::get($this->configFile . '.stores.' . $this->name . '.template_id', []);
}
/**
* 是否记录日志
* @return mixed
*/
public function isLog()
{
$isLog = Config::get($this->configFile . 'isLog', false);
return Config::get($this->configFile . '.stores.' . $this->name . '.isLog', $isLog);
}
/**
* 获取模板id
* @return array
*/
public function getTemplateId()
{
return $this->templateIds;
}
/**
* openid
* @param string $openId
* @return $this
*/
public function to(string $openId)
{
$this->openId = $openId;
return $this;
}
/**
* 跳转路径
* @param string $url
* @return $this
*/
public function url(string $url)
{
$this->toUrl = $url;
return $this;
}
/**
* 设置背景颜色
* @param string $color
* @return $this
*/
public function color(?string $color)
{
$this->color = $color;
return $this;
}
/**
* 提取模板code
* @param string $templateId
* @return null
*/
protected function getTemplateCode(string $templateId)
{
return $this->templateIds[$templateId] ?? null;
}
/**
* 恢复默认值
*/
protected function clear()
{
$this->openId = null;
$this->toUrl = null;
$this->color = null;
}
/**
* 发送消息
* @param string $templateId
* @param array $data
* @return mixed
*/
abstract public function send(string $templateId, array $data = []);
/**
* 添加模板
* @param string $shortId
* @return mixed
*/
abstract public function add(string $shortId);
/**
* 删除模板
* @param string $templateId
* @return mixed
*/
abstract public function delete(string $templateId);
/**
* 获取所有模板
* @return mixed
*/
abstract public function list();
}