Bläddra i källkod

fix: 修改代理的配置

lvkun 2 år sedan
förälder
incheckning
d639a52dea

+ 7 - 3
config/proxy.ts

@@ -5,16 +5,20 @@
 
 module.exports = {
   dev: {
+    '/user': {
+      target: 'http://124.222.113.37:9999',
+      changeOrigin: true,
+      pathRewrite: { '^/user': '' }
+    },
     '/rts': {
-      // target: 'http://ugknfjq1tyqbshsh3.neiwangyun.net',
       target: 'http://124.222.113.37:8080',
       changeOrigin: true,
       pathRewrite: { '^/rts': '' }
     },
-    '/api': {
+    '/iot': {
       target: 'http://124.222.113.37:8888',
       changeOrigin: true,
-      pathRewrite: { '^/api': '' }
+      pathRewrite: { '^/iot': '' }
     }
 
   }

+ 32 - 10
src/api/user/index.ts

@@ -1,5 +1,13 @@
 import request from '@/service/request'
 
+export const login = (data: USER.Params.Login) => {
+  return request<string>({
+    url: '/auth/login',
+    method: 'POST',
+    data
+  })
+}
+
 export const page = (params: USER.Params.Query) => {
   return request<USER.User.Detail[]>({
     url: '/user/page',
@@ -8,10 +16,11 @@ export const page = (params: USER.Params.Query) => {
   })
 }
 
-export const delUser = (id: string) => {
+export const list = (params: {limit: number, userLabel: string}) => {
   return request<USER.User.Detail[]>({
-    url: `/user/page?id=${id}`,
-    method: 'GET'
+    url: '/user/list',
+    method: 'GET',
+    params
   })
 }
 
@@ -23,18 +32,31 @@ export const addUser = (data: USER.User.Detail) => {
   })
 }
 
-export const updateUser = (data: USER.User.Detail) => {
+export const getUserById = (id: string) => {
+  return request<USER.User.Detail>({
+    url: `/user/${id}`,
+    method: 'GET'
+  })
+}
+
+/**
+ *
+ * @param "id": "admin" 用户id 必需
+ * @param "sourcePassword": "admin" 原始密码  做一次base64 encode
+ * @param "newPassword": "admin" 新密码  必需,在输入的密码上   做一次base64 encode
+ */
+export const updatePassword = (data: {id: string, sourcePassword: string, newPassword: string}) => {
   return request<string>({
-    url: '/user',
+    url: '/user/password',
     method: 'PUT',
     data
   })
 }
 
-export const login = (data: COMMON.LOGIN.Login) => {
-  return request<string>({
-    url: '/login',
-    method: 'POST',
-    data
+export const resource = (params: USER.Params.Query & {resourceLabel: string}) => {
+  return request<USER.Resource.Detail[]>({
+    url: '/resource/page',
+    method: 'GET',
+    params
   })
 }

+ 9 - 7
src/controller/user/index.ts

@@ -1,8 +1,8 @@
-import { addUser, delUser, login, page, updateUser } from '@/api/user'
+import { addUser, list, login, page, updatePassword } from '@/api/user'
 import { message } from 'ant-design-vue'
 
 export class UserController {
-  static async login (data: COMMON.LOGIN.Login) {
+  static async login (data: USER.Params.Login) {
     await login(data)
     message.success('登录成功')
   }
@@ -11,9 +11,11 @@ export class UserController {
     return await page(queryState)
   }
 
-  static async del (id: string) {
-    await delUser(id)
-    message.success('删除成功')
+  static async list ({
+    limit = 200,
+    userLabel = ''
+  }: {limit: number, userLabel: string}) {
+    return await list({ limit, userLabel })
   }
 
   static async add (data: USER.User.Detail) {
@@ -21,8 +23,8 @@ export class UserController {
     message.success('添加成功')
   }
 
-  static async update (data: USER.User.Detail) {
-    await updateUser(data)
+  static async updatePassword (data: {id: string, sourcePassword: string, newPassword: string}) {
+    await updatePassword(data)
     message.success('修改成功')
   }
 }

+ 5 - 11
src/hooks/effect.ts

@@ -53,18 +53,12 @@ export const useSchedulerOnce = (callback: () => void, delay: number) => {
 }
 
 export const usePort = (title: string) => {
-  if (process.env.NODE_ENV === 'development') {
-    if (title === '物联网') {
-      setBaseUrl('/api')
-    } else {
-      setBaseUrl('/rts')
-    }
+  if (title === '物联网') {
+    setBaseUrl('/iot')
+  } else if (title === '视联网') {
+    setBaseUrl('/rts')
   } else {
-    if (title === '物联网') {
-      setBaseUrl('/api')
-    } else {
-      setBaseUrl('/rts')
-    }
+    setBaseUrl('/user')
   }
 }
 

+ 20 - 11
src/pages/user/manage/index.vue

@@ -23,14 +23,14 @@
         <template v-if="column.key === 'action'">
             <a-space>
               <a href="#" @click="openModal('update', record)" >编辑</a>
-              <a-popconfirm
+              <!-- <a-popconfirm
                   title="确实要删除吗?"
                   ok-text="确定"
                   cancel-text="取消"
                   @confirm="delUser(record.id)"
                 >
                   <a href="#">删除</a>
-              </a-popconfirm>
+              </a-popconfirm> -->
             </a-space>
         </template>
       </template>
@@ -84,15 +84,22 @@ const useForm = Form.useForm
 
 const queryState = reactive({
   page: 1,
-  pageSize: 10
+  pageSize: 10,
+  total: 0
 })
 
-const state = reactive({
+const state = reactive<{
+  loading: boolean
+  dataSource: USER.User.Detail[]
+  opraState: 'add' | 'update'
+  visible: boolean,
+  detail: USER.User.Detail | null
+}>({
   loading: false,
   dataSource: [],
   opraState: 'add',
   visible: false,
-  detail: {}
+  detail: null
 })
 
 const modelRef = reactive({
@@ -123,10 +130,10 @@ const submit = () => {
   })
 }
 
-const delUser = async (id: string) => {
-  await UserController.del(id)
-  getUserList()
-}
+// const delUser = async (id: string) => {
+//   await UserController.del(id)
+//   getUserList()
+// }
 
 const changePage = ({ current }) => {
   queryState.page = current
@@ -135,12 +142,14 @@ const changePage = ({ current }) => {
 
 const getUserList = async () => {
   state.loading = true
-  const { data } = await UserController.page(queryState)
+  const { data, sum } = await UserController.page(queryState)
+  state.dataSource = data
+  queryState.total = sum
   state.loading = false
 }
 
 onMounted(() => {
-  // getUserList()
+  getUserList()
 })
 
 </script>

+ 8 - 0
src/pages/user/resource/index.vue

@@ -0,0 +1,8 @@
+<template>
+<a-card title="资源管理" >
+</a-card>
+</template>
+<script lang='ts' setup >
+</script>
+<style lang='less' scoped >
+</style>

+ 0 - 6
src/router/before.ts

@@ -3,12 +3,6 @@ import { setBaseUrl } from '@/service/request'
 import { usePort } from '@/hooks/index'
 
 router.beforeEach((to, from, next) => {
-  console.log(to.meta.title)
-  if (to.meta.title === '物联网') {
-    setBaseUrl('/api')
-  } else {
-    setBaseUrl('/rts-api')
-  }
   usePort(to.meta.title as string)
   next()
 })

+ 6 - 0
src/router/index.ts

@@ -302,6 +302,12 @@ const user = {
       name: '用户管理',
       icon: 'PlayCircleOutlined',
       component: () => import('@/pages/user/manage/index.vue')
+    },
+    {
+      path: '/resource',
+      name: '资源管理',
+      icon: 'PlayCircleOutlined',
+      component: () => import('@/pages/user/resource/index.vue')
     }
   ]
 }

+ 2 - 0
src/service/request.ts

@@ -46,6 +46,8 @@ instance.interceptors.response.use(function (response) {
 }, error => Promise.reject(error))
 
 export const setBaseUrl = (baseURL: string) => {
+  console.log('baseURL:', baseURL)
+
   instance.defaults.baseURL = baseURL
 }
 

+ 1 - 1
src/store/modules/user/index.ts

@@ -14,7 +14,7 @@ export const useUserStore = defineStore('userStore', () => {
     })
   }
 
-  const login = async (data: COMMON.LOGIN.Login) => {
+  const login = async (data: USER.Params.Login) => {
     // 存储用户信息 跳转页面
     await UserController.login(data)
   }

+ 19 - 0
src/type/user.d.ts

@@ -7,14 +7,33 @@ declare namespace USER {
       pageSize: number
     }
 
+    interface Login {
+      'userAccount': string, // 用户账号
+      'password': string, // 密码 输入 要base64
+    }
+
   }
 
   namespace User {
     interface Detail {
       id?: string
+      'account': string, // 用户账号 登陆使用 必需
+      'email': string, // 用户邮箱
+      'password': string, // 用户密码  必需,在输入的密码上 做一次base64 encode
+      'label': string // 用户名称 非必需
       [key: string]: string
     }
 
   }
 
+  namespace Resource {
+    interface Detail {
+      'id': string,
+      'label': string,
+      'description': string,
+      'path': string,
+      'type': string,
+      'idStr': string
+    }
+  }
 }