Kaynağa Gözat

feat: 项目结构调整

周玉环 1 hafta önce
ebeveyn
işleme
570282ebe9
77 değiştirilmiş dosya ile 183 ekleme ve 113 silme
  1. 2 1
      xinkeaboard-web/app.vue
  2. 1 1
      xinkeaboard-web/assets/style/_variable.scss
  3. 1 1
      xinkeaboard-web/assets/style/addressList.scss
  4. 1 1
      xinkeaboard-web/assets/style/agreement.scss
  5. 2 2
      xinkeaboard-web/assets/style/decorate.scss
  6. 1 1
      xinkeaboard-web/assets/style/goodsList.scss
  7. 1 1
      xinkeaboard-web/assets/style/homeImgLayout.scss
  8. 2 2
      xinkeaboard-web/assets/style/index.scss
  9. 1 1
      xinkeaboard-web/assets/style/member/collect.scss
  10. 1 1
      xinkeaboard-web/assets/style/member/index.scss
  11. 1 1
      xinkeaboard-web/assets/style/member/info.scss
  12. 1 1
      xinkeaboard-web/assets/style/register.scss
  13. 1 1
      xinkeaboard-web/assets/style/store/contac-about.scss
  14. 1 1
      xinkeaboard-web/assets/style/store/goodsList.scss
  15. 1 1
      xinkeaboard-web/assets/style/store/storeHeader.scss
  16. 1 1
      xinkeaboard-web/assets/style/theme.scss
  17. 1 1
      xinkeaboard-web/assets/style/variable.scss
  18. 1 1
      xinkeaboard-web/components/CategorySort.vue
  19. 1 1
      xinkeaboard-web/components/CategorySortTop.vue
  20. 1 1
      xinkeaboard-web/components/CollectStoreItem.vue
  21. 1 1
      xinkeaboard-web/components/FooterBottom.vue
  22. 1 1
      xinkeaboard-web/components/GoodsListCate2.vue
  23. 1 1
      xinkeaboard-web/components/GoodsListCate3.vue
  24. 3 3
      xinkeaboard-web/components/Home/home.vue
  25. 1 1
      xinkeaboard-web/components/MemberLeftNav.vue
  26. 1 1
      xinkeaboard-web/components/MemberTitle.vue
  27. 3 3
      xinkeaboard-web/components/SldDiy.vue
  28. 1 1
      xinkeaboard-web/components/SldLoginModal.vue
  29. 2 2
      xinkeaboard-web/components/SliderStore.vue
  30. 2 2
      xinkeaboard-web/components/SliderStoreAbout.vue
  31. 1 1
      xinkeaboard-web/components/Store/HeaderCat.vue
  32. 2 2
      xinkeaboard-web/components/StoreItem.vue
  33. 1 1
      xinkeaboard-web/components/articleLeft.vue
  34. 1 1
      xinkeaboard-web/components/enquiryModal.vue
  35. 1 1
      xinkeaboard-web/components/loginModal.vue
  36. 2 1
      xinkeaboard-web/composables/index.js
  37. 3 8
      xinkeaboard-web/composables/useFetchRaw.ts
  38. 19 2
      xinkeaboard-web/nuxt.config.ts
  39. 2 2
      xinkeaboard-web/pages/Topic.vue
  40. 1 1
      xinkeaboard-web/pages/article.vue
  41. 1 1
      xinkeaboard-web/pages/email/active.vue
  42. 2 2
      xinkeaboard-web/pages/email/reset/pwd.vue
  43. 2 2
      xinkeaboard-web/pages/goods/Category.vue
  44. 4 4
      xinkeaboard-web/pages/goods/detail/[id].vue
  45. 2 2
      xinkeaboard-web/pages/goods/list/[...slug].vue
  46. 3 3
      xinkeaboard-web/pages/home/about.vue
  47. 2 2
      xinkeaboard-web/pages/home/contact.vue
  48. 0 1
      xinkeaboard-web/pages/index.vue
  49. 1 1
      xinkeaboard-web/pages/login.vue
  50. 1 1
      xinkeaboard-web/pages/member/account.vue
  51. 1 1
      xinkeaboard-web/pages/member/address/list.vue
  52. 1 1
      xinkeaboard-web/pages/member/balance.vue
  53. 2 2
      xinkeaboard-web/pages/member/collect.vue
  54. 1 1
      xinkeaboard-web/pages/member/coupon.vue
  55. 2 2
      xinkeaboard-web/pages/member/footprint.vue
  56. 2 2
      xinkeaboard-web/pages/member/index/home.vue
  57. 1 1
      xinkeaboard-web/pages/member/info.vue
  58. 1 1
      xinkeaboard-web/pages/member/login/agreement.vue
  59. 1 1
      xinkeaboard-web/pages/member/login/forget.vue
  60. 2 2
      xinkeaboard-web/pages/member/mypoint.vue
  61. 2 2
      xinkeaboard-web/pages/member/order/aftersales.vue
  62. 1 1
      xinkeaboard-web/pages/member/order/detail.vue
  63. 1 1
      xinkeaboard-web/pages/member/order/evaluation.vue
  64. 1 1
      xinkeaboard-web/pages/member/order/list.vue
  65. 1 1
      xinkeaboard-web/pages/member/pointorder/list.vue
  66. 1 1
      xinkeaboard-web/pages/member/pwd/login.vue
  67. 1 1
      xinkeaboard-web/pages/member/pwd/pay.vue
  68. 1 1
      xinkeaboard-web/pages/member/recharge.vue
  69. 1 1
      xinkeaboard-web/pages/register.vue
  70. 2 2
      xinkeaboard-web/pages/store/[id].vue
  71. 2 2
      xinkeaboard-web/pages/store/about/[about].vue
  72. 2 2
      xinkeaboard-web/pages/store/contact/[contact].vue
  73. 2 2
      xinkeaboard-web/pages/store/goods/[...slug].vue
  74. 2 2
      xinkeaboard-web/pages/store/list/[...slug].vue
  75. 2 2
      xinkeaboard-web/pages/store/listBack.vue
  76. 4 0
      xinkeaboard-web/plugins/vue-warn-handler.js
  77. 53 0
      xinkeaboard-web/replace-use-with-import.js

