messaging

Messaging模块管理设备通讯功能,可用于短信、彩信、邮件发送等。通过plus.messaging可获取设备通讯管理对象。另外也可以直接通过html中的href直接快速发送短信、拨打电话、发送邮件等。

常量:

方法:

对象:

回调方法:

权限:

5+功能模块(permissions)

  1. {
  2. // ...
  3. "permissions":{
  4. // ...
  5. "Messaging": {
  6. "description": "短信彩信邮件消息"
  7. }
  8. }
  9. }

TYPE_SMS

简单短信类型常量

  1. plus.messaging.TYPE_SMS;

说明:

Number类型

消息类型常量,Number类型,固定值为1,用于创建并发送短信。

平台支持

  • Android - 2.2+ (支持): 支持
  • iOS - 4.3+ (支持): 支持

TYPE_MMS

彩信类型常量

  1. plus.messaging.TYPE_MMS;

说明:

Number类型

消息类型常量,Number类型,固定值为2,用于创建并发送多媒体短信(彩信)。

平台支持

  • Android - 2.2+ (支持): 支持
  • iOS - 4.3+ (不支持): 不支持彩信的发送

TYPE_EMAIL

邮件类型常量

  1. plus.messaging.TYPE_EMAIL;

说明:

Number类型

消息类型常量,Number类型,固定值为3,用于创建并发送邮件。

平台支持

  • Android - 2.2+ (支持): 支持
  • iOS - 4.3+ (支持): 支持

createMessage

创建消息对象

  1. Message plus.messaging.createMessage(type);

说明:

创建指定类型的消息,消息类型可取plus.messaging.TYPE_SMS、plus.messaging.TYPE_MMS、plus.messaging.TYPE_EMAIL。

参数:

  • type : (Number)必选 消息类型要创建的消息类型常量,可取plus.messaging.TYPE_SMS、plus.messaging.TYPE_MMS、plus.messaging.TYPE_EMAIL。

返回值:

Message: Message对象

平台支持:

  • Android- 2.2+(支持): 支持
  • iOS- 4.3+(支持): 支持

示例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Messaging Example</title>
  6. <script type="text/javascript">
  7. // H5 plus事件处理
  8. function plusReady(){
  9. }
  10. if(window.plus){
  11. plusReady();
  12. }else{
  13. document.addEventListener('plusready', plusReady, false);
  14. }
  15. //短信
  16. function smsTest(){
  17. var msg = plus.messaging.createMessage(plus.messaging.TYPE_SMS);
  18. msg.to = ['18611497504', '15811140520'];
  19. msg.body = 'This is HTML5 Plus example test message';
  20. plus.messaging.sendMessage( msg );
  21. }
  22. </script>
  23. </head>
  24. <body>
  25. <button type="button" onclick="smsTest()">SMS</button>
  26. </body>
  27. </html>

uni-app使用plus注意事项

sendMessage

发送消息

  1. void plus.messaging.sendMessage(msg, successCB, errorCB);

说明:

发送消息,发送成功回调successCB函数,发送失败回调errorCB函数。

参数:

返回值:

void: 无

平台支持:

  • Android- 2.2+(支持): 支持
  • iOS- 4.3+(支持): 支持

示例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Messaging Example</title>
  6. <script type="text/javascript">
  7. // H5 plus事件处理
  8. function plusReady(){
  9. }
  10. if(window.plus){
  11. plusReady();
  12. }else{
  13. document.addEventListener('plusready', plusReady, false);
  14. }
  15. // 发送邮件
  16. function mailTest(){
  17. var msg = plus.messaging.createMessage(plus.messaging.TYPE_EMAIL);
  18. msg.to = ['test@163.com', 'test@173.com'];
  19. msg.cc = ['test@163.com', 'test@173.com'];
  20. msg.bcc = ['test@163.com', 'test@173.com'];
  21. msg.subject = '测试邮件';
  22. msg.body = 'This is Pandora example test message';
  23. plus.messaging.sendMessage( msg, function () {
  24. alert( "Send success!" );
  25. }, function () {
  26. alert( "Send failed!" );
  27. } );
  28. }
  29. </script>
  30. </head>
  31. <body>
  32. <button type="button" onclick="mailTest()">Send Mail</button>
  33. </body>
  34. </html>

uni-app使用plus注意事项

Message

消息对象

属性:

  • to: 收件人信息
  • cc: 抄送人信息
  • bcc: 暗送人信息
  • from: 发件人信息
  • subject: 发送消息主题
  • body: 发送消息内容
  • bodyType: 发送消息内容类型
  • silent: 是否采用静默方式发送消息

方法:

to

收件人信息

说明:

Array[String]类型 可选属性

字符串数组类型,输入的地址收件人信息必须符合消息类型格式。

cc

抄送人信息

说明:

Array[String]类型 可选属性

