最近接到一个项目 是关于构建一套 电脑端会员管理系统    但考虑到个人比较喜欢写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

1524020457202384.png

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);       }   };

用户管理

1524020460568451.png

4 数据报表

1524020463152173.png

NANUI能否运行在linux,Nanui 项目示例相关推荐

  1. linux如何执行平台,如何在Linux平台运行HelloWorld及测试项目

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Cocos2d-x引擎自Cocos2d-1.0.1-x-0.9.2版本以来支持Linux平台. 本文介绍如何在Linux及Android模拟器中运行Hel ...

  2. 操作系统原理,进程的基本状态,运行态,就绪态,等待态与转换模型,进程的其他状态,创建,终止,挂起与转换模型,Linux进程状态模型示例

    操作系统原理,进程的基本状态,运行态,就绪态,等待态与转换模型,进程的其他状态,创建,终止,挂起与转换模型,Linux进程状态模型示例 一.进程的三种基本状态: 运行态,就绪态,等待态 1.运行态: ...

  3. 怎样在linux上打开项目,如何在Linux平台运行HelloWorld及测试项目

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 Cocos2d-x引擎自Cocos2d-1.0.1-x-0.9.2版本以来支持Linux平台. 本文介绍如何在Linux及Android模拟器中运行Hel ...

  4. C语言到嵌入式Linux开发项目指导

    C语言到嵌入式Linux开发项目指导 第一阶段C语言 1.常量与变量,数据类型,数据类型转换,数据输入与输出: 2.C语言运算符,C语言操作符,C语言表达式,表达式优先级: 3.C语言流程控制,分支, ...

  5. linux关闭后台运行命令,linux后台运行、关闭、查看后台任务常用命令

    一.& 加在一个命令的最后,可以把这个命令放到后台执行,如: [root@bqh-01 ~]# watch -n 3 "sh 1.sh"  #每3s在后台执行一次1.sh脚 ...

  6. linux运行隐藏文件,Linux下如何隐藏文件_网站服务器运行维护,Linux,隐藏文件

    linux系统怎样安装软件_网站服务器运行维护 linux系统安装软件的方法:1.使用apt命令进行安装,如[apt install app_name]:2.使用rpm命令进行安装,如[rpm -i ...

  7. clion浏览linux代码,手把手教你使用 Clion 开发 Linux C++ 项目

    手把手教你使用 Clion 开发 Linux C++ 项目 关于CLion CLion是一款专为开发C及C++所设计的跨平台IDE.它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员 ...

  8. linux怎么运行ing,Linux命令笔记ing

    每个人用Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux完成项目的部署相关.在此总结一下,还有一些是其他博主的总结,放在此处,做为笔记,方便自己查看.详细Linux ...

  9. 嵌入式 linux 启动脚本 编写,[9构建嵌入式linux系统项目-启动脚本的编写.ppt

    [9构建嵌入式linux系统项目-启动脚本的编写 启动脚本 教学回顾 shell语法 管道.重定向 变量 结构性语句 教学内容 启动脚本的写法 教学要求 熟悉掌握启动脚本的写法 shell 函数 在s ...

最新文章

  1. 内嵌资源html,内嵌元素(HTML)
  2. 现代软件工程系列 学生的精彩文章 (6) 项目总结
  3. php 不能运行,PHP 环境不能正常运行
  4. 重磅福利!程序员面试——算法工程师面试大全第六部分
  5. 蓝桥杯 ADV-132 算法提高 笨小猴
  6. 《Android 开发入门》我为什么要在Android找工作越来越难的时候开始学习它
  7. AtCoder Grand Contest 016
  8. 29.2. Ubuntu
  9. 操作系统设备驱动实验实验报告
  10. PHP 并发场景的几种解决方案
  11. 打造万能视频播放器——Vitamio
  12. Linux没有可用软件包 p7zip、 p7zip-plugins
  13. 非阻塞connect用法
  14. 诡异事件之--数据库存3.12E8 但是自动变成了31.00
  15. LAMMPS甲烷全原子(CH4)模型的分子模板问题
  16. PROE产品设计:20个机械设计知识点
  17. 微信公众号只能设置两个网页授权域名的解决方案
  18. python3 列表长度_3种在Python中查找列表长度的简便方法
  19. PTA-整除光棍(C语言)
  20. 万向节死锁的个人理解

热门文章

  1. SQL 100+个最佳入门案例实践(覆盖Oralce、SQL Server、Mysql)之基础操作_1_检索数据
  2. java中对象的生存期_JSP中JavaBean的生命周期
  3. Faster-RCNN+ZF用自己的数据集训练模型(Python版本)
  4. 你需要XXX的权限对此文件(此文件夹进行)修改
  5. 64位win10系统无法安装.Net framework3.5的两种解决方法
  6. Broadcom NetXtreme II BCM5706/5708/5709/5716 Driver 驱动问题处理办法
  7. hackerrank---Sets - Symmetric Difference
  8. Android 颜色渲染(二) 颜色区域划分原理与实现思路
  9. 微信公众号 JSSDK 提示:invalid signature
  10. java中的23中设计模式