NANUI能否运行在linux,Nanui 项目示例
最近接到一个项目 是关于构建一套 电脑端会员管理系统 但考虑到个人比较喜欢写Web 便首选Nanui构建项目。
中间遇到一些坑 但都已解决 ,便提供给大家参考。希望能帮助到大家-_-
项目采用 Nanui + LayuI + Echart + JQ
完整项目源码还在优化中 ,过几天上传。
代码示例 及Ui 截图如下
开启调试-代码:
base.LoadHandler.OnLoadStart += (sender, e) =>{ base.Chromium.ShowDevTools();};
登录对应前台js
form.on('submit(login)', function (d) { var str = my.Func_login("{\"Name\":\"" + d.field.account + "\",\"Pass\":\""+ d.field.pwd +"\"}"); var result = eval('(' + str + ')'); if (result.isSuccess == true) { layer.msg('登陆成功'); setTimeout(function (){ viewMain(); },1000); } else { layer.msg('登陆失败,密码错误'); }后端代码
var FuncLogin = myObject.AddFunction("Func_login");
FuncLogin.Execute += (func, args) => { var stringArgument = args.Arguments.FirstOrDefault(p => p.IsString); if (stringArgument != null) { var str = stringArgument.StringValue; JObject model = JObject.Parse(str); var name = model["Name"].ToString(); var pass = model["Pass"].ToString();
object result = null;
var encry_pass = C_MD5.MD5Encrypt(pass); var user = adminUserBLL.CheckAdminUser(name,encry_pass); if (user!=null) { CurrentAdminUser.Id = user.Id; CurrentAdminUser.RoleId = user.RoleId.Value; result = new { isSuccess = true, msg = "登录成功" }; } else { result = new { isSuccess = false, msg = "帐户名或密码错误" }; } var resultStr = CfrV8Value.CreateString(Newtonsoft.Json.JsonConvert.SerializeObject(result)); args.SetReturnValue(resultStr); } };
主窗体 LayUi+Iframe
2后端调用前端 代码如下
2.1//调用前端js 实现菜单栏权限渲染 LoadHandler.OnLoadEnd += LoadMenu;
/// /// 渲染角色对应的菜单 /// private void LoadMenu(object sender, Chromium.Event.CfxOnLoadEndEventArgs e) { if (e.Frame.IsMain) { var menus = menuBLL.QueryMenusList(); var res = JsonConvert.SerializeObject(new {data = menus }); ExecuteJavascript("SetMenu(" + res+ ")"); } }
2.2 js代码
function SetMenu(res) {
console.log(res.data);
var html = "";
for (var i = 0; i < res.data.length; i++) {
html += "
" + res.data[i].Name+""; }$("#MenuBox").html(html); }
3前端与后端通信 代码如下
3.1js代码
var user = { page: 1, pageSize: 10, phone: $("#phone").val(), name: $("#name").val(), state: $(".layui-tab .layui-this").attr("lay-id") }; var par = JSON.stringify(user); var list = parent.userbll.QueryList(par); var res = eval('(' + list + ')');
3.2后端代码
var userObject = GlobalObject.AddObject("userbll"); //新增用户BLL层 前端直接userbll.QueryList即可调用 var userProp = userObject.AddDynamicProperty("user"); InitProp(userProp);
/*查询会员列表*/ var QuertList = userObject.AddFunction("QueryList"); QuertList.Execute += (func, args) => { var stringArgument = args.Arguments.FirstOrDefault(p => p.IsString); if (stringArgument != null) { var str = stringArgument.StringValue; var user = userBLL.QuertList(str); //调用数据库方法 var resultStr = CfrV8Value.CreateString(JsonConvert.SerializeObject(new { data = user.Item1, count = user.Item2 })); args.SetReturnValue(resultStr); } };
用户管理
4 数据报表
NANUI能否运行在linux,Nanui 项目示例相关推荐
- linux如何执行平台,如何在Linux平台运行HelloWorld及测试项目
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Cocos2d-x引擎自Cocos2d-1.0.1-x-0.9.2版本以来支持Linux平台. 本文介绍如何在Linux及Android模拟器中运行Hel ...
- 操作系统原理,进程的基本状态,运行态,就绪态,等待态与转换模型,进程的其他状态,创建,终止,挂起与转换模型,Linux进程状态模型示例
操作系统原理,进程的基本状态,运行态,就绪态,等待态与转换模型,进程的其他状态,创建,终止,挂起与转换模型,Linux进程状态模型示例 一.进程的三种基本状态: 运行态,就绪态,等待态 1.运行态: ...
- 怎样在linux上打开项目,如何在Linux平台运行HelloWorld及测试项目
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Cocos2d-x引擎自Cocos2d-1.0.1-x-0.9.2版本以来支持Linux平台. 本文介绍如何在Linux及Android模拟器中运行Hel ...
- C语言到嵌入式Linux开发项目指导
C语言到嵌入式Linux开发项目指导 第一阶段C语言 1.常量与变量,数据类型,数据类型转换,数据输入与输出: 2.C语言运算符,C语言操作符,C语言表达式,表达式优先级: 3.C语言流程控制,分支, ...
- linux关闭后台运行命令,linux后台运行、关闭、查看后台任务常用命令
一.& 加在一个命令的最后,可以把这个命令放到后台执行,如: [root@bqh-01 ~]# watch -n 3 "sh 1.sh" #每3s在后台执行一次1.sh脚 ...
- linux运行隐藏文件,Linux下如何隐藏文件_网站服务器运行维护,Linux,隐藏文件
linux系统怎样安装软件_网站服务器运行维护 linux系统安装软件的方法:1.使用apt命令进行安装,如[apt install app_name]:2.使用rpm命令进行安装,如[rpm -i ...
- clion浏览linux代码,手把手教你使用 Clion 开发 Linux C++ 项目
手把手教你使用 Clion 开发 Linux C++ 项目 关于CLion CLion是一款专为开发C及C++所设计的跨平台IDE.它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员 ...
- linux怎么运行ing,Linux命令笔记ing
每个人用Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux完成项目的部署相关.在此总结一下,还有一些是其他博主的总结,放在此处,做为笔记,方便自己查看.详细Linux ...
- 嵌入式 linux 启动脚本 编写,[9构建嵌入式linux系统项目-启动脚本的编写.ppt
[9构建嵌入式linux系统项目-启动脚本的编写 启动脚本 教学回顾 shell语法 管道.重定向 变量 结构性语句 教学内容 启动脚本的写法 教学要求 熟悉掌握启动脚本的写法 shell 函数 在s ...
最新文章
- 内嵌资源html,内嵌元素(HTML)
- 现代软件工程系列 学生的精彩文章 (6) 项目总结
- php 不能运行,PHP 环境不能正常运行
- 重磅福利!程序员面试——算法工程师面试大全第六部分
- 蓝桥杯 ADV-132 算法提高 笨小猴
- 《Android 开发入门》我为什么要在Android找工作越来越难的时候开始学习它
- AtCoder Grand Contest 016
- 29.2. Ubuntu
- 操作系统设备驱动实验实验报告
- PHP 并发场景的几种解决方案
- 打造万能视频播放器——Vitamio
- Linux没有可用软件包 p7zip、 p7zip-plugins
- 非阻塞connect用法
- 诡异事件之--数据库存3.12E8 但是自动变成了31.00
- LAMMPS甲烷全原子(CH4)模型的分子模板问题
- PROE产品设计:20个机械设计知识点
- 微信公众号只能设置两个网页授权域名的解决方案
- python3 列表长度_3种在Python中查找列表长度的简便方法
- PTA-整除光棍(C语言)
- 万向节死锁的个人理解
热门文章
- SQL 100+个最佳入门案例实践(覆盖Oralce、SQL Server、Mysql)之基础操作_1_检索数据
- java中对象的生存期_JSP中JavaBean的生命周期
- Faster-RCNN+ZF用自己的数据集训练模型(Python版本)
- 你需要XXX的权限对此文件(此文件夹进行)修改
- 64位win10系统无法安装.Net framework3.5的两种解决方法
- Broadcom NetXtreme II BCM5706/5708/5709/5716 Driver 驱动问题处理办法
- hackerrank---Sets - Symmetric Difference
- Android 颜色渲染(二) 颜色区域划分原理与实现思路
- 微信公众号 JSSDK 提示:invalid signature
- java中的23中设计模式