字符串数组类型,仅发送邮件时有效,输入的地址收件人信息必须符合消息类型格式。

bcc

暗送人信息

说明:

Array[String]类型 可选属性

字符串数组类型,仅发送邮件时有效,输入的地址收件人信息必须符合消息类型格式。

from

发件人信息

说明:

String类型 可选属性

仅在监听接收到的信息时有效。

subject

发送消息主题

说明:

String类型 可选属性

字符串类型,仅发送邮件时有效。

body

发送消息内容

说明:

String类型 可选属性

字符串类型,要发送的消息体内容,其格式必须与bodyType指定的一致。

bodyType

发送消息内容类型

说明:

BodyType类型 可选属性

要发送消息体内容的类型,可取值"text"表示文本内容,"html"表示为html页面,默认值为"text"。

平台支持:

  • iOS- 4.3+(支持): 支持指定消息体内容类型,可支持html和text模式。
  • Android- 2.2+(不支持): 不支持指定消息体内容类型,仅支持text模式。

示例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Messaging Example</title>
  6. <script type="text/javascript">
  7. // H5 plus事件处理
  8. function plusReady(){
  9. }
  10. if(window.plus){
  11. plusReady();
  12. }else{
  13. document.addEventListener('plusready', plusReady, false);
  14. }
  15. // send mail
  16. function mailTest(){
  17. var msg = plus.messaging.createMessage(plus.messaging.TYPE_SMS);
  18. msg.to = ['service@dcloud.io'];
  19. msg.bodyType = "text/html";
  20. msg.body = '<html><body>hello world!</body></html>';
  21. plus.messaging.sendMessage( msg );
  22. }
  23. </script>
  24. </head>
  25. <body>
  26. <button type="button" onclick="mailTest()">Mail</button>
  27. </body>
  28. </html>

uni-app使用plus注意事项

silent

是否采用静默方式发送消息

说明:

Boolean类型 可选属性

布尔类型,可取值为true或false,true表示静默方式发送,不弹出界面;false表示非静默方式发送。默认采用非静默方式。

平台支持:

  • iOS- 4.3+(不支持): 不支持静默方式发送消息,将忽略此属性值。
  • Android- 2.2+(支持): 支持静默方式发送短信(彩信和邮件不支持),发送成功后不会保留在系统的已发送信箱中,默认采用非静默方式发送消息。

示例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title>Messaging Example</title>
  6. <script type="text/javascript">
  7. // H5 plus事件处理
  8. function plusReady(){
  9. }
  10. if(window.plus){
  11. plusReady();
  12. }else{
  13. document.addEventListener('plusready', plusReady, false);
  14. }
  15. // send SMS
  16. function smsTest(){
  17. var msg = plus.messaging.createMessage(plus.messaging.TYPE_SMS);
  18. msg.to = ['10086', '10001'];
  19. msg.body = 'CXYE';
  20. msg.silent = true; // 设置为使用静默方式发送
  21. plus.messaging.sendMessage( msg );
  22. }
  23. </script>
  24. </head>
  25. <body>
  26. <button type="button" onclick="smsTest()">Silent SMS</button>
  27. </body>
  28. </html>

uni-app使用plus注意事项

addAttachment

添加附件

  1. msg.addAttachment( url );

说明:

向消息中添加附件,仅邮件类型消息支持,其它类型消息不支持。

参数:

  • url: (String)必选 要添加的附件资源地址附件资源必须是本地文件,支持相对路径及本地文件相对路径格式。

返回值:

void: 无

示例:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8"/>
  5. <meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
  6. <title>Messaging Example</title>
  7. <script type="text/javascript">
  8. // H5 plus事件处理
  9. function plusReady(){
  10. }
  11. if(window.plus){
  12. plusReady();
  13. }else{
  14. document.addEventListener('plusready', plusReady, false);
  15. }
  16. // send mail
  17. function mailTest(){
  18. var msg = plus.messaging.createMessage(plus.messaging.TYPE_MAIL);
  19. msg.to = ['service@dcloud.io'];
  20. msg.body = 'This is an example mail';
  21. msg.addAttachment("_www/a.doc");
  22. plus.messaging.sendMessage( msg );
  23. }
  24. </script>
  25. </head>
  26. <body>
  27. <button type="button" onclick="mailTest()">Mail with Attachment</button>
  28. </body>
  29. </html>

uni-app使用plus注意事项

BodyType

消息体内容类型

说明:

用于设定消息的消息体内容。

MessageSendSuccessCallback

消息发送成功的回调函数

  1. void onSuccess() {
  2. // Send message success code.
  3. }

参数:

返回值:

void: 无

MessageErrorCallback

消息发送失败的回调函数

  1. void onError( error ) {
  2. // Error code.
  3. }

参数:

  • error: (DOMException)必选 失败信息

返回值:

void: 无