+ 2 - 1
xinkeaboard-web/app.vue

@@ -27,6 +27,7 @@ useHead({
 
 const setHead = () => {
   get('v3/system/front/setting/getSettings?names=gz_code').then(res=>{
+    debugger;
     if(!res.data[0] || res.data[0] == ''){
       return
     }
@@ -64,7 +65,7 @@ const googleTranslateElement = (id) => {
 
 onMounted(() => {
   nextTick(()=>{
-    googleTranslateInit()
+    if (google) googleTranslateInit()
   })
 })
 

+ 1 - 1
xinkeaboard-web/assets/style/_variable.scss

@@ -36,4 +36,4 @@ $colorK: #f8f8f8 !default; //辅色,背景色
 ///* 改变 icon 字体路径变量,必需 */
 //$--font-path: '~element-plus/lib/theme-chalk/fonts';
 //
-//@use "~element-plus/packages/theme-chalk/src/index" as *;
+//@import "~element-plus/packages/theme-chalk/src/index";

+ 1 - 1
xinkeaboard-web/assets/style/addressList.scss

@@ -1,4 +1,4 @@
-@use "../style/theme.scss" as *;
+@import "../style/theme.scss";
 
 .sld_address_list {
     border: 1px solid #EEEEEE;

+ 1 - 1
xinkeaboard-web/assets/style/agreement.scss

@@ -1,4 +1,4 @@
-@use "./theme.scss" as *;
+@import "./theme.scss";
 .sld_login {
   .sld_login_header {
     background: #fff;

+ 2 - 2
xinkeaboard-web/assets/style/decorate.scss

@@ -1,5 +1,5 @@
-@use "./mixins.scss" as *;
-@use "./theme.scss" as *;
+@import "./mixins.scss";
+@import "./theme.scss";
 /* 装修页面样式-start */
 .diy_part_wrap {
   background: #f9f9f9;

+ 1 - 1
xinkeaboard-web/assets/style/goodsList.scss

@@ -1,4 +1,4 @@
-@use "./theme.scss" as *;
+@import "./theme.scss";
 *,
 html,
 body {

+ 1 - 1
xinkeaboard-web/assets/style/homeImgLayout.scss

@@ -1,4 +1,4 @@
-@use "./theme.scss" as *;
+@import "./theme.scss";
 
 
 .industry-booth {

+ 2 - 2
xinkeaboard-web/assets/style/index.scss

@@ -1,5 +1,5 @@
-@use "./base.scss" as *;
-@use "./iconfont.css" as *;
+@import "./base.scss";
+@import "./iconfont.css";
 .bottom_line{
   width:100%;
   height:2px;

+ 1 - 1
xinkeaboard-web/assets/style/member/collect.scss

@@ -1,5 +1,5 @@
 
-@use "../theme.scss" as *;
+@import "../theme.scss";
 
 .fl {
     float: left;

+ 1 - 1
xinkeaboard-web/assets/style/member/index.scss

@@ -1,4 +1,4 @@
-@use "../theme.scss" as *;
+@import "../theme.scss";
 
 
 .fl {

+ 1 - 1
xinkeaboard-web/assets/style/member/info.scss

@@ -1,4 +1,4 @@
-@use "../theme.scss" as *;
+@import "../theme.scss";
 
 .clearfix {
     zoom: 1;

+ 1 - 1
xinkeaboard-web/assets/style/register.scss

@@ -1,4 +1,4 @@
-@use "./theme.scss" as *;
+@import "./theme.scss";
 .sld_login {
   .sld_login_header {
     background: #fff;

+ 1 - 1
xinkeaboard-web/assets/style/store/contac-about.scss

@@ -1,4 +1,4 @@
-@use "../theme.scss" as *;
+@import "../theme.scss";
 
 .wrap{
     position: relative;

+ 1 - 1
xinkeaboard-web/assets/style/store/goodsList.scss

@@ -1,4 +1,4 @@
-@use "../theme.scss" as *;
+@import "../theme.scss";
 
 .clearfix:after {
   content: "";

+ 1 - 1
xinkeaboard-web/assets/style/store/storeHeader.scss

@@ -1,4 +1,4 @@
-@use "../theme.scss" as *;
+@import "../theme.scss";
 
 .sld_store_header {
   background: #fff;

+ 1 - 1
xinkeaboard-web/assets/style/theme.scss

@@ -35,7 +35,7 @@ $colorHover:    #1ba66c!default; //主色、文字选中、搜索
 ///* 改变 icon 字体路径变量,必需 */
 //$--font-path: '~element-plus/lib/theme-chalk/fonts';
 //
-//@use "~element-plus/packages/theme-chalk/src/index" as *;
+//@import "~element-plus/packages/theme-chalk/src/index";
 .self_background{
   background: #f1f1f1;
 }

+ 1 - 1
xinkeaboard-web/assets/style/variable.scss

@@ -37,4 +37,4 @@ $colorK:      #F8F8F8 !default; //辅色,背景色
 ///* 改变 icon 字体路径变量,必需 */
 //$--font-path: '~element-plus/lib/theme-chalk/fonts';
 //
-//@use "~element-plus/packages/theme-chalk/src/index" as *;
+//@import "~element-plus/packages/theme-chalk/src/index";

+ 1 - 1
xinkeaboard-web/components/CategorySort.vue

@@ -115,7 +115,7 @@ const toGoodsList = (item) => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/theme.scss";
 
 .index {
   background: #f8f8f8;

+ 1 - 1
xinkeaboard-web/components/CategorySortTop.vue

@@ -130,7 +130,7 @@ const toGoodsList = (item) => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/theme.scss";
 
 .index {
   background: #f8f8f8;

+ 1 - 1
xinkeaboard-web/components/CollectStoreItem.vue

@@ -216,5 +216,5 @@ const storeGoodsSwitch = (index) => {
 onMounted(() => {});
 </script>
 <style lang="scss">
-@use "@/assets/style/member/collect.scss" as *;
+@import "@/assets/style/member/collect.scss";
 </style>

+ 1 - 1
xinkeaboard-web/components/FooterBottom.vue

@@ -122,7 +122,7 @@ getCopyrightData();
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/theme.scss";
 
 .footer_link {
   width: 100%;

+ 1 - 1
xinkeaboard-web/components/GoodsListCate2.vue

@@ -30,7 +30,7 @@ defineProps(["cateItem", "cate2Name"]);
 
 </script>
 <style lang="scss">
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/theme.scss";
 
 .clearfix {
   display: block;

+ 1 - 1
xinkeaboard-web/components/GoodsListCate3.vue

@@ -236,7 +236,7 @@ getInitData(params);
 </script>
 
 <style lang="scss">
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/theme.scss";
 
 .clearfix {
   display: block;

+ 3 - 3
xinkeaboard-web/components/Home/home.vue

@@ -116,9 +116,9 @@ const handleAdv19 = (data) => {
 onMounted(() => {});
 </script>
 <style lang="scss" scoped>
-@use "@/assets/style/decorate.scss" as *;
-@use "@/assets/style/theme.scss" as *;
-@use "@/assets/style/homeImgLayout.scss" as *;
+@import "@/assets/style/decorate.scss";
+@import "@/assets/style/theme.scss";
+@import "@/assets/style/homeImgLayout.scss";
 
 .index {
   min-height: 456px;

+ 1 - 1
xinkeaboard-web/components/MemberLeftNav.vue

@@ -149,7 +149,7 @@ const testIfShow = (nav_info) => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/theme.scss";
 .sld_member_left_nav {
   float: left;
   width: 240px;

+ 1 - 1
xinkeaboard-web/components/MemberTitle.vue

@@ -20,7 +20,7 @@ const L = getCurLanguage();
 defineProps(["memberTitle","memberPath","memberTitleS"]);
 </script>
 <style lang="scss">
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/theme.scss";
 .member_title_breadcrumb{
    
     background: $colorK;

+ 3 - 3
xinkeaboard-web/components/SldDiy.vue

@@ -1363,9 +1363,9 @@ const adv19Tab = (dataId, index, key, items) => {
 };
 </script>
 <style lang="scss" scoped>
-@use "@/assets/style/decorate.scss" as *;
-@use "@/assets/style/theme.scss" as *;
-@use "@/assets/style/mixins.scss" as *;
+@import "@/assets/style/decorate.scss";
+@import "@/assets/style/theme.scss";
+@import "@/assets/style/mixins.scss";
 
 .sld_diy {
   .el-carousel {

+ 1 - 1
xinkeaboard-web/components/SldLoginModal.vue

@@ -188,7 +188,7 @@ const closeModal = () => {
 </script>
 
 <style lang="scss">
-@use "@/assets/style/loginModal.scss" as *;
+@import "@/assets/style/loginModal.scss";
 
 .sld_login_modal {
   .el-dialog {

+ 2 - 2
xinkeaboard-web/components/SliderStore.vue

@@ -136,6 +136,6 @@ onMounted(() => {
 </style>
 
 <style lang="scss" scoped>
-@use "@/assets/style/storeList.scss" as *;
-@use "@/assets/style/store/contac-about.scss" as *;
+@import "@/assets/style/storeList.scss";
+@import "@/assets/style/store/contac-about.scss";
 </style>

+ 2 - 2
xinkeaboard-web/components/SliderStoreAbout.vue

@@ -137,6 +137,6 @@ onMounted(() => {
 </style>
 
 <style lang="scss" scoped>
-@use "@/assets/style/storeListAbout.scss" as *;
-@use "@/assets/style/store/contac-about.scss" as *;
+@import "@/assets/style/storeListAbout.scss";
+@import "@/assets/style/store/contac-about.scss";
 </style>

+ 1 - 1
xinkeaboard-web/components/Store/HeaderCat.vue

@@ -368,7 +368,7 @@ const inputBlur = () => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/store/storeHeader.scss" as *;
+@import "@/assets/style/store/storeHeader.scss";
 
 .kefu {
   img {

+ 2 - 2
xinkeaboard-web/components/StoreItem.vue

@@ -38,8 +38,8 @@ const colors = ref(["#00985e", "#00985e", "#00985e"]);
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/storeList.scss" as *;
-@use "@/assets/style/base.scss" as *;
+@import "@/assets/style/storeList.scss";
+@import "@/assets/style/base.scss";
 
 .empty {
   width: 100%;

+ 1 - 1
xinkeaboard-web/components/articleLeft.vue

@@ -153,7 +153,7 @@ if (process.client) {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/theme.scss";
 
 .sortes {
   display: flex;

+ 1 - 1
xinkeaboard-web/components/enquiryModal.vue

@@ -215,5 +215,5 @@ onMounted(() => {
 </script>
 
 <style lang="scss">
-@use "@/assets/style/enquiry.scss" as *;
+@import "@/assets/style/enquiry.scss";
 </style>

+ 1 - 1
xinkeaboard-web/components/loginModal.vue

@@ -186,7 +186,7 @@ const closeModal = () => {
 </script>
 
 <style lang="scss">
-@use "@/assets/style/loginModal.scss" as *;
+@import "@/assets/style/loginModal.scss";
 
 .sld_login_modal {
   .el-dialog {

+ 2 - 1
xinkeaboard-web/composables/index.js

@@ -1,4 +1,5 @@
-export const apiUrl = 'https://www.b2btopsite.com/api/';
+// export const apiUrl = 'https://www.b2btopsite.com/api/';
+export const apiUrl = 'http://54.46.9.88:8001/';
 export const defaultUrl = 'https://www.b2btopsite.com/api/';
 export const supplierUrl = 'https://seller.b2btopsite.com/user/login';
 export const curLang = 'en'

+ 3 - 8
xinkeaboard-web/composables/useFetchRaw.ts

@@ -1,15 +1,10 @@
 import { useFetch as _useFetch } from '#app'
-import { computed, unref } from 'vue'
-
-export function useFetchRaw<T = any>(url: string, options?: any) {
-  const { data, error, pending, refresh, execute } = _useFetch<T>(url, options)
-
-  // 自动解包 .value,返回一个 computed
-  const rawData = computed(() => unref(data))
 
+export async function useFetchRaw<T = any>(url: string, options?: any) {
+  const { data, error, pending, refresh, execute } = await _useFetch<T>(url, options)
   return {
     data: {
-      _rawValue: rawData.value,
+      _rawValue: data.value,
     },
     error,
     pending,

+ 19 - 2
xinkeaboard-web/nuxt.config.ts

@@ -9,15 +9,16 @@ export default defineNuxtConfig({
     "@/assets/style/reset.scss",
     "@/assets/style/base.scss",
     "@/assets/iconfont/iconfont.css",
-    "element-plus/dist/index.css"
+    "element-plus/dist/index.css",
   ],
   modules: ["@pinia/nuxt"],
   vite: {
-    cacheDir: ".vite-cache", // 指定 vite 缓存位置(默认就是这个)
+    // cacheDir: ".vite-cache", // 指定 vite 缓存位置(默认就是这个)
     css: {
       preprocessorOptions: {
         scss: {
           additionalData: '@use "@/assets/style/theme.scss" as *;',
+          quietDeps: true, // 禁用 Deprecation Warning
         },
       },
     },
@@ -38,7 +39,21 @@ export default defineNuxtConfig({
           rewrite: (path) => path.replace(/^\/api/, ""),
         },
       },
+      hmr: {
+        overlay: false, // 关闭 HMR 警告/错误弹窗
+      },
     },
+    // 👇 开发环境强制打成一个 chunk
+    build:
+      process.env.NODE_ENV === "development"
+        ? {
+            rollupOptions: {
+              output: {
+                manualChunks: () => "index.js", // 所有打进一个 chunk
+              },
+            },
+          }
+        : undefined
     // build: {
     //   rollupOptions: {
     //     plugins: [
@@ -55,6 +70,8 @@ export default defineNuxtConfig({
       },
     },
   },
+  // plugins: ["~/plugins/vue-warn-handler.js"],
+
   build: {
     // transpile: ["element-plus"],
   },

+ 2 - 2
xinkeaboard-web/pages/Topic.vue

@@ -81,8 +81,8 @@ const getInitData = async () => {
 getInitData();
 </script>
 <style lang="scss" scoped>
-@use "@/assets/style/decorate.scss" as *;
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/decorate.scss";
+@import "@/assets/style/theme.scss";
 .index {
   background: #f8f8f8;
   padding-bottom: 10px;

+ 1 - 1
xinkeaboard-web/pages/article.vue

@@ -130,7 +130,7 @@ watchEffect(() => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/theme.scss";
 
 .article_line {
   border-top: 2px solid $colorMain;

+ 1 - 1
xinkeaboard-web/pages/email/active.vue

@@ -315,7 +315,7 @@ const activeEmail = () => {
 };
 </script>
 <style lang="scss" scoped>
-@use "@/assets/style/register.scss" as *;
+@import "@/assets/style/register.scss";
 
 .el-popup-parent--hidden {
   overflow: visible;

+ 2 - 2
xinkeaboard-web/pages/email/reset/pwd.vue

@@ -271,8 +271,8 @@ onMounted(() => {
 });
 </script>
 <style lang="scss" scoped>
-/*@use "../../../style/forgetPassword.scss" as *;*/
-@use "@/assets/style/register.scss" as *;
+/*@import "../../../style/forgetPassword.scss";*/
+@import "@/assets/style/register.scss";
 
 .el-popup-parent--hidden {
   overflow: visible;

+ 2 - 2
xinkeaboard-web/pages/goods/Category.vue

@@ -153,8 +153,8 @@ onMounted(() => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/category.scss" as *;
-@use "@/assets/style/base.scss" as *;
+@import "@/assets/style/category.scss";
+@import "@/assets/style/base.scss";
 
 .detail_none {
   flex-direction: column;

+ 4 - 4
xinkeaboard-web/pages/goods/detail/[id].vue

@@ -2131,10 +2131,10 @@ const updateFllow = (e) => {
 </script>
 
 <style lang="scss">
-@use "@/assets/style/base.scss" as *;
-@use "@/assets/style/theme.scss" as *;
-@use "@/assets/style/iconfont.css" as *;
-@use "@/assets/style/goodsDetail.scss" as *;
+@import "@/assets/style/base.scss";
+@import "@/assets/style/theme.scss";
+@import "@/assets/style/iconfont.css";
+@import "@/assets/style/goodsDetail.scss";
 
 .popular_list_empty {
   height: 95px;

+ 2 - 2
xinkeaboard-web/pages/goods/list/[...slug].vue

@@ -842,8 +842,8 @@ onMounted(() => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/goodsList.scss" as *;
-@use "@/assets/style/base.scss" as *;
+@import "@/assets/style/goodsList.scss";
+@import "@/assets/style/base.scss";
 
 input[type="checkbox"] {
   display: none;

+ 3 - 3
xinkeaboard-web/pages/home/about.vue

@@ -144,7 +144,7 @@ onMounted(() => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/storeList.scss" as *;
-@use "@/assets/style/base.scss" as *;
-@use "@/assets/style/store/contac-about.scss" as *;
+@import "@/assets/style/storeList.scss";
+@import "@/assets/style/base.scss";
+@import "@/assets/style/store/contac-about.scss";
 </style>

+ 2 - 2
xinkeaboard-web/pages/home/contact.vue

@@ -326,6 +326,6 @@ onMounted(() => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/store/contac-about.scss" as *;
-@use "@/assets/style/contact.scss" as *;
+@import "@/assets/style/store/contac-about.scss";
+@import "@/assets/style/contact.scss";
 </style>

+ 0 - 1
xinkeaboard-web/pages/index.vue

@@ -26,7 +26,6 @@ const getBaseInfo = async () => {
     }
   );
   let res = value._rawValue;
-  debugger;
   if (res.state == 200) {
     useHead({
       title: res.data[0],

+ 1 - 1
xinkeaboard-web/pages/login.vue

@@ -282,5 +282,5 @@ onMounted(() => {
 // });
 </script>
 <style lang="scss" scoped>
-@use "@/assets/style/register.scss" as *;
+@import "@/assets/style/register.scss";
 </style>

+ 1 - 1
xinkeaboard-web/pages/member/account.vue

@@ -105,7 +105,7 @@ const toPage = (url, type) => {
 </script>
 
 <style lang="scss">
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/theme.scss";
 /**
 * 解决el-input设置类型为number时,中文输入法光标上移问题
 **/

+ 1 - 1
xinkeaboard-web/pages/member/address/list.vue

@@ -201,7 +201,7 @@ onMounted(() => {
 });
 </script>
 <style lang="scss">
-@use "@/assets/style/addressList.scss" as *;
+@import "@/assets/style/addressList.scss";
 .el-button--primary {
   color: #fff;
   background-color: $colorMain;

+ 1 - 1
xinkeaboard-web/pages/member/balance.vue

@@ -486,7 +486,7 @@ onMounted(() => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/balance.scss" as *;
+@import "@/assets/style/balance.scss";
 
 .sld_pagination {
   margin-top: 20px;

+ 2 - 2
xinkeaboard-web/pages/member/collect.vue

@@ -379,8 +379,8 @@ onMounted(() => {
 });
 </script>
 <style lang="scss" scoped>
-@use "@/assets/style/base.scss" as *;
-@use "@/assets/style/member/collect.scss" as *;
+@import "@/assets/style/base.scss";
+@import "@/assets/style/member/collect.scss";
 
 .sld_pagination {
   margin-top: 20px;

+ 1 - 1
xinkeaboard-web/pages/member/coupon.vue

@@ -203,5 +203,5 @@ onMounted(() => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/coupon.scss" as *;
+@import "@/assets/style/coupon.scss";
 </style>

+ 2 - 2
xinkeaboard-web/pages/member/footprint.vue

@@ -175,6 +175,6 @@ onMounted(() => {
   border-color: #e2231a !important;
 }
 
-@use "@/assets/style/member/footprint.scss" as *;
-@use "@/assets/style/base.scss" as *;
+@import "@/assets/style/member/footprint.scss";
+@import "@/assets/style/base.scss";
 </style>

+ 2 - 2
xinkeaboard-web/pages/member/index/home.vue

@@ -352,8 +352,8 @@ onMounted(() => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/member/index.scss" as *;
-@use "@/assets/style/base.scss" as *;
+@import "@/assets/style/member/index.scss";
+@import "@/assets/style/base.scss";
 
 .user_order_empty {
   padding: 90px;

+ 1 - 1
xinkeaboard-web/pages/member/info.vue

@@ -234,7 +234,7 @@ onMounted(() => {
 });
 </script>
 <style lang="scss">
-@use "@/assets/style/member/info.scss" as *;
+@import "@/assets/style/member/info.scss";
 
 
 </style>

+ 1 - 1
xinkeaboard-web/pages/member/login/agreement.vue

@@ -69,7 +69,7 @@ onMounted(() => {
 
 </script>
 <style lang="scss" scoped>
-@use "@/assets/style/agreement.scss" as *;
+@import "@/assets/style/agreement.scss";
 .agreement_container {
   width: 800px;
 }

+ 1 - 1
xinkeaboard-web/pages/member/login/forget.vue

@@ -209,7 +209,7 @@ onMounted(() => {
 });
 </script>
 <style lang="scss" scoped>
-@use "@/assets/style/register.scss" as *;
+@import "@/assets/style/register.scss";
 
 .el-popup-parent--hidden {
   overflow: visible;

+ 2 - 2
xinkeaboard-web/pages/member/mypoint.vue

@@ -147,8 +147,8 @@ onMounted(() => {
 });
 </script>
 <style lang="scss">
-@use "@/assets/style/member/myPoint.scss" as *;
-@use "@/assets/style/base.scss" as *;
+@import "@/assets/style/member/myPoint.scss";
+@import "@/assets/style/base.scss";
 
 .sld_pagination {
   margin-right: 40px;

+ 2 - 2
xinkeaboard-web/pages/member/order/aftersales.vue

@@ -242,9 +242,9 @@ const logisticsBill = (afterSalesItem) => {
 
 </script>
 <style lang="scss" scoped>
-@use "@/assets/style/base.scss" as *;
+@import "@/assets/style/base.scss";
 @import "@/assets/style/iconfont.css";
-@use "@/assets/style/afterSalesList.scss" as *;
+@import "@/assets/style/afterSalesList.scss";
 
 .storeName {
   color: #333;

+ 1 - 1
xinkeaboard-web/pages/member/order/detail.vue

@@ -955,5 +955,5 @@ onMounted(() => {
 });
 </script>
 <style lang="scss">
-@use "@/assets/style/member/orderDetail.scss" as *;
+@import "@/assets/style/member/orderDetail.scss";
 </style>

+ 1 - 1
xinkeaboard-web/pages/member/order/evaluation.vue

@@ -222,5 +222,5 @@ onMounted(() => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/member/orderEvaluation.scss" as *;
+@import "@/assets/style/member/orderEvaluation.scss";
 </style>

+ 1 - 1
xinkeaboard-web/pages/member/order/list.vue

@@ -856,7 +856,7 @@ router.beforeEach((to, from, next) => {
 });
 </script>
 <style lang="scss">
-@use "@/assets/style/orderList.scss" as *;
+@import "@/assets/style/orderList.scss";
 
 .el-pager li.active {
   color: $colorMain;

+ 1 - 1
xinkeaboard-web/pages/member/pointorder/list.vue

@@ -617,7 +617,7 @@ router.beforeEach((to, from, next) => {
 });
 </script>
 <style lang="scss">
-@use "@/assets/style/orderList.scss" as *;
+@import "@/assets/style/orderList.scss";
 
 .el-pager li.active {
   color: $colorMain;

+ 1 - 1
xinkeaboard-web/pages/member/pwd/login.vue

@@ -220,7 +220,7 @@ watch([old_password, password, confirm_password], () => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/theme.scss";
 .sld_login_password_mange {
   width: 957px;
   float: left;

+ 1 - 1
xinkeaboard-web/pages/member/pwd/pay.vue

@@ -272,7 +272,7 @@ onMounted(() => {});
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/theme.scss";
 .sld_pay_password_mange {
   width: 1007px;
   float: left;

+ 1 - 1
xinkeaboard-web/pages/member/recharge.vue

@@ -390,7 +390,7 @@ onUnmounted(() => {
 </script>
 
 <style lang="scss">
-@use "@/assets/style/recharge.scss" as *;
+@import "@/assets/style/recharge.scss";
 
 .el-input.is-active .el-input__inner,
 .el-input__inner:focus {

+ 1 - 1
xinkeaboard-web/pages/register.vue

@@ -239,7 +239,7 @@ onMounted(() => {
 });
 </script>
 <style lang="scss" scoped>
-@use "@/assets/style/register.scss" as *;
+@import "@/assets/style/register.scss";
 
 .el-popup-parent--hidden {
   overflow: visible;

+ 2 - 2
xinkeaboard-web/pages/store/[id].vue

@@ -155,8 +155,8 @@ onMounted(()=>{
 })
 </script>
 <style lang="scss" scoped>
-@use "@/assets/style/decorate.scss" as *;
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/decorate.scss";
+@import "@/assets/style/theme.scss";
 
 .index {
   background: #f8f8f8;

+ 2 - 2
xinkeaboard-web/pages/store/about/[about].vue

@@ -127,8 +127,8 @@ onMounted(() => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/base.scss" as *;
-@use "@/assets/style/store/contac-about.scss" as *;
+@import "@/assets/style/base.scss";
+@import "@/assets/style/store/contac-about.scss";
 .sld_store_list {
   :deep .sld_vendor_goods{
   width: 1140px;

+ 2 - 2
xinkeaboard-web/pages/store/contact/[contact].vue

@@ -327,6 +327,6 @@ onMounted(() => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/store/contac-about.scss" as *;
-@use "@/assets/style/contact.scss" as *;
+@import "@/assets/style/store/contac-about.scss";
+@import "@/assets/style/contact.scss";
 </style>

+ 2 - 2
xinkeaboard-web/pages/store/goods/[...slug].vue

@@ -426,8 +426,8 @@ onMounted(() => {
 });
 </script>
 <style lang="scss" scoped>
-@use "@/assets/style/store/goodsList.scss" as *;
-@use "@/assets/style/theme.scss" as *;
+@import "@/assets/style/store/goodsList.scss";
+@import "@/assets/style/theme.scss";
 
 .el-pager li.active {
   color: $colorMain;

+ 2 - 2
xinkeaboard-web/pages/store/list/[...slug].vue

@@ -164,8 +164,8 @@ onMounted(() => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/storeList.scss" as *;
-@use "@/assets/style/base.scss" as *;
+@import "@/assets/style/storeList.scss";
+@import "@/assets/style/base.scss";
 
 .sld_pagination {
   width: 580px;

+ 2 - 2
xinkeaboard-web/pages/store/listBack.vue

@@ -113,8 +113,8 @@ const search_store = (keyWord) => {
 </script>
 
 <style lang="scss" scoped>
-@use "@/assets/style/storeList.scss" as *;
-@use "@/assets/style/base.scss" as *;
+@import "@/assets/style/storeList.scss";
+@import "@/assets/style/base.scss";
 
 .sld_pagination {
   width: 580px;

+ 4 - 0
xinkeaboard-web/plugins/vue-warn-handler.js

@@ -0,0 +1,4 @@
+export default defineNuxtPlugin((nuxtApp) => {
+  // 屏蔽所有 Vue 警告
+  nuxtApp.vueApp.config.warnHandler = () => {}
+})

+ 53 - 0
xinkeaboard-web/replace-use-with-import.js

@@ -0,0 +1,53 @@
+// replace-use-with-import.js
+const fs = require('fs');
+const path = require('path');
+
+const targetDir = path.resolve(process.argv[2] || '.'); // 传入目录,默认当前目录
+
+// 读取目录,递归遍历文件
+function walk(dir) {
+  let results = [];
+  const list = fs.readdirSync(dir, { withFileTypes: true });
+  for (const file of list) {
+    const fullPath = path.join(dir, file.name);
+    if (file.isDirectory()) {
+      results = results.concat(walk(fullPath));
+    } else if (file.isFile()) {
+      if (/\.(vue|scss)$/.test(file.name)) {
+        results.push(fullPath);
+      }
+    }
+  }
+  return results;
+}
+
+// 替换函数
+function replaceUseToImport(content) {
+  // 正则匹配 @use "xxx" as *; 或 @use 'xxx' as *;
+  const regex = /@use\s+(['"])([^'"]+)\1\s+as\s+\*;/g;
+  return content.replace(regex, (match, quote, path) => {
+    return `@import ${quote}${path}${quote};`;
+  });
+}
+
+function main() {
+  const files = walk(targetDir);
+  console.log(`找到 ${files.length} 个文件,开始替换...`);
+
+  let totalReplacements = 0;
+
+  for (const filePath of files) {
+    let content = fs.readFileSync(filePath, 'utf-8');
+    const newContent = replaceUseToImport(content);
+
+    if (newContent !== content) {
+      fs.writeFileSync(filePath, newContent, 'utf-8');
+      totalReplacements++;
+      console.log(`替换完成: ${filePath}`);
+    }
+  }
+
+  console.log(`总共替换了 ${totalReplacements} 个文件中的 @use -> @import`);
+}
+
+main();