当前位置: 首页 > news >正文

geecg-uniapp 同源策略 数据请求 获取后台数据 进行页面渲染 ui库安装 冲突解决(3)

一,同源策略

(1)首先找到env  要是没有env  需要创建一个替换成后端接口

 (2)因为他封装了  先找到 http 请求位置一级一级找  然后进行接口修改   

 (3)appUpdata  修改接口   运行即可

(4)接口展示 


二,数据请求 

接口请求路径展示  

 (1)创建页面 ,定义请求方式  , 因为他这个封装过  ,所以我们只能跟固有的进行数据请求

报错了我们解决一下   看完整路径我们发现我们复制多了(路径是拼接的) 

 (2)正确的写法展示 
 (3)又报错了  是请求错了  所以注意一下是 post  还是  get

 (4)正确的写法展示 


三,ui库安装

(1)我查了文档才知道他这个是用一个需要下一个ui组件 太麻烦了  所以直接下载一个完整的
       跟着教程 安装运行 : uni-app官网 (dcloud.net.cn)

 

 (2)下载插件   地址 : uni-ui - DCloud 插件市场

 


 四,冲突解决

(1)因为之前封装的时候 采用的是单独下载 我们又进行了全局安装  这样的话会报错,有冲突

 (2)解决冲突
        1,首先清空  components  下载的ui 数据
        2,根据报错位置,找到对应的页面,注销引用的 ui 组件

        3,找到main.js  注销引用的 ui 组件  以及自定义的组件  
         4,运行 

五,获取后台数据 进行页面渲染

案例一

