乐趣区

关于github:近期学习收获

1. 学会应用 GitHub 命令行工具。
1.1 拉取最新代码步骤:
a. git checkout main ——确保本人在 main 分支上
b. git pull ——拉取最新代码
c. git branch 分支名 ——创立新的分支
d. git checkout 分支名 ——转换到新建分支上进行代码的编写
1.2 将本地代码推到服务器上:
a. git add . ——将我的项目的所有文件增加到缓存中 (如果是文件下,会一起将文件夹提交下来)
b. git commit -a -m ‘ 形容信息 ’ ——将我的项目文件提交到本地仓库
c. git push origin 以后分支号 ——将代码提交到服务器上
2.mockapi 下 index 界面分页查问
2.1 在 village.api.ts 中编写模仿后盾;

      // 分页查问
      {
        method: 'GET',
        url: `${this.baseUrl}/page`,
        result: (urlMatches: any, options: { params: HttpParams;}) => {
          const params = options.params as HttpParams;
          console.log('承受的参数为:', params);
          const page = +params.get('page');
          const size = +params.get('size');
          console.log(this.baseUrl, 1);
          // 参数校验
          Assert.isNotNullOrUndefined(page, size, 'page,size 为必选');
          Assert.isDefined(params.get('name'), '选填参数未增加全');

          // 构建返回数据
          const beginId = page * size;
          const villages = new Array<Village>();
          for (let i = 0; i < +size; i++) {
            const community = {id: randomNumber(),
              name: randomString('社区'),
              pinyin: randomString('pinyin'),
              town: {name: randomString('乡镇'),
              } as Town
            } as Community;
            const model = {id: randomNumber(),
              name: randomString('3D 模型'),
              pinyin: randomString('pinyin'),
            } as Model;
            villages.push({
              id: beginId + i,
              name: randomString('小区'),
              pinyin: randomString('pinyin'),
              longitude: randomNumber(),
              latitude: randomNumber(),
              model,
              establishTime: randomNumber(),
              type: randomNumber(),
              community,
            } as Village);
          }
          return {content: villages, number: page, size, totalElements: 40 + randomNumber()
          } as Page<Village>;
        }
      },

2.2 在 village.service.ts 层中写 page 办法,调用 village.api.ts;

/**
   * 分页
   * @param param 查问参数
   */
  // 函数 page,参数为 param 是一个对象,函数类型为 Observable<Page<Village>>
  page(param: {
    page: number,
    size: number,
  }): Observable<Page<Village>> {

    // 定义 http 申请头,增加 page 和 size
    const httpParams = new HttpParams()
      .append('page', param.page.toString())
      .append('size', param.size.toString());

    // 返回依据相应链接订阅的数据,将数据中的每一个 json 对象转换为 VILLAGE 对象。return this.httpClient.get<Page<Village>>(`${this.url}/page`, {params: httpParams})
      .pipe(map(data => new Page<Village>(data).toObject(d => new Village(d))));
  }

2.3 在 village\index.component.ts 中写分页接口,调用 village.service.ts 中办法;

  // 初始化函数,类型为 void,继承 OnInit 就必须有此函数,且必须有函数体
  ngOnInit(): void {this.route.queryParams.subscribe((params: { page?: string, size?: string}) => {this.queryParams = {...params};

      const page = +getDefaultValueWhenUndefinedOrNull(params.page, '0');
      const size = +getDefaultValueWhenUndefinedOrNull(params.size, config.size.toString());
      this.villageService.page({page, size})
        .subscribe(page => {this.validate(page);
          this.pageData = page;
        })
    })
  }

2.4 写前端 html 页面,调用 village\index.component.ts,将虚构后盾的数据进行反显。

退出移动版