第一步
文件 app\Api\Serializer\ForumSettingSerializer.php
第130行
'qcloud_sms' => (bool)$this->settings->get('qcloud_sms', 'qcloud'),
改为
'qcloud_sms' => true,
文件 app\Listeners\Setting\ClearDisabledPermission.php
找到
if ($this->settings->get('register_type') == 1) {
$this->settings->set('register_type', 0);
}
删除或者注释
登录后台 选择 全局->注册与登录设置 ,选择手机号模式 保存。
利用数据库管理工具执行:
INSERT INTO pre_group_permission (group_id, permission) VALUES ('10', 'publishNeedBindPhone');
10 为用户组ID 开启用户组 发帖需要绑定手机
第二步
文件 app\Api\Controller\Mobile\SendController.php
use Tobscure\JsonApi\Document;
下面加
use Overtrue\EasySms\EasySms;
找到:
if (!(bool)$this->settings->get('qcloud_sms', 'qcloud')) {
// 未开启短息服务不发送短信
$mobileRule = [
function ($attribute, $value, $fail) {
$fail('短信服务未开启。');
}
,
];
} else
删除
找到
$result = $this->smsSend($data['mobile'], new SendCodeMessage(['code' => $mobileCode->code, 'expire' => self::CODE_EXCEPTION]));
if (isset($result['qcloud']['status']) && $result['qcloud']['status'] === 'success') {
$mobileCode->save();
}
注释或删除
增加
//阿里云
$config = [
// HTTP 请求的超时时间(秒)
'timeout' => 5.0,
// 默认发送配置
'default' => [
// 网关调用策略,默认:顺序调用
'strategy' => \Overtrue\EasySms\Strategies\OrderStrategy::class,
// 默认可用的发送网关
'gateways' => [
'aliyun'
],
],
// 可用的网关配置
'gateways' => [
'errorlog' => [
'file' => '/tmp/easy-sms.log',
],
'aliyun' => [
'access_key_id' => 'AccessKeyId',
'access_key_secret' => 'AccessKeySecret',
'sign_name' => '签名',
],
//…
],
];
$easySms = new EasySms($config);
$result = $easySms->send($data['mobile'],[
'template' => '短信模板ID',
'data' => [
'code' => $mobileCode->code
],
]);
if (isset($result['aliyun']['status']) && $result['aliyun']['status'] === 'success') {
$mobileCode->save();
}'
完成
原文地址:http://www.5che2.com/
能否出一个DiscuzQ v3新版本的修改方法?
后续出一个相关系列