wupengfei
4 天以前 64ff795479a7667f17c1a4349bb171f546a92a0b
feat: 接口对接
1个文件已添加
6个文件已修改
154 ■■■■ 已修改文件
apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/constants/apiEnum.ts 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/hooks/area.ts 47 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/index.ts 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/taskUser.ts 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/services/apiV2/typings.d.ts 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
packages/utils/area.ts 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/subpackages/curriculum/editMineInfo/InnerPage.vue
@@ -26,7 +26,7 @@
      </nut-form-item>
      <nut-form-item label="常驻城市:" class="bole-form-item" prop="areaList">
        <ChooseInputWithAreaPicker
          :columns="completeAreaTree"
          :columns="areaTree"
          v-model="form.areaList"
          placeholder="请选择常驻城市"
        ></ChooseInputWithAreaPicker>
@@ -42,7 +42,7 @@
import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
import { ChooseInputWithPicker, ChooseInputWithAreaPicker } from '@12333/components';
import { convertApi2FormUrlOnlyOne, Message, setOSSLink } from '@12333/utils';
import { useArea, useDictionaryDataSelect } from '@12333/hooks';
import { useAreaTree, useDictionaryDataSelect } from '@12333/hooks';
import { CategoryCode } from '@12333/constants';
import * as userResumeServices from '@12333/services/apiV2/userResume';
import Taro from '@tarojs/taro';
@@ -60,7 +60,7 @@
  categoryCode: CategoryCode.Education,
});
const { completeAreaTree } = useArea();
const { areaTree } = useAreaTree();
const form = reactive({
  avatar: [],
packages/constants/apiEnum.ts
@@ -91,20 +91,22 @@
  Dictionary = 0,
  /**任务 */
  Task = 1,
  /**任务雇佣 */
  TaskUser = 2,
  /**用户认证 */
  Auth = 2,
  Auth = 3,
  /**用户菜单 */
  Menu = 3,
  Menu = 4,
  /**用户资源 */
  Resource = 4,
  Resource = 5,
  /**用户角色 */
  Role = 5,
  Role = 6,
  /**用户信息 */
  User = 6,
  User = 7,
  /**用户简历 */
  UserResume = 7,
  UserResume = 8,
  /**企业信息 */
  Enterprise = 8,
  Enterprise = 9,
}
/** 资源请求方式 */
@@ -191,6 +193,16 @@
  Complete = 20,
}
/** 任务录用状态 */
export enum EnumTaskUserHireStatus {
  /**待录用 */
  Wait = 10,
  /**已录用 */
  Pass = 20,
  /**已谢绝 */
  Refuse = 30,
}
/** 用户性别 */
export enum EnumUserGender {
  /**男 */
packages/hooks/area.ts
@@ -4,6 +4,7 @@
import { AreaType, CategoryCode } from '@12333/constants';
import Taro, { EventChannel } from '@tarojs/taro';
import { useDictionaryDataSelect } from './dic';
import axios from 'axios';
export function useArea() {
  const queryClient = useQueryClient();
@@ -12,13 +13,12 @@
    categoryCode: CategoryCode.Area,
    staleTime: Infinity,
    all: true,
    maxDeep: AreaType.City,
    maxDeep: AreaType.Area,
  });
  const areaList = computed(() => dictionaryDataList.value.map(convertDictionaryToAreaTreeNode));
  console.log('areaList: ', areaList);
  const areaTree = computed(() => formatAreaListToTree(areaList.value));
  // const areaTree = computed(() => formatAreaListToTree(areaList.value));
  function getAreaFromCompleteAreaList(areaCode: string) {
    return areaList.value.find((x) => x.areaCode === areaCode);
@@ -31,20 +31,41 @@
  return {
    completeAreaList: areaList,
    areaList,
    completeAreaTree: areaTree,
    provinceList: computed(() => areaList.value.filter((x) => x.layer === AreaType.Province)),
    // completeAreaTree: areaTree,
    // provinceList: computed(() => areaList.value.filter((x) => x.layer === AreaType.Province)),
    getAreaFromCompleteAreaList,
    getAreaByAreaCode,
  };
}
export function useAreaTree() {
  axios.get('https://parkmanagement.oss-cn-hangzhou.aliyuncs.com/12333/area.txt').then((res) => {
    console.log(res);
  });
  const { data } = useQuery({
    queryKey: ['area.txt'],
    queryFn() {
      return axios
        .get<API.AreaTreeNode[]>(
          'https://parkmanagement.oss-cn-hangzhou.aliyuncs.com/12333/area.txt'
        )
        .then((res) => res.data);
    },
    placeholderData: () => [] as API.AreaTreeNode[],
  });
  const areaTree = computed(() => formatAreaListToTree(data.value));
  return { areaTree: areaTree };
}
function convertDictionaryToAreaTreeNode(
  item: API.SelectOptionStringGetDictionaryDataSelectQueryResultOption
) {
  return {
    children: [],
    areaCode: item.data?.code,
    parentCode: item.data?.field1,
    parentCode: item.data?.parentCode,
    areaName: item.label,
    layer: Number(item.data?.field4),
    quickQuery: item.data?.field2,
@@ -79,13 +100,13 @@
  };
}
export function useProvinceList() {
  const { provinceList } = useArea();
// export function useProvinceList() {
//   const { provinceList } = useArea();
  return {
    provinceList,
  };
}
//   return {
//     provinceList,
//   };
// }
export const globalEventEmitter = new Taro.Events();
packages/services/apiV2/index.ts
@@ -10,6 +10,7 @@
import * as task from './task';
import * as enterprise from './enterprise';
import * as role from './role';
import * as taskUser from './taskUser';
import * as menu from './menu';
export default {
  userResume,
@@ -20,5 +21,6 @@
  task,
  enterprise,
  role,
  taskUser,
  menu,
};
packages/services/apiV2/taskUser.ts
New file
@@ -0,0 +1,27 @@
/* eslint-disable */
// @ts-ignore
import { request } from '@/utils/request';
/** 报名任务 POST /api/flexjob/taskUser/applyTask */
export async function applyTask(body: API.ApplyTaskCommand, options?: API.RequestConfig) {
  return request<number>('/api/flexjob/taskUser/applyTask', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
/** 收藏任务 POST /api/flexjob/taskUser/collectTask */
export async function collectTask(body: API.CollectTaskCommand, options?: API.RequestConfig) {
  return request<number>('/api/flexjob/taskUser/collectTask', {
    method: 'POST',
    headers: {
      'Content-Type': 'application/json-patch+json',
    },
    data: body,
    ...(options || {}),
  });
}
packages/services/apiV2/typings.d.ts
@@ -145,6 +145,11 @@
    request?: GetUserResumeWorkExperienceQuery;
  }
  interface ApplyTaskCommand {
    /** 任务Id */
    ids?: string[];
  }
  interface BindWxmpUserInfoCommand {
    /** 包括敏感数据在内的完整用户信息的加密数据 */
    encryptedData: string;
@@ -159,6 +164,13 @@
    phoneNumber: string;
    /** 验证码 */
    verifyCode: string;
  }
  interface CollectTaskCommand {
    /** 任务Id */
    ids?: string[];
    /** 是否收藏 */
    isCollect?: boolean;
  }
  interface DeleteDictionaryCategoryCommand {
@@ -262,20 +274,22 @@
    Dictionary = 0,
    /**任务 */
    Task = 1,
    /**任务雇佣 */
    TaskUser = 2,
    /**用户认证 */
    Auth = 2,
    Auth = 3,
    /**用户菜单 */
    Menu = 3,
    Menu = 4,
    /**用户资源 */
    Resource = 4,
    Resource = 5,
    /**用户角色 */
    Role = 5,
    Role = 6,
    /**用户信息 */
    User = 6,
    User = 7,
    /**用户简历 */
    UserResume = 7,
    UserResume = 8,
    /**企业信息 */
    Enterprise = 8,
    Enterprise = 9,
  }
  enum EnumResourceMethod {
@@ -351,6 +365,15 @@
    Wait = 10,
    /**已安排 */
    Complete = 20,
  }
  enum EnumTaskUserHireStatus {
    /**待录用 */
    Wait = 10,
    /**已录用 */
    Pass = 20,
    /**已谢绝 */
    Refuse = 30,
  }
  enum EnumUserGender {
@@ -1481,6 +1504,8 @@
    releaseStatus?: EnumTaskReleaseStatus;
    recommendStatus?: EnumTaskRecommendStatus;
    checkReceiveStatus?: EnumTaskCheckReceiveStatus;
    /** 录用状态 */
    hireStatus?: EnumTaskUserHireStatus[];
    pageModel?: PagedListQueryPageModel;
  }
@@ -1536,6 +1561,7 @@
    recommendStatus?: EnumTaskRecommendStatus;
    /** 创建时间 */
    createdTime?: string;
    hireStatus?: EnumTaskUserHireStatus;
  }
  interface GetTaskInfosQueryResultObjectData {
packages/utils/area.ts
@@ -2,7 +2,7 @@
export function formatAreaListToTree(
  areaDataList: API.AreaTreeNode[],
  parentId = '',
  parentId = null,
  maxLayer = AreaType.Area
) {
  const treeNodeList: API.AreaTreeNode[] = [];
@@ -11,7 +11,9 @@
      const areaTreeNode: API.AreaTreeNode = { ...areaData };
      if (areaData.parentCode === parentId && areaData.layer <= maxLayer) {
        const children = formatAreaListToTree(areaDataList, areaData.areaCode, maxLayer);
        areaTreeNode.children = children;
        if (children.length > 0) {
          areaTreeNode.children = children;
        }
        treeNodeList.push(areaTreeNode);
      }
    });