(1)代码展示
<template><view><cu-custom bgColor="bg-gradual-pink" :isBack="true"><block slot="content">荒石管理</block></cu-custom><view class="uni-container"><uni-table border stripe emptyText="暂无更多数据"><uni-tr><uni-th width="150" align="center">序号</uni-th><uni-th width="150" align="center">入库编号</uni-th><uni-th align="center">库存日期</uni-th><uni-th width="204" align="center">名称</uni-th><uni-th width="204" align="center">体积</uni-th><uni-th width="204" align="center">库存</uni-th></uni-tr><uni-tr v-for="(item, index) in name" :key="index"><uni-td>{{index}}</uni-td><uni-td><view class="name">{{ item.sbwWarehousingNumber }}</view></uni-td><uni-td align="center">{{ item.ckDate }}</uni-td><uni-td align="center">{{ item.name }}</uni-td><uni-td align="center">{{ item.volume }}</uni-td><uni-td align="center">{{ item.kcNum }}</uni-td></uni-tr></uni-table><view class="uni-pagination-box"><uni-pagination show-icon :page-size="pageSize" :current="pageCurrent":total="total" @change="change" /></view></view></view>
</template>
<script>export default {data() {return {searchVal: '',// 每页数据量pageSize: 10,// 当前页pageCurrent: 1,// 数据总量total: 0,loading: false,name: []}},onLoad() {this.selectedIndexs = []this.getData(1)let url = '/hlck/hlck/kcList';this.$http.get(url).then(res => {// this.tableData =res.data.resultthis.name = res.data.resultconsole.log('结果', res.data.result)})},methods: {// 分页触发change(e) {this.$refs.table.clearSelection()this.selectedIndexs.length = 0this.getData(e.current)},// 获取数据getData(pageCurrent, value = '') {this.loading = truethis.pageCurrent = pageCurrentthis.request({pageSize: this.pageSize,pageCurrent: pageCurrent,value: value,success: res => {// console.log('data', res);this.name = res.datathis.total = res.totalthis.loading = false}})},// 伪request请求request(options) {const {pageSize,pageCurrent,success,value} = optionslet total = this.name.lengthlet data = this.name.filter((item, index) => {const idx = index - (pageCurrent - 1) * pageSizereturn idx < pageSize && idx >= 0})if (value) {data = []this.name.forEach(item => {if (item.name.indexOf(value) !== -1) {data.push(item)}})total = data.length}// setTimeout(() => {// 	typeof success === 'function' &&// 		success({// 			data: data,// 			total: total// 		})// }, 500)}}}
</script>
<style>/* #ifndef H5 *//* page {padding-top: 85px;
} *//* #endif */.uni-group {display: flex;align-items: center;}
</style>
(2)页面展示

案例二

(1)代码展示
<!-- <template> <view><cu-custom bgColor="bg-gradual-pink" :isBack="true"><block slot="content">板材半成品</block></cu-custom><view class="uni-container"><uni-table border stripe emptyText="暂无更多数据"><uni-tr><uni-th width="100" align="center">序号</uni-th><uni-th width="204" align="center">入库编号</uni-th><uni-th align="center" width="204">库存日期</uni-th><uni-th width="150" align="center">长(M)</uni-th><uni-th width="150" align="center">宽(M)</uni-th><uni-th width="150" align="center">厚(M)</uni-th><uni-th width="150" align="center">颜色</uni-th><uni-th width="204" align="center">面积(M2)</uni-th><uni-th width="150" align="center">数量</uni-th><uni-th width="150" align="center">单价</uni-th><uni-th width="204" align="center">加工费</uni-th><uni-th width="150" align="center">机组</uni-th><uni-th width="150" align="center">人员</uni-th><uni-th width="204" align="center">操作员</uni-th><uni-th width="204" align="center">图片</uni-th><uni-th width="150" align="center">文件</uni-th><uni-th width="204" align="center">备注</uni-th></uni-tr><uni-tr v-for="(item, index) in name" :key="index"><uni-td>{{index}}</uni-td><uni-td><view class="name">{{ item.ssswWarehousingNum }}</view></uni-td><uni-td align="center">{{ item.ssswWarehousingDate }}</uni-td><uni-td align="center">{{ item.ssswLong }}</uni-td><uni-td align="center">{{ item.ssswWidth }}</uni-td><uni-td align="center">{{ item.ssswThick }}</uni-td><uni-td align="center">{{ item.ssswColor }}</uni-td><uni-td align="center">{{ item.ssswArea }}</uni-td><uni-td align="center">{{ item.ssswNum }}</uni-td><uni-td align="center">{{ item.ssswPrice }}</uni-td><uni-td align="center">{{item.ssswSalary}}</uni-td><uni-td align="center">{{item.ssswSet}}</uni-td><uni-td align="center">{{ item.ssswPersonnel }}</uni-td><uni-td align="center">{{ item.ssswOperator }}</uni-td><uni-td align="center">图片</uni-td><uni-td align="center">{{ item.ssswFile }}</uni-td><uni-td align="center">{{ item.ssswRemake }}</uni-td></uni-tr></uni-table></view></view>
</template>
<script>export default {data() {return {searchVal: '',// 每页数据量pageSize: 10,// 当前页pageCurrent: 1,// 数据总量total: 0,loading: false,name: []}},onLoad() {this.selectedIndexs = []this.getData(1)let url = '/saplate/smsSaSheetWarehousing/list';this.$http.get(url).then(res => {// this.tableData =res.data.resultthis.name = res.data.result.recordsconsole.log('结果', res.data.result)})},methods: {// 分页触发change(e) {this.$refs.table.clearSelection()this.selectedIndexs.length = 0this.getData(e.current)},// 获取数据getData(pageCurrent, value = '') {this.loading = truethis.pageCurrent = pageCurrentthis.request({pageSize: this.pageSize,pageCurrent: pageCurrent,value: value,success: res => {// console.log('data', res);this.name = res.datathis.total = res.totalthis.loading = false}})},// 伪request请求request(options) {const {pageSize,pageCurrent,success,value} = optionslet total = this.name.lengthlet data = this.name.filter((item, index) => {const idx = index - (pageCurrent - 1) * pageSizereturn idx < pageSize && idx >= 0})if (value) {data = []this.name.forEach(item => {if (item.name.indexOf(value) !== -1) {data.push(item)}})total = data.length}// setTimeout(() => {// 	typeof success === 'function' &&// 		success({// 			data: data,// 			total: total// 		})// }, 500)}}}
</script>
<style>/* #ifndef H5 *//* page {padding-top: 85px;
} *//* #endif */.uni-group {display: flex;align-items: center;}
</style> --><template><view><cu-custom bgColor="bg-gradual-pink" :isBack="true"><block slot="content">板材开发</block></cu-custom><uni-section title=""><view><uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" /></view><view class="content"><view v-if="current === 0"><uni-table border stripe emptyText="暂无更多数据"><uni-tr><uni-th width="100" align="center">序号</uni-th><uni-th width="204" align="center">入库编号</uni-th><uni-th align="center" width="204">库存日期</uni-th><uni-th width="150" align="center">长(M)</uni-th><uni-th width="150" align="center">宽(M)</uni-th><uni-th width="150" align="center">厚(M)</uni-th><uni-th width="150" align="center">颜色</uni-th><uni-th width="204" align="center">面积(M2)</uni-th><uni-th width="150" align="center">数量</uni-th><uni-th width="150" align="center">单价</uni-th><uni-th width="204" align="center">加工费</uni-th><uni-th width="150" align="center">机组</uni-th><uni-th width="150" align="center">人员</uni-th><uni-th width="204" align="center">操作员</uni-th><uni-th width="204" align="center">图片</uni-th><uni-th width="150" align="center">文件</uni-th><uni-th width="204" align="center">备注</uni-th></uni-tr><uni-tr v-for="(item, index) in name" :key="index"><uni-td>{{index}}</uni-td><uni-td><view class="name">{{ item.ssswWarehousingNum }}</view></uni-td><uni-td align="center">{{ item.ssswWarehousingDate }}</uni-td><uni-td align="center">{{ item.ssswLong }}</uni-td><uni-td align="center">{{ item.ssswWidth }}</uni-td><uni-td align="center">{{ item.ssswThick }}</uni-td><uni-td align="center">{{ item.ssswColor }}</uni-td><uni-td align="center">{{ item.ssswArea }}</uni-td><uni-td align="center">{{ item.ssswNum }}</uni-td><uni-td align="center">{{ item.ssswPrice }}</uni-td><uni-td align="center">{{item.ssswSalary}}</uni-td><uni-td align="center">{{item.ssswSet}}</uni-td><uni-td align="center">{{ item.ssswPersonnel }}</uni-td><uni-td align="center">{{ item.ssswOperator }}</uni-td><uni-td align="center">图片</uni-td><uni-td align="center">{{ item.ssswFile }}</uni-td><uni-td align="center">{{ item.ssswRemake }}</uni-td></uni-tr></uni-table><view class="uni-pagination-box"><uni-pagination show-icon :page-size="pageSize":current="pageCurrent" :total="total" @change="change" /></view></view><view v-if="current === 1"> <uni-table border stripe emptyText="暂无更多数据"><uni-tr><uni-th width="100" align="center">序号</uni-th><uni-th width="204" align="center">入库编号</uni-th><uni-th align="center" width="204">库存日期</uni-th><uni-th width="150" align="center">长(M)</uni-th><uni-th width="150" align="center">宽(M)</uni-th><uni-th width="150" align="center">厚(M)</uni-th><uni-th width="150" align="center">延长米</uni-th><uni-th width="150" align="center">颜色</uni-th><uni-th width="204" align="center">面积(M2)</uni-th><uni-th width="150" align="center">数量</uni-th><uni-th width="150" align="center">单价</uni-th><uni-th width="204" align="center">加工费</uni-th><uni-th width="150" align="center">机组</uni-th><uni-th width="150" align="center">人员</uni-th><uni-th width="204" align="center">操作员</uni-th><uni-th width="204" align="center">图片</uni-th><uni-th width="150" align="center">文件</uni-th><uni-th width="204" align="center">备注</uni-th></uni-tr><uni-tr v-for="(item, index) in name2" :key="index"><uni-td>{{index}}</uni-td><uni-td><view class="name">{{ item.sssWarehousingNum }}</view></uni-td><uni-td align="center">{{ item.ssswWarehousingDate }}</uni-td><uni-td align="center">{{ item.sssLong }}</uni-td><uni-td align="center">{{ item.sssWidth}}</uni-td><uni-td align="center">{{ item.sssThick }}</uni-td><uni-td align="center">{{ item.sssExtendedMeter }}</uni-td><uni-td align="center">{{ item.sssColor }}</uni-td><uni-td align="center">{{ item.sssArea }}</uni-td><uni-td align="center">{{ item.sssNumber }}</uni-td><uni-td align="center">{{item.sssPrice}}</uni-td><uni-td align="center">加工费</uni-td><uni-td align="center">{{ item.sssSet }}</uni-td><uni-td align="center">{{ item.sssPersonnel }}</uni-td><uni-td align="center">{{ item.sssOperator}}</uni-td><uni-td align="center">图片</uni-td><uni-td align="center">{{ item.sssFile }}</uni-td><uni-td align="center">{{ item.sssRemake }}</uni-td></uni-tr></uni-table><view class="uni-pagination-box"><uni-pagination show-icon :page-size="pageSize":current="pageCurrent" :total="total" @change="change" /></view></view></view></uni-section></view>
</template>
<script>export default {data() {return {items: ['半成品展示', '成品展示'],current: 0,searchVal: '',// 每页数据量pageSize: 10,// 当前页pageCurrent: 1,// 数据总量total: 0,loading: false,name: [],name2: []}},onLoad() {this.selectedIndexs = []this.getData(1)// 半成品let url = '/saplate/smsSaSheetWarehousing/list';this.$http.get(url).then(res => {this.name = res.data.result.recordsconsole.log('半成品', res.data.result)})// 成品let urls = '/plate/smsSheetStorage/list';this.$http.get(urls).then(res => {this.name2 = res.data.result.recordsconsole.log('成品', res.data.result)})},methods: {onClickItem(e) {if (this.current !== e.currentIndex) {this.current = e.currentIndex}},// 分页触发change(e) {this.$refs.table.clearSelection()this.selectedIndexs.length = 0this.getData(e.current)},// 获取数据getData(pageCurrent, value = '') {this.loading = truethis.pageCurrent = pageCurrentthis.request({pageSize: this.pageSize,pageCurrent: pageCurrent,value: value,success: res => {// console.log('data', res);this.name = res.datathis.total = res.totalthis.loading = false}})},// 伪request请求request(options) {const {pageSize,pageCurrent,success,value} = optionslet total = this.name.lengthlet data = this.name.filter((item, index) => {const idx = index - (pageCurrent - 1) * pageSizereturn idx < pageSize && idx >= 0})if (value) {data = []this.name.forEach(item => {if (item.name.indexOf(value) !== -1) {data.push(item)}})total = data.length}// setTimeout(() => {// 	typeof success === 'function' &&// 		success({// 			data: data,// 			total: total// 		})// }, 500)}}}
</script>
(2)页面展示

相关文章:

geecg-uniapp 同源策略 数据请求 获取后台数据 进行页面渲染 ui库安装 冲突解决(3)

一&#xff0c;同源策略 &#xff08;1&#xff09;首先找到env 要是没有env 需要创建一个替换成后端接口 &#xff08;2&#xff09;因为他封装了 先找到 http 请求位置一级一级找 然后进行接口修改 &#xff08;3&#xff09;appUpdata 修改接口 运行即可 &#x…...

Krypton控件组使用之KryptonRibbon

1.去掉File按钮 2.去掉 Cutomize 菜单...

低压配电系统中浪涌保护器的作用,安装位置和接线方法

低压配电系统是指在变压器低压侧或用户侧的电气装置&#xff0c;主要用于向用户提供安全、可靠和经济的电能。低压配电系统中常见的电气设备有低压配电柜、分支箱、开关箱、插座、照明等。这些设备都需要防止因外部或内部原因产生的过电压对其造成损坏或影响其正常工作。过电压…...

OpenCV实现答题卡自动打分!

目录 1&#xff0c;主要原理以及函数介绍 全部代码&#xff0c;以 2 &#xff0c; 实现过程 3&#xff0c;结果展示 1&#xff0c;主要原理以及函数介绍 ap argparse.ArgumentParser() 创建一个ArgumentParser对象&#xff0c;并将其赋值给变量ap。这个对象可以接受我们的脚…...

Python编程必备:掌握列表遍历的6种神级技巧!

更多资料获取 &#x1f4da; 个人网站&#xff1a;涛哥聊Python 遍历列表是Python中最常见的任务之一&#xff0c;因为列表是一种非常常用的数据结构&#xff0c;它用于存储一组项目。 在编程中&#xff0c;经常需要对这些项目进行操作&#xff0c;例如查找特定元素&#xff…...

nodejs+vue校园失物招领平台

失物人可以在该平台中发布自己的拾物信息&#xff0c;本毕业设计题目将设计与实现一个基于校园的非商业行为的网上校园失物招领平台。并给出自己附加的各项条件&#xff0c; 失物招领管理系统主要分为两个部分&#xff0c;涉及前台和后台&#xff0c;然后由失主通过校园失物招…...

leetcode做题笔记171. Excel 表列序号

给你一个字符串 columnTitle &#xff0c;表示 Excel 表格中的列名称。返回 该列名称对应的列序号 。 例如&#xff1a; A -> 1 B -> 2 C -> 3 ... Z -> 26 AA -> 27 AB -> 28 ... 示例 1: 输入: columnTitle "A" 输出: 1示例 2: 输入: colu…...

SW曲面实体导出工程图

...

Docker的私有仓库部署——Harbor

Harbor 简介 一、什么是Harbor Harbor 是 VMware 公司开源的企业级 Docker Registry 项目&#xff0c; 其目标是帮助用户迅速搭建一个企业级的 Docker Registry 服务。 Harbor以 Docker 公司开源的 Registry 为基础&#xff0c; 提供了图形管理 UI 、基于角色的访问控制(Role…...

JavaScript反爬虫技巧详细攻略

在互联网时代&#xff0c;网站采取了各种手段来防止被爬虫抓取数据&#xff0c;其中最常见的就是JavaScript反爬虫技巧。本文将揭示一些常用的JavaScript反爬虫技巧&#xff0c;并提供一些实际操作建议&#xff0c;帮助您保护自己的爬虫免受检测和封禁。 1、为什么网站使用Java…...

C++基础入门学习笔记

问题1&#xff1a;什么是 C 中的多态&#xff1f;如何实现多态&#xff1f; 回答1&#xff1a;C 中的多态是指同一种类型的实体&#xff0c;可以在不同的情况下表现出不同的行为。实现多态的方式有两种&#xff1a;虚函数和模板函数。虚函数是在基类中声明为虚函数的函数&…...

手机cpu架构查看及armeabi、armeabi-v7a、arm64-v8a及x86等说明

一、如何查看cpu加购 winR&#xff0c;输入cmd 填下指令如下 adb shell getprop ro.product.cpu.abi 二、架构描述 1.armeabiv-v7a: 第7代及以上的 ARM 处理器。2011年15月以后的生产的大部分Android设备都使用它. 2.arm64-v8a: 第8代、64位ARM处理器&#xff0c;很少设备&a…...

node-sass报错,node16运行node14的项目

原来项目是node14的版本&#xff0c;现在用node16运行npm i 会报以下错误 node-sass4.14.1 postinstall: node scripts/build.js npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the node-sass4.14.1 postinstall script. npm ERR! This is probably not a problem with …...

在Linux中掌握不同的命令,让创建文件变得易如反掌

在Linux中创建一个新文件很简单,但也有一些令人惊讶和灵巧的技术。​在本教程中,学习如何从Linux终端创建文件。​ 先决条件 访问命令行/终端窗口(Ctrl-Alt-F2或Ctrl-Alt-T) 具有sudo权限的用户帐户(对于某些文件/目录是可选的) 从命令行创建新的Linux文件 Linux的设计…...

iOS 14 YYAnimatedImageView加载图片失败处理

升级到iOS14&#xff0c;之前使用的YYimage框架全部不能正常显示图片,当然动态图正常显示&#xff0c;静态图无法显示&#xff1b; 原因是&#xff1a;14.0 系统调用了下面方法&#xff0c;YYAnimatedImageView没有正确处理 -(void)displayLayer:(CALayer )layer; 1 可以用以下…...

兴趣社如何搭建一个兴趣社区?

社交产品的本质是帮助用户提升社交的质量与效率&#xff0c;而兴趣则是找到本质的捷径。用户对兴趣社区的使用主要是围绕兴趣爱好&#xff0c;社交属性以及粉丝活动三个方向。对感兴趣的话题&#xff0c;用户天然有更强的分享讨论欲&#xff0c;更期待与人社交互动。“越垂直的…...

腾讯wifi码推广如何代理?方法详解!

腾讯wifi码推广是一种利用微信扫码连接商家wifi的方式&#xff0c;用户看完广告后就可以免费上网&#xff0c;而推广者则可以获得广告收益。 那么怎样代理腾讯wifi码推广呢&#xff1f; 答案是腾讯官方没有这个项目&#xff0c;那是怎么回事呢&#xff0c;腾讯wifi码正确的名称…...

linux下读取socket相关的系统调用总结

recv 函数原型 /* Read N bytes into BUF from socket FD.Returns the number read or -1 for errors.This function is a cancellation point and therefore not marked with__THROW. */ extern ssize_t recv (int __fd, void *__buf, size_t __n, int __flags); 所属文件…...

kafka生产者发送消息报错 Bootstrap broker localhost:9092 (id: -1 rack: null) disconnected

报这个错误是因为kafka里的配置要修改下 在config目录下 server.properties配置文件 这下发送消息就不会一直等待&#xff0c;就可以发送成功了...

内存文件初始化

要在内存中初始化一个SQLite数据库文件&#xff0c;可以使用SQLite提供的特殊URI格式进行连接。以下是一种常见的方法&#xff1a; #include <sqlite3.h>int main() {sqlite3* db;// 在内存中创建或打开数据库文件int ret sqlite3_open(":memory:", &db)…...

【`opencv_core` 和 `opencv_imgcodecs` 是 OpenCV(开源计算机视觉库)的两个主要模块】

opencv_core 和 opencv_imgcodecs 是 OpenCV&#xff08;开源计算机视觉库&#xff09;的两个主要模块。下面简要描述这两个模块的主要功能&#xff1a; opencv_core: 这是 OpenCV 的核心模块&#xff0c;为其他 OpenCV 模块提供了基础的数据结构和函数。它包含了基本的数据类型…...

系统架构师备考倒计时24天(每日知识点)

模块独立性的度量 聚合&#xff1a;衡量模块内部各元素结合的紧密程度偶然聚合&#xff1a;模块完成的动作之间没有任何关系&#xff0c;或者仅仅是一种非常松散的关系。逻辑聚合&#xff1a;模块内部的各个组成在逻辑上具有相似的处理动作&#xff0c;但功能用途上彼此无关。…...

多无人机编队集群飞行

matlab2016b可直接运行 多无人机集群编队飞行&#xff08;8架无人机&#xff09;资源-CSDN文库...

【C++杂货铺】一文带你走进哈希:哈希冲突 | 哈希函数 | 闭散列 | 开散列

文章目录 一、unordered 系列关联式容器二、unordered_map1.1 unordered_map 介绍1.2 unordered_map 的接口说明1.2.1 unordered_map 的构造1.2.2 unordered_map 的容量1.2.3 unordered_map 的迭代器1.2.4 unordered_map 的元素访问1.2.5 unordered_map 的查询1.2.6 unordered_…...

docker 搭建本地Chat GPT

要在CentOS7上安装Docker&#xff0c;您可以按照以下步骤进行操作&#xff1a; 1、更新系统包列表 sudo yum update2、安装Docker存储库的必要软件包 sudo yum install -y yum-utils device-mapper-persistent-data lvm23、添加Docker存储库 sudo yum-config-manager --add…...

电脑怎么剪辑视频?高手分享的独家秘诀

视频剪辑是一项有趣而具有创造性的活动&#xff0c;可以帮助您将录制的视频片段转化为有趣、有启发性的作品。无论您是想创建家庭影片、Vlog视频、教程&#xff0c;还是其他任何类型的视频&#xff0c;掌握视频剪辑技巧都是必要的。那电脑怎么剪辑视频呢&#xff1f;在本篇文章…...

LCR 171.训练计划 V

​​题目来源&#xff1a; leetcode题目&#xff0c;网址&#xff1a;LCR 171. 训练计划 V - 力扣&#xff08;LeetCode&#xff09; 解题思路&#xff1a; 双指针。node1 指向headA&#xff0c;node2 指向headB&#xff0c;将两节点每次移动一个节点直至两指针指向同一节点或…...

CH6-中断和异常处理

6.1 中断和异常处理概述 中断和异常概述&#xff08;INTERRUPT AND EXCEPTION OVERVIEW&#xff09; 中断和异常向量&#xff1a;中断和异常在处理器中都有对应的编号&#xff0c;被称为向量。当中断或异常发生时&#xff0c;处理器会根据向量找到相应的中断处理程序或异常处理…...

Hive的文件合并

背景:Flink数据写入到stage层,然后再入ods层,中间导致hive数据实时性不强,随后做优化,Flink之间以orc格式写入到hive 问题:单表日800亿数据量,产生过多的小文件,影响Impala查询 解决:对hive小文件进行合并, ALTER TABLE lt_ipsy_xdr_temp PARTITION (day20230829, hour9,type…...

Mac删除不在程序坞的程序

现象描述&#xff1a;删除某个程序时&#xff08;通过‘程序’列表中将该应用移动到废纸篓里&#xff09;&#xff0c;该应用程序正在运行中&#xff0c;删除过程该程序未提示正在运行中&#xff0c;仅仅删除了图标&#xff08;在此吐槽下该程序的交互&#xff0c;产品没有考虑…...