CRMEB開發文檔及目錄結構

CRMEB 開發文檔及目錄結構 官網

ThinkPHP5的運行環境要求PHP5.5.9以上。
QQ羣:116279623

目錄結構

初始的目錄結構如下:

www  WEB部署目錄(或者子目錄)
├─application           應用目錄
│  ├─common             公共模塊目錄(可以更改)
│  ├─admin               後臺目錄
│  │  ├─controller      控制器目錄
│  │  │  ├─agent        代理商
│  │  │  ├─article      文章內容管理
│  │  │  ├─distributor  分銷
│  │  │  ├─finance      財務管理
│  │  │  ├─order       訂單管理
│  │  │  ├─record      數據統計
│  │  │  ├─routine     小程序後臺管理
│  │  │  ├─server      程序升級服務端管理
│  │  │  ├─setting     系統設置
│  │  │  ├─store       商城目錄
│  │  │  ├─system      系統維護
│  │  │  ├─ump         營銷管理
│  │  │  ├─user        用戶目錄
│  │  │  ├─wechat      微信管理目錄
│  │  │  ├─widget      公共調用
│  │  │  ├─merchant    商戶目錄
│  │  │  ├─AuthController.php        後臺基類
│  │  │  ├─Common.php                後臺公共方法類
│  │  │  ├─Login.php                 登錄
│  │  │  ├─Index.php                 後臺首頁
│  │  │  └─AuthController.php        後臺基類
│  │  ├─model           模型目錄
│  │  ├─view            視圖目錄
│  │  │  ├─index       首頁目錄
│  │  │  ├─login       登錄目錄
│  │  │  └─public      公共目錄
│  │  ├─common.php      後臺公共函數
│  │  └─config.php      模塊配置文件
│  │
│  ├─wap                 手機端目錄
│  │  ├─controller      控制器目錄
│  │  │  └─AuthController.php        wap基類
│  │  ├─model           模型目錄
│  │  │  ├─merchant    後臺目錄
│  │  │  ├─store       商城目錄
│  │  │  └─user        用戶目錄
│  │  ├─view           視圖目錄
│  │  │  ├─index       首頁目錄
│  │  │  ├─login       登錄目錄
│  │  │  ├─public      公共目錄
│  │  │  ├─store       商城目錄
│  │  │  ├─merchant    商戶目錄
│  │  │  ├─article     文章目錄
│  │  │  ├─my          用戶目錄
│  │  │  └─service     客服目錄
│  │  ├─common.php      wap公共函數
│  │  └─config.php      模塊配置文件
│  │
│  ├─command.php        命令行工具配置文件
│  ├─common.php         公共函數文件
│  ├─config.php         公共配置文件
│  ├─route.php          路由配置文件
│  ├─tags.php           應用行爲擴展定義文件
│  ├─version.php        版本文件
│  └─database.php       數據庫配置文件
│
├─public                公共目錄
│  ├─static              全局靜態文件目錄
│  │    ├─plug           第三方插件前後臺公用
│  │    ├─css            css前後臺公用
│  │    └─js             js前後臺公用
│  ├─system              後臺靜態文件目錄
│  │    ├─plug           第三方插件後臺
│  │    ├─js             後臺
│  │    ├─css            後臺
│  │    ├─images         後臺
│  │    ├─frame          後臺框架
│  │    ├─module         後臺功能模塊
│  │    ├─plug           後臺第三方插件
│  │    └─util           後臺自定義常用工具
│  ├─wap                  前臺靜態文件目錄
│  │   ├──first           模版1
│  ├─install              程序安裝文件目錄
│  ├─uploads              上傳文件目錄
│  ├─router.php           路由文件
│  ├─index.php            程序入口文件
│  ├─mysql.php            數據字典工具
│  ├─.htaccess            apache 環境僞靜態文件
│  ├─nginx.conf           nginx 環境僞靜態文件
│  └─web.config           iis 環境僞靜態文件
│
├─thinkphp              框架系統目錄
│  ├─lang               語言文件目錄
│  ├─library            框架類庫目錄
│  │  ├─think           Think類庫包目錄
│  │  └─traits          系統Trait目錄
│  │
│  ├─tpl                系統模板目錄
│  ├─base.php           基礎定義文件
│  ├─console.php        控制檯入口文件
│  ├─convention.php     框架慣例配置文件
│  ├─helper.php         助手函數文件
│  ├─phpunit.xml        phpunit配置文件
│  └─start.php          框架入口文件
│
├─extend                擴展類庫目錄
│  ├─api               公共api目錄
│  ├─basic             基礎繼承類目錄
│  ├─behavior          全局行爲目錄
│  │  ├─system        後臺行爲
│  │  ├─wechat        微信行爲
│  │  ├─merchant      商戶行爲
│  │  └─wap           wap端行爲
│  ├─service           全局服務目錄
│  └─traits            公共特性目錄
│
├─vendor               composer擴展類庫目錄
│  ├─xaboy             後臺快速創建表單類
│  ├─tp5er             數據庫備份類
│  ├─phpoffice         表格操作類
│  ├─overtrue          微信接口類
│  └─traits            公共特性目錄
│
├─runtime               應用的運行時目錄(可寫,可定製)
├─vendor                第三方類庫目錄(Composer依賴庫)
├─index.php             入口文件
├─composer.json         composer 定義文件
├─LICENSE.txt           授權說明文件
├─README.md             README 文件
├─think                 命令行入口文件
│  ├─index.php          入口文件
│  ├─router.php         快速測試文件
│  └─.htaccess          用於apache的重寫

