From 0b4c283d9c9e080671f587b6e389e0d799d5e82a Mon Sep 17 00:00:00 2001 From: lwd <466279616@qq.com> Date: Mon, 5 Jan 2026 09:26:54 +0800 Subject: [PATCH] =?UTF-8?q?1.=E4=BF=AE=E5=A4=8D=E8=8E=B7=E5=8F=96=E4=B8=A5?= =?UTF-8?q?=E9=87=8D=E8=BF=9D=E6=B3=95=E5=B8=82=E5=B1=80=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/increpack.js | 96 +++++++++++++++----- src/api/user.js | 21 +++++ src/views/illegal/inclusion/BureauAccept.vue | 4 +- 3 files changed, 98 insertions(+), 23 deletions(-) diff --git a/build/increpack.js b/build/increpack.js index ca70170..902d0bd 100644 --- a/build/increpack.js +++ b/build/increpack.js @@ -1,9 +1,9 @@ const path = require('path') const fs = require('fs') -var compressing = require('compressing') +const compressing = require('compressing') const axios = require('axios') const child_process = require('child_process') - +const packageJson = require('../package.json') function parseTime(time, format = 'yyyy-MM-dd hh:mm:ss') { const date = time instanceof Date ? time : new Date(time) @@ -32,29 +32,83 @@ function parseTime(time, format = 'yyyy-MM-dd hh:mm:ss') { * youfool */ class IncrePack { - constructor(options) { - this.options = options - } apply(compiler) { + if (process.env.VUE_APP_WEBPACK_CMD !== 'build') { + return + } + const date = new Date() const projectPath = path.join(__dirname, '../') const distPath = projectPath + 'dist' - compiler.hooks.done.tap('IncrePack', async (compilation, callback) => { - // 排除开发环境 - if (process.env.ENV !== 'development') { - - const increName = `${this.options.name}.zip` - // 打包压缩 - const tempFile = projectPath + '/' + increName - compressing.zip.compressDir(distPath, tempFile, { ignoreBase: true }) - .then(() => { - // 剪切回dist目录下 - fs.renameSync(tempFile, distPath + '/' + increName) - console.log('------------------打包成功------------------') - }) - .catch(err => { - console.error(err) - }) + const versionPath = `${projectPath}src/version.js` + let hash = '000000' + try { + hash = child_process.execSync('git rev-parse HEAD').slice(0, 6) + } catch (e) { + console.log('------------------读取版本Hash失败---------------') + console.warn(e) + } + const codeVersion = `${parseTime(date, 'yyyy-MM-dd hh:mm:ss')} ${hash} ${process.env.VUE_APP_ENVIRONMENT}` + compiler.hooks.beforeRun.tapAsync('SetVersion', async(compilation, callback) => { + const data = `/** 本文件由打包插件自动生成和修改 */\nexport default '${codeVersion}'\n` + fs.writeFileSync(versionPath, data) + callback() + }) + compiler.hooks.done.tap('SetVersion', async(compilation) => { + const data = `/** 本文件由打包插件自动生成和修改 */\nexport default ''\n` + fs.writeFileSync(versionPath, data) + }) + compiler.hooks.done.tap('IncrePack', async(compilation) => { + let versionJson = { + artifactId: packageJson.name, + version: packageJson.version, + appId: packageJson.appId, + codeId: packageJson.codeId, + codeVersion } + if (packageJson.increApi) { + // 获取版本信息 + try { + console.log('------------------正在写入升级记录---------------') + const res = await axios.default({ + url: packageJson.increApi + '?appId=' + packageJson.appId + '&codeId=' + packageJson.codeId, + method: 'get', + timeout: 5000 + }) + const { code, data } = res.data + if (code === 0 && data) { + versionJson = { + ...versionJson, + artifactId: packageJson.name, + upgradeId: data.upgradeId, + version: data.version, + releaseTime: data.releaseTime, + fromCommit: data.fromCommit, + untilCommit: data.untilCommit, + newFeatures: data.newFeatures, + repair: data.repair, + other: data.other + } + console.log('------------------写入升级记录成功---------------') + } + } catch (e) { + console.log(e.message) + console.log('------------------提交升级记录到远端失败---------------') + } + } + fs.mkdirSync(distPath + '/increpack-config') + fs.writeFileSync(distPath + '/increpack-config/version.json', JSON.stringify(versionJson), 'utf8') + const increName = `${packageJson.name}-${process.env.VUE_APP_ENVIRONMENT}-${parseTime(date, 'yyyy-MM-dd')}-${hash}.zip` + // 打包压缩 + const tempFile = projectPath + '/' + increName + compressing.zip.compressDir(distPath, tempFile, { ignoreBase: true }) + .then(() => { + // 剪切回dist目录下 + fs.renameSync(tempFile, distPath + '/' + increName) + console.log('------------------打包成功------------------') + }) + .catch(err => { + console.error(err) + }) }) } } diff --git a/src/api/user.js b/src/api/user.js index 01840b2..6492fd5 100644 --- a/src/api/user.js +++ b/src/api/user.js @@ -141,3 +141,24 @@ export function logManage(params) { params }) } + +/** + * 通过权限查找用户 + * @param {string} permission 权限标识 + * @param {string} orgId 机构id 非必填 + * @param {string} deptId 部门id 非必填 + * @author lwd + * @since 2025年1月5日 09:22:20 + */ +export function getUsersWithPermissionYzwf(permission, orgId, deptId) { + return request({ + // url: '/user/get_users_with_permission', + url: '/user/listUserByPermissionAndOrgIdsYzwf', + method: 'get', + params: { + permission, + orgId, + isArea: true + } + }) +} diff --git a/src/views/illegal/inclusion/BureauAccept.vue b/src/views/illegal/inclusion/BureauAccept.vue index 0550dcb..afa6fe5 100644 --- a/src/views/illegal/inclusion/BureauAccept.vue +++ b/src/views/illegal/inclusion/BureauAccept.vue @@ -331,7 +331,7 @@ import DetailHead from '@/components/DetailHead' import { removeAttachementById, listAttachmentByBizseq } from '@/api/attachment' import { cppenaltyInfoGsGetById, listIllegalByBizSeq, nextProcessInclude } from '@/api/illegal' -import { getUsersWithPermission } from '@/api/user' +import {getUsersWithPermission, getUsersWithPermissionYzwf} from '@/api/user' import { taskOpinion } from '@/api/task' import { getConstant } from '@/api/system' import { getEntBaseByPripid } from '@/api/entBase' @@ -658,7 +658,7 @@ export default { }, // 加载市局经办人 loadReviewer() { - getUsersWithPermission('acceptSerIllegal', '001').then(res => { + getUsersWithPermissionYzwf('acceptSerIllegal', '001').then(res => { if (res.code === 0) { this.reviewer = res.data }