曹睿
2025-04-25 ec1bef3a37e8dcdf22f1bf52e7c272a18306f4b9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
<template>
  <view class="faq-container">
    <view class="wechat">
      <view class="tips">
        <text>长按关注「有来技术」公众号,获取交流群二维码。</text>
      </view>
      <view class="flex-center">
        <image
          class="w-158px h-158px"
          :show-menu-by-longpress="true"
          src="/static/images/youlai-mp-qr-code.png"
          mode="aspectFit"
        />
      </view>
      <view>
        <text>如果交流群的二维码过期,请加微信(</text>
        <text :user-select="true" :selectable="true">haoxianrui</text>
        <text>)并备注「前端」、「后端」或「全栈」以获取最新二维码。</text>
      </view>
      <view>
        <text>为确保交流群质量,防止营销广告人群混入,我们采取了此措施。望各位理解!</text>
      </view>
    </view>
 
    <wd-collapse v-model="value">
      <wd-collapse-item title="开源项目issues" name="item1">
        <!-- #ifdef H5 -->
        <a href="https://gitee.com/youlaiorg/vue-uniapp-template/issues">#issues</a>
        <!-- #endif -->
        <!-- #ifdef MP-WEIXIN -->
        <text :user-select="true">https://gitee.com/youlaiorg/vue-uniapp-template/issues</text>
        <!-- #endif -->
      </wd-collapse-item>
      <wd-collapse-item title="小程序分包" name="item2">
        <view>
          <text>
            分包主要是因为小程序平台对主包大小有限制(微信小程序的规则是主包不超过2M,每个分包不超过2M,总体积一共不能超过20M),
            分包不需要按照业务模块来分,可以将多个业务模块放入一个分包中,直到这个分包达到小程序的大小限制才考虑下一个分包。
            uniapp的用法与微信官方文档一样,具体参见:
          </text>
          <!-- #ifdef H5 -->
          <a
            href="https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/basic.html"
          >
            微信官方文档-分包
          </a>
          <!-- #endif -->
          <!-- #ifdef MP-WEIXIN -->
          <text :user-select="true" :selectable="true">
            https://developers.weixin.qq.com/miniprogram/dev/framework/subpackages/basic.html
          </text>
          <!-- #endif -->
        </view>
        <view class="mt-15rpx">
          <text>
            以下是一个简单示例。以下示例中创建了两个分包,分包a中包含两个页面,分包b中包含一个页面。
          </text>
          <text class="mt-15rpx">
            请注意,如果想把分包页面中使用的组件打包到分包中,则需要将组件放入对应的分包目录下,否则组件会被打包到主包中。
          </text>
        </view>
        <view class="mt-15rpx">
          <text>目录结构:</text>
        </view>
        <rich-text :nodes="subListStr" />
        <view class="mt-15rpx">
          <text>在pages.json文件中声明分包结构:</text>
        </view>
        <rich-text :nodes="pagesStr" />
      </wd-collapse-item>
    </wd-collapse>
  </view>
</template>
 
<script lang="ts" setup>
const value = ref<string[]>(["item1"]);
const subListStr = ref<string>(`
<pre style="background-color: #f9f9fa"><code>
|-- components    //主包组件目录
|-- pages         //主包页面目录
|   |-- index
|-- sub-pkg-a
|   |-- components    //分包组件目录
|   |-- pages         //分包页面目录
|   |   |-- cat
|   |   |-- dog
|-- sub-pkg-b
|   |-- components    //分包组件目录
|   |-- pages         //分包页面目录
|   |   |-- apple</code></pre>
`);
 
const pagesStr = ref<string>(`<pre style="background-color: #f9f9fa"><code>
{
  "pages":[
    {
      "path": "pages/index",
      "style": {
        "navigationBarTitleText": "主页"
      }
    }
  ],
  "subPackages": [
    {
      "root": "sub-pkg-a",
      "pages": [
        {
          "path": "pages/cat",
          "style": {
            "navigationBarTitleText": "cat"
          }
        },
        {
          "path": "pages/dog",
          "style": {
            "navigationBarTitleText": "dog"
          }
        }
      ]
    },
    {
      "root": "sub-pkg-b",
      "pages": [
        {
          "path": "pages/apple",
          "style": {
            "navigationBarTitleText": "apple"
          }
        }
      ]
    }
  ]
}</code></pre>
`);
onMounted(() => {});
</script>
 
<style lang="scss" scoped>
.faq-container {
  min-height: 100vh;
  background-color: #f5f5f5;
  .wechat {
    padding: 30rpx;
    margin: 20px 0;
    font-size: 14px;
    color: var(--wot-card-content-color, rgba(0, 0, 0, 0.45));
    background-color: #fff;
    .tips {
      font-weight: bold;
      text-align: center;
    }
  }
}
</style>