賬號密碼

  • 前臺
    • 賬號: crmeb
    • 密碼: 123456
  • 後臺

微信配置

  • 授權接口 :
    • /wap/wechat/serve
  • 支付api接口 :
    • /wap/my/
    • /wap/my/order/uni/
    • /wap/store/confirm_order/cartId/
  • 模板消息
    • IT科技 | 互聯網|電子商務
    • IT科技 | IT軟件與服務

模板變量

  • {__ADMIN_PATH} => /public/system/
  • {__FRAME_PATH} => /public/system/frame/
  • {__PLUG_PATH} => /public/static/plug/
  • {__MODULE_PATH} => /public/system/module/
  • {__STATIC_PATH} => /public/static/
  • {__PUBLIC_PATH} => /public/
  • {__WAP_PATH} => /public/wap/

公共方法

  • \service\CacheService 系統緩存類
    // 設置系統緩存
    set($key, $value) 
    // 獲取系統緩存
    get($key, $default) 
    // 刪除指定系統緩存
    rm($key)  
    // 清空所有系統緩存
    clear() 
  • \service\ExportService 導出csv表格類
    // 導出Csv
    exportCsv($list 數據, $fliename 文件名, $header 表格頭部, $br 換行分隔符) 
  • \service\GroupDataService 組合數據類
    // 獲得組合數據信息+組合數據列表
    getGroupData($configName,$limit) 
    // 獲得組合數據列表
    getData($configName,$limit) 
  • \service\HookService 行爲擴展類
    // 資源監聽 自動註冊前置行爲操作 + 行爲操作
    resultListen($tag, $params, $extra = null, $once = false,$behavior = null 自動註冊類) 
    // 監聽後置行爲操作
    afterListen($tag, $params, $extra = null, $once = false, $behavior = null 自動註冊類) 
    // 監聽前置行爲操作
    beforeListen($tag,$params,$extra = null, $once = false, $behavior = null) 
    // 監聽行爲操作
    listen($tag, $params, $extra = null, $once = false, $behavior = null) 
    // 添加前置行爲
    addBefore($tag, $behavior, $first = false) 
    // 添加後置行爲
    addAfter($tag, $behavior, $first = false) 
    // 添加行爲
    add($tag, $behavior, $first = false) 
    
  • \service\HttpService Request請求類
    // 發送get請求
    getRequest($url, $data = array(), $header = false, $timeout = 10)
    // 發送post請求
    postRequest($url, $data = array(), $header = false, $timeout = 10)
    // 發送請求
    request($url, $method = 'get', $data = array(), $header = false, $timeout = 15)
    // 獲取請求head頭
    getHeaderStr():String
    // 獲取請求head頭
    getHeader():Array
  • \service\JsonService Json輸出類
    // 成功
    successful($msg = 'ok',$data=[])
    // 成功+狀態
    status($status,$msg,$result = [])
    // 失敗
    fail($msg,$data=[])
  • \service\QrcodeService 二維碼生成類
    // 獲取一個臨時二維碼,不存在自動生成
    getTemporaryQrcode($type,$id)
    // 獲取一個永久二維碼,不存在自動生成
    getForeverQrcode($type,$id)
    // 查詢已有的二維碼
    getQrcode($id,$type = 'id')
  • \service\SystemConfigService 系統配置類
    // 獲取一個系統配置,帶緩存
    config($key)
    // 獲取一個系統配置,不帶緩存
    get($key)
    // 獲取多個系統配置,不帶緩存
    more($keys = [])
    // 獲取所有系統配置,不帶緩存
    getAll()
  • \service\UploadService 文件上傳類
    // 單圖上傳
    image($fileName, $path, $moveName = true, $autoValidate=true, $root=null, $rule='uniqid')
    // 文件上傳
    file($fileName, $path, $moveName = true, $autoValidate=[], $root=null, $rule='uniqid')
    // 圖片壓縮
    thumb($filePath, $ratio=8, $pre='s_')
    // 獲取微信配置參數
    options()
    // 多客服消息轉發
    transfer($account = '')
    // 上傳永久素材接口
    materialService()
    // 上傳臨時素材接口
    materialTemporaryService()
    // 用戶接口
    userService()
    // 客服消息接口
    staffService()
    // 微信公衆號菜單接口
    menuService()
    // 微信二維碼生成接口
    qrcodeService()
    // 短鏈接生成接口
    urlService()
    // 用戶授權
    oauthService()
    // 模板消息接口
    noticeService()
    // 發送模板消息
    sendTemplate($openid,$templateId,array $data,$url = null,$defaultColor = null)
    // 支付接口
    paymentService()
    // 下載商戶流水
    downloadBill($day,$type = 'ALL')
    // 用戶標籤服務
    userTagService()
    // 用戶分組服務
    userGroupService()
    // 獲得jsSdk支付參數 
    jsPay($openid, $out_trade_no, $total_fee, $attach, $body, $detail='', $trade_type='JSAPI', $options = [])
    // 訂單退款
    payOrderRefund($orderNo, array $opt)
    // 支付成功回調
    handleNotify()
    // jssdk Config參數
    jsSdk($url = '')
    // 回覆文本消息
    textMessage($content)
    // 回覆圖片消息
    imageMessage($media_id)
    // 回覆視頻消息
    videoMessage($media_id, $title = '', $description = '...', $thumb_media_id = null)
    // 回覆聲音消息
    voiceMessage($media_id)
    // 回覆圖文消息
    newsMessage($title, $description = '...', $url = '', $image = '')
    // 回覆文章消息
    articleMessage($title, $thumb_media_id, $source_url, $content = '', $author = '', $digest = '', $show_cover_pic = 0, $need_open_comment = 0, $only_fans_can_comment = 1)
    // 回覆素材消息
    materialMessage($type, $media_id)
    // 作爲客服消息發送
    staffTo($to, $message)
    // 獲得用戶信息
    getUserInfo($openid)
  • \service\WechatTemplateService 微信模板消息類
    // 發送模板消息
    sendTemplate($openid,$templateId,array $data,$url = null,$defaultColor = '')
    // 給管理員發送模板消息
    sendAdminNoticeTemplate(array $data,$url = null,$defaultColor = '')

