示例#1
0
        private void UserLogin(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
        {
            ResponseInfo response = new ResponseInfo();

            try
            {
                //获取js传入的参数,需对应到参数类型
                if (e.Arguments.Length > 0)
                {
                    if (e.Arguments[0].StringValue == "test" && e.Arguments[1].StringValue == "123")
                    {
                        UserInfo user = new UserInfo();
                        user.userName    = "******";
                        user.token       = "JWT.token";
                        response.success = true;
                        response.data    = JsonConvert.SerializeObject(user);
                        e.SetReturnValue(JsonConvert.SerializeObject(response));//返回数据
                    }
                    else
                    {
                        response.success = false;
                        response.errMsg  = "用户名或密码错误!";
                        e.SetReturnValue(JsonConvert.SerializeObject(response));
                    }
                }
            }
            catch (Exception ex)
            {
                response.success = false;
                response.errMsg  = ex.Message;
                e.SetReturnValue(JsonConvert.SerializeObject(response));
            }
        }
示例#2
0
        private void OpenFile(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
        {
            //打开文档的逻辑与保存文档的逻辑相似,这里就不再阐述

            var    contents = e.Arguments.FirstOrDefault(p => p.IsString);
            string result   = null;

            if (contents != null)
            {
                result = MainFrame.OpenFile(contents.StringValue);
            }

            if (!string.IsNullOrEmpty(result))
            {
                e.SetReturnValue(this.GetCfrObject(new
                {
                    success  = true,
                    fileName = MainFrame.CurrentFile.Name,
                    contents = result
                }));
            }
            else
            {
                e.SetReturnValue(this.GetCfrObject(new
                {
                    success = false
                }));
            }
        }
示例#3
0
        /// <summary>
        /// 保存文档
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void SaveFile(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
        {
            //从JS环境拿到第一个类型为String的参数,因为这个就是我们的文档
            var contents = e.Arguments.FirstOrDefault(p => p.IsString);
            var result   = false;

            if (contents != null)
            {
                //调用主窗体的SaveFile方法来保存文档
                result = MainFrame.SaveFile(contents.StringValue);
            }

            if (result)
            {
                //如果保存成功就返回success状态,并返回保存文档的名称
                e.SetReturnValue(this.GetCfrObject(new
                {
                    success  = true,
                    fileName = MainFrame.CurrentFile.Name
                }));
            }
            else
            {
                //如果保存失败就返回保存失败的状态
                e.SetReturnValue(this.GetCfrObject(new
                {
                    success = false
                }));
            }
        }
示例#4
0
        private void JsCodeEditorObject_ExecuteOpen(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
        {
            var result = parentForm.OpenFile();

            if (result != null)
            {
                e.SetReturnValue(CfrV8Value.CreateString(result));
            }
            else
            {
                e.SetReturnValue(CfrV8Value.CreateNull());
            }
        }
示例#5
0
        private void LoadLocalData(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
        {
            try
            {
                if (e.Arguments.Length > 0)
                {
                    var id        = e.Arguments[0].ToString();
                    var rule      = CurrentRuleList[id];
                    var proc      = rule.Tmp.GetProc;
                    var dbContext = DataBaseManager.BuildContext();
                    var sql       = "";
                    if (!string.IsNullOrEmpty(proc))
                    {
                        Dictionary <string, object> dict = new Dictionary <string, object>();
                        dict.Add("UserID", "");
                        //dict.Add("UserName", "");
                        dict.Add("YWID", rule.ID);
                        //dict.Add("DWBH", rule.DWBH);
                        var res = new List <IDictionary <string, object> >();
                        if (dbContext.DBType == "MSS")
                        {
                            res = ProcHelper.GetProcDataSQL(dict, proc, dbContext.Conn);
                        }
                        else
                        {
                            res = ProcHelper.GetProcDataOracle(dict, proc, dbContext.Conn);
                        }

                        e.SetReturnValue(JSON.SerializeObject(res));
                    }
                    else if (!string.IsNullOrEmpty(sql))
                    {
                        var conn = dbContext.Conn;
                        var res  = conn.Query(sql);
                        e.SetReturnValue(JSON.SerializeObject(res));
                    }
                    else
                    {
                        throw new Exception("未定义本地取数数据源!");
                    }
                }
            }
            catch (Exception ex)
            {
                ExecScript("Msg.alert('" + ex.Message + "')");
            }


            //Task.Factory.StartNew(ProcessExcelData);
        }
示例#6
0
        private void LoadExcelDataNew(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
        {
            try
            {
                if (e.Arguments.Length > 0)
                {
                    var id = e.Arguments[0].ToString();

                    List <Dictionary <string, object> > result = new List <Dictionary <string, object> >();


                    var is2007 = false;
                    if (FileHashRel[id].ToLower().IndexOf("xlsx") != -1)
                    {
                        is2007 = true;
                    }
                    var      stream = File.OpenRead(FileHashRel[id]);
                    NPOIData svr    = new NPOIData();
                    if (string.IsNullOrEmpty(CurrentRuleList[id].RefStart))
                    {
                        CurrentRuleList[id].RefStart = "1";
                    }
                    var list = svr.getSheetInfo(stream, is2007, CurrentRuleList[id].RefStart, "");
                    e.SetReturnValue(JSON.SerializeObject(list));
                }
            }
            catch (Exception ex)
            {
                ExecScript("alert('" + ex.Message + "')");
            }


            //Task.Factory.StartNew(ProcessExcelData);
        }
示例#7
0
 private void GetHelpInfo(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
 {
     if (e.Arguments.Length > 0)
     {
         var HelpID = e.Arguments[0].ToString();
         e.SetReturnValue(JSON.SerializeObject(service.GetHelpInfo(HelpID)));
     }
 }
示例#8
0
        private void NewFile(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
        {
            //新建文档的逻辑与保存文档的逻辑相似,这里就不再阐述

            var contents = e.Arguments.FirstOrDefault(p => p.IsString);
            var result   = false;

            result = MainFrame.NewFile(contents.StringValue);

            e.SetReturnValue(CfrV8Value.CreateBool(result));
        }
示例#9
0
        private void LoadConfig(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
        {
            if (e.Arguments.Length > 0)
            {
                var dwbh = e.Arguments[0].ToString();
                var lbid = e.Arguments[1].ToString();

                CurrentRule = rservice.GetRuleInfo(dwbh, lbid);
                e.SetReturnValue(JSON.SerializeObject(CurrentRule));
            }
        }
示例#10
0
 private static void Host_PostConfirmInfoCount(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
 {
     try
     {
         int count = ConfirmManager.GetCount();
         e.SetReturnValue(count);
     }
     catch (Exception ex)
     {
         Log4Helper.ErrorInfo(ex.Message, ex);
         ViewCallFunction.ViewAlert(ex.Message);
     }
 }
示例#11
0
        private void GetSettings(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
        {
            var model = new Model.DBSettings
            {
                DataScource = ConfigurationManager.AppSettings["DataScource"].ToString(),
                DbType      = ConfigurationManager.AppSettings["DbType"].ToString(),
                Catalog     = ConfigurationManager.AppSettings["Catalog"].ToString(),
                UserId      = ConfigurationManager.AppSettings["UserId"].ToString(),
                Password    = ConfigurationManager.AppSettings["Password"].ToString(),
            };

            e.SetReturnValue(JSON.SerializeObject(model));
        }
示例#12
0
 private static void Host_PostDrives(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
 {
     try
     {
         DriveInfo[] drives = DriveInfo.GetDrives();
         string      json   = Utility.JsonSerializerByArrayData(drives);
         e.SetReturnValue(json);
     }
     catch (Exception ex)
     {
         Log4Helper.ErrorInfo(ex.Message, ex);
         ViewCallFunction.ViewAlert(ex.Message);
     }
 }
示例#13
0
 private static void Host_PostConfirmInfos(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
 {
     try
     {
         int page = e.Arguments[0].IntValue;
         List <DeviceInfo> infos = ConfirmManager.GetInfos(page - 1, DefaultParams.PAGE_ROW_COUNT);
         string            json  = Utility.JsonSerializerByArrayData(infos.ToArray());
         e.SetReturnValue(json);
     }
     catch (Exception ex)
     {
         Log4Helper.ErrorInfo(ex.Message, ex);
         ViewCallFunction.ViewAlert(ex.Message);
     }
 }
示例#14
0
 private static void Host_PostConfirmInfo(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
 {
     try
     {
         int        index = e.Arguments[0].IntValue;
         DeviceInfo info  = ConfirmManager.ConfirmInfos[index];
         string     json  = Utility.JsonSerializerBySingleData(info);
         e.SetReturnValue(json);
     }
     catch (Exception ex)
     {
         Log4Helper.ErrorInfo(ex.Message, ex);
         ViewCallFunction.ViewAlert(ex.Message);
     }
 }
示例#15
0
 private static void Host_PostHostNumber(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
 {
     try
     {
         int maxId      = ConfirmManager.GetMaxId();
         var hostnumber = (maxId + 1) % 128;
         if (hostnumber == 0)
         {
             hostnumber = 1;
         }
         e.SetReturnValue(hostnumber);
     }
     catch (Exception ex)
     {
         Log4Helper.ErrorInfo(ex.Message, ex);
         ViewCallFunction.ViewAlert(ex.Message);
     }
 }
示例#16
0
 /// <summary>
 /// 获取帮助数据
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void GetHelpData(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
 {
     try
     {
         if (e.Arguments.Length > 0)
         {
             var helpID   = e.Arguments[0].ToString();
             var filter   = e.Arguments[1].ToString();
             var order    = e.Arguments[2].ToString();
             var page     = int.Parse(e.Arguments[3].ToString());
             var pageSize = int.Parse(e.Arguments[4].ToString());
             e.SetReturnValue(JSON.SerializeObject(service.GetDataList(helpID, filter, order, page, pageSize)));
         }
     }
     catch (Exception ex)
     {
         parentForm.ExecuteJavascript("ImportController.msg('" + ex.Message + "');");
     }
 }
示例#17
0
        private void JsCodeEditorObject_ExecuteSave(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
        {
            var result = parentForm.SaveFile();

            e.SetReturnValue(CfrV8Value.CreateBool(result));
        }
示例#18
0
        private void FormV8Handler_Execute(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
        {
            switch (e.Name)
            {
            case "Minimize":
            {
                HostForm.RequireUIThread(() =>
                    {
                        if (HostForm.WindowState == FormWindowState.Minimized)
                        {
                            HostForm.WindowState = FormWindowState.Normal;
                        }
                        else
                        {
                            HostForm.WindowState = FormWindowState.Minimized;
                        }
                    });
            }
            break;

            case "Maximize":
            {
                HostForm.RequireUIThread(() =>
                    {
                        if (HostForm.WindowState == FormWindowState.Maximized)
                        {
                            HostForm.WindowState = FormWindowState.Normal;
                        }
                        else
                        {
                            HostForm.WindowState = FormWindowState.Maximized;
                        }
                    });
            }
            break;

            case "Restore":
            {
                HostForm.RequireUIThread(() =>
                    {
                        HostForm.WindowState = FormWindowState.Normal;
                    });
            }
            break;

            case "Close":
            {
                if (HostForm != null && !HostForm.IsDisposed)
                {
                    HostForm.RequireUIThread(() =>
                        {
                            HostForm.Close();
                        });
                }
            }
            break;

            case "GetWinActivated":
            {
                if (HostForm != null && !HostForm.IsDisposed)
                {
                    e.SetReturnValue(CfrV8Value.CreateBool(Form.ActiveForm == HostForm));
                }
            }
            break;

            case "GetWinState":
            {
                if (HostForm != null && !HostForm.IsDisposed)
                {
                    var obj          = CfrV8Value.CreateObject(new CfrV8Accessor());
                    var stateString  = "normal";
                    var currentState = 0;

                    if (HostForm.WindowState == FormWindowState.Maximized)
                    {
                        currentState = 2;
                        stateString  = "maximized";
                    }
                    else if (HostForm.WindowState == FormWindowState.Minimized)
                    {
                        currentState = 1;
                        stateString  = "minimized";
                    }

                    obj.SetValue("state", CfrV8Value.CreateInt(currentState), Chromium.CfxV8PropertyAttribute.ReadOnly | Chromium.CfxV8PropertyAttribute.DontDelete);
                    obj.SetValue("stateName", CfrV8Value.CreateString(stateString), Chromium.CfxV8PropertyAttribute.ReadOnly | Chromium.CfxV8PropertyAttribute.DontDelete);
                    obj.SetValue("width", CfrV8Value.CreateInt(HostForm.ClientSize.Width), Chromium.CfxV8PropertyAttribute.ReadOnly | Chromium.CfxV8PropertyAttribute.DontDelete);
                    obj.SetValue("height", CfrV8Value.CreateInt(HostForm.ClientSize.Height), Chromium.CfxV8PropertyAttribute.ReadOnly | Chromium.CfxV8PropertyAttribute.DontDelete);

                    e.SetReturnValue(obj);
                }
            }
            break;
            }
        }
示例#19
0
 void AnotherTestFunction_Execute(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
 {
     form.LogWriteLine("AnotherTestFunction_Execute({0}, {1})", sender, e);
     e.SetReturnValue("The other test function returns this text.");
 }
示例#20
0
 private void TestConnection(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
 {
     e.SetReturnValue(true);
 }
示例#21
0
 /// <summary>
 /// 加载配置
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void loadconfig(object sender, Chromium.Remote.Event.CfrV8HandlerExecuteEventArgs e)
 {
     e.SetReturnValue(Newtonsoft.Json.JsonConvert.SerializeObject(getHisList()));
 }