|
|
@@ -134,6 +134,38 @@ export class VillageMenuListItem extends DataModel<VillageMenuListItem> {
|
|
|
name = '';
|
|
|
logo = '';
|
|
|
}
|
|
|
+export class VillageCatalogListItem extends DataModel<VillageCatalogListItem> {
|
|
|
+ constructor() {
|
|
|
+ super(VillageCatalogListItem, "村落目录列表");
|
|
|
+ this.setNameMapperCase('Camel', 'Snake');
|
|
|
+ this._convertTable = {
|
|
|
+ id: { clientSide: 'number', serverSide: 'number', clientSideRequired: true },
|
|
|
+ collectModuleId: { clientSide: 'number', serverSide: 'number', clientSideRequired: true },
|
|
|
+ haschild: { clientSide: 'boolean', serverSide: 'number' },
|
|
|
+ }
|
|
|
+ this._nameMapperServer = {
|
|
|
+ };
|
|
|
+ this._convertKeyType = (key, direction) => {
|
|
|
+ if (key.endsWith('At'))
|
|
|
+ return {
|
|
|
+ clientSide: 'date',
|
|
|
+ serverSide: 'string',
|
|
|
+ };
|
|
|
+ return undefined;
|
|
|
+ };
|
|
|
+
|
|
|
+ }
|
|
|
+ id !: number;
|
|
|
+ name = '';
|
|
|
+ title = '';
|
|
|
+ pid = 0;
|
|
|
+ desc = '';
|
|
|
+ collectModuleId = 0;
|
|
|
+ collectModuleName = '';
|
|
|
+ villageName = '';
|
|
|
+ spacer = '';
|
|
|
+ haschild = false;
|
|
|
+}
|
|
|
|
|
|
export class VillageApi extends AppServerRequestModule<DataModel> {
|
|
|
|
|
|
@@ -171,20 +203,6 @@ export class VillageApi extends AppServerRequestModule<DataModel> {
|
|
|
return (await this.post('/village/volunteer/getInfo', {
|
|
|
}, '获取志愿者信息', undefined, VolunteerInfo)).data as VolunteerInfo
|
|
|
}
|
|
|
- async getCollectModuleMap() {
|
|
|
- const res = (await this.post('/village/volunteer/getCollectModuleList', {}, '采集板块列表'))
|
|
|
- const map = new Map<string, number>();
|
|
|
- if (!res.data2 || typeof res.data2 !== 'object')
|
|
|
- return map;
|
|
|
- for (const key in res.data2) {
|
|
|
- if (typeof res.data2[key] !== 'string')
|
|
|
- throw new Error(`采集板块列表键值对值不是字符串: ${key} -> ${res.data2[key]}`);
|
|
|
- if (isNaN(Number(key)))
|
|
|
- throw new Error(`采集板块列表键值对键不是数字: ${key}`);
|
|
|
- map.set(res.data2[key], Number(key));
|
|
|
- }
|
|
|
- return map;
|
|
|
- }
|
|
|
async getVolunteerRanklist(category?: number) {
|
|
|
return (this.post('/village/volunteer/getRanklist', {
|
|
|
category,
|
|
|
@@ -229,6 +247,29 @@ export class VillageApi extends AppServerRequestModule<DataModel> {
|
|
|
.catch(e => { throw e });
|
|
|
}
|
|
|
|
|
|
+ async getCollectModuleMap() {
|
|
|
+ const res = (await this.post('/village/volunteer/getCollectModuleList', {}, '采集板块列表'))
|
|
|
+ const map = new Map<string, number>();
|
|
|
+ if (!res.data2 || typeof res.data2 !== 'object')
|
|
|
+ return map;
|
|
|
+ for (const key in res.data2) {
|
|
|
+ if (typeof res.data2[key] !== 'string')
|
|
|
+ throw new Error(`采集板块列表键值对值不是字符串: ${key} -> ${res.data2[key]}`);
|
|
|
+ if (isNaN(Number(key)))
|
|
|
+ throw new Error(`采集板块列表键值对键不是数字: ${key}`);
|
|
|
+ map.set(res.data2[key], Number(key));
|
|
|
+ }
|
|
|
+ return map;
|
|
|
+ }
|
|
|
+
|
|
|
+ async getCatalogList(villageId?: number, pid?: number) {
|
|
|
+ return (this.get('/village/village/getCatalogList', '村落目录列表', {
|
|
|
+ village_id: villageId,
|
|
|
+ pid: pid,
|
|
|
+ }))
|
|
|
+ .then(res => transformArrayDataModel<VillageCatalogListItem>(VillageCatalogListItem, res.data2, `村落目录列表`, true))
|
|
|
+ .catch(e => { throw e });
|
|
|
+ }
|
|
|
async getVillageMenuList(id: number) {
|
|
|
return (this.get('/village/menu/getList', '村落菜单列表', {
|
|
|
village_id: id,
|