ErrCode.php 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915
  1. <?php
  2. namespace loyalsoft;
  3. /**
  4. * 错误码及错误描述字典
  5. * @author gwang
  6. */
  7. class ErrCode {
  8. /**
  9. * 交互成功
  10. */
  11. const ok = 0;
  12. //
  13. // <editor-fold defaultstate="collapsed" desc=" 基础错误码 10xx ">
  14. /**
  15. * 未知原因错误
  16. */
  17. const err_unknownn = 1001;
  18. /**
  19. * 内部错误
  20. */
  21. const err_innerfault = 1002;
  22. /**
  23. * 数据库操作失败
  24. */
  25. const err_db = 1003;
  26. /**
  27. * 内存操作失败
  28. */
  29. const err_mem = 1004;
  30. /**
  31. * 错误: 断言失败
  32. */
  33. const err_assert = 1005;
  34. /**
  35. * 警告: 断言失败
  36. */
  37. const msg_assert = 1006;
  38. /**
  39. * 消息内容非法(不满足tk校验的条件)
  40. */
  41. const err_illegal = 1011;
  42. /**
  43. * 消息内容缺少校验值
  44. */
  45. const err_signo = 1012;
  46. /**
  47. * 消息超时
  48. */
  49. const err_outtime = 1021;
  50. /**
  51. * Just重试
  52. */
  53. const err_retry = 1024;
  54. /**
  55. * 客户端版本过低-整包更
  56. */
  57. const clientversionlow_err = 1031;
  58. /**
  59. * 客户端版本过低-增量更
  60. */
  61. const clientnewversion_msg = 1032;
  62. /**
  63. * 客户端打印信息并且退出
  64. */
  65. const clientPrintMsg_Halt = 1033;
  66. /**
  67. * 操作耗时过短!
  68. */
  69. const err_opTimeTooShort = 1201;
  70. /**
  71. * 功能码非法
  72. */
  73. const ope_err = 1210;
  74. /**
  75. * 操作码非法
  76. */
  77. const cmd_err = 1211;
  78. /**
  79. * 参数非法
  80. */
  81. const paras_err = 1212;
  82. /**
  83. * 参数不足
  84. */
  85. const parasnotenough_msg = 1213;
  86. /**
  87. * 内容包含敏感词
  88. */
  89. const sensword_msg = 1234;
  90. /**
  91. * 服务器正在维护中
  92. */
  93. const err_server_maintaining = 1301;
  94. /**
  95. * 服务器正在升级,请过会儿再来。
  96. */
  97. const err_server_updating = 1302;
  98. /**
  99. * 已经在其他地方登录
  100. */
  101. const err_anotherlogin = 1303;
  102. /**
  103. * 功能暂未开放
  104. */
  105. const function_notopen_msg = 1801;
  106. /**
  107. * 方法尚未实现
  108. */
  109. const err_method_notimplement = 1802;
  110. /**
  111. * 方法已过时, 废弃的.
  112. */
  113. const err_method_obsoleted = 1803;
  114. /**
  115. * 游戏常量数据错误
  116. */
  117. const err_const_no = 1825;
  118. // </editor-fold>
  119. //
  120. // // <editor-fold defaultstate="collapsed" desc=" 商城/付费 88xx ">
  121. /**
  122. * 尚未首付
  123. */
  124. const pay_firstpayno_err = 8801;
  125. /**
  126. * 已经领取首付
  127. */
  128. const pay_firstpaygetted = 8802;
  129. /**
  130. * 系统繁忙
  131. */
  132. const pay_systembusy_err = 8803;
  133. /**
  134. * 不是黄钻或已经领取黄钻礼包
  135. */
  136. const pay_vipnewerno = 8804;
  137. /**
  138. * amt数值小于等于0
  139. */
  140. const pay_m_amtzero_err = 8805;
  141. /**
  142. * 价格异常
  143. */
  144. const pay_price_err = 8806;
  145. /**
  146. * 支付类型异常
  147. */
  148. const pay_m_type_err = 8807;
  149. /**
  150. * 商品常量数据错误-货物内容
  151. */
  152. const pay_shopItem_cosnt_goods_err = 8808;
  153. /**
  154. * 商城 已达刷新次数上限
  155. */
  156. const pay_refresh_times = 8809;
  157. /**
  158. * 神秘商城 - 购买次数已达上限
  159. */
  160. const pay_secretshop_buytimes = 8810;
  161. /**
  162. * 神秘商城 - 物品数据错误
  163. */
  164. const pay_secretshop_noitem_err = 8811;
  165. /**
  166. * 充值 - 订单不存在
  167. */
  168. const pay_order_no = 8812;
  169. /**
  170. * 充值 - 付款状态尚未同步 请稍后重新查询...
  171. */
  172. const pay_order_paystatus = 8813;
  173. /**
  174. * 充值 - 此订单已经发货, 无需重复请求
  175. */
  176. const pay_order_drawed = 8814;
  177. /**
  178. * 充值 - 订单uid不符
  179. */
  180. const pay_order_uid = 8815;
  181. /**
  182. * 订单号错误
  183. */
  184. const pay_order_id = 8816;
  185. /**
  186. * 订单 - 道具id错误
  187. */
  188. const pay_order_product_id = 8817;
  189. /**
  190. * 支付失败(无发货逻辑)
  191. */
  192. const pay_fail_nologic = 8818;
  193. /**
  194. * 不能重复购买
  195. */
  196. const pay_repeatbuy = 8819;
  197. /**
  198. * 充值奖励重复领取
  199. */
  200. const pay_repeatReceive = 8820;
  201. /**
  202. * 没有到充值奖励领取时间
  203. */
  204. const pay_rewardReceive_ts_limit = 8821;
  205. /**
  206. * 累计元宝数量不足无法领取奖励
  207. */
  208. const pay_accumulateYuanBaoNotEnough = 8822;
  209. /**
  210. * 神秘商城 - 免费刷新时间未到
  211. */
  212. const pay_secretshopt_freeRefresh_Time = 8823;
  213. /**
  214. * 支付失败(发货逻辑)
  215. */
  216. const pay_fail_logic = 8824;
  217. /**
  218. * 支付失败(数据库写入)
  219. */
  220. const pay_fail_db = 8825;
  221. // </editor-fold>
  222. //
  223. // <editor-fold defaultstate="collapsed" desc=" not enough 系列 ">
  224. /**
  225. * 金币不足
  226. */
  227. const notenough_gold_msg = 3014;
  228. /**
  229. * 元宝不足
  230. */
  231. const notenough_cash_msg = 3015;
  232. /**
  233. * 友情点不足
  234. */
  235. const notenough_friendshippoint = 3016;
  236. /**
  237. * 玩家荣誉值不足[荣誉值兑换]
  238. */
  239. const notenough_honour = 3032;
  240. /**
  241. * 元宝不足
  242. */
  243. const notenought_yuanbao = 3040;
  244. /**
  245. * 玩家体力值不足
  246. */
  247. const notenough_tili = 3046;
  248. /**
  249. * 晶石不足
  250. */
  251. const notenough_spar = 3047;
  252. /**
  253. * 资源点不足
  254. */
  255. const notenough_resPoint = 3048;
  256. /**
  257. * 道具数量不足
  258. */
  259. const notenough_item = 3049;
  260. // </editor-fold>
  261. //
  262. // <editor-fold defaultstate="collapsed" desc=" user 31xx ">
  263. /**
  264. * 玩家未登录
  265. */
  266. const user_login_err = 3101;
  267. /**
  268. * 玩家不存在
  269. */
  270. const user_no_err = 3102;
  271. /**
  272. * 玩家数据损坏
  273. */
  274. const user_data_broken_err = 3103;
  275. /**
  276. * 连续登录天数不够
  277. */
  278. const user_contigiftno_msg = 3104;
  279. /**
  280. * 已经领取连续登录礼包
  281. */
  282. const user_contigiftfalse_msg = 3105;
  283. /**
  284. * 设置新手引导进度失败
  285. */
  286. const user_settutorialscompletedfail_err = 3106;
  287. /**
  288. * 玩家等级不足
  289. */
  290. const user_levelnotenough_msg = 3107;
  291. /**
  292. * 找不到玩家的交互体数据
  293. */
  294. const user_interact_no_err = 3108;
  295. /**
  296. * 找不到玩家的分区记录
  297. */
  298. const user_zoneinfo_no_err = 3109;
  299. /**
  300. * 玩家昵称已经存在,请换一个再试
  301. */
  302. const user_nicknameexist = 3110;
  303. /**
  304. * 没有这种奖励类型
  305. */
  306. const user_reward_typeno = 3031;
  307. // </editor-fold>
  308. //
  309. // // <editor-fold defaultstate="collapsed" desc=" 关卡 ">
  310. /**
  311. * 没有玩家关卡信息
  312. */
  313. const gate_NoUserGateInfo = 3201;
  314. /**
  315. * 当前关卡没有解锁
  316. */
  317. const gate_GateNoUnlock = 3202;
  318. /**
  319. * 奖励已经被领取
  320. */
  321. const gate_GatePriceHasReceive = 3203;
  322. /**
  323. * 不能扫荡
  324. */
  325. const gate_NoSweep = 3204;
  326. /**
  327. * 今日扫荡已达最大次数
  328. */
  329. const gate_SweepMaxNum_limit = 3205;
  330. /**
  331. * 挑战关卡: 今日挑战次数已用完
  332. */
  333. const tower_timeNo = 3210;
  334. /**
  335. * 挑战关卡: 今日技能免费刷新次数已经用完
  336. */
  337. const tower_refreshNo = 3211;
  338. /**
  339. * 挑战关卡: 没有奖励
  340. */
  341. const tower_rewardNo = 3212;
  342. /**
  343. * 挑战关卡: 起始层id有误
  344. */
  345. const tower_layerNum = 3213;
  346. /**
  347. * 排行榜荣誉榜奖励已经领取
  348. */
  349. const rankReward_HasReceive = 3214;
  350. /**
  351. * 没有达到解锁等级
  352. */
  353. const evolve_canotUnlock_levelLimit = 3215;
  354. /**
  355. * 关卡没有被胜利通关
  356. */
  357. const evolve_GateNoPass = 3216;
  358. // </editor-fold>
  359. //
  360. // // <editor-fold defaultstate="collapsed" desc=" store 3300 ">
  361. /**
  362. * 不存在该装备
  363. */
  364. const user_store_NoEquip = 3301;
  365. /**
  366. * 背包不存在该物品
  367. */
  368. const user_store_NoItem = 3302;
  369. /**
  370. * 宝石不能被镶嵌
  371. */
  372. const user_store_GemCanotSet = 3303;
  373. /**
  374. * 不存在可以替换的宝石
  375. */
  376. const user_store_NoExistGemReplace = 3304;
  377. /**
  378. * 同一件装备无法镶嵌多个技能相同的宝石
  379. */
  380. const user_store_SameGemCanotEquip = 3305;
  381. /**
  382. * 合成宝石条件不足无法合成
  383. */
  384. const user_store_GemCanotCompose = 3306;
  385. /**
  386. * 背包不存在该宝石
  387. */
  388. const user_store_NotExistGem = 3307;
  389. /**
  390. * 洗练石不足
  391. */
  392. const user_store_XilianStoneNoEnough = 3308;
  393. /**
  394. * 没有找到对应词条信息
  395. */
  396. const user_store_NoFindPredicate = 3309;
  397. /**
  398. * 等级已经达到最大值
  399. */
  400. const user_store_LevelLimit = 3310;
  401. /**
  402. * 不存在该装备
  403. */
  404. const user_store_NotExistEquip = 3311;
  405. /**
  406. * 装备部位与宝石部位不匹配
  407. */
  408. const user_store_PositionNotFit = 3312;
  409. /**
  410. * 合成材料类型错误
  411. */
  412. const user_store_equipMaterialTypeErr = 3313;
  413. /**
  414. * 品阶错误
  415. */
  416. const user_store_equipMaterialQualErr = 3314;
  417. /**
  418. * 合成材料数量错误
  419. */
  420. const user_store_equipMaterialNumErr = 3315;
  421. /**
  422. * 已经在最低等级
  423. */
  424. const user_store_equip_minlevel = 3316;
  425. /**
  426. * 已经在最低品阶
  427. */
  428. const user_store_equip_minQual = 3317;
  429. /**
  430. * 合成材料不能参与此次合成
  431. */
  432. const user_store_equip_composeMaterialErr = 3318;
  433. /**
  434. * 已达最高品阶
  435. */
  436. const user_store_equip_qualMaxLimit = 3319;
  437. /**
  438. * 不存在该灵宠
  439. */
  440. const user_store_NotExistPet = 3320;
  441. /**
  442. * 该灵宠已被选择出战
  443. */
  444. const user_store_NotSelectPet_fight = 3321;
  445. /**
  446. * 该灵宠已被选择助战
  447. */
  448. const user_store_NotSelectPet_supportfight = 3322;
  449. /**
  450. * 该区域最多展示8个灵宠
  451. */
  452. const user_store_ShowPetNumLimit = 3323;
  453. /**
  454. * 没有可以孵化的位置
  455. */
  456. const user_store_NoBreedSlot = 3324;
  457. /**
  458. * 不存在可以加速孵化的灵宠蛋
  459. */
  460. const user_store_NoExistBreedEgg = 3325;
  461. /**
  462. * 孵化位置未解锁
  463. */
  464. const user_store_SlotNotUnlocked = 3326;
  465. /**
  466. * 已经完成孵化
  467. */
  468. const user_store_CompleteBreed = 3327;
  469. /**
  470. * 未完成孵化
  471. */
  472. const user_store_NoCompleteBreed = 3328;
  473. /**
  474. * 当前区域派遣灵宠数量已达上限
  475. */
  476. const user_store_dispatchPetNumLimit = 3329;
  477. /**
  478. * 该灵宠不擅长探索当前区域
  479. */
  480. const user_store_dispatchPetErr = 3330;
  481. /**
  482. * 探索中无法更换灵宠
  483. */
  484. const user_store_CannotReplaced_tsLimit = 3331;
  485. /**
  486. * 没有可以领取的产出奖励
  487. */
  488. const user_store_CannotReceiveReward = 3332;
  489. /**
  490. * 至少派遣一只宠物进行探索
  491. */
  492. const user_store_addDispatchPet = 3333;
  493. /**
  494. * 该宠物已经助战
  495. */
  496. const user_store_NoReplacePet = 3334;
  497. // </editor-fold>
  498. //
  499. // // <editor-fold defaultstate="collapsed" desc=" shop 3400 ">
  500. /**
  501. * 商品不能重复购买
  502. */
  503. const user_shop_NotRepeatBuy = 3401;
  504. /**
  505. * 购买次数已达最大值
  506. */
  507. const user_shop_LimitNum = 3402;
  508. /**
  509. * 活动过期
  510. */
  511. const user_shop_activeExpire = 3403;
  512. /**
  513. * 免费次数已达上限
  514. */
  515. const user_shop_FreeNumLimit = 3404;
  516. /**
  517. * 购买次数已达上限
  518. */
  519. const user_shop_buyTiliNumLimit = 3405;
  520. /**
  521. * 广告购买体力次数已达上限
  522. */
  523. const user_shop_GuanggaoGetTiliNumLimit = 3406;
  524. /**
  525. * 广告获得次数已达上限
  526. */
  527. const user_shop_GuanggaoFreeNumLimit = 3407;
  528. /**
  529. * 倒计时时间限制暂时无法购买
  530. */
  531. const user_shop_DownTsLimit = 3408;
  532. // </editor-fold>
  533. //
  534. // // <editor-fold defaultstate="collapsed" desc=" active 3500 ">
  535. /**
  536. * 奖励已经领过
  537. */
  538. const active_hasgetted = 3501;
  539. /**
  540. * 无效的时间内不能领取奖励
  541. */
  542. const active_day7_expired = 3502;
  543. /*
  544. * 不存在活动配置信息
  545. */
  546. const active_const_no_err = 3503;
  547. /**
  548. * 活动 - 激活码 无效
  549. */
  550. const active_activecode_format = 3504;
  551. /**
  552. * 活动 - 激活码 渠道错误.
  553. */
  554. const active_activecode_plat = 3505;
  555. /**
  556. * 激活码礼包已经过期
  557. */
  558. const active_activecode_outtime = 3506;
  559. /**
  560. * 活动 - 兑换码已经使用过了
  561. */
  562. const active_activecode_used = 3507;
  563. /**
  564. * 活动 - 此活动尚未开放
  565. */
  566. const active_time = 3508;
  567. /**
  568. * 抽奖次数非法
  569. */
  570. const active_lotteryNumErr = 3509;
  571. /**
  572. * 抽奖次数已经用完
  573. */
  574. const active_lotteryNumLimit = 3510;
  575. /*
  576. * 抽奖券数据错误
  577. */
  578. const active_lotteryCostErr = 3511;
  579. /**
  580. * 寻宝券数量充足不需要兑换
  581. */
  582. const active_lottery_unwantedExchange = 3512;
  583. /**
  584. * 抽奖次数不足
  585. */
  586. const active_lotteryNumNotEnough = 3513;
  587. /**
  588. * 兑换次数已经用完无法再次兑换
  589. */
  590. const active_lotteryExchangeNumLimit = 3514;
  591. /**
  592. * 消耗体力值不足
  593. */
  594. const active_costTiliNotEnough = 3515;
  595. /**
  596. * 活跃点数量不足
  597. */
  598. const active_pointNotEnough = 3516;
  599. /**
  600. * 连续在线礼包缺少配置数据
  601. */
  602. const onlinegift_constno_err = 3517;
  603. /**
  604. * 抽奖券购买数量超出上限
  605. */
  606. const active_flipCardLotteru_buyNumLimit = 3518;
  607. /**
  608. * 伤害值未达标不能领取该奖励
  609. */
  610. const active_worldBoss_notClaimRewards = 3519;
  611. /**
  612. * 功能未解锁
  613. */
  614. const active_funUnlock = 3520;
  615. // </editor-fold>
  616. //
  617. // // <editor-fold defaultstate="collapsed" desc=" task 3600 ">
  618. /**
  619. * 任务不存在
  620. */
  621. const task_NoExist = 3601;
  622. /**
  623. * 不能领取该任务奖励
  624. */
  625. const task_CanotPriceReviced = 3602;
  626. /**
  627. * 任务奖励不能重复领取
  628. */
  629. const task_PriceRepeatReviced = 3603;
  630. /**
  631. * 活跃点宝箱奖励领取条件不达标无法领取
  632. */
  633. const task_CanotReviced_ActivePointBox = 3604;
  634. /**
  635. * 活跃点宝箱奖励重复领取
  636. */
  637. const task_RepeatReviced_ActivePointBox = 3605;
  638. /**
  639. * 限时活动未开启不能领取任务奖励
  640. */
  641. const task_NotOpen_Day7Happy = 3606;
  642. /**
  643. * 时间校验错误请检查当前时间是否
  644. */
  645. const task_DownTsLimit = 3607;
  646. // </editor-fold>
  647. //
  648. // <editor-fold defaultstate="collapsed" desc=" 邮件错误码 37xx ">
  649. /**
  650. * 邮件 - 错误的邮件id
  651. */
  652. const email_wrongid = 3701;
  653. /**
  654. * 邮件 - 未找到指定邮件
  655. */
  656. const email_not_found = 3702;
  657. /**
  658. * 邮件 - 不存在附件
  659. */
  660. const email_no_appendix = 3703;
  661. /**
  662. * 邮件 - 附件已领取
  663. */
  664. const email_appendix_drawed = 3704;
  665. // </editor-fold>
  666. //
  667. // <editor-fold defaultstate="collapsed" desc=" 反射方法 ">
  668. /**
  669. * 辅助方法, 将所有错误码信息转换到CSV文本中.
  670. * 用法: 先在本文件中用ctrl + H 全部替换掉 'c onst ' -> 's tatic $'
  671. * 然后再调用本方法,即可在同目录下生成ErrCode.txt, 里面包含了所需信息.
  672. * @throws \Exception
  673. * @author gwang
  674. */
  675. static function L() {
  676. $class = new \ReflectionClass(__CLASS__); # 建立这个类的反射对象
  677. $properties = $class->getProperties(\ReflectionProperty::IS_STATIC); # 拉取所有静态属性
  678. $fileName = __DIR__ . "/ErrCode.txt"; # 输出文件名
  679. $fd = fopen($fileName, "w");
  680. if (false === $fd) { # 打开文件失败
  681. throw new \Exception("打开$fileName 失败");
  682. }
  683. foreach ($properties as &$p) {
  684. $d = preg_replace('/[\*|\/|\s+]/', '', $p->getDocComment()); # 处理下注释
  685. $type = (strpos($p->getName(), 'err') === false ? 0 : 1); # errorType: 0 继续, 1 重启
  686. $n = fputs($fd, $p->getName() . ";" . $p->getValue() . ";$type;$d" . PHP_EOL); # 写入文件
  687. if (false === $n) { # 写入时失败
  688. throw new Exception("写入$fileName 时失败");
  689. }
  690. }
  691. fclose($fd);
  692. }
  693. /**
  694. * 辅助方法, 将所有错误码信息转换到CS文件中.
  695. * 用法: 先在本文件中用ctrl + H 全部替换掉 'c onst ' -> 's tatic $'
  696. * 然后再调用本方法,即可在同目录下生成ErrCode.cs, 里面包含了所有错误信息.
  697. * @throws \Exception
  698. * @author gwang
  699. */
  700. static function M() {
  701. $class = new \ReflectionClass(__CLASS__); # 建立这个类的反射对象
  702. $properties = $class->getProperties(\ReflectionProperty::IS_STATIC); # 拉取所有静态属性
  703. $fileName = __DIR__ . "/ErrCode.cs"; # 输出文件名
  704. $fd = fopen($fileName, "w");
  705. if (false === $fd) { # 打开文件失败
  706. throw new \Exception("打开$fileName 失败");
  707. }
  708. $classHead = <<<HEAD
  709. /// <summary>
  710. /// 错误码
  711. /// </summary>
  712. class ErrCode
  713. {
  714. HEAD;
  715. $classEnd = <<<END
  716. }
  717. END;
  718. $cst = 'const';
  719. fputs($fd, $classHead); # 类头
  720. foreach ($properties as &$p) {
  721. $d = preg_replace('/[\*|\/|\s+]/', '', $p->getDocComment()); # 提取注释
  722. $pname = $p->getName(); # 字段名称
  723. $pvalue = $p->getValue(); # 错误码
  724. $filed = <<<FILED
  725. /// <summary>
  726. /// {$d}
  727. /// </summary>
  728. public {$cst} int {$pname} = {$pvalue};
  729. FILED;
  730. $n = fputs($fd, $filed); # 写入错误编号
  731. if (false === $n) { # 写入时失败
  732. throw new Exception("写入$fileName 时失败");
  733. }
  734. }
  735. fputs($fd, $classEnd); # 类尾
  736. fclose($fd);
  737. }
  738. // </editor-fold>
  739. }
  740. //ErrCode::L();
  741. //ErrCode::M();