ソースを参照

feat: 添加GroupAPI

Jinyao 5 年 前
コミット
91965c36bb

+ 1 - 1
.env

@@ -1,2 +1,2 @@
-VUE_APP_PORTAL_HOST='http://p.seecoder.cn'
+VUE_APP_PORTAL_HOST='p.seecoder.cn'
 VUE_APP_API_URL = '/api'
 VUE_APP_API_URL = '/api'

+ 1 - 0
mock/index.js

@@ -26,6 +26,7 @@ app.use(`${prefix}/users`, require('./routers/user'));
 app.use(`${prefix}/project`, require('./routers/project'));
 app.use(`${prefix}/project`, require('./routers/project'));
 app.use(`${prefix}/pipelines`, require('./routers/pipeline'));
 app.use(`${prefix}/pipelines`, require('./routers/pipeline'));
 app.use(`${prefix}/deployments`, require('./routers/deployment'));
 app.use(`${prefix}/deployments`, require('./routers/deployment'));
+app.use(`${prefix}/groups`, require('./routers/group'));
 
 
 app.listen(4000);
 app.listen(4000);
 
 

+ 26 - 0
mock/routers/group.js

@@ -0,0 +1,26 @@
+/* eslint-disable import/no-extraneous-dependencies */
+/* eslint-disable @typescript-eslint/no-var-requires */
+const router = require('express').Router();
+const wrapper = require('../wrapper');
+
+router.get('/',
+  (req, res) => {
+    const id = req.query.groupId;
+    res.json(wrapper({
+      id,
+      groupId: `Group-${id}`,
+    }));
+  });
+module.exports = router;
+
+router.post('/', (req, res) => {
+  res.json(wrapper('success'));
+});
+
+router.get('/members', (req, res) => {
+  res.json(wrapper([101, 102, 103, 104, 105]));
+});
+
+router.post('/members', (req, res) => {
+  res.json(wrapper('success'));
+});

+ 2 - 0
src/api/pipeline.ts → src/api/devcloud/pipeline.ts

@@ -16,6 +16,7 @@ type UpdatePipelinePayload = PipelinePayload & {
   configJson: string;
   configJson: string;
 }
 }
 
 
+// PIPELINE API
 export const deletePipeline = (pipeline: PipelinePayload) => axios.delete(`${PIPELINE_PREFIX}`, {
 export const deletePipeline = (pipeline: PipelinePayload) => axios.delete(`${PIPELINE_PREFIX}`, {
   params: pipeline,
   params: pipeline,
 });
 });
@@ -41,6 +42,7 @@ export const getPipelinesByProjectId = (projectId: number) => axios.get(`${PIPEL
   },
   },
 });
 });
 
 
+// DEPLOYMENT API
 export const deleteInstance = (deploymentId: number) => axios.delete(`${DEPLOYMENT_PREFIX}`, {
 export const deleteInstance = (deploymentId: number) => axios.delete(`${DEPLOYMENT_PREFIX}`, {
   params: {
   params: {
     deploymentId,
     deploymentId,

+ 1 - 0
src/api/prefix.ts → src/api/devcloud/prefix.ts

@@ -3,3 +3,4 @@ export const DEPLOYMENT_PREFIX = '/deployments';
 export const USER_PREFIX = '/users';
 export const USER_PREFIX = '/users';
 export const TREE_PREFIX = '/tree';
 export const TREE_PREFIX = '/tree';
 export const PROJECT_PREFIX = '/project';
 export const PROJECT_PREFIX = '/project';
+export const GROUP_PREFIX = '/groups';

+ 0 - 0
src/api/project.ts → src/api/devcloud/project.ts


+ 0 - 0
src/api/tree.ts → src/api/devcloud/tree.ts


+ 29 - 0
src/api/devcloud/user.ts

@@ -0,0 +1,29 @@
+import axios from '@/utils/axios';
+
+import { USER_PREFIX, GROUP_PREFIX } from './prefix';
+
+interface AddGroupMemberPayload {
+  invitedUserId: number;
+  groupId: number;
+}
+
+// USER API
+export const getUserInfo = () => axios.get(`${USER_PREFIX}/self`);
+
+// GROUP API
+export const getGroupInfo = () => axios.get(`${GROUP_PREFIX}`);
+
+export const createGroup = (groupName: string) => axios.post(`${GROUP_PREFIX}`, null, {
+  params: {
+    groupName,
+  },
+});
+
+export const getGroupMembers = (groupId: number) => axios.get(`${GROUP_PREFIX}/members`, {
+  params: {
+    groupId,
+  },
+});
+
+export const addGroupMember = (addGroupMemberPayload: AddGroupMemberPayload) => axios.post(`${GROUP_PREFIX}/members`,
+  addGroupMemberPayload);

+ 6 - 4
src/api/index.ts

@@ -1,11 +1,13 @@
-import * as UserAPI from './user';
-import * as ProjectAPI from './project';
-import * as RequirementAPI from './tree';
-import * as PipelineAPI from './pipeline';
+import * as UserAPI from './devcloud/user';
+import * as ProjectAPI from './devcloud/project';
+import * as RequirementAPI from './devcloud/tree';
+import * as PipelineAPI from './devcloud/pipeline';
+import * as PortalAPI from './portal';
 
 
 export {
 export {
   UserAPI,
   UserAPI,
   ProjectAPI,
   ProjectAPI,
   RequirementAPI,
   RequirementAPI,
   PipelineAPI,
   PipelineAPI,
+  PortalAPI,
 };
 };

+ 5 - 0
src/api/portal.ts

@@ -0,0 +1,5 @@
+import axios from '@/utils/axios';
+
+export const getUserIdByPhoneNumber = (phone: number) => axios.get(
+  `http://${process.env.VUE_APP_PORTAL_HOST}/api/user/findIdByPhone/${phone}`,
+);

+ 0 - 5
src/api/user.ts

@@ -1,5 +0,0 @@
-import axios from '@/utils/axios';
-
-import { USER_PREFIX } from './prefix';
-
-export const getUserInfo = () => axios.get(`${USER_PREFIX}/self`);

+ 3 - 3
src/views/Login.vue

@@ -11,9 +11,9 @@ import { defineComponent } from 'vue';
 export default defineComponent({
 export default defineComponent({
   methods: {
   methods: {
     async login() {
     async login() {
-      window.location = `${process.env.VUE_APP_PORTAL_HOST}/api/interaction?scope=openid&client_id=seec-seec&redirect_uri=${encodeURI(
-        `http://${window.location.host}/`,
-      )}` as unknown as Location;
+      window.location = `http://${process.env.VUE_APP_PORTAL_HOST}/api/interaction?scope=openid&client_id=seec-seec&redirect_uri=${
+        encodeURI(`http://${window.location.host}/`)
+      }` as unknown as Location;
     },
     },
   },
   },
 });
 });