|
|
- package sms
-
- import (
- "log"
-
- "git.tetele.net/tgo/helper"
- )
-
- /**
- * 创蓝253发送短信
- *
- * @param string $mobile 手机号码
- * @param string $msg 短信内容
- * @param string $sms_sign 短信签名
- * @param string $needstatus 是否需要状态报告
-
- * @return success bool, reply map[string]string, err error
- */
- var CL_ACCOUNT string = "N3402351"
- var CL_PASSWORD string = "zmkj64U5A"
-
- // const CL_VARIABLE_SMS_URL string = "http://XXX/msg/variable/json"
-
- func SendByCL(account, password, mobile, sms_sign, msg string) (bool, map[string]interface{}, error) {
-
- const CL_SIMPLE_SMS_URL string = "https://smssh1.253.com/msg/v1/send/json" // "http://smssh1.253.com/msg/send/json"
-
- if account == "" {
- account = CL_ACCOUNT
- }
- if password == "" {
- password = CL_PASSWORD
- }
-
- //创蓝接口参数
- data := map[string]string{
- "account": account,
- "password": password,
- "msg": StringJoin("【", sms_sign, "】", msg),
- "phone": mobile,
- "report": "true",
- }
-
- response, err := PostJsonData(CL_SIMPLE_SMS_URL, data)
-
- if err != nil {
- return false, nil, err
- }
-
- var reply map[string]interface{}
-
- err = json.Unmarshal(response, &reply)
-
- if err != nil {
- log.Println(string(response), err)
- return false, nil, err
- }
-
- if helper.ToStr(reply["code"]) != "0" {
- return false, reply, nil
- }
-
- return true, reply, err
- }
-
- /**
- * 查询额度
- *
- */
- func QueryRemaining(account, password string) (bool, string, map[string]interface{}, error) {
-
- const URL string = "https://smssh1.253.com/msg/balance/json"
-
- if account == "" {
- account = CL_ACCOUNT
- }
- if password == "" {
- password = CL_PASSWORD
- }
- data := map[string]string{
- "account": account,
- "password": password,
- }
- response, err := PostJsonData(URL, data)
-
- /** 返回示例
- {"code":0,"balance":"9156","time":"20230217150940","errorMsg":""}
- {"code":"130","msgId":"","time":"20230217145243","errorMsg":"请求参数错误"}
- {"code":"101","msgId":"","time":"20230217151029","errorMsg":"无此用户"}
- */
- if err != nil {
- return false, "", nil, err
- }
-
- var reply map[string]interface{}
-
- err = json.Unmarshal(response, &reply)
-
- if err != nil {
- log.Println(string(response), err)
- return false, "", nil, err
- }
-
- if helper.ToStr(reply["code"]) != "0" {
- return false, "", reply, nil
- }
-
- return true, helper.ToStr(reply["balance"]), reply, err
- }
|