├── .babelrc
├── .gitattributes
├── .gitignore
├── .gopmfile
├── .travis.yml
├── BUG.md
├── ERRORS.md
├── PLUGS.md
├── README.md
├── Single_cache
└── .gitignore
├── UPDATE.MD
├── conf
├── example
│ └── app.conf.example
└── rbac_model.conf
├── controllers
├── AnnotationController.go
├── AnnotationFileController.go
├── AnnotationItemController.go
├── AnnotationRecordController.go
├── AnnotationReturnController.go
├── ArticleController.go
├── BackendUserController.go
├── BaseAnnotationController.go
├── BaseController.go
├── BaseOrderController.go
├── CiqController.go
├── ClearanceController.go
├── CompanyContactController.go
├── CompanyController.go
├── CompanyForeignController.go
├── CompanySealController.go
├── FileController.go
├── HandBookController.go
├── HomeController.go
├── HsCodeController.go
├── MainController.go
├── OrderContainerController.go
├── OrderController.go
├── OrderDocumentController.go
├── OrderFileController.go
├── OrderItemController.go
├── OrderItemLimitController.go
├── OrderItemLimitVinController.go
├── OrderRecordController.go
├── OrderReturnController.go
├── PdfController.go
├── ResourceController.go
├── RoleController.go
├── SettingController.go
├── SingeController.go
├── SoapController.go
├── WebHookController.go
└── WebSocketController.go
├── database
├── migrations
│ └── .gitignore
└── sql
│ └── bee_custom.sql
├── enums
├── Common.go
└── Pdf.go
├── excel
├── 01.关区代码.xlsx
├── 02.运输方式代码表.xlsx
├── 03.监管方式代码表.xlsx
├── 04.征免性质代码表.xlsx
├── 05.国别(地区)代码表.xlsx
├── 06.港口代码表.xlsx
├── 07.国内地区(境内目的地)代码表.xlsx
├── 08.成交方式代码表.xlsx
├── 09.货币代码表.xlsx
├── 10.集装箱规格代码表.xlsx
├── 11.计量单位代码表.xlsx
├── 12.征减免税方式代码表.xlsx
├── 13.包装种类代码表.xlsx
├── 14.国内(入离境)口岸代码表.xlsx
├── 15.检验检疫机关代码表.xlsx
├── 16.关联理由代码表.xlsx
├── 17.监管证件(随附单证)代码表.xlsx
├── 18.企业资质代码表.xlsx
├── 19.用途代码表.xlsx
├── 20.原产地区代码表.xlsx
├── 201900000000034151-二期手册.xlsx
├── 201900000000036663-二期账册.xlsx
├── 21.危包规格代码表.xlsx
├── 22.货物属性代码表.xlsx
├── 23.国内行政区划(目的地)代码.xlsx
├── 24.随附单证类别代码.xlsx
├── 25.检验检疫名称参数.xls
├── 25.检验检疫名称参数.xlsx
├── 26.许可证类别代码表.xlsx
├── 27.实施检验的进出口商品目录调整表.xls
├── orc
│ ├── cmake-3.16.2-win64-x64.msi
│ ├── leptonica.rar
│ ├── plat_cas_verifycode_gen.jpg
│ ├── plat_cas_verifycode_gen1.jpg
│ ├── plat_cas_verifycode_gen2.jpg
│ └── tesseract.rar
├── xml
│ └── return
│ │ ├── annotation
│ │ ├── 2019112211221683_E_E52072019112210380541.xml
│ │ ├── Receipt_DXPEDCINVT000001DXPESW00002070902019112616043400055373223_20191126160427492076130.xml
│ │ └── Successed_2019112615594477_E_QDE52072019112615572999_20191126160012015914121.xml
│ │ └── order
│ │ ├── Failed_2019122320100504_E_E52072019122319204282_20191223201050538111142.xml
│ │ ├── Failed_2019122320124106_E_E52072019122319204282_20191223201320936713521.xml
│ │ ├── Receipt_DECCUS004_E20190000357086783_201900002231409341_20191223213658415696832.xml
│ │ ├── Receipt_DECCUS004_E20190000357086783_201900002231409431_20191223213713435555923.xml
│ │ ├── Receipt_DECCUS004_E20190000357086783_201900002231412887_20191223214444126334049.xml
│ │ ├── Successed_2019122320053105_E_E52072019122319225343_20191223200620123644335.xml
│ │ └── Successed_2019122320061062_E_E52072019122319215218_20191223200850526246957.xml
└── 商品信息.xlsx
├── file
└── file.go
├── go.mod
├── go.sum
├── gowatch.yml
├── gulpfile.js
├── logs
└── .gitignore
├── main.go
├── middleware
└── beego-orm-adapter
│ ├── .gitignore
│ ├── .travis.yml
│ ├── LICENSE
│ ├── README.md
│ ├── adapter.go
│ ├── adapter_test.go
│ └── examples
│ ├── rbac_model.conf
│ └── rbac_policy.csv
├── models
├── Annotation.go
├── AnnotationFile.go
├── AnnotationItem.go
├── AnnotationRecord.go
├── AnnotationReturn.go
├── AnnotationUserRel.go
├── Article.go
├── BackendUser.go
├── BaseModel.go
├── Ciq.go
├── Clearance.go
├── ClearanceUpdateTime.go
├── Company.go
├── CompanyContact.go
├── CompanyForeign.go
├── CompanySeal.go
├── DataBase.go
├── HandBook.go
├── HandBookGood.go
├── HandBookUllage.go
├── HsCode.go
├── Order.go
├── OrderContainer.go
├── OrderDocument.go
├── OrderFile.go
├── OrderItem.go
├── OrderItemLimit.go
├── OrderItemLimitVin.go
├── OrderRecord.go
├── OrderReturn.go
├── OrderUserRel.go
├── Resource.go
├── Role.go
├── Setting.go
└── init.go
├── mysoap
├── ACKMsg.go
├── OutBounds.go
├── onYard.go
├── sea.go
├── wsdl
│ ├── ACKMsg.wsdl
│ ├── OutBounds.wsdl
│ └── onYard.wsdl
├── xml
│ ├── CN_MFT_MT2101A_201909271807563265.xml
│ └── CN_MT2101A_20191120083451025_019.xml
└── 海运舱单.java
├── package-lock.json
├── package.json
├── routers
└── router.go
├── static
├── customAdmin
│ ├── BigDecimal.js
│ ├── config.js
│ ├── layui
│ │ ├── css
│ │ │ ├── layui.css
│ │ │ ├── layui.mobile.css
│ │ │ └── modules
│ │ │ │ ├── code.css
│ │ │ │ ├── laydate
│ │ │ │ └── default
│ │ │ │ │ └── laydate.css
│ │ │ │ └── layer
│ │ │ │ └── default
│ │ │ │ ├── icon-ext.png
│ │ │ │ ├── icon.png
│ │ │ │ ├── layer.css
│ │ │ │ ├── loading-0.gif
│ │ │ │ ├── loading-1.gif
│ │ │ │ └── loading-2.gif
│ │ ├── font
│ │ │ ├── iconfont.eot
│ │ │ ├── iconfont.svg
│ │ │ ├── iconfont.ttf
│ │ │ ├── iconfont.woff
│ │ │ └── iconfont.woff2
│ │ ├── images
│ │ │ └── face
│ │ │ │ ├── 0.gif
│ │ │ │ ├── 1.gif
│ │ │ │ ├── 10.gif
│ │ │ │ ├── 11.gif
│ │ │ │ ├── 12.gif
│ │ │ │ ├── 13.gif
│ │ │ │ ├── 14.gif
│ │ │ │ ├── 15.gif
│ │ │ │ ├── 16.gif
│ │ │ │ ├── 17.gif
│ │ │ │ ├── 18.gif
│ │ │ │ ├── 19.gif
│ │ │ │ ├── 2.gif
│ │ │ │ ├── 20.gif
│ │ │ │ ├── 21.gif
│ │ │ │ ├── 22.gif
│ │ │ │ ├── 23.gif
│ │ │ │ ├── 24.gif
│ │ │ │ ├── 25.gif
│ │ │ │ ├── 26.gif
│ │ │ │ ├── 27.gif
│ │ │ │ ├── 28.gif
│ │ │ │ ├── 29.gif
│ │ │ │ ├── 3.gif
│ │ │ │ ├── 30.gif
│ │ │ │ ├── 31.gif
│ │ │ │ ├── 32.gif
│ │ │ │ ├── 33.gif
│ │ │ │ ├── 34.gif
│ │ │ │ ├── 35.gif
│ │ │ │ ├── 36.gif
│ │ │ │ ├── 37.gif
│ │ │ │ ├── 38.gif
│ │ │ │ ├── 39.gif
│ │ │ │ ├── 4.gif
│ │ │ │ ├── 40.gif
│ │ │ │ ├── 41.gif
│ │ │ │ ├── 42.gif
│ │ │ │ ├── 43.gif
│ │ │ │ ├── 44.gif
│ │ │ │ ├── 45.gif
│ │ │ │ ├── 46.gif
│ │ │ │ ├── 47.gif
│ │ │ │ ├── 48.gif
│ │ │ │ ├── 49.gif
│ │ │ │ ├── 5.gif
│ │ │ │ ├── 50.gif
│ │ │ │ ├── 51.gif
│ │ │ │ ├── 52.gif
│ │ │ │ ├── 53.gif
│ │ │ │ ├── 54.gif
│ │ │ │ ├── 55.gif
│ │ │ │ ├── 56.gif
│ │ │ │ ├── 57.gif
│ │ │ │ ├── 58.gif
│ │ │ │ ├── 59.gif
│ │ │ │ ├── 6.gif
│ │ │ │ ├── 60.gif
│ │ │ │ ├── 61.gif
│ │ │ │ ├── 62.gif
│ │ │ │ ├── 63.gif
│ │ │ │ ├── 64.gif
│ │ │ │ ├── 65.gif
│ │ │ │ ├── 66.gif
│ │ │ │ ├── 67.gif
│ │ │ │ ├── 68.gif
│ │ │ │ ├── 69.gif
│ │ │ │ ├── 7.gif
│ │ │ │ ├── 70.gif
│ │ │ │ ├── 71.gif
│ │ │ │ ├── 8.gif
│ │ │ │ └── 9.gif
│ │ ├── lay
│ │ │ └── modules
│ │ │ │ ├── carousel.js
│ │ │ │ ├── code.js
│ │ │ │ ├── colorpicker.js
│ │ │ │ ├── element.js
│ │ │ │ ├── flow.js
│ │ │ │ ├── form.js
│ │ │ │ ├── jquery.js
│ │ │ │ ├── laydate.js
│ │ │ │ ├── layedit.js
│ │ │ │ ├── layer.js
│ │ │ │ ├── laypage.js
│ │ │ │ ├── laytpl.js
│ │ │ │ ├── mobile.js
│ │ │ │ ├── rate.js
│ │ │ │ ├── slider.js
│ │ │ │ ├── table.js
│ │ │ │ ├── transfer.js
│ │ │ │ ├── tree.js
│ │ │ │ ├── upload.js
│ │ │ │ └── util.js
│ │ └── layui.js
│ ├── lib
│ │ ├── AutoComplete.js
│ │ ├── admin.js
│ │ ├── extend
│ │ │ ├── Swiper.js
│ │ │ ├── echarts.js
│ │ │ ├── echartsTheme.js
│ │ │ └── layuiXtree.js
│ │ ├── index.js
│ │ ├── tablePlug
│ │ │ ├── icon
│ │ │ │ ├── iconfont.css
│ │ │ │ ├── iconfont.eot
│ │ │ │ ├── iconfont.js
│ │ │ │ ├── iconfont.svg
│ │ │ │ ├── iconfont.ttf
│ │ │ │ └── iconfont.woff
│ │ │ ├── optimizeSelectOption
│ │ │ │ ├── optimizeSelectOption.css
│ │ │ │ └── optimizeSelectOption.js
│ │ │ ├── tablePlug.css
│ │ │ └── tablePlug.js
│ │ └── view.js
│ ├── modules
│ │ ├── AutoComplete.js
│ │ ├── common.js
│ │ ├── formSelects.js
│ │ ├── login.js
│ │ ├── reset.js
│ │ └── treetable-lay
│ │ │ ├── treetable.css
│ │ │ └── treetable.js
│ ├── style
│ │ ├── admin.less
│ │ ├── card.css
│ │ ├── editor.css
│ │ ├── formSelects-v4.css
│ │ ├── iconfont.css
│ │ ├── index.css
│ │ ├── jquery.autocomplete.css
│ │ ├── login.less
│ │ ├── res
│ │ │ ├── bg-none.jpg
│ │ │ ├── layui-logo.jpg
│ │ │ ├── logo-black.png
│ │ │ ├── logo.png
│ │ │ └── template
│ │ │ │ ├── character.jpg
│ │ │ │ ├── huge.jpg
│ │ │ │ └── portrait.png
│ │ ├── swiper.min.css
│ │ ├── tablePlug.css
│ │ ├── tableTool.css
│ │ └── template.css
│ └── tpl
│ │ ├── layim
│ │ └── demo.html
│ │ ├── system
│ │ ├── about.html
│ │ ├── get.html
│ │ ├── more.html
│ │ ├── theme.html
│ │ └── 说明.txt
│ │ └── 说明.txt
├── favicon.ico
├── generate
│ ├── annotation
│ │ └── .gitignore
│ └── order
│ │ └── .gitignore
├── images
│ ├── 01.png
│ ├── 02.png
│ ├── 03.png
│ ├── about_red_bg.png
│ ├── annotation_import_e.png
│ ├── annotation_import_i.png
│ ├── banner1.png
│ ├── banner2.png
│ ├── banner3.png
│ ├── banner4.jpg
│ ├── bg1.png
│ ├── bg2.jpg
│ ├── bg3.jpg
│ ├── bg4.jpg
│ ├── blockchain.svg
│ ├── card1.png
│ ├── card2.png
│ ├── card3.png
│ ├── card4.png
│ ├── card5.png
│ ├── card6.png
│ ├── company_logo.png
│ ├── declaration_logo.png
│ ├── dotted_xian.png
│ ├── email.svg
│ ├── encrypted.svg
│ ├── erweima.png
│ ├── icon1.png
│ ├── icon2.png
│ ├── icon3.png
│ ├── index_bg.png
│ ├── index_logo.png
│ ├── info1.png
│ ├── info2.png
│ ├── info3.png
│ ├── info4.png
│ ├── layui-advantage.png
│ ├── ledger.svg
│ ├── left.png
│ ├── logo.png
│ ├── logo_top.png
│ ├── manage.svg
│ ├── map.png
│ ├── news.png
│ ├── order_import.png
│ ├── order_import_e.png
│ ├── ordered-record.svg
│ ├── par.jfif
│ ├── partner
│ │ ├── 1.png
│ │ ├── 10.png
│ │ ├── 11.png
│ │ ├── 12.png
│ │ ├── 13.png
│ │ ├── 14.png
│ │ ├── 15.png
│ │ ├── 16.png
│ │ ├── 17.png
│ │ ├── 18.png
│ │ ├── 19.png
│ │ ├── 2.png
│ │ ├── 20.png
│ │ ├── 21.png
│ │ ├── 22.png
│ │ ├── 23.png
│ │ ├── 24.png
│ │ ├── 25.png
│ │ ├── 26.png
│ │ ├── 27.png
│ │ ├── 28.png
│ │ ├── 3.png
│ │ ├── 4.png
│ │ ├── 5.png
│ │ ├── 6.png
│ │ ├── 7.png
│ │ ├── 8.png
│ │ ├── 9.png
│ │ ├── p1.svg
│ │ ├── p2.svg
│ │ ├── p3.svg
│ │ ├── p4.svg
│ │ ├── p5.svg
│ │ ├── p6.svg
│ │ └── p7.svg
│ ├── people.png
│ ├── right.png
│ ├── search.png
│ ├── six.png
│ ├── smart-contracts.svg
│ ├── text.svg
│ ├── uugai.com-1574165928778.png
│ ├── uugai.com_1574165878157.png
│ └── white-paper.svg
├── js
│ ├── iview.min.js
│ ├── less.min.js
│ └── vue.min.js
├── pdf
│ ├── pdf_contract_e
│ │ └── target001.png
│ ├── pdf_contract_i
│ │ └── target001.png
│ ├── pdf_declaration_e
│ │ ├── target001.png
│ │ └── target002.png
│ ├── pdf_declaration_i
│ │ ├── target001.png
│ │ └── target002.png
│ ├── pdf_driver_i
│ │ └── target001.png
│ ├── pdf_invoice
│ │ └── target001.png
│ ├── pdf_packing_e
│ │ └── target001.png
│ └── pdf_packing_i
│ │ └── target001.png
└── upload
│ ├── .gitignore
│ ├── clearance
│ └── .gitignore
│ └── handBook
│ └── .gitignore
├── sysinit
├── initDatabase.go
└── sysinit.go
├── tasks
├── annotationReturnXmlParse.go
├── annotationUpdateStatus.go
├── base.go
├── getSingleArticles.go
├── initTask.go
├── orderReturnXmlParse.go
└── orderUpdateStatus.go
├── tests
└── default_test.go
├── transforms
├── Article.go
├── annotationReturn.go
├── backenduser.go
├── ciq.go
├── company.go
├── handBook.go
├── handBookGood.go
├── handBookUllage.go
├── homeOrder.go
├── hsCode.go
├── orderFile.go
├── resource.go
├── role.go
└── setting.go
├── utils
├── cache.go
├── global.go
├── logs.go
├── rabc.go
├── selffunc.go
├── stringtool.go
├── utils_test.go
└── ws.go
├── validations
├── auth.go
├── base.go
└── role.go
├── views
├── annotation
│ ├── change_create_edit_show.html
│ ├── create
│ │ ├── annotation_search.html
│ │ ├── body.html
│ │ ├── gauge.html
│ │ ├── remark_note.html
│ │ └── trsp_modecd_template.html
│ ├── create_footerjs.html
│ ├── index.html
│ ├── index_footerjs.html
│ ├── pdf
│ │ ├── index.html
│ │ └── recheck.html
│ ├── recheck.html
│ ├── recheck
│ │ └── declaration.html
│ └── recheck_footerjs.html
├── auth
│ ├── layout_base.html
│ └── login.html
├── backenduser
│ ├── create.html
│ ├── create_footerjs.html
│ ├── edit.html
│ ├── edit_footerjs.html
│ ├── index.html
│ ├── index_footerjs.html
│ ├── profile.html
│ └── profile_footerjs.html
├── ciq
│ ├── index.html
│ └── index_footerjs.html
├── clearance
│ ├── create.html
│ ├── create_footerjs.html
│ ├── edit.html
│ ├── edit_footerjs.html
│ ├── index.html
│ └── index_footerjs.html
├── common
│ └── order_annotation
│ │ ├── application_change.html
│ │ ├── distribute.html
│ │ ├── enclosure_check.html
│ │ ├── error_logging.html
│ │ ├── reject.html
│ │ ├── status_count.html
│ │ └── take.html
├── company
│ ├── contact
│ │ ├── create.html
│ │ ├── create_footerjs.html
│ │ └── edit_footerjs.html
│ ├── create.html
│ ├── create_footerjs.html
│ ├── foreign
│ │ ├── create.html
│ │ ├── create_footerjs.html
│ │ └── edit_footerjs.html
│ ├── index.html
│ ├── index_footerjs.html
│ └── seal
│ │ ├── create.html
│ │ ├── create_footerjs.html
│ │ └── edit_footerjs.html
├── handbook
│ ├── account
│ │ ├── show.html
│ │ ├── show
│ │ │ ├── gauge.html
│ │ │ ├── goods.html
│ │ │ ├── piece.html
│ │ │ └── ullage.html
│ │ └── show_footerjs.html
│ ├── index.html
│ ├── index_footerjs.html
│ └── manual
│ │ ├── show.html
│ │ ├── show
│ │ ├── gauge.html
│ │ ├── goods.html
│ │ ├── piece.html
│ │ └── ullage.html
│ │ └── show_footerjs.html
├── home
│ ├── control.html
│ ├── control_footerjs.html
│ ├── error.html
│ ├── index.html
│ ├── index_footerjs.html
│ └── page404.html
├── hscode
│ ├── index.html
│ └── index_footerjs.html
├── index.tpl
├── order
│ ├── change_create_edit_show.html
│ ├── create
│ │ ├── batch_edit.html
│ │ ├── bill_no.html
│ │ ├── ciq_name.html
│ │ ├── code_t_s.html
│ │ ├── commodity_storehouse.html
│ │ ├── dang.html
│ │ ├── dec_goods.html
│ │ ├── dec_goods_vin.html
│ │ ├── dec_request_certs.html
│ │ ├── dec_users.html
│ │ ├── declaration.html
│ │ ├── elements_his.html
│ │ ├── ent_qualif.html
│ │ ├── gauge.html
│ │ ├── goods_attr_batch_data.html
│ │ ├── goods_attr_data.html
│ │ ├── goods_no.html
│ │ ├── goods_spec.html
│ │ ├── manual_no.html
│ │ ├── mark_no.html
│ │ ├── note_s.html
│ │ ├── order_application_change.html
│ │ ├── order_containers.html
│ │ ├── order_document_eco_relations.html
│ │ ├── order_documents.html
│ │ ├── order_enclosure.html
│ │ ├── order_i_declaration.html
│ │ ├── order_init.html
│ │ ├── order_pros.html
│ │ ├── order_tip.html
│ │ ├── other_packs.html
│ │ ├── print.html
│ │ ├── print_edit_contract.html
│ │ ├── print_edit_driver.html
│ │ ├── print_edit_invoice.html
│ │ ├── print_save_contract.html
│ │ ├── print_save_driver.html
│ │ ├── print_save_invoice.html
│ │ ├── remark_note.html
│ │ ├── spec_decl_flag.html
│ │ └── traf_mode_template.html
│ ├── create_footerjs.html
│ ├── index.html
│ ├── index_footerjs.html
│ ├── pdf
│ │ ├── common
│ │ │ ├── recheck_delaration_body.html
│ │ │ └── recheck_delaration_header.html
│ │ ├── compalte
│ │ │ ├── footer.html
│ │ │ └── index.html
│ │ ├── declaration
│ │ │ └── index.html
│ │ ├── file
│ │ │ ├── contract.html
│ │ │ ├── driver_paper.html
│ │ │ ├── invoice_type.html
│ │ │ ├── packing.html
│ │ │ └── packing_false.html
│ │ ├── header
│ │ │ └── header.html
│ │ ├── pass
│ │ │ ├── footer.html
│ │ │ └── index.html
│ │ └── recheck
│ │ │ └── index.html
│ ├── recheck.html
│ └── recheck_footerjs.html
├── resource
│ ├── create.html
│ ├── create_footerjs.html
│ ├── edit.html
│ ├── edit_footerjs.html
│ ├── index.html
│ └── index_footerjs.html
├── role
│ ├── create.html
│ ├── create_footerjs.html
│ ├── edit.html
│ ├── edit_footerjs.html
│ ├── index.html
│ └── index_footerjs.html
├── setting
│ ├── edit.html
│ ├── edit_footerjs.html
│ ├── index.html
│ └── index_footerjs.html
└── shared
│ ├── app
│ ├── globalcss.html
│ └── globaljs.html
│ ├── layout_app.html
│ └── layout_pdf.html
├── xlsx
└── xlsx.go
└── xmlTemplate
├── Failed.go
├── Order.go
├── annotation.go
├── annotationReturn.go
├── cdata.go
└── orderReturn.go
/.babelrc:
--------------------------------------------------------------------------------
1 | {
2 | "presets": [
3 | [ "env",
4 | { "modules": false }
5 | ]
6 | ],
7 | "plugins": ["transform-remove-strict-mode"]
8 | }
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.css linguist-language=go
2 | *.less linguist-language=go
3 | *.js linguist-language=go
4 | *.html linguist-language=go
5 | *.sql linguist-language=go
6 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # Compiled Object files, Static and Dynamic libs (Shared Objects)
2 | *.o
3 | *.a
4 | *.so
5 | *.gz
6 |
7 | # Folders
8 | _obj
9 | _test
10 |
11 | # Architecture specific extensions/prefixes
12 | *.[568vq]
13 | [568vq].out
14 |
15 | *.cgo1.go
16 | *.cgo2.c
17 | _cgo_defun.c
18 | _cgo_gotypes.go
19 | _cgo_export.*
20 |
21 | _testmain.go
22 |
23 | *.exe
24 | *.test
25 | .log
26 | /.idea
27 |
28 | /logs/*.log
29 | /debug
30 | /sdrms
31 |
32 | BeeCustom
33 | BeeCustom.exe
34 | /.vendor
35 | app.conf
36 | /node_modules
37 |
38 |
39 |
--------------------------------------------------------------------------------
/.gopmfile:
--------------------------------------------------------------------------------
1 | [target]
2 | path = BeeCustom
--------------------------------------------------------------------------------
/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 |
3 | install:
4 | - go get -d -t -v ./... && go build -v ./...
5 |
6 | go:
7 | - 1.13.x
8 |
9 | os:
10 | - linux
11 | - osx
12 |
13 | env:
14 | matrix:
15 | - GOARCH=amd64
16 | - GOARCH=386
17 |
18 | script:
19 | - go vet ./...
20 | - go test ./... -v -coverprofile=coverage.txt -covermode=atomic
21 |
22 | after_success:
23 | - bash <(curl -s https://codecov.io/bash)
24 |
--------------------------------------------------------------------------------
/BUG.md:
--------------------------------------------------------------------------------
1 | ## 待处理 BUG
2 |
3 | ##### 2019.12.22
4 |
5 | 1.货物申报表体处理 ~~复制(已经完成),批量修改~~ ,重新归类,归类查看,申报要素 等等
6 | ~~2.货物申报报文生成,以及回执报文解析 已经完成~~
7 | ~~3.货物申报复核 pdf 生成,没有显示驳回标记内容~~
8 |
9 |
10 | `snowlyg/gotransformer` 包
11 |
12 | ##### 2019.12.23
13 | ~~1.根据 struct 数据自动生成 xml 文件功能完善 (开发一个数据格式包)
14 | 2.根据 struct 数据自动格式化数据 功能开发(开发一个数据格式包)~~
15 |
16 |
17 | ##### 2019.12.25
18 |
19 | ~~1.导入 excel time 时间格式数据格式问题解决 (开发一个数据格式包)~~
20 |
21 |
22 | ##### 2019.12.27
23 |
24 | ~~1.手账册删除,增加判断是否有关联清单,或者货物订单~~
25 |
26 | ##### 2019.12.29
27 |
28 | 1.货物申报复核 pdf ,第三行的表体样式有问题
29 | 2.货物申报 pdf 复核,打印进出口区别样式
30 |
31 | ##### 2019.12.31
32 | 1.手账册从单一直接同步到系统,利用爬虫,访问单一窗口
33 | 2.工作台剩余接口完成
34 |
35 |
--------------------------------------------------------------------------------
/ERRORS.md:
--------------------------------------------------------------------------------
1 | ## 问题汇总 ERRORS
2 |
3 | 1.`beego` 升级到v1.10.1后,启动本项目时报错
4 | ```
5 | cannot find package "github.com/gomodule/redigo/redis"
6 | ```
7 | 解决方法很简单,只需要在终端运行下面命令,下载需要的包即可
8 |
9 | ```
10 | go get github.com/gomodule/redigo/redis
11 | ```
12 |
13 | 2.启动报错 `beego runtime error: invalid memory address or nil pointer dereference`
14 | 没有开启 session
15 | ```
16 | beego.BConfig.WebConfig.Session.SessionOn = true
17 | ```
18 | 或者在 `app.conf` 添加
19 | ```
20 | sessionon = true
21 | ```
22 |
23 | 3. webhook 自动部署代码
24 |
25 | `webhook` 自动部署代码,修改 `*.conf` 文件会失败, 需要到服务器手动部署。
26 |
27 |
28 | 4. wkhtmltopdf 增加 js 支持
29 | - 不能引入其他js
30 | - 不能使用jq
31 | - 不能使用es5 相关功能 let const 关键词
32 | - --enable-javascript 开启js
33 | - ----debug-javascript 调试js
34 |
35 | ```
36 | wkhtmltopdf --no-stop-slow-scripts --dpi 300 --margin-top 30 --orientation Landscape page 127.0.0.1:80/pdf/order_recheck_pd
37 | f/1 --enable-javascript --debug-javascript --minimum-font-size 12 --javascript-delay 2000 test.pdf
38 | ```
39 |
40 | 5.gowatch
41 |
42 | ```
43 | ListenAndServe: listen tcp 127.0.0.1:8080: bind: Only one usage of each socket address (protocol/network address/port) is normally permitted.
44 | ```
45 |
46 |
47 |
--------------------------------------------------------------------------------
/PLUGS.md:
--------------------------------------------------------------------------------
1 | ## 组件列表 PLUGS
2 |
3 | 1.pdf 生成pdf
4 | [go-wkhtmltopdf](https://github.com/SebastiaanKlippert/go-wkhtmltopdf)
5 | ```
6 | go get github.com/SebastiaanKlippert/go-wkhtmltopdf
7 |
8 | WKHTMLTOPDF_PATH 系统变量
9 |
10 | ```
11 |
12 | 2.excel
13 | [360EntSecGroup-Skylar/excelize](https://github.com/360EntSecGroup-Skylar/excelize)
14 | ```
15 | go get github.com/360EntSecGroup-Skylar/excelize
16 |
17 | ```
18 |
19 | 3.encoding/xml
20 | [encoding/xml](https://studygolang.com/static/pkgdoc/pkg/encoding_xml.htm)
21 |
22 |
23 | 5.otiai10/gosseract
24 | [otiai10/gosseract](https://github.com/otiai10/gosseract)
25 |
26 | 1.[tesseract-ocr](https://github.com/tesseract-ocr/tesseract/wiki), including library and headers
27 |
28 | 2.go get -t github.com/otiai10/gosseract
29 |
30 | [编译 tesseract-ocr](https://github.com/tesseract-ocr/tesseract/wiki/Compiling#windows)
31 |
32 |
33 | 5.hooklift/gowsdl
34 | [hooklift/gowsdl](https://github.com/hooklift/gowsdl)
35 |
36 | [548c91d69953aea2e32c8f793e9cbdec8ccf7e71](https://github.com/hooklift/gowsdl/tree/548c91d69953aea2e32c8f793e9cbdec8ccf7e71)
37 |
38 | [Go与SOAP](https://tonybai.com/2019/01/08/go-and-soap/)
39 |
40 | ```
41 | gowsdl mysoap/***.wsdl
42 | ```
43 |
44 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## BeeCustom
2 |
3 | #### 更新日志
4 | [更新日志](UPDATE.MD)
5 |
6 | ###### Require
7 | - go 1.13.x
8 |
9 | ### 简介
10 | BeeCustom 是基于 `Beego` 开发的关务管理系统。前端框架基于 `Layui` 进行开发,功能参考海关的单一窗口。
11 |
12 | ### 后端框架
13 | 1. 基于 `Beego` ,使用官方的 orm、cache、session、logs 等模块,感谢原作者提供了如此简单易用的框架;
14 |
15 | ### 前端框架
16 | 1. 基于 Layui
17 |
18 | ### 安装方法
19 | 本系统基于 `beego` 开发,默认使用 `mysql` 数据库,缓存 `redis`
20 |
21 | 1. 安装 `golang` 环境
22 |
23 | 2. 安装 `BeeCustom`
24 |
25 | ```shell script
26 | git clone https://e.coding.net/snowlyg/BeeCustom.git
27 |
28 | #或者
29 | git clone https://github.com/snowlyg/BeeCustom.git
30 |
31 | ```
32 |
33 | 4. 修改配置文件 conf/app.conf
34 |
35 | 需要配置 `mysql` 和 `redis` 的参数
36 |
37 | 5. session 使用 redis 管理,新建 session 表
38 | ```
39 | CREATE TABLE `session` (
40 | `session_key` char(64) NOT NULL,
41 | `session_data` blob,
42 | `session_expiry` int(11) unsigned NOT NULL,
43 | PRIMARY KEY (`session_key`)
44 | ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
45 | ```
46 |
47 | - 运行
48 | 在 BeeCustom 目录使用 `beego` 官方提供的命令运行
49 | 改用 [gowatch](https://gitee.com/silenceper/gowatch) 解决修改前端文件不热加载问题, gowatch 打包效率更快
50 |
51 | ```shell script
52 | bee run
53 |
54 | #or
55 |
56 | gowatch
57 |
58 | ```
59 |
60 | ### 增加了 gulp 打包前端资源
61 | ```shell script
62 | npm install
63 | gulp
64 |
65 | ```
66 |
67 | ### 使用组件
68 | [组件列表](PLUGS.md)
69 |
70 | ### 问题
71 | [问题汇总](ERRORS.md)
72 |
73 | ### 问题记录
74 | [待处理BUG](BUG.md)
75 |
76 | ### 演示地址
77 | [BeeCustom](https:bee.snowlyg.com)
78 |
79 | > 账号/密码: admin/123456
80 | >
81 |
82 | ### 打包
83 | bee pack -be GOOS=linux
84 |
85 |
86 |
87 |
--------------------------------------------------------------------------------
/Single_cache/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
--------------------------------------------------------------------------------
/UPDATE.MD:
--------------------------------------------------------------------------------
1 | ## 更新日志
2 |
3 | ###### 2020.1.7
4 | 1.更新 soap 对接方式 (多途海运舱单系统对接)
5 | 2.修复生成 zip 文件不会按路径自动生成文件夹问题
6 |
7 | ###### 2020.1.16
8 | 1.增加单一新闻爬取和显示
9 |
--------------------------------------------------------------------------------
/conf/example/app.conf.example:
--------------------------------------------------------------------------------
1 | appname = BeeCustom
2 | httpaddr = "127.0.0.1"
3 | httpport = 8080
4 | runmode = local
5 |
6 | #Session参数
7 | sessionon =true
8 | sessionname = rmsbackusersessionid
9 | sessionprovider = redis
10 | sessionproviderconfig = "127.0.0.1:6379"
11 | sessioncookielifetime = 100 #cookie的有效期(秒),默认是session,即会话结束则过期
12 |
13 | #开启监控
14 | EnableAdmin = true
15 | #开启JSON请求
16 | copyrequestbody = true
17 | #防止跨站请求伪造 未启用
18 | enablexsrf = true
19 | xsrfkey = asdfioerjlasdfmFADFOEJF2323SDFF
20 | xsrfexpire = 3600
21 |
22 | #数据库类型:postgres/mysql/sqlite3
23 | db_type = "mysql"
24 | #数据库表名前辍
25 | db_dt_prefix = "bee_custom_"
26 |
27 | #postgreSQL配置copyrequestbody
28 | [postgres]
29 | db_alias = "default"
30 | db_name = "sdrms"
31 | db_user = "root"
32 | db_pwd = "sdsdsd"
33 | db_host = "127.0.0.1"
34 | db_port = 5432
35 | db_sslmode = "disable"
36 |
37 | #mysql配置
38 | [mysql]
39 | db_alias = "default"
40 | db_name = "bee_custom"
41 | db_user = "root"
42 | db_pwd = "nvWQ8qE6kUtSURHhSQvWa2BZ3ct0eDOo"
43 | db_host = "127.0.0.1"
44 | db_port = 3306
45 | db_charset = "utf8"
46 |
47 | #sqlite3
48 | [sqlite3]
49 | db_alias = "default"
50 | db_name = "sdrms.sqlite3"
51 |
52 | [lang]
53 | types=en-US|zh-CN
54 | names=English|简体中文
55 |
56 | #日志配置
57 | [logs]
58 | #"emergency", "alert", "critical", "error", "warning", "notice", "info", "debug"
59 | # 0 ~ 7
60 | level = 7
61 |
62 | #cache配置
63 | [cache]
64 | #redis
65 | redis_host = "127.0.0.1:6379"
66 | redis_password = ""
67 | #过期时间
68 | cache_expire = 10
69 |
70 |
71 |
72 |
73 |
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
82 |
83 |
84 |
85 |
86 |
87 |
88 |
89 |
90 |
91 |
92 |
93 |
--------------------------------------------------------------------------------
/conf/rbac_model.conf:
--------------------------------------------------------------------------------
1 | [request_definition]
2 | r = sub, obj, act
3 |
4 | [policy_definition]
5 | p = sub, obj, act
6 |
7 | [role_definition]
8 | g = _, _
9 |
10 | [policy_effect]
11 | e = some(where (p.eft == allow))
12 |
13 | [matchers]
14 | m = g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act
--------------------------------------------------------------------------------
/controllers/AnnotationFileController.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "encoding/json"
5 | "strconv"
6 |
7 | "BeeCustom/enums"
8 | "BeeCustom/models"
9 | )
10 |
11 | type AnnotationFileController struct {
12 | BaseController
13 | }
14 |
15 | func (c *AnnotationFileController) Prepare() {
16 | // 先执行
17 | c.BaseController.Prepare()
18 | // 如果一个Controller的多数Action都需要权限控制,则将验证放到Prepare
19 | // 默认认证 "Index", "Create", "Edit", "Delete"
20 | var perms []string
21 | c.checkAuthor(perms)
22 |
23 | // 如果一个Controller的所有Action都需要登录验证,则将验证放到Prepare
24 | // 权限控制里会进行登录验证,因此这里不用再作登录验证
25 | // c.checkLogin()
26 |
27 | }
28 |
29 | // 列表数据
30 | func (c *AnnotationFileController) DataGrid() {
31 | // 直接获取参数 getDataGridData()
32 | params := models.NewAnnotationFileQueryParam()
33 | _ = json.Unmarshal(c.Ctx.Input.RequestBody, ¶ms)
34 |
35 | // 获取数据列表和总数
36 | data, total := models.AnnotationFilePageList(¶ms)
37 | c.ResponseList(c.transformAnnotationFileList(data), total)
38 | c.ServeJSON()
39 | }
40 |
41 | // 格式化列表数据
42 | func (c *AnnotationFileController) transformAnnotationFileList(ms []*models.AnnotationFile) []*map[string]interface{} {
43 | var annotationFileList []*map[string]interface{}
44 | for _, v := range ms {
45 | AnnotationFile := make(map[string]interface{})
46 | AnnotationFile["Id"] = strconv.FormatInt(v.Id, 10)
47 | AnnotationFile["Type"] = v.Type
48 | AnnotationFile["Name"] = v.Name
49 | AnnotationFile["Url"] = v.Url
50 | AnnotationFile["Creator"] = v.Creator
51 | AnnotationFile["Version"] = v.Version
52 | AnnotationFile["CreatedAt"] = v.CreatedAt.Format(enums.BaseDateTimeFormat)
53 |
54 | annotationFileList = append(annotationFileList, &AnnotationFile)
55 | }
56 |
57 | return annotationFileList
58 | }
59 |
--------------------------------------------------------------------------------
/controllers/AnnotationReturnController.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "encoding/json"
5 |
6 | "BeeCustom/enums"
7 | "BeeCustom/models"
8 | "BeeCustom/transforms"
9 | gtf "github.com/snowlyg/gotransformer"
10 | )
11 |
12 | type AnnotationReturnController struct {
13 | BaseController
14 | }
15 |
16 | func (c *AnnotationReturnController) Prepare() {
17 | // 先执行
18 | c.BaseController.Prepare()
19 | // 如果一个Controller的多数Action都需要权限控制,则将验证放到Prepare
20 | // 默认认证 "Index", "Create", "Edit", "Delete"
21 | var perms []string
22 | c.checkAuthor(perms)
23 |
24 | // 如果一个Controller的所有Action都需要登录验证,则将验证放到Prepare
25 | // 权限控制里会进行登录验证,因此这里不用再作登录验证
26 | // c.checkLogin()
27 | }
28 |
29 | // 列表数据
30 | func (c *AnnotationReturnController) DataGrid() {
31 | // 直接获取参数 getDataGridData()
32 | params := models.NewAnnotationReturnQueryParam()
33 | _ = json.Unmarshal(c.Ctx.Input.RequestBody, ¶ms)
34 | // 获取数据列表和总数
35 | data, total := models.AnnotationReturnPageList(¶ms)
36 | c.ResponseList(c.transformAnnotationReturnList(data), total)
37 | c.ServeJSON()
38 | }
39 |
40 | // 格式化列表数据
41 | func (c *AnnotationReturnController) transformAnnotationReturnList(ms []*models.AnnotationReturn) []*transforms.AnnotationReturn {
42 | var annotationReturnList []*transforms.AnnotationReturn
43 | for _, v := range ms {
44 | annotationReturnT := transforms.AnnotationReturn{}
45 | g := gtf.NewTransform(&annotationReturnT, v, enums.BaseDateTimeFormat)
46 | _ = g.Transformer()
47 | annotationReturnList = append(annotationReturnList, &annotationReturnT)
48 | }
49 |
50 | return annotationReturnList
51 | }
52 |
--------------------------------------------------------------------------------
/controllers/ArticleController.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "encoding/json"
5 |
6 | "BeeCustom/enums"
7 | "BeeCustom/transforms"
8 | gtf "github.com/snowlyg/gotransformer"
9 |
10 | "BeeCustom/models"
11 | )
12 |
13 | type ArticleController struct {
14 | BaseController
15 | }
16 |
17 | func (c *ArticleController) Prepare() {
18 | //先执行
19 | c.BaseController.Prepare()
20 |
21 | //如果一个Controller的所有Action都需要登录验证,则将验证放到Prepare
22 | //权限控制里会进行登录验证,因此这里不用再作登录验证
23 | //c.checkLogin()
24 |
25 | }
26 |
27 | //列表数据
28 | func (c *ArticleController) DataGrid() {
29 | //直接获取参数 getDataGridData()
30 | params := models.NewArticleQueryParam()
31 | _ = json.Unmarshal(c.Ctx.Input.RequestBody, ¶ms)
32 |
33 | //获取数据列表和总数
34 | data, total := models.ArticlePageList(¶ms)
35 | c.ResponseList(c.transformArticleList(data), total)
36 | c.ServeJSON()
37 | }
38 |
39 | // 格式化列表数据
40 | func (c *ArticleController) transformArticleList(ms []*models.Article) []*transforms.Article {
41 | var uts []*transforms.Article
42 | for _, v := range ms {
43 | ut := transforms.Article{}
44 | g := gtf.NewTransform(&ut, v, enums.BaseDateTimeFormat)
45 | _ = g.Transformer()
46 |
47 | uts = append(uts, &ut)
48 | }
49 |
50 | return uts
51 | }
52 |
--------------------------------------------------------------------------------
/controllers/FileController.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "strconv"
5 |
6 | "BeeCustom/enums"
7 | )
8 |
9 | //FileController 文件上传
10 | type FileController struct {
11 | BaseController
12 | }
13 |
14 | //Prepare 参考beego官方文档说明
15 | func (c *FileController) Prepare() {
16 | //先执行
17 | c.BaseController.Prepare()
18 |
19 | //如果一个Controller的所有Action都需要登录验证,则将验证放到Prepare
20 | c.checkLogin() //权限控制里会进行登录验证,因此这里不用再作登录验证
21 | }
22 |
23 | //image 文件上传
24 | func (c *FileController) Upload() {
25 | fileType := "img/" + strconv.FormatInt(c.curUser.Id, 10) + "/"
26 | if fileNamePath, err := c.BaseUpload(fileType); err != nil {
27 | c.jsonResult(enums.JRCodeFailed, "上传失败", nil)
28 | } else {
29 | c.jsonResult(enums.JRCodeFailed, "上传成功", "/"+fileNamePath)
30 | }
31 | }
32 |
33 | //pdf 文件上传
34 | func (c *FileController) OrderDataUpload() {
35 | orderId := c.GetString(":id", "0")
36 | if orderId == "0" {
37 | c.jsonResult(enums.JRCodeFailed, "参数错误", nil)
38 | }
39 |
40 | fileType := "order/" + orderId + "/" + strconv.FormatInt(c.curUser.Id, 10) + "/"
41 | if fileNamePath, err := c.BaseUpload(fileType); err != nil {
42 | c.jsonResult(enums.JRCodeFailed, "上传失败", nil)
43 | } else {
44 | c.jsonResult(enums.JRCodeFailed, "上传成功", fileNamePath)
45 | }
46 | }
47 |
--------------------------------------------------------------------------------
/controllers/MainController.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "github.com/astaxie/beego"
5 | )
6 |
7 | type MainController struct {
8 | beego.Controller
9 | }
10 |
11 | func (c *MainController) Get() {
12 | c.Data["Website"] = "BeeCustom"
13 | c.Data["Email"] = "569616226@qq.com"
14 | c.TplName = "index.tpl"
15 | }
16 |
--------------------------------------------------------------------------------
/controllers/OrderFileController.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "encoding/json"
5 |
6 | "BeeCustom/enums"
7 | "BeeCustom/models"
8 | "BeeCustom/transforms"
9 | gtf "github.com/snowlyg/gotransformer"
10 | )
11 |
12 | type OrderFileController struct {
13 | BaseController
14 | }
15 |
16 | func (c *OrderFileController) Prepare() {
17 | // 先执行
18 | c.BaseController.Prepare()
19 | // 如果一个Controller的多数Action都需要权限控制,则将验证放到Prepare
20 | // 默认认证 "Index", "Create", "Edit", "Delete"
21 | var perms []string
22 | c.checkAuthor(perms)
23 |
24 | // 如果一个Controller的所有Action都需要登录验证,则将验证放到Prepare
25 | // 权限控制里会进行登录验证,因此这里不用再作登录验证
26 | // c.checkLogin()
27 |
28 | }
29 |
30 | // 列表数据
31 | func (c *OrderFileController) DataGrid() {
32 | // 直接获取参数 getDataGridData()
33 | params := models.NewOrderFileQueryParam()
34 | _ = json.Unmarshal(c.Ctx.Input.RequestBody, ¶ms)
35 |
36 | // 获取数据列表和总数
37 | data, total := models.OrderFilePageList(¶ms)
38 | c.ResponseList(c.TransformOrderFileList(data), total)
39 | c.ServeJSON()
40 | }
41 |
42 | // TransformOrderFile 格式化列表数据
43 | func (c *OrderFileController) TransformOrderFileList(ms []*models.OrderFile) []*transforms.OrderFile {
44 |
45 | var uts []*transforms.OrderFile
46 | for _, v := range ms {
47 | ut := &transforms.OrderFile{}
48 | g := gtf.NewTransform(ut, v, enums.BaseDateTimeFormat)
49 | _ = g.Transformer()
50 |
51 | uts = append(uts, ut)
52 | }
53 | return uts
54 |
55 | }
56 |
--------------------------------------------------------------------------------
/controllers/OrderRecordController.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "encoding/json"
5 | "strconv"
6 |
7 | "BeeCustom/enums"
8 | "BeeCustom/models"
9 | )
10 |
11 | type OrderRecordController struct {
12 | BaseController
13 | }
14 |
15 | func (c *OrderRecordController) Prepare() {
16 | // 先执行
17 | c.BaseController.Prepare()
18 | // 如果一个Controller的多数Action都需要权限控制,则将验证放到Prepare
19 | // 默认认证 "Index", "Create", "Edit", "Delete"
20 | var perms []string
21 | c.checkAuthor(perms)
22 |
23 | // 如果一个Controller的所有Action都需要登录验证,则将验证放到Prepare
24 | // 权限控制里会进行登录验证,因此这里不用再作登录验证
25 | // c.checkLogin()
26 |
27 | }
28 |
29 | // 列表数据
30 | func (c *OrderRecordController) DataGrid() {
31 | // 直接获取参数 getDataGridData()
32 | params := models.NewOrderRecordQueryParam()
33 | _ = json.Unmarshal(c.Ctx.Input.RequestBody, ¶ms)
34 |
35 | // 获取数据列表和总数
36 | data, total := models.OrderRecordPageList(¶ms)
37 | c.ResponseList(c.transformOrderRecordList(data), total)
38 | c.ServeJSON()
39 | }
40 |
41 | // TransformOrderList 格式化列表数据
42 | func (c *OrderRecordController) transformOrderRecordList(ms []*models.OrderRecord) []*map[string]interface{} {
43 | var orderRecordList []*map[string]interface{}
44 | for _, v := range ms {
45 | OrderRecord := make(map[string]interface{})
46 | OrderRecord["Id"] = strconv.FormatInt(v.Id, 10)
47 | OrderRecord["Content"] = v.Content
48 | OrderRecord["Remark"] = v.Remark
49 | OrderRecord["CreatedAt"] = v.CreatedAt.Format(enums.BaseDateTimeFormat)
50 | if v.BackendUser != nil {
51 | OrderRecord["BackendUserMobile"] = v.BackendUser.Mobile
52 | OrderRecord["BackendUserName"] = v.BackendUser.RealName
53 | } else {
54 | OrderRecord["BackendUserMobile"] = "系统自动操作"
55 | OrderRecord["BackendUserName"] = "系统自动操作"
56 | }
57 |
58 | orderRecordList = append(orderRecordList, &OrderRecord)
59 | }
60 |
61 | return orderRecordList
62 | }
63 |
--------------------------------------------------------------------------------
/controllers/WebHookController.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "io/ioutil"
5 |
6 | "BeeCustom/enums"
7 | )
8 |
9 | const SECRETTOKEN = "bee_custom_auto_pull"
10 |
11 | // WebHookController handles WebSocket requests.
12 | type WebHookController struct {
13 | BaseController
14 | }
15 |
16 | func (c *WebHookController) Prepare() {
17 | c.EnableXSRF = false
18 | }
19 |
20 | func (c *WebHookController) Get() {
21 | signature := c.Ctx.Request.Header.Get("X-Coding-Signature") //获取加密签名
22 | contentType := c.Ctx.Request.Header.Get("Content-Type") //获取加密签名
23 |
24 | var res []byte
25 | if contentType == "application/json; charset=UTF-8" {
26 | res, _ = ioutil.ReadAll(c.Ctx.Request.Body) // for application/json
27 | } else if contentType == "application/x-www-form-urlencoded; charset=UTF-8" { // for application/x-www-form-urlencoded
28 | res = []byte(c.GetString(":payload"))
29 | }
30 |
31 | sha1 := enums.Hmac(SECRETTOKEN, res) // for application/x-www-form-urlencoded
32 | calculateSignature := "sha1=" + sha1 // 重新加密内容
33 | if calculateSignature == signature {
34 | enums.Cmd("cd", "", []string{"/root/go/src/BeeCustom"})
35 | enums.Cmd("git", "", []string{"pull"})
36 | enums.Cmd("go", "", []string{"build"})
37 | enums.Cmd("supervisorctl", "", []string{"restart", "beepkg"})
38 | }
39 | data := struct {
40 | Status bool
41 | Payload string
42 | ContentType string
43 | }{
44 | Status: calculateSignature == signature,
45 | Payload: string(res),
46 | ContentType: contentType,
47 | }
48 | c.Data["json"] = data
49 | c.ServeJSON()
50 | }
51 |
--------------------------------------------------------------------------------
/controllers/WebSocketController.go:
--------------------------------------------------------------------------------
1 | package controllers
2 |
3 | import (
4 | "fmt"
5 | "net/http"
6 |
7 | "BeeCustom/utils"
8 | "github.com/gorilla/websocket"
9 | )
10 |
11 | var (
12 | upgrader = websocket.Upgrader{
13 | ReadBufferSize: 1024,
14 | WriteBufferSize: 1024,
15 | }
16 | )
17 |
18 | // WebSocketController handles WebSocket requests.
19 | type WebSocketController struct {
20 | BaseController
21 | }
22 |
23 | func (c *WebSocketController) Get() {
24 |
25 | ws, err := upgrader.Upgrade(c.Ctx.ResponseWriter, c.Ctx.Request, nil)
26 | if _, ok := err.(websocket.HandshakeError); ok {
27 | http.Error(c.Ctx.ResponseWriter, "Not a websocket handshake", 400)
28 | return
29 | } else if err != nil {
30 | utils.LogDebug(fmt.Sprintf("Cannot setup WebSocket connection:%v", err))
31 | return
32 | }
33 |
34 | //defer ws.Close()
35 |
36 | utils.Clients[ws] = true
37 |
38 | msg := utils.Message{"连接成功", false}
39 | utils.Broadcast <- msg
40 |
41 | c.ServeJSON()
42 | }
43 |
--------------------------------------------------------------------------------
/database/migrations/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
--------------------------------------------------------------------------------
/excel/01.关区代码.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/01.关区代码.xlsx
--------------------------------------------------------------------------------
/excel/02.运输方式代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/02.运输方式代码表.xlsx
--------------------------------------------------------------------------------
/excel/03.监管方式代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/03.监管方式代码表.xlsx
--------------------------------------------------------------------------------
/excel/04.征免性质代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/04.征免性质代码表.xlsx
--------------------------------------------------------------------------------
/excel/05.国别(地区)代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/05.国别(地区)代码表.xlsx
--------------------------------------------------------------------------------
/excel/06.港口代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/06.港口代码表.xlsx
--------------------------------------------------------------------------------
/excel/07.国内地区(境内目的地)代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/07.国内地区(境内目的地)代码表.xlsx
--------------------------------------------------------------------------------
/excel/08.成交方式代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/08.成交方式代码表.xlsx
--------------------------------------------------------------------------------
/excel/09.货币代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/09.货币代码表.xlsx
--------------------------------------------------------------------------------
/excel/10.集装箱规格代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/10.集装箱规格代码表.xlsx
--------------------------------------------------------------------------------
/excel/11.计量单位代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/11.计量单位代码表.xlsx
--------------------------------------------------------------------------------
/excel/12.征减免税方式代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/12.征减免税方式代码表.xlsx
--------------------------------------------------------------------------------
/excel/13.包装种类代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/13.包装种类代码表.xlsx
--------------------------------------------------------------------------------
/excel/14.国内(入离境)口岸代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/14.国内(入离境)口岸代码表.xlsx
--------------------------------------------------------------------------------
/excel/15.检验检疫机关代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/15.检验检疫机关代码表.xlsx
--------------------------------------------------------------------------------
/excel/16.关联理由代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/16.关联理由代码表.xlsx
--------------------------------------------------------------------------------
/excel/17.监管证件(随附单证)代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/17.监管证件(随附单证)代码表.xlsx
--------------------------------------------------------------------------------
/excel/18.企业资质代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/18.企业资质代码表.xlsx
--------------------------------------------------------------------------------
/excel/19.用途代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/19.用途代码表.xlsx
--------------------------------------------------------------------------------
/excel/20.原产地区代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/20.原产地区代码表.xlsx
--------------------------------------------------------------------------------
/excel/201900000000034151-二期手册.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/201900000000034151-二期手册.xlsx
--------------------------------------------------------------------------------
/excel/201900000000036663-二期账册.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/201900000000036663-二期账册.xlsx
--------------------------------------------------------------------------------
/excel/21.危包规格代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/21.危包规格代码表.xlsx
--------------------------------------------------------------------------------
/excel/22.货物属性代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/22.货物属性代码表.xlsx
--------------------------------------------------------------------------------
/excel/23.国内行政区划(目的地)代码.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/23.国内行政区划(目的地)代码.xlsx
--------------------------------------------------------------------------------
/excel/24.随附单证类别代码.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/24.随附单证类别代码.xlsx
--------------------------------------------------------------------------------
/excel/25.检验检疫名称参数.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/25.检验检疫名称参数.xls
--------------------------------------------------------------------------------
/excel/25.检验检疫名称参数.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/25.检验检疫名称参数.xlsx
--------------------------------------------------------------------------------
/excel/26.许可证类别代码表.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/26.许可证类别代码表.xlsx
--------------------------------------------------------------------------------
/excel/27.实施检验的进出口商品目录调整表.xls:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/27.实施检验的进出口商品目录调整表.xls
--------------------------------------------------------------------------------
/excel/orc/cmake-3.16.2-win64-x64.msi:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/orc/cmake-3.16.2-win64-x64.msi
--------------------------------------------------------------------------------
/excel/orc/leptonica.rar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/orc/leptonica.rar
--------------------------------------------------------------------------------
/excel/orc/plat_cas_verifycode_gen.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/orc/plat_cas_verifycode_gen.jpg
--------------------------------------------------------------------------------
/excel/orc/plat_cas_verifycode_gen1.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/orc/plat_cas_verifycode_gen1.jpg
--------------------------------------------------------------------------------
/excel/orc/plat_cas_verifycode_gen2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/orc/plat_cas_verifycode_gen2.jpg
--------------------------------------------------------------------------------
/excel/orc/tesseract.rar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/orc/tesseract.rar
--------------------------------------------------------------------------------
/excel/xml/return/annotation/Receipt_DXPEDCINVT000001DXPESW00002070902019112616043400055373223_20191126160427492076130.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | 1.0
5 | QD520719E000023456
6 | DXPEDCINVT000001DXPESW00002070902019112616043400055373223
7 | DXPEDCINVT000001DXPESW00002070902019112616043400055373223.INVT
8 | INV202
9 | DXPEDCINVT000001
10 | DXPESW0000207090
11 | 2019-11-26T16:04:34
12 |
13 |
14 |
15 |
16 |
17 | 201900000014419208
18 | QD520719E000023456
19 | E20190000341106667
20 | 1
21 | 2019-11-26 16:04:34
22 |
23 |
24 |
25 |
26 |
27 |
--------------------------------------------------------------------------------
/excel/xml/return/annotation/Successed_2019112615594477_E_QDE52072019112615572999_20191126160012015914121.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 201900000014419208
4 | QDE52072019112615572999
5 | 处理成功
6 | 0
7 |
--------------------------------------------------------------------------------
/excel/xml/return/order/Failed_2019122320100504_E_E52072019122319204282_20191223201050538111142.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 1
4 | 暂存失败:商品序号1:,出口享惠情况填制不规范(尚未与最终目的国签署并实施优惠贸易安排)
5 | E52072019122319204282
6 |
--------------------------------------------------------------------------------
/excel/xml/return/order/Failed_2019122320124106_E_E52072019122319204282_20191223201320936713521.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 1
4 | 暂存失败:商品序号1:,出口享惠情况填制不规范(尚未与最终目的国签署并实施优惠贸易安排)
5 | E52072019122319204282
6 |
--------------------------------------------------------------------------------
/excel/xml/return/order/Receipt_DECCUS004_E20190000357086783_201900002231409341_20191223213658415696832.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | E20190000357086783
4 |
5 | 2019-12-23T21:36:38
6 | 7
7 | E20190000357086783,E20190000357086783直接申报成功
8 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/excel/xml/return/order/Receipt_DECCUS004_E20190000357086783_201900002231409431_20191223213713435555923.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | E20190000357086783
4 | 520720190579438584
5 | 2019-12-23T21:36:48
6 | L
7 | 成功入海关预录入库;
8 | 5207
9 |
10 | 2019-12-23T21:36:33
11 |
--------------------------------------------------------------------------------
/excel/xml/return/order/Receipt_DECCUS004_E20190000357086783_201900002231412887_20191223214444126334049.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | E20190000357086783
4 | 520720190579438584
5 | 2019-12-23T21:44:20
6 | P
7 | ;报关单放行
8 | 5207
9 |
10 | 2019-12-23T21:36:33
11 |
--------------------------------------------------------------------------------
/excel/xml/return/order/Successed_2019122320053105_E_E52072019122319225343_20191223200620123644335.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 0
4 | 暂存成功
5 | E52072019122319225343
6 | E20190000357524667
7 |
--------------------------------------------------------------------------------
/excel/xml/return/order/Successed_2019122320061062_E_E52072019122319215218_20191223200850526246957.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 | 0
4 | 暂存成功
5 | E52072019122319215218
6 | E20190000357525131
7 |
--------------------------------------------------------------------------------
/excel/商品信息.xlsx:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/excel/商品信息.xlsx
--------------------------------------------------------------------------------
/go.mod:
--------------------------------------------------------------------------------
1 | module BeeCustom
2 |
3 | go 1.13
4 |
5 | require (
6 | github.com/360EntSecGroup-Skylar/excelize v1.4.1
7 | github.com/SebastiaanKlippert/go-wkhtmltopdf v1.5.0
8 | github.com/andybalholm/cascadia v1.1.0 // indirect
9 | github.com/antchfx/htmlquery v1.2.2 // indirect
10 | github.com/antchfx/xmlquery v1.2.3 // indirect
11 | github.com/antchfx/xpath v1.1.4 // indirect
12 | github.com/astaxie/beego v1.12.0
13 | github.com/casbin/casbin v1.9.1
14 | github.com/go-sql-driver/mysql v1.4.1
15 | github.com/gocolly/colly/v2 v2.0.1
16 | github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7 // indirect
17 | github.com/golang/protobuf v1.3.2 // indirect
18 | github.com/gorilla/websocket v1.4.1
19 | github.com/hooklift/gowsdl v0.3.1
20 | github.com/lib/pq v1.3.0
21 | github.com/satori/go.uuid v1.2.0
22 | github.com/shiena/ansicolor v0.0.0-20151119151921-a422bbe96644 // indirect
23 | github.com/smartystreets/goconvey v1.6.4
24 | github.com/snowlyg/gotransformer v0.0.0-20200107031743-38a7dfd0c373
25 | golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa // indirect
26 | google.golang.org/appengine v1.6.5 // indirect
27 | )
28 |
--------------------------------------------------------------------------------
/gowatch.yml:
--------------------------------------------------------------------------------
1 | # gowatch.yml 配置示例
2 | #
3 | # 程序名称
4 | appname: "BeeCustom"
5 |
6 | # Output
7 | #output: ./
8 |
9 | watch_exts:
10 | - .go
11 | - .js
12 | - .css
13 | - .html
14 |
15 | #cmd_args:
16 | # - arg1=val1
17 |
18 | #build_args:
19 | # - -race
20 |
21 | #envs:
22 | # - a=b
23 |
24 | #vendor_watch: false
25 |
26 | #excluded_paths:
27 | # - path
28 |
29 | #build_tags: ""
30 |
31 | disable_run: false
32 |
--------------------------------------------------------------------------------
/logs/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
3 |
4 |
--------------------------------------------------------------------------------
/main.go:
--------------------------------------------------------------------------------
1 | package main
2 |
3 | import (
4 | _ "BeeCustom/routers"
5 | _ "BeeCustom/sysinit"
6 | "github.com/astaxie/beego"
7 | )
8 |
9 | func main() {
10 |
11 | beego.BConfig.WebConfig.TemplateLeft = "@{{"
12 | beego.BConfig.WebConfig.TemplateRight = "}}"
13 |
14 | beego.Run()
15 | }
16 |
--------------------------------------------------------------------------------
/middleware/beego-orm-adapter/.gitignore:
--------------------------------------------------------------------------------
1 | # Binaries for programs and plugins
2 | *.exe
3 | *.dll
4 | *.so
5 | *.dylib
6 |
7 | # Test binary, build with `go test -c`
8 | *.test
9 |
10 | # Output of the go coverage tool, specifically when used with LiteIDE
11 | *.out
12 |
13 | # Project-local glide cache, RE: https://github.com/Masterminds/glide/issues/736
14 | .glide/
15 |
16 | .idea/
17 | *.iml
--------------------------------------------------------------------------------
/middleware/beego-orm-adapter/.travis.yml:
--------------------------------------------------------------------------------
1 | language: go
2 |
3 | sudo: false
4 |
5 | go:
6 | - tip
7 |
8 | before_install:
9 | - go get github.com/mattn/goveralls
10 |
11 | script:
12 | - $HOME/gopath/bin/goveralls -service=travis-ci
13 |
14 | services:
15 | - mysql
--------------------------------------------------------------------------------
/middleware/beego-orm-adapter/examples/rbac_model.conf:
--------------------------------------------------------------------------------
1 | [request_definition]
2 | r = sub, obj, act
3 |
4 | [policy_definition]
5 | p = sub, obj, act
6 |
7 | [role_definition]
8 | g = _, _
9 |
10 | [policy_effect]
11 | e = some(where (p.eft == allow))
12 |
13 | [matchers]
14 | m = g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act
--------------------------------------------------------------------------------
/middleware/beego-orm-adapter/examples/rbac_policy.csv:
--------------------------------------------------------------------------------
1 | p, alice, data1, read
2 | p, bob, data2, write
3 | p, data2_admin, data2, read
4 | p, data2_admin, data2, write
5 | g, alice, data2_admin
--------------------------------------------------------------------------------
/models/DataBase.go:
--------------------------------------------------------------------------------
1 | package models
2 |
3 | import (
4 | "bytes"
5 | "fmt"
6 | "os/exec"
7 |
8 | "github.com/astaxie/beego"
9 | )
10 |
11 | func DataReset() (bool, error) {
12 |
13 | dbType := beego.AppConfig.String("db_type")
14 | //数据库名称
15 | //dbName := beego.AppConfig.String(dbType+"::db_name")
16 | //数据库连接用户名
17 | dbUser := beego.AppConfig.String(dbType + "::db_user")
18 | //数据库连接用户名
19 | dbPwd := beego.AppConfig.String(dbType + "::db_pwd")
20 | //数据库IP(域名)
21 | dbHost := beego.AppConfig.String(dbType + "::db_host")
22 | //数据库端口
23 | dbPort := beego.AppConfig.String(dbType + "::db_port")
24 |
25 | arv := []string{fmt.Sprintf("--host=%s", dbHost), fmt.Sprintf("--port=%d", dbPort), fmt.Sprintf("-u%s", dbUser), fmt.Sprintf("-p%s", dbPwd), ">", "bee_custom_clearances.sql"}
26 |
27 | cmd := exec.Command("mysql", arv...)
28 |
29 | var out bytes.Buffer
30 |
31 | cmd.Stdout = &out
32 |
33 | err := cmd.Run()
34 |
35 | if err != nil {
36 |
37 | return false, err
38 | }
39 |
40 | fmt.Printf(out.String())
41 |
42 | //f, err := os.Open("bee_custom.sql")
43 | //if err != nil {
44 | // return false, err
45 | //}
46 | //
47 | //defer f.Close()
48 | //
49 | //o := orm.NewOrm()
50 | //buf := bufio.NewReader(f)
51 | //for {
52 | // line, err := buf.ReadString(';')
53 | // if err != nil {
54 | // if err == io.EOF {
55 | // return true, nil
56 | // }
57 | // return false, err
58 | // }
59 | // _, err = o.Raw(line).Exec()
60 | // if err != nil {
61 | // return false, err
62 | // }
63 | //}
64 | return true, nil
65 | }
66 |
--------------------------------------------------------------------------------
/models/OrderDocument.go:
--------------------------------------------------------------------------------
1 | package models
2 |
3 | import (
4 | "fmt"
5 | "time"
6 |
7 | "BeeCustom/utils"
8 | "github.com/astaxie/beego/orm"
9 | )
10 |
11 | // TableName 设置OrderDocument表名
12 | func (u *OrderDocument) TableName() string {
13 | return OrderDocumentTBName()
14 | }
15 |
16 | // OrderDocumentQueryParam 用于查询的类
17 | type OrderDocumentQueryParam struct {
18 | BaseQueryParam
19 |
20 | OrderId int64
21 | }
22 |
23 | // OrderDocument 实体类
24 | type OrderDocument struct {
25 | BaseModel
26 | DocuCode string `orm:"column(docu_code);size(3);null" description:"随附单证代码"`
27 | DocuCodeName string `orm:"column(docu_code_name);size(100);null" description:"随附单证代码名称"`
28 | CertCode string `orm:"column(cert_code);size(32);null" description:"随附单证编码"`
29 | DeletedAt time.Time `orm:"column(deleted_at);type(timestamp);null"`
30 | Order *Order `orm:"column(order_id);rel(fk)"`
31 | OrderId int64 `orm:"-" form:"OrderId"` // 关联管理会自动生成 CompanyId 字段,此处不生成字段
32 | }
33 |
34 | func NewOrderDocument(id int64) OrderDocument {
35 | return OrderDocument{BaseModel: BaseModel{id, time.Now(), time.Now()}}
36 | }
37 |
38 | // Save 添加、编辑页面 保存
39 | func OrderDocumentSave(m *OrderDocument) error {
40 | o := orm.NewOrm()
41 | if m.Id == 0 {
42 | if _, err := o.Insert(m); err != nil {
43 | utils.LogDebug(fmt.Sprintf("OrderDocumentSave:%v", err))
44 | return err
45 | }
46 | } else {
47 | if _, err := o.Update(m); err != nil {
48 | utils.LogDebug(fmt.Sprintf("OrderDocumentSave:%v", err))
49 | return err
50 | }
51 | }
52 |
53 | return nil
54 | }
55 |
56 | // 删除
57 | func OrderDocumentDelete(id int64) (num int64, err error) {
58 | m := NewOrderDocument(id)
59 | if num, err := BaseDelete(&m); err != nil {
60 | return num, err
61 | } else {
62 | return num, nil
63 | }
64 | }
65 |
--------------------------------------------------------------------------------
/mysoap/OutBounds.go:
--------------------------------------------------------------------------------
1 | package mysoap
2 |
3 | import (
4 | "encoding/xml"
5 | "github.com/hooklift/gowsdl/soap"
6 | "time"
7 | )
8 |
9 | // against "unused imports"
10 | var _ time.Time
11 | var _ xml.Name
12 |
13 | type Out_bounds struct {
14 | XMLName xml.Name `xml:"http://webservice.bgcd.hwt.com out_bounds"`
15 |
16 | XmlStr string `xml:"xmlStr,omitempty"`
17 | }
18 |
19 | type Out_boundsResponse struct {
20 | XMLName xml.Name `xml:"http://webservice.bgcd.hwt.com out_boundsResponse"`
21 |
22 | Return_ string `xml:"return,omitempty"`
23 | }
24 |
25 | type OutBoundsServicePortType interface {
26 | Out_bounds(request *Out_bounds) (*Out_boundsResponse, error)
27 | }
28 |
29 | type outBoundsServicePortType struct {
30 | client *soap.Client
31 | }
32 |
33 | func NewOutBoundsServicePortType(client *soap.Client) OutBoundsServicePortType {
34 | return &outBoundsServicePortType{
35 | client: client,
36 | }
37 | }
38 |
39 | func (service *outBoundsServicePortType) Out_bounds(request *Out_bounds) (*Out_boundsResponse, error) {
40 | response := new(Out_boundsResponse)
41 | err := service.client.Call("urn:out_bounds", request, response)
42 | if err != nil {
43 | return nil, err
44 | }
45 |
46 | return response, nil
47 | }
48 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "BeeCustom",
3 | "version": "1.0.0",
4 | "description": "BeeCustom 是基于 `Beego` 开发的关务管理系统。前端框架基于 `Layui` 进行开发,功能已经贴近海关的单一窗口。",
5 | "main": "gulpfile.js",
6 | "directories": {
7 | "test": "tests"
8 | },
9 | "scripts": {
10 | "test": "echo \"Error: no test specified\" && exit 1"
11 | },
12 | "repository": {
13 | "type": "git",
14 | "url": "https://git.dev.tencent.com/Dreamfish/BeeCustom.git"
15 | },
16 | "author": "Dreamfish",
17 | "license": "ISC",
18 | "devDependencies": {
19 | "babel-core": "^6.26.3",
20 | "babel-plugin-transform-remove-strict-mode": "0.0.2",
21 | "babel-preset-env": "^1.7.0",
22 | "del": "^5.1.0",
23 | "gulp": "^4.0.2",
24 | "gulp-autoprefixer": "^7.0.1",
25 | "gulp-babel": "^7.0.1",
26 | "gulp-cache": "^1.1.3",
27 | "gulp-concat": "^2.6.1",
28 | "gulp-imagemin": "^6.2.0",
29 | "gulp-jshint": "^2.1.0",
30 | "gulp-livereload": "^4.0.2",
31 | "gulp-minify-css": "^1.2.4",
32 | "gulp-notify": "^3.2.0",
33 | "gulp-rename": "^1.4.0",
34 | "gulp-ruby-sass": "^4.0.0",
35 | "gulp-uglify": "^3.0.2",
36 | "jshint": "^2.10.3"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/static/customAdmin/config.js:
--------------------------------------------------------------------------------
1 | layui.define(["laytpl","layer","element","util"],function(e){e("setter",{container:"LAY_app",base:layui.cache.base,views:layui.cache.base+"tpl/",entry:"index",engine:".html",pageTabs:!0,name:"customAdmin",tableName:"customAdmin",MOD_NAME:"admin",debug:!1,request:{tokenName:!1},response:{statusName:"status",statusCode:{ok:!0,logout:1001},msgName:"message",dataName:"data"},extend:["echarts","echartsTheme","Swiper","layuiXtree"],theme:{color:[{main:"rgb(40, 55, 77)",header:"rgb(27, 135, 255)",selected:"rgb(27, 135, 255)",logo:"rgb(53, 61, 83)",alias:"default"},{main:"#03152A",selected:"#3B91FF",alias:"dark-blue"},{main:"#2E241B",selected:"#A48566",alias:"coffee"},{main:"#50314F",selected:"#7A4D7B",alias:"purple-red"},{main:"#344058",logo:"#1E9FFF",selected:"#1E9FFF",alias:"ocean"},{main:"#3A3D49",logo:"#2F9688",selected:"#5FB878",alias:"green"},{main:"#20222A",logo:"#F78400",selected:"#F78400",alias:"red"},{main:"#28333E",logo:"#AA3130",selected:"#AA3130",alias:"fashion-red"},{main:"#24262F",logo:"#3A3D49",selected:"#009688",alias:"classic-black"},{logo:"#226A62",header:"#2F9688",alias:"green-header"},{main:"#344058",logo:"#0085E8",selected:"#1E9FFF",header:"#1E9FFF",alias:"ocean-header"},{header:"#393D49",alias:"classic-black-header"},{main:"#50314F",logo:"#50314F",selected:"#7A4D7B",header:"#50314F",alias:"purple-red-header"},{main:"#28333E",logo:"#28333E",selected:"#AA3130",header:"#AA3130",alias:"fashion-red-header"},{main:"#28333E",logo:"#009688",selected:"#009688",header:"#009688",alias:"green-header"}],initColorIndex:0}})});
--------------------------------------------------------------------------------
/static/customAdmin/layui/css/modules/code.css:
--------------------------------------------------------------------------------
1 | /** layui-v2.5.5 MIT License By https://www.layui.com */
2 | html #layuicss-skincodecss{display:none;position:absolute;width:1989px}.layui-code-h3,.layui-code-view{position:relative;font-size:12px}.layui-code-view{display:block;margin:10px 0;padding:0;border:1px solid #e2e2e2;border-left-width:6px;background-color:#F2F2F2;color:#333;font-family:Courier New}.layui-code-h3{padding:0 10px;height:32px;line-height:32px;border-bottom:1px solid #e2e2e2}.layui-code-h3 a{position:absolute;right:10px;top:0;color:#999}.layui-code-view .layui-code-ol{position:relative;overflow:auto}.layui-code-view .layui-code-ol li{position:relative;margin-left:45px;line-height:20px;padding:0 5px;border-left:1px solid #e2e2e2;list-style-type:decimal-leading-zero;*list-style-type:decimal;background-color:#fff}.layui-code-view pre{margin:0}.layui-code-notepad{border:1px solid #0C0C0C;border-left-color:#3F3F3F;background-color:#0C0C0C;color:#C2BE9E}.layui-code-notepad .layui-code-h3{border-bottom:none}.layui-code-notepad .layui-code-ol li{background-color:#3F3F3F;border-left:none}
--------------------------------------------------------------------------------
/static/customAdmin/layui/css/modules/layer/default/icon-ext.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/css/modules/layer/default/icon-ext.png
--------------------------------------------------------------------------------
/static/customAdmin/layui/css/modules/layer/default/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/css/modules/layer/default/icon.png
--------------------------------------------------------------------------------
/static/customAdmin/layui/css/modules/layer/default/loading-0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/css/modules/layer/default/loading-0.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/css/modules/layer/default/loading-1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/css/modules/layer/default/loading-1.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/css/modules/layer/default/loading-2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/css/modules/layer/default/loading-2.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/font/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/font/iconfont.eot
--------------------------------------------------------------------------------
/static/customAdmin/layui/font/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/font/iconfont.ttf
--------------------------------------------------------------------------------
/static/customAdmin/layui/font/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/font/iconfont.woff
--------------------------------------------------------------------------------
/static/customAdmin/layui/font/iconfont.woff2:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/font/iconfont.woff2
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/0.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/0.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/1.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/1.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/10.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/10.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/11.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/11.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/12.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/12.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/13.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/13.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/14.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/14.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/15.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/15.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/16.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/16.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/17.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/17.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/18.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/18.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/19.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/19.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/2.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/2.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/20.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/20.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/21.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/21.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/22.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/22.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/23.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/23.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/24.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/24.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/25.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/25.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/26.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/26.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/27.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/27.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/28.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/28.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/29.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/29.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/3.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/3.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/30.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/30.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/31.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/31.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/32.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/32.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/33.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/33.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/34.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/34.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/35.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/35.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/36.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/36.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/37.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/37.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/38.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/38.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/39.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/39.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/4.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/4.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/40.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/40.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/41.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/41.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/42.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/42.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/43.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/43.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/44.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/44.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/45.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/45.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/46.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/46.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/47.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/47.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/48.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/48.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/49.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/49.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/5.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/5.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/50.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/50.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/51.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/51.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/52.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/52.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/53.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/53.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/54.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/54.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/55.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/55.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/56.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/56.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/57.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/57.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/58.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/58.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/59.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/59.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/6.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/6.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/60.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/60.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/61.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/61.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/62.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/62.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/63.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/63.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/64.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/64.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/65.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/65.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/66.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/66.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/67.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/67.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/68.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/68.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/69.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/69.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/7.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/7.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/70.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/70.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/71.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/71.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/8.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/8.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/images/face/9.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/layui/images/face/9.gif
--------------------------------------------------------------------------------
/static/customAdmin/layui/lay/modules/code.js:
--------------------------------------------------------------------------------
1 | /** layui-v2.5.5 MIT License By https://www.layui.com */
2 | ;layui.define("jquery",function(e){"use strict";var a=layui.$,l="http://www.layui.com/doc/modules/code.html";e("code",function(e){var t=[];e=e||{},e.elem=a(e.elem||".layui-code"),e.about=!("about"in e)||e.about,e.elem.each(function(){t.push(this)}),layui.each(t.reverse(),function(t,i){var c=a(i),o=c.html();(c.attr("lay-encode")||e.encode)&&(o=o.replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")),c.html('
- '+o.replace(/[\r\t\n]+/g,"
- ")+"
"),c.find(">.layui-code-h3")[0]||c.prepend(''+(c.attr("lay-title")||e.title||"code")+(e.about?'layui.code':"")+"
");var d=c.find(">.layui-code-ol");c.addClass("layui-box layui-code-view"),(c.attr("lay-skin")||e.skin)&&c.addClass("layui-code-"+(c.attr("lay-skin")||e.skin)),(d.find("li").length/100|0)>0&&d.css("margin-left",(d.find("li").length/100|0)+"px"),(c.attr("lay-height")||e.height)&&d.css("max-height",c.attr("lay-height")||e.height)})})}).addcss("modules/code.css","skincodecss");
--------------------------------------------------------------------------------
/static/customAdmin/layui/lay/modules/laytpl.js:
--------------------------------------------------------------------------------
1 | /** layui-v2.5.5 MIT License By https://www.layui.com */
2 | ;layui.define(function(e){"use strict";var r={open:"{{",close:"}}"},c={exp:function(e){return new RegExp(e,"g")},query:function(e,c,t){var o=["#([\\s\\S])+?","([^{#}])*?"][e||0];return n((c||"")+r.open+o+r.close+(t||""))},escape:function(e){return String(e||"").replace(/&(?!#?[a-zA-Z0-9]+;)/g,"&").replace(//g,">").replace(/'/g,"'").replace(/"/g,""")},error:function(e,r){var c="Laytpl Error:";return"object"==typeof console&&console.error(c+e+"\n"+(r||"")),c+e}},n=c.exp,t=function(e){this.tpl=e};t.pt=t.prototype,window.errors=0,t.pt.parse=function(e,t){var o=this,p=e,a=n("^"+r.open+"#",""),l=n(r.close+"$","");e=e.replace(/\s+|\r|\t|\n/g," ").replace(n(r.open+"#"),r.open+"# ").replace(n(r.close+"}"),"} "+r.close).replace(/\\/g,"\\\\").replace(n(r.open+"!(.+?)!"+r.close),function(e){return e=e.replace(n("^"+r.open+"!"),"").replace(n("!"+r.close),"").replace(n(r.open+"|"+r.close),function(e){return e.replace(/(.)/g,"\\$1")})}).replace(/(?="|')/g,"\\").replace(c.query(),function(e){return e=e.replace(a,"").replace(l,""),'";'+e.replace(/\\/g,"")+';view+="'}).replace(c.query(1),function(e){var c='"+(';return e.replace(/\s/g,"")===r.open+r.close?"":(e=e.replace(n(r.open+"|"+r.close),""),/^=/.test(e)&&(e=e.replace(/^=/,""),c='"+_escape_('),c+e.replace(/\\/g,"")+')+"')}),e='"use strict";var view = "'+e+'";return view;';try{return o.cache=e=new Function("d, _escape_",e),e(t,c.escape)}catch(u){return delete o.cache,c.error(u,p)}},t.pt.render=function(e,r){var n,t=this;return e?(n=t.cache?t.cache(e,c.escape):t.parse(t.tpl,e),r?void r(n):n):c.error("no data")};var o=function(e){return"string"!=typeof e?c.error("Template not found"):new t(e)};o.config=function(e){e=e||{};for(var c in e)r[c]=e[c]},o.v="1.2.0",e("laytpl",o)});
--------------------------------------------------------------------------------
/static/customAdmin/lib/tablePlug/icon/iconfont.eot:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/lib/tablePlug/icon/iconfont.eot
--------------------------------------------------------------------------------
/static/customAdmin/lib/tablePlug/icon/iconfont.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
6 |
30 |
--------------------------------------------------------------------------------
/static/customAdmin/lib/tablePlug/icon/iconfont.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/lib/tablePlug/icon/iconfont.ttf
--------------------------------------------------------------------------------
/static/customAdmin/lib/tablePlug/icon/iconfont.woff:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/lib/tablePlug/icon/iconfont.woff
--------------------------------------------------------------------------------
/static/customAdmin/lib/tablePlug/optimizeSelectOption/optimizeSelectOption.css:
--------------------------------------------------------------------------------
1 | .layui-layer-content div.layui-form-select>div.layui-select-title+dl,.select_option_to_layer div.layui-form-select>div.layui-select-title+dl{visibility:hidden}.layui-layer.layui-option-layer{mso-border-shadow:no;box-shadow:none}
--------------------------------------------------------------------------------
/static/customAdmin/modules/common.js:
--------------------------------------------------------------------------------
1 | layui.define(function(exports){
2 | let {$ ,layer ,laytpl ,setter ,view ,admin}=layui;
3 |
4 | //公共业务的逻辑处理可以写在此处,切换任何页面都会执行
5 | //……
6 |
7 |
8 |
9 | //退出
10 | admin.events.logout = function(){
11 | //执行退出接口
12 | admin.req({
13 | url: layui.setter.base + 'json/user/logout.js'
14 | ,type: 'get'
15 | ,data: {}
16 | ,done: function(res){ //这里要说明一下:done 是只有 response 的 code 正常才会执行。而 succese 则是只要 http 为 200 就会执行
17 | //清空本地记录的 token,并跳转到登入页
18 | admin.exit(function(){
19 | location.href = 'user/login.html';
20 | });
21 | }
22 | });
23 | };
24 |
25 |
26 | //对外暴露的接口
27 | exports('common', {});
28 | });
--------------------------------------------------------------------------------
/static/customAdmin/modules/reset.js:
--------------------------------------------------------------------------------
1 | layui.define(function(e){layui.use(["form"],function(){layui.$;var e=layui.form,t=layui.admin;e.verify({account:function(e){if(!/^1\d{10}$/.test(e)&&!/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/.test(e))return"输入格式不正确"},password:[/^[\S]{6,16}$/,"密码必须6到16位,且不能出现空格"]}),t.sendAuthCode({elem:"#auth_reset_getsmscode",elemPhone:"#auth_reset_phone",elemVercode:"#auth_reset_smscode",ajax:{url:get_sms_code}})}),e("reset",{})});
--------------------------------------------------------------------------------
/static/customAdmin/modules/treetable-lay/treetable.css:
--------------------------------------------------------------------------------
1 | .treeTable-empty{width:20px;display:inline-block}.treeTable-icon{cursor:pointer}.treeTable-icon .layui-icon-triangle-d:before{content:"\e623"}.treeTable-icon.open .layui-icon-triangle-d:before{content:"\e625";background-color:transparent}
--------------------------------------------------------------------------------
/static/customAdmin/style/editor.css:
--------------------------------------------------------------------------------
1 | .editor{
2 | width: 100%;
3 | /*min-height: 600px;*/
4 | margin-bottom: 40px;
5 | }
6 |
7 | .edui-notadd .edui-editor-toolbarboxouter{
8 | border-bottom: none!important;
9 | background: none!important;
10 | }
11 | .edui-notadd .edui-editor{
12 | border: none!important;
13 | }
14 | #edui1_elementpath{
15 | display: none;
16 | }
17 | #edui1_wordcount{
18 | text-align: left;
19 | }
20 | .layui-card-body .article_create_submit{
21 | position: relative;
22 | box-shadow: none;
23 | width: auto;
24 | }
25 | /*.article_upload_description{*/
26 | /*border-width: 0px;*/
27 | /*position: relative;*/
28 | /*top: 15px;*/
29 | /*width: 400px;*/
30 | /*height: 44px;*/
31 | /*font-family: 'PingFangSC-Regular', 'PingFang SC';*/
32 | /*font-weight: 400;*/
33 | /*font-style: normal;*/
34 | /*font-size: 13px;*/
35 | /*color: #999999;*/
36 | /*line-height: 22px;*/
37 | /*}*/
38 | /*.layui-upload-drag{*/
39 | /*padding: 0px!important;*/
40 | /*border-color: rgb(114,158,208);;*/
41 | /*border-radius: 10px;*/
42 | /*}*/
43 | /*.custom-company-foreign_upload{*/
44 | /*padding: 5px 0!important;*/
45 | /*color: #666666;*/
46 | /*}*/
47 | /*.layui-upload-drag .layui-icon{*/
48 | /*display: block;*/
49 | /*margin: 5px 0;*/
50 | /*font-size: 40px;*/
51 | /*color: rgb(114,158,208);*/
52 | /*}*/
--------------------------------------------------------------------------------
/static/customAdmin/style/iconfont.css:
--------------------------------------------------------------------------------
1 | @font-face {
2 | font-family: 'iconfont'; /* project id 1467689 */
3 | src: url('//at.alicdn.com/t/font_1467689_vjti8f5dhv.eot');
4 | src: url('//at.alicdn.com/t/font_1467689_vjti8f5dhv.eot?#iefix') format('embedded-opentype'),
5 | url('//at.alicdn.com/t/font_1467689_vjti8f5dhv.woff2') format('woff2'),
6 | url('//at.alicdn.com/t/font_1467689_vjti8f5dhv.woff') format('woff'),
7 | url('//at.alicdn.com/t/font_1467689_vjti8f5dhv.ttf') format('truetype'),
8 | url('//at.alicdn.com/t/font_1467689_vjti8f5dhv.svg#iconfont') format('svg');
9 | }
--------------------------------------------------------------------------------
/static/customAdmin/style/res/bg-none.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/style/res/bg-none.jpg
--------------------------------------------------------------------------------
/static/customAdmin/style/res/layui-logo.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/style/res/layui-logo.jpg
--------------------------------------------------------------------------------
/static/customAdmin/style/res/logo-black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/style/res/logo-black.png
--------------------------------------------------------------------------------
/static/customAdmin/style/res/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/style/res/logo.png
--------------------------------------------------------------------------------
/static/customAdmin/style/res/template/character.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/style/res/template/character.jpg
--------------------------------------------------------------------------------
/static/customAdmin/style/res/template/huge.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/style/res/template/huge.jpg
--------------------------------------------------------------------------------
/static/customAdmin/style/res/template/portrait.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/customAdmin/style/res/template/portrait.png
--------------------------------------------------------------------------------
/static/customAdmin/tpl/layim/demo.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
--------------------------------------------------------------------------------
/static/customAdmin/tpl/system/about.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
13 |
14 |
15 |
16 |
17 |
18 | layuiAdmin 受国家计算机软件著作权保护(登记号:2018SR410669),必须经官网授权才可获得源文件使用权。不得恶意分享产品源代码、二次转售等,违者将承担相应的法律责任。
19 |
详见:《layui 付费产品服务条款》
20 |
21 |
© 2018 layui.com 版权所有
22 |
--------------------------------------------------------------------------------
/static/customAdmin/tpl/system/more.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
23 |
--------------------------------------------------------------------------------
/static/customAdmin/tpl/system/theme.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
28 |
29 |
44 |
--------------------------------------------------------------------------------
/static/customAdmin/tpl/system/说明.txt:
--------------------------------------------------------------------------------
1 |
2 | 注意:
3 | 该目录存放的是 layuiAdmin 的系统模板碎片,很多界面需要依赖到它,切勿随意剔除。
--------------------------------------------------------------------------------
/static/customAdmin/tpl/说明.txt:
--------------------------------------------------------------------------------
1 |
2 | 注意:
3 | 该目录存放的是 layuiAdmin 的动态模板碎片
--------------------------------------------------------------------------------
/static/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/favicon.ico
--------------------------------------------------------------------------------
/static/generate/annotation/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
--------------------------------------------------------------------------------
/static/generate/order/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
--------------------------------------------------------------------------------
/static/images/01.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/01.png
--------------------------------------------------------------------------------
/static/images/02.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/02.png
--------------------------------------------------------------------------------
/static/images/03.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/03.png
--------------------------------------------------------------------------------
/static/images/about_red_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/about_red_bg.png
--------------------------------------------------------------------------------
/static/images/annotation_import_e.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/annotation_import_e.png
--------------------------------------------------------------------------------
/static/images/annotation_import_i.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/annotation_import_i.png
--------------------------------------------------------------------------------
/static/images/banner1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/banner1.png
--------------------------------------------------------------------------------
/static/images/banner2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/banner2.png
--------------------------------------------------------------------------------
/static/images/banner3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/banner3.png
--------------------------------------------------------------------------------
/static/images/banner4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/banner4.jpg
--------------------------------------------------------------------------------
/static/images/bg1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/bg1.png
--------------------------------------------------------------------------------
/static/images/bg2.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/bg2.jpg
--------------------------------------------------------------------------------
/static/images/bg3.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/bg3.jpg
--------------------------------------------------------------------------------
/static/images/bg4.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/bg4.jpg
--------------------------------------------------------------------------------
/static/images/card1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/card1.png
--------------------------------------------------------------------------------
/static/images/card2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/card2.png
--------------------------------------------------------------------------------
/static/images/card3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/card3.png
--------------------------------------------------------------------------------
/static/images/card4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/card4.png
--------------------------------------------------------------------------------
/static/images/card5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/card5.png
--------------------------------------------------------------------------------
/static/images/card6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/card6.png
--------------------------------------------------------------------------------
/static/images/company_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/company_logo.png
--------------------------------------------------------------------------------
/static/images/declaration_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/declaration_logo.png
--------------------------------------------------------------------------------
/static/images/dotted_xian.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/dotted_xian.png
--------------------------------------------------------------------------------
/static/images/email.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/erweima.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/erweima.png
--------------------------------------------------------------------------------
/static/images/icon1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/icon1.png
--------------------------------------------------------------------------------
/static/images/icon2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/icon2.png
--------------------------------------------------------------------------------
/static/images/icon3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/icon3.png
--------------------------------------------------------------------------------
/static/images/index_bg.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/index_bg.png
--------------------------------------------------------------------------------
/static/images/index_logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/index_logo.png
--------------------------------------------------------------------------------
/static/images/info1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/info1.png
--------------------------------------------------------------------------------
/static/images/info2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/info2.png
--------------------------------------------------------------------------------
/static/images/info3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/info3.png
--------------------------------------------------------------------------------
/static/images/info4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/info4.png
--------------------------------------------------------------------------------
/static/images/layui-advantage.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/layui-advantage.png
--------------------------------------------------------------------------------
/static/images/left.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/left.png
--------------------------------------------------------------------------------
/static/images/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/logo.png
--------------------------------------------------------------------------------
/static/images/logo_top.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/logo_top.png
--------------------------------------------------------------------------------
/static/images/manage.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/map.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/map.png
--------------------------------------------------------------------------------
/static/images/news.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/news.png
--------------------------------------------------------------------------------
/static/images/order_import.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/order_import.png
--------------------------------------------------------------------------------
/static/images/order_import_e.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/order_import_e.png
--------------------------------------------------------------------------------
/static/images/par.jfif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/par.jfif
--------------------------------------------------------------------------------
/static/images/partner/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/1.png
--------------------------------------------------------------------------------
/static/images/partner/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/10.png
--------------------------------------------------------------------------------
/static/images/partner/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/11.png
--------------------------------------------------------------------------------
/static/images/partner/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/12.png
--------------------------------------------------------------------------------
/static/images/partner/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/13.png
--------------------------------------------------------------------------------
/static/images/partner/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/14.png
--------------------------------------------------------------------------------
/static/images/partner/15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/15.png
--------------------------------------------------------------------------------
/static/images/partner/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/16.png
--------------------------------------------------------------------------------
/static/images/partner/17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/17.png
--------------------------------------------------------------------------------
/static/images/partner/18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/18.png
--------------------------------------------------------------------------------
/static/images/partner/19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/19.png
--------------------------------------------------------------------------------
/static/images/partner/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/2.png
--------------------------------------------------------------------------------
/static/images/partner/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/20.png
--------------------------------------------------------------------------------
/static/images/partner/21.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/21.png
--------------------------------------------------------------------------------
/static/images/partner/22.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/22.png
--------------------------------------------------------------------------------
/static/images/partner/23.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/23.png
--------------------------------------------------------------------------------
/static/images/partner/24.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/24.png
--------------------------------------------------------------------------------
/static/images/partner/25.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/25.png
--------------------------------------------------------------------------------
/static/images/partner/26.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/26.png
--------------------------------------------------------------------------------
/static/images/partner/27.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/27.png
--------------------------------------------------------------------------------
/static/images/partner/28.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/28.png
--------------------------------------------------------------------------------
/static/images/partner/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/3.png
--------------------------------------------------------------------------------
/static/images/partner/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/4.png
--------------------------------------------------------------------------------
/static/images/partner/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/5.png
--------------------------------------------------------------------------------
/static/images/partner/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/6.png
--------------------------------------------------------------------------------
/static/images/partner/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/7.png
--------------------------------------------------------------------------------
/static/images/partner/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/8.png
--------------------------------------------------------------------------------
/static/images/partner/9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/partner/9.png
--------------------------------------------------------------------------------
/static/images/partner/p1.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/partner/p2.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/partner/p4.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/partner/p5.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/partner/p6.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/people.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/people.png
--------------------------------------------------------------------------------
/static/images/right.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/right.png
--------------------------------------------------------------------------------
/static/images/search.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/search.png
--------------------------------------------------------------------------------
/static/images/six.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/six.png
--------------------------------------------------------------------------------
/static/images/text.svg:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/static/images/uugai.com-1574165928778.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/uugai.com-1574165928778.png
--------------------------------------------------------------------------------
/static/images/uugai.com_1574165878157.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/images/uugai.com_1574165878157.png
--------------------------------------------------------------------------------
/static/pdf/pdf_contract_e/target001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/pdf/pdf_contract_e/target001.png
--------------------------------------------------------------------------------
/static/pdf/pdf_contract_i/target001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/pdf/pdf_contract_i/target001.png
--------------------------------------------------------------------------------
/static/pdf/pdf_declaration_e/target001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/pdf/pdf_declaration_e/target001.png
--------------------------------------------------------------------------------
/static/pdf/pdf_declaration_e/target002.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/pdf/pdf_declaration_e/target002.png
--------------------------------------------------------------------------------
/static/pdf/pdf_declaration_i/target001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/pdf/pdf_declaration_i/target001.png
--------------------------------------------------------------------------------
/static/pdf/pdf_declaration_i/target002.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/pdf/pdf_declaration_i/target002.png
--------------------------------------------------------------------------------
/static/pdf/pdf_driver_i/target001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/pdf/pdf_driver_i/target001.png
--------------------------------------------------------------------------------
/static/pdf/pdf_invoice/target001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/pdf/pdf_invoice/target001.png
--------------------------------------------------------------------------------
/static/pdf/pdf_packing_e/target001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/pdf/pdf_packing_e/target001.png
--------------------------------------------------------------------------------
/static/pdf/pdf_packing_i/target001.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/snowlyg/BeeCustom/4ce47d171e3d071642871c03d2dc247eaa82a88e/static/pdf/pdf_packing_i/target001.png
--------------------------------------------------------------------------------
/static/upload/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
--------------------------------------------------------------------------------
/static/upload/clearance/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
--------------------------------------------------------------------------------
/static/upload/handBook/.gitignore:
--------------------------------------------------------------------------------
1 | *
2 | !.gitignore
--------------------------------------------------------------------------------
/sysinit/initDatabase.go:
--------------------------------------------------------------------------------
1 | package sysinit
2 |
3 | import (
4 | "fmt"
5 |
6 | "BeeCustom/models"
7 | "BeeCustom/utils"
8 | "github.com/astaxie/beego"
9 | "github.com/astaxie/beego/orm"
10 | "github.com/astaxie/beego/plugins/auth"
11 |
12 | //_ "github.com/mattn/go-sqlite3"
13 | _ "github.com/go-sql-driver/mysql"
14 | )
15 |
16 | // 初始化数据连接
17 | func InitDatabase() {
18 |
19 | var dns string
20 |
21 | // 数据库类别
22 | dbType := beego.AppConfig.String("db_type")
23 | // 连接名称
24 | dbAlias := beego.AppConfig.String(dbType + "::db_alias")
25 | // 数据库名称
26 | dbName := beego.AppConfig.String(dbType + "::db_name")
27 | // 数据库连接用户名
28 | dbUser := beego.AppConfig.String(dbType + "::db_user")
29 | // 数据库连接用户名
30 | dbPwd := beego.AppConfig.String(dbType + "::db_pwd")
31 | // 数据库IP(域名)
32 | dbHost := beego.AppConfig.String(dbType + "::db_host")
33 | // 数据库端口
34 | dbPort := beego.AppConfig.String(dbType + "::db_port")
35 | switch dbType {
36 | case "sqlite3":
37 | _ = orm.RegisterDataBase(dbAlias, dbType, dbName)
38 | break
39 | case "mysql":
40 | dbCharset := beego.AppConfig.String(dbType + "::db_charset")
41 | dns = fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", dbUser, dbPwd, dbHost, dbPort, dbName)
42 | _ = orm.RegisterDataBase(dbAlias, dbType, dns+"?charset="+dbCharset, 30)
43 |
44 | default:
45 | utils.LogCritical(fmt.Sprintf("Database driver is not allowed:%v", dbType))
46 | }
47 |
48 | // 如果是开发模式,则显示命令信息
49 | isDev := beego.AppConfig.String("runmode") == "dev"
50 | // 自动建表
51 | _ = orm.RunSyncdb("default", false, isDev)
52 | if isDev {
53 | orm.Debug = isDev
54 | }
55 |
56 | // basicAuth 认证
57 | pdfAuth, _ := models.GetSettingRValueByKey("pdfAuth", false)
58 | username := pdfAuth["pdf_username"]
59 | password := pdfAuth["pdf_password"]
60 |
61 | beego.InsertFilter("/pdf/*", beego.BeforeRouter, auth.Basic(username, password))
62 | }
63 |
--------------------------------------------------------------------------------
/sysinit/sysinit.go:
--------------------------------------------------------------------------------
1 | package sysinit
2 |
3 | import (
4 | "encoding/gob"
5 |
6 | "BeeCustom/models"
7 | "BeeCustom/tasks"
8 | "BeeCustom/utils"
9 |
10 | _ "github.com/astaxie/beego/session/redis"
11 | )
12 |
13 | func init() {
14 |
15 | //
16 | gob.Register(models.BackendUser{})
17 |
18 | //初始化日志
19 | utils.InitLogs()
20 | //初始化缓存
21 | utils.InitCache()
22 | //初始化权限
23 | utils.InitRabc()
24 | //自定义末模板方法
25 | utils.InitFunc()
26 | //定时任务
27 | tasks.InitTask()
28 | //ws
29 | utils.InitWs()
30 | //初始化数据库
31 | InitDatabase()
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/tasks/orderUpdateStatus.go:
--------------------------------------------------------------------------------
1 | package tasks
2 |
3 | import (
4 | "fmt"
5 |
6 | "BeeCustom/enums"
7 | "BeeCustom/models"
8 | "BeeCustom/utils"
9 | "github.com/astaxie/beego/orm"
10 | "github.com/astaxie/beego/toolbox"
11 | )
12 |
13 | //检测报文是否发送成功,并更新货物状态
14 | func orderUpdateStatus() *toolbox.Task {
15 |
16 | task := toolbox.NewTask("task", "* * * * * *", func() error {
17 | o := orm.NewOrm()
18 | aStatusS, err := models.GetSettingRValueByKey("orderStatus", false)
19 | status9, err := enums.TransformCnToInt(aStatusS, "复核通过")
20 | if err != nil {
21 | utils.LogError(fmt.Sprintf("获取数据列表和总数 error:%v", err))
22 | }
23 |
24 | status11, err := enums.TransformCnToInt(aStatusS, "已提交单一")
25 | if err != nil {
26 | utils.LogError(fmt.Sprintf("获取数据列表和总数 error:%v", err))
27 | }
28 |
29 | var sendPathNames []string
30 | sendPathNames = getXmlNames("order_send_xml_path", sendPathNames)
31 | qs := o.QueryTable(models.OrderTBName()).Filter("Status", status9)
32 | if len(sendPathNames) > 0 && len(sendPathNames[0]) > 0 {
33 | if len(sendPathNames[0]) > 0 {
34 | qs = qs.Filter("client_seq_no__in", sendPathNames)
35 | }
36 |
37 | mun, err := qs.Update(orm.Params{
38 | "status": status11,
39 | })
40 |
41 | if err != nil {
42 | utils.LogError(fmt.Sprintf("orderXmlPasre Update error:%v", err))
43 | }
44 |
45 | //ws 自动更新
46 | if mun > 0 {
47 | msg := utils.Message{Message: "货物状态更新", IsUpdated: true}
48 | utils.Broadcast <- msg
49 | }
50 | }
51 |
52 | return nil
53 | })
54 |
55 | err := task.Run()
56 | if err != nil {
57 | utils.LogError(fmt.Sprintf("tk.Run error :%v", err))
58 | return nil
59 | }
60 |
61 | return task
62 | }
63 |
--------------------------------------------------------------------------------
/tests/default_test.go:
--------------------------------------------------------------------------------
1 | package test
2 |
3 | import (
4 | "net/http"
5 | "net/http/httptest"
6 | "path/filepath"
7 | "runtime"
8 | "testing"
9 |
10 | _ "BeeCustom/routers"
11 |
12 | "github.com/astaxie/beego"
13 | . "github.com/smartystreets/goconvey/convey"
14 | )
15 |
16 | func init() {
17 | _, file, _, _ := runtime.Caller(1)
18 | apppath, _ := filepath.Abs(filepath.Dir(filepath.Join(file, ".."+string(filepath.Separator))))
19 | beego.TestBeegoInit(apppath)
20 | }
21 |
22 | // TestBeego is a sample to run an endpoint test
23 | func TestBeego(t *testing.T) {
24 | r, _ := http.NewRequest("GET", "/", nil)
25 | w := httptest.NewRecorder()
26 | beego.BeeApp.Handlers.ServeHTTP(w, r)
27 |
28 | beego.Trace("testing", "TestBeego", "Code[%d]\n%s", w.Code, w.Body.String())
29 |
30 | Convey("Subject: Test Station Endpoint\n", t, func() {
31 | Convey("Status Code Should Be 200", func() {
32 | So(w.Code, ShouldEqual, 200)
33 | })
34 | Convey("The Result Should Not Be Empty", func() {
35 | So(w.Body.Len(), ShouldBeGreaterThan, 0)
36 | })
37 | })
38 | }
39 |
--------------------------------------------------------------------------------
/transforms/Article.go:
--------------------------------------------------------------------------------
1 | package transforms
2 |
3 | import "html"
4 |
5 | type Article struct {
6 | Id int64
7 | Type string `gtf:"Func.GetTypeName()"`
8 | Title string `gtf:"Func.GetValueEnd()"`
9 | Content string
10 | Overview string
11 | Origin string
12 | NewTime string
13 | CreatedAt string
14 | UpdatedAt string
15 | }
16 |
17 | func (s *Article) GetTypeName(v string) string {
18 | if v == "1" {
19 | return "新闻动态"
20 | } else if v == "2" {
21 | return "通知公告"
22 | }
23 |
24 | return "新闻动态"
25 | }
26 |
27 | func (s *Article) GetValueEnd(v string) string {
28 | value := []rune(html.UnescapeString(v))
29 |
30 | valueEnd := string(value[:len(value)-1])
31 | if len(value) > 40 {
32 | valueEnd = string(value[:40]) + `...`
33 | }
34 |
35 | return valueEnd
36 | }
37 |
--------------------------------------------------------------------------------
/transforms/annotationReturn.go:
--------------------------------------------------------------------------------
1 | package transforms
2 |
3 | type AnnotationReturn struct {
4 | Id int64
5 | SeqNo string
6 | CheckInfo string
7 | DealFlag string
8 | EtpsPreentNo string
9 | BusinessId string
10 | ManageResult string
11 | Reason string
12 | CreateDate string
13 | Rmk string
14 | DeletedAt string
15 | CreatedAt string
16 | UpdatedAt string
17 | }
18 |
--------------------------------------------------------------------------------
/transforms/backenduser.go:
--------------------------------------------------------------------------------
1 | package transforms
2 |
3 | type BackendUser struct {
4 | Id int64
5 | RealName string
6 | UserName string
7 | UserPwd string
8 | Mobile string
9 | Email string
10 | Avatar string
11 | ICCode string
12 | Chapter string
13 | IsSuper bool
14 | Status bool
15 | RoleNames string
16 | CreatedAt string
17 | UpdatedAt string
18 | }
19 |
--------------------------------------------------------------------------------
/transforms/ciq.go:
--------------------------------------------------------------------------------
1 | package transforms
2 |
3 | type Ciq struct {
4 | Id int64
5 | Hs string
6 | Name string
7 | CiqCode string
8 | CiqName string
9 | Version string
10 | VersionDate string
11 | Mark int8
12 | Status string
13 | CreatedAt string
14 | UpdatedAt string
15 | }
16 |
--------------------------------------------------------------------------------
/transforms/company.go:
--------------------------------------------------------------------------------
1 | package transforms
2 |
3 | import (
4 | "BeeCustom/models"
5 | )
6 |
7 | type Company struct {
8 | Id int64
9 | Number string
10 | AdminName string `gtf:"Func.GetAdminName(CompanyContacts)"`
11 | Name string
12 | Short string
13 | Registration string
14 | Address string
15 | DeclareType int8
16 | RegistrationCode string
17 | Phone string
18 | Fax string
19 | CreditCode string
20 | BusinessName string
21 | BusinessCode string
22 | Bank string
23 | CustomCertification int8
24 | CompanyType int8
25 | CompanyKind int8
26 | ControlRating int8
27 | Remark string
28 | IsOpenSubEmail int8
29 | IsOpenSubPhone int8
30 | SubPhone string
31 | SubEmail string
32 | SubContentCheck int8
33 | SubContentSubmit int8
34 | SubContentReject int8
35 | SubContentPass int8
36 | StatementDate int8
37 | IsTrade int8
38 | IsOwner int8
39 | Business string
40 | BusinessAuditStatus int8
41 | BusinessAuditAt string
42 | Tax int8
43 | CreatedAt string
44 | UpdatedAt string
45 | }
46 |
47 | func (c *Company) GetAdminName(vs []*models.CompanyContact) string {
48 | for _, v := range vs {
49 | if v.IsAdmin == 1 {
50 | return v.Name
51 | }
52 | }
53 |
54 | return ""
55 | }
56 |
--------------------------------------------------------------------------------
/transforms/handBookUllage.go:
--------------------------------------------------------------------------------
1 | package transforms
2 |
3 | type HandBookUllage struct {
4 | Id int64
5 | OriginalityProNo int8
6 | OriginalityProName string
7 | OriginalityProSpecial string
8 | OriginalityProU string
9 | OnlyUllage string
10 | Ullage string
11 | Gedition string
12 | Serial string
13 | FinishProNo string
14 | FinishRecordNo string
15 | FinishHsCode string
16 | FinishName string
17 | FinishSpecial string
18 | FinishSpecialU string
19 | OriginalityRecordNo string
20 | OriginalityHsCode string
21 | OnlyUllageVersion string
22 | OneUllage string
23 | NoUllage string
24 | OnlyUllageStatus string
25 | ChangeMark string
26 | BondedRate string
27 | CompanyExecuteFlag string
28 | OnlyUllageAt string
29 | UllageFlag string
30 | TalkFlag string
31 | Remark string
32 | CreatedAt string
33 | UpdatedAt string
34 | }
35 |
--------------------------------------------------------------------------------
/transforms/homeOrder.go:
--------------------------------------------------------------------------------
1 | package transforms
2 |
3 | type HomeOrder struct {
4 | Country string `gtf:"Func.GetCountry()"`
5 | Value int
6 | Year string
7 | }
8 |
9 | func (s *HomeOrder) GetCountry(v string) string {
10 | if v == "I" {
11 | return "进口"
12 | } else if v == "E" {
13 | return "出口"
14 | }
15 | return ""
16 | }
17 |
--------------------------------------------------------------------------------
/transforms/hsCode.go:
--------------------------------------------------------------------------------
1 | package transforms
2 |
3 | import "BeeCustom/models"
4 |
5 | type HsCode struct {
6 | Id int64
7 | Code string
8 | Name string
9 | License string
10 | GeneralRate float64
11 | OfferRate float64
12 | ExportRate float64
13 | TaxRate float64
14 | ConsumeRate float64
15 | Unit1 string
16 | Unit2 string
17 | Declaration string
18 | Remark string
19 | Unit1Name string `gtf:"Func.GetUnitCode(Unit1,计量单位代码)"`
20 | Unit2Name string `gtf:"Func.GetUnitCode(Unit2,计量单位代码)"`
21 | CreatedAt string
22 | UpdatedAt string
23 | }
24 |
25 | func (h *HsCode) GetUnitCode(v, t string) interface{} {
26 | cs := models.GetClearancesByTypes(t, false)
27 | for _, c := range cs {
28 | if c[0] == v {
29 | return c[1]
30 | }
31 | }
32 | return nil
33 | }
34 |
--------------------------------------------------------------------------------
/transforms/orderFile.go:
--------------------------------------------------------------------------------
1 | package transforms
2 |
3 | type OrderFile struct {
4 | Id int64
5 | EdocID string
6 | EdocCode string
7 | EdocCodeName string
8 | EdocFomatType string
9 | OpNote string
10 | EdocCopId string
11 | EdocOwnerCode string
12 | SignUnit string
13 | SignTime string
14 | EdocOwnerName string
15 | EdocSize string
16 | EdocCopUrl string
17 | Creator string
18 | Version float64
19 | CreatedAt string
20 | UpdatedAt string
21 | }
22 |
--------------------------------------------------------------------------------
/transforms/resource.go:
--------------------------------------------------------------------------------
1 | package transforms
2 |
3 | type Resource struct {
4 | Id int64
5 | Rtype int
6 | Name string
7 | Icon string
8 | UrlFor string
9 | ParentName string `gtf:"Parent.Name"`
10 | Sons []*Resource
11 | CreatedAt string
12 | UpdatedAt string
13 | }
14 |
--------------------------------------------------------------------------------
/transforms/role.go:
--------------------------------------------------------------------------------
1 | package transforms
2 |
3 | type Role struct {
4 | Id int64
5 | Name string
6 | CreatedAt string
7 | UpdatedAt string
8 | }
9 |
--------------------------------------------------------------------------------
/transforms/setting.go:
--------------------------------------------------------------------------------
1 | package transforms
2 |
3 | import "html"
4 |
5 | type Setting struct {
6 | Id int64
7 | Key string
8 | RValue string `gtf:"Func.GetValueEnd()"`
9 | Rmk string
10 | CreatedAt string
11 | UpdatedAt string
12 | }
13 |
14 | func (s *Setting) GetValueEnd(v string) string {
15 | value := []rune(html.UnescapeString(v))
16 |
17 | valueEnd := string(value[:len(value)-1])
18 | if len(value) > 30 {
19 | valueEnd = string(value[:30]) + `...`
20 | }
21 |
22 | return valueEnd
23 | }
24 |
--------------------------------------------------------------------------------
/utils/global.go:
--------------------------------------------------------------------------------
1 | package utils
2 |
--------------------------------------------------------------------------------
/utils/rabc.go:
--------------------------------------------------------------------------------
1 | package utils
2 |
3 | import (
4 | "fmt"
5 |
6 | "BeeCustom/middleware/beego-orm-adapter"
7 | "github.com/astaxie/beego"
8 | "github.com/casbin/casbin"
9 | )
10 |
11 | var E *casbin.Enforcer
12 | var dns string
13 | var err error
14 |
15 | //初始化数据连接
16 | func InitRabc() {
17 | //数据库类别
18 | dbType := beego.AppConfig.String("db_type")
19 | //数据库名称
20 | dbName := beego.AppConfig.String(dbType + "::db_name")
21 | //数据库连接用户名
22 | dbUser := beego.AppConfig.String(dbType + "::db_user")
23 | //数据库连接用户名
24 | dbPwd := beego.AppConfig.String(dbType + "::db_pwd")
25 | //数据库IP(域名)
26 | dbHost := beego.AppConfig.String(dbType + "::db_host")
27 | //数据库端口
28 | dbPort := beego.AppConfig.String(dbType + "::db_port")
29 | switch dbType {
30 | case "sqlite3":
31 | dns = fmt.Sprintf("%s.db", dbName)
32 | break
33 | case "mysql":
34 | dns = fmt.Sprintf("%s:%s@tcp(%s:%s)/%s", dbUser, dbPwd, dbHost, dbPort, dbName)
35 | break
36 | default:
37 | LogCritical(fmt.Sprintf("Database driver is not allowed:%v", dbType))
38 | }
39 |
40 | a := beegoormadapter.NewAdapter(dbType, dns)
41 | E = casbin.NewEnforcer("conf/rbac_model.conf", a)
42 | if err != nil {
43 | LogDebug(fmt.Sprintf("NewEnforcer error:%v", err))
44 | }
45 |
46 | err = E.LoadPolicy()
47 |
48 | if err != nil {
49 | LogDebug(fmt.Sprintf("LoadPolicy error:%v", err))
50 | }
51 |
52 | }
53 |
--------------------------------------------------------------------------------
/utils/selffunc.go:
--------------------------------------------------------------------------------
1 | package utils
2 |
3 | import (
4 | "strings"
5 |
6 | "github.com/astaxie/beego"
7 | )
8 |
9 | //自定义末模板方法
10 | func InitFunc() {
11 | _ = beego.AddFuncMap("inArray", inArray)
12 | _ = beego.AddFuncMap("inArrayStr", inArrayStr)
13 | _ = beego.AddFuncMap("inArrayStrSlice", inArrayStrSlice)
14 | _ = beego.AddFuncMap("canArray", canArray)
15 | }
16 |
17 | //is Array
18 | func inArray(in int64, s []interface{}) bool {
19 |
20 | if len(s) == 0 {
21 | return false
22 | }
23 |
24 | for _, v := range s {
25 | if v == in {
26 | return true
27 | }
28 | }
29 |
30 | return false
31 | }
32 |
33 | //is inArrayStr
34 | func inArrayStr(str string, s []string) bool {
35 |
36 | if len(s) == 0 {
37 | return false
38 | }
39 |
40 | if len(str) == 0 {
41 | return false
42 | }
43 |
44 | for _, v := range s {
45 | if v == str {
46 | return true
47 | }
48 | }
49 |
50 | return false
51 | }
52 |
53 | //is inArrayStrSlice
54 | func inArrayStrSlice(str string, index int, s []map[int][]string) bool {
55 | if len(s) == 0 {
56 | return false
57 | }
58 |
59 | if len(str) == 0 {
60 | return false
61 | }
62 |
63 | for _, v := range s {
64 | for _, iv := range v[index] {
65 | if iv == str {
66 | return true
67 | }
68 | }
69 | }
70 |
71 | return false
72 | }
73 |
74 | //canArray 数组权限 清单,货物进出口
75 | //{
76 | // "I" : {
77 | // "canCreate" :true
78 | // },
79 | // "E" : {
80 | // "canCreate" :true
81 | // },
82 | //}
83 | func canArray(s map[string]map[string]bool, index, perm string) bool {
84 | //LogDebug(s)
85 | //LogDebug(index)
86 | //LogDebug(perm)
87 | if len(s) == 0 {
88 | return false
89 | }
90 | for sI, v := range s {
91 | if sI == strings.ToUpper(index) {
92 | return v[perm]
93 | }
94 | }
95 | return false
96 | }
97 |
--------------------------------------------------------------------------------
/utils/stringtool.go:
--------------------------------------------------------------------------------
1 | package utils
2 |
3 | import "fmt"
4 | import "crypto/md5"
5 | import "math/rand"
6 | import "time"
7 | import "strconv"
8 | import "strings"
9 |
10 | //将字符串加密成 md5
11 | func String2md5(str string) string {
12 | data := []byte(str)
13 | has := md5.Sum(data)
14 | return fmt.Sprintf("%x", has) //将[]byte转成16进制
15 | }
16 |
17 | //RandomString 在数字、大写字母、小写字母范围内生成num位的随机字符串
18 | func RandomString(length int) string {
19 | // 48 ~ 57 数字
20 | // 65 ~ 90 A ~ Z
21 | // 97 ~ 122 a ~ z
22 | // 一共62个字符,在0~61进行随机,小于10时,在数字范围随机,
23 | // 小于36在大写范围内随机,其他在小写范围随机
24 | rand.Seed(time.Now().UnixNano())
25 | result := make([]string, 0, length)
26 | for i := 0; i < length; i++ {
27 | t := rand.Intn(62)
28 | if t < 10 {
29 | result = append(result, strconv.Itoa(rand.Intn(10)))
30 | } else if t < 36 {
31 | result = append(result, string(rand.Intn(26)+65))
32 | } else {
33 | result = append(result, string(rand.Intn(26)+97))
34 | }
35 | }
36 | return strings.Join(result, "")
37 | }
38 |
--------------------------------------------------------------------------------
/utils/utils_test.go:
--------------------------------------------------------------------------------
1 | package utils
2 |
3 | import (
4 | "testing"
5 | )
6 |
7 | func TestRandomString(t *testing.T) {
8 | str := RandomString(10)
9 | InitLogs()
10 | LogDebug("testing")
11 | t.Error(str)
12 | }
13 |
--------------------------------------------------------------------------------
/utils/ws.go:
--------------------------------------------------------------------------------
1 | package utils
2 |
3 | import (
4 | "fmt"
5 |
6 | "github.com/gorilla/websocket"
7 | )
8 |
9 | var (
10 | Clients = make(map[*websocket.Conn]bool)
11 | Broadcast = make(chan Message)
12 | )
13 |
14 | type Message struct {
15 | Message string `json:"message"`
16 | IsUpdated bool `json:"is_updated"`
17 | }
18 |
19 | //初始化数据连接
20 | func InitWs() {
21 | go handleMessages()
22 | }
23 |
24 | //广播发送至页面
25 | func handleMessages() {
26 | for {
27 | msg := <-Broadcast
28 | for client := range Clients {
29 | err := client.WriteJSON(msg)
30 | if err != nil {
31 | LogDebug(fmt.Sprintf("client.WriteJSON error: %v", err))
32 | client.Close()
33 | delete(Clients, client)
34 | }
35 | }
36 | }
37 | }
38 |
--------------------------------------------------------------------------------
/validations/auth.go:
--------------------------------------------------------------------------------
1 | package validations
2 |
3 | import (
4 | "strings"
5 |
6 | "github.com/astaxie/beego/validation"
7 | )
8 |
9 | func LoginValid(UserName, UserPwd string) string {
10 |
11 | valid := validation.Validation{}
12 | validation.MessageTmpls = GetMessageTmpls()
13 |
14 | valid.Required(UserName, "用户名")
15 | valid.MinSize(UserName, 5, "用户名")
16 | valid.MaxSize(UserName, 24, "用户名")
17 |
18 | valid.Required(UserPwd, "密码")
19 | valid.MinSize(UserPwd, 6, "密码")
20 | valid.MaxSize(UserPwd, 16, "密码")
21 | valid.AlphaNumeric(UserPwd, "密码")
22 |
23 | if valid.HasErrors() {
24 | if len(valid.Errors) > 0 {
25 | return strings.Split(valid.Errors[0].Key, ".")[0] + ":" + valid.Errors[0].Message
26 | }
27 | }
28 |
29 | return ""
30 | }
31 |
--------------------------------------------------------------------------------
/validations/base.go:
--------------------------------------------------------------------------------
1 | package validations
2 |
3 | func GetMessageTmpls() map[string]string {
4 | return map[string]string{
5 | "Required": "不能为空",
6 | "Min": "最小为 %d",
7 | "Max": "最大为 %d",
8 | "Range": "范围在 %d 至 %d",
9 | "MinSize": "最小长度为 %d",
10 | "MaxSize": "最大长度为 %d",
11 | "Length": "长度必须是 %d",
12 | "Alpha": "必须是有效的字母字符",
13 | "Numeric": "必须是有效的数字字符",
14 | "AlphaNumeric": "必须是有效的字母或数字字符",
15 | "Match": "必须匹配格式 %s",
16 | "NoMatch": "必须不匹配格式 %s",
17 | "AlphaDash": "必须是有效的字母或数字或破折号(-_)字符",
18 | "Email": "必须是有效的邮件地址",
19 | "IP": "必须是有效的IP地址",
20 | "Base64": "必须是有效的base64字符",
21 | "Mobile": "必须是有效手机号码",
22 | "Tel": "必须是有效电话号码",
23 | "Phone": "必须是有效的电话号码或者手机号码",
24 | "ZipCode": "必须是有效的邮政编码",
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/validations/role.go:
--------------------------------------------------------------------------------
1 | package validations
2 |
3 | import (
4 | "strings"
5 |
6 | "github.com/astaxie/beego/validation"
7 | )
8 |
9 | func RoleValid(permIds string) string {
10 |
11 | valid := validation.Validation{}
12 | valid.Required(permIds, "权限集合")
13 |
14 | if valid.HasErrors() {
15 | if len(valid.Errors) > 0 {
16 | return strings.Split(valid.Errors[0].Key, ".")[0] + ":" + valid.Errors[0].Message
17 | }
18 | }
19 | return ""
20 | }
21 |
--------------------------------------------------------------------------------
/views/annotation/create/remark_note.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/annotation/create/trsp_modecd_template.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/backenduser/create_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/backenduser/edit_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/backenduser/index.html:
--------------------------------------------------------------------------------
1 |
30 |
31 |
--------------------------------------------------------------------------------
/views/ciq/index.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/clearance/create_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/clearance/edit_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/common/order_annotation/application_change.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/common/order_annotation/distribute.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/common/order_annotation/enclosure_check.html:
--------------------------------------------------------------------------------
1 |
19 |
--------------------------------------------------------------------------------
/views/common/order_annotation/reject.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/common/order_annotation/status_count.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/common/order_annotation/take.html:
--------------------------------------------------------------------------------
1 |
33 |
--------------------------------------------------------------------------------
/views/company/contact/create_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/company/contact/edit_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/company/foreign/create_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/company/foreign/edit_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/company/index.html:
--------------------------------------------------------------------------------
1 |
26 |
27 |
--------------------------------------------------------------------------------
/views/company/seal/create_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/company/seal/edit_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/handbook/account/show.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
@{{ .m.CompanyName }}
5 |
6 | 账册编号:@{{ .m.ContractNumber }}
7 |
8 |
9 |
10 |
13 |
14 |
15 |
16 |
17 |
18 | - 表头
19 | - 成品
20 | - 料件
21 | - 单损表
22 |
23 |
24 |
25 | @{{template "/handbook/account/show/gauge.html" .}}
26 |
27 |
28 | @{{template "/handbook/account/show/goods.html" .}}
29 |
30 |
31 | @{{template "/handbook/account/show/piece.html" .}}
32 |
33 |
34 |
35 | @{{template "/handbook/account/show/ullage.html" .}}
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/views/handbook/manual/show.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
@{{ .m.CompanyName }}
5 |
6 | 账册编号:@{{ .m.ContractNumber }}
7 |
8 |
9 |
10 |
13 |
14 |
15 |
16 |
17 |
18 | - 表头清单
19 | - 成品清单
20 | - 料件清单
21 | - 单损表
22 |
23 |
24 |
25 | @{{template "/handbook/manual/show/gauge.html" .}}
26 |
27 |
28 | @{{template "/handbook/manual/show/goods.html" .}}
29 |
30 |
31 | @{{template "/handbook/manual/show/piece.html" .}}
32 |
33 |
34 |
35 | @{{template "/handbook/manual/show/ullage.html" .}}
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/views/home/error.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
SOS
5 |
6 |
7 |
出现错误:
8 |
9 | @{{ .error }}
10 |
11 |
12 |
13 |
14 |
15 |
16 |
--------------------------------------------------------------------------------
/views/home/index_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/home/page404.html:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
404
11 |
12 |
13 |
页面不存在
14 |
15 |
16 | 请刷新后重试
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/views/order/create/bill_no.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/ciq_name.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/code_t_s.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/commodity_storehouse.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/elements_his.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/goods_attr_batch_data.html:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/views/order/create/goods_attr_data.html:
--------------------------------------------------------------------------------
1 |
18 |
--------------------------------------------------------------------------------
/views/order/create/goods_no.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/manual_no.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/mark_no.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/note_s.html:
--------------------------------------------------------------------------------
1 |
15 |
--------------------------------------------------------------------------------
/views/order/create/order_application_change.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/order_init.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/other_packs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/print.html:
--------------------------------------------------------------------------------
1 |
6 |
13 |
--------------------------------------------------------------------------------
/views/order/create/print_edit_invoice.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/print_save_invoice.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/remark_note.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/spec_decl_flag.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/create/traf_mode_template.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/pdf/common/recheck_delaration_header.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/order/pdf/compalte/footer.html:
--------------------------------------------------------------------------------
1 | @extends('layouts.app')
2 |
3 | @section('content')
4 |
5 | 第{{request('page')}}页 共{{request('topage')}}页
6 |
7 | @stop
--------------------------------------------------------------------------------
/views/order/pdf/pass/footer.html:
--------------------------------------------------------------------------------
1 | @extends('layouts.app')
2 |
3 | @section('content')
4 |
5 |
打印时间:{{ date('Y年m月d日 H:i:s',time()) }}
6 |
7 | 第{{request('page')}}页 / 共{{request('topage')}}页
8 |
9 |
10 |
11 | @stop
12 |
--------------------------------------------------------------------------------
/views/resource/create_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/resource/edit_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/resource/index.html:
--------------------------------------------------------------------------------
1 |
22 |
23 |
--------------------------------------------------------------------------------
/views/role/create.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/role/create_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/role/edit.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/role/edit_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/role/index.html:
--------------------------------------------------------------------------------
1 |
21 |
--------------------------------------------------------------------------------
/views/setting/edit_footerjs.html:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/views/setting/index.html:
--------------------------------------------------------------------------------
1 |
22 |
23 |
--------------------------------------------------------------------------------
/views/shared/app/globalcss.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/views/shared/app/globaljs.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/views/shared/layout_app.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | BeeCustom
9 |
10 |
11 | @{{template "shared/app/globalcss.html" }}
12 | @{{ .headcssjs }}
13 |
14 |
15 | @{{.LayoutContent}}
16 | @{{template "shared/app/globaljs.html"}}
17 | @{{ .footerjs }}
18 |
19 |
--------------------------------------------------------------------------------
/views/shared/layout_pdf.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | BeeCustom
9 |
10 |
11 | @{{template "shared/app/globalcss.html" }}
12 | @{{ .headcssjs }}
13 |
14 |
15 | @{{.LayoutContent}}
16 |
17 |
--------------------------------------------------------------------------------
/xlsx/xlsx.go:
--------------------------------------------------------------------------------
1 | package xlsx
2 |
3 | import (
4 | "errors"
5 | "fmt"
6 |
7 | "BeeCustom/utils"
8 | "github.com/360EntSecGroup-Skylar/excelize"
9 | )
10 |
11 | // BaseImport
12 | type BaseImport struct {
13 | FileNamePath string
14 | ExcelTitle map[string]string
15 | ExcelName string
16 | }
17 |
18 | // 导入基础参数 rows 文件内容
19 | func GetExcelRows(fileNamePath, excelName string) ([][]string, error) {
20 |
21 | f, err := excelize.OpenFile(fileNamePath)
22 | if err != nil {
23 | utils.LogDebug(fmt.Sprintf("GetExcelRows.OpenFile:%v", err))
24 | return nil, err
25 | }
26 |
27 | if f == nil {
28 | return nil, errors.New("excelize.OpenFile 出错")
29 | }
30 |
31 | rows := f.GetRows(excelName)
32 |
33 | return rows, nil
34 |
35 | }
36 |
37 | // 导入基础参数 Cell 文件内容
38 | func GetExcel(fileNamePath string) (*excelize.File, error) {
39 |
40 | f, err := excelize.OpenFile(fileNamePath)
41 | if err != nil {
42 | utils.LogDebug(fmt.Sprintf("GetExcelCell.OpenFile:%v", err))
43 | return nil, err
44 | }
45 |
46 | if f == nil {
47 | return nil, errors.New("excelize.OpenFile 出错")
48 | }
49 |
50 | return f, nil
51 | }
52 |
53 | // 设置值
54 | func FilpValueString(obj map[string]string) map[string]string {
55 | for i, v := range obj {
56 | obj[v] = i
57 | }
58 | return obj
59 | }
60 |
--------------------------------------------------------------------------------
/xmlTemplate/Failed.go:
--------------------------------------------------------------------------------
1 | package xmlTemplate
2 |
3 | import "encoding/xml"
4 |
5 | type Failed struct {
6 | Root xml.Name `xml:"Root"`
7 |
8 | ResultFlag string `xml:"resultFlag"`
9 | FailCode string `xml:"failCode"`
10 | FailInfo string `xml:"failInfo"`
11 | RetData string `xml:"retData"`
12 | }
13 |
--------------------------------------------------------------------------------
/xmlTemplate/annotationReturn.go:
--------------------------------------------------------------------------------
1 | package xmlTemplate
2 |
3 | import "encoding/xml"
4 |
5 | type CommonResponeMessage struct {
6 | CommonResponeMessage xml.Name `xml:"CommonResponeMessage"`
7 |
8 | SeqNo string `xml:"SeqNo"`
9 | EtpsPreentNo string `xml:"EtpsPreentNo"`
10 | CheckInfo string `xml:"CheckInfo"`
11 | DealFlag string `xml:"DealFlag"`
12 | }
13 |
14 | type ReturnPackage struct {
15 | Package xml.Name `xml:"Package"`
16 |
17 | Version string `xml:"EnvelopInfo>version"`
18 | EnvelopInfoBusinessId string `xml:"EnvelopInfo>business_id"`
19 | MessageId string `xml:"EnvelopInfo>message_id"`
20 | FileName string `xml:"EnvelopInfo>file_name"`
21 | MessageType string `xml:"EnvelopInfo>message_type"`
22 | SenderId string `xml:"EnvelopInfo>sender_id"`
23 | ReceiverId string `xml:"EnvelopInfo>receiver_id"`
24 | SendTime string `xml:"EnvelopInfo>send_time"`
25 |
26 | InvPreentNo string `xml:"DataInfo>BussinessData>INV202>InvApprResult>invPreentNo"`
27 | DataInfoBusinessId string `xml:"DataInfo>BussinessData>INV202>InvApprResult>businessId"`
28 | EntrySeqNo string `xml:"DataInfo>BussinessData>INV202>InvApprResult>entrySeqNo"`
29 | ManageResult string `xml:"DataInfo>BussinessData>INV202>InvApprResult>manageResult"`
30 | CreateDate string `xml:"DataInfo>BussinessData>INV202>InvApprResult>createDate"`
31 | Reason string `xml:"DataInfo>BussinessData>INV202>InvApprResult>reason"`
32 | }
33 |
--------------------------------------------------------------------------------
/xmlTemplate/cdata.go:
--------------------------------------------------------------------------------
1 | package xmlTemplate
2 |
3 | type Cdata struct {
4 | Value string `xml:",cdata"`
5 | }
6 |
--------------------------------------------------------------------------------
/xmlTemplate/orderReturn.go:
--------------------------------------------------------------------------------
1 | package xmlTemplate
2 |
3 | import "encoding/xml"
4 |
5 | // successed / failed:没有 SeqNo
6 | type DecImportResponse struct {
7 | DecImportResponse xml.Name `xml:"DecImportResponse"`
8 |
9 | ResponseCode string `xml:"ResponseCode"`
10 | ErrorMessage string `xml:"ErrorMessage"`
11 | ClientSeqNo string `xml:"ClientSeqNo"`
12 | SeqNo string `xml:"SeqNo"`
13 | }
14 |
15 | // receipt
16 | type DecResult struct {
17 | DecResult xml.Name `xml:"DEC_RESULT"`
18 |
19 | CusCiqNo string `xml:"CUS_CIQ_NO"`
20 | EntryId string `xml:"ENTRY_ID"`
21 | NoticeDate string `xml:"NOTICE_DATE"`
22 | Channel string `xml:"CHANNEL"`
23 | Note string `xml:"NOTE"`
24 | CustomMaster string `xml:"CUSTOM_MASTER"`
25 | IEDate string `xml:"I_E_DATE"`
26 | DDate string `xml:"D_DATE"`
27 | }
28 |
--------------------------------------------------------------------------------