陈龙 hai 11 meses
pai
achega
555008febc

+ 42 - 0
source/OumanMESUni/pages.json

@@ -42,6 +42,48 @@
             {
                 "navigationBarTitleText" : "新增工序档案"
             }
+        },
+        {
+            "path" : "pages/workingTeam/index",
+            "style" : 
+            {
+                "navigationBarTitleText" : "工作组档案"
+            }
+        },
+        {
+            "path" : "pages/workingTeam/insert",
+            "style" : 
+            {
+                "navigationBarTitleText" : "新增工作组档案"
+            }
+        },
+        {
+            "path" : "pages/workingTeamMember/index",
+            "style" : 
+            {
+                "navigationBarTitleText" : "工作组成员"
+            }
+        },
+        {
+            "path" : "pages/workingTeamProcess/index",
+            "style" : 
+            {
+                "navigationBarTitleText" : "工作级工序"
+            }
+        },
+        {
+            "path" : "pages/workshopSection/index",
+            "style" : 
+            {
+                "navigationBarTitleText" : "工段管理"
+            }
+        },
+        {
+            "path" : "pages/user/index",
+            "style" : 
+            {
+                "navigationBarTitleText" : "用户"
+            }
         }
     ],
     "globalStyle": {

+ 13 - 9
source/OumanMESUni/pages/my/index.vue

@@ -22,9 +22,10 @@
 </template>
 
 <script>
-    import ext from '../../utils/extend.js';
-    import tok from '../../utils/token.js';
-    
+    import extend from '../../utils/extend.js';
+    import token from '../../utils/token.js';
+    import user from '../../utils/user.js';
+
     export default {
         data() {
             return {
@@ -33,10 +34,12 @@
                 isLogin: false,
             }
         },
-        onReady() {
-            let user = ext.readStorage('login_result');
-            console.log(user);
-            this.username = user.UserName;
+        onLoad() {
+            let userinfo = user.get();
+            if (extend.isObject(userinfo)) {
+                this.isLogin = true;
+                this.username = userinfo.userName;
+            }
         },
         methods: {
             openLogin() {
@@ -56,7 +59,8 @@
                     content: '要注销登录吗?',
                     success(r) {
                         if (r.confirm) {
-                            tok.clear();
+                            token.clear();
+                            user.clear();
                             uni.reLaunch({
                                 url: '/pages/index/index'
                             });
@@ -64,7 +68,7 @@
                     }
                 })
             },
-            login(){
+            login() {
                 uni.navigateTo({
                     url: '/pages/login/index'
                 });

+ 78 - 0
source/OumanMESUni/pages/user/index.vue

@@ -0,0 +1,78 @@
+<template>
+    <view class="page">
+        <uni-search-bar v-model="searchParams.searchText" @confirm="search"></uni-search-bar>
+        <view class="tools justify-end">
+            <button class="button" type="primary" size="mini" @tap="openInsert">新增</button>
+        </view>
+        <view class="padding-20">
+            <uni-table>
+                <uni-tr>
+                    <uni-th>组名</uni-th>
+                    <uni-th>启/停</uni-th>
+                    <uni-th>备注</uni-th>
+                </uni-tr>
+                <uni-tr v-for="(item, index) in list" :key="index">
+                    <uni-td>{{item.teamName}}</uni-td>
+                    <uni-td>{{item.opened}}</uni-td>
+                    <uni-td>{{item.description}}</uni-td>
+                </uni-tr>
+            </uni-table>
+        </view>
+        <view class="tools">
+            <button type="primary" size="mini">1</button>
+        </view>
+    </view>
+</template>
+
+<script>
+    import request from '../../utils/request';
+    import api from '../../utils/api';
+    import pages from '../../utils/pages';
+
+    export default {
+        data() {
+            return {
+                searchParams: {
+                    pageIndex: 1,
+                    pageSize: 20,
+                    sort: '',
+                    order: 'ASC',
+                    searchText: '',
+                    opened: true
+                },
+                list: []
+            };
+        },
+        async onLoad() {
+            await this.search();
+        },
+        methods: {
+            async search() {
+                let res = await request.sendToken({
+                    url: api.WorkingTeam.Search.url,
+                    method: api.WorkingTeam.Search.method,
+                    data: this.searchParams
+                });
+                if (res.success) {
+                    console.log(res.data);
+                    this.list = res.data.list;
+                }
+            },
+            
+            openInsert(){
+                uni.navigateTo({
+                    url: pages.workingTeam.insert
+                });
+            }
+        }
+    }
+</script>
+
+<style lang="scss">
+    .content {
+        position: relative;
+        display: flex;
+        height: 100%;
+        flex-direction: column;
+    }
+</style>

+ 78 - 0
source/OumanMESUni/pages/workingTeam/index.vue

@@ -0,0 +1,78 @@
+<template>
+    <view class="page">
+        <uni-search-bar v-model="searchParams.searchText" @confirm="search"></uni-search-bar>
+        <view class="tools justify-end">
+            <button class="button" type="primary" size="mini" @tap="openInsert">新增</button>
+        </view>
+        <view class="padding-20">
+            <uni-table>
+                <uni-tr>
+                    <uni-th>组名</uni-th>
+                    <uni-th>启/停</uni-th>
+                    <uni-th>备注</uni-th>
+                </uni-tr>
+                <uni-tr v-for="(item, index) in list" :key="index">
+                    <uni-td>{{item.teamName}}</uni-td>
+                    <uni-td>{{item.opened}}</uni-td>
+                    <uni-td>{{item.description}}</uni-td>
+                </uni-tr>
+            </uni-table>
+        </view>
+        <view class="tools">
+            <button type="primary" size="mini">1</button>
+        </view>
+    </view>
+</template>
+
+<script>
+    import request from '../../utils/request';
+    import api from '../../utils/api';
+    import pages from '../../utils/pages';
+
+    export default {
+        data() {
+            return {
+                searchParams: {
+                    pageIndex: 1,
+                    pageSize: 20,
+                    sort: '',
+                    order: 'ASC',
+                    searchText: '',
+                    opened: true
+                },
+                list: []
+            };
+        },
+        async onLoad() {
+            await this.search();
+        },
+        methods: {
+            async search() {
+                let res = await request.sendToken({
+                    url: api.WorkingTeam.Search.url,
+                    method: api.WorkingTeam.Search.method,
+                    data: this.searchParams
+                });
+                if (res.success) {
+                    console.log(res.data);
+                    this.list = res.data.list;
+                }
+            },
+            
+            openInsert(){
+                uni.navigateTo({
+                    url: pages.workingTeam.insert
+                });
+            }
+        }
+    }
+</script>
+
+<style lang="scss">
+    .content {
+        position: relative;
+        display: flex;
+        height: 100%;
+        flex-direction: column;
+    }
+</style>

+ 81 - 0
source/OumanMESUni/pages/workingTeam/insert.vue

@@ -0,0 +1,81 @@
+<template>
+    <view class="padding-20">
+        <uni-forms label-position="top">
+            <uni-forms-item label="工作组名称">
+                <uni-easyinput v-model="row.teamName" placeholder="请输入工作组名称"></uni-easyinput>
+            </uni-forms-item>
+            <uni-forms-item label="启/停">
+                <uni-data-checkbox v-model="row.opened" :localdata="openedFormData"></uni-data-checkbox>
+            </uni-forms-item>
+            <uni-forms-item label="备注">
+                <uni-easyinput v-model="row.description" type="textarea" placeholder="请输入备注"></uni-easyinput>
+            </uni-forms-item>
+        </uni-forms>
+        <view class="tools">
+            <button type="primary" @tap="submit">提交</button>
+        </view>
+    </view>
+</template>
+
+<script>
+    import extend from '../../utils/extend';
+    import request from '../../utils/request.js';
+    import api from '../../utils/api';
+
+    export default {
+        data() {
+            return {
+                row: {
+                    workingTeamId: 0,
+                    teamName: '',
+                    opened: false,
+                    description: ''
+                },
+                openedFormData: [{
+                    text: '启用',
+                    value: true
+                }, {
+                    text: '停用',
+                    value: false
+                }]
+            };
+        },
+
+        onLoad() {
+
+        },
+
+        methods: {
+            async submit() {
+                if (extend.isEmptyString(this.row.teamName)) {
+                    return uni.showToast({
+                        icon: 'error',
+                        title: '请输入工作组名称!'
+                    });
+                }
+
+                let res = await request.sendToken({
+                    url: api.WorkingTeam.Save.url,
+                    method: api.WorkingTeam.Save.method,
+                    data: this.row
+                });
+                if (res.success) {
+                    await uni.showToast({
+                        icon: 'success',
+                        title: '提交成功!'
+                    });
+                    uni.navigateBack();
+                } else {
+                    uni.showModal({
+                        title: '错误',
+                        content: res.message
+                    });
+                }
+            }
+        }
+    }
+</script>
+
+<style lang="scss">
+
+</style>

+ 78 - 0
source/OumanMESUni/pages/workingTeamMember/index.vue

@@ -0,0 +1,78 @@
+<template>
+    <view class="page">
+        <uni-search-bar v-model="searchParams.searchText" @confirm="search"></uni-search-bar>
+        <view class="tools justify-end">
+            <button class="button" type="primary" size="mini" @tap="openInsert">新增</button>
+        </view>
+        <view class="padding-20">
+            <uni-table>
+                <uni-tr>
+                    <uni-th>组名</uni-th>
+                    <uni-th>启/停</uni-th>
+                    <uni-th>备注</uni-th>
+                </uni-tr>
+                <uni-tr v-for="(item, index) in list" :key="index">
+                    <uni-td>{{item.teamName}}</uni-td>
+                    <uni-td>{{item.opened}}</uni-td>
+                    <uni-td>{{item.description}}</uni-td>
+                </uni-tr>
+            </uni-table>
+        </view>
+        <view class="tools">
+            <button type="primary" size="mini">1</button>
+        </view>
+    </view>
+</template>
+
+<script>
+    import request from '../../utils/request';
+    import api from '../../utils/api';
+    import pages from '../../utils/pages';
+
+    export default {
+        data() {
+            return {
+                searchParams: {
+                    pageIndex: 1,
+                    pageSize: 20,
+                    sort: '',
+                    order: 'ASC',
+                    searchText: '',
+                    opened: true
+                },
+                list: []
+            };
+        },
+        async onLoad() {
+            await this.search();
+        },
+        methods: {
+            async search() {
+                let res = await request.sendToken({
+                    url: api.WorkingTeam.Search.url,
+                    method: api.WorkingTeam.Search.method,
+                    data: this.searchParams
+                });
+                if (res.success) {
+                    console.log(res.data);
+                    this.list = res.data.list;
+                }
+            },
+            
+            openInsert(){
+                uni.navigateTo({
+                    url: pages.workingTeam.insert
+                });
+            }
+        }
+    }
+</script>
+
+<style lang="scss">
+    .content {
+        position: relative;
+        display: flex;
+        height: 100%;
+        flex-direction: column;
+    }
+</style>

+ 19 - 0
source/OumanMESUni/pages/workingTeamProcess/index.vue

@@ -0,0 +1,19 @@
+<template>
+    <view>
+        
+    </view>
+</template>
+
+<script>
+    export default {
+        data() {
+            return {
+                
+            };
+        }
+    }
+</script>
+
+<style lang="scss">
+
+</style>

+ 78 - 0
source/OumanMESUni/pages/workshopSection/index.vue

@@ -0,0 +1,78 @@
+<template>
+    <view class="page">
+        <uni-search-bar v-model="searchParams.searchText" @confirm="search"></uni-search-bar>
+        <view class="tools justify-end">
+            <button class="button" type="primary" size="mini" @tap="openInsert">新增</button>
+        </view>
+        <view class="padding-20">
+            <uni-table>
+                <uni-tr>
+                    <uni-th>组名</uni-th>
+                    <uni-th>启/停</uni-th>
+                    <uni-th>备注</uni-th>
+                </uni-tr>
+                <uni-tr v-for="(item, index) in list" :key="index">
+                    <uni-td>{{item.teamName}}</uni-td>
+                    <uni-td>{{item.opened}}</uni-td>
+                    <uni-td>{{item.description}}</uni-td>
+                </uni-tr>
+            </uni-table>
+        </view>
+        <view class="tools">
+            <button type="primary" size="mini">1</button>
+        </view>
+    </view>
+</template>
+
+<script>
+    import request from '../../utils/request';
+    import api from '../../utils/api';
+    import pages from '../../utils/pages';
+
+    export default {
+        data() {
+            return {
+                searchParams: {
+                    pageIndex: 1,
+                    pageSize: 20,
+                    sort: '',
+                    order: 'ASC',
+                    searchText: '',
+                    opened: true
+                },
+                list: []
+            };
+        },
+        async onLoad() {
+            await this.search();
+        },
+        methods: {
+            async search() {
+                let res = await request.sendToken({
+                    url: api.WorkingTeam.Search.url,
+                    method: api.WorkingTeam.Search.method,
+                    data: this.searchParams
+                });
+                if (res.success) {
+                    console.log(res.data);
+                    this.list = res.data.list;
+                }
+            },
+            
+            openInsert(){
+                uni.navigateTo({
+                    url: pages.workingTeam.insert
+                });
+            }
+        }
+    }
+</script>
+
+<style lang="scss">
+    .content {
+        position: relative;
+        display: flex;
+        height: 100%;
+        flex-direction: column;
+    }
+</style>

+ 1 - 1
source/OumanMESUni/styles/reset-uni.css

@@ -5,7 +5,7 @@ body {
 }
 
 uni-button {
-    font-size: 28upx;
+    font-size: 28upx !important;
 }
 
 view,

+ 5 - 0
source/OumanMESUni/uni.scss

@@ -78,4 +78,9 @@ $uni-font-size-paragraph:15px;
 /* 状态栏 */
 .status-bar-height {
     height: var(--status-bar-height);
+}
+
+uni-button {
+    margin-left: 0;
+    margin-right: 0;
 }

+ 2 - 2
source/OumanMESUni/utils/api.js

@@ -1,7 +1,7 @@
 /**
  * API 接口
  */
-const Api = {
+const api = {
     /**
      * 人工定额管理
      */
@@ -294,4 +294,4 @@ const Api = {
     }
 };
 
-export default Api;
+export default api;

+ 48 - 0
source/OumanMESUni/utils/pages.js

@@ -37,6 +37,46 @@ class Pages {
         insert: '/pages/process/insert'
     }
 
+    /**
+     * 工作组档案
+     */
+    workingTeam = {
+        /**
+         * 工作组档案首页
+         */
+        index: '/pages/workingTeam/index',
+        
+        /**
+         * 新增工作组档案
+         */
+        insert: '/pages/workingTeam/insert'
+    }
+    
+    /**
+     * 工段管理
+     */
+    workshopSection = {
+        /**
+         * 工段管理首页
+         */
+        index: '/pages/workshopSection/index',
+        
+        /**
+         * 新增工段管理
+         */
+        insert: '/pages/workshopSection/insert'
+    }
+    
+    /**
+     * 用户
+     */
+    user = {
+        /**
+         * 用户首页
+         */
+        index: '/pages/user/index'
+    }
+
     /**
      * 页面列表
      */
@@ -53,6 +93,14 @@ class Pages {
             text: '工序档案',
             url: this.process.index,
             icon: 'color'
+        }, {
+            text: '工作组档案',
+            url: this.workingTeam.index,
+            icon: 'color'
+        }, {
+            text: '工段管理',
+            url: this.workshopSection.index,
+            icon: 'color'
         }];
         return list;
     }

+ 41 - 50
source/OumanMESUni/utils/request.js

@@ -1,32 +1,28 @@
-/**
- * 网络请求
- */
-import ext from './extend.js';
-import tok from './token.js';
+import extend from './extend.js';
+import token from './token.js';
+import result from './result.js';
+import ResultData from './resultData.js';
 
 /**
- * @typedef {Object} RequestResult
- * @property {boolean} success - 请求是否成功标记
- * @property {string} message - 请求失败消息
- * @property {Object} data - 请求成功接收的数据
+ * 网络请求
  */
-const Request = {
+const request = {
     /**
      * 设置基础地址
      * @param {string} url - 基础地址
      */
     setBaseUrl(url) {
-        if (!ext.isString(url)) {
+        if (!extend.isString(url)) {
             url = '';
         }
-        ext.addStorage('base_url', url);
+        extend.addStorage('base_url', url);
     },
 
     /**
      * 获取基础地址
      */
     getBaseUrl() {
-        return ext.readStorage('base_url');
+        return extend.readStorage('base_url');
     },
 
     /**
@@ -38,11 +34,11 @@ const Request = {
      * @param {string} opts.responseType - 接受数据类型,默认 json
      * @param {Object} opts.data - 请求参数
      * @param {Object} opts.header - 请求头
-     * @returns {RequestResult} 网络请求结果对象
+     * @returns {ResultData} 结果对象
      */
     send(opts) {
         return new Promise(async (resolve, reject) => {
-            if (!ext.isObject(opts)) {
+            if (!extend.isObject(opts)) {
                 resolve({
                     success: false,
                     message: '参数不能为空'
@@ -51,11 +47,11 @@ const Request = {
             }
             let data = null;
             let url = '';
-            let baseUrl = Request.getBaseUrl();
+            let baseUrl = request.getBaseUrl();
 
             try {
-                if (!ext.isUrl(opts.url)) {
-                    if (ext.isEmptyString(baseUrl)) {
+                if (!extend.isUrl(opts.url)) {
+                    if (extend.isEmptyString(baseUrl)) {
                         resolve({
                             success: false,
                             message: '未设置 BaseUrl'
@@ -65,7 +61,7 @@ const Request = {
                         url = baseUrl + opts.url;
                     }
                 }
-                if (!ext.isObject(opts.header)) {
+                if (!extend.isObject(opts.header)) {
                     opts.header = {};
                 }
                 switch (opts.type) {
@@ -82,7 +78,7 @@ const Request = {
                         opts.header['content-type'] = 'application/x-www-form-urlencoded';
                         break;
                 }
-                if (ext.isEmptyString(opts.method)) {
+                if (extend.isEmptyString(opts.method)) {
                     opts.method = 'get';
                 }
                 uni.request({
@@ -97,46 +93,38 @@ const Request = {
                         if (res.statusCode === 401) {
                             let r = await tok.getByServer();
                             if (r.success) {
-                                let rr = await Request.send(opts.data);
-                                if (rr.success || rr.code === 200) {
-                                    resolve({
-                                        success: true,
-                                        data: rr.data
-                                    });
-                                } else {
-                                    resolve({
-                                        success: false,
-                                        message: rr.message
-                                    });
-                                }
+                                res = await Request.send(opts.data);
                             } else {
-                                resolve({
+                                return resolve(new ResultData({
                                     success: false,
                                     message: r.message
-                                });
+                                }));
                             }
                         }
-                        resolve({
-                            success: true,
+                        res = result.get(res);
+                        resolve(new ResultData({
+                            success: res.success,
+                            message: res.message,
+                            statusCode: res.statusCode,
                             data: res.data
-                        });
+                        }));
                     },
                     fail(ex) {
                         console.error(ex);
-                        ex = ext.errorFormatter(ex);
-                        resolve({
+                        ex = extend.errorFormatter(ex);
+                        resolve(new ResultData({
                             success: false,
                             message: ex.message
-                        });
+                        }));
                     }
                 });
-            } catch(ex) {
-                let err = ext.errorFormatter(ex);
+            } catch (ex) {
+                let err = extend.errorFormatter(ex);
                 console.error(ex);
-                resolve({
+                resolve(new ResultData({
                     success: false,
-                    message: err.message
-                });
+                    message: err.message,
+                }));
             }
         });
     },
@@ -152,20 +140,23 @@ const Request = {
      * @returns {RequestResult} 网络请求结果对象
      */
     async sendToken(opts) {
-        if (!ext.isObject(opts)) {
+        if (!extend.isObject(opts)) {
             return {
                 success: false,
                 message: '参数不能为空'
             };
         }
-        let token = tok.get();
-        if (ext.isNonEmptyString(token)) {
+        let tokenStr = token.get();
+        if (extend.isNonEmptyString(tokenStr)) {
             opts.header = {
-                Authorization: token
+                Authorization: tokenStr
             };
         }
         return await this.send(opts);
     }
 };
 
-export default Request;
+/**
+ * 网络请求
+ */
+export default request;

+ 61 - 43
source/OumanMESUni/utils/result.js

@@ -2,59 +2,77 @@
  * 结果
  */
 
-import ext from './extend.js';
+import extend from './extend.js';
+import ResultData from './resultData.js';
 
-export default {
+/**
+ * 结果类
+ */
+class result {
     /**
      * 获取结果数据
      * @param {object} data - 结果对象数据
+     * @param {boolean} data.success 成功标记
+     * @param {string} data.message 消息
+     * @param {number} data.statusCode 状态码
+     * @param {any} data.data 数据
+     * @returns {ResultData} 结果数据类
      */
     get(data) {
-        let res = {
-            success: false,
-            message: '',
-            data: null
-        };
-        if (ext.isObject(data)) {
-            if (data.success) {
-                if (ext.isObject(data.data)) {
-                    if (data.data.Success || data.data.success || data.data.code === 200) {
-                        res.success = true;
-                        if (ext.isObject(data.data.Data) || ext.isString(data.data.Data) || ext.isBool(data.data.Data)) {
-                            res.data = data.data.Data;
-                        } else if (ext.isObject(data.data.Result) || ext.isString(data.data.Result) || ext.isBool(data.data.Result)) {
-                            res.data = data.data.Result;
-                        } else if (!ext.isNull(data.data.data)) {
-                            res.data = data.data.data;
-                        } else {
-                            res.message = '没有返回结果!';
-                        }
-                    } else {
-                        if (ext.isArray(data.data.Messages) && data.data.Messages.length > 0) {
-                            for (let i = 0; i < data.data.Messages.length; i++) {
-                                if (ext.isNonEmptyString(data.data.Messages[i])) {
-                                    if (ext.isNonEmptyString(res.message)) {
-                                        res.message += '\n';
-                                    }
-                                    res.message += data.data.Messages[i];
-                                }
-                            }
-                        } else {
-                            res.message = data.data.Message || '';
+        let res = new ResultData({
+            message: data.errMsg,
+            statusCode: data.statusCode
+        });
+        if (extend.isNull(data)) {
+            res.success = false;
+            res.message = '不是对象!';
+        } else if (extend.isNull(data.data)) {
+            res.success = false;
+            res.message = '没有数据!';
+        } else {
+            if (extend.isBool(data.data.success)) {
+                res.success = data.data.success;
+            } else if (extend.isBool(data.data.Success)) {
+                res.success = data.data.Success;
+            } else if (extend.isNumber(data.data.code)) {
+                res.success = data.data.code === 200;
+            } else {
+                res.success = false;
+            }
+
+            if (res.success) {
+                if (!extend.isNull(data.data.Result)) {
+                    res.data = data.data.Result;
+                } else if (!extend.isNull(data.data.Data)) {
+                    res.data = data.data.Data;
+                } else if (!extend.isNull(data.data.data)) {
+                    res.data = data.data.data;
+                }
+            } else {
+                if (extend.isArray(data.data.Messages)) {
+                    for (let i = 0; i < data.data.Messages.length; i++) {
+                        if (i > 0) {
+                            res.message += '\n';
                         }
+                        res.message += data.data.Messages[i] || '';
                     }
-                } else if (ext.isNull(data.data)) {
-                    res.message = '没有数据!';
-                } else {
-                    res.success = true;
-                    res.data = data.data;
                 }
-            } else {
-                res.message = data.message;
+                else if (extend.isString(data.data.Message)) {
+                    res.message = data.data.Message;
+                } else if (extend.isString(data.data.message)) {
+                    res.message = data.data.message;
+                } else if (extend.isString(data.data.msg)) {
+                    res.message = data.data.msg;
+                } else if (extend.isString(data.data.errMsg)) {
+                    res.message = data.data.errMsg;
+                }
             }
-        } else {
-            res.message = '不是对象!';
         }
         return res;
     }
-}
+}
+
+/**
+ * 结果类
+ */
+export default new result();

+ 48 - 0
source/OumanMESUni/utils/resultData.js

@@ -0,0 +1,48 @@
+import extend from './extend.js';
+
+/**
+ * 结果数据类
+ */
+class ResultData {
+    /**
+     * 成功标记
+     */
+    success = true;
+
+    /**
+     * 消息
+     */
+    message = '';
+
+    /**
+     * 状态码
+     */
+    statusCode = 0;
+
+    /**
+     * 数据
+     */
+    data = null;
+
+    /**
+     * 构造
+     * @param {object} data 初始数据
+     * @param {boolean} data.success 成功标记
+     * @param {string} data.message 消息
+     * @param {number} data.statusCode 状态码
+     * @param {any} data.data 数据
+     */
+    constructor(data) {
+        if (extend.isObject(data)) {
+            this.success = extend.isBool(data.success) ? data.success : true;
+            this.message = extend.isString(data.message) ? data.message : '';
+            this.statusCode = extend.isNumber(data.statusCode) ? data.statusCode : 0;
+            this.data = extend.isNull(data.data) ? null : data.data;
+        }
+    }
+}
+
+/**
+ * 结果数据类
+ */
+export default ResultData;

+ 24 - 18
source/OumanMESUni/utils/user.js

@@ -1,17 +1,18 @@
+import extend from './extend.js';
+import request from './request.js';
+import api from './api.js';
+
 /**
  * 用户类
  */
-import ext from './extend.js';
-import api from './api.js';
-
-export default {
+class user {
     /**
      * 获取用户对象
      */
     get() {
-        let user = ext.readStorage('login_result');
+        let user = extend.readStorage('login_result');
         return user;
-    },
+    }
 
     /**
      * 设置用户对象
@@ -19,20 +20,20 @@ export default {
      * @returns {boolean} 设置成功标记
      */
     set(user) {
-        if (ext.isObject(user)) {
-            ext.addStorage('login_result', user);
+        if (extend.isObject(user)) {
+            extend.addStorage('login_result', user);
             return true;
         }
         return false;
-    },
+    }
 
     /**
      * 获取登录信息
      */
     getLoginInfo() {
-        let info = ext.readStorage('login_result');
+        let info = extend.readStorage('login_result');
         return info;
-    },
+    }
 
     /**
      * 设置登录信息
@@ -42,20 +43,20 @@ export default {
      * @returns {boolean} 设置成功标记
      */
     setLoginInfo(info) {
-        if (ext.isObject(info)) {
-            ext.addStorage('login_info', info);
+        if (extend.isObject(info)) {
+            extend.addStorage('login_info', info);
             return true;
         }
         return false;
-    },
+    }
 
     /**
      * 清除用户信息缓存
      */
     clear() {
-        ext.removeStorage('login_result');
-        ext.removeStorage('login_info');
-    },
+        extend.removeStorage('login_result');
+        extend.removeStorage('login_info');
+    }
 
     /**
      * 通过服务器获取用户信息
@@ -70,4 +71,9 @@ export default {
         }
         return res;
     }
-}
+}
+
+/**
+ * 网络请求
+ */
+export default new user();