Project

General

Profile

追加功能 #471

Updated by Zhongbao Ye 11 days ago

*Background* 
 # New requirement for v4.0 OTS 
   See: OneDrive\赤蓝商贸(上海)有限公司\Shanghai Group - IT\开发相关\OTS V4\开发需求 

 *Task List* 
 * Design Files 和 Product Proof Images 
 | 对比             | Design Files                                                                    | Product Proof Images       | 
 | 使用方式         | Dropzone                                                                        | Dropzone                   | 
 | 删除方式         | 逻辑删除 `is_delete` | 物理删除 | 
 | 预览支持         | 图片、PDF 可预览;其他文件显示图标                                              | 图片可预览(经压缩处理) | 
 | 上传过程         | 上传中禁用 Save;上传完成后启用                                                 | 同左侧逻辑 | 
 | 文件名是否转换 | 不转换 | 转换 → `{file_index}-{order_id}-{order_product_id}-{original_name}` | 
 | 临时存储路径     | - New order:`storage/upload/order/{year}/temp/customer_{customer_id}/` 
                    - Edit order - Desktop order detail:`storage/upload/order/{year}/temp/order_{order_id}/`              
                    - Edit order - Mobile order list:`storage/upload/order/{year}/order_{order_id}/`                   order:`storage/upload/order/{year}/temp/order_{order_id}/`              | - New Added order:`storage/image/cache/order/{year}/temp/customer_{customer_id}/` 
                                                                                                                        
                                                                                                    - Edit order:`storage/image/cache/order/{year}/temp/order_{order_id}/` 
                                                                                                                        
                                                                                                    - New order(原始图片):`storage/image/order/{year}/temp/customer_{order_id}/`(压缩后删除)  
                                                                                                                        - Edit order - Desktop order detail(原始图片):`storage/image/order/{year}/temp/order_{order_id}/`(压缩后删除)  
                                                                                                                        - Edit order - Mobile order list(原始图片):`storage/image/order/{year}/order_{order_id}/`(压缩后删除) 原始图片:`storage/image/order/`(压缩后删除) | 
 | 最终存储路径     | `storage/upload/order/{year}/order_{order_id}/`                                 | `storage/image/cache/order/{year}/order_{order_id}/` | 
 | 预览名称格式     | `{自然索引.} {文件名}`                                                          | `{自然索引.} {产品名称}` | 
 | 图片尺寸处理     | 不需要压缩 | 自动按比例压缩(最多 3 张)支持尺寸: 
                               • 1:1 → 1000×1000 
                               • 4:3 → 1000×750 
                               • 3:4 → 750×1000 
                               • 16:9 → 1280×720 
                               • 9:16 → 720×1280 
                               • 20:9 → 2400×1080 
                               • 9:20 → 1080×2400 | 
 | 配置参数         | max_file_size => 999MB 
                    file_ext_allowed => '.pdf','.zip','.rar','.jpg','.png','.ai','.xlsx','.eps','.7z','.xls','.jpeg','.tif', 
           '.otf','.txt','.csv','.ttf','.jfif','.psd','.cdr','.partial','.svg','.webp','.bmp','.doc','.docx','.gif','.ods','.mp4' '.pdf','.zip','.rar','.jpg','.png','.ai','.xlsx','.eps','.7z','.xls','.jpeg','.tif','.otf','.txt','.csv','.ttf','.jfif','.psd','.cdr','.partial','.svg','.webp','.bmp','.doc','.docx','.gif','.ods','.mp4' 
                    compress_image => false 
                    max_files => 0 //0 means unlimited 
                    root_dir =>    storage/upload/ 
                                                                                                  | max_file_size => 10MB 
                                                                                                    file_ext_allowed => '.jpg','.jpeg','.png','.image/*' 
                                                                                                    compress_image => true 
                                                                                                    max_files => 3 
                                                                                                    root_dir =>    storage/image| 


 *Questions:* 

 *v4 coding standard:* 
 # Git提交 
   #xxx(redmine number): xxx(redmine title) - xxx(任意:补充内容) 
    
 # 代码规范 
  2.1: 结构:Public -> Protected -> Private 
  2.2: 其他代码规范同SBX 
    
 # MVCL的v3/v4物理分割 
  3.1: v3/v4的代码分为两个文件,比如: order.php, order_v3.php 
  3.2: system也分为两个文件,暂时只有一个user_v3 
     - Note: front的$this->user在v4中会替换为$this->customer, 即v4中需要清除$this->user 
  3.3: 代码中,区分v3/v4的调用,比如:new User_V3 
   
 # 前台代码 
   twig, js, css (js, css尽量写在单独的css文件中) 
     
 # 后台代码 
   MVCL    (L:en,cn) 
     
 # 注释 
 ## 类名: 
 <pre> 
 /** 
  * xxx 
  * 
  * @copyright RedBlue-OTS 2024 
  * @version v4 
  * 
  */ 
 </pre> 
 ## 函数名:参数类型 + 返回值类型 
 <pre> 
	 /** 
	  * xxx 
	  * 
	  * @param    xxx $xxx 
	  * @param    xxx $xxx 
	  * @return xxx 
	  */ 
 </pre> 

 *Output* 
 * Report and Solution 

 *Others*

Back