{"id":18004634,"url":"https://github.com/zycgit/hasor-website","last_synced_at":"2025-03-26T10:31:36.432Z","repository":{"id":202099994,"uuid":"66244717","full_name":"zycgit/hasor-website","owner":"zycgit","description":"Hasor 主页站点","archived":false,"fork":false,"pushed_at":"2018-10-10T11:23:19.000Z","size":10911,"stargazers_count":3,"open_issues_count":0,"forks_count":6,"subscribers_count":2,"default_branch":"master","last_synced_at":"2023-10-20T07:34:51.893Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.hasor.net","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zycgit.png","metadata":{"files":{"readme":"readme.txt","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2016-08-22T06:13:23.000Z","updated_at":"2023-10-20T09:19:19.359Z","dependencies_parsed_at":null,"dependency_job_id":"20b14bfe-a59b-4e91-b96b-a485cd20459a","html_url":"https://github.com/zycgit/hasor-website","commit_stats":null,"previous_names":["zycgit/hasor-website"],"tags_count":null,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zycgit%2Fhasor-website","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zycgit%2Fhasor-website/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zycgit%2Fhasor-website/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zycgit%2Fhasor-website/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zycgit","download_url":"https://codeload.github.com/zycgit/hasor-website/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":222138039,"owners_count":16937415,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-30T00:15:08.957Z","updated_at":"2024-10-30T00:15:09.576Z","avatar_url":"https://github.com/zycgit.png","language":"Java","readme":"Hasor首页项目\n\n== 打包构建\n    1. website 项目通过 mvn pacakge 产出 war 包。\n    2. 无论是线上、预发、日常、开发机。都使用该 war包,无需替换 war 包中任何配置文件。\n    3. 一般情况下本地开发测试，通过连接日常开发数据库进行。\n    4. 无论连接的是线上数据还是开发库，都通过 docker进行构建。\n        docker脚本位于：/conf/work_home\n\n== 环境配置\n    1. 本地开发：配置位于 “website-web” 项目中 “env.config” 配置文件中。\n    2. 开发环境：位于 /conf/work_home/daily。\n    3. 线上环境：位于 /conf/work_home/online。\n    4. 使用 openjdk 1.8\n\n== 工程关系\n           website-domain       // 模型定义\n             ^      ^\n             | website-client   // RPC服务接口\n             |      ^\n           website-core         // 服务类和业务逻辑\n             ^  ^   ^\n             |  | website-login // OAuth\n             |  |   ^\n             | website-web      // 处理Web请求和响应\n       website-test             // 各类单元测试\n\n== 项目配置\n    1. 所有项目中都使用 static-conifg.xml 方式声明模块自身的配置信息。\n    2. 主配置文件统一汇聚到 website-web 项目中的 hasor-config.xml。\n\n== 外部依赖\n    -- 主要\n        net.hasor:hasor-core:jar:3.0.3              基础开发框架\n        net.hasor:hasor-rsf:jar:1.2.0               分布式RPC\n        org.freemarker:freemarker:jar:2.3.22        渲染引擎\n        org.mybatis:mybatis:jar:3.3.0               ORM框架\n        org.pegdown:pegdown:jar:1.6.0               Markdown解析\n    -- 工具\n        c3p0:c3p0:jar:0.9.1.2                       数据库连接池\n        com.alibaba:fastjson:jar:1.2.23             JSON序列化\n        com.google.guava:guava:jar:21.0             Cache\n        org.slf4j:slf4j-api:jar:1.7.21              日志框架\n        ch.qos.logback:logback-classic:jar:1.1.3\n        junit:junit:jar:4.12                        测试框架\n\n== 线上环境\n    1. 地址 : htp://www.hasor.net\n    2. conf/tomcat                 为 tomcat 的真实配置。\n    3. /conf/work_home/online      为 线上的 WORK_HOME。\n    4. 线上运行在 docker 里, Dockerfile 在工程根目录中。\n\n== 发布注意\n    1. 分布式部署下，如果模型和逻辑都有变更，请分两次发布，先发模型后发逻辑。\n\n# 代码说明\n    01.web启动入口类是：net.hasor.website.web.core.StartModule，定义它的配置文件是：hasor-config.xml\n    02.test单元测试的启动入口是：net.hasor.website.core.RootModule\n    03.JumpFilter负责处理访问例如：http://xxx.xxx/ 这种目录资源时跳转到对应的 http://xxx.xxx/index.htm\n    04.FreemarkerRender 为模板渲染器，负责处理 htm or html 的渲染请求。\n    05.文件上传之后是直接保存到“阿里云OSS”不会落盘，文件的访问是通过 CDN 代理 OSS。\n    06.负责处理文件上传的类是：UploadToTemp、阿里云OSS初始化代码位于：AliyunModule。\n    07.权限功能：目前用户权限功能是保存到：用户表的扩展信息字段中，该字段是json结构。如要加权限请参考片段：\n        \"userTags\":{\"newProject\":true,\"admin\":true}\n    08.用户登录之后会产生一个快速登录连接，登录过程中通过这个快速登录连接完成用户登录。链接最大有效时间为 1分钟，超时之后必须重新登录。\n    09.用户会话信息保存在 Session 中。\n    10.目前仅支持 OAuth 登录，已经接入第三方认证有：微博、QQ、Github\n    11.可以通过登录（微博、QQ、Github）三个任意一种之后，在个人中心里通过绑定完成混合认证登录。\n    12.目前不支持解绑功能。\n    13.client工程中保留了三个远程服务接口，消费者可以通过 RSF 或 Hprose 执行远程方法调用。\n        端口号是：RSF：2161、Hprose：2162。单元测试模式下远程服务提供者地址为：127.0.0.1位于：env.config配置文件。\n    14.RPC 没有连接到任何注册中心，因此不支持服务自动发现。\n    15.数据库连接 “env.config” 中已经保留日常开发测试数据库信息，线上数据库的信息通过docker部署时环境变量参数形式传入。\n        该功能利用的是 Hasor 模版化配置文件机制实现。\n    16.为了保证安全，开发环境没有配置 OAuth 的密钥，因此本地开发中您不可以使用 OAuth 进行登录。\n\n== Bug或缺陷\n    1. http://www.hasor.net/my/newVersion.htm?projectID=1  lastVersion 排序错误  0.0.9 居然大于 0.0.10\n    2. 各类表单填写验证，必填项目检测。\n    3. 版本详情页在登录之后跳转丢失 projectID 参数。\n\n=== Nginx\n    1. 安装 BCRE [Mac: brew install pcre]\n    2. 站点通过 nginx 代理提供\n\n=== 保留路径\n    1. /docs/  -\u003e Nginx 反向代理： http://project.hasor.net/docs\n\n\n图标库\n\thttps://fontawesome.com/icons?d=gallery\nhugo\n\thttps://gohugo.io/commands/hugo_gen/","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzycgit%2Fhasor-website","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzycgit%2Fhasor-website","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzycgit%2Fhasor-website/lists"}