基礎繼承類

  • \basic\ModelBasic Model基礎類
    /**
     * 獲得Db並緩存
     * @param $name
     * @param bool $update
     * @return mixed|\think\db\Query
     */
    protected static function getDb($name, $update = false)
    
    /**
     * 設置錯誤信息
     * @param string $errorMsg
     * @return bool
     */
    protected static function setErrorInfo($errorMsg = self::DEFAULT_ERROR_MSG,$rollback = false)
    
    /**
     * 獲取錯誤信息
     * @param string $defaultMsg
     * @return string
     */
    public static function getErrorInfo($defaultMsg = self::DEFAULT_ERROR_MSG)
    
    /**
     * 開啓事務
     */
    public static function beginTrans()
    
    /**
     * 提交事務
     */
    public static function commitTrans()
    
    /**
     * 關閉事務
     */
    public static function rollbackTrans()

    /**
     * 根據結果提交或者滾回事務
     * @param $res
     */
    public static function checkTrans($res)
  • \basic\SystemBasic 後臺基礎類
    /**
     * 操作失敗提示框
     * @param string $msg 提示信息
     * @param string $backUrl 跳轉地址
     * @param string $title 標題
     * @param int $duration 持續時間
     * @return mixed
     */
    protected function failedNotice($msg = '操作失敗', $backUrl = 0, $info = '', $duration = 3)
    /**
     * 失敗提示一直持續
     * @param $msg
     * @param int $backUrl
     * @param string $title
     * @return mixed
     */
    protected function failedNoticeLast($msg = '操作失敗', $backUrl = 0, $info = '')
    
    /**
     * 操作成功提示框
     * @param string $msg 提示信息
     * @param string $backUrl 跳轉地址
     * @param string $title 標題
     * @param int $duration 持續時間
     * @return mixed
     */
    protected function successfulNotice($msg = '操作成功',$backUrl = 0,$info = '',$duration = 3)
    
    /**
     * 成功提示一直持續
     * @param $msg
     * @param int $backUrl
     * @param string $title
     * @return mixed
     */
    protected function successfulNoticeLast($msg = '操作成功',$backUrl = 0,$info = '')

    /**
     * 錯誤提醒頁面
     * @param string $msg
     * @param int $url
     */
    protected function failed($msg = '哎呀…親…您訪問的頁面出現錯誤', $url = 0)

    /**
     * 成功提醒頁面
     * @param string $msg
     * @param int $url
     */
    protected function successful($msg, $url = 0)
  • \basic\WapBasic Wap端基礎類
    /**
     * 操作失敗 彈窗提示 ajax請求時返回json數據
     * @param string $msg
     * @param int $url
     * @param string $title
     */
    protected function failed($msg = '操作失敗', $url = 0, $title='錯誤提示')
    
    /**
     * 操作成功 彈窗提示 ajax請求時返回json數據
     * @param $msg
     * @param int $url
     */
    protected function successful($msg = '操作成功', $url = 0, $title='成功提醒')
    
    /**
     * 微信用戶自動登陸 並返回openid
     * @return string $openid
     */
    protected function oauth()

