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 });