Commit 62d7b541 by 展昭

update

parent 0e8d4466
...@@ -10968,9 +10968,9 @@ ...@@ -10968,9 +10968,9 @@
"integrity": "sha1-8q1z4/tzaRaYs4yT9m5Y4meUcYA=" "integrity": "sha1-8q1z4/tzaRaYs4yT9m5Y4meUcYA="
}, },
"vuex-oidc": { "vuex-oidc": {
"version": "3.4.3", "version": "3.5.1",
"resolved": "https://registry.npm.taobao.org/vuex-oidc/download/vuex-oidc-3.4.3.tgz", "resolved": "https://registry.npmjs.org/vuex-oidc/-/vuex-oidc-3.5.1.tgz",
"integrity": "sha1-igQBqwC1uBFTDXVazzX/J057UAk=" "integrity": "sha512-efujQ/X+9sJ48ctAg+fNQxJLpmH0bewA/h6Cx6PrxF2G28WMQaBPAAUtF8FRqGpZ0lvD7spK6ASc5875CBDbWQ=="
}, },
"watchpack": { "watchpack": {
"version": "1.6.1", "version": "1.6.1",
......
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
"vue": "^2.6.11", "vue": "^2.6.11",
"vue-router": "^3.1.6", "vue-router": "^3.1.6",
"vuex": "^3.1.3", "vuex": "^3.1.3",
"vuex-oidc": "^3.4.3" "vuex-oidc": "^3.5.1"
}, },
"devDependencies": { "devDependencies": {
"@vue/cli-plugin-babel": "~4.3.0", "@vue/cli-plugin-babel": "~4.3.0",
......
...@@ -2,24 +2,25 @@ var VUE_APP_API_BASEURL = process.env.VUE_APP_API_BASEURL ...@@ -2,24 +2,25 @@ var VUE_APP_API_BASEURL = process.env.VUE_APP_API_BASEURL
export default { export default {
getPeriod(usermemberId) { getPeriod(usermemberId) {
let url = VUE_APP_API_BASEURL + 'bill/account/{usermemberId}/period';
let url = VUE_APP_API_BASEURL + 'bill/user/{usermemberId}/period';
url = url.replace('{usermemberId}', usermemberId); url = url.replace('{usermemberId}', usermemberId);
return url; return url;
}, },
getBillSummary(accountId, usermemberId) { getBillSummary(accountId, usermemberId) {
let url = VUE_APP_API_BASEURL + 'bill/account/{usermemberId}/period/{accountId}/summary'; let url = VUE_APP_API_BASEURL + 'bill/user/{usermemberId}/period/{accountId}/summary';
url = url.replace('{usermemberId}', usermemberId); url = url.replace('{usermemberId}', usermemberId);
url = url.replace('{accountId}', accountId); url = url.replace('{accountId}', accountId);
return url; return url;
}, },
getBillHosting(accountId, usermemberId) { getBillHosting(accountId, usermemberId) {
let url = VUE_APP_API_BASEURL + 'bill/account/{usermemberId}/hosting/{accountId}/summary' let url = VUE_APP_API_BASEURL + 'bill/user/{usermemberId}/hosting/{accountId}/summary'
url = url.replace('{usermemberId}', usermemberId); url = url.replace('{usermemberId}', usermemberId);
url = url.replace('{accountId}', accountId); url = url.replace('{accountId}', accountId);
return url; return url;
}, },
getFlow(accountId, usermemberId, page, pageSize) { getFlow(accountId, usermemberId, page, pageSize) {
let url = VUE_APP_API_BASEURL + 'bill/account/{usermemberId}/period/{accountId}/flow?page={page}&pageSize={pageSize}'; let url = VUE_APP_API_BASEURL + 'bill/user/{usermemberId}/period/{accountId}/flow?page={page}&pageSize={pageSize}';
url = url.replace('{usermemberId}', usermemberId); url = url.replace('{usermemberId}', usermemberId);
url = url.replace('{accountId}', accountId); url = url.replace('{accountId}', accountId);
url = url.replace('{page}', page); url = url.replace('{page}', page);
...@@ -27,7 +28,7 @@ export default { ...@@ -27,7 +28,7 @@ export default {
return url; return url;
}, },
getReceiptList(accountId, usermemberId) { getReceiptList(accountId, usermemberId) {
let url = VUE_APP_API_BASEURL + 'bill/account/{usermemberId}/period/{accountId}/receipt/list' let url = VUE_APP_API_BASEURL + 'bill/user/{usermemberId}/period/{accountId}/receipt/list'
url = url.replace('{usermemberId}', usermemberId); url = url.replace('{usermemberId}', usermemberId);
url = url.replace('{accountId}', accountId); url = url.replace('{accountId}', accountId);
return url; return url;
...@@ -35,7 +36,7 @@ export default { ...@@ -35,7 +36,7 @@ export default {
getReceiptDetail(accountId, usermemberId, type) { getReceiptDetail(accountId, usermemberId, type) {
usermemberId=1822782; usermemberId=1822782;
accountId=2320271; accountId=2320271;
let url = VUE_APP_API_BASEURL + 'bill/account/{usermemberId}/period/{accountId}/receipt/{type}/detail' let url = VUE_APP_API_BASEURL + 'bill/user/{usermemberId}/period/{accountId}/receipt/{type}/detail'
url = url.replace('{usermemberId}', usermemberId); url = url.replace('{usermemberId}', usermemberId);
url = url.replace('{accountId}', accountId); url = url.replace('{accountId}', accountId);
url = url.replace('{type}', type); url = url.replace('{type}', type);
......
...@@ -3,7 +3,7 @@ import urls from "./urls"; ...@@ -3,7 +3,7 @@ import urls from "./urls";
import token from "../../store/modules/token" import token from "../../store/modules/token"
const usermemberId = token.state.usermemberId; const usermemberId = token.state.usermemberId;
console.log('userid', usermemberId); console.log('userid=', usermemberId);
export default { export default {
......
import Vue from 'vue' import Vue from 'vue'
import VueRouter from 'vue-router' import VueRouter from 'vue-router'
import moreRouters from './more-router.js'
import billRouters from './bill-router.js'
import { vuexOidcCreateRouterMiddleware } from 'vuex-oidc' import { vuexOidcCreateRouterMiddleware } from 'vuex-oidc'
import store from '../store' import store from '../store'
import billRouters from './bill-router.js'
import moreRouters from './more-router.js'
Vue.use(VueRouter) Vue.use(VueRouter)
...@@ -29,6 +29,7 @@ const router = new VueRouter({ ...@@ -29,6 +29,7 @@ const router = new VueRouter({
}) })
//自动登录 //自动登录
function autoLogin(payload = { autoCode, redirectPath }) { function autoLogin(payload = { autoCode, redirectPath }) {
console.log('redirectPath=', payload.redirectPath);
store.dispatch("authenticateOidc", { store.dispatch("authenticateOidc", {
options: { options: {
extraQueryParams: { extraQueryParams: {
...@@ -64,21 +65,19 @@ router.beforeEach((to, from, next) => { ...@@ -64,21 +65,19 @@ router.beforeEach((to, from, next) => {
}) })
router.beforeEach((to, from, next) => { router.beforeEach((to, from, next) => {
const authcode = to.query.authCode; const authcode = to.query.authCode || to.query.authcode;
if (!!authcode) { const appid = to.query.appId || to.query.appid;
if (!!authcode && !!appid) {
var toPath = to.path || "/"; var toPath = to.path || "/";
for (let key in to.query) { for (let key in to.query) {
if (key == 'authcode') { if (key == 'authcode') {
continue; continue;
} }
toPath += toPath.indexOf("?") > -1 ? "&" : "?"; toPath += toPath.indexOf("?") > -1 ? "&" : "?";
toPath += `${key}=${to.query}`; toPath += `${key}=${to.query[key]}`;
} }
const isAuth = store.getters.oidcIsAuthenticated;
store.dispatch("getOidcUser").then(oidcUser => { store.dispatch("getOidcUser").then(oidcUser => {
console.log('oidcUser=', oidcUser);
if (oidcUser) { if (oidcUser) {
//如果登录用户与当前登录用户不匹配,则保存登录参数,退出 //如果登录用户与当前登录用户不匹配,则保存登录参数,退出
if (oidcUser.profile.sub != userId) { if (oidcUser.profile.sub != userId) {
......
...@@ -7,9 +7,47 @@ import token from './modules/token' ...@@ -7,9 +7,47 @@ import token from './modules/token'
import any from './modules/any' import any from './modules/any'
import more from './modules/more'; import more from './modules/more';
import api from '../api/index' import api from '../api/index'
import { GetCommonPms } from "../assets/js/CommonPms.js";
import qs from "qs";
import axios from "axios";
Vue.use(Vuex) Vue.use(Vuex)
const oidc_config = JSON.parse(process.env.VUE_APP_OIDC_CONFIG);
async function getToken(access_token, appid) {
let pms = {
client_id: oidc_config.client_id,
client_secret: oidc_config.client_secret,
grant_type: "application",
scope:
"workapps.client openid api.workapps.user api.workapps.org api.workapps.open",
app_register_id: appid,
token: access_token
};
let commonPms = GetCommonPms();
let url = `${oidc_config.authority}/connect/token?${commonPms}`;
await axios
.post(url, qs.stringify(pms))
.then(
res => {
console.log("res=", res);
if (res.status == 200) {
const accessToken = res.data.access_token;
localStorage.setItem("token", accessToken);
}
},
err => {
console.log("err=", err);
}
)
.catch(err => {
console.log("err=", err);
this.$router.push("/oidc-callback-error"); // Handle errors any way you want
});
}
export default new Vuex.Store({ export default new Vuex.Store({
modules: { modules: {
bill, bill,
...@@ -17,13 +55,15 @@ export default new Vuex.Store({ ...@@ -17,13 +55,15 @@ export default new Vuex.Store({
any, any,
more, more,
oidc: vuexOidcCreateStoreModule(oidcSettings, oidc: vuexOidcCreateStoreModule(oidcSettings,
{ {
isAuthenticatedBy: 'access_token', isAuthenticatedBy: 'access_token',
dispatchEventsOnWindow: true dispatchEventsOnWindow: true
},{ }, {
userLoaded:(user)=>{ userLoaded: (user) => {
console.log("userLoaded=>",user) console.log("userLoaded=>", user);
} const appid = 66853;
}) getToken(user.access_token, appid);
}
})
} }
}); });
...@@ -18,7 +18,7 @@ export default { ...@@ -18,7 +18,7 @@ export default {
methods: { methods: {
...mapActions(["oidcSignInCallback", "getOidcUser"]), ...mapActions(["oidcSignInCallback", "getOidcUser"]),
getQueryString(urlsearch, name) { getQueryString(urlsearch, name) {
if(!urlsearch){ if (!urlsearch) {
return null; return null;
} }
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
...@@ -63,7 +63,12 @@ export default { ...@@ -63,7 +63,12 @@ export default {
mounted() { mounted() {
this.oidcSignInCallback() this.oidcSignInCallback()
.then(redirectPath => { .then(redirectPath => {
console.log(2,redirectPath);
console.log("redirectPath=", redirectPath);
const urlsearch = redirectPath.split("?")[1];
console.log("urlsearch=", urlsearch);
const appid = this.getQueryString(urlsearch, "appId");
console.log("appid=", appid);
// this.getOidcUser() // this.getOidcUser()
// .then(user => { // .then(user => {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment