| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 | <?phpnamespace addons\unishop\model;use think\Cache;use think\Model;class Config extends Model{    // 表名    protected $name = 'unishop_config';    // 开启自动写入时间戳字段    protected $autoWriteTimestamp = 'int';    // 定义时间戳字段名    protected $createTime = 'createtime';    protected $updateTime = 'updatetime';    /**     * 获取系统配置     * @param $name     * @return mixed|\think\db\Query     */    public static function getByName($name)    {        if (Cache::has('configGetByName_'. $name)) {            $config = Cache::get('configGetByName_'. $name);        } else {            $config = parent::__callStatic('getByName', [$name]);            $expire = self::__callStatic('getByName', ['cache_expire'])['value'];            Cache::set('configGetByName_'. $name, $config, $expire);        }        return $config;    }    /**     * 判断当前是不是使用悲观锁     * @return bool     */    public static function isPessimism()    {        return self::getByName('lock')['value'] == 'pessimism' ? true : false;    }    /**     * 获取图片完整连接     */    public static function getImagesFullUrl($value = '')    {        if (stripos($value, 'http') === 0 || $value === '' || stripos($value, 'data:image') === 0) {            return $value;        } else {            $upload = \think\Config::get('upload');            if (!empty($upload['cdnurl'])) {                return  $upload['cdnurl'] . $value;            } else {                $http_type = ((isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] == 'on') || (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')) ? 'https://' : 'http://';                return $http_type . $_SERVER['HTTP_HOST'] . $value;            }        }    }    /**     * 时间戳 - 精确到毫秒     * @return float     */    public static function getMillisecond() {        list($t1, $t2) = explode(' ', microtime());        return (float)sprintf('%.0f',(floatval($t1)+floatval($t2))*1000);    }}
 |