| @@ -9,7 +9,7 @@ stdiet: | |||||||
|   # 实例演示开关 |   # 实例演示开关 | ||||||
|   demoEnabled: true |   demoEnabled: true | ||||||
|   # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) |   # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) | ||||||
|   profile: /Users/wonder/Documents/Workspaces/java/ShengtangManage/running/uploadPath |   profile: D:/ruoyi/uploadPath | ||||||
| #  profile: D:/ruoyi/uploadPath | #  profile: D:/ruoyi/uploadPath | ||||||
|   # 获取ip地址开关 |   # 获取ip地址开关 | ||||||
|   addressEnabled: false |   addressEnabled: false | ||||||
| @@ -19,7 +19,7 @@ stdiet: | |||||||
| # 开发环境配置 | # 开发环境配置 | ||||||
| server: | server: | ||||||
|   # 服务器的HTTP端口,默认为8080 |   # 服务器的HTTP端口,默认为8080 | ||||||
|   port: 8090 |   port: 8091 | ||||||
|   servlet: |   servlet: | ||||||
|     # 应用的访问路径 |     # 应用的访问路径 | ||||||
|     context-path: / |     context-path: / | ||||||
|   | |||||||
| @@ -152,6 +152,27 @@ public class SysNutritionalVideoController extends BaseController | |||||||
|         return AjaxResult.success(sysNutritionalVideos); |         return AjaxResult.success(sysNutritionalVideos); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 获取营养视频播放凭证 | ||||||
|  |      */ | ||||||
|  |     @PreAuthorize("@ss.hasPermi('custom:nutritionalVideo:query')") | ||||||
|  |     @GetMapping(value = "/getVideoPlayAuth/{id}") | ||||||
|  |     public AjaxResult getVideoPlayAuth(@PathVariable("id") Long id) | ||||||
|  |     { | ||||||
|  |         SysNutritionalVideo sysNutritionalVideos = sysNutritionalVideoService.selectSysNutritionalVideoById(id); | ||||||
|  |         if(sysNutritionalVideos != null && StringUtils.isNotEmpty(sysNutritionalVideos.getVideoId())){ | ||||||
|  |             try{ | ||||||
|  |                 String playAuth = AliyunVideoUtils.getVideoPlayAuth(sysNutritionalVideos.getVideoId()); | ||||||
|  |                 sysNutritionalVideos.setPlayAuth(playAuth); | ||||||
|  |             }catch (Exception e){ | ||||||
|  |                 e.printStackTrace(); | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         return AjaxResult.success(sysNutritionalVideos); | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * 根据视频videoId提交视频截图请求 |      * 根据视频videoId提交视频截图请求 | ||||||
|      */ |      */ | ||||||
|   | |||||||
| @@ -137,6 +137,29 @@ public class AliyunVideoUtils { | |||||||
|         return client.createUploadVideo(createUploadVideoRequest); |         return client.createUploadVideo(createUploadVideoRequest); | ||||||
|     } |     } | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 根据视频ID获取对应播放凭证 | ||||||
|  |      * @param videoId | ||||||
|  |      * @return | ||||||
|  |      * @throws Exception | ||||||
|  |      */ | ||||||
|  |     public  static String getVideoPlayAuth(String videoId) throws Exception{ | ||||||
|  |         com.aliyun.vod20170321.Client client = AliyunVideoUtils.createClient(); | ||||||
|  |         GetVideoPlayAuthRequest getVideoPlayAuthRequest = new GetVideoPlayAuthRequest() | ||||||
|  |                 .setVideoId(videoId); | ||||||
|  |         GetVideoPlayAuthResponse response = client.getVideoPlayAuth(getVideoPlayAuthRequest); | ||||||
|  |         if(response != null){ | ||||||
|  |             GetVideoPlayAuthResponseBody body = response.body; | ||||||
|  |             if(body != null && StringUtils.isNotEmpty(body.playAuth)){ | ||||||
|  |                 return body.playAuth; | ||||||
|  |             } | ||||||
|  |         } | ||||||
|  |         return null; | ||||||
|  |     } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|     /** |     /** | ||||||
|      * |      * | ||||||
|      * @param key |      * @param key | ||||||
|   | |||||||
| @@ -74,6 +74,9 @@ public class SysNutritionalVideo extends BaseEntity | |||||||
|  |  | ||||||
|     private String playUrl; |     private String playUrl; | ||||||
|  |  | ||||||
|  |     //播放凭证 | ||||||
|  |     private String playAuth; | ||||||
|  |  | ||||||
|     //文件名称 |     //文件名称 | ||||||
|     private String fileName; |     private String fileName; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -146,6 +146,14 @@ public class SysWxUserLog extends BaseEntity | |||||||
|     @Excel(name = "点评") |     @Excel(name = "点评") | ||||||
|     private String comment; |     private String comment; | ||||||
|  |  | ||||||
|  |     /** 点赞数量 */ | ||||||
|  |     @Excel(name = "点赞数量") | ||||||
|  |     private Long thumbsupNum; | ||||||
|  |  | ||||||
|  |     /** 健康宣言 */ | ||||||
|  |     @Excel(name = "健康宣言") | ||||||
|  |     private String healthManifesto; | ||||||
|  |  | ||||||
|     /** 删除标识 0未删除 1已删除 */ |     /** 删除标识 0未删除 1已删除 */ | ||||||
|     private Long delFlag; |     private Long delFlag; | ||||||
|  |  | ||||||
|   | |||||||
| @@ -0,0 +1,65 @@ | |||||||
|  | package com.stdiet.custom.dto.response; | ||||||
|  |  | ||||||
|  | import lombok.Data; | ||||||
|  |  | ||||||
|  | import java.math.BigDecimal; | ||||||
|  | import java.util.Date; | ||||||
|  | import java.util.List; | ||||||
|  | import java.util.Map; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * 打卡社区 | ||||||
|  |  */ | ||||||
|  | @Data | ||||||
|  | public class CommunityPunchReponse { | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 微信openid | ||||||
|  |      */ | ||||||
|  |     private String openid; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 客户ID | ||||||
|  |      */ | ||||||
|  |     private Long cusId; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 昵称 | ||||||
|  |      */ | ||||||
|  |     private String nickName; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 头像 | ||||||
|  |      */ | ||||||
|  |     private String avatarUrl; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 打卡日期时间 | ||||||
|  |      */ | ||||||
|  |     private Date logTime; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 当天打卡体重 | ||||||
|  |      */ | ||||||
|  |     private BigDecimal weight; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 营养师评论 | ||||||
|  |      */ | ||||||
|  |     private String comment; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 点赞数 | ||||||
|  |      */ | ||||||
|  |     private String thumbsupNum; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 健康宣言 | ||||||
|  |      */ | ||||||
|  |     private String healthManifesto; | ||||||
|  |  | ||||||
|  |     /** | ||||||
|  |      * 近期打卡体重信息  logTime: 打卡日期  weight: 体重 | ||||||
|  |      */ | ||||||
|  |     private List<Map<String,Object>> recentWeight; | ||||||
|  | } | ||||||
| @@ -38,6 +38,8 @@ | |||||||
|         <result property="targetWeight"    column="target_weight"    /> |         <result property="targetWeight"    column="target_weight"    /> | ||||||
|         <result property="executionScore"    column="execution_score"    /> |         <result property="executionScore"    column="execution_score"    /> | ||||||
|         <result property="comment"    column="comment"    /> |         <result property="comment"    column="comment"    /> | ||||||
|  |         <result property="thumbsupNum"    column="thumbsup_num"    /> | ||||||
|  |         <result property="healthManifesto"    column="health_manifesto"    /> | ||||||
|         <result property="delFlag"    column="del_flag"    /> |         <result property="delFlag"    column="del_flag"    /> | ||||||
|         <!-- 非持久字段 --> |         <!-- 非持久字段 --> | ||||||
|         <result property="customerName" column="customer_name"></result> |         <result property="customerName" column="customer_name"></result> | ||||||
| @@ -71,6 +73,8 @@ | |||||||
|         <result property="targetWeight"    column="target_weight"    /> |         <result property="targetWeight"    column="target_weight"    /> | ||||||
|         <result property="executionScore"    column="execution_score"    /> |         <result property="executionScore"    column="execution_score"    /> | ||||||
|         <result property="comment"    column="comment"    /> |         <result property="comment"    column="comment"    /> | ||||||
|  |         <result property="thumbsupNum"    column="thumbsup_num"    /> | ||||||
|  |         <result property="healthManifesto"    column="health_manifesto"    /> | ||||||
|     </resultMap> |     </resultMap> | ||||||
|  |  | ||||||
|     <sql id="selectSysWxUserLogVo"> |     <sql id="selectSysWxUserLogVo"> | ||||||
| @@ -168,6 +172,8 @@ | |||||||
|             <if test="targetWeight != null">target_weight,</if> |             <if test="targetWeight != null">target_weight,</if> | ||||||
|             <if test="executionScore != null">execution_score,</if> |             <if test="executionScore != null">execution_score,</if> | ||||||
|             <if test="comment != null">comment,</if> |             <if test="comment != null">comment,</if> | ||||||
|  |             <if test="thumbsupNum != null">thumbsup_num,</if> | ||||||
|  |             <if test="healthManifesto != null">health_manifesto,</if> | ||||||
|             <if test="delFlag != null">del_flag,</if> |             <if test="delFlag != null">del_flag,</if> | ||||||
|         </trim> |         </trim> | ||||||
|         <trim prefix="values (" suffix=")" suffixOverrides=","> |         <trim prefix="values (" suffix=")" suffixOverrides=","> | ||||||
| @@ -202,6 +208,8 @@ | |||||||
|             <if test="targetWeight != null">target_weight = #{targetWeight},</if> |             <if test="targetWeight != null">target_weight = #{targetWeight},</if> | ||||||
|             <if test="executionScore != null">execution_score = #{executionScore},</if> |             <if test="executionScore != null">execution_score = #{executionScore},</if> | ||||||
|             <if test="comment != null">comment = #{comment},</if> |             <if test="comment != null">comment = #{comment},</if> | ||||||
|  |             <if test="thumbsupNum != null">#{thumbsupNum},</if> | ||||||
|  |             <if test="healthManifesto != null">#{healthManifesto},</if> | ||||||
|             <if test="delFlag != null">del_flag = #{delFlag},</if> |             <if test="delFlag != null">del_flag = #{delFlag},</if> | ||||||
|         </trim> |         </trim> | ||||||
|     </insert> |     </insert> | ||||||
| @@ -240,6 +248,8 @@ | |||||||
|             <if test="targetWeight != null">target_weight = #{targetWeight},</if> |             <if test="targetWeight != null">target_weight = #{targetWeight},</if> | ||||||
|             <if test="executionScore != null">execution_score = #{executionScore},</if> |             <if test="executionScore != null">execution_score = #{executionScore},</if> | ||||||
|             <if test="comment != null">comment = #{comment},</if> |             <if test="comment != null">comment = #{comment},</if> | ||||||
|  |             <if test="thumbsupNum != null">thumbsup_num = #{thumbsupNum},</if> | ||||||
|  |             <if test="healthManifesto != null">health_manifesto = #{healthManifesto},</if> | ||||||
|             <if test="delFlag != null">del_flag = #{delFlag},</if> |             <if test="delFlag != null">del_flag = #{delFlag},</if> | ||||||
|         </trim> |         </trim> | ||||||
|         where id = #{id} |         where id = #{id} | ||||||
| @@ -307,4 +317,18 @@ | |||||||
|         order by wxlog.log_time desc |         order by wxlog.log_time desc | ||||||
|     </select> |     </select> | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |     <!--  查询打卡社区内容  --> | ||||||
|  |     <!--<select id=""> | ||||||
|  |          select wxinfo.openid,wxinfo.cus_id,wxinfo.nick_name,wxinfo.avatar_url,wxlog.log_time,wxlog.weight,wxlog.comment,wxlog.thumbsup_num,wxlog.health_manifesto from sys_wx_user_log wxlog | ||||||
|  |          left join sys_wx_user_info wxinfo on wxinfo.openid  = wxlog.openid | ||||||
|  |          where wxlog.del_flag = 0 | ||||||
|  |          <if test="logTime"> | ||||||
|  |              and wxlog.log_time >= #{logTime} | ||||||
|  |          </if> | ||||||
|  |          order by wxlog.log_time desc | ||||||
|  |     </select>--> | ||||||
|  |  | ||||||
| </mapper> | </mapper> | ||||||
| @@ -13,9 +13,12 @@ | |||||||
|       rel="stylesheet" |       rel="stylesheet" | ||||||
|       href="//at.alicdn.com/t/font_2343184_w0runuauamq.css" |       href="//at.alicdn.com/t/font_2343184_w0runuauamq.css" | ||||||
|     /> |     /> | ||||||
|  |     <link rel="stylesheet" href="https://g.alicdn.com/de/prismplayer/2.9.6/skins/default/aliplayer-min.css" /> | ||||||
|     <script src="../lib/aliyunVideo/es6-promise.min.js"></script> |     <script src="../lib/aliyunVideo/es6-promise.min.js"></script> | ||||||
|     <script src="../lib/aliyunVideo/aliyun-oss-sdk-6.13.0.min.js"></script> |     <script src="../lib/aliyunVideo/aliyun-oss-sdk-6.13.0.min.js"></script> | ||||||
|     <script src="../lib/aliyunVideo/aliyun-upload-sdk-1.5.2.min.js"></script> |     <script src="../lib/aliyunVideo/aliyun-upload-sdk-1.5.2.min.js"></script> | ||||||
|  |     <script src="https://g.alicdn.com/de/prismplayer/2.9.6/aliplayer-min.js"></script> | ||||||
|  |  | ||||||
|      |      | ||||||
|     <title><%= webpackConfig.name %></title> |     <title><%= webpackConfig.name %></title> | ||||||
|     <style> |     <style> | ||||||
|   | |||||||
| @@ -96,5 +96,14 @@ export function getVideoSnapshot(id) { | |||||||
|   }) |   }) | ||||||
| } | } | ||||||
|  |  | ||||||
|  | // 查询营养视频播放凭证 | ||||||
|  | export function getVideoPlayAuth(id) { | ||||||
|  |   return request({ | ||||||
|  |     url: '/custom/nutritionalVideo/getVideoPlayAuth/' + id, | ||||||
|  |     method: 'get' | ||||||
|  |   }) | ||||||
|  | } | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|  |  | ||||||
|   | |||||||
| @@ -275,14 +275,14 @@ | |||||||
|             </el-date-picker> |             </el-date-picker> | ||||||
|           </el-form-item> |           </el-form-item> | ||||||
|         </el-col> |         </el-col> | ||||||
|         <el-col :span="8"> |         <!--<el-col :span="8"> | ||||||
|           <el-form-item label="食谱是否连续" prop="recipesPlanContinue"> |           <el-form-item label="食谱是否连续" prop="recipesPlanContinue"> | ||||||
|             <el-select v-model="form.recipesPlanContinue" placeholder="请选择食谱连续状态"> |             <el-select v-model="form.recipesPlanContinue" placeholder="请选择食谱连续状态"> | ||||||
|               <el-option label="是" :value="parseInt('1')"></el-option> |               <el-option label="是" :value="parseInt('1')"></el-option> | ||||||
|               <el-option label="否" :value="parseInt('0')"></el-option> |               <el-option label="否" :value="parseInt('0')"></el-option> | ||||||
|             </el-select> |             </el-select> | ||||||
|           </el-form-item> |           </el-form-item> | ||||||
|         </el-col> |         </el-col>--> | ||||||
|         <el-col :span="10"> |         <el-col :span="10"> | ||||||
|           <el-form-item label="服务开始时间" prop="startTime" label-width="180"> |           <el-form-item label="服务开始时间" prop="startTime" label-width="180"> | ||||||
|             <el-date-picker |             <el-date-picker | ||||||
|   | |||||||
							
								
								
									
										63
									
								
								stdiet-ui/src/components/VideoPlay/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										63
									
								
								stdiet-ui/src/components/VideoPlay/index.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,63 @@ | |||||||
