消息、公告
追踪我们的最新信息。
2022年12月1日 下午12:00

Donations are crucial for the success and sustainability of FOSSBilling and other open-source projects. Without financial support from users and the broader community, it is difficult for these projec...

Continue reading
2022年12月1日 下午12:00

  • Supports automated billing, invoicing, product provisioning
  • Automatically create accounts as soon as the payment is received, suspend when account becomes overdue, terminate when a specified amoun...

Continue reading
2022年12月1日 下午12:00

  • You can create your own simple or advanced hooks on FOSSBilling events. For example, send notification via sms when new client signs up.
  • Create custom theme for your client interface

Continue reading
顶部 function getAllUrlParams(url) { // get query string from url (optional) or window var queryString = url ? url.split('?')[1] : window.location.search.slice(1); // we'll store the parameters here var obj = {}; // if query string exists if (queryString) { // stuff after # is not part of query string, so get rid of it queryString = queryString.split('#')[0]; // split our query string into its component parts var arr = queryString.split('&'); for (var i = 0; i < arr.length; i++) { // separate the keys and the values var a = arr[i].split('='); // set parameter name and value (use 'true' if empty) var paramName = a[0]; var paramValue = typeof (a[1]) === 'undefined' ? true : a[1]; // (optional) keep case consistent paramName = paramName.toLowerCase(); if (typeof paramValue === 'string') paramValue = paramValue.toLowerCase(); // if the paramName ends with square brackets, e.g. colors[] or colors[2] if (paramName.match(/\[(\d+)?\]$/)) { // create key if it doesn't exist var key = paramName.replace(/\[(\d+)?\]/, ''); if (!obj[key]) obj[key] = []; // if it's an indexed array e.g. colors[2] if (paramName.match(/\[\d+\]$/)) { // get the index value and add the entry at the appropriate position var index = /\[(\d+)\]/.exec(paramName)[1]; obj[key][index] = paramValue; } else { // otherwise add the value to the end of the array obj[key].push(paramValue); } } else { // we're dealing with a string if (!obj[paramName]) { // if it doesn't exist, create property obj[paramName] = paramValue; } else if (obj[paramName] && typeof obj[paramName] === 'string'){ // if property does exist and it's a string, convert it to an array obj[paramName] = [obj[paramName]]; obj[paramName].push(paramValue); } else { // otherwise add the property obj[paramName].push(paramValue); } } } } return obj; } //action const domain_inputs = document.querySelectorAll('input') //tld name if(getAllUrlParams().query){ //document.forms[0].elements['register_sld'].value = getAllUrlParams().query; domain_inputs[1].value = getAllUrlParams().query; domain_inputs[7].value = getAllUrlParams().query; }