script

# 快速使用

# 准备工作

# 安装 sdk

下载安装微软官方 .NET SDK 7.0 最新版,代码地址:https://dotnet.microsoft.com/download

本地须安装 node 和 git,可在如下地址获得 NodeJS 的安装包:https://nodejs.org/en/ ,二者也可以到 qq 群QQ 群 90311523(opens new window) 获取下载,

如果需用 Redis,请安装 Redis 并启动,下载地址:https://github.com/MicrosoftArchive/redis/releases; 如果不用 redis 缓存可以将 UseRedis 设置为 false。

提示

前端安装完 node 后,最好设置下淘宝的镜像源,不建议使用 cnpm(可能会出现奇怪的问题)

npm config set registry https://registry.npm.taobao.org

# 下载代码

使用 git 工具下载代码,代码地址:https://gitee.com/yuebon/YuebonNetCore.git

# 初始化数据库

目前支持数据库有:

  • Microsift SqlServer 2012+
  • MySql 8.0+

提示

2022 年 5 月 15 日后发布的新版配置好数据库连接,启动即可自动建立数据库和表,同时初始化种子数据。

老版本按如下操作:

数据库脚本在DataBase文件夹内,根据需要执行mssql vue版本mysql vue版本 文件夹里面的table表结构.sql初始化数据.sql脚本进行初始化数据库。

提示

各数据库表结构一样,初始化数据存在差异。

mysql 版本需要开启数据库表名称不区分大小写规则。需要修改 mysql 的配置文件 my.cnf,在[mysqld]加入一行: lower_case_table_names=1

# 后台运行

使用 Visual Studio 2022 打开 YuebonNetCore.sln

# 修改连接字符串

  • 修改 Yuebon.WebApp/appsettings.json 连接字符串,如下:
  "DbConnections": [
    {
      "ConnId": "DefaultDb",
      "Enabled": true,
      "MasterDB": { //必须配置,远程服务器数据库
        "ConnectionString": "server=127.0.0.1;database=ybnf1;user=root;CharSet=utf8;password=123456;port=3306;CharSet=utf8mb4;Allow User Variables=True;SslMode=none;AllowLoadLocalInfile=true;",
        "DatabaseType": 0, //数据库类型
        "Enabled": true //是否可用
      },
      "ReadDB": []
    },
    {
      "ConnId": "LocalDB",
      "Enabled": true,
      "MasterDB": { //本地数据库
        "ConnectionString": "server=localhost;Database=bonwcslocal1;Uid=root;Pwd=123456;Port=3306;CharSet=utf8mb4;Allow User Variables=True;SslMode=none;AllowLoadLocalInfile=true;",
        "DatabaseType": 0, //数据库类型
        "Enabled": true //是否可用
      },
      "ReadDB": [
        {
          "ConnectionString": "", //数据库连接字符
          "HitRate": "", //从库执行访问权重,越大越先执行
          "Enabled": true //是否可用
        },
        {
          "ConnectionString": "", //数据库连接字符
          "HitRate": "", //从库执行访问权重,越大越先执行
          "Enabled": true //是否可用
        }
      ]
    }
  ],
  "AppSetting": {
    "SoftName": "YueBonCore Framework",
    "CertificatedCompany": "Yuebon",
    "ConStringEncrypt": "false",//连接字符串是否加密
    "DefaultDataBase": "DefaultDb",//默认数据库连接
    "IsDBReadWriteSeparate": false, //开启数据库读写分离
    "QueryDBStrategy": "Random", //定义多个从数据库的访问策略
  },
  • 其中:

1、ConStringEncrypt 配置数据库连接字符串是否加密,加密设置为 true,否则设置 false

2、DefaultDataBase 设置默认数据库连接

3、IsDBReadWriteSeparate 设置开启数据库读写分离,默认为 false,不开启。

4、MassterDB 为主数据库配置信息,在不开启读写分离的情况下,仅配置该参数即可。需要注意DatabaseType指定数据库类型,目前支持的数据库类型值有 mysql=0,SqlServer=1,Oracle=2,Access=3,SQLite=4,PostgreSQL=5,Npgsql=6,Dm=7,Kdbndp=8。

5、注入上下文

** 2022 年 5 月 15 日后发布的新版不用做如下操作。**

注意修改Startup.csInitIoC()方法中的与之匹配数据库上下文注入,如下

 services.AddTransient<IDbContextCore, MySqlDbContext>(); //注入EF mysql上下文

当前数据库类型与之对应得上下文如下:

数据库类型 上下文
SqlServer SqlServerDbContext
MySql MySqlDbContext
Oracle OracleDbContext
SQLite SQLiteDbContext
Npgsql PostgreSQLDbContext

# 编译运行

使用 visualstudio 生成解决方案。 注:首次启动时,visual studio会启动nuget还原第三方依赖包,请保持网络通畅,并等待一段时间

启动 Yuebon.WebApi 项目。

# 前端运行

项目采用 vue 家族技术作为前端,在项目目录 VueUI 中。

# 修改接口访问地址

在目录中 VueUI\src 修改 setting.js 文件中接口访问地址,将地址改为 webapi 项目启动访问地址。 注意你的接口采用 https 还是 http 方式,很多小伙伴有时候没有注意。


 apiHostUrl: 'http://localhost:54678/api/', // 基础接口
 apiSecurityUrl: 'http://localhost:54678/api/Security/', // 权限管理系统接口
 fileUrl: 'http://localhost:54678/', // 文件访问路径
 fileUploadUrl: 'http://localhost:54678/api/Files/Upload'// 文件上传路径

# 编译运行


#进入目录
 cd VueUI

# 安装依赖
npm install

# 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。
npm install --registry=https://registry.npm.taobao.org

# 本地开发 启动项目
npm run dev

打开浏览器,输入:http://localhost:8085 (默认账户 admin/admin888) 若能正确展示登录页面,并能成功登录,菜单及页面展示正常,则表明环境搭建成功。

提示

因为本项目是前后端分离的,所以需要前后端都编译启动好,才能进行访问。

我们在接口访问采用类似于腾讯微信开放平台、阿里云开放平台等大厂的接口访问安全机制,接口访问需要通过应用AppId和应用密钥AppSecret获取凭据token与正确授权的 url 才能调用接口访问数据。

本权限系统默认应用 AppId 为system,对应授权可以访问的 url 地址需要在数据库表sys_app中新增或修改,需要注意不同端口是不同的 url 地址。

# 常见问题

1、前后都启动好了,出现 500 错误,请检查跨域访问设置

2、node-sass 安装失败

Windows 用户若安装不成功,很大概率是 node-sass 安装失败。解决 node-sass 安装不成功的问题

npm i node-sass --sass_binary_site=https://npm.taobao.org/mirrors/node-sass

3、启动后出现如错误:Module build failed (from ./node_modules/babel-loader/lib/index.js):

解决方法:进入当前项目目录 npm install @babel/core @babel/preset-env 命令

如遇到问题到Issues(opens new window) 反馈

最后更新时间: 5/19/2022, 9:14:47 AM