using Common.system; using System; using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Forms; using System.Windows.Input; using XHWK.Model; namespace XHWK.WKTool { /// /// 创建微课 /// public partial class CreateAMicroLessonWindow : Window { #region 字段 private FolderBrowserDialog ofd; private DialogResult result; #endregion 字段 /// /// 创建微课 /// public CreateAMicroLessonWindow() { InitializeComponent(); ResizeMode = ResizeMode.NoResize; txbStoragePath.Text = FileToolsCommon.GetConfigValue("VideoSavePath"); var versionCode = FileToolsCommon.GetConfigValue("VersionCode"); var versionName = FileToolsCommon.GetConfigValue("VersionName"); var isDebug = FileToolsCommon.GetConfigValue("IsDebug"); var debugStr = "测试版"; if (isDebug == "1") { debugStr = "测试版"; } else if (isDebug == "0") { debugStr = "正式版"; } versionLabel.Content = debugStr + " v" + versionName + "(" + versionCode + ")"; LoadingCarouseImg(); } #region 轮播图 /// /// 图片宽度,每次切换的宽度 /// private double ImgWidth = 502.00; /// /// 轮播时移动增加的宽度 /// private double ImgMove = 1; /// /// 当前展示的图片序号Index从0开始 /// private int ImgNumIndex = 0; /// /// 加载录播图 /// private void LoadingCarouseImg() { new Thread(new ThreadStart(new Action(() => { Thread.Sleep(3000); Dispatcher.Invoke(() => { ImgWidth = ImgCarouse1.ActualWidth; ImgMove = ImgWidth / 250.00; CarouseImg(); //timesCarouse = new System.Timers.Timer(2000); //timesCarouse.Elapsed += TimesCarouse_Elapsed; ; //timesCarouse.Start(); }); }))).Start(); } /// /// 轮播图 /// private void CarouseImg() { new Thread(new ThreadStart(new Action(() => { while (true) { for (double i = ImgMove; i < ImgWidth; i += ImgMove) { Dispatcher.Invoke(() => { if (Math.Abs(i + ImgMove) < ImgWidth) { //图片移动轮播 SplCarouse.Margin = new Thickness(SplCarouse.Margin.Left - ImgMove, 0, 0, 0); } else { if (ImgNumIndex >= 2) { ImgNumIndex = 0; SplCarouse.Margin = new Thickness(0, 0, 0, 0); } else { ImgNumIndex++; SplCarouse.Margin = new Thickness(-(ImgNumIndex * ImgWidth), 0, 0, 0); } } }); Thread.Sleep(3); } bool IsBreak = false; Dispatcher.Invoke(() => { if (this.Visibility != Visibility.Visible) { SplCarouse.Margin = new Thickness(0); IsBreak = true; } }); Thread.Sleep(5000); if (IsBreak) { break; } } }))).Start(); } /// /// 轮播图切换 /// /// /// /// /// private void TimesCarouse_Elapsed(object sender, System.Timers.ElapsedEventArgs e) { //SplCarouse //ImgCarouse1 } #endregion 轮播图 #region 事件 /// /// 关闭 /// /// /// /// /// private void BtnDown_Click(object sender, RoutedEventArgs e) { MessageBoxResult dr = MessageWindow.Show("确定退出系统?", "提示", MessageBoxButton.OKCancel); if (dr == MessageBoxResult.OK) { System.Environment.Exit(0); } else { return; } } /// /// 浏览 /// /// /// /// /// private void BtnBrowse_Click(object sender, RoutedEventArgs e) { //string desktopPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory); ofd = new FolderBrowserDialog(); result = ofd.ShowDialog(); if (result == System.Windows.Forms.DialogResult.OK) { if (ofd.SelectedPath != "") { txbStoragePath.Text = ofd.SelectedPath; } } } private bool IsPressButton = false; /// /// 开始 /// /// /// /// /// private async void BtnStart_Click(object sender, RoutedEventArgs e) { #region 防止连击 if (IsPressButton) { return; } else { IsPressButton = true; new Thread(new ThreadStart(new Action(() => { Thread.Sleep(500); IsPressButton = false; }))).Start(); } #endregion 防止连击 #region 合法性判断 if (string.IsNullOrWhiteSpace(txbExplainName.Text.Trim())) { MessageWindow.Show("讲解名称不可为空!"); return; } if (string.IsNullOrWhiteSpace(txbStoragePath.Text.Trim())) { MessageWindow.Show("路径不可为空!"); return; } try { FileToolsCommon.CreateDirectory(txbStoragePath.Text.Trim()); } catch (Exception ex) { MessageWindow.Show("路径无法访问,解决方案:\r\n1,检查路径是否可访问。\r\n2,关闭杀毒软件或信任软件。"); return; } #endregion 合法性判断 LblCreate.Visibility = Visibility.Visible; string wkpath = FileToolsCommon.GetLegalPath(txbStoragePath.Text) + txbExplainName.Text.Trim() + "/"; string StoragePath = txbStoragePath.Text; string WkName = txbExplainName.Text; await Task.Run(() => { try { //读取微课数据 APP.ReadWkData(wkpath); if (APP.WKData == null) { APP.WKData = new Model_WKData { WkPath = wkpath, WkName = WkName, WkCreateDateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }; } try { //创建文件夹 FileToolsCommon.CreateDirectory(APP.WKData.WkPath); FileToolsCommon.DeleteDirectory(wkpath + "temp"); FileToolsCommon.DeleteDirectory(wkpath + "temprs"); } catch (Exception ex) { LogHelper.WriteErrLog("【微课创建课程】文件夹创建删除失败:" + ex.Message, ex); } //存储文件 FileToolsCommon.SetConfigValue("VideoSavePath", StoragePath); APP.ReadDrawData(); } catch (Exception ex) { LogHelper.WriteErrLog("【微课创建课程】读取课堂数据失败:" + ex.Message, ex); } }); if (APP.W_XHMicroLessonSystemWindow == null) { APP.W_XHMicroLessonSystemWindow = new MainWindow(); } APP.W_XHMicroLessonSystemWindow.Show(); LblCreate.Visibility = Visibility.Hidden; Hide(); } /// /// 窗体移动 /// /// /// /// /// private void Window_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { DragMove(); } #endregion 事件 /// /// 检测APP更新 /// private void getNewApp() { new Thread(o => { //读取本地 APP.ReadServiceAddressData(); int versionThis = int.Parse(FileToolsCommon.GetConfigValue("VersionCode")); if (versionThis < 0) { //软件是否更新,版本号小于0不更新 return; } string url = APP.apiUrl + "/sapi/apprecord/get_new"; string result = HttpHelper.PostAndRespStr(url, "{}"); Model.ResultVo resultObj = JsonHelper.JsonToObj>(result); if (result != null && resultObj.code == 0) { if (resultObj.obj != null) { try { int versionCode = resultObj.obj.versioncode; if (versionThis < versionCode) { Dispatcher.Invoke(new Action(() => { string pathTemp = AppDomain.CurrentDomain.BaseDirectory + "Temp\\"; FileToolsCommon.CreateDirectory(pathTemp); appUpdateShow(resultObj.obj); })); } } catch (Exception ex) { LogHelper.WriteErrLog("【检查更新】(getNewApp)版本号错误:" + ex.Message, ex); } } } }).Start(); } /// /// 应用更新 /// /// /// private void appUpdateShow(Model_App app) { AppUpdateWin win = new AppUpdateWin(app) { Topmost = true, Owner = this }; win.Show(); } private void Window_Loaded(object sender, RoutedEventArgs e) { getNewApp(); } } }