Query.ets 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. import { userInfo } from "basic"
  2. abstract class Query{
  3. pageNum: number = 1
  4. pageSize: number = 15
  5. total: number = 0
  6. /** 用户id */
  7. userId: string | null = userInfo.getId()
  8. // 重新请求
  9. reload() {
  10. this.pageNum = 1
  11. this.pageSize = 16
  12. this.total = 1
  13. }
  14. // 触底加载更多
  15. reachEnd(sourceLength: number): boolean {
  16. if(sourceLength < this.pageSize) {
  17. this.pageNum++
  18. return true
  19. }
  20. return false
  21. }
  22. // 页数回滚
  23. backPage() {
  24. this.pageNum--
  25. }
  26. // 设置 total
  27. setTotal(total?: string) {
  28. if(!total) return
  29. this.total = parseInt(total)
  30. }
  31. }
  32. /** 搜索书单 */
  33. export class searchBookListQuery extends Query{
  34. /** 书单类型ID **/
  35. bookListTypeId?: string
  36. /** 书单名称 **/
  37. key?: string
  38. }
  39. /** 搜索书籍 */
  40. @ObservedV2
  41. export class searchBookQuery extends Query {
  42. /** 搜索关键词 */
  43. @Trace key?: string;
  44. /** 最大适读年龄 */
  45. @Trace maxAge?: number;
  46. /** 最小适读年龄 */
  47. @Trace minAge?: number;
  48. /** 排序方式 */
  49. @Trace sort: number = 0;
  50. /** 分类ID */
  51. @Trace typeId?: string;
  52. clone(): searchBookQuery {
  53. return {
  54. pageNum: this.pageNum,
  55. pageSize: this.pageSize,
  56. key: this.key,
  57. maxAge: this.maxAge,
  58. minAge: this.minAge,
  59. sort: this.sort,
  60. typeId: this.typeId,
  61. userId: this.userId
  62. } as ESObject
  63. }
  64. }
  65. /** 书包里的书本数据 */
  66. @ObservedV2
  67. export class bookPackageQuery extends Query{
  68. // 0代表全部 1代表可借 2代表已借光
  69. flag: number = 0;
  70. }
  71. // 用户订单数据
  72. export class userOrderQuery extends Query{
  73. /** 订单状态 订单状态;待支付0/待出库1/待收书2/借阅中3/已超期4/待取书5/待验收6/已完成7/已关闭8 */
  74. statusCode?: number;
  75. }