فهرست منبع

feat(api): 旧系统 fetchSetting

gemercheung 3 سال پیش
والد
کامیت
f608c61f5b

+ 1 - 1
src/api/scene/live.ts

@@ -2,7 +2,7 @@ import { defHttp } from '/@/utils/http/axios';
 import { PageParams, RentListGetResultModel } from './model';
 
 enum Api {
-  pageList = '/zfb/scene/live',
+  pageList = '/basic-api/brand/brandBindList',
 }
 
 /**

+ 23 - 0
src/api/sys/model/userModel.ts

@@ -8,8 +8,31 @@ export interface LoginParams {
 }
 
 export interface RoleInfo {
+  userID: string;
   roleName: string;
   value: string;
+  brandList: string[] | any;
+  canShow: string;
+  createTime: number;
+  createUserId: number;
+  deptExpirationDate: number;
+  deptId: number;
+  deptManagerPhoneNum: string;
+  deptName: string;
+  email: string;
+  fdkkPassword: string;
+  fdkkUser: string;
+  isPlatformStreamer: false;
+  mobile: string;
+  parentDeptId: number;
+  parentDeptName: number;
+  password: string;
+  roleId: number;
+  roleIdList: any[];
+  roleList: number;
+  status: number;
+  userId: number;
+  username: string;
 }
 
 /**

+ 6 - 3
src/api/sys/user.ts

@@ -6,7 +6,7 @@ import { ErrorMessageMode } from '/#/axios';
 enum Api {
   Login = '/basic-api/sys/login',
   Logout = '/logout',
-  GetUserInfo = '/basic-api/getUserInfo',
+  GetUserInfo = '/basic-api/sys/user/infoAnon',
   GetPermCode = '/getPermCode',
 }
 
@@ -35,8 +35,11 @@ export function loginApi(params: LoginParams, mode: ErrorMessageMode = 'modal')
 /**
  * @description: getUserInfo
  */
-export function getUserInfo() {
-  return defHttp.get<GetUserInfoModel>({ url: Api.GetUserInfo }, { errorMessageMode: 'none' });
+export function getUserInfo(id: number) {
+  return defHttp.get<GetUserInfoModel>(
+    { url: `${Api.GetUserInfo}/${id}` },
+    { errorMessageMode: 'none' },
+  );
 }
 
 export function getPermCode() {

+ 5 - 5
src/api/system/system.ts

@@ -19,15 +19,15 @@ import { defHttp } from '/@/utils/http/axios';
 enum Api {
   AccountList = '/basic-api/system/getAccountList',
   IsAccountExist = '/basic-api/system/accountExist',
-  DeptList = '/basic-api/system/getDeptList',
+  DeptList = '/basic-api/sys/dept/list',
   setRoleStatus = '/basic-api/system/setRoleStatus',
   MenuList = '/basic-api/sys/menu/queryAll',
-  RolePageList = '/basic-api/system/getRoleListByPage',
+  RolePageList = '/basic-api/sys/role/list',
   GetAllRoleList = '/basic-api/system/getAllRoleList',
 }
 
 export const getAccountList = (params: AccountParams) =>
-  defHttp.get<AccountListGetResultModel>({ url: Api.AccountList, params });
+  defHttp.post<AccountListGetResultModel>({ url: Api.AccountList, params });
 
 export const getDeptList = (params?: DeptListItem) =>
   defHttp.get<DeptListGetResultModel>({ url: Api.DeptList, params });
@@ -39,10 +39,10 @@ export const getMenuList = (params?: MenuParams) =>
   });
 
 export const getRoleListByPage = (params?: RolePageParams) =>
-  defHttp.get<RolePageListGetResultModel>({ url: Api.RolePageList, params });
+  defHttp.post<RolePageListGetResultModel>({ url: Api.RolePageList, params });
 
 export const getAllRoleList = (params?: RoleParams) =>
-  defHttp.get<RoleListGetResultModel>({ url: Api.GetAllRoleList, params });
+  defHttp.post<RoleListGetResultModel>({ url: Api.GetAllRoleList, params });
 
 export const setRoleStatus = (id: number, status: string) =>
   defHttp.post({ url: Api.setRoleStatus, params: { id, status } });

+ 1 - 0
src/router/guard/permissionGuard.ts

