/** * 获取封面图片素材 * @method getThumbMaterial * @since 0.0.1 * @return {object} * @example $this->getThumbMaterial(); */ public function getThumbMaterial() { return $this->hasOne(WechatMaterial::classname(), ['id' => 'thumb_material_id']); }
/** * 新增临时素材 * * @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; }