公共特性類

  • \traits\ModelTrait Model公共特性
    /**
     * 添加一條數據
     * @param $data
     * @return object $model 數據對象
     */
    public static function set($data)
    
    /**
     * 添加多條數據
     * @param $group
     * @param bool $replace
     * @return mixed
     */
    public static function setAll($group, $replace = false)
    
    /**
     * 修改一條數據
     * @param $data
     * @param $id
     * @param $field
     * @return bool $type 返回成功失敗
     */
    public static function edit($data,$id,$field = null)
    
    /**
     * 查詢一條數據是否存在
     * @param $map
     * @param string $field
     * @return bool 是否存在
     */
    public static function be($map, $field = '')
    
    /**
     * 刪除一條數據
     * @param $id
     * @return bool $type 返回成功失敗
     */
    public static function del($id)
    
    /**
     * 分頁
     * @param null $model 模型
     * @param null $eachFn 處理結果函數
     * @param array $params 分頁參數
     * @param int $limit 分頁數
     * @return array
     */
    public static function page($model = null, $eachFn = null, $params = [], $limit = 20)
    
    /**
     * 高精度 加法
     * @param int|string $uid id
     * @param string $decField 相加的字段
     * @param float|int $dec 加的值
     * @param string $keyField id的字段
     * @param int $acc 精度
     * @return bool
     */
    public static function bcInc($key, $incField, $inc, $keyField = null, $acc=2)
    
    /**
     * 高精度 減法
     * @param int|string $uid id
     * @param string $decField 相減的字段
     * @param float|int $dec 減的值
     * @param string $keyField id的字段
     * @param bool $minus 是否可以爲負數
     * @param int $acc 精度
     * @return bool
     */
    public static function bcDec($key, $decField, $dec, $keyField = null, $minus = false, $acc=2)

Api接口

  • \Api\Express 快遞查詢
    /**
     * 快遞查詢
     * @param string $number 單號
     * @param string $type 快遞公司編號
     * @return bool
     */
    public static function query($number, $type = 'auto')
    
    /**
     * 獲得所有快遞公司信息
     * @return bool
     */
    public static function type()

