예제 #1
0
 /**
  * 获取封面图片素材
  * @method getThumbMaterial
  * @since 0.0.1
  * @return {object}
  * @example $this->getThumbMaterial();
  */
 public function getThumbMaterial()
 {
     return $this->hasOne(WechatMaterial::classname(), ['id' => 'thumb_material_id']);
 }
예제 #2
0
 /**
  * 新增临时素材
  *
  * @since 0.0.1
  * @param {integer} $material_id 素材id
  * @return {integer}
  * @example \Yii::$app->wechat->addMedia($material_id);
  */
 public function addMedia($material_id)
 {
     $material = WechatMaterial::findOne($material_id);
     if (!$material) {
         throw new ErrorException('数据查询失败');
     }
     $data = $this->getData('/cgi-bin/media/upload', ['access_token' => $this->getAccessToken(), 'type' => $material->type], ['media' => '@' . $material->localFile]);
     $material->cleanTmp();
     if ($this->errcode == 0) {
         $materialMedia = new WechatMaterialMedia();
         $materialMedia->appid = $this->app->appid;
         $materialMedia->material_id = $material->id;
         $materialMedia->media_id = $data['media_id'];
         $materialMedia->expired_at = $data['created_at'] + $this->effectiveTimeOfTemporaryMaterial;
         if ($materialMedia->save()) {
             return $materialMedia->id;
         }
     }
     return 0;
 }