1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- const tagInfo = '[/libs/model/demo.js]:';
- import to from 'await-to-js';
- import urls from '@/libs/net/urls';
- import {request} from "@/libs/net/request.js";
- /**
- * 模型通过单例模式实现,不要直接实例化,要么调用静态方法,要么通过 getInstance()获取引用
- */
- class Demo {
- // ES6类的静态方法(只能直接由类名调用的方法):static getInstance
- // ES6类的静态属性:直接挂载在类名上的方法,如:Db.instance()
- static instance;
- initFinish = false;
- //=======================基础方法====================
- /**
- * 获取列表方法(具体参数返回,可根据实际业务修改)
- * @returns
- */
- async getList () {
- let url = urls.demoIndex;
- let param = {};
- let [err, res] = await to(request(url, param));
- if (err) {
- return err;
- }
- return res;
- }
- //= ===================数据计算=======================
- //= ===================END 数据计算========================
- //= ====================私有方法=====================
- /**
- *
- * @returns 获取引用
- */
- static getInstance () {
- if (!Demo.instance) {
- Demo.instance = new Demo();
- return Demo.instance;
- }
- return Demo.instance;
- }
- /**
- * 构造函数
- */
- constructor() {
- this.init();
- }
- /**
- * 类实例初始化
- */
- async init () {
- console.log(tagInfo + '初始化');
- this.initFinish = false;
- //如果有初始化业务,就写在这里
- this.initFinish = true;
- console.log(tagInfo + '初始化完成');
- }
- //= ====================END 私有方法=====================
- }
- export default Demo;
|