Online.php 2.55 KB
<?php

namespace Home;

use LibModels\Wap\Home\OnlineData;
use Plugin\Helpers;

/**
 * 在线客服相关数据处理
 */
class OnlineModel
{
    /*
     * 获取在线帮助分类
     * $clientType客户端类型
     */

    public static function getOnlineServiceInfo($clientType = 'iphone')
    {
        //调用接口获取数据
        $res = OnlineData::getOnlineServiceInfo($clientType);
        $question = array();
        $tab = array();
        if (isset($res['data'])) {
            $cateInfo = $res['data'];
            foreach ($cateInfo as $key => $value) {
                //强制截成3个tab
                if ($key > 2) {
                    break;
                }
                $tab[$key]['tabid'] = 'tab' . $value['id'];
                $tab[$key]['tabname'] = $value['category_name'];
                $tab[$key]['iscut'] = true;
                $tab[$key]['current'] = (!$key) ? TRUE : FALSE;
                $question[$key]['name'] = 'tab' . $value['id'];
                $question[$key]['current'] = (!$key) ? TRUE : FALSE;
                $sub = $value['sub'];
                $qTmp = array();
                if ($sub) {
                    foreach ($sub as $sk => $sv) {
                        $qTmp[$sk]['title'] = $sv['category_name'];
                        $qTmp[$sk]['link'] = Helpers::url('/home/onlineservicedetail', array('cateInfo' => $sv['id'] . '_' . $sv['category_name']));
                    }
                }
                $question[$key]['list'] = $qTmp;
            }
            $question[0]['current'] = true;
            $tab[count($tab) - 1]['iscut'] = false;
        }
        //处理返回信息
        $result = array(
            'header' => array('title' => '在线客服'),
            'tab' => $tab,
            'question' => $question
        );

        return $result;
    }

    /*
     * 加载分类下的问题和解决方法
     * cateId问题分类ID
     * clientType客户端
     */

    public static function getOnlineServiceDetail($cateId, $clinetType = 'iphone')
    {
        $result = array();
        if (!$cateId) {
            return $result;
        }
        $res = OnlineData::getOnlineServiceDetail($cateId, $clinetType);
        if (isset($res['code']) && $res['code'] === 200) {
            $questionInfo = $res['data'];
            $list = array();
            foreach ($questionInfo as $qk => $qv) {
                $list[$qk]['q'] = $qv['title'];
                $list[$qk]['a'] = $qv['content'];
            }
            !empty($list) && $result['list'] = $list;
        }

        return $result;
    }

}