feat: 蓝星登录

This commit is contained in:
caijun
2026-01-23 11:09:28 +08:00
parent 2195b230ed
commit 686bf339ae
6 changed files with 112 additions and 25 deletions

View File

@@ -298,7 +298,6 @@
} from '@/api/apply/visualDev'
import UserSelect from '@/components/Jnpf/CandidateSelect'
import {getOrganizeSelector} from '@/api/common.js'
import flowBtn from '../../workFlow/components/flowBtn.vue'
export default {
components: {
CustomButton,
@@ -332,7 +331,7 @@
isAdd: false,
showMoreMenu: false,
moreMenuList: [],
lc_fire_operation_detail: [],
createData: {}, // 初始值
deptList: [],
showProcessDialog: false,
processList: [],
@@ -774,7 +773,7 @@
this.approvalSubmitting = false
}
},
// 获取布局和初始值
async getDesForm() {
try {
const res = await getDesForm(this.config.modelId);
@@ -782,8 +781,9 @@
const data = res.data ? JSON.parse(res.data) : {};
this.formConf = JSON.parse(data.formData);
console.log(this.formConf,'formConf--')
console.log(data,'data--111')
this.formConf.labelWidth = 160;
this.lc_fire_operation_detail = data?.lc_fire_operation_detail || [];
this.createData = data
await this.getDeptList();
await this.fillFormData(this.formConf, this.formData);
this.showPage = true;
@@ -894,11 +894,12 @@
await this.getApprovalData();
this.initMoreMenuList()
} else {
console.log(this.formData,'formData111')
const {user,deptInfoList} = this.userInfo
this.isAdd = true;
this.formData = {
...this.formData,
lc_fire_operation_detail: this.lc_fire_operation_detail,
...this.createData,
applyDepId: deptInfoList ? String(deptInfoList[0].deptId) : '' ,
applyDepName: deptInfoList && deptInfoList[0].deptName,
applyUser: user.nickname
@@ -1042,6 +1043,9 @@
}
}
}
if(vModel == 'applyUser') {
this.$set(item, 'disabled', true);
}
if (vModel) {
let val = data.hasOwnProperty(vModel) ? data[vModel] : config.defaultValue;
if (!config.isSubTable) config.defaultValue = val;

View File

@@ -193,8 +193,9 @@
if (!isAccept) return this.$u.toast(`请上传图片`)
// #endif
let tempFilePaths = res.tempFilePaths[0]
console.log(this.baseURL,'baseURL---')
uni.uploadFile({
url: this.baseURL + 'userAvatar',
url: this.baseURL + '/admin-api/infra/file/jeelowcode/upload',
filePath: tempFilePaths,
name: 'file',
header: {
@@ -202,14 +203,18 @@
},
success: (uploadFileRes) => {
let data = JSON.parse(uploadFileRes.data)
if (data.code === 200) {
UpdateAvatar(data.data.name).then(res => {
this.$u.toast('头像更换成功')
this.avatarSrc = this.baseURL2 + data.data.url
})
} else {
this.$u.toast(data.msg)
}
console.log(data,'data-----')
this.avatarSrc =data.data.fileUrl
console.log(this.avatarSrc,'-this.avatarSrc')
this.$u.toast('头像更换成功')
// if (data.code === 0) {
// UpdateAvatar(data.data.name).then(res => {
// this.$u.toast('头像更换成功')
// this.avatarSrc = this.baseURL2 + data.data.url
// })
// } else {
// this.$u.toast(data.msg)
// }
},
fail: (err) => {
this.$u.toast('头像更换失败')

View File

@@ -49,6 +49,9 @@
<view class="remember-wrap">
<u-checkbox v-model="remember"><span class="remember-text">记住账号密码</span></u-checkbox>
</view>
<view class="remember-wrap">
<u-checkbox v-model="isCertify"><span class="remember-text">是否认证</span></u-checkbox>
</view>
<view class="loginBtnBox">
<u-button @click="login" type="primary" :loading="loading">{{ loading ? "登录中...":"登录"}}
</u-button>
@@ -119,6 +122,7 @@
<script>
import {
login,
socialLogin,
getPermissionInfo,
getByName,
getCallback,
@@ -134,10 +138,12 @@
useUserStore
} from '@/store/modules/user'
import logoImg from '@/static/logo.png'
let unique = 0
export default {
data() {
return {
remember: false,
isCertify: false,
logoImg,
imgUrl: '',
loading: false,
@@ -508,7 +514,19 @@
// jnpf_ticket: this.ssoTicket,
// grant_type: 'password',
// }
let query = {
if(this.isCertify){
// 认证登录
this.certifyLogin()
}else {
this.getLogin()
}
}
});
},
// 普通登录
getLogin(){
let query = {
tenantName: this.formData.tenantName,
username: this.formData.username,
password: this.formData.password,
@@ -555,8 +573,53 @@
this.changeCode()
this.loading = false
})
}
},
// 认证登录
certifyLogin(){
lx.biz.getAuthCode({
appId: "8889088-16130048", // AppID
success: (res) => {
console.log('免登授权码:', res.authCode)
this.exchangeToken(res.authCode)
},
fail: (err) => {
console.error('获取免登授权码失败:', err)
uni.showToast({
title: '免登失败,请重试',
icon: 'none'
})
this.loading = false
}
})
},
async exchangeToken(authCode) {
try {
const type = '110'
const code = authCode
const state = this.uuid()
const res = await socialLogin(type, code, state)
const userStore = useUserStore()
// 存储Token和用户信息
userStore.setToken(res)
uni.switchTab({
url: '/pages/index/indexWork'
});
} catch (err) {
console.error('换取Token失败', err)
uni.showToast({
title: '登录失败,请重试',
icon: 'none'
})
} finally {
this.loading = false
}
},
uuid() {
const time = Date.now()
const random = Math.floor(Math.random() * 1000000000)
unique++
return 'qrcode_' + random + unique + String(time)
},
ssoLogin() {
getTicket().then(res => {