测试OAuth2
This commit is contained in:
+13
-13
@@ -101,7 +101,7 @@ sidebar_position: 7
|
|||||||
|
|
||||||
还得新旧都测
|
还得新旧都测
|
||||||
|
|
||||||
/houseManage/housePrivate!showEvaluateEstimateLogTab.action?cbsHouseCode=547114825&buildingHouseId=75906969
|
/houseManage/housePrivate{'!'}showEvaluateEstimateLogTab.action?cbsHouseCode=547114825&buildingHouseId=75906969
|
||||||
|
|
||||||
原
|
原
|
||||||
|
|
||||||
@@ -185,7 +185,7 @@ sidebar_position: 7
|
|||||||
|
|
||||||
3. 点击后触发招租失败定时任务处理 , 排除a条件 , 筛选合同是自己 -- 旧方法 √
|
3. 点击后触发招租失败定时任务处理 , 排除a条件 , 筛选合同是自己 -- 旧方法 √
|
||||||
|
|
||||||
4. “操作成功,委托合同实际结束日已变更。” , “操作失败,失败原因为\{获取失败原因,如果为多个使用;分开}” --新action方法
|
4. “操作成功,委托合同实际结束日已变更。” , “操作失败,失败原因为[获取失败原因,如果为多个使用;分开]” --新action方法
|
||||||
|
|
||||||
5. 部分城市告知cbs -- 北京有,杭州有,太原有,南京苏州天津有 郑州无,直营无?
|
5. 部分城市告知cbs -- 北京有,杭州有,太原有,南京苏州天津有 郑州无,直营无?
|
||||||
|
|
||||||
@@ -195,23 +195,23 @@ sidebar_position: 7
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
太原:《相寓资产管理服务合同》补充协议 {收房维护人 , 租赁区副总监}
|
太原:《相寓资产管理服务合同》补充协议 [收房维护人 , 租赁区副总监]
|
||||||
|
|
||||||
南京:《南京相寓资产管理服务合同》补充协议 {相寓主管 , 相寓区域经理}
|
南京:《南京相寓资产管理服务合同》补充协议 [相寓主管 , 相寓区域经理]
|
||||||
|
|
||||||
苏州:《苏州相寓资产管理服务合同》补充协议 {相寓主管 , 相寓经理}
|
苏州:《苏州相寓资产管理服务合同》补充协议 [相寓主管 , 相寓经理]
|
||||||
|
|
||||||
天津:《天津相寓资产管理服务合同》补充协议 {相寓主管 , 相寓区域经理}
|
天津:《天津相寓资产管理服务合同》补充协议 [相寓主管 , 相寓区域经理]
|
||||||
|
|
||||||
郑州:《郑州相寓资产管理服务合同》补充协议 {经纪人 , 店经理}
|
郑州:《郑州相寓资产管理服务合同》补充协议 [经纪人 , 店经理]
|
||||||
|
|
||||||
北京:《北京相寓资产管理服务合同》补充协议 {经纪人 , 商圈经理}
|
北京:《北京相寓资产管理服务合同》补充协议 [经纪人 , 商圈经理]
|
||||||
|
|
||||||
杭州:《杭州相寓资产管理服务合同》补充协议 {租赁经纪人 , 业务主任}
|
杭州:《杭州相寓资产管理服务合同》补充协议 [租赁经纪人 , 业务主任]
|
||||||
|
|
||||||
武汉直营:《武汉相寓资产管理服务合同》补充协议 {综合管家 , 业务经理}
|
武汉直营:《武汉相寓资产管理服务合同》补充协议 [综合管家 , 业务经理]
|
||||||
|
|
||||||
成都直营:《成都相寓资产管理服务合同》补充协议 {资源经理(原经纪人) , 区域经理(原店经理)}
|
成都直营:《成都相寓资产管理服务合同》补充协议 [资源经理(原经纪人) , 区域经理(原店经理)]
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -248,9 +248,9 @@ wtBlackApplyPage.jsp 加入/解除 申请(work只有申请) HouseInfoAction.comm
|
|||||||
屏蔽类型 1:房源;2:楼栋;3:小区 4承租
|
屏蔽类型 1:房源;2:楼栋;3:小区 4承租
|
||||||
|
|
||||||
- [x] 加入黑名单审批流变更
|
- [x] 加入黑名单审批流变更
|
||||||
- [x] 看生产页面分配给谁了 /basicsdate/houseInfo!listContractBlackInfo.action
|
- [x] 看生产页面分配给谁了 /basicsdate/houseInfo{'!'}listContractBlackInfo.action
|
||||||
- [x] 列表数据展示范围 : 要开给管家和经理 , 可以查看自己提交的数据
|
- [x] 列表数据展示范围 : 要开给管家和经理 , 可以查看自己提交的数据
|
||||||
- [x] 看申请页权限分配给谁了 /basicsdate/houseInfo!wtBlackApplyPage.action?operateKbn=I
|
- [x] 看申请页权限分配给谁了 /basicsdate/houseInfo{'!'}wtBlackApplyPage.action?operateKbn=I
|
||||||
- [x] 申请页面 管家只能屏蔽房源 , 经理只能屏蔽小区和楼栋
|
- [x] 申请页面 管家只能屏蔽房源 , 经理只能屏蔽小区和楼栋
|
||||||
- [x] 申请校验 管家时 判断是否在管辖范围内
|
- [x] 申请校验 管家时 判断是否在管辖范围内
|
||||||
|
|
||||||
|
|||||||
@@ -127,6 +127,120 @@ GITEE_CLIENT_ID=xxx GITEE_CLIENT_SECRET=xxx node server.js
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
### sveltia-cms + gitea(当前使用)
|
||||||
|
|
||||||
|
Sveltia CMS 直接对接 Gitea:浏览器登录 Gitea(OAuth2 隐式授权),编辑内容保存后直接提交到 Gitea 仓库。
|
||||||
|
|
||||||
|
```
|
||||||
|
浏览器 → Sveltia CMS UI (localhost:3000/admin) → Gitea API (115.190.192.69:3011)
|
||||||
|
→ OAuth 登录 → 直接 commit/push
|
||||||
|
```
|
||||||
|
|
||||||
|
**配置(static/admin/config.yaml)**
|
||||||
|
|
||||||
|
```yaml
|
||||||
|
backend:
|
||||||
|
name: gitea
|
||||||
|
repo: admin/docusaurus
|
||||||
|
branch: main
|
||||||
|
base_url: http://115.190.192.69:3011
|
||||||
|
auth_endpoint: /login/oauth/authorize
|
||||||
|
auth_scope: read_user,write:repository
|
||||||
|
```
|
||||||
|
|
||||||
|
**Gitea 侧要做两件事(一次性):**
|
||||||
|
|
||||||
|
1. 创建 OAuth2 应用
|
||||||
|
- 登录 Gitea → 头像 → 设置 → 应用 → 管理 OAuth2 应用程序 → 创建新应用
|
||||||
|
- 应用名称:`Sveltia CMS`
|
||||||
|
- 重定向 URI:`http://localhost:3000/admin/`(必须与访问 CMS 的地址完全一致,含结尾斜杠;以后换域名/端口要回来改)
|
||||||
|
- 创建后复制 **Client ID**,填到 `static/admin/config.yaml` 的 `backend.client_id`(去掉注释)(隐式授权不需要 Secret)
|
||||||
|
|
||||||
|
2. 开启 CORS(改 Gitea 服务器上的 `app.ini`,然后重启 Gitea)
|
||||||
|
|
||||||
|
```ini
|
||||||
|
[cors]
|
||||||
|
ENABLED = true
|
||||||
|
SCHEME = http
|
||||||
|
ALLOW_DOMAIN = localhost:3000
|
||||||
|
ALLOW_SUBDOMAIN = false
|
||||||
|
METHODS = GET,POST,PUT,PATCH,DELETE,OPTIONS
|
||||||
|
MAX_AGE = 600
|
||||||
|
ALLOW_CREDENTIALS = false
|
||||||
|
```
|
||||||
|
|
||||||
|
> app.ini 位置:Windows 一般在 `C:\Program Files\Gitea\custom\conf\app.ini`,Linux 在 `/etc/gitea/app.ini`;也可以在 Gitea 后台「站点管理 → 配置」里看到实际路径。
|
||||||
|
> 若从局域网其他电脑访问,把 `ALLOW_DOMAIN` 改成对应主机名/IP。
|
||||||
|
|
||||||
|
**启动与访问**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm start
|
||||||
|
# 打开 http://localhost:3000/admin/index.html (若 /admin/ 被 Docusaurus 路由拦截就用这个)
|
||||||
|
```
|
||||||
|
|
||||||
|
点 Login with Gitea → 授权后即可编辑,保存即提交到 `admin/docusaurus` 的 `main` 分支。
|
||||||
|
|
||||||
|
**排错**
|
||||||
|
|
||||||
|
- 登录跳转后报 `invalid client` / 授权页打不开:`client_id` 没填或填错 → 检查 `backend.client_id`
|
||||||
|
- 登录成功但列表/保存报 CORS 错误(控制台 `Access-Control-Allow-Origin`):Gitea 的 `[cors]` 没开或 `ALLOW_DOMAIN` 没包含 `localhost:3000`,或 Gitea 没重启
|
||||||
|
- 重定向 URI 不匹配(Gitea 报 `invalid redirect_uri`):Gitea 里 OAuth 应用的重定向 URI 必须与浏览器地址栏实际访问的 CMS 地址逐字符一致
|
||||||
|
- 分支不对:确认 `branch: main` 与仓库默认分支一致
|
||||||
|
|
||||||
|
### 部署到服务器(115.190.192.69,站点 3000 端口 / Gitea 3011 端口)
|
||||||
|
|
||||||
|
站点和 Gitea 放同一台服务器,浏览器访问 `http://115.190.192.69:3000/admin/`,CMS 直连 Gitea(3011)。
|
||||||
|
|
||||||
|
**1. 构建**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run build # 产物在 build/
|
||||||
|
```
|
||||||
|
|
||||||
|
**2. 把代码弄到服务器(推荐源码方式,便于后续自动重建)**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
# 服务器上(需装 node ≥ 20)
|
||||||
|
git clone http://115.190.192.69:3011/admin/docusaurus.git
|
||||||
|
cd docusaurus
|
||||||
|
npm install
|
||||||
|
```
|
||||||
|
|
||||||
|
**3. 启动站点(3000 端口)**
|
||||||
|
|
||||||
|
```bash
|
||||||
|
npm run build && npm run serve -- --host 0.0.0.0 --port 3000
|
||||||
|
# 或用 nginx/caddy 把 build/ 目录静态托管在 3000 端口
|
||||||
|
# 防火墙放行 3000 端口
|
||||||
|
```
|
||||||
|
|
||||||
|
**4. Gitea 侧(一次性,改完重启 Gitea)**
|
||||||
|
|
||||||
|
- OAuth 应用的重定向 URI 加一行:`http://115.190.192.69:3000/admin/`(本地调试的 `http://localhost:3000/admin/` 可保留,多行添加)
|
||||||
|
- `app.ini` 的 CORS:
|
||||||
|
|
||||||
|
```ini
|
||||||
|
[cors]
|
||||||
|
ENABLED = true
|
||||||
|
SCHEME = http
|
||||||
|
ALLOW_DOMAIN = 115.190.192.69:3000
|
||||||
|
ALLOW_SUBDOMAIN = false
|
||||||
|
METHODS = GET,POST,PUT,PATCH,DELETE,OPTIONS
|
||||||
|
MAX_AGE = 600
|
||||||
|
ALLOW_CREDENTIALS = false
|
||||||
|
```
|
||||||
|
|
||||||
|
**5. 访问 `http://115.190.192.69:3000/admin/` → Login with Gitea**
|
||||||
|
|
||||||
|
**内容更新闭环(关键)**
|
||||||
|
|
||||||
|
CMS 里保存 = 直接 commit 到 Gitea 仓库,但静态站点不会自动更新,需要服务器重建:
|
||||||
|
|
||||||
|
- **方案 A(推荐)**:Gitea 建 Push Webhook(URL 指向服务器上的小脚本,如 `http://115.190.192.69:8080/hook`),脚本收到推送后执行 `git pull && npm run build`,再重启/重载静态服务
|
||||||
|
- **方案 B(手动)**:改完内容后 SSH 上服务器 `git pull && npm run build`
|
||||||
|
- **方案 C(省事)**:服务器定时任务每分钟 `git pull`,有变更才 build
|
||||||
|
|
||||||
### tina-cms(卡)
|
### tina-cms(卡)
|
||||||
|
|
||||||
https://tina.io/docs/reference/config
|
https://tina.io/docs/reference/config
|
||||||
|
|||||||
@@ -33,7 +33,7 @@ const config: Config = {
|
|||||||
docs: {
|
docs: {
|
||||||
sidebarPath: './sidebars.ts',
|
sidebarPath: './sidebars.ts',
|
||||||
// 本地部署,编辑链接直接在 Typora 中打开
|
// 本地部署,编辑链接直接在 Typora 中打开
|
||||||
editUrl: 'typora://file/D:/projects/my-website/',
|
editUrl: 'http://115.190.192.69:3011/admin/docusaurus/_edit/main',
|
||||||
},
|
},
|
||||||
blog: {
|
blog: {
|
||||||
showReadingTime: false,
|
showReadingTime: false,
|
||||||
@@ -42,7 +42,7 @@ const config: Config = {
|
|||||||
type: ['rss', 'atom'],
|
type: ['rss', 'atom'],
|
||||||
xslt: true,
|
xslt: true,
|
||||||
},
|
},
|
||||||
editUrl: 'typora://file/D:/projects/my-website/',
|
editUrl: 'http://115.190.192.69:3011/admin/docusaurus/_edit/main',
|
||||||
onInlineTags: 'warn',
|
onInlineTags: 'warn',
|
||||||
onInlineAuthors: 'warn',
|
onInlineAuthors: 'warn',
|
||||||
onUntruncatedBlogPosts: 'warn',
|
onUntruncatedBlogPosts: 'warn',
|
||||||
|
|||||||
Generated
+3
-3
@@ -12208,9 +12208,9 @@
|
|||||||
"license": "MIT"
|
"license": "MIT"
|
||||||
},
|
},
|
||||||
"node_modules/lunr-languages": {
|
"node_modules/lunr-languages": {
|
||||||
"version": "1.20.0",
|
"version": "1.21.0",
|
||||||
"resolved": "https://registry.npmmirror.com/lunr-languages/-/lunr-languages-1.20.0.tgz",
|
"resolved": "https://registry.npmmirror.com/lunr-languages/-/lunr-languages-1.21.0.tgz",
|
||||||
"integrity": "sha512-3LVgE7ekWXt04NBci/hjm+NXJxXZeRXuyClL0kA0HONyBOjxhP3ZQkuWIM4Ok3pbeptUW/rj3XcJcJuJVPwPYA==",
|
"integrity": "sha512-Hj0VwJP1FGwZzVMMZdDtWY2GB2VVKtvVElYtVajzCZCDr2RTucyLpPibrOPGgTlcq2ENQy2gYLtPnzyFu9jZCg==",
|
||||||
"license": "MPL-1.1"
|
"license": "MPL-1.1"
|
||||||
},
|
},
|
||||||
"node_modules/mark.js": {
|
"node_modules/mark.js": {
|
||||||
|
|||||||
@@ -1,17 +1,26 @@
|
|||||||
# ============================================
|
# ============================================
|
||||||
# Sveltia CMS 配置
|
# Sveltia CMS 配置(Decap 兼容语法)
|
||||||
|
# 后端:Gitea(OAuth2 隐式授权,浏览器直连 Gitea API)
|
||||||
# ============================================
|
# ============================================
|
||||||
|
|
||||||
backend:
|
backend:
|
||||||
name: github
|
name: gitea
|
||||||
repo: lhth/testdecap
|
repo: admin/docusaurus
|
||||||
branch: master
|
branch: main
|
||||||
|
base_url: http://115.190.192.69:3011
|
||||||
|
auth_endpoint: /login/oauth/authorize
|
||||||
|
auth_scope: read_user,write:repository
|
||||||
|
# 在 Gitea「设置 → 应用 → 管理 OAuth2 应用程序」里创建应用,重定向 URI 填:
|
||||||
|
# http://115.190.192.69:3000/admin/
|
||||||
|
# http://localhost:3000/admin/ (本地调试,可多行添加)
|
||||||
|
# Client ID 如下:
|
||||||
|
client_id: 7d62ff16-bb6b-467e-b5ea-22e238a3d5f8
|
||||||
|
|
||||||
media_folder: static/img
|
media_folder: static/img
|
||||||
public_folder: /img
|
public_folder: /img
|
||||||
|
|
||||||
site_url: https://your-docusaurus-site.example.com
|
site_url: http://115.190.192.69:3000
|
||||||
display_url: https://your-docusaurus-site.example.com
|
display_url: http://115.190.192.69:3000
|
||||||
|
|
||||||
logo:
|
logo:
|
||||||
src: /img/code.ico
|
src: /img/code.ico
|
||||||
|
|||||||
Reference in New Issue
Block a user