Git Product home page Git Product logo

colinin / abp-next-admin Goto Github PK

View Code? Open in Web Editor NEW
815.0 36.0 253.0 25.95 MB

这是基于vue-vben-admin 模板适用于abp Vnext的前端管理项目

License: MIT License

C# 53.59% HTML 0.33% JavaScript 16.08% CSS 3.54% Dockerfile 0.06% TypeScript 10.50% Vue 12.36% Batchfile 0.06% Smarty 0.16% PowerShell 0.08% Lua 0.01% Shell 0.09% Less 0.39% SCSS 0.03% Java 0.04% Objective-C 0.05% Dart 2.17% C++ 0.20% C 0.04% CMake 0.22%
typescript vue vben abp-vnext

abp-next-admin's Introduction

English | 简体中文

更新说明 更新说明

总览

这是一个基于 vue-vben-admin 的Abp框架后台管理界面

Build

Build

快速搭建微服务启动项目

0、设置hosts文件

windows下,修改 C:\Windows\System32\drivers\etc\hosts 文件; linux下,修改 /etc/hosts; 增加如下配置:

	127.0.0.1 host.docker.internal

linux下,修改完hosts后需要重启网络,在shell中执行:

	/etc/init.d/network restart

1、安装dotnet工具

  dotnet tool install --global LINGYUN.Abp.Cli

2、安装.NET模板

  dotnet new --install LINGYUN.Abp.MicroService.Templates

3、使用cli创建一个项目

  # 使用 sqlserver 连接字符串初始化一个项目
  # MyCompanyName 公司名称
  # MyProjectName 项目名称
  # MyPackageName 包名
  # -o  输出到指定目录,见abp cli
  # --dbms  指定数据库驱动,见abp cli
  # --cs    指定数据库连接字符串
  # --no-random-port 不使用随机端口(默认应用端口5000、dapr监听端口3500)
  labp create MyCompanyName.MyProjectName -pk MyPackageName -o "D:\Project" --dbms sqlserver --cs "Server=127.0.0.1;Database=MyProject;User Id=sa;Password=123456" --no-random-port

  cd D:\Project\host\MyPackageName.MyCompanyName.MyProjectName.HttpApi.Host

  dotnet restore

  dotnet run

  start http://127.0.0.1:5000/

问题反馈

  • 作者不是自由职业者,并没有那么多时间维护项目,如果出现问题,可以邮件联系 [email protected],也可以加入QQ群聊: 795966922

截图

系统日志

审计日志

安全日志

数据字典

对象存储

特性管理

系统设置

菜单管理

组织机构

本地化管理

相关项目

后端项目

abpframework/abp (abp vNext)

EasyAbp/Cap (EasyAbp)

DotNetCore/CAP (CAP)

前端项目

vue-vben-admin (vue-vben-admin)

准备

目录结构

本项目已经为你生成了一个完整的开发框架,提供了涵盖后台开发的各类功能和坑位,下面是整个项目的目录结构。

├── mock                       # mock 服务器 与 模拟数据
├── public                     # 静态资源 (会被直接复制)
│   │── favicon.ico            # favicon图标
│   │── manifest.json          # PWA 配置文件
│   └── index.html             # html模板
├── src                        # 源代码
│   ├── api                    # 所有请求
│   ├── assets                 # 主题 字体等静态资源 (由 webpack 处理加载)
│   ├── components             # 全局组件
│   ├── directive              # 全局指令
│   ├── enums                  # 全局枚举
│   ├── hooks                  # 全局hooks
│   ├── locales                # 国际化
│   ├── layout                 # 全局布局
│   ├── router                 # 路由
│   ├── settings               # 全局 配置
│   ├── store                  # 全局 vuex store
│   ├── utils                  # 全局方法
│   ├── views                  # 所有页面
│   ├── App.vue                # 入口页面
│   └── main.js                # 入口文件 加载组件 初始化等
├── types                      # ts类型
├── tests                      # 测试
├── .env.xxx                   # 环境变量配置
├── .eslintrc.js               # eslint 配置
├── jest.config.js             # jest 单元测试配置
├── package.json               # package.json 依赖
├── postcss.config.js          # postcss 配置
├── tsconfig.json              # typescript 配置
└── vite.config.js             # vue vite 配置

