前后端枚举类型命名

命名方法1:使用XXX + Enum 来命名

后端
OrderStatusEnum.CANCEL

前端
OrderStatusEnum.CANCEL

命名方法2:使用命名空间

后端
use common\Enums\OrderStatus;
OrderStatus.CANCEL

前端
import OrderStatus from “/enums/OrderStatus”;
OrderStatus.CANCEL

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width">
    <meta http-equiv="X-UA-Compatible" content="chrome=1">
    <title>前端枚举类</title>
</head>
<body>
    <script>
        (function (global, undefined) {
            //自定义全局枚举类
            global.Enum = function (namesToValues) {
                var enumeration = function () {
                    throw "can't Instantiate Enumerations";
                };
                enumeration.setValue = function (x) {
                    var val = null;
                    enumeration.foreach(function (i) {
                        if (i.value == x) {
                            val = enumeration[i.name];
                        }
                    }, null);
                    return val;
                };

                function inherit(superCtor) {
                    var f = function () {
                    };
                    f.prototype = superCtor;
                    var ctor = function () {
                    };
                    ctor.prototype = new f();
                    ctor.prototype.constructor = superCtor.constructor;
                    return new ctor;
                }

                var proto = enumeration.prototype = {
                    constructor: enumeration,
                    toString: function () {
                        return this.name;
                    },
                    valueOf: function () {
                        return this.value;
                    },
                    toJSON: function () {
                        return this.name;
                    }
                };

                enumeration.values = [];

                for (name in namesToValues) {
                    var e = inherit(proto);
                    e.name = name;
                    e.value = namesToValues[name];
                    enumeration[name] = e;
                    enumeration.values.push(e);

                }

                enumeration.foreach = function (f, c) {
                    for (var i = 0; i < this.values.length; i++) {
                        f.call(c, this.values[i]);
                    }
                };

                return enumeration;

            };
        })(window);
    </script>
    
    
    <script>
        var OrderStatus = window.Enum({
            ERROR: 'ERROR',
            CANCEL: 'CANCEL',
        });
        //alert(OrderStatus.ERROR.name);
        //alert(OrderStatus.ERROR.value);
        //value值对应后端枚举类的键

        //或者直接使用对象键值对
        var OrderStatus = {
            ERROR: 'ERROR2',
            CANCEL: 'CANCEL',
        };
        alert(OrderStatus.ERROR);

    </script>
</body>
</html>

后端以PHP为例

<?php

namespace common\Enums;


class OrderStatus
{
    const ERROR = 0;//异常订单
    
    //此处省略其他状态...
    
    const FINISHED = 90;//已成交
}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值