| 插件名稱 | API接口 V7.8 |
| 插件作者 | 迅睿官方自營 |
| 最近更新 | 2025-09-04 19:21:54 |
| 支持對達夢數(shù)據(jù)庫的驅(qū)動 |
求大神幫忙寫一個發(fā)送短信的代碼
我想達到效果是,寶塔任務(wù)執(zhí)行API,時間字段到期前15天發(fā)送短信給管理員{$t.glydh}與用戶{$t.khlxr}。
短信內(nèi)容:{$t.kehuxingming}您好,您的{$t.sccp}將于{$t.daoqishijian}到期,請您及時聯(lián)系{$t.glydh}續(xù)費!
短信是官方短信接口。
現(xiàn)有API代碼如下:
<?php
/**
* api 示例文件
* 變量介紹
* $return 表示標準返回變量
*/
$return = []; // 返回數(shù)據(jù)
$data = \Phpcmf\Service::M()->table('dr_1_news')->order_by("id desc")->getAll();
if ($data) {
foreach ($data as $r) {
$return[] = [
'daoqishijian' => date("m-d",$r['daoqishijian']),
'sccp' => $r['sccp'],
'kehuxingming' => $r['kehuxingming'],
'khlxr' => $r['khlxr'],
'glydh' => $r['glydh'],
];
}
}
字段說明:
售出產(chǎn)品:標準輸出:{$t.sccp}
客戶姓名標準輸出:{$t.kehuxingming}
到期時間:默認輸出:{$t.daoqishijian}
客戶電話標準輸出:{$t.khlxr}
管理員電話:標準輸出:{$t.glydh}
插件版權(quán):官方插件
插件名稱:API接口
你循環(huán)數(shù)據(jù)已經(jīng)寫好了,你只需要在循環(huán)體里面做時間段的判斷,判斷15天時執(zhí)行發(fā)送;
注意的是需要在新建一個字段來標記已發(fā)短信,這樣就防止重復(fù)循環(huán)發(fā)送
短信發(fā)送函數(shù)
\Phpcmf\Service::M('member')->sendsms_text($mobile, $string); // 用于發(fā)送文本內(nèi)容我只能幫你這么多了,
學(xué)習(xí)是一個過程,不太熟悉二開的話,可以找官方開發(fā)或者其他開發(fā)者開發(fā),然后再分析分析他們的開發(fā)代碼,這樣自己也學(xué)會了開發(fā)技巧。
開源是一種精神,但不是義務(wù),幫忙是情分,不幫也不要抱怨,建議大家多研究代碼、多閱讀代碼、多翻閱社區(qū)歷史問題!
回復(fù)@官方插件技術(shù)-劉題羽 這個代碼我照上次的寫的。不會轉(zhuǎn)彎,
比如$data = \Phpcmf\Service::M()->table('dr_1_news')->order_by("id desc")->getAll();
我需要catid=1都不知道怎么寫
官方的思路沒問題呢,按照這個方向開發(fā)就是了
回復(fù)@二開/定制/使用解答專家 我知道的官方的思路沒問題呢,求代碼。
按照官方思路,建立字段控制發(fā)送狀態(tài)
<?php $data = \Phpcmf\Service::M()->table('1_news') ->where('sftz', 0)->where("daoqishijian BETWEEN unix_timestamp(now()) and unix_timestamp(DATE_SUB(CURDATE(), INTERVAL -15 DAY))") ->getAll(); if ($data) { foreach ($data as $t) { $txt = $t['kehuxingming'].'您好,您的'.$t['sccp'].'將于'.dr_date($t['daoqishijian']).'到期,請您及時聯(lián)系'.$t['glydh'].'續(xù)費!'; $rt = \Phpcmf\Service::M('member')->sendsms_text($t['khlxr'], $txt); // 用于發(fā)送文本內(nèi)容 if ($rt['code']) { \Phpcmf\Service::M()->table('1_news')->update($t['id'], [ 'sftz' => 1, ]); } else { log_message("error", "任務(wù)短信發(fā)送失?。?quot;.$rt['msg']); } } }參考文檔:《數(shù)據(jù)庫操作》
二次開發(fā)熟讀這篇文章,保證你每次開發(fā)都要看的手冊
回復(fù)@二開/定制/使用解答專家 1、如果catid=1該加在那里;2、你這個代碼只發(fā)送給了用戶,同時發(fā)送給管理員怎么辦。