'系统错误', '1'=>'未创建直播间', '1003'=>'商品id不存在', '47001'=>'入参格式不符合规范', '200002'=>'入参错误', '300001'=>'禁止创建/更新商品 或 禁止编辑&更新房间', '300002'=>'名称长度不符合规则', '300006'=>'图片上传失败(如:mediaID过期)', '300022'=>'此房间号不存在', '300023'=>'房间状态 拦截(当前房间状态不允许此操作)', '300024'=>'商品不存在', '300025'=>'商品审核未通过', '300026'=>'房间商品数量已经满额', '300027'=>'导入商品失败', '300028'=>'房间名称违规', '300029'=>'主播昵称违规', '300030'=>'主播微信号不合法', '300031'=>'直播间封面图不合规', '300032'=>'直播间分享图违规', '300033'=>'添加商品超过直播间上限', '300034'=>'主播微信昵称长度不符合要求', '300035'=>'主播微信号不存在', '300036'=>'主播微信号未实名认证', '300037'=>'购物直播频道封面图不合规', '300038'=>'未在小程序管理后台配置客服', '300039'=>'主播副号微信号不合法', '300040'=>'名称含有非限定字符(含有特殊字符)', '300041'=>'创建者微信号不合法', '300042'=>'推流中禁止编辑房间', '300043'=>'每天只允许一场直播开启关注', '500001'=>'副号不合规', '500002'=>'副号未实名', '500003'=>'已经设置过副号了,不能重复设置', '500004'=>'不能设置重复的副号', '500005'=>'副号不能和主号重复', '600001'=>'用户已被添加为小助手', '600002'=>'找不到用户', '9410000'=>'直播间列表为空', '9410001'=>'获取房间失败', '9410002'=>'获取商品失败', '9410003'=>'获取回放失败' ); public function initialize() { parent::initialize(); Lang::load(base_path() . 'home/lang/' . config('lang.default_lang') . '/live.lang.php'); } /** * @api {POST} api/SellerMiniproLive/get_room_list 直播间列表 * @apiVersion 1.0.0 * @apiGroup SellerMiniproLive * * @apiHeader {String} X-DS-KEY 卖家授权token * * @apiParam {Int} page 页码 * @apiParam {Int} pagesize 每页显示数量 * * @apiSuccess {String} code 返回码,10000为成功 * @apiSuccess {String} message 返回消息 * @apiSuccess {String} result 返回数据 */ public function get_room_list(){ $minipro_live_model=model('minipro_live'); $minipro_live_room_goods_model=model('minipro_live_room_goods'); $room_list=$minipro_live_model->getMiniproLiveList(array(array('member_id','=',$this->store_info['member_id']))); foreach($room_list as $key => $val){ $room_list[$key]['goods_list']=$minipro_live_room_goods_model->getMiniproLiveRoomGoodsList(array(array('minipro_live_id','=',$val['minipro_live_id']))); foreach($room_list[$key]['goods_list'] as $k => $v){ $room_list[$key]['goods_list'][$k]['goods_image_url']=goods_cthumb($v['goods_image'], 480, $v['store_id']); } } $result = array_merge(array('minipro_live_list' => $room_list), mobile_page($minipro_live_model->page_info)); ds_json_encode(10000, '', $result); } /** * @api {POST} api/SellerMiniproLive/get_room_info 直播间信息 * @apiVersion 1.0.0 * @apiGroup SellerMiniproLive * * @apiHeader {String} X-DS-KEY 卖家授权token * * @apiParam {Int} minipro_live_id 直播id * * @apiSuccess {String} code 返回码,10000为成功 * @apiSuccess {String} message 返回消息 * @apiSuccess {String} result 返回数据 */ public function get_room_info(){ $minipro_live_id=intval(input('param.minipro_live_id')); $minipro_live_model=model('minipro_live'); $room_info=$minipro_live_model->getMiniproLiveInfo(array(array('member_id','=',$this->store_info['member_id']),array('minipro_live_id','=',$minipro_live_id))); if(!$room_info){ ds_json_encode(10001, lang('minipro_live_empty')); } ds_json_encode(10000, '', array('minipro_live_info' => $room_info)); } /** * @api {POST} api/SellerMiniproLive/add_room 新增直播间 * @apiVersion 1.0.0 * @apiGroup SellerMiniproLive * * @apiHeader {String} X-DS-KEY 卖家授权token * * @apiParam {Int} goods_id 商品id * * @apiSuccess {String} code 返回码,10000为成功 * @apiSuccess {String} message 返回消息 * @apiSuccess {String} result 返回数据 */ public function add_room(){ $wechat_model=model('wechat'); $wechat_model->getOneWxconfig(); $accessToken = $wechat_model->getAccessToken('miniprogram', 0); if($wechat_model->error_code){ ds_json_encode(10001, $wechat_model->error_message); } $data=array( 'name'=>input('param.minipro_live_name'), 'coverImg'=>input('param.coverImg'), 'startTime'=>input('param.minipro_live_start_time'), 'endTime'=>input('param.minipro_live_end_time'), 'anchorName'=>input('param.minipro_live_nickname'), 'anchorWechat'=>input('param.minipro_live_wxid'), 'shareImg'=>input('param.feedsImg'), 'feedsImg'=>input('param.feedsImg'), 'isFeedsPublic'=>0, 'type'=>0, 'screenType'=>0, 'closeLike'=>0, 'closeGoods'=>0, 'closeComment'=>0, 'closeReplay'=>0, 'closeShare'=>0, 'closeKf'=>1, ); if(!$data['name'] || !$data['coverImg'] || !$data['startTime'] || !$data['endTime'] || !$data['anchorName'] || !$data['anchorWechat'] || !$data['shareImg']){ ds_json_encode(10001, lang('minipro_live_data_incomplete')); } if(mb_strlen($data['name'])<3 || mb_strlen($data['name'])>17){ ds_json_encode(10001, lang('minipro_live_name_error')); } if($data['startTime']<(TIMESTAMP-10*60)){ ds_json_encode(10001, lang('minipro_live_start_time_error')); } $time=$data['endTime']-$data['startTime']; if($time<0 || $time>(72*3600)){ ds_json_encode(10001, lang('minipro_live_time_error')); } if(mb_strlen($data['anchorName'])<2 || mb_strlen($data['anchorName'])>15){ ds_json_encode(10001, lang('minipro_live_author_error')); } $res=http_request('https://api.weixin.qq.com/wxaapi/broadcast/room/create?access_token='.$accessToken,'POST',$data); $res= json_decode($res,true); if(!$res || $res['errcode']){ $msg=lang('minipro_live_add_fail').$res['errcode']; if(isset($this->errorMsg[$res['errcode']])){ $msg=$this->errorMsg[$res['errcode']]; }else if(isset($res['errmsg'])){ $msg=$res['errmsg']; } ds_json_encode(10001, $msg); } $minipro_live_model=model('minipro_live'); $minipro_live_model->addMiniproLive(array( 'minipro_live_name'=>$data['name'], 'member_id'=>$this->store_info['member_id'], 'store_id'=>$this->store_info['store_id'], 'minipro_live_wxid'=>$data['anchorWechat'], 'minipro_live_nickname'=>$data['anchorName'], 'minipro_live_start_time'=>$data['startTime'], 'minipro_live_end_time'=>$data['endTime'], 'minipro_live_image'=>input('param.minipro_live_image'), 'minipro_live_add_time'=>TIMESTAMP, 'minipro_live_room_id'=>$res['roomId'], )); ds_json_encode(10000,'',array('roomId'=>$res['roomId'])); } /** * @api {POST} api/SellerMiniproLive/import_room_goods 导入直播间商品 * @apiVersion 1.0.0 * @apiGroup SellerMiniproLive * * @apiHeader {String} X-DS-KEY 卖家授权token * * @apiParam {Int} goods_id 商品id * * @apiSuccess {String} code 返回码,10000为成功 * @apiSuccess {String} message 返回消息 * @apiSuccess {String} result 返回数据 */ public function import_room_goods(){ $wechat_model=model('wechat'); $wechat_model->getOneWxconfig(); $accessToken = $wechat_model->getAccessToken('miniprogram', 0); if($wechat_model->error_code){ ds_json_encode(10001, $wechat_model->error_message); } $roomId=input('param.roomId'); $ids=input('param.ids/a'); $minipro_live_model=model('minipro_live'); $minipro_live_info=$minipro_live_model->getMiniproLiveInfo(array(array('minipro_live_room_id','=',$roomId),array('member_id','=',$this->store_info['member_id']))); if(!$minipro_live_info){ ds_json_encode(10001, lang('minipro_live_empty')); } $data=array( 'roomId'=>$roomId, 'ids'=>$ids, ); $res=http_request('https://api.weixin.qq.com/wxaapi/broadcast/room/addgoods?access_token='.$accessToken,'POST',$data); $res= json_decode($res,true); if(!$res || $res['errcode']){ ds_json_encode(10001, isset($res['errmsg'])?$res['errmsg']:lang('minipro_live_import_goods_fail').$res['errcode']); } $minipro_live_room_goods_model=model('minipro_live_room_goods'); $minipro_live_goods_model=model('minipro_live_goods'); $goods_model=model('goods'); $minipro_live_goods_list=$minipro_live_goods_model->getMiniproLiveGoodsList(array(array('minipro_live_goods_result_id','in',$ids))); foreach($minipro_live_goods_list as $val){ $data=array( 'minipro_live_id'=>$minipro_live_info['minipro_live_id'], 'store_id'=>$val['store_id'], 'store_name'=>$val['store_name'], 'goods_id'=>$val['goods_id'], 'goods_commonid'=>$val['goods_commonid'], 'goods_name'=>$val['goods_name'], 'goods_image'=>$val['goods_image'], 'goods_price'=>$val['goods_price'], 'minipro_live_goods_result_id'=>$val['minipro_live_goods_result_id'], ); $goods_info=$goods_model->getGoodsCommonInfoByID($val['goods_commonid']); if($goods_info){ $data['gc_id']=$goods_info['gc_id']; $data['gc_id_1']=$goods_info['gc_id_1']; $data['gc_id_2']=$goods_info['gc_id_2']; $data['gc_id_3']=$goods_info['gc_id_3']; $data['gc_name']=$goods_info['gc_name']; } $minipro_live_room_goods_model->addMiniproLiveRoomGoods($data); } ds_json_encode(10000); } /** * @api {POST} api/SellerMiniproLive/get_goods_list 商品列表 * @apiVersion 1.0.0 * @apiGroup SellerMiniproLive * * @apiHeader {String} X-DS-KEY 卖家授权token * * @apiParam {Int} goods_id 商品id * * @apiSuccess {String} code 返回码,10000为成功 * @apiSuccess {String} message 返回消息 * @apiSuccess {String} result 返回数据 */ public function get_goods_list(){ $condition = array(); $condition[] = array('goodscommon.store_id', '=', $this->store_info['store_id']); $condition[] = array('goodscommon.goods_verify', '=', 1); $condition[] = array('goodscommon.goods_state', '=', 1); $fields = 'goods_id,goodscommon.gc_id,goodscommon.store_id,goodscommon.goods_commonid,goodscommon.goods_name,goodscommon.goods_price,goodscommon.goods_addtime,goodscommon.goods_image,goodscommon.goods_state,goodscommon.goods_lock'; $goods_model = model('goods'); $goods_list = $goods_model->getGoodsUnionList($condition, $fields , 'goodscommon.goods_commonid desc','goodscommon.goods_commonid', $this->pagesize); $minipro_live_goods_model=model('minipro_live_goods'); foreach($goods_list as $key => $val){ $goods_list[$key]['goods_image_url'] = goods_cthumb($val['goods_image'], 480, $val['store_id']); $minipro_live_goods_info=$minipro_live_goods_model->getMiniproLiveGoodsInfo(array(array('goods_commonid','=',$val['goods_commonid']))); $goods_list[$key]['minipro_live_goods_info'] = $minipro_live_goods_info; } $result = array_merge(array('goods_list' => $goods_list), mobile_page($goods_model->page_info)); ds_json_encode(10000, '', $result); } /** * @api {POST} api/SellerMiniproLive/upload_media 上传临时素材 * @apiVersion 1.0.0 * @apiGroup SellerMiniproLive * * @apiHeader {String} X-DS-KEY 卖家授权token * * @apiParam {File} file 文件 * * @apiSuccess {String} code 返回码,10000为成功 * @apiSuccess {String} message 返回消息 * @apiSuccess {String} result 返回数据 */ public function upload_media() { $wechat_model=model('wechat'); $wechat_model->getOneWxconfig(); $res=$wechat_model->uploadMedia('image',$_FILES['file']['tmp_name'], $_FILES['file']['type'], $_FILES['file']['name']); if(!$res['code']){ ds_json_encode(10001, $res['msg']); } $media_id=$res['data']; $file_name=''; if(input('param.save')){ $res = ds_upload_pic(ATTACH_MINIPRO_LIVE, 'file'); if (!$res['code']) { ds_json_encode(10001, $res['msg']); } $file_name=$res['data']['file_name']; } ds_json_encode(10000,'',array('media_id'=>$media_id,'file_name'=>$file_name)); } }