party_bid第二张卡总结

     第二张卡主要涉及短信的收发,对收到的短信进行处理,提取有用信息。以下是对第二张卡的一些方法总结。
     收到短信是先要对短信进行去空格处理,而后查询是否包含关键字,这里用到的方法如下:
   
message.replace(/\s/g, "")
message.search(/bm/i)    

     需要说明的是replace(/\s/g, "")中"\s"表示空白字符,"/g"表示全局,即用""来替换message中所有的空格,以达到去空格的目的。

     search(/bm/i),表示在message中查找关键词bm,返回的i是指bm在message在字符串中的位置。如:massage="bmjsidjiejd",则message.search(/bm/i)返回的i=0。

     对短信进行有用信息提取的时候还涉及到如下方法:
    
massage.substr(2)
massage.substring(0,2) 

      以上两种方法得出的效果是一样的,massage.substr(2)中“2”表示从首位开始,去除前两位,这种方法只能用于去除字符串前面的数据,而 massage.substring(0,2)可以去除字符串中任何一位。“0”表示从首位开始,“2”同massage.substr(2)中“2”意义相同,这个方法可以通过改变massage.substring(a,b)中a来定位字符串中任何位置的数据。

     这张卡在页面方面主要要注意的是:当活动进行时,活动列表中该活动名背景色为黄色。这里涉及到活动列表与活动报名页面的连接,及实时监听,我使用的方法是ng-class。
     在html页面列表中写
ng-class={"bkcolor:activity.status===1"}

     bkcolor是写在css里面的样式,activity.status===1代表活动进行时,用绝对等于是为了兼顾代码的严密性,当然也可以用==。整个方法是指当activity.status===1时,页面自动调用bkcolor中的样式。

      活动报名页面需要实时刷新
      在报名页面添加如下代码:
 
<div id="register"></div> //id为页面id

      在相应js中添加:
 
var register = document.getElementById("register");  //获取报名页面的id  
              if (register) {  
              var scope = angular.element(register).scope();//通过id找到对应的页面获取$scope  
              scope.$apply(function () { //使用$apply()将报名页面的refresh方法包起来调用  
               scope.refresh();  
                });  
                 }  


     最后要强调的是,在打包安装到手机上时,很有可能其他功能正常执行,却会不了短信,这时需要注意的是你引用js的顺序。引用顺序的不同,调用的顺序也是不同的,可能你先引用了这个js方法中有用到另一个js,你如果没有先引另一个js,那么这个js就调不到方法,功能也就自然不能实现。
                            

你可能感兴趣的:(part)