配置短信服务
基于Laravel框架的使用方法
安装
composer require mrgoon/aliyun-sms dev-master
在
config/app.php
中添加如下代码
'providers' => [ //......此处省略大量代码 /** * 阿里云短信 */ Mrgoon\AliSms\ServiceProvider::class, ], //同时,可以选择性添加aliases 'aliases' => [ //......此处省略大量代码 /** * 阿里云短信 */ 'AliSms'=>Mrgoon\AliSms\ServiceProvider::class, ],
添加系统服务
php artisan vendor:publish #这里要选择对应的编号
上一步会新增
config/aliyunsms.php
文件
'access_key' => env('ALIYUN_ACCESSKEYID'), // accessKey 'access_secret' => env('ALIYUN_ACCESSKEYSECRET'), // accessSecret 'sign_name' => env('ALIYUN_SMS_SIGN_NAME'), // 签名
在
.env
文件中添加环境变量:
ALIYUN_ACCESSKEYID=your access key ALIYUN_ACCESSKEYSECRET=your secret key ALIYUN_SMS_SIGN_NAME=sign name
使用
$aliSms = new AliSms(); $response = $aliSms->sendSms('phone number', 'SMS_code', ['name'=> 'value in your template']); //dump($response);
非laravel框架的使用方法
加载方式通过composer,不变
使用样例代码如下:
$config = [ 'access_key' => 'your access key', 'access_secret' => 'your access secret', 'sign_name' => 'your sign name', ]; $aliSms = new Mrgoon\AliSms\AliSms(); $response = $sms->sendSms( 'phone number', 'tempplate code', ['name'=> 'value in your template'], $config );
配置图片上传OSS
安装
composer require jacobcyl/ali-oss-storage
在
config/app.php
中添加如下代码
'providers' => [ //......此处省略大量代码 /** * 阿里云OSS */ Jacobcyl\AliOSS\AliOssServiceProvider::class, ], //同时,可以选择性添加aliases 'aliases' => [ //......此处省略大量代码 /** * 阿里云OSS */ 'AliOSS'=>Jacobcyl\AliOSS\AliOssServiceProvider::class, ],
编辑配置文件
config/filesystems.php
'default' => env('FILESYSTEM_DRIVER', 'local'), ..... 'disks' => [ .... 'oss' => [ 'driver' => 'oss', 'access_id' => env('ALIYUN_ACCESSKEYID'), 'access_key' => env('ALIYUN_ACCESSKEYSECRET'), 'bucket' => env('ALIYUN_BUCKET'), 'endpoint' => env('ALIYUN_ENDPOINT'), //'endpoint_internal' => '<internal endpoint [OSS内网节点] 如:oss-cn-shenzhen-internal.aliyuncs.com>', //'cdnDomain' => '<CDN domain, cdn域名>', 'ssl' => false, 'isCName' => false, 'debug' => false, ], ],
在
.env
文件中添加环境变量:
ALIYUN_ACCESSKEYID=your access key ALIYUN_ACCESSKEYSECRET=your secret key ALIYUN_BUCKET=your bucket ALIYUN_ENDPOINT=your endpoint
配置ueditor + OSS
安装
composer require ilimpid/laravel-u-editor
在
config/app.php
中添加如下代码
'providers' => [ //......此处省略大量代码 /** * 百度编辑器 */ Stevenyangecho\UEditor\UEditorServiceProvider::class, ], //同时,添加aliases 'aliases' => [ //......此处省略大量代码 /** * 百度编辑器 */ 'UEditor'=>Stevenyangecho\UEditor\UEditorServiceProvider::class, ],
添加系统服务
php artisan vendor:publish
上一步会新增
config/UEditorUpload.php
文件
'mode' => 'aliyun',//上传方式,local 为本地 qiniu 为七牛 aliyun为阿里云 'aliyun' => [ 'accessKeyId' => env('ALIYUN_ACCESSKEYID'), 'accessKeySecret' => env('ALIYUN_ACCESSKEYSECRET'), 'endpoint' => env('ALIYUN_ENDPOINT'), 'url' => 'http://'.env('ALIYUN_BUCKET').'.'.env('ALIYUN_ENDPOINT'), 'bucket' => env('ALIYUN_BUCKET'), 'directory' => 'images/'.date('Ymd',time()), ], //注意:编辑器上传图片的时候会在本地保存一张,下面配置必须设置,images必须保持一致 /* 上传图片配置项 */ 'upload' => [ /* 上传保存路径,可以自定义保存路径和文件名格式 */ "imagePathFormat" => "/storage/images/{yyyy}{mm}{dd}/{time}{rand:6}", ],
在
.env
文件中添加环境变量:
ALIYUN_ACCESSKEYID=your access key ALIYUN_ACCESSKEYSECRET=your secret key ALIYUN_BUCKET=your Bucket key ALIYUN_ENDPOINT=your Endpoint key
非laravel-admin使用
@include(UEditor::head) <div class="col-sm-10"> <script id="ueditor"></script> <script> var ue = UE.getEditor("ueditor"); ue.ready(function () { //由于Laravel有防csrf防伪造攻击的解决所以加上此行 ue.execCommand(serverparam, _token, {{ csrf_token() }}); }); </script> </div>
基于 laravel-admin 使用
增加组件文件
app/Admin/Extensions/Form/uEditor.php
<?php namespace App\Admin\Extensions\Form; use Encore\Admin\Form\Field; class uEditor extends Field { // 定义视图 protected $view = 'admin.uEditor'; // css资源 protected static $css = []; // js资源 protected static $js = [ 'laravel-u-editor/ueditor.config.js', 'laravel-u-editor/ueditor.all.min.js', 'laravel-u-editor/lang/zh-cn/zh-cn.js' ]; public function render() { $this->script = <<<EOT //解决第二次进入加载不出来的问题 UE.delEditor("ueditor"); // 默认id是ueditor var ue = UE.getEditor('ueditor', { // 自定义工具栏 toolbars: [ ['bold', 'italic', 'underline', 'strikethrough', 'blockquote', 'insertunorderedlist', 'insertorderedlist', 'justifyleft', 'justifycenter', 'justifyright', 'link', 'insertimage', 'source', 'fullscreen'] ], elementPathEnabled: false, enableContextMenu: false, autoClearEmptyNode: true, wordCount: false, imagePopup: false, autotypeset: {indent: true, imageBlockLine: 'center'} }); ue.ready(function () { ue.execCommand('serverparam', '_token', '{{ csrf_token() }}'); }); EOT; return parent::render(); } }
增加视图文件
resources/views/admin/uEditor.blade.php
<div class="form-group {!! !$errors->has($errorKey) ?: 'has-error' !!}"> <label for="{{$id}}" class="col-sm-2 control-label">{{$label}}</label> <div class="col-sm-8"> @include('admin::form.error') {{-- 这个style可以限制他的高度,不会随着内容变长 --}} <textarea type='text/plain' style="height:400px;" id='ueditor' id="{{$id}}" name="{{$name}}" placeholder="{{ $placeholder }}" {!! $attributes !!} class='ueditor'> {!! old($column, $value) !!} </textarea> @include('admin::form.help-block') </div> </div> {{-- 注意:如果你实用script标签有一些奇怪的问题,更换textarea就可以解决了。 --}}
然后注册进laravel-admin,在
app/Admin/bootstrap.php
中添加以下代码:
<?php /** * */ use App\Admin\Extensions\Form\uEditor; use Encore\Admin\Form; Form::extend('ueditor', uEditor::class); //Encore\Admin\Form::forget(['map', 'editor']);
再控制器的
form()
里面调用
$form->ueditor('content', '内容')->rules('required');
我们专注高端建站,小程序开发、软件系统定制开发、BUG修复、物联网开发、各类API接口对接开发等。十余年开发经验,每一个项目承诺做到满意为止,多一次对比,一定让您多一份收获!