fix(admin): 修复多页面设置加载失败 — renderOtherSettings 空指针崩溃
Some checks failed
CI / Lint + Build (push) Has been cancelled

根因:site-settings.js 的 renderOtherSettings() 无条件访问
#general-settings 元素,但 brand/security/registration 三个模板
无此容器,导致 TypeError 被 catch 吞掉 → '加载设置失败'。

额外修复:
- footer.html: ExtraJS 添加 ?v= 缓存版本哈希
- site-settings.js: API 失败时显式展示服务端错误消息(不再静默 return)
- site_settings.go: Set() 改用 UPSERT(clause.OnConflict),
  修复 GORM Save() 对不存在 key 首次保存时返回 ErrRecordNotFound
This commit is contained in:
2026-06-30 18:56:42 +08:00
parent ecbae7c4fa
commit 20067f7640
3 changed files with 12 additions and 4 deletions

View File

@ -3,7 +3,7 @@
<script src="/shared/static/js/utils.js?v={{assetV "/shared/static/js/utils.js"}}" nonce="{{.CSPNonce}}"></script>
<script src="/admin/static/js/common.js?v={{assetV "/admin/static/js/common.js"}}" nonce="{{.CSPNonce}}"></script>
{{if .ExtraJS}}
<script src="{{.ExtraJS}}" nonce="{{.CSPNonce}}"></script>
<script src="{{.ExtraJS}}?v={{assetV .ExtraJS}}" nonce="{{.CSPNonce}}"></script>
{{end}}
</body>
</html>