generated from liutk/owl-admin-base
补充接口
parent
f4e380739d
commit
9d0da4ea96
|
|
@ -10,9 +10,13 @@ use Slowlyo\OwlAdmin\Renderers\Alert;
|
|||
use Slowlyo\OwlAdmin\Renderers\InputKV;
|
||||
use Slowlyo\OwlAdmin\Renderers\TextControl;
|
||||
use Slowlyo\OwlAdmin\Controllers\AdminController;
|
||||
use App\Admin\Components;
|
||||
use App\Traits\UploadTrait;
|
||||
|
||||
class SettingController extends AdminController
|
||||
{
|
||||
use UploadTrait;
|
||||
|
||||
public function index()
|
||||
{
|
||||
$page = $this->basePage()->body([
|
||||
|
|
@ -41,7 +45,12 @@ class SettingController extends AdminController
|
|||
amis()->TextControl('oss_config.endpoint', '对象存储endpoint')->required(true)->size('lg')->visibleOn('${upload_disk == "oss"}')->remark('示例: oss-cn-shanghai.aliyuncs.com'),
|
||||
amis()->TextControl('oss_config.domain', '自有域名')->size('lg')->visibleOn('${upload_disk == "oss"}')->remark('填写即启用 示例: my-domain.com'),
|
||||
amis()->SwitchControl('oss_config.use_ssl', '开启SSL')->value(false)->visibleOn('${upload_disk == "oss"}'),
|
||||
]),
|
||||
]),
|
||||
Tab::make()->title('小程序配置')->body([
|
||||
Components::make()->cropImageControl('mini_logo', '小程序logo'),
|
||||
Components::make()->fuEditorControl('user_agreement', '用户协议'),
|
||||
Components::make()->fuEditorControl('privacy_policy', '隐私政策'),
|
||||
]),
|
||||
])
|
||||
);
|
||||
}
|
||||
|
|
@ -50,11 +59,15 @@ class SettingController extends AdminController
|
|||
{
|
||||
$data = $request->only([
|
||||
'upload_disk',
|
||||
'oss_config'
|
||||
'oss_config',
|
||||
'mini_logo',
|
||||
'user_agreement',
|
||||
'privacy_policy'
|
||||
]);
|
||||
|
||||
//上传设置-修改env文件内配置;
|
||||
if(!empty($data['upload_disk'])){
|
||||
$envData = array();
|
||||
$envData['FILESYSTEM_DISK'] = $data['upload_disk'];
|
||||
if($envData['FILESYSTEM_DISK'] == 'oss'){//如果设置为OSS驱动,则配置env变量
|
||||
$envData['OSS_ACCESS_KEY_ID'] = Arr::get($data['oss_config'], 'access_key_id');
|
||||
|
|
@ -84,8 +97,11 @@ class SettingController extends AdminController
|
|||
$content = implode("\n", $contentArray->toArray());
|
||||
\File::put($envPath, $content);
|
||||
}
|
||||
//处理图片上传
|
||||
if(!empty($data['mini_logo'])){
|
||||
$data['mini_logo'] = $this->saveImage('mini_logo', 'settings')[0] ?? '';
|
||||
}
|
||||
|
||||
|
||||
return settings()->adminSetMany($data);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Api;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Support\Arr;
|
||||
use App\Http\Requests\SettingRequest;
|
||||
|
||||
class SettingController extends ApiController
|
||||
{
|
||||
public function info(SettingRequest $request)
|
||||
{
|
||||
$key = $request->input('key', null);
|
||||
|
||||
return $this->success([$key=> settings()->get($key)]);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<?php
|
||||
|
||||
namespace App\Http\Requests;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use Illuminate\Http\Exceptions\HttpResponseException;
|
||||
use Illuminate\Contracts\Validation\Validator;
|
||||
|
||||
class SettingRequest extends FormRequest
|
||||
{
|
||||
/**
|
||||
* Determine if the user is authorized to make this request.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function authorize()
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the validation rules that apply to the request.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function rules()
|
||||
{
|
||||
return [
|
||||
'key' => 'required|string|max:100',
|
||||
];
|
||||
}
|
||||
|
||||
public function messages(){
|
||||
$message = [
|
||||
'key.required' => 'key必填',
|
||||
];
|
||||
return $message;
|
||||
}
|
||||
|
||||
protected function failedValidation(Validator $validator){
|
||||
$error = $validator->errors()->all();
|
||||
throw new HttpResponseException(response()->json(['data' => null, 'code' => 400, 'message' => $error[0]]));
|
||||
}
|
||||
}
|
||||
|
|
@ -4,6 +4,7 @@ namespace App\Http\Resources\Api;
|
|||
|
||||
use Illuminate\Http\Resources\Json\JsonResource;
|
||||
use Illuminate\Http\Response;
|
||||
use Illuminate\Support\Facades\Storage;
|
||||
|
||||
class UserResource extends JsonResource
|
||||
{
|
||||
|
|
@ -16,9 +17,10 @@ class UserResource extends JsonResource
|
|||
public function toArray($request)
|
||||
{
|
||||
return [
|
||||
'nick_name' => $this->nick_name ??'',
|
||||
'avatar' => $this->avatar ??'',
|
||||
'nick_name' => $this->nick_name ?? '微信用户',
|
||||
'avatar' => $this->avatar ?? env('APP_URL').'/default-avatar.png',
|
||||
'phone' => $this->phone ??'',
|
||||
'is_need_bind_phone' => empty($this->phone) ? true:false,
|
||||
];
|
||||
}
|
||||
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 3.9 KiB |
|
|
@ -37,6 +37,8 @@ Route::group(['prefix' => 'miniprogram', 'namespace' => 'Api\Miniprogram'], func
|
|||
|
||||
// 绑定接口
|
||||
Route::post('users/bind-phone', [App\Http\Controllers\Api\UserController::class, 'bindPhone']);
|
||||
// 获取配置内容;
|
||||
Route::get('config-info', [App\Http\Controllers\Api\SettingController::class, 'info']);
|
||||
|
||||
// 已授权绑定手机号
|
||||
Route::middleware([HasBindPhone::class])->group(function(){
|
||||
|
|
|
|||
Loading…
Reference in New Issue