1 /** 2 * 更换成功 3 */ 4 define(["core", "component/process_components"], function() { 5 6 var _html = [ 7 '<div class="we_pop_content_box" style="margin-left:50px;">', 8 '<div class="we_cell_status">', 9 '<p class="we_txt"><strong class="we_cell_title"><i class="we_icon_suc_b"></i>更换手机成功!</strong></p>', 10 '</div>', 11 '</div>', 12 '<div class="we_cell_phone_change" style="margin-left:50px;">', 13 '<ul class="we_phone_box">', 14 '<li class="we_phone_item_old">原手机:<strong class="we_phone_number">$phone$</strong></li>', 15 '<li class="we_phone_item_text">成功更改为</li>', 16 '<li class="we_phone_item_new" style="margin-left:10px;">新手机:<strong class="we_phone_number">$new_phone$</strong></li>', 17 '</ul>', 18 '</div>', 19 '<div class="we_cell_multext" style="margin-left:50px;">', 20 '<ul class="we_cell_multext_box">', 21 '<li attr="old_notice" style="display:none;">原手机账号 <span class="we_blue">$phone$</span>可以用 <span class="we_blue">$new_phone$</span> 作为账号名直接登录</li>', 22 '<li attr="notice_alias" style="display:none;">新手机账号 <span class="we_blue">$new_phone$</span>将使用 <span class="we_blue">$alias$</span> 登录</li>', 23 '</ul>', 24 '</div>' 25 ].join(''); 26 27 var _tip="请为账号设置新的登录名,设置成功后原账号,只能使用新的登录名登录。"; 28 29 var _btmTips = ["<strong>温馨提示:</strong>如果是手机账号,更换手机后登录名将变成新手机号<br>", 30 "<strong>手机账号:</strong>可以用手机号码作为登录名的账号"].join(''); 31 32 /** 33 * 更换成功 34 */ 35 $we.widget.reg("phone_change_success", { 36 interfaces:{ 37 /** 38 * render函数,AAA的接口函数,对于业务流组件来说,它完全可以转变为一个内置函数, 39 * 业务流组件在大多数情况下,不会调用interfaces 40 */ 41 render:function () 42 { 43 var newPhone=$we.process.getData('new_phone'); 44 newPhone = $we.string.maskString(newPhone); 45 var needDemote = $we.process.getData('need_demote'); 46 var oldIsMobile =$we.process.getData('old_is_mobile_acc'); 47 48 this.append(this.el, _html,{ 49 phone:$we.process.getData('phone'), 50 new_phone:newPhone, 51 alias:$we.process.getData('alias') 52 }); 53 if(oldIsMobile){ 54 $(this.node['old_notice']).show(); 55 } 56 if(needDemote){ 57 $(this.node['notice_alias']).show(); 58 } 59 this.notify("renderBottom", _btmTips); 60 } 61 }, 62 /** 63 * 初始化函数 64 * @param {element} el 通过业务流组件传递过来的参数,该业务流组件的business节点 65 * @param {object} params 初始化业务流组件时,每个组件传递的参数 66 */ 67 init:function (el, params) 68 { 69 params = params ||{}; 70 this.el = el; 71 this.params = params; 72 this.params.success = $we.utils.setValue(this.params.success, $we.emptyFunction); 73 }, 74 /** 75 * 每个组件,如果需要使用业务流的话,需要声明这个 76 */ 77 process:{ 78 /** 79 * 组件开始调用,业务流组件会调用这个接口来启用组件 80 */ 81 start:function () 82 { 83 this.render(); 84 }, 85 /** 86 * 组件结束调用,当这个业务结束的时候,业务流组件会调用它 87 */ 88 end:function () 89 { 90 this.params.success(); 91 $(this.el).empty(); 92 }, 93 /** 94 * 组件检测是否可以进行下一步 95 * 当组件需要进入下一步时,业务流组件将会调用这个接口, 96 * 这个接口需要通过 this.notify("goNext") 来通知业务流组件它检测通过, 97 * 否则业务流组件在这个地方会停滞下来 通过 this.notify("pause")来通知 98 */ 99 checkSucc:function () 100 { 101 this.notify("goNext"); 102 } 103 }, 104 events:{ 105 } 106 }); 107 108 });