1 /**
  2  * 设置别名确认
  3  */
  4 define(["core", "component/process_components"], function() {
  5 
  6     var _html = '<div class="we_cell_form_box" attr="root"><div class="we_item we_ml130">确认继续更换手机请点击下一步,否则点击取消放弃操作</div></div>';
  7 
  8     var _btmTips = ["<strong>温馨提示:</strong>如果是手机账号,更换手机后登录名将变成新手机号<br>",
  9                         "<strong>手机账号:</strong>可以用手机号码作为登录名的账号"].join('');
 10 
 11     var api = {
 12         /**
 13          * 确认
 14          * @return {[type]} [description]
 15          */
 16         confirm:function(group,handler){
 17             var url = $we.conf.ENV.__API;
 18             if(group){
 19                 url +="/ajaxSafe/changeGroupMobile";
 20             }else{
 21                 url +="/ajaxSafe/changeAccountMobile";
 22             }
 23             $we.utils.request(url, {
 24             }, function(data) {
 25                 handler(data.data);
 26             }, function(data) {
 27                 $we.comp.alert(data.msg);
 28             }, "POST", true);
 29         }
 30     };
 31 
 32     /**
 33      * 设置别名确认
 34      */
 35     $we.widget.reg("set_login_name_confirm", {
 36         interfaces:{
 37             /**
 38              * render函数,AAA的接口函数,对于业务流组件来说,它完全可以转变为一个内置函数,
 39              * 业务流组件在大多数情况下,不会调用interfaces
 40              */
 41             render:function ()
 42             {
 43                 var phone = $we.process.getData('phone');
 44                 var alias = $we.process.getData('alias');
 45                 var defaultTip=[];
 46                 defaultTip.push("更换手机后,原手机账号");
 47                 defaultTip.push('<span class="we_yellow">'+phone+'</span>将不能用手机号码直接登录');
 48                 if(alias && alias.length>0){
 49                     defaultTip.push(",需要改用"+alias+"登录");                    
 50                 }
 51 
 52                 var tips = this.params.tips || defaultTip.join('');
 53                 var btmTips = this.params.btmTips || _btmTips;
 54                 
 55                 this.tips = $we.widget.add("process.tips.small", this.el, {
 56                     content:tips
 57                 });
 58                 this.append(this.el, _html);
 59 
 60                 this.notify("renderBottom", btmTips);
 61                 this.notify("setButton", {cancel:true});
 62             }
 63         },
 64         /**
 65          * 初始化函数
 66          * @param  {element} el    通过业务流组件传递过来的参数,该业务流组件的business节点
 67          * @param  {object} params 初始化业务流组件时,每个组件传递的参数
 68          */
 69         init:function (el, params)
 70         {
 71             params = params || {};
 72             this.el = el;
 73             this.params = params;
 74         },
 75         /**
 76          * 每个组件,如果需要使用业务流的话,需要声明这个
 77          */
 78         process:{
 79             /**
 80              * 组件开始调用,业务流组件会调用这个接口来启用组件
 81              */
 82             start:function ()
 83             {
 84                 this.render();
 85             },
 86             /**
 87              * 组件结束调用,当这个业务结束的时候,业务流组件会调用它
 88              */
 89             end:function ()
 90             {
 91                 this.tips.remove();
 92                 $(this.el).empty();
 93             },
 94             /**
 95              * 组件检测是否可以进行下一步
 96              * 当组件需要进入下一步时,业务流组件将会调用这个接口,
 97              * 这个接口需要通过 this.notify("goNext") 来通知业务流组件它检测通过,
 98              * 否则业务流组件在这个地方会停滞下来 通过 this.notify("pause")来通知
 99              */
100             checkSucc:function ()
101             {
102                 var t =this;
103                 
104                 var alias = $we.process.getData('alias');
105                 if(alias){
106                     var group = this.params.group;
107                     api.confirm(group,function(){
108                         t.notify("goNext");
109                     });
110                 }else{
111                     this.notify("goNext");
112                 }
113             }
114         },
115         events:{
116         }
117     });
118 
119 });