hasOne(File::class, 'id', 'file_id'); } /** * 生成链接 * @param $fileId * @param $userid * @param $refresh * @return array */ public static function generateLink($fileId, $userid, $refresh = false) { $fileLink = FileLink::whereFileId($fileId)->whereUserid($userid)->first(); if (empty($fileLink)) { $fileLink = FileLink::createInstance([ 'file_id' => $fileId, 'userid' => $userid, 'code' => base64_encode("{$fileId},{$userid}," . Base::generatePassword()), ]); $fileLink->save(); } else { if ($refresh == 'yes') { $fileLink->code = base64_encode("{$fileId},{$userid}," . Base::generatePassword()); $fileLink->save(); } } return [ 'id' => $fileId, 'url' => Base::fillUrl('single/file/' . $fileLink->code), 'code' => $fileLink->code, 'num' => $fileLink->num ]; } }