如何设置以及启动项目

安装依赖

yarn install

更改配置文件

修改开发环境用于代理的服务器地址,以下提供了三个分别为IdentityServer、SignalR、ApiService地址 如果自己变更了端口,需要改成自己的地址

VITE_PROXY = [["/connect","http://127.0.0.1:44385"],["/api","http://127.0.0.1:30000"],["/signalr-hubs","ws://127.0.0.1:30000"]]

修改生产环境真实地址,如上

# STS Connect
# token签发地址
VITE_GLOB_AUTHORITY='http://127.0.0.1:44385'
# 客户端标识
VITE_GLOB_CLIENT_ID='vue-admin-element'
# 客户端密钥
VITE_GLOB_CLIENT_SECRET='1q2w3e*'

EntityFramework 迁移

请切换到服务项目启动目录, 执行 dotnet ef 命令进行数据库迁移

例如:

cd aspnet-core/services/admin/LINGYUN.BackendAdminApp.Host

dotnet ef database update
  • 也可以使用快速迁移脚本文件: ./build/build-aspnetcore-ef-update.ps1

配置RabbitMQ

因此项目设计为微服务架构,服务间通讯采用分布式事件的方式,项目采用的是DotNetCore/CAP 通讯方式为RabbitMQ Server,所以您需要事先安装RabbitMQ,具体安装方式请查阅官网

然后您需要更改配置文件中的CAP:RabbitMQ配置项,设置为您自己定义的配置,推荐使用rabbitmq_management插件便于快速管理RabbitMQ

启动后台服务

cd aspnet-core/services

start-all-service.bat

启动本地开发环境

cd apps/vue

yarn dev

构建生产环境

yarn build

关于docker容器部署

第一步: 构建后台服务, powershell脚本:./build/build-aspnetcore-release.ps1, 注意:发布后的服务需要 appsettings.Production.json 文件

第二步: 构建前端, ./build/build-vue-apps.ps1

第三步: 构建后的发布地址默认在cd ./aspnet-core/services/Publish ,变更nginx代理服务器地址: ./client/docker/nginx/default.conf

第四步: 运行此命令 sudo docker-compose down && sudo docker-compose -f docker-compose.yml -f docker-compose.override.yml up --build -d

推荐使用 jenkins 之类的ci工具,可以将此简化为一个步骤

代码格式检查以及自动修复

yarn lint:eslint

运行单元测试

yarn test:unit

如何贡献

非常欢迎你的加入!提一个 Issue 或者提交一个 Pull Request。

Pull Request:

  1. Fork 代码!
  2. 创建自己的分支: git checkout -b feat/xxxx
  3. 提交你的修改: git commit -am 'feat(function): add xxxxx'
  4. 推送您的分支: git push origin feat/xxxx
  5. 提交pull request

Git 贡献提交规范

  • 参考 vue 规范 (Angular)

    • feat 增加新功能
    • fix 修复问题/BUG
    • style 代码风格相关无影响运行结果的
    • perf 优化/性能提升
    • refactor 重构
    • revert 撤销修改
    • test 测试相关
    • docs 文档/注释
    • chore 依赖更新/脚手架配置修改等
    • workflow 工作流改进
    • ci 持续集成
    • types 类型定义文件更改
    • wip 开发中

浏览器支持

本地开发推荐使用Chrome 80+ 浏览器

支持现代浏览器, 不支持 IE

 Edge
IE
 Edge
Edge
Firefox
Firefox
Chrome
Chrome
Safari
Safari
not support last 2 versions last 2 versions last 2 versions last 2 versions

License

MIT License

Thanks

JetBrains Logo (Main) logo

abp-next-admin's People

Contributors

andywu188 avatar catcherwong avatar colinin avatar dependabot[bot] avatar dingyzh avatar jasonliao-cb avatar ksdaylight avatar leehom0123 avatar tangtang1997 avatar think-ya avatar xgluxv avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

abp-next-admin's Issues

后端程序调试

对这个开源项目很感兴趣,看着后台框架都是放的模块,后端程序没有sln如何正确进行调试

成功运行后台及前端。登录后,后台页面没有菜单列表

