Compare commits

..

4 Commits

Author SHA1 Message Date
dependabot[bot] 1418c65839 build(deps): bump mybatis-plus.version in /services
Bumps `mybatis-plus.version` from 3.5.15 to 3.5.16.

Updates `com.baomidou:mybatis-plus-spring-boot4-starter` from 3.5.15 to 3.5.16
- [Release notes](https://github.com/baomidou/mybatis-plus/releases)
- [Changelog](https://github.com/baomidou/mybatis-plus/blob/3.0/CHANGELOG.md)
- [Commits](https://github.com/baomidou/mybatis-plus/compare/v3.5.15...v3.5.16)

Updates `com.baomidou:mybatis-plus-jsqlparser` from 3.5.15 to 3.5.16
- [Release notes](https://github.com/baomidou/mybatis-plus/releases)
- [Changelog](https://github.com/baomidou/mybatis-plus/blob/3.0/CHANGELOG.md)
- [Commits](https://github.com/baomidou/mybatis-plus/compare/v3.5.15...v3.5.16)

---
updated-dependencies:
- dependency-name: com.baomidou:mybatis-plus-spring-boot4-starter
  dependency-version: 3.5.16
  dependency-type: direct:production
  update-type: version-update:semver-patch
- dependency-name: com.baomidou:mybatis-plus-jsqlparser
  dependency-version: 3.5.16
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-06-09 08:18:44 +00:00
huangping 327e5e2b91 chore: release v0.1.0
deploy / build-and-deploy (push) Waiting to run
2026-06-09 16:17:48 +08:00
huangping 7fc1fa3727 feat: add demo mode for prototype deployment (no backend) 2026-06-09 09:45:10 +08:00
huangping 4c2db92da4 fix: set vite base path for /authorization-sdk/ deployment 2026-06-09 09:43:21 +08:00
3 changed files with 18 additions and 3 deletions
+1 -1
View File
@@ -20,7 +20,7 @@
<java.version>17</java.version>
<spring-boot.version>4.0.0</spring-boot.version>
<!-- 平台数据访问:PostgreSQL 15 + MyBatis-PlusSpring Boot 4 用 boot4-starter -->
<mybatis-plus.version>3.5.15</mybatis-plus.version>
<mybatis-plus.version>3.5.16</mybatis-plus.version>
</properties>
<!--
+16 -2
View File
@@ -9,7 +9,10 @@ function decodeJwtPayload(token) {
const parts = token.split(".");
if (parts.length !== 3) return null;
const payload = parts[1];
const decoded = atob(payload.replace(/-/g, "+").replace(/_/g, "/"));
const latin1 = atob(payload.replace(/-/g, "+").replace(/_/g, "/"));
// atob 返回 Latin-1 编码,需转为 UTF-8 才能正确解析中文
const bytes = Uint8Array.from(latin1, (c) => c.charCodeAt(0));
const decoded = new TextDecoder().decode(bytes);
return JSON.parse(decoded);
} catch {
return null;
@@ -55,7 +58,18 @@ export const useAuthStore = defineStore("auth", {
},
actions: {
async login(username, password) {
const { data } = await axios.post("/api/v1/auth/login", { username, password });
let data;
try {
const res = await axios.post("/api/v1/auth/login", { username, password });
data = res.data;
} catch {
// Demo mode: no backend available, use mock login
if (username === "admin" || username === "demo") {
data = { token: "demo-token-xxx", displayName: "管理员", roles: ["SYS_ADMIN"], permissions: ["*"] };
} else {
throw new Error("无法连接登录接口(原型模式无后端)");
}
}
this.token = data.token;
this.displayName = data.displayName || username;
this.roles = data.roles || [];
+1
View File
@@ -3,6 +3,7 @@ import vue from "@vitejs/plugin-vue";
export default defineConfig({
plugins: [vue()],
base: "/authorization-sdk/",
server: {
port: 5173,
proxy: {