最近のプロジェクトは、テキスト・メッセージング・インターフェースを使用する必要があり、ショート・メッセージ・インタフェースと対照的なアリを選びました
以下は、開発ノートです。
ドッキングインターフェース・クラスで:
/ ** *定数クラス * / プライベート 静的 定; // 名前:クラウドコミュニケーションSMSのAPI製品は、開発者が交換する必要はありません 静的な 決勝 =「Dysmsapi」文字列の製品を、 // 製品ドメインは、開発者が交換する必要はありません 静的な 最終文字列のドメインを=「dysmsapi.aliyuncs.com」; // ここでは、開発者自身のAK(アクセスアリクラウドコンソール求めて)交換する必要があり 、静的な 最終文字列accessKeyId = constant.accessKeyIdを、 静的な 最終文字列accessKeySecret = constant.accessKeySecret。
AKはここでは関係は自分自身にアリクエリをコンソールする必要があります
メソッドの呼び出し:
/ ** * SMSインタフェース * @authorのZKの *する@ DATE:2019インディアン5 30日の午後3時59分15秒 * @paramの電話番号 * @paramのステータス1:登録 * @return * / @のRequestMapping( "/ getSms" ) @ResponseBody パブリック文字列getSms(電話文字列、文字列のステータス){ //は自己調整タイムアウトすることができる するSystem.setProperty( "sun.net.client.defaultConnectTimeout"、 "10000" ); するSystem.setProperty(「sun.net.client。 defaultReadTimeout "" 10000 " ); // acsClientを初期化し、領域をサポートしていません。 IClientProfileプロファイル= DefaultProfile.getProfile( "CN-杭州" 、accessKeyId、accessKeySecret)。 試す{ DefaultProfile.addEndpoint( "CN-杭州"、 "CN-杭州" 、製品、ドメイン)。 } キャッチ(ClientExceptionのE1){ e1.printStackTrace()。 } IAcsClient acsClient = 新しいDefaultAcsClient(プロファイル)。 // 随机生成六位验证码 INTコード=(INT)((Math.random()* 9 + 1)* 100000 )。 Sendsms sendsmsselect = 新しいSendsms(); sendsmsselect.setIsdel("0" ); sendsmsselect.setStatus(ステータス); sendsmsselect.setPhone(電話番号); リスト <SendSMS>リスト= sendsmsService.selectAll(sendsmsselect); IF!(リスト= ヌル){ IF(はlist.size()> 0 ) { SendSMS SendSMS1 = List.get(0 ); sendsms1.setIsdel(」1" ); // 時間レコード番号削除する前 sendsmsService.updateByPrimaryKey(SendSMS1を); } } / ** データベースに格納されたコードの数* * / sendsmsselect.setCode(コード+ "" ); Sendsmsselect.setCreatetime(新しい新しい日付()); sendsmsService.insert(sendsmsselect); // アセンブリ要求されたオブジェクト-特にコンソールを説明-部品ドキュメント SendSmsRequest =リクエストする新しい新しいSendSmsRequestを(); // 必須:電話番号、送信する request.setPhoneNumbers(電話); // 必要:SMSの署名- SMSコンソールで見つけることができ、中に署名管理でコンテンツ request.setSignName(constant.SignName); // 必要:SMSテンプレート- SMSは、コンソールで見つけることができ、あなたはテンプレート番号でテンプレートを管理 request.setTemplateCode(constant.TemplateCode); // オプション:ようなテンプレートなどのテンプレート変数の置換JSON文字列は、「親愛なる$ {name}を読み込み、あなたの"検証コード値、ここでコード} {$ request.setTemplateParam(" {\ "コード\":\ "" + +コード」\ "}"); // オプション-拡散コードアップメッセージ(ユーザーの特別なニーズは、このフィールドを無視しない) // request.setSmsUpExtendCode(「90997」); // オプション:outIdは、最終的なメッセージ受信にビジネス側の拡張フィールドに提供され、メッセージ呼び出し元に、この値 request.setOutId(「yourOutId」); // ここにヒントが例外をスローすることがあり、そのキャッチが指摘 SendSmsResponse sendSmsResponse = ヌル; 試み{ sendSmsResponse = acsClient.getAcsResponse(要求); } キャッチ(ServerException E){ e.printStackTrace(); } キャッチ(ClientException E){ e.printStackTrace(); } // 送信状態を取得します 文字列COD = sendSmsResponse.getCode()。 // するSystem.out.println(タラ)。 返すタラを。 }
これは、部分的にニーズによって置換されていてもよい、生成されたすべての関連するコードと格納されたデータベース操作の使用を確認するために行われます