後臺全局Api $eb

    // 查看圖片
    $eb.openImage(src)
    /**
     * 提示框 
     * @param type 'delete' 刪除提示 | 'error' 錯誤提示 | 'success' 成功提示 |
     * @param param
     * @param code
     */
    $eb.$swal(type,param,code)
    
    /**
     * 彈出框
     * @param type 'textarea' 多行輸入框輸入框
     * @param params
     * @param succFn
     */
    $eb.$alert(type,params,succFn)
    
    /**
     * message
     * @param type 'success' | 'warning' | 'error' | 'loading' | 'default'
     * @param config
     * @returns {*}
     */
    $eb.message(type,config)
    
    /**
     * notice
     * @param type 'success' | 'warning' | 'error' | 'default'
     * @param config
     * @returns {*}
     */
    $eb.notice(type,config)
    
    // 關閉notice
    $eb.noticeClose(name)

    // 銷燬notice
    $eb.noticeDestroy(name)
    
    /**
     * modal
     * @param type 'success' | 'warning' | 'error' | 'confirm' | 'default'
     * @param config
     * @returns {*}
     */
    $eb.modal(type,config)
    
    // 移除modal
    $eb.modalRemove
    
    
    /**
     * 加載條
     * @param type 'start' 開啓 | 'finish' 結束 | 'error' 錯誤 | 'update' 更新到指定percent
     * @param percent
     * @returns {*}
     */
     $eb.loading(type,percent)
     
     /**
      * 使用彈窗打開iframe頁面
      * @param title
      * @param src
      * @param opt
      * @returns index
      */
     $eb.createModalFrame(title,src,opt)
     
     /**
       * 關閉iframe頁面
       * @param name | index
       */
     $eb.closeModalFrame(name)
     
     /**
       * 全局layer
       */
     $eb.layer
     
     /**
       * 全局axios
       */
     $eb.axios

前端工具類

public/static/plug/helper.js 助手類

    // 信息提示  提前引入 layer插件
    $h.pushMsg  = function(msg,fn)
    // 同時只提示一次信息  提前引入 layer插件
    $h.pushMsgOnce = function(msg,fn)
    // 加載中   提前引入 layer插件
    $h.load = function()
    // 加載中 透明背景  提前引入 layer插件
    $h.loadFFF = function()
    // 關閉加載中
    $h.loadClear = function()
    // ajax文件上傳  提前引入 ajaxFileUpload插件
    $h.ajaxUploadFile = function (name,url,fnGroup)
    // 高精度除法
    $h.div = function(arg1,arg2)
    // 高精度乘法
    $h.Mul = function(arg1,arg2)
    // 高精度加法
    $h.Add = function(arg1,arg2)
    // 高精度減法
    $h.Sub = function(arg1,arg2)
    // cookie操作
    $h.cookie = function(key,val,time)
    // get參數獲取
    $h.getParmas = function getUrlParam(name)
    // tp5路由生成
    $h.U = function(opt = {c:'控制器',a:'方法',p:'路由參數',q:'get參數'});
    // 是否登陸中
    $h.isLogin = function()
    // 獲得未壓縮圖片url
    $h.unThumb = function (src)

public/static/plug/wxApi.js 微信api接口

public/static/plug/reg-verify.js 類型驗證

    // 是否網址
    isHref:function(test)
    // 是否爲郵箱
    isEmail:function(test)
    // 是否爲手機號
    isPhone:function(test)
    // 是否爲郵編
    isPostCode:function(test)
    // 是否爲空
    isEmpty:function(test)
    // 是否爲Array
    isArray:function(test)
    // 是否爲Object
    isObject:function(test)
    // 是否爲Undefined
    isUndefined:function(test)
    // 是否爲Null
    isNull:function(test)
    // 去除左右空格
    trim:function(test)

public/wap/first/crmeb/module/store.js api請求

    /**
     * 發送GET請求
     * @param url 地址
     * @param successCallback 成功回調 JsonService::successfly
     * @param errorCallback 失敗回調 JsonService::failed
     */
    baseGet:function(url,successCallback,errorCallback)
    
    /**
     * 發送POST請求 使用
     * @param url 地址
     * @param data post參數
     * @param successCallback 成功回調 JsonService::successfly
     * @param errorCallback 失敗回調 JsonService::failed
     */
    basePost:function(url,data,successCallback,errorCallback)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章