在yeoman下做party_bid第二张卡总结

在做第二张卡的时候,需要用到接收短信的机制,而生成工程时候,没有生成接收短信的文件Sms.js,所以在做短信的处理之前先引入了sms.js的文件到自己的工程里。

1  模拟系统回复短信

在之后要将自己的工程打包装到模拟器上测试的时候,要在自己的工程里引入cordova的插件,目前在页面上测试,我用conslose.log("/*回复的内容*/")来模拟系统发短信

2  页面显示报名人的姓名和联系电话,姓名靠左,电话靠右

之前我做的时候姓名和电话不在一行上,一个靠左显示一个靠右显示,但是显示的时候需要去掉分行,在yeoman下做的时候,修改一下haml文件的列表显示。

实例:

%li(ng-repeat="current in currents")
      .header-left
        {{current.name}}
      .header-right
        {{current.phone}}

列表内左边显示姓名,右边显示电话,分行就没有了。

3  提取BM并判断是否要保存短信

先将短信中的前两个字符提取出来,并将其转换为大写的字母,如果是BM才对该短信进行处理,否则不接收

var get_bm=json_message.messages[0].message.substr(0, 2).toUpperCase();

toUpperCase(),可以实现将字母转换为大写

4  报名短信的存储

之前在做party_bid的时候,在存储报名短信的时候在Sms.js里面定义了一个数组和数组的属性,在yeoman工程下做的时候,创建了一个对短信处理的model,在model里实现对短信的存取和处理,

实例:

保存报名短信
function Message(activity, name, phone) {
    this.activity = activity;
    this.name = name;
    this.phone = phone;
}
Message.save_message = function (json_message) {
    var messages = JSON.parse(localStorage.getItem('messages')) || [];
    var message = new Message(localStorage.starting_activity, Message.received_name(json_message), Message.received_phone(json_message));
    messages.push(message);
    localStorage.setItem('messages', JSON.stringify(messages));
}

5  正在报名的活动对应的底色为黄色

在index.CSS的文件中写了一个样式,当返回值为start的时候即为黄色

.start{
    background: yellow !important;
}

在haml里给列表设置一个class  

%li(class="{{activity_yellow(activity.activity)}}")

在js里面写对应的控制

$scope.activity_yellow = function (activity) {
            if (Activity.background_yellow(activity)) {
                return "start";
            }
        }

Activity.background_yellow(activity)是从本地数据库中找到正在进行报名的活动并返回。

6  点击结束弹出二次提醒对话框

利用confrim(/*要提醒的内容*/),

相关推荐