1 /** 2 * 实名认证 3 */ 4 define(["core", "component/process_components","component/form"], function() { 5 6 var _html = '<div class="we_cell_form_box" attr="root"></div>'; 7 8 var api = { 9 /** 10 * 实名认证 11 */ 12 setRealName:function (id_card, realname, success, fail) 13 { 14 var url = $we.conf.ENV.__API + "/ajaxSafe/setRealName"; 15 $we.utils.request(url, { 16 id_card:id_card, 17 realname:realname 18 }, function (data) 19 { 20 success(data); 21 }, function (data) 22 { 23 fail(data); 24 }, "POST", true); 25 } 26 }; 27 28 $we.widget.reg("real_name_auth", { 29 interfaces:{ 30 /** 31 * render函数,AAA的接口函数,对于业务流组件来说,它完全可以转变为一个内置函数, 32 * 业务流组件在大多数情况下,不会调用interfaces 33 */ 34 render:function () 35 { 36 var t = this; 37 this.tips = $we.widget.add("process.tips.big", this.el, { 38 content:"您未填写防沉迷信息,按国家相关规定被纳入防沉迷系统。建议您马上填写防沉迷信息,以更好地获得网络服务。" 39 }); 40 41 this.append(this.el, _html); 42 43 this.form = $we.widget.add("Form", $(this.node['root']), { 44 form_elements:[ 45 { 46 label:'姓名', 47 name:'xing_ming', 48 id:'xing_ming', 49 events:'blur', 50 require:true, 51 success:'正确'//, 52 //info:'请输入您的真实姓名' 53 }, 54 { 55 label:'身份证号', 56 name:'id_number', 57 id:'id_number', 58 events:'blur', 59 expression:'id_card', 60 require:true, 61 success:'正确'//, 62 //info:'请输入您的身份证号码' 63 } 64 ], 65 commit:function(){ 66 t.notify('next'); 67 } 68 }); 69 }, 70 71 /** 72 * 错误显示 73 * @param content 74 */ 75 showError:function (content) 76 { 77 var errorTip = $(this.node['error_tip']); 78 errorTip.html('<i class="we_icon_error"></i>' + content); 79 errorTip.show(); 80 }, 81 82 /** 83 * 清楚错误 84 */ 85 cleanError:function () 86 { 87 var errorTip = $(this.node['error_tip']); 88 errorTip.html(''); 89 errorTip.hide(); 90 } 91 }, 92 /** 93 * 初始化函数 94 * @param {element} el 通过业务流组件传递过来的参数,该业务流组件的business节点 95 * @param {object} params 初始化业务流组件时,每个组件传递的参数 96 */ 97 init:function (el, params) 98 { 99 this.el = el; 100 this.params = params; 101 }, 102 /** 103 * 每个组件,如果需要使用业务流的话,需要声明这个 104 */ 105 process:{ 106 /** 107 * 组件开始调用,业务流组件会调用这个接口来启用组件 108 */ 109 start:function () 110 { 111 this.render(); 112 }, 113 /** 114 * 组件结束调用,当这个业务结束的时候,业务流组件会调用它 115 */ 116 end:function () 117 { 118 $(this.el).empty(); 119 }, 120 /** 121 * 组件检测是否可以进行下一步 122 * 当组件需要进入下一步时,业务流组件将会调用这个接口, 123 * 这个接口需要通过 this.notify("goNext") 来通知业务流组件它检测通过, 124 * 否则业务流组件在这个地方会停滞下来 通过 this.notify("pause")来通知 125 */ 126 checkSucc:function () 127 { 128 var t = this; 129 if (this.form.valid()) { 130 var xingMing = this.form.getValue('xing_ming'); 131 var idNumber = this.form.getValue('id_number'); 132 133 api.setRealName(idNumber, xingMing, function (data) 134 { 135 t.notify("goNext"); 136 }, function (data) 137 { 138 $we.comp.alert(data.msg); 139 }); 140 } 141 } 142 }, 143 events:{ 144 } 145 }); 146 147 });