|  | <template> | ||||||
|  |   <el-dialog | ||||||
|  |     :title="title" | ||||||
|  |     :visible.sync="visible" | ||||||
|  |     width="680px" | ||||||
|  |     append-to-body | ||||||
|  |     :close-on-click-modal="false" | ||||||
|  |   > | ||||||
|  |  | ||||||
|  |   <VideoTemplate v-if="visible" :videoId="video.videoId" :playAuth="video.playAuth" ></VideoTemplate> | ||||||
|  |      | ||||||
|  |     <div slot="footer" class="dialog-footer"> | ||||||
|  |       <el-button @click="cancel">取 消</el-button> | ||||||
|  |     </div> | ||||||
|  |   </el-dialog> | ||||||
|  | </template> | ||||||
|  | <script> | ||||||
|  |  | ||||||
|  | import VideoTemplate from "@/components/VideoPlay/video"; | ||||||
|  | export default { | ||||||
|  |   name: "VideoPlay", | ||||||
|  |   props: { | ||||||
|  |      | ||||||
|  |   }, | ||||||
|  |   data() { | ||||||
|  |     return { | ||||||
|  |       title: "", | ||||||
|  |       visible:false, | ||||||
|  |       player: null, | ||||||
|  |       video: null | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |    | ||||||
|  |   }, | ||||||
|  |   computed: { | ||||||
|  |      | ||||||
|  |   }, | ||||||
|  |   components:{ | ||||||
|  |       VideoTemplate | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     showDialog(video) { | ||||||
|  |       this.player = null; | ||||||
|  |       this.video = video; | ||||||
|  |       this.title = this.video.title; | ||||||
|  |       this.visible = true; | ||||||
|  |       /*let self = this; | ||||||
|  |       let t = setTimeout(function(){ | ||||||
|  |           self.createPlayer(); | ||||||
|  |       },500);*/ | ||||||
|  |     }, | ||||||
|  |     // 取消按钮 | ||||||
|  |     cancel() { | ||||||
|  |       this.visible = false; | ||||||
|  |       // this.reset(); | ||||||
|  |     }, | ||||||
|  |   }, | ||||||
|  |   watch: { | ||||||
|  |  | ||||||
|  |   } | ||||||
|  | }; | ||||||
|  | </script> | ||||||
							
								
								
									
										78
									
								
								stdiet-ui/src/components/VideoPlay/video/index.vue
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										78
									
								
								stdiet-ui/src/components/VideoPlay/video/index.vue
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,78 @@ | |||||||
|  | <template> | ||||||
|  | <div> | ||||||
|  |   <div class="prism-player" id="J_prismPlayer" :style="'height:'+height+'px;width:'+width+'px'"></div> | ||||||
|  | </div> | ||||||
|  |    | ||||||
|  | </template> | ||||||
|  | <script> | ||||||
|  |  | ||||||
|  | export default { | ||||||
|  |   name: "video", | ||||||
|  |   props: { | ||||||
|  |     videoId: { | ||||||
|  |         type: String, | ||||||
|  |         default: '' | ||||||
|  |     }, | ||||||
|  |     playAuth: { | ||||||
|  |         type: String, | ||||||
|  |         default: '' | ||||||
|  |     }, | ||||||
|  |     width:{ | ||||||
|  |         type: Number, | ||||||
|  |         default: 630 | ||||||
|  |     }, | ||||||
|  |     height:{ | ||||||
|  |         type: Number, | ||||||
|  |         default: 350 | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   data() { | ||||||
|  |     return{ | ||||||
|  |         player: null | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   created() { | ||||||
|  |        | ||||||
|  |       | ||||||
|  |   }, | ||||||
|  |   mounted(){ | ||||||
|  |       this.$nextTick(function(){ | ||||||
|  |          this.createPlayer(); | ||||||
|  |       }); | ||||||
|  |   }, | ||||||
|  |   computed: { | ||||||
|  |       | ||||||
|  |   }, | ||||||
|  |   methods: { | ||||||
|  |     createPlayer(){ | ||||||
|  |         this.player = new Aliplayer({ | ||||||
|  |             /*id: 'J_prismPlayer', | ||||||
|  |             width: '100%', | ||||||
|  |             autoplay: false, | ||||||
|  |             //支持播放地址播放,此播放优先级最高 | ||||||
|  |             source : this.video.playUrl*/ | ||||||
|  |             "id": "J_prismPlayer", | ||||||
|  |             "vid": this.videoId, | ||||||
|  |             "playauth": this.playAuth, | ||||||
|  |             "qualitySort": "asc", | ||||||
|  |             "format": "mp4", | ||||||
|  |             "mediaType": "video", | ||||||
|  |             "width": "100%", | ||||||
|  |             "height": "500px", | ||||||
|  |             "autoplay": false, | ||||||
|  |             "isLive": false, | ||||||
|  |             "rePlay": false, | ||||||
|  |             "playsinline": true, | ||||||
|  |             "preload": true, | ||||||
|  |             "controlBarVisibility": "hover", | ||||||
|  |             "useH5Prism": true | ||||||
|  |         },function(){ | ||||||
|  |              | ||||||
|  |         }) | ||||||
|  |     } | ||||||
|  |   }, | ||||||
|  |   watch: { | ||||||
|  |  | ||||||
|  |   } | ||||||
|  | }; | ||||||
|  | </script> | ||||||
| @@ -208,7 +208,7 @@ | |||||||
|             size="mini" |             size="mini" | ||||||
|             type="text" |             type="text" | ||||||
|             icon="el-icon-edit" |             icon="el-icon-edit" | ||||||
|             @click="getVideoPlayUrl(scope.row.id)" |             @click="showVideoPlay(scope.row)" | ||||||
|             v-hasPermi="['custom:nutritionalVideo:query']" |             v-hasPermi="['custom:nutritionalVideo:query']" | ||||||
|             >播放</el-button |             >播放</el-button | ||||||
|           > |           > | ||||||
| @@ -360,6 +360,9 @@ | |||||||
|  |  | ||||||
|     <!-- 手动选择封面 --> |     <!-- 手动选择封面 --> | ||||||
|     <VideoSelectCover ref="videoSelectCoverRef"></VideoSelectCover> |     <VideoSelectCover ref="videoSelectCoverRef"></VideoSelectCover> | ||||||
|  |  | ||||||
|  |     <!-- 视频播放 --> | ||||||
|  |     <VideoPlay ref="videoPlayRef"></VideoPlay> | ||||||
|   </div> |   </div> | ||||||
| </template> | </template> | ||||||
|  |  | ||||||
| @@ -373,6 +376,7 @@ import { | |||||||
|   exportNutritionalVideo, |   exportNutritionalVideo, | ||||||
|   updateWxShow, |   updateWxShow, | ||||||
|   getVideoPlayUrlById, |   getVideoPlayUrlById, | ||||||
|  |   getVideoPlayAuth | ||||||
| } from "@/api/custom/nutritionalVideo"; | } from "@/api/custom/nutritionalVideo"; | ||||||
| import { getAllClassify } from "@/api/custom/videoClassify"; | import { getAllClassify } from "@/api/custom/videoClassify"; | ||||||
| import UploadVideo from "@/components/UploadVideo"; | import UploadVideo from "@/components/UploadVideo"; | ||||||
| @@ -383,6 +387,7 @@ import Treeselect from "@riophae/vue-treeselect"; | |||||||
| import "@riophae/vue-treeselect/dist/vue-treeselect.css"; | import "@riophae/vue-treeselect/dist/vue-treeselect.css"; | ||||||
| import IconSelect from "@/components/IconSelect"; | import IconSelect from "@/components/IconSelect"; | ||||||
| import VideoSelectCover from "@/components/VideoSelectCover"; | import VideoSelectCover from "@/components/VideoSelectCover"; | ||||||
|  | import VideoPlay from "@/components/VideoPlay"; | ||||||
| export default { | export default { | ||||||
|   name: "NutritionalVideo", |   name: "NutritionalVideo", | ||||||
|   data() { |   data() { | ||||||
| @@ -452,6 +457,7 @@ export default { | |||||||
|     Treeselect, |     Treeselect, | ||||||
|     IconSelect, |     IconSelect, | ||||||
|     VideoSelectCover, |     VideoSelectCover, | ||||||
|  |     VideoPlay | ||||||
|   }, |   }, | ||||||
|   methods: { |   methods: { | ||||||
|     /** 查询营养视频列表 */ |     /** 查询营养视频列表 */ | ||||||
| @@ -649,6 +655,16 @@ export default { | |||||||
|         }) |         }) | ||||||
|         .catch(function () {}); |         .catch(function () {}); | ||||||
|     }, |     }, | ||||||
|  |     showVideoPlay(row){ | ||||||
|  |       getVideoPlayAuth(row.id).then((response) => { | ||||||
|  |         row.playAuth = response.data.playAuth;; | ||||||
|  |         if (row.playAuth != undefined && row.playAuth != null) { | ||||||
|  |            this.$refs.videoPlayRef.showDialog(row); | ||||||
|  |         }else{ | ||||||
|  |           this.msgError("视频资源不存在"); | ||||||
|  |         } | ||||||
|  |       }); | ||||||
|  |     } | ||||||
|   }, |   }, | ||||||
| }; | }; | ||||||
| </script> | </script> | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user