JavaScript 多条数组不同长度循环合并到新数组导出到table

1 篇文章 0 订阅
1 篇文章 0 订阅

1.后端返回多个表格数组结构

1. new_player_bet_data: [{bet_tax: "0", game_tye: 30, bet_count: "24062", bet_amount: "-650160000", game_level: 2,},]0: {bet_tax: "0", game_tye: 30, bet_count: "24062", bet_amount: "-650160000", game_level: 2,}1: {bet_tax: "0", game_tye: 46, bet_count: "1", bet_amount: "-270000", game_level: 2,}2: {bet_tax: "0", game_tye: 50, bet_count: "1", bet_amount: "-30000", game_level: 2,}3: {bet_tax: "0", game_tye: 51, bet_count: "1989", bet_amount: "-537030000", game_level: 2,}4: {bet_tax: "0", game_tye: 52, bet_count: "1", bet_amount: "-216000", game_level: 2,}5: {bet_tax: "0", game_tye: 61, bet_count: "2", bet_amount: "-440000", game_level: 2,}
1. new_players_win_data: [{win_tax: "0", game_tye: 30, win_count: "9456", game_level: 2, win_amount: "643116000",},]0: {win_tax: "0", game_tye: 30, win_count: "9456", game_level: 2, win_amount: "643116000",}1: {win_tax: "0", game_tye: 46, win_count: "1", game_level: 2, win_amount: "150000",}2: {win_tax: "0", game_tye: 50, win_count: "1", game_level: 2, win_amount: "230000",}3: {win_tax: "0", game_tye: 51, win_count: "1174", game_level: 2, win_amount: "466320000",}4: {win_tax: "0", game_tye: 52, win_count: "1", game_level: 2, win_amount: "960000",}5: {win_tax: "0", game_tye: 61, win_count: "1", game_level: 2, win_amount: "200000",}
2. old_player_bet_data: [{bet_tax: "0", game_tye: 16, bet_count: "1000", bet_amount: "-449595000", game_level: 2,},]0: {bet_tax: "0", game_tye: 16, bet_count: "1000", bet_amount: "-449595000", game_level: 2,}1: {bet_tax: "59434452", game_tye: 30, bet_count: "101939", bet_amount: "-3016818000", game_level: 2,}2: {bet_tax: "1080000", game_tye: 30, bet_count: "39", bet_amount: "-56700000", game_level: 3,}3: {bet_tax: "0", game_tye: 30, bet_count: "3", bet_amount: "-56700000", game_level: 4,}4: {bet_tax: "0", game_tye: 38, bet_count: "3", bet_amount: "-1050000", game_level: 2,}5: {bet_tax: "0", game_tye: 39, bet_count: "4", bet_amount: "-1395000", game_level: 2,}6: {bet_tax: "0", game_tye: 39, bet_count: "2", bet_amount: "-900000", game_level: 3,}7: {bet_tax: "0", game_tye: 39, bet_count: "38", bet_amount: "-171000000", game_level: 4,}8: {bet_tax: "0", game_tye: 46, bet_count: "36", bet_amount: "-3645000", game_level: 2,}9: {bet_tax: "0", game_tye: 46, bet_count: "1", bet_amount: "-270000", game_level: 3,}10: {bet_tax: "3683244", game_tye: 50, bet_count: "614874", bet_amount: "-184461930000", game_level: 2,}11: {bet_tax: "0", game_tye: 51, bet_count: "3", bet_amount: "-810000", game_level: 2,}12: {bet_tax: "0", game_tye: 52, bet_count: "4", bet_amount: "-1080000", game_level: 2,}13: {bet_tax: "0", game_tye: 53, bet_count: "3", bet_amount: "-810000", game_level: 2,}14: {bet_tax: "0", game_tye: 61, bet_count: "3", bet_amount: "-1200000", game_level: 2,}15: {bet_tax: "0", game_tye: 65, bet_count: "5", bet_amount: "-600000", game_level: 2,}16: {bet_tax: "0", game_tye: 65, bet_count: "39", bet_amount: "-228500000", game_level: 3,}17: {bet_tax: "147060", game_tye: 67, bet_count: "7885", bet_amount: "-70965000", game_level: 2,}18: {bet_tax: "2236738", game_tye: 67, bet_count: "580", bet_amount: "-104400000", game_level: 3,}19: {bet_tax: "1080028", game_tye: 67, bet_count: "66", bet_amount: "-831600000", game_level: 4,}
3. old_players_win_data: [{win_tax: "0", game_tye: 16, win_count: "551", game_level: 2, win_amount: "491292400",},]0: {win_tax: "0", game_tye: 16, win_count: "551", game_level: 2, win_amount: "491292400",}1: {win_tax: "26402571", game_tye: 30, win_count: "40683", game_level: 2, win_amount: "2917323000",}2: {win_tax: "1125000", game_tye: 30, win_count: "20", game_level: 3, win_amount: "108990000",}3: {win_tax: "0", game_tye: 30, win_count: "3", game_level: 4, win_amount: "57000000",}4: {win_tax: "0", game_tye: 38, win_count: "1", game_level: 2, win_amount: "5450000",}5: {win_tax: "0", game_tye: 39, win_count: "1", game_level: 2, win_amount: "2400000",}6: {win_tax: "0", game_tye: 39, win_count: "13", game_level: 4, win_amount: "282750000",}7: {win_tax: "0", game_tye: 46, win_count: "21", game_level: 2, win_amount: "2802000",}8: {win_tax: "2052816", game_tye: 50, win_count: "342848", game_level: 2, win_amount: "179638397389",}9: {win_tax: "0", game_tye: 51, win_count: "2", game_level: 2, win_amount: "360000",}10: {win_tax: "0", game_tye: 52, win_count: "2", game_level: 2, win_amount: "6630000",}11: {win_tax: "0", game_tye: 53, win_count: "2", game_level: 2, win_amount: "150000",}12: {win_tax: "0", game_tye: 61, win_count: "1", game_level: 2, win_amount: "100000",}13: {win_tax: "0", game_tye: 65, win_count: "1", game_level: 2, win_amount: "326666",}14: {win_tax: "0", game_tye: 65, win_count: "20", game_level: 3, win_amount: "220264849",}15: {win_tax: "1859808", game_tye: 67, win_count: "5038", game_level: 2, win_amount: "1144345430",}16: {win_tax: "4023007", game_tye: 67, win_count: "473", game_level: 3, win_amount: "2414542077",}17: {win_tax: "2925007", game_tye: 67, win_count: "58", game_level: 4, win_amount: "23900425100",}
	//  里面对象结构名还是重复一样的情况
		  bet_amount: ""
		  bet_count: ""
		  bet_player_count: ""
		  bet_tax: ""
		  game_level: 2
		  game_tye: 30