前端页面如图:
TIM截图20200715135614

后台没有错误, 前端有错误。
TIM截图20200715135701

[HMR] Waiting for update signal from WDS...
start signalr connection...
[2020-07-15T05:51:03.174Z] Information: Normalizing '/signalr-hubs/notifications' to 'http://localhost:9527/signalr-hubs/notifications'.
Failed to load resource: the server responded with a status of 404 (Not Found)
webpack-internal:///./node_modules/@microsoft/signalr/dist/esm/Utils.js:210 [2020-07-15T05:51:03.289Z] Error: Failed to complete negotiation with the server: Error: Not Found
webpack-internal:///./node_modules/@microsoft/signalr/dist/esm/Utils.js:210 [2020-07-15T05:51:03.291Z] Error: Failed to start the connection: Error: Not Found
webpack-internal:///./node_modules/@microsoft/signalr/dist/esm/Errors.js:29 Uncaught (in promise) Error: Not Found
    at new HttpError (webpack-internal:///./node_modules/@microsoft/signalr/dist/esm/Errors.js:29)
    at XMLHttpRequest.xhr.onload (webpack-internal:///./node_modules/@microsoft/signalr/dist/esm/XhrHttpClient.js:75)

通过设置的方式来集成阿里云SDK

目前是用过配置Options来启用阿里云的API,无法做到运行时动态改变配置,考虑使用设置管理模块?

阿里云API属于底层模块,理论上来说是不会随时改变的

What needs to be done next time

As backend services grow more and more functional, the current backend admin project is too bloated and deviated from what was originally assigned.

In the future, backend-admin project will be further broken up to separate Identity-apiIdentity-server-apiSetting-management-apiTenant-management-apiFrature-management-api

建议开发支持antd版本

ant-design框架社区影响力比较大,几乎已经成为国内UI标准了。考虑项目推广使用的话建议开发antd版本。
https://github.com/ant-design/ant-design (react版本)
https://github.com/ant-design/ant-design-pro (react版本)
https://github.com/vueComponent/ant-design-vue (vue版本)
https://github.com/NG-ZORRO/ng-zorro-antd (angular版本)
https://github.com/ant-design-blazor/ant-design-blazor (blazor版本)
...

blazor + grpc + abp 强无敌。预计到abp 3.0开始支持grpc了。

网关启动失败,网关服务已启动了,是什么情况呢?

Volo.Abp.AbpInitializationException: An error occurred during the initialize Volo.Abp.Modularity.OnApplicationInitializationModuleLifecycleContributor phase of the module LINGYUN.ApiGateway.ApiGatewayHostModule, LINGYUN.ApiGateway.Host, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null: One or more errors occurred. (Remote service returns error! StatusCode = BadGateway). See the inner exception for details.
---> System.AggregateException: One or more errors occurred. (Remote service returns error! StatusCode = BadGateway)
---> Volo.Abp.AbpException: Remote service returns error! StatusCode = BadGateway

appsettings配置错了吗?
{ "ApiGateway": { "AppId": "TEST-APP"//这里是用于Ocelot主机去API服务器获取参数的标识,指定需要获取什么类型的网关配置 }, "Redis": { "Configuration": "myredis", "InstanceName": "LINGYUN.AbpApplication", "DefaultDatabase": 10 }, "RemoteServices": { "ApiGateway": { "BaseUrl": "http://api-gateway-service/", "IdentityClient": "ApigatewayHostClient" } } }

【Important】Please back up your custom gateway data

Among the issues: #34: How to start to debug with backend application,

As suggested, I left the initialization of the gateway to the data seed, but this was followed by the non-negligible problem of deleting the original gateway data structure and data each time the gateway was started.

If want to check for changes and only write preset data, this is a lot of work, so In the current version I have not considered,

so: please back up your own gateway management database!

vue前端编译报错

使用yarn install安装后,再执行start-vue-admin.bat
结果报错。
Webpack: Starting ... [1] [1] √ Compile modules [1] √ Build modules [1] √ Optimize modules [1] > Emit files [1] ERROR Failed to compile with 1 errors下午10:31:47 [1] Webpack: Starting ... [1] [1] √ Compile modules [1] √ Build modules [1] √ Optimize modules [1] √ Emit files [1] [1] Webpack: Finished after 25.016 seconds. [1] [1] ERROR in E:/source/net/abp/abp-vue-admin-element-typescript/vueJs/node_modules/vuedraggable/src/vuedraggable.d.ts(8,5): [1] 8:5 Property 'element' in type 'Draggable' is not assignable to the same property in base type 'object & Record<never, any> & Vue'. [1] Type 'string' is not assignable to type 'Element | null'. [1] 6 | noTransitionOnDrag: boolean; [1] 7 | [1] > 8 | element: string; [1] | ^ [1] 9 | [1] 10 | tag: string; [1] 11 | [1] ERROR in E:/source/net/abp/abp-vue-admin-element-typescript/vueJs/src/components/DraggableKanban/index.vue(26,2): [1] 26:2 No overload matches this call. [1] Overload 1 of 2, '(options: ComponentOptions<Vue, DefaultData<Vue>, DefaultMethods<Vue>, DefaultComputed, PropsDefinition<Record<string, any>>, Record<...>> & ThisType<...>): <VC extends VueClass<...>>(target: VC) => VC', gave the following error. [1] Type 'typeof Draggable' is not assignable to type 'VueConstructor<Vue> | FunctionalComponentOptions<any, PropsDefinition<any>> | ComponentOptions<never, any, any, any, any, Record<...>> | AsyncComponentPromise<...> | AsyncComponentFactory<...>'. [1] Type 'typeof Draggable' is not assignable to type 'VueConstructor<Vue>'. [1] Types of parameters 'options' and 'options' are incompatible. [1] Type 'ComponentOptions<Vue, DefaultData<Vue>, DefaultMethods<Vue>, DefaultComputed, PropsDefinition<Record<string, any>>, Record<...>> | undefined' is not assignable to type 'ThisTypedComponentOptionsWithArrayProps<Vue, object, object, object, never> | undefined'. [1] Type 'ComponentOptions<Vue, DefaultData<Vue>, DefaultMethods<Vue>, DefaultComputed, PropsDefinition<Record<string, any>>, Record<...>>' is not assignable to type 'ThisTypedComponentOptionsWithArrayProps<Vue, object, object, object, never>'. [1] Type 'ComponentOptions<Vue, DefaultData<Vue>, DefaultMethods<Vue>, DefaultComputed, PropsDefinition<Record<string, any>>, Record<...>>' is not assignable to type 'ComponentOptions<Vue, DataDef<object, Record<never, any>, Vue>, object, object, never[], Record<never, any>>'. [1] Types of property 'props' are incompatible. [1] Type 'ArrayPropsDefinition<Record<string, any>> | RecordPropsDefinition<Record<string, any>> | undefined' is not assignable to type 'never[] | undefined'. [1] Type 'ArrayPropsDefinition<Record<string, any>>' is not assignable to type 'never[]'. [1] Overload 2 of 2, '(target: VueClass<Vue>): VueClass<Vue>', gave the following error. [1] Argument of type '{ name: string; components: { Draggable: typeof Draggable; }; }' is not assignable to parameter of type 'VueClass<Vue>'. [1] Object literal may only specify known properties, and 'name' does not exist in type 'VueClass<Vue>'. [1] 24 | import { Component, Prop, Vue } from 'vue-property-decorator' [1] 25 | [1] > 26 | @Component({ [1] | ^ [1] 27 | name: 'DraggableKanban', [1] 28 | components: { [1] 29 | Draggable [1] ERROR in E:/source/net/abp/abp-vue-admin-element-typescript/vueJs/src/components/DraggableList/index.vue(67,2):

RTL support

UIs for languages that are read from right-to-left (RTL), such as Arabic and Hebrew, should be mirrored to ensure content is easy to understand.

Mirroring layout

The main difference between left-to-right (LTR) and right-to-left (RTL) language scripts is the direction in which content is displayed:

LTR languages display content from left to right
RTL languages display content from right to left

RTL content also affects the direction in which some icons and images are displayed, particularly those depicting a sequence of events.

In general, the passage of time is depicted as left to right for LTR languages, and right to left for RTL languages.
flexbox-axis

多租户

我看到代码里面有多租户,但是运行是数据没有隔离是因为没启用多租户吗

通过PermissionAppService查询权限时的性能问题

当通过官方库查询权限时,直接采用的IPermissionGrantRepository来查询,而查询用户权限的时候,还需要查询用户角色组,因此带来了额外的性能开销,需要重写IPermissionManager来优化

【分布式权限管理】当前权限管理的难点

当前权限管理太过于集中,框架依赖于IPermissionDefinitionProvider,如果要管理权限,则Admin模块必须依赖于权限配置模块,如果权限越来越多,很难有效的管理(查询权限也会越来越慢)

解决要点:

1、创建一个基础模块,定义接口IPermissionRegisterContributer,该接口在应用启动时通过扫描IPermissionDefinitionProvider来向权限中心注册项目权限;

2、IPermissionRegisterContributer的实现可以是分布式事件的发布者,权限中心通过订阅此事件向自身的IPermissionDefinitionProvider接口注入对应的权限,而后续所有的权限管理都通过权限中心来实现,解耦具体的业务权限与管理模块

3、待续,应该还有更好的思路;而且SettingManagement、FeatureManagement等都可以采用这种思路

【关于项目更新与问题处理】

最近收到邮件提醒(催更啊小伙子...)问我是不是放弃这个项目,我想abp框架不停更我就不放弃,正式项目正在用某些模块,前端纯属个人学习Vue,所以很多地方大量重复编码,界面也不美观(css从入门到放弃)

项目不会停止,只是年底了,太太太太太忙了,昨天1点半打的下班卡。。。

等放假了,我就有充足的精力来维护这个项目,和处理问题了,如果现在发现问题,可以开个issue,或者联系我的邮箱,谢谢

Platform.HttpApi.Host启动不起来

我已经改了appsetting里的数据库连接地址,但是启动仍会报错

MySqlConnector.MySqlException (0x80004005): Access denied for user 'colin'@'192.168.0.37' (using password: YES)
at MySqlConnector.Core.ServerSession.SwitchAuthenticationAsync(ConnectionSettings cs, PayloadData payload, IOBehavior ioBehavior, CancellationToken cancellationToken) in //src/MySqlConnector/Core/ServerSession.cs:line 577
at MySqlConnector.Core.ServerSession.ConnectAsync(ConnectionSettings cs, Int32 startTickCount, ILoadBalancer loadBalancer, IOBehavior ioBehavior, CancellationToken cancellationToken) in /
/src/MySqlConnector/Core/ServerSession.cs:line 467
at MySqlConnector.Core.ConnectionPool.GetSessionAsync(MySqlConnection connection, Int32 startTickCount, IOBehavior ioBehavior, CancellationToken cancellationToken) in //src/MySqlConnector/Core/ConnectionPool.cs:line 110
at MySqlConnector.Core.ConnectionPool.GetSessionAsync(MySqlConnection connection, Int32 startTickCount, IOBehavior ioBehavior, CancellationToken cancellationToken) in /
/src/MySqlConnector/Core/ConnectionPool.cs:line 140
at MySqlConnector.MySqlConnection.CreateSessionAsync(ConnectionPool pool, Int32 startTickCount, Nullable1 ioBehavior, CancellationToken cancellationToken) in /_/src/MySqlConnector/MySqlConnection.cs:line 846 at MySqlConnector.MySqlConnection.OpenAsync(Nullable1 ioBehavior, CancellationToken cancellationToken) in //src/MySqlConnector/MySqlConnection.cs:line 410
at MySqlConnector.MySqlConnection.Open() in /
/src/MySqlConnector/MySqlConnection.cs:line 376
at DotNetCore.CAP.MySql.DbConnectionExtensions.ExecuteNonQuery(IDbConnection connection, String sql, IDbTransaction transaction, Object[] sqlParams)
at DotNetCore.CAP.MySql.MySqlStorageInitializer.InitializeAsync(CancellationToken cancellationToken)
at DotNetCore.CAP.MySql.MySqlStorageInitializer.InitializeAsync(CancellationToken cancellationToken)
at DotNetCore.CAP.Internal.Bootstrapper.BootstrapAsync(CancellationToken stoppingToken)

登录续租问题

我有一个问题,整个架构是否没有设计续租问题,一个活跃用户在使用期间,假设token有效期过了,应该是自动续租,我发现现在貌似是设置一个长期有效的token来解决这个问题

How to start to debug with frontend application

Hi, can you write documents on how to start the frontend application with more-detail?
for example:
1:the suitable vue-cli version?
2:the yarn install dependancy? which is the suitable directory to run it?
for me, i got the following error and yarn failed

E:\abp-vue-admin-element-typescript\vueJs>yarn install
yarn install v1.19.1
info No lockfile found.
warning package-lock.json found. Your project contains lock files generated by tools other than Yarn. It is advised not to mix package managers in order to avoid resolution inconsistencies caused by unsynchronized lock files. To clear this warning, remove package-lock.json.
[1/4] Resolving packages...
warning @microsoft/signalr > [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
warning @microsoft/signalr > request > [email protected]: this
warning element-ui > async-validator > babel-runtime > [email protected]: core-js@<3 is no longer maintained and not recommended for usage due to the number of issues. Please, upgrade your dependencies to the actual version of core-js@3.
warning jsonlint > [email protected]: Package no longer supported. Contact [email protected] for more info.
error An unexpected error occurred: "https://github.com/seonim-ryu/Squire: connect ETIMEDOUT 192.30.253.112:443".
info If you think this is a bug, please open a bug report with the information provided in "E:\\abp-vue-admin-element-typescript\\vueJs\\yarn-error.log".
info Visit https://yarnpkg.com/en/docs/cli/install for documentation about this command.

3:how to distinguish the vuejs and vuejsempty?

in fact , i couldnot run the following cmd success, only in vuejsempty folder i can yarn install , but i couldnot start the vue project to see the front-end . where should i input the right configuration.

cd vueJs

start-vue-admin.bat

4: how to fill the follow default address according to the services in the source project:


VUE_APP_BASE_API = '你的api网关服务器地址'

VUE_APP_BASE_IDENTITY_SERVICE = '你的identityService服务器地址'

VUE_APP_BASE_IDENTITY_SERVER = '你的identityServer服务器地址'

外网部署的时候 apigateway-host-service 无法启动:Authorization failed! Given policy has not granted.

使用的docker的启动方式

其他服务启动正常
但是 apigateway-host-service 无法启动:Authorization failed! Given policy has not granted.

其中 apigateway-admin-service的Debug.log文件中可以看到如下


   at Microsoft.AspNetCore.Authorization.AbpAuthorizationServiceExtensions.CheckAsync(IAuthorizationService authorizationService, AuthorizationPolicy policy)
   at Volo.Abp.Authorization.MethodInvocationAuthorizationService.CheckAsync(MethodInvocationAuthorizationContext context)
   at Volo.Abp.Authorization.AuthorizationInterceptor.AuthorizeAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Authorization.AuthorizationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
   at Volo.Abp.Validation.ValidationInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
   at Volo.Abp.Auditing.AuditingInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
   at Castle.DynamicProxy.AsyncInterceptorBase.ProceedAsynchronous[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo)
   at Volo.Abp.Castle.DynamicProxy.CastleAbpMethodInvocationAdapterWithReturnValue`1.ProceedAsync()
   at Volo.Abp.Uow.UnitOfWorkInterceptor.InterceptAsync(IAbpMethodInvocation invocation)
   at Volo.Abp.Castle.DynamicProxy.CastleAsyncAbpInterceptorAdapter`1.InterceptAsync[TResult](IInvocation invocation, IInvocationProceedInfo proceedInfo, Func`3 proceed)
   at LINGYUN.ApiGateway.Ocelot.GlobalConfigurationController.GetAsync(GlobalGetByAppIdInputDto input)
   at lambda_method(Closure , Object )
   at Microsoft.Extensions.Internal.ObjectMethodExecutorAwaitable.Awaiter.GetResult()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.AwaitableObjectResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextExceptionFilterAsync>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)

我检查了redis中的token
image
这个域名已经做过host可以正常访问的

platform.abppermissiongrants表中数据如下

image

对比过 #136 的方法 还是没有进展 apigateway-host-service 无法启动 无法启动……

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.