修复上传问题

This commit is contained in:
橙子
2022-10-16 15:54:49 +08:00
parent 95c506c638
commit cf43dc8e70
15 changed files with 86 additions and 26 deletions

View File

@@ -19,7 +19,7 @@ namespace Yi.Framework.Service
//.WhereIF(!string.IsNullOrEmpty(config.ConfigKey), u => u.ConfigKey.Contains(config.ConfigKey))
.WhereIF(page.StartTime is not null && page.EndTime is not null, u => u.CreateTime >= page.StartTime && u.CreateTime <= page.EndTime)
.WhereIF(entity.IsDeleted is not null, u => u.IsDeleted == entity.IsDeleted)
.OrderBy(u => u.CreateTime, OrderByType.Desc)
.OrderBy(u => u.CreateTime, OrderByType.Asc)
.ToPageListAsync(page.PageNum, page.PageSize, total);
return new PageModel<List<ArticleEntity>>(data, total);

View File

@@ -1,8 +1,8 @@
import myaxios from '@/utils/myaxios.ts'
import myaxios from '@/utils/myaxios'
import { ArticleEntity } from '@/type/interface/ArticleEntity'
export default {
add(data: ArticleEntity) {
add(data:any) {
console.log(data)
return myaxios({
url: `/article/add`,
@@ -10,7 +10,7 @@ export default {
data: data
})
},
pageList(data:ArticleEntity) {
pageList(data:any) {
return myaxios({
url: '/article/pageList',
method: 'get',

View File

@@ -1,4 +1,4 @@
import myaxios from '@/utils/myaxios.ts'
import myaxios from '@/utils/myaxios'
export default{
upload(type:string,data:any){

View File

@@ -1,4 +1,4 @@
import myaxios from '@/utils/myaxios.ts'
import myaxios from '@/utils/myaxios'
// 登录方法
export function login(username:string, password:string, code:string, uuid:string) {

View File

@@ -9,7 +9,7 @@
</template>
<script setup lang="ts">
import { ref } from 'vue'
import {AppGridData} from '@/type/class/AppGridData.ts'
import {AppGridData} from '@/type/class/AppGridData'
defineProps<{ data: AppGridData }>()
const count = ref(0)
</script>

View File

@@ -7,7 +7,6 @@ import 'vant/es/notify/style';
import router from './router'
import store from './store'
import './permission'
import App from './App.vue'
const app=createApp(App)

View File

@@ -13,7 +13,7 @@ const useUserStore = defineStore(
}),
actions: {
// 登录
login(userInfo) {
login(userInfo:any ) {
const username = userInfo.username.trim()
const password = userInfo.password
const code = userInfo.code
@@ -48,7 +48,7 @@ const useUserStore = defineStore(
// this.permissions=["*:*:*"]
} else {
this.roles = ['ROLE_DEFAULT']
this.roles = ["ROLE_DEFAULT"] as never[]
}
// this.roles = ["admin"];
// this.permissions=["*:*:*"]
@@ -67,7 +67,8 @@ const useUserStore = defineStore(
// 退出系统
logOut() {
return new Promise((resolve, reject) => {
logout(this.token).then((response) => {
//this.token
logout().then((response) => {
this.token = ''
this.roles = []
this.permissions = []

View File

@@ -1,3 +1,4 @@
import axios from 'axios'
// import store from '../store/index'
// import vm from '../main'
@@ -24,12 +25,12 @@ const myaxios = axios.create({
}],
})
// 请求拦截器
myaxios.interceptors.request.use(function(config) {
myaxios.interceptors.request.use(function(config:any) {
const isToken = (config.headers || {}).isToken === false
// 是否需要防止数据重复提交
const isRepeatSubmit = (config.headers || {}).repeatSubmit === false
if (getToken() && !isToken) {
config.headers['Authorization'] = 'Bearer ' + getToken() // 让每个请求携带自定义token 请根据实际情况自行修改
config.headers['Authorization'] = 'Bearer ' + getToken()
}
// store.dispatch("openLoad");
return config;

View File

@@ -73,8 +73,8 @@ import { ref, onMounted, reactive, toRefs } from "vue";
import { ImagePreview, Toast } from "vant";
import AppCreateTime from "@/components/AppCreateTime.vue";
import AppUserIcon from "@/components/AppUserIcon.vue";
import articleApi from "@/api/articleApi.ts";
import { ArticleEntity } from "@/type/interface/ArticleEntity.ts";
import articleApi from "@/api/articleApi";
import { ArticleEntity } from "@/type/interface/ArticleEntity";
const VanImagePreview = ImagePreview.Component;
const url = `${import.meta.env.VITE_APP_BASE_API}/file/`;
const data = reactive({
@@ -88,7 +88,7 @@ const data = reactive({
});
const { queryParams } = toRefs(data);
const articleList = ref<ArticleEntity[]>([]);
const articleList = ref<any[]>([]);
const totol = ref<Number>(0);
const imageShow = ref(false);
const index = ref(0);
@@ -119,7 +119,7 @@ const onLoad = async () => {
finished.value = true;
} else {
console.log("执行");
articleList.value.push(...(response.data.data as ArticleEntity[]));
articleList.value.push(...(response.data.data));
totol.value = response.data.totol;
queryParams.value.pageNum += 1;
}
@@ -149,7 +149,7 @@ onMounted(() => {
const getList = () => {
articleApi.pageList(queryParams.value).then((response: any) => {
articleList.value.push(...(response.data.data as ArticleEntity[]));
articleList.value.push(...(response.data.data));
totol.value = response.data.totol;
});
};

View File

@@ -90,7 +90,7 @@
</template>
<script setup lang="ts">
import AppGrid from "@/components/AppGrid.vue";
import { AppGridData } from "@/type/class/AppGridData.ts";
import { AppGridData } from "@/type/class/AppGridData";
import { ref } from "vue";
import { Dialog } from "vant";
import useUserStore from "@/store/modules/user";

View File

@@ -39,7 +39,7 @@
<van-divider />
<van-row>
<van-col class="img-col" span="24">
<van-uploader :after-read="afterRead" v-model="fileList" multiple />
<van-uploader accept="image/*" :after-read="afterRead" v-model="fileList" multiple />
</van-col>
</van-row>
</div>
@@ -47,9 +47,9 @@
</template>
<script setup lang="ts">
import { ref, onMounted, reactive, toRefs,watch } from "vue";
import { ArticleEntity } from "@/type/interface/ArticleEntity.ts";
import fileApi from "@/api/fileApi.ts";
import articleApi from "@/api/articleApi.ts";
import { ArticleEntity } from "@/type/interface/ArticleEntity";
import fileApi from "@/api/fileApi";
import articleApi from "@/api/articleApi";
import { Toast } from "vant";
import { useRouter } from 'vue-router'
const router = useRouter();
@@ -58,6 +58,7 @@ const form = reactive<ArticleEntity>({
content: "",
images: [],
isDeleted: false,
createTime:""
});
const isSend=ref(false)
@@ -68,7 +69,6 @@ onMounted(() => {
visible.value = true;
});
const afterRead = (file: any) => {
file.status = "uploading";
file.message = "上传中...";
var formData = new FormData();
@@ -83,12 +83,20 @@ else
file.forEach((f:any) => {
formData.append("file", f.file);
});
Toast({
message: "全部文件正在上传",
position: "bottom",
});
}
fileApi.upload("image", formData)
.then((response: any) => {
images.value.push(...response.data);
file.status = "done";
file.message = "成功";
Toast({
message: "文件上传成功",
position: "bottom",
});
})
};
@@ -118,7 +126,6 @@ watch(()=>form.content,(newValue,oldValue)=>{
{
isSend.value=true
}
console.log(isSend.value?'#FFF':'#111')
})
</script>
<style scoped>

View File

@@ -13,6 +13,11 @@
"lib": ["ESNext", "DOM"],
"skipLibCheck": true,
// "strictPropertyInitialization": false
"paths": {
"@": ["./src"],
// "@/*": ["./src/*"] // 多加个这个,
"@/*": ["./src/*"]
}
},
"include": ["src/**/*.ts", "src/**/*.d.ts", "src/**/*.tsx", "src/**/*.vue"],
"references": [{ "path": "./tsconfig.node.json" }]

View File

@@ -19,7 +19,8 @@ export default defineConfig(({ mode, command }) => {
// 设置路径
'~': path.resolve(__dirname, './'),
// 设置别名
'@': path.resolve(__dirname, './src')
// '@': path.resolve(__dirname, './src'),
"@": path.join(__dirname, "./src"),
}
},
server: {

View File

@@ -0,0 +1,46 @@
// vite.config.ts
import { defineConfig, loadEnv } from "vite";
import path from "path";
import vue from "@vitejs/plugin-vue";
import Components from "unplugin-vue-components/vite";
import { VantResolver } from "unplugin-vue-components/resolvers";
var __vite_injected_original_dirname = "D:\\CC.Yi\\CC.Yi\\Yi.Vue3.x.Vant";
var vite_config_default = defineConfig(
({ mode, command }) => {
const env = loadEnv(mode, process.cwd());
const { VITE_APP_ENV, VITE_APP_BASE_URL } = env;
return {
plugins: [vue(), Components({
resolvers: [VantResolver()]
})],
resolve: {
alias: {
"~": path.resolve(__vite_injected_original_dirname, "./"),
"@": path.join(__vite_injected_original_dirname, "./src")
}
},
server: {
port: 17e3,
host: true,
open: true,
proxy: {
"/dev-api": {
target: VITE_APP_BASE_URL,
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-api/, "")
},
"/dev-ws": {
target: VITE_APP_BASE_URL,
changeOrigin: true,
rewrite: (p) => p.replace(/^\/dev-ws/, ""),
ws: true
}
}
}
};
}
);
export {
vite_config_default as default
};
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZS5jb25maWcudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJEOlxcXFxDQy5ZaVxcXFxDQy5ZaVxcXFxZaS5WdWUzLnguVmFudFwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiRDpcXFxcQ0MuWWlcXFxcQ0MuWWlcXFxcWWkuVnVlMy54LlZhbnRcXFxcdml0ZS5jb25maWcudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0Q6L0NDLllpL0NDLllpL1lpLlZ1ZTMueC5WYW50L3ZpdGUuY29uZmlnLnRzXCI7aW1wb3J0IHsgZGVmaW5lQ29uZmlnLCBsb2FkRW52IH0gZnJvbSAndml0ZSdcclxuaW1wb3J0IHBhdGggZnJvbSAncGF0aCdcclxuaW1wb3J0IHZ1ZSBmcm9tICdAdml0ZWpzL3BsdWdpbi12dWUnXHJcbmltcG9ydCBDb21wb25lbnRzIGZyb20gJ3VucGx1Z2luLXZ1ZS1jb21wb25lbnRzL3ZpdGUnO1xyXG5pbXBvcnQgeyBWYW50UmVzb2x2ZXIgfSBmcm9tICd1bnBsdWdpbi12dWUtY29tcG9uZW50cy9yZXNvbHZlcnMnO1xyXG5cclxuXHJcbi8vIGh0dHBzOi8vdml0ZWpzLmRldi9jb25maWcvXHJcbmV4cG9ydCBkZWZhdWx0IGRlZmluZUNvbmZpZygoeyBtb2RlLCBjb21tYW5kIH0pID0+IHtcclxuICBjb25zdCBlbnYgPSBsb2FkRW52KG1vZGUsIHByb2Nlc3MuY3dkKCkpXHJcbiAgY29uc3QgeyBWSVRFX0FQUF9FTlYsIFZJVEVfQVBQX0JBU0VfVVJMfSA9IGVudlxyXG4gIHJldHVybiB7XHJcbiAgICBwbHVnaW5zOiBbdnVlKCksIENvbXBvbmVudHMoe1xyXG4gICAgICByZXNvbHZlcnM6IFtWYW50UmVzb2x2ZXIoKV0sXHJcbiAgICB9KSxdLFxyXG4gICAgcmVzb2x2ZToge1xyXG4gICAgICAvLyBodHRwczovL2NuLnZpdGVqcy5kZXYvY29uZmlnLyNyZXNvbHZlLWFsaWFzXHJcbiAgICAgIGFsaWFzOiB7XHJcbiAgICAgICAgLy8gXHU4QkJFXHU3RjZFXHU4REVGXHU1Rjg0XHJcbiAgICAgICAgJ34nOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCAnLi8nKSxcclxuICAgICAgICAvLyBcdThCQkVcdTdGNkVcdTUyMkJcdTU0MERcclxuICAgICAgICAvLyAnQCc6IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsICcuL3NyYycpLFxyXG4gICAgICAgIFwiQFwiOiBwYXRoLmpvaW4oX19kaXJuYW1lLCBcIi4vc3JjXCIpLFxyXG4gICAgICB9XHJcbiAgICB9LFxyXG4gICAgc2VydmVyOiB7XHJcbiAgICAgIHBvcnQ6IDE3MDAwLFxyXG4gICAgICBob3N0OiB0cnVlLFxyXG4gICAgICBvcGVuOiB0cnVlLFxyXG4gIFxyXG4gICAgICBcclxuICAgICAgcHJveHk6IHtcclxuICAgICAgICAvLyBodHRwczovL2NuLnZpdGVqcy5kZXYvY29uZmlnLyNzZXJ2ZXItcHJveHlcclxuICAgICAgICAnL2Rldi1hcGknOiB7XHJcbiAgICAgICAgICB0YXJnZXQ6IFZJVEVfQVBQX0JBU0VfVVJMLFxyXG4gICAgICAgICAgY2hhbmdlT3JpZ2luOiB0cnVlLFxyXG4gICAgICAgICAgcmV3cml0ZTogKHApID0+IHAucmVwbGFjZSgvXlxcL2Rldi1hcGkvLCAnJyksXHJcbiAgICAgICAgfSxcclxuICBcclxuICAgICAgICAnL2Rldi13cyc6IHtcclxuICAgICAgICAgIHRhcmdldDogVklURV9BUFBfQkFTRV9VUkwsXHJcbiAgICAgICAgICBjaGFuZ2VPcmlnaW46IHRydWUsXHJcbiAgICAgICAgICByZXdyaXRlOiAocCkgPT4gcC5yZXBsYWNlKC9eXFwvZGV2LXdzLywgJycpLFxyXG4gICAgICAgICAgd3M6IHRydWVcclxuICAgICAgICB9XHJcbiAgXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgfVxyXG5cclxufVxyXG5cclxuKVxyXG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQWlSLFNBQVMsY0FBYyxlQUFlO0FBQ3ZULE9BQU8sVUFBVTtBQUNqQixPQUFPLFNBQVM7QUFDaEIsT0FBTyxnQkFBZ0I7QUFDdkIsU0FBUyxvQkFBb0I7QUFKN0IsSUFBTSxtQ0FBbUM7QUFRekMsSUFBTyxzQkFBUTtBQUFBLEVBQWEsQ0FBQyxFQUFFLE1BQU0sUUFBUSxNQUFNO0FBQ2pELFVBQU0sTUFBTSxRQUFRLE1BQU0sUUFBUSxJQUFJLENBQUM7QUFDdkMsVUFBTSxFQUFFLGNBQWMsa0JBQWlCLElBQUk7QUFDM0MsV0FBTztBQUFBLE1BQ0wsU0FBUyxDQUFDLElBQUksR0FBRyxXQUFXO0FBQUEsUUFDMUIsV0FBVyxDQUFDLGFBQWEsQ0FBQztBQUFBLE1BQzVCLENBQUMsQ0FBRTtBQUFBLE1BQ0gsU0FBUztBQUFBLFFBRVAsT0FBTztBQUFBLFVBRUwsS0FBSyxLQUFLLFFBQVEsa0NBQVcsSUFBSTtBQUFBLFVBR2pDLEtBQUssS0FBSyxLQUFLLGtDQUFXLE9BQU87QUFBQSxRQUNuQztBQUFBLE1BQ0Y7QUFBQSxNQUNBLFFBQVE7QUFBQSxRQUNOLE1BQU07QUFBQSxRQUNOLE1BQU07QUFBQSxRQUNOLE1BQU07QUFBQSxRQUdOLE9BQU87QUFBQSxVQUVMLFlBQVk7QUFBQSxZQUNWLFFBQVE7QUFBQSxZQUNSLGNBQWM7QUFBQSxZQUNkLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxjQUFjLEVBQUU7QUFBQSxVQUM1QztBQUFBLFVBRUEsV0FBVztBQUFBLFlBQ1QsUUFBUTtBQUFBLFlBQ1IsY0FBYztBQUFBLFlBQ2QsU0FBUyxDQUFDLE1BQU0sRUFBRSxRQUFRLGFBQWEsRUFBRTtBQUFBLFlBQ3pDLElBQUk7QUFBQSxVQUNOO0FBQUEsUUFFRjtBQUFBLE1BQ0Y7QUFBQSxJQUNGO0FBQUEsRUFFRjtBQUVBOyIsCiAgIm5hbWVzIjogW10KfQo=