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\InputKV;
|
||||||
use Slowlyo\OwlAdmin\Renderers\TextControl;
|
use Slowlyo\OwlAdmin\Renderers\TextControl;
|
||||||
use Slowlyo\OwlAdmin\Controllers\AdminController;
|
use Slowlyo\OwlAdmin\Controllers\AdminController;
|
||||||
|
use App\Admin\Components;
|
||||||
|
use App\Traits\UploadTrait;
|
||||||
|
|
||||||
class SettingController extends AdminController
|
class SettingController extends AdminController
|
||||||
{
|
{
|
||||||
|
use UploadTrait;
|
||||||
|
|
||||||
public function index()
|
public function index()
|
||||||
{
|
{
|
||||||
$page = $this->basePage()->body([
|
$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.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()->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"}'),
|
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([
|
$data = $request->only([
|
||||||
'upload_disk',
|
'upload_disk',
|
||||||
'oss_config'
|
'oss_config',
|
||||||
|
'mini_logo',
|
||||||
|
'user_agreement',
|
||||||
|
'privacy_policy'
|
||||||
]);
|
]);
|
||||||
|
|
||||||
//上传设置-修改env文件内配置;
|
//上传设置-修改env文件内配置;
|
||||||
if(!empty($data['upload_disk'])){
|
if(!empty($data['upload_disk'])){
|
||||||
|
$envData = array();
|
||||||
$envData['FILESYSTEM_DISK'] = $data['upload_disk'];
|
$envData['FILESYSTEM_DISK'] = $data['upload_disk'];
|
||||||
if($envData['FILESYSTEM_DISK'] == 'oss'){//如果设置为OSS驱动,则配置env变量
|
if($envData['FILESYSTEM_DISK'] == 'oss'){//如果设置为OSS驱动,则配置env变量
|
||||||
$envData['OSS_ACCESS_KEY_ID'] = Arr::get($data['oss_config'], 'access_key_id');
|
$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());
|
$content = implode("\n", $contentArray->toArray());
|
||||||
\File::put($envPath, $content);
|
\File::put($envPath, $content);
|
||||||
}
|
}
|
||||||
|
//处理图片上传
|
||||||
|
if(!empty($data['mini_logo'])){
|
||||||
|
$data['mini_logo'] = $this->saveImage('mini_logo', 'settings')[0] ?? '';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
return settings()->adminSetMany($data);
|
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\Resources\Json\JsonResource;
|
||||||
use Illuminate\Http\Response;
|
use Illuminate\Http\Response;
|
||||||
|
use Illuminate\Support\Facades\Storage;
|
||||||
|
|
||||||
class UserResource extends JsonResource
|
class UserResource extends JsonResource
|
||||||
{
|
{
|
||||||
|
|
@ -16,9 +17,10 @@ class UserResource extends JsonResource
|
||||||
public function toArray($request)
|
public function toArray($request)
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
'nick_name' => $this->nick_name ??'',
|
'nick_name' => $this->nick_name ?? '微信用户',
|
||||||
'avatar' => $this->avatar ??'',
|
'avatar' => $this->avatar ?? env('APP_URL').'/default-avatar.png',
|
||||||
'phone' => $this->phone ??'',
|
'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::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(){
|
Route::middleware([HasBindPhone::class])->group(function(){
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue