domain.js 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303
  1. var app = new Vue({
  2. el:'#outer',
  3. data:{
  4. domainParams : [
  5. {
  6. DomainName : '',
  7. RegistrantProfileId : '',
  8. }
  9. ],
  10. templateList : [
  11. ],
  12. searchParam : {
  13. domain : '',
  14. status : '',
  15. },
  16. pagination:{
  17. page_total: 1,
  18. page_rows:20,
  19. p:1,
  20. nowPage:1,
  21. },
  22. tableData : [],//表格数据
  23. result : '',
  24. modelTitle : '',
  25. modelValue : '',
  26. appList : [],
  27. checkboxChecked : [],
  28. isBatch : true,//是否批量解析域名
  29. domainBatchParsingInfo : {
  30. Rr : '',
  31. Value : ''
  32. },
  33. statusArr:['等待执行','执行中','执行成功','执行失败'],
  34. dnsStatus:['正在解析','解析失败','未解析','解析成功',],//域名解析状态 0 未解析, 1 解析成功, -1 解析失败, -2 正在解析
  35. randomDomain : '',
  36. randomDomainSave : '',
  37. },
  38. created: function(){
  39. },
  40. components:{
  41. 'Selectd': componentSelect,
  42. 'Options': componentOption,
  43. 'Pagination': componentPage,
  44. },
  45. methods: {
  46. init: function(){
  47. showLoading();
  48. var _this = this;
  49. var data = {
  50. domain : this.searchParam.domain,
  51. status : this.searchParam.status,
  52. page : this.pagination.p,
  53. }
  54. getAjax(data, 'post', '/api/domainList', function(result){
  55. _this.result = result;
  56. _this.tableData = result.data;
  57. _this.pagination.page_total = result.page.Count * 1
  58. hideLoading();
  59. });
  60. },
  61. // 分页
  62. nowPage:function(page, page_rows){
  63. this.pagination.p = page;
  64. this.pagination.page_rows = page_rows;
  65. this.init();
  66. },
  67. //添加域名页面显示
  68. addDomain:function(){
  69. $('#add_modal').modal('show');
  70. this.domainParams = [
  71. {
  72. DomainName : '',
  73. RegistrantProfileId : ''
  74. }
  75. ]
  76. var _this = this
  77. getAjax({}, 'post', '/api/getBaseDomain', function(result){
  78. _this.randomDomainSave = result.data;
  79. });
  80. },
  81. showRandom(){
  82. $('#random_modal').modal('show');
  83. var _this = this
  84. getAjax({}, 'post', '/api/getBaseDomain', function(result){
  85. _this.randomDomain = result.data;
  86. });
  87. },
  88. /**
  89. * 域名购买时的添加域名
  90. */
  91. addElement(){
  92. if(this.domainParams.length == 1000){
  93. weile.F.alert('一次至多只能添加1000个域名');
  94. return false;
  95. }
  96. this.domainParams.push(
  97. {
  98. DomainName : '',
  99. RegistrantProfileId : '',
  100. }
  101. )
  102. },
  103. /**
  104. * 设置随机域名
  105. */
  106. setRandom(index){
  107. if(this.randomDomainSave){
  108. this.domainParams[index].DomainName = this.randomDomainSave +Math.random().toString(36).substr(8)+'.com';
  109. }else{
  110. this.domainParams[index].DomainName = Math.random().toString(36).substr(2)+'.com';
  111. }
  112. },
  113. /**
  114. * 删除域名
  115. */
  116. deleteElement(index){
  117. this.domainParams.splice(index,1)
  118. },
  119. /**
  120. * 域名保存
  121. */
  122. addDomainSave : function(){
  123. var _this = this;
  124. for(var i in this.domainParams){
  125. if(this.domainParams[i].DomainName == '' || this.domainParams[i].RegistrantProfileId == ''){
  126. weile.F.alert('域名和模板不能为空');
  127. return false;
  128. }
  129. }
  130. var domains = '[';
  131. var domainsName = '[';
  132. for(var i in this.domainParams){
  133. if(i == this.domainParams.length -1){
  134. domains += '{"DomainName":"'+this.domainParams[i].DomainName+'","RegistrantProfileId":"'+this.domainParams[i].RegistrantProfileId+'"}'
  135. domainsName += '"'+this.domainParams[i].DomainName+'"'
  136. }else{
  137. domains += '{"DomainName":"'+this.domainParams[i].DomainName+'","RegistrantProfileId":"'+this.domainParams[i].RegistrantProfileId+'"},'
  138. domainsName += '"'+this.domainParams[i].DomainName+',"'
  139. }
  140. }
  141. domains += ']';
  142. domainsName += ']';
  143. getAjax({domains:domainsName}, 'post', '/api/checkDomain', function(result){
  144. var res = result.data;
  145. var information = '';
  146. for(var d in res){
  147. if(res[d] != 1){
  148. information += d
  149. }
  150. }
  151. if(information != ''){
  152. weile.F.alert(information+'不可注册');
  153. return false;
  154. }
  155. getAjax({domains:domains}, 'post', '/api/registerDomain', function(result){
  156. weile.F.alert('添加成功');
  157. $('#_global_modal_alert').on('hide.bs.modal', function () {
  158. $('#add_modal').modal('hide');
  159. _this.init();
  160. })
  161. });
  162. });
  163. },
  164. /**
  165. * 重启
  166. * @return {[type]} [description]
  167. */
  168. restart(){
  169. if(this.checkboxChecked.length == 0){
  170. weile.F.alert('请至少选择一个域名');
  171. return false;
  172. };
  173. console.log(this.checkboxChecked)
  174. },
  175. /**
  176. * 域名逐一解析解析显示
  177. * @return {[type]} [description]
  178. */
  179. domainParsing(){
  180. if(this.checkboxChecked.length == 0){
  181. weile.F.alert('请至少选择一个域名');
  182. return false;
  183. }
  184. for(var i in this.checkboxChecked){
  185. if( this.checkboxChecked[i].dns_status == -2){
  186. weile.F.alert('已选的域名中有正在执行中的不可以再进行解析');
  187. return false;
  188. }
  189. if(this.checkboxChecked[i].status != 2){
  190. weile.F.alert('已选的域名中未全部注册成功过,不能进行解析');
  191. return false;
  192. }
  193. }
  194. this.isBatch = false;
  195. $('#parsing_modal').modal('show');
  196. console.log(this.checkboxChecked)
  197. },
  198. /**
  199. * 域名批量解析解析显示
  200. * @return {[type]} [description]
  201. */
  202. domainBatchParsing(){
  203. if(this.checkboxChecked.length == 0){
  204. weile.F.alert('请至少选择一个域名');
  205. return false;
  206. }
  207. for(var i in this.checkboxChecked){
  208. if(this.checkboxChecked[i].dns_status == -2){
  209. weile.F.alert('已选的域名中有正在执行中的不可以再进行解析');
  210. return false;
  211. }
  212. if(this.checkboxChecked[i].status != 2){
  213. weile.F.alert('已选的域名中未全部注册成功过,不能进行解析');
  214. return false;
  215. }
  216. }
  217. this.isBatch = true;
  218. $('#parsing_modal').modal('show');
  219. },
  220. /**
  221. * 域名解析的保存
  222. */
  223. parsingSave(){
  224. var _this = this;
  225. var params = [];
  226. if(this.isBatch){
  227. if(this.domainBatchParsingInfo.Value == ''){
  228. weile.F.alert('二级域名和ip地址不能为空');
  229. return false;
  230. }
  231. for(var i in this.checkboxChecked){
  232. var temp = {
  233. Domain : this.checkboxChecked[i].domain,
  234. Type : 'A',
  235. Rr : '@',
  236. Value : this.domainBatchParsingInfo.Value
  237. }
  238. var temp1 = {
  239. Domain : this.checkboxChecked[i].domain,
  240. Type : 'A',
  241. Rr : '*',
  242. Value : this.domainBatchParsingInfo.Value
  243. }
  244. params.push(temp)
  245. params.push(temp1)
  246. }
  247. }else{
  248. for(var i in this.checkboxChecked){
  249. if(this.checkboxChecked[i].Value == ''){
  250. weile.F.alert('ip地址不能为空');
  251. return false;
  252. }
  253. var temp = {
  254. Domain : this.checkboxChecked[i].domain,
  255. Type : 'A',
  256. Rr : '@',
  257. Value : this.checkboxChecked[i].Value
  258. }
  259. var temp1 = {
  260. Domain : this.checkboxChecked[i].domain,
  261. Type : 'A',
  262. Rr : '*',
  263. Value : this.checkboxChecked[i].Value
  264. }
  265. params.push(temp);
  266. params.push(temp1);
  267. }
  268. }
  269. getAjax({domains:JSON.stringify(params)}, 'post', '/api/operateBatchDomain', function(result){
  270. weile.F.alert('解析提交成功');
  271. $('#_global_modal_alert').on('hide.bs.modal', function () {
  272. $('#parsing_modal').modal('hide')
  273. _this.init();
  274. })
  275. });
  276. },
  277. /**
  278. * 随机域名设置
  279. */
  280. randomSave(){
  281. var params = {
  282. domain : this.randomDomain
  283. }
  284. getAjax(params, 'post', '/api/setBaseDomain', function(result){
  285. weile.F.alert('设置成功');
  286. $('#_global_modal_alert').on('hide.bs.modal', function () {
  287. $('#random_modal').modal('hide')
  288. })
  289. });
  290. },
  291. },
  292. mounted: function(){
  293. var _this = this;
  294. getAjax({}, 'post', '/api/infoList', function(result){
  295. console.log(result);
  296. _this.templateList = result.data.RegistrantProfile;
  297. });
  298. this.init();
  299. },
  300. })