2.处理函数方法

根据数组的长度去判断 那个数组最长在进行数据处理 (我这里四个数组长度是 => 6,6,20,18
HTML结构

3.JS函数处理

var new_player_bet_data = msgJson.new_player_bet_data
var new_players_win_data = msgJson.new_players_win_data
var old_player_bet_data = msgJson.old_player_bet_data
var old_players_win_data = msgJson.old_players_win_data
  
<!-- 创建一个空数组存处理完的数据 -->
var combined = [];

<!-- 在进行判断数组长度 数组最长的进行for循环去push -->
if (new_player_bet_data.length > new_players_win_data.length && new_player_bet_data.length > old_player_bet_data.length && new_player_bet_data.length > old_players_win_data.length) {
  for (var i = 0; i < new_player_bet_data.length; i++) {
      combined[i] = {
        new_player_bet_data_room: GAME_KIND['(' + new_player_bet_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + new_player_bet_data[i]?.game_tye + ')'] + '(' + new_player_bet_data[i]?.game_level + ')',
        new_player_bet_data_bet_count: new_player_bet_data[i]?.bet_count == undefined ? '' :  new_player_bet_data[i]?.bet_count,
        new_player_bet_data_bet_amount: isNaN((new_player_bet_data[i]?.bet_amount / 100000).toFixed(2)) ? '' :  (new_player_bet_data[i]?.bet_amount / 100000).toFixed(2),
        new_player_bet_data_bet_player_count: new_player_bet_data[i]?.bet_player_count == undefined ? '' :  new_player_bet_data[i]?.bet_player_count,
        new_player_bet_data_bet_tax: isNaN((new_player_bet_data[i]?.bet_tax / 100000).toFixed(2)) ? '' :  (new_player_bet_data[i]?.bet_tax / 100000).toFixed(2),
  
        old_player_bet_data_room: GAME_KIND['(' + old_player_bet_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + old_player_bet_data[i]?.game_tye + ')'] + '(' + old_player_bet_data[i]?.game_level + ')',
        old_player_bet_data_bet_count: old_player_bet_data[i]?.bet_count == undefined ? '' : old_player_bet_data[i]?.bet_count,
        old_player_bet_data_bet_amount: isNaN((old_player_bet_data[i]?.bet_amount / 100000).toFixed(2)) ? '' :  (old_player_bet_data[i]?.bet_amount / 100000).toFixed(2),
        old_player_bet_data_bet_player_count: old_player_bet_data[i]?.bet_player_count == undefined ? '' :  old_player_bet_data[i]?.bet_player_count,
        old_player_bet_data_bet_tax: isNaN((old_player_bet_data[i]?.bet_tax / 100000).toFixed(2)) ? '' :  (old_player_bet_data[i]?.bet_tax / 100000).toFixed(2),
  
        new_players_win_data_room: GAME_KIND['(' + new_players_win_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + new_players_win_data[i]?.game_tye + ')'] + '(' + new_players_win_data[i]?.game_level + ')',
        new_players_win_data_win_count: new_players_win_data[i]?.win_count == undefined ? '' : new_players_win_data[i]?.win_count,
        new_players_win_data_win_amount: isNaN((new_players_win_data[i]?.win_amount / 100000).toFixed(2)) ? '' : (new_players_win_data[i]?.win_amount / 100000).toFixed(2),
        new_players_win_data_win_tax: isNaN((new_players_win_data[i]?.win_tax / 100000).toFixed(2)) ? '' : (new_players_win_data[i]?.win_tax / 100000).toFixed(2),
  
        old_players_win_data_room: GAME_KIND['(' + old_players_win_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + old_players_win_data[i]?.game_tye + ')'] + '(' + old_players_win_data[i]?.game_level + ')',
        old_players_win_data_win_count: old_players_win_data[i]?.win_count == undefined ? '' : old_players_win_data[i]?.win_count,
        old_players_win_data_win_amount: isNaN((old_players_win_data[i]?.win_amount / 100000).toFixed(2)) ? '' : (old_players_win_data[i]?.win_amount / 100000).toFixed(2),
        old_players_win_data_win_tax: isNaN((old_players_win_data[i]?.win_tax / 100000).toFixed(2)) ? '' : (old_players_win_data[i]?.win_tax / 100000).toFixed(2),
        };
      }

    }else if (new_players_win_data.length > new_player_bet_data.length && new_players_win_data.length > old_player_bet_data.length && new_players_win_data.length > old_players_win_data.length) {
      for (var i = 0; i < new_players_win_data.length; i++) {
        combined[i] = {
        new_player_bet_data_room: GAME_KIND['(' + new_player_bet_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + new_player_bet_data[i]?.game_tye + ')'] + '(' + new_player_bet_data[i]?.game_level + ')',
        new_player_bet_data_bet_count: new_player_bet_data[i]?.bet_count == undefined ? '' :  new_player_bet_data[i]?.bet_count,
        new_player_bet_data_bet_amount: isNaN((new_player_bet_data[i]?.bet_amount / 100000).toFixed(2)) ? '' :  (new_player_bet_data[i]?.bet_amount / 100000).toFixed(2),
        new_player_bet_data_bet_player_count: new_player_bet_data[i]?.bet_player_count == undefined ? '' :  new_player_bet_data[i]?.bet_player_count,
        new_player_bet_data_bet_tax: isNaN((new_player_bet_data[i]?.bet_tax / 100000).toFixed(2)) ? '' :  (new_player_bet_data[i]?.bet_tax / 100000).toFixed(2),
  
        old_player_bet_data_room: GAME_KIND['(' + old_player_bet_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + old_player_bet_data[i]?.game_tye + ')'] + '(' + old_player_bet_data[i]?.game_level + ')',
        old_player_bet_data_bet_count: old_player_bet_data[i]?.bet_count == undefined ? '' : old_player_bet_data[i]?.bet_count,
        old_player_bet_data_bet_amount: isNaN((old_player_bet_data[i]?.bet_amount / 100000).toFixed(2)) ? '' :  (old_player_bet_data[i]?.bet_amount / 100000).toFixed(2),
        old_player_bet_data_bet_player_count: old_player_bet_data[i]?.bet_player_count == undefined ? '' :  old_player_bet_data[i]?.bet_player_count,
        old_player_bet_data_bet_tax: isNaN((old_player_bet_data[i]?.bet_tax / 100000).toFixed(2)) ? '' :  (old_player_bet_data[i]?.bet_tax / 100000).toFixed(2),
  
        new_players_win_data_room: GAME_KIND['(' + new_players_win_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + new_players_win_data[i]?.game_tye + ')'] + '(' + new_players_win_data[i]?.game_level + ')',
        new_players_win_data_win_count: new_players_win_data[i]?.win_count == undefined ? '' : new_players_win_data[i]?.win_count,
        new_players_win_data_win_amount: isNaN((new_players_win_data[i]?.win_amount / 100000).toFixed(2)) ? '' : (new_players_win_data[i]?.win_amount / 100000).toFixed(2),
        new_players_win_data_win_tax: isNaN((new_players_win_data[i]?.win_tax / 100000).toFixed(2)) ? '' : (new_players_win_data[i]?.win_tax / 100000).toFixed(2),
  
        old_players_win_data_room: GAME_KIND['(' + old_players_win_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + old_players_win_data[i]?.game_tye + ')'] + '(' + old_players_win_data[i]?.game_level + ')',
        old_players_win_data_win_count: old_players_win_data[i]?.win_count == undefined ? '' : old_players_win_data[i]?.win_count,
        old_players_win_data_win_amount: isNaN((old_players_win_data[i]?.win_amount / 100000).toFixed(2)) ? '' : (old_players_win_data[i]?.win_amount / 100000).toFixed(2),
        old_players_win_data_win_tax: isNaN((old_players_win_data[i]?.win_tax / 100000).toFixed(2)) ? '' : (old_players_win_data[i]?.win_tax / 100000).toFixed(2),
        };
      }

     }else if (old_player_bet_data.length > new_players_win_data.length && old_player_bet_data.length > new_player_bet_data.length && old_player_bet_data.length > old_players_win_data.length) {

      for (var i = 0; i < old_player_bet_data.length; i++) {
        combined[i] = {
        new_player_bet_data_room: GAME_KIND['(' + new_player_bet_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + new_player_bet_data[i]?.game_tye + ')'] + '(' + new_player_bet_data[i]?.game_level + ')',
        new_player_bet_data_bet_count: new_player_bet_data[i]?.bet_count == undefined ? '' :  new_player_bet_data[i]?.bet_count,
        new_player_bet_data_bet_amount: isNaN((new_player_bet_data[i]?.bet_amount / 100000).toFixed(2)) ? '' :  (new_player_bet_data[i]?.bet_amount / 100000).toFixed(2),
        new_player_bet_data_bet_player_count: new_player_bet_data[i]?.bet_player_count == undefined ? '' :  new_player_bet_data[i]?.bet_player_count,
        new_player_bet_data_bet_tax: isNaN((new_player_bet_data[i]?.bet_tax / 100000).toFixed(2)) ? '' :  (new_player_bet_data[i]?.bet_tax / 100000).toFixed(2),
  
        old_player_bet_data_room: GAME_KIND['(' + old_player_bet_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + old_player_bet_data[i]?.game_tye + ')'] + '(' + old_player_bet_data[i]?.game_level + ')',
        old_player_bet_data_bet_count: old_player_bet_data[i]?.bet_count == undefined ? '' : old_player_bet_data[i]?.bet_count,
        old_player_bet_data_bet_amount: isNaN((old_player_bet_data[i]?.bet_amount / 100000).toFixed(2)) ? '' :  (old_player_bet_data[i]?.bet_amount / 100000).toFixed(2),
        old_player_bet_data_bet_player_count: old_player_bet_data[i]?.bet_player_count == undefined ? '' :  old_player_bet_data[i]?.bet_player_count,
        old_player_bet_data_bet_tax: isNaN((old_player_bet_data[i]?.bet_tax / 100000).toFixed(2)) ? '' :  (old_player_bet_data[i]?.bet_tax / 100000).toFixed(2),
  
        new_players_win_data_room: GAME_KIND['(' + new_players_win_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + new_players_win_data[i]?.game_tye + ')'] + '(' + new_players_win_data[i]?.game_level + ')',
        new_players_win_data_win_count: new_players_win_data[i]?.win_count == undefined ? '' : new_players_win_data[i]?.win_count,
        new_players_win_data_win_amount: isNaN((new_players_win_data[i]?.win_amount / 100000).toFixed(2)) ? '' : (new_players_win_data[i]?.win_amount / 100000).toFixed(2),
        new_players_win_data_win_tax: isNaN((new_players_win_data[i]?.win_tax / 100000).toFixed(2)) ? '' : (new_players_win_data[i]?.win_tax / 100000).toFixed(2),
  
        old_players_win_data_room: GAME_KIND['(' + old_players_win_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + old_players_win_data[i]?.game_tye + ')'] + '(' + old_players_win_data[i]?.game_level + ')',
        old_players_win_data_win_count: old_players_win_data[i]?.win_count == undefined ? '' : old_players_win_data[i]?.win_count,
        old_players_win_data_win_amount: isNaN((old_players_win_data[i]?.win_amount / 100000).toFixed(2)) ? '' : (old_players_win_data[i]?.win_amount / 100000).toFixed(2),
        old_players_win_data_win_tax: isNaN((old_players_win_data[i]?.win_tax / 100000).toFixed(2)) ? '' : (old_players_win_data[i]?.win_tax / 100000).toFixed(2),
        };
      }

    }else if (old_players_win_data.length > new_players_win_data.length && old_players_win_data.length > new_player_bet_data.length && old_players_win_data.length > old_player_bet_data.length) {

      for (var i = 0; i < old_players_win_data.length; i++) {
        combined[i] = {
        new_player_bet_data_room: GAME_KIND['(' + new_player_bet_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + new_player_bet_data[i]?.game_tye + ')'] + '(' + new_player_bet_data[i]?.game_level + ')',
        new_player_bet_data_bet_count: new_player_bet_data[i]?.bet_count == undefined ? '' :  new_player_bet_data[i]?.bet_count,
        new_player_bet_data_bet_amount: isNaN((new_player_bet_data[i]?.bet_amount / 100000).toFixed(2)) ? '' :  (new_player_bet_data[i]?.bet_amount / 100000).toFixed(2),
        new_player_bet_data_bet_player_count: new_player_bet_data[i]?.bet_player_count == undefined ? '' :  new_player_bet_data[i]?.bet_player_count,
        new_player_bet_data_bet_tax: isNaN((new_player_bet_data[i]?.bet_tax / 100000).toFixed(2)) ? '' :  (new_player_bet_data[i]?.bet_tax / 100000).toFixed(2),
  
        old_player_bet_data_room: GAME_KIND['(' + old_player_bet_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + old_player_bet_data[i]?.game_tye + ')'] + '(' + old_player_bet_data[i]?.game_level + ')',
        old_player_bet_data_bet_count: old_player_bet_data[i]?.bet_count == undefined ? '' : old_player_bet_data[i]?.bet_count,
        old_player_bet_data_bet_amount: isNaN((old_player_bet_data[i]?.bet_amount / 100000).toFixed(2)) ? '' :  (old_player_bet_data[i]?.bet_amount / 100000).toFixed(2),
        old_player_bet_data_bet_player_count: old_player_bet_data[i]?.bet_player_count == undefined ? '' :  old_player_bet_data[i]?.bet_player_count,
        old_player_bet_data_bet_tax: isNaN((old_player_bet_data[i]?.bet_tax / 100000).toFixed(2)) ? '' :  (old_player_bet_data[i]?.bet_tax / 100000).toFixed(2),
  
        new_players_win_data_room: GAME_KIND['(' + new_players_win_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + new_players_win_data[i]?.game_tye + ')'] + '(' + new_players_win_data[i]?.game_level + ')',
        new_players_win_data_win_count: new_players_win_data[i]?.win_count == undefined ? '' : new_players_win_data[i]?.win_count,
        new_players_win_data_win_amount: isNaN((new_players_win_data[i]?.win_amount / 100000).toFixed(2)) ? '' : (new_players_win_data[i]?.win_amount / 100000).toFixed(2),
        new_players_win_data_win_tax: isNaN((new_players_win_data[i]?.win_tax / 100000).toFixed(2)) ? '' : (new_players_win_data[i]?.win_tax / 100000).toFixed(2),
  
        old_players_win_data_room: GAME_KIND['(' + old_players_win_data[i]?.game_tye + ')'] == undefined ? '' : GAME_KIND['(' + old_players_win_data[i]?.game_tye + ')'] + '(' + old_players_win_data[i]?.game_level + ')',
        old_players_win_data_win_count: old_players_win_data[i]?.win_count == undefined ? '' : old_players_win_data[i]?.win_count,
        old_players_win_data_win_amount: isNaN((old_players_win_data[i]?.win_amount / 100000).toFixed(2)) ? '' : (old_players_win_data[i]?.win_amount / 100000).toFixed(2),
        old_players_win_data_win_tax: isNaN((old_players_win_data[i]?.win_tax / 100000).toFixed(2)) ? '' : (old_players_win_data[i]?.win_tax / 100000).toFixed(2),
        };
    }
}
<!-- 这里我使用的JQ+Bootstrap  采用了模板字符串去拼接push -->
var str = ""
for (let q = 0; q < combined.length; q++) {
  str += `<tr><td>${combined[q].new_player_bet_data_room}</td><td>${combined[q].new_player_bet_data_bet_count}</td><td>${combined[q].new_player_bet_data_bet_amount}</td><td>${combined[q].new_player_bet_data_bet_player_count}</td><td>${combined[q].new_player_bet_data_bet_tax}</td><td>${combined[q].old_player_bet_data_room}</td><td>${combined[q].old_player_bet_data_bet_count}</td><td>${combined[q].old_player_bet_data_bet_amount}</td><td>${combined[q].old_player_bet_data_bet_player_count}</td><td>${combined[q].old_player_bet_data_bet_tax}</td><td>${combined[q].new_players_win_data_room}</td><td>${combined[q].new_players_win_data_win_count}</td><td>${combined[q].new_players_win_data_win_amount}</td><td>${combined[q].new_players_win_data_win_tax}</td><td>${combined[q].old_players_win_data_room}</td><td>${combined[q].old_players_win_data_win_count}</td><td>${combined[q].old_players_win_data_win_amount}</td><td>${combined[q].old_players_win_data_win_tax}</td>`
}
$("#treeData").append(str)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值