| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131 |
- <?php
- // +----------------------------------------------------------------------
- // | LARAVEL8.0 框架 [ LARAVEL ][ RXThinkCMF ]
- // +----------------------------------------------------------------------
- // | 版权所有 2017~2021 LARAVEL研发中心
- // +----------------------------------------------------------------------
- // | 官方网站: http://www.laravel.cn
- // +----------------------------------------------------------------------
- // | Author: laravel开发员 <laravel.qq.com>
- // +----------------------------------------------------------------------
- namespace App\Services\Common;
- use App\Models\SocialCirclesModel;
- use App\Services\BaseService;
- /**
- * 生活圈推荐应用-服务类
- * @author laravel开发员
- * @since 2024/12/28
- * Class SocialCirclesService
- * @package App\Services\Common
- */
- class SocialCirclesService extends BaseService
- {
- /**
- * 构造函数
- * @author laravel开发员
- * @since 2024/12/28
- * SocialCirclesService constructor.
- */
- public function __construct()
- {
- $this->model = new SocialCirclesModel();
- }
- /**
- * 添加或编辑
- * @return array
- * @since 2024/12/28
- * @author laravel开发员
- */
- public function edit()
- {
- $data = request()->all();
- // 图片处理:将完整URL转换为相对路径
- if (isset($data['logo'])) {
- if (empty($data['logo'])) {
- // 空值保存为空字符串
- $data['logo'] = '';
- } else {
- // 转换完整URL为相对路径
- $imagePath = get_image_path($data['logo']);
- // get_image_path返回false时也保存为空字符串
- $data['logo'] = $imagePath !== false ? $imagePath : '';
- }
- } else {
- $data['logo'] = '';
- }
- // 如果是Web类型,确保有链接地址
- if (isset($data['link_type']) && $data['link_type'] == 1) {
- if (empty($data['link_url'])) {
- return message('Web类型必须填写链接地址', false);
- }
- }
- // 如果是小程序类型,确保有app_id
- if (isset($data['link_type']) && $data['link_type'] == 2) {
- if (empty($data['app_id'])) {
- return message('小程序类型必须填写AppID', false);
- }
- }
- return parent::edit($data);
- }
- /**
- * 获取详情信息(编辑时使用,保持logo相对路径)
- */
- public function info()
- {
- $id = request()->input("id", 0);
- $info = [];
- if ($id) {
- // 传入false参数,保持logo相对路径,供上传组件使用
- $info = $this->model->getInfo($id, true);
- }
- return message(MESSAGE_OK, true, $info);
- }
- /**
- * 获取列表数据(列表显示时logo已自动转换为完整URL)
- */
- public function getList()
- {
- // 调用父类方法获取列表数据
- // BaseService会循环调用model->getInfo(),默认参数true会自动转换logo为完整URL
- return parent::getList();
- }
- /**
- * 修改状态
- */
- public function status()
- {
- $params = request()->all();
- $id = isset($params['id']) ? intval($params['id']) : 0;
- $status = isset($params['status']) ? intval($params['status']) : 0;
- if (!$id) {
- return ['code' => 1, 'msg' => 'ID不能为空'];
- }
- if (!$status || ($status != 1 && $status != 2)) {
- return ['code' => 1, 'msg' => '状态参数错误'];
- }
- $result = $this->model->where('id', $id)->update([
- 'status' => $status,
- 'update_time' => time()
- ]);
- if ($result !== false) {
- return ['code' => 0, 'msg' => '状态修改成功'];
- }
- return ['code' => 1, 'msg' => '状态修改失败'];
- }
- }
|