@@ -83,6 +83,7 @@ export function createPermissionGuard(router: Router) {
     // get userinfo while last fetch time is empty
     if (userStore.getLastUpdateTime === 0) {
       try {
+        // debugger;
         await userStore.getUserInfoAction();
       } catch (err) {
         next();

+ 1 - 0
src/store/modules/permission.ts

@@ -124,6 +124,7 @@ export const usePermissionStore = defineStore({
       const patchHomeAffix = (routes: AppRouteRecordRaw[]) => {
         if (!routes || routes.length === 0) return;
         let homePath: string = userStore.getUserInfo.homePath || PageEnum.BASE_HOME;
+
         function patcher(routes: AppRouteRecordRaw[], parentPath = '') {
           if (parentPath) parentPath = parentPath + '/';
           routes.forEach((route: AppRouteRecordRaw) => {

+ 11 - 5
src/store/modules/user.ts

@@ -40,6 +40,9 @@ export const useUserStore = defineStore({
     lastUpdateTime: 0,
   }),
   getters: {
+    getUserInfoCache(): UserInfo {
+      return getAuthCache<UserInfo>(USER_INFO_KEY) || {};
+    },
     getUserInfo(): UserInfo {
       return this.userInfo || getAuthCache<UserInfo>(USER_INFO_KEY) || {};
     },
@@ -94,18 +97,19 @@ export const useUserStore = defineStore({
         const { token, user } = data;
 
         console.log('user', user);
+        const userID: number = user.userId;
 
         // save token
         this.setToken(token);
-        return this.afterLoginAction(goHome);
+        return this.afterLoginAction(userID, goHome);
       } catch (error) {
         return Promise.reject(error);
       }
     },
-    async afterLoginAction(goHome?: boolean): Promise<GetUserInfoModel | null> {
+    async afterLoginAction(id: number, goHome?: boolean): Promise<GetUserInfoModel | null> {
       if (!this.getToken) return null;
       // get user info
-      const userInfo = await this.getUserInfoAction();
+      const userInfo = await this.getUserInfoAction(id);
 
       const sessionTimeout = this.sessionTimeout;
       if (sessionTimeout) {
@@ -124,9 +128,11 @@ export const useUserStore = defineStore({
       }
       return userInfo;
     },
-    async getUserInfoAction(): Promise<UserInfo | null> {
+    async getUserInfoAction(id?: number): Promise<UserInfo | null> {
       if (!this.getToken) return null;
-      const userInfo = await getUserInfo();
+      const userId: number = id || Number(this.getUserInfoCache.userId);
+      // debugger;
+      const userInfo = await getUserInfo(userId);
       const { roles = [] } = userInfo;
       if (isArray(roles)) {
         const roleList = roles.map((item) => item.value) as RoleEnum[];

+ 6 - 0
src/views/dashboard/order/list.vue

@@ -169,6 +169,12 @@
         showIndexColumn: false,
         rowKey: 'id',
         pagination: { pageSize: 20 },
+        fetchSetting: {
+          pageField: 'page',
+          sizeField: 'limit',
+          listField: 'list',
+          totalField: 'totalCount',
+        },
         bordered: true,
       });
 

+ 41 - 4
src/views/dashboard/scenes/live.vue

@@ -1,9 +1,40 @@
+<!-- address: "浙江省,杭州市,萧山区 山阴路688号恒隆广场B座1217"
+adminId: null
+appListPicUrl: null
+bindShowerId: null
+bindShowerName: null
+bindShowerNameList: null
+city: null
+contractPhone: "18819272208"
+createTime: null
+createUserDeptId: 208
+createUserId: 367
+deleted: 0
+id: 1046543
+introduceVideo: null
+introduceVideoCover: null
+latitude: 30.178317
+liveRoomUrl: "https://test.4dkankan.com/shop.html?m=t-CUsa1i2"
+livestreamStatus: 0
+longitude: 120.262421
+name: "自动hdr室外"
+picList: null
+sceneName: "自动hdr室外"
+sceneNum: "t-CUsa1i2"
+sceneUrl: "https://test.4dkankan.com/smobile.html?m=t-CUsa1i2"
+shareWxQrCode: "https://houseoss.4dkankan.com/domain/shop/image/t-CUsa1i21637049206783_QRCode.png"
+simpleDesc: "自动hdr室外"
+sortOrder: 100
+token: null
+type: 0
+updateTime: null
+updateUserId: null -->
 <template>
   <div class="p-4">
     <BasicTable @register="registerTable">
       <template #toolbar> </template>
       <template #cover="{ record }">
-        <TableImg :size="150" :simpleShow="true" :imgList="[record.cover]" />
+        <TableImg :size="150" :simpleShow="true" :imgList="[record.appListPicUrl]" />
       </template>
       <template #houseType="{ record }">
         {{ renderHouseType(record.houseType) }}
@@ -78,19 +109,19 @@
         },
         {
           title: '直播间封面',
-          dataIndex: 'cover',
+          dataIndex: 'appListPicUrl',
           slots: { customRender: 'cover' },
           width: 150,
         },
         {
           title: '排序',
-          dataIndex: 'order',
+          dataIndex: 'sortOrder',
           width: 150,
           sorter: true,
         },
         {
           title: '场景链接',
-          dataIndex: 'link',
+          dataIndex: 'liveRoomUrl',
           slots: { customRender: 'link' },
           width: 180,
         },
@@ -185,6 +216,12 @@
         showIndexColumn: false,
         rowKey: 'id',
         pagination: { pageSize: 20 },
+        fetchSetting: {
+          pageField: 'page',
+          sizeField: 'limit',
+          listField: 'list',
+          totalField: 'totalCount',
+        },
         defSort: {
           field: 'order',
           order: 'asc',

+ 5 - 2
src/views/dashboard/system/dept/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <BasicTable @register="registerTable">
+    <BasicTable @register="registerTable" :searchInfo="searchInfo">
       <template #toolbar>
         <a-button type="primary" @click="handleCreate"> 新增部门 </a-button>
       </template>
@@ -27,7 +27,7 @@
   </div>
 </template>
 <script lang="ts">
-  import { defineComponent } from 'vue';
+  import { defineComponent, reactive } from 'vue';
 
   import { BasicTable, useTable, TableAction } from '/@/components/Table';
   import { getDeptList } from '/@/api/system/system';
@@ -41,6 +41,8 @@
     name: 'DeptManagement',
     components: { BasicTable, DeptModal, TableAction },
     setup() {
+      const searchInfo = reactive<Recordable>({});
+      searchInfo.name = '';
       const [registerModal, { openModal }] = useModal();
       const [registerTable, { reload }] = useTable({
         title: '部门列表',
@@ -94,6 +96,7 @@
         handleEdit,
         handleDelete,
         handleSuccess,
+        searchInfo,
       };
     },
   });

+ 7 - 4
src/views/dashboard/system/menu/index.vue

@@ -1,6 +1,6 @@
 <template>
   <div>
-    <BasicTable @register="registerTable" @fetch-success="onFetchSuccess">
+    <BasicTable @register="registerTable" @fetch-success="onFetchSuccess" :searchInfo="searchInfo">
       <template #toolbar>
         <a-button type="primary" @click="handleCreate"> 新增菜单 </a-button>
       </template>
@@ -27,7 +27,7 @@
   </div>
 </template>
 <script lang="ts">
-  import { defineComponent, nextTick } from 'vue';
+  import { defineComponent, reactive } from 'vue';
 
   import { BasicTable, useTable, TableAction } from '/@/components/Table';
   import { getMenuList } from '/@/api/system/system';
@@ -42,8 +42,10 @@
     components: { BasicTable, MenuDrawer, TableAction },
     setup() {
       // collapseAll
+      const searchInfo = reactive<Recordable>({});
+      searchInfo.order = 'asc';
       const [registerDrawer, { openDrawer }] = useDrawer();
-      const [registerTable, { reload, expandAll }] = useTable({
+      const [registerTable, { reload }] = useTable({
         title: '菜单列表',
         api: getMenuList,
         columns,
@@ -91,7 +93,7 @@
 
       function onFetchSuccess() {
         // 演示默认展开所有表项
-        nextTick(expandAll);
+        // nextTick();
       }
 
       return {
@@ -102,6 +104,7 @@
         handleDelete,
         handleSuccess,
         onFetchSuccess,
+        searchInfo,
       };
     },
   });