└── README.md /README.md: -------------------------------------------------------------------------------- 1 | # V2Board 最全接口文档(1.6.0) 2 | 3 | > 感谢 v2board 提供的开源项目! 完整api请查阅开源项目 : [v2board](https://github.com/v2board/v2board) 4 | 5 | > 本文档仅适用于1.6.0版本,1.6.1由于改动过大会等稳定后专门提出来写 6 | 7 | ## 目录 8 | 9 | ### Passport 10 | 11 | | URL | 请求 | 描述 | 12 | |--------------------------------|------|-----------------------------------| 13 | | /passport/comm/config | GET | [获取配置](#1获取配置) | 14 | | /passport/auth/check | GET | [登入校验](#2登入校验) | 15 | | /passport/auth/login | POST | [登入账号](#3登入账号) | 16 | | /passport/comm/sendEmailVerify | POST | [发送邮箱验证码](#4发送邮箱验证码) | 17 | | /passport/auth/register | POST | [注册账号](#5注册账号) | 18 | | /passport/auth/forget | POST | [重置密码](#6重置密码) | 19 | 20 | ### User 21 | 22 | | URL | 请求 | 描述 | 23 | |-----------------------|------|----------------------------| 24 | | /user/logout | GET | [登出](#1登出) | 25 | | /user/info | GET | [账号信息](#2账号信息) | 26 | | /user/getSubscribe | GET | [订阅信息](#3订阅信息) | 27 | | /user/resetSecurity | GET | [重置订阅链接](#重置订阅链接) | 28 | | /user/getStat | GET | [代办事项](#5代办事项) | 29 | | /user/changePassword | POST | [修改密码](#6修改密码) | 30 | | /user/update | POST | [通知状态](#7通知状态) | 31 | | /user/transfer | POST | [佣金划转](#8佣金划转) | 32 | 33 | ### Plan 34 | 35 | | URL | 请求 | 描述 | 36 | |------------------|-----|-----------------------------| 37 | | /user/plan/fetch | GET | [订阅商店列表](#1订阅商店列表) | 38 | 39 | ### Order 40 | 41 | | URL | 请求 | 描述 | 42 | |-------------------------------|------|--------------------------| 43 | | /user/order/fetch | GET | [订单列表](#1订单列表) | 44 | | /user/order/getPaymentMethod | GET | [支付方式](#2支付方式) | 45 | | /user/order/details?trade_no= | GET | [订单详情](#3订单详情) | 46 | | /user/order/check?trade_no= | GET | [订单状态](#4订单状态) | 47 | | /user/order/save | POST | [创建订单](#5创建订单) | 48 | | /user/order/checkout | POST | [结算订单](#6结算订单) | 49 | | /user/order/cancel | POST | [关闭订单](#7关闭订单) | 50 | 51 | ### Invite 52 | 53 | | URL | 请求 | 描述 | 54 | |----------------------|-----|-----------------------------| 55 | | /user/invite/fetch | GET | [邀请码管理](#1邀请码管理) | 56 | | /user/invite/save | GET | [生成邀请码](#2生成邀请码) | 57 | | /user/invite/details | GET | [邀请明细](#3邀请明细) | 58 | 59 | ### Notice 60 | 61 | | URL | 请求 | 描述 | 62 | |----------------------|-----|---------------------------| 63 | | /user/notice/fetch | GET | [公告信息](#1公告信息) | 64 | 65 | ### Ticket 66 | gugugu... 67 | 68 | ___ 69 | 70 | ## Passport 71 | 72 | ### 1.获取配置 73 | 74 | > `GET` /passport/comm/config 75 | 76 | - 请求参数 77 | `null` 78 | 79 | - 成功返回示例 `json` 80 | 81 | ```json 82 | { 83 | "data": { 84 | "tos_url": "https://xxx.com", 85 | "is_email_verify": 0, 86 | "is_invite_force": 0, 87 | "email_whitelist_suffix": 0, 88 | "is_recaptcha": 0, 89 | "recaptcha_site_key": "xxx", 90 | "app_description": "Hallo!", 91 | "app_url": "https://xxx.com" 92 | } 93 | } 94 | ``` 95 | 96 | | 参数名 | 类型 | 描述 | 97 | |------------------------|--------------------|---------| 98 | | tos_url | string | 条款链接 | 99 | | is_email_verify | number | 邮件验证 | 100 | | is_invite_force | number | 强制邀请注册 | 101 | | email_whitelist_suffix | number or string[] | 邮件白名单后缀 | 102 | | is_recaptcha | number | 人机验证 | 103 | | recaptcha_site_key | string | 人机验证校验码 | 104 | | app_description | string | 站点说明 | 105 | | app_url | string | 站点地址 | 106 | 107 | ### 2.登入校验 108 | 109 | > `GET` /passport/auth/check 110 | 111 | - 请求参数 112 | `null` 113 | 114 | - 成功返回示例 `json` 115 | 116 | ```json 117 | { 118 | "data": { 119 | "is_login": false 120 | } 121 | } 122 | ``` 123 | 124 | | 参数名 | 类型 | 描述 | 125 | |----------|---------|------| 126 | | is_login | boolean | 是否登入 | 127 | 128 | ### 3.登入账号 129 | 130 | > `POST` /passport/auth/login 131 | 132 | - 请求参数 `json` 133 | 134 | ```json 135 | { 136 | "email": "xxxx@xx.com", 137 | "password": "1234567890" 138 | } 139 | ``` 140 | 141 | | 参数名 | 类型 | 必填 | 描述 | 142 | |----------|--------|-----|------| 143 | | email | string | ✔︎ | 邮箱地址 | 144 | | password | string | ✔︎ | 密码 | 145 | 146 | - 成功返回示例 `json` 147 | 148 | ```json 149 | { 150 | "data": { 151 | "token": "xxx", 152 | "auth_data": "xxx" 153 | } 154 | } 155 | ``` 156 | 157 | | 参数名 | 类型 | 描述 | 158 | |-----------|--------|---------------| 159 | | token | string | 用户 token | 160 | | auth_data | string | base64(邮箱:密码) | 161 | 162 | ### 4.发送邮箱验证码 163 | 164 | > `POST` /passport/comm/sendEmailVerify 165 | 166 | - 请求参数 `json` 167 | 168 | ```json 169 | { 170 | "email": "xxxx@xx.com" 171 | } 172 | ``` 173 | 174 | | 参数名 | 类型 | 必填 | 描述 | 175 | |-------|--------|-----|------| 176 | | email | string | ✔︎ | 邮箱地址 | 177 | 178 | - 成功返回示例 `json` 179 | 180 | ```json 181 | { 182 | "data": true 183 | } 184 | ``` 185 | 186 | | 参数名 | 类型 | 描述 | 187 | |------|---------|--------| 188 | | data | boolean | 是否发送成功 | 189 | 190 | ### 5.注册账号 191 | 192 | > `POST` /passport/auth/register 193 | 194 | - 请求参数 `json` 195 | 196 | ```json 197 | { 198 | "email": "xxxx@xx.com", 199 | "password": "123456789", 200 | "email_code": 333333, 201 | "invite_code": "", 202 | "recaptcha_data": "" 203 | } 204 | ``` 205 | 206 | | 参数名 | 类型 | 必填 | 描述 | 207 | |----------------|--------|-----|--------| 208 | | email | string | ✔︎ | 邮箱地址 | 209 | | password | string | ✔︎ | 密码 | 210 | | email_code | number | ✖︎ | 邮箱验证码 | 211 | | invite_code | string | ✖︎ | 邀请码 | 212 | | recaptcha_data | string | ✖︎ | 人机验证数据 | 213 | 214 | - 成功返回示例 `json` 215 | 216 | ```json 217 | { 218 | "data": { 219 | "token": "xxx", 220 | "auth_data": "xxx" 221 | } 222 | } 223 | ``` 224 | 225 | | 参数名 | 类型 | 描述 | 226 | |-----------|--------|---------------| 227 | | token | string | 用户 token | 228 | | auth_data | string | base64(邮箱:密码) | 229 | 230 | ### 6.重置密码 231 | 232 | > `POST` /passport/auth/forget 233 | 234 | - 请求参数 `json` 235 | 236 | ```json 237 | { 238 | "email": "xxxx@xx.com", 239 | "password": "123456789", 240 | "email_code": 333333 241 | } 242 | ``` 243 | 244 | | 参数名 | 类型 | 必填 | 描述 | 245 | |------------|--------|-----|-------| 246 | | email | string | ✔︎ | 邮箱地址 | 247 | | email_code | number | ✔︎ | 邮箱验证码 | 248 | | password | string | ✔︎ | 用户密码 | 249 | 250 | - 成功返回示例 `json` 251 | 252 | ```json 253 | { 254 | "data": true 255 | } 256 | ``` 257 | 258 | | 参数名 | 类型 | 描述 | 259 | |------|---------|--------| 260 | | data | boolean | 是否重置成功 | 261 | 262 | ___ 263 | 264 | ## User 265 | 266 | ### 1.登出 267 | 268 | > `GET` /user/logout 269 | 270 | - 请求参数 271 | `null` 272 | 273 | - 成功返回示例 `json` 274 | 275 | ```json 276 | { 277 | "data": true 278 | } 279 | ``` 280 | 281 | | 参数名 | 类型 | 描述 | 282 | |------|---------|--------| 283 | | data | boolean | 是否登出成功 | 284 | 285 | ### 2.账号信息 286 | 287 | > `GET` /user/info 288 | 289 | - 请求参数 290 | `null` 291 | 292 | - 成功返回示例 `json` 293 | 294 | ```json 295 | { 296 | "data": { 297 | "email": "xxxx@xx.com", 298 | "transfer_enable": 0, 299 | "last_login_at": null, 300 | "created_at": 1234567890, 301 | "banned": 0, 302 | "remind_expire": 0, 303 | "remind_traffic": 0, 304 | "expired_at": 0, 305 | "balance": 0, 306 | "commission_balance": 0, 307 | "plan_id": null, 308 | "discount": null, 309 | "commission_rate": null, 310 | "telegram_id": null, 311 | "uuid": "xxxxxx-xxxx-xxxx-xxxx-xxxxxx", 312 | "avatar_url": "https://xxxx.com/xxx.xxx" 313 | } 314 | } 315 | ``` 316 | 317 | | 参数名 | 类型 | 描述 | 318 | |--------------------|------------------------|---------| 319 | | email | string | 邮箱地址 | 320 | | transfer_enable | number | 总可用流量 | 321 | | last_login_at | timestamp | 最后登入时间 | 322 | | created_at | timestamp | 创建时间 | 323 | | banned | number | 是否封禁使用 | 324 | | remind_expire | number | 到期邮件提醒 | 325 | | remind_traffic | number | 流量邮件提醒 | 326 | | expired_at | timestamp | 过期时间 | 327 | | balance | number | 用户余额 | 328 | | commission_balance | number | 佣金余额 | 329 | | plan_id | number - object(&plan) | 当前订阅id | 330 | | discount | number | 消费折扣 | 331 | | commission_rate | number | 佣金率 | 332 | | telegram_id | number | 绑定TG id | 333 | | uuid | string | 唯一UUID | 334 | | avatar_url | string | 头像地址 | 335 | 336 | ### 3.订阅信息 337 | 338 | > `GET` /user/getSubscribe 339 | 340 | - 请求参数 341 | `null` 342 | 343 | - 成功返回示例 `json` 344 | 345 | ```json 346 | { 347 | "data": { 348 | "plan_id": null, 349 | "token": "xxx", 350 | "expired_at": 0, 351 | "u": 0, 352 | "d": 0, 353 | "transfer_enable": 0, 354 | "email": "xxx@xxx.com", 355 | "subscribe_url": "https://xxx.com/api/v1/client/subscribe?token=xxx", 356 | "reset_day": null 357 | } 358 | } 359 | ``` 360 | 361 | | 参数名 | 类型 | 描述 | 362 | |-----------------|------------------------|----------| 363 | | plan_id | number - object(&plan) | 订阅id | 364 | | token | string | 用户 token | 365 | | expired_at | timestamp | 过期时间 | 366 | | u | number | 已用上行流量 | 367 | | d | number | 已用下行流量 | 368 | | transfer_enable | number | 总可用流量 | 369 | | email | string | 邮箱地址 | 370 | | subscribe_url | string | 订阅链接 | 371 | | reset_day | number | 重置日 | 372 | 373 | ### 4.重置订阅链接 374 | 375 | > `GET` /user/resetSecurity 376 | 377 | - 请求参数 378 | `null` 379 | 380 | - 成功返回示例 `json` 381 | 382 | ```json 383 | { 384 | "data": "https://xxx.com/api/v1/client/subscribe?token=xxx" 385 | } 386 | ``` 387 | 388 | | 参数名 | 类型 | 描述 | 389 | |------|--------|------| 390 | | data | string | 订阅链接 | 391 | 392 | ### 5.代办事项 393 | 394 | > `GET` /user/getStat 395 | 396 | - 请求参数 397 | `null` 398 | 399 | - 成功返回示例 `json` 400 | 401 | ```json 402 | { 403 | "data": [ 404 | 0, 405 | 0, 406 | 0 407 | ] 408 | } 409 | ``` 410 | 411 | | 参数名 | 类型 | 描述 | 412 | |---------|--------|-------| 413 | | data[0] | number | 待付订单 | 414 | | data[1] | number | 代办工单 | 415 | | data[2] | number | 待确认邀请 | 416 | 417 | ### 6.修改密码 418 | 419 | > `POST` /user/changePassword 420 | 421 | - 请求参数 `json` 422 | 423 | ```json 424 | { 425 | "old_password": "123456789", 426 | "new_password": "1234567890" 427 | } 428 | ``` 429 | 430 | | 参数名 | 类型 | 必填 | 描述 | 431 | |--------------|--------|-----|-----| 432 | | old_password | string | ✔︎ | 旧密码 | 433 | | new_password | string | ✔︎ | 新密码 | 434 | 435 | - 成功返回示例 `json` 436 | 437 | ```json 438 | { 439 | "data": true 440 | } 441 | ``` 442 | 443 | | 参数名 | 类型 | 描述 | 444 | |------|---------|--------| 445 | | data | boolean | 是否修改成功 | 446 | 447 | ### 7.通知状态 448 | 449 | > `POST` /user/update 450 | 451 | - 请求参数 `json` 452 | 453 | ```json 454 | { 455 | "remind_expire": 0 456 | } 457 | ``` 458 | 459 | | 参数名 | 类型 | 必填 | 描述 | 460 | |----------------|--------|-----|--------| 461 | | remind_expire | number | ✖︎︎ | 到期邮件提醒 | 462 | | remind_traffic | number | ✖︎ | 流量邮件提醒 | 463 | 464 | - 成功返回示例 `json` 465 | 466 | ```json 467 | { 468 | "data": true 469 | } 470 | ``` 471 | 472 | | 参数名 | 类型 | 描述 | 473 | |------|---------|--------| 474 | | data | boolean | 是否修改成功 | 475 | 476 | ### 8.佣金划转 477 | 478 | > `POST` /user/transfer 479 | 480 | - 请求参数 `json` 481 | 482 | ```json 483 | { 484 | "transfer_amount": 1000 485 | } 486 | ``` 487 | 488 | | 参数名 | 类型 | 必填 | 描述 | 489 | |-----------------|--------|-----|------| 490 | | transfer_amount | number | ✔︎ | 划转金额 | 491 | 492 | - 成功返回示例 `json` 493 | 494 | ```json 495 | { 496 | "data": true 497 | } 498 | ``` 499 | 500 | | 参数名 | 类型 | 描述 | 501 | |------|---------|--------| 502 | | data | boolean | 是否划转成功 | 503 | 504 | ___ 505 | 506 | ## Plan 507 | 508 | ### 1.订阅商店列表 509 | 510 | > `GET` /user/plan/fetch 511 | 512 | - 请求参数 513 | `null` 514 | 515 | - 成功返回示例 `json` 516 | 517 | ```json 518 | { 519 | "data": [ 520 | { 521 | "id": 1, 522 | "group_id": 1, 523 | "transfer_enable": 100, 524 | "name": "Plan name", 525 | "show": 1, 526 | "sort": null, 527 | "renew": 1, 528 | "content": "xxx", 529 | "month_price": 10, 530 | "quarter_price": null, 531 | "half_year_price": null, 532 | "year_price": 20000, 533 | "two_year_price": null, 534 | "three_year_price": null, 535 | "onetime_price": null, 536 | "reset_price": 1000, 537 | "reset_traffic_method": null, 538 | "created_at": 1234567890, 539 | "updated_at": 1234567890 540 | } 541 | ] 542 | } 543 | ``` 544 | 545 | | 参数名 | 类型 | 描述 | 546 | |----------------------|-----------|--------| 547 | | id | number | 订阅id | 548 | | group_id | number | 权限组id | 549 | | transfer_enable | number | 可用流量 | 550 | | name | string | 套餐名称 | 551 | | show | number | 是否显示 | 552 | | sort | string | 分类 | 553 | | renew | number | 开启续费 | 554 | | content | string | 套餐描述 | 555 | | month_price | number | 月付价格 | 556 | | quarter_price | number | 季度价格 | 557 | | half_year_price | number | 半年价格 | 558 | | year_price | number | 年价格 | 559 | | two_year_price | number | 两年价格 | 560 | | three_year_price | number | 三年价格 | 561 | | onetime_price | number | 一次性价格 | 562 | | reset_price | number | 重置价格 | 563 | | reset_traffic_method | number | 重置流量方式 | 564 | | created_at | timestamp | 套餐创建时间 | 565 | | updated_at | timestamp | 套餐更新时间 | 566 | 567 | ___ 568 | 569 | ## Order 570 | 571 | ### 1.订单列表 572 | 573 | > `GET` /user/order/fetch 574 | 575 | - 请求参数 576 | `null` 577 | 578 | - 成功返回示例 `json` 579 | 580 | ```json 581 | { 582 | "data": [ 583 | { 584 | "invite_user_id": null, 585 | "plan_id": 1, 586 | "coupon_id": null, 587 | "payment_id": 10, 588 | "type": 1, 589 | "cycle": "month_price", 590 | "trade_no": "xxx", 591 | "callback_no": null, 592 | "total_amount": 10, 593 | "discount_amount": null, 594 | "surplus_amount": null, 595 | "refund_amount": null, 596 | "balance_amount": null, 597 | "surplus_order_ids": null, 598 | "status": 2, 599 | "commission_status": 0, 600 | "commission_balance": 0, 601 | "paid_at": null, 602 | "created_at": 1234567890, 603 | "updated_at": 1234567890, 604 | "plan": { 605 | "表关联" 606 | } 607 | } 608 | ] 609 | } 610 | ``` 611 | 612 | | 参数名 | 类型 | 描述 | 613 | |--------------------|--------------------------|---------------------------| 614 | | invite_user_id | number | 邀请人id | 615 | | plan_id | number | 订阅id | 616 | | coupon_id | number | 优惠券id | 617 | | payment_id | number | 支付方式id | 618 | | type | number | 订单类型 1新购2续费3升级 | 619 | | cycle | string | 订阅周期 | 620 | | trade_no | string | 订单号 | 621 | | callback_no | string | 退款单号 | 622 | | total_amount | number | 总金额 | 623 | | discount_amount | number | 折扣金额 | 624 | | surplus_amount | number | 剩余价值 | 625 | | refund_amount | number | 退款金额 | 626 | | balance_amount | number | 使用余额 | 627 | | surplus_order_ids | number | 折抵订单 | 628 | | status | number | 订单状态 0待支付1开通中2已取消3已完成4已折抵 | 629 | | commission_status | number | 佣金状态 0待确认1发放中2有效3无效 | 630 | | commission_balance | number | 佣金余额 | 631 | | paid_at | timestamp | 支付时间 | 632 | | created_at | timestamp | 创建时间 | 633 | | updated_at | timestamp | 更新时间 | 634 | | plan | [关联表](/plan.md/#1订阅商店列表) | 订阅详情 | 635 | 636 | ### 2.支付方式 637 | 638 | > `GET` /user/order/getPaymentMethod 639 | 640 | - 请求参数 641 | `null` 642 | 643 | - 成功返回示例 `json` 644 | 645 | ```json 646 | { 647 | "data": [ 648 | { 649 | "id": 10, 650 | "name": "pay", 651 | "payment": "XXXPay" 652 | } 653 | ] 654 | } 655 | ``` 656 | 657 | | 参数名 | 类型 | 描述 | 658 | |---------|--------|------| 659 | | id | number | 支付id | 660 | | name | string | 支付名称 | 661 | | payment | string | 支付模块 | 662 | 663 | ### 3.订单详情 664 | 665 | > `GET` /user/order/details?trade_no={trade_no} 666 | 667 | - 请求参数 `query` 668 | 669 | | 参数名 | 类型 | 描述 | 670 | |----------|--------|-----| 671 | | trade_no | string | 订单号 | 672 | 673 | - 成功返回示例 `json` 674 | 675 | ```json 676 | { 677 | "data": { 678 | "id": 1275, 679 | "invite_user_id": null, 680 | "user_id": 2057, 681 | "plan_id": 1, 682 | "coupon_id": null, 683 | "payment_id": null, 684 | "type": 1, 685 | "cycle": "month_price", 686 | "trade_no": "xxx", 687 | "callback_no": null, 688 | "total_amount": 10, 689 | "discount_amount": null, 690 | "surplus_amount": null, 691 | "refund_amount": null, 692 | "balance_amount": null, 693 | "surplus_order_ids": null, 694 | "status": 0, 695 | "commission_status": 0, 696 | "commission_balance": 0, 697 | "paid_at": null, 698 | "created_at": 1234567890, 699 | "updated_at": 1234567890, 700 | "plan": { 701 | "表关联" 702 | }, 703 | "try_out_plan_id": 0 704 | } 705 | } 706 | ``` 707 | 708 | | 参数名 | 类型 | 描述 | 709 | |--------------------|--------------------------|---------------------------| 710 | | id | number | 订单id | 711 | | invite_user_id | number | 邀请人id | 712 | | user_id | number | 用户id | 713 | | user_id | number | 用户自增id | 714 | | plan_id | number | 订阅id | 715 | | coupon_id | number | 优惠券id | 716 | | payment_id | number | 支付方式id | 717 | | type | number | 订单类型 1新购2续费3升级 | 718 | | cycle | string | 订阅周期 | 719 | | trade_no | string | 订单号 | 720 | | callback_no | string | 退款单号 | 721 | | total_amount | number | 总金额 | 722 | | discount_amount | number | 折扣金额 | 723 | | surplus_amount | number | 剩余价值 | 724 | | refund_amount | number | 退款金额 | 725 | | balance_amount | number | 使用余额 | 726 | | surplus_order_ids | number | 折抵订单 | 727 | | status | number | 订单状态 0待支付1开通中2已取消3已完成4已折抵 | 728 | | commission_status | number | 佣金状态 0待确认1发放中2有效3无效 | 729 | | commission_balance | number | 佣金余额 | 730 | | paid_at | timestamp | 支付时间 | 731 | | created_at | timestamp | 创建时间 | 732 | | updated_at | timestamp | 更新时间 | 733 | | plan | [关联表](/plan.md/#1订阅商店列表) | 订阅详情 | 734 | | try_out_plan_id | number | 试用计划 ID | 735 | 736 | ### 4.订单状态 737 | 738 | > `GET` /user/order/check?trade_no={trade_no} 739 | 740 | - 请求参数 `query` 741 | 742 | | 参数名 | 类型 | 描述 | 743 | |----------|--------|-----| 744 | | trade_no | string | 订单号 | 745 | 746 | - 成功返回示例 `json` 747 | 748 | ```json 749 | { 750 | "data": 0 751 | } 752 | ``` 753 | 754 | | 参数名 | 类型 | 描述 | 755 | |------|--------|----------------------| 756 | | data | number | 0待支付1开通中2已取消3已完成4已折抵 | 757 | 758 | ### 5.创建订单 759 | 760 | > `POST` /user/order/save 761 | 762 | - 请求参数 `json` 763 | 764 | ```json 765 | { 766 | "cycle": "month_price", 767 | "plan_id": 1 768 | } 769 | ``` 770 | 771 | | 参数名 | 类型 | 描述 | 772 | |---------|--------|------| 773 | | cycle | string | 订阅周期 | 774 | | plan_id | number | 订阅id | 775 | 776 | - 成功返回示例 `json` 777 | 778 | ```json 779 | { 780 | "data": "xxx" 781 | } 782 | ``` 783 | 784 | | 参数名 | 类型 | 描述 | 785 | |------|--------|-----| 786 | | data | string | 订单号 | 787 | 788 | ### 6.结算订单 789 | 790 | > `POST` /user/order/checkout 791 | 792 | - 请求参数 `json` 793 | 794 | ```json 795 | { 796 | "trade_no": "xxx", 797 | "method": 1 798 | } 799 | ``` 800 | 801 | | 参数名 | 类型 | 描述 | 802 | |----------|--------|------| 803 | | trade_no | string | 订单号 | 804 | | method | number | 支付id | 805 | 806 | - 成功返回示例 `json` 807 | 808 | ```json 809 | { 810 | "type": 0, 811 | "data": "xxx" 812 | } 813 | ``` 814 | 815 | | 参数名 | 类型 | 描述 | 816 | |------|--------|----------------| 817 | | type | number | 0:qrcode 1:url | 818 | | data | string | 付款地址 | 819 | 820 | ### 7.关闭订单 821 | 822 | > `POST` /user/order/cancel 823 | 824 | - 请求参数 `json` 825 | 826 | ```json 827 | { 828 | "trade_no": "xxx" 829 | } 830 | ``` 831 | 832 | | 参数名 | 类型 | 描述 | 833 | |----------|--------|------| 834 | | trade_no | string | 订单号 | 835 | 836 | - 成功返回示例 `json` 837 | 838 | ```json 839 | { 840 | "data": true 841 | } 842 | ``` 843 | 844 | | 参数名 | 类型 | 描述 | 845 | |------|---------|--------| 846 | | data | boolean | 是否关闭成功 | 847 | 848 | ___ 849 | 850 | ## Invite 851 | 852 | ### 1.邀请码管理 853 | 854 | > `GET` /user/invite/fetch 855 | 856 | - 请求参数 `null` 857 | 858 | - 成功返回示例 `json` 859 | 860 | ```json 861 | { 862 | "data": { 863 | "codes": [ 864 | { 865 | "id": 1, 866 | "user_id": 1, 867 | "code": "xxx", 868 | "status": 0, 869 | "pv": 0, 870 | "created_at": 1234567890, 871 | "updated_at": 1234567890 872 | } 873 | ], 874 | "stat": [ 875 | 0, 876 | 0, 877 | 0, 878 | 15, 879 | 0 880 | ] 881 | } 882 | } 883 | ``` 884 | 885 | | 参数名 | 类型 | 描述 | 886 | |------------------|-----------|--------| 887 | | codes.id | number | 邀请码id | 888 | | codes.user_id | number | 用户id | 889 | | codes.code | array | 邀请码 | 890 | | codes.status | number | 邀请码状态 | 891 | | codes.pv | number | 访问量 | 892 | | codes.created_at | timestamp | 创建时间 | 893 | | codes.updated_at | timestamp | 更新时间 | 894 | | stat[0] | number | 已注册用户数 | 895 | | stat[1] | number | 有效的佣金 | 896 | | stat[2] | number | 确认中的佣金 | 897 | | stat[3] | number | 佣金比例 | 898 | | stat[4] | number | 可用佣金 | 899 | 900 | ### 2.生成邀请码 901 | 902 | > `GET` /user/invite/save 903 | 904 | - 请求参数 `null` 905 | 906 | - 成功返回示例 `json` 907 | 908 | ```json 909 | { 910 | "data": true 911 | } 912 | ``` 913 | 914 | | 参数名 | 类型 | 描述 | 915 | |------|---------|------| 916 | | data | boolean | 生成成功 | 917 | 918 | ### 3.邀请明细 919 | 920 | > `GET` /user/invite/details 921 | 922 | - 请求参数 `null` 923 | 924 | - 成功返回示例 `json` 925 | 926 | ```json 927 | { 928 | "id": 1, 929 | "commission_status": 1, 930 | "commission_balance": 10, 931 | "created_at": 1234567890, 932 | "updated_at": 1234567890 933 | } 934 | ``` 935 | 936 | | 参数名 | 类型 | 描述 | 937 | |--------------------|-----------|---------------------| 938 | | id | number | 邀请id | 939 | | commission_status | number | 佣金状态 0待确认1发放中2有效3无效 | 940 | | commission_balance | number | 佣金 | 941 | | created_at | timestamp | 创建时间 | 942 | | updated_at | timestamp | 更新时间 | 943 | 944 | ___ 945 | 946 | ## Notice 947 | 948 | ### 1.公告信息 949 | 950 | > `GET` /user/notice/fetch 951 | 952 | - 请求参数 `null` 953 | 954 | - 成功返回示例 `json` 955 | 956 | ```json 957 | { 958 | "data": [ 959 | { 960 | "id": 1, 961 | "title": "xxx", 962 | "content": "xxx", 963 | "img_url": null, 964 | "created_at": 1234567890, 965 | "updated_at": 1234567890 966 | } 967 | ], 968 | "total": 1 969 | } 970 | ``` 971 | 972 | | 参数名 | 类型 | 描述 | 973 | |------------|-----------|------| 974 | | id | number | 公告id | 975 | | title | string | 标题 | 976 | | content | string | 内容 | 977 | | img_url | timestamp | 背景图片 | 978 | | created_at | timestamp | 创建 | 979 | | updated_at | timestamp | 更新时间 | 980 | | total | number | 总条数 | 981 | 982 | 983 | --------------------------------------------------------------------------------