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;