trtc-cloud-js-sdk 2.0.0 → 2.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (143) hide show
  1. package/package.json +7 -57
  2. package/trtc-cloud-js-sdk.js +1 -0
  3. package/.eslintrc.js +0 -88
  4. package/.prettierrc +0 -5
  5. package/CHANGELOG.md +0 -58
  6. package/build/jsdoc/clean-doc.js +0 -12
  7. package/build/jsdoc/fix-doc.js +0 -141
  8. package/build/jsdoc/jsdoc.json +0 -42
  9. package/build/package-bundle.js +0 -29
  10. package/build/rollup.config.dev.js +0 -88
  11. package/build/rollup.config.prod.js +0 -93
  12. package/build/rollup.js +0 -359
  13. package/build/template/npm-package/package.json +0 -24
  14. package/coverage/Chrome 103.0.5060 (Mac OS X 10.15.7)/base.css +0 -213
  15. package/coverage/Chrome 103.0.5060 (Mac OS X 10.15.7)/index.html +0 -80
  16. package/coverage/Chrome 103.0.5060 (Mac OS X 10.15.7)/prettify.css +0 -1
  17. package/coverage/Chrome 103.0.5060 (Mac OS X 10.15.7)/prettify.js +0 -1
  18. package/coverage/Chrome 103.0.5060 (Mac OS X 10.15.7)/sort-arrow-sprite.png +0 -0
  19. package/coverage/Chrome 103.0.5060 (Mac OS X 10.15.7)/sorter.js +0 -158
  20. package/examples/apiExample/.env +0 -2
  21. package/examples/apiExample/README.md +0 -70
  22. package/examples/apiExample/package-lock.json +0 -30915
  23. package/examples/apiExample/package.json +0 -51
  24. package/examples/apiExample/public/audio.js +0 -195
  25. package/examples/apiExample/public/audio.js.map +0 -7
  26. package/examples/apiExample/public/av_processing.js +0 -1
  27. package/examples/apiExample/public/basic/av_processing.wasm +0 -0
  28. package/examples/apiExample/public/basic/worker.js +0 -10434
  29. package/examples/apiExample/public/favicon.ico +0 -0
  30. package/examples/apiExample/public/index.html +0 -47
  31. package/examples/apiExample/public/logo192.png +0 -0
  32. package/examples/apiExample/public/logo512.png +0 -0
  33. package/examples/apiExample/public/manifest.json +0 -25
  34. package/examples/apiExample/public/robots.txt +0 -3
  35. package/examples/apiExample/src/App.css +0 -37
  36. package/examples/apiExample/src/App.js +0 -25
  37. package/examples/apiExample/src/api/http.js +0 -127
  38. package/examples/apiExample/src/api/nav.js +0 -44
  39. package/examples/apiExample/src/components/BasicInfoComponent.css +0 -16
  40. package/examples/apiExample/src/components/BasicInfoComponent.js +0 -27
  41. package/examples/apiExample/src/config/gen-test-user-sig.js +0 -64
  42. package/examples/apiExample/src/config/lib-generate-test-usersig.min.js +0 -7052
  43. package/examples/apiExample/src/config/nav.js +0 -136
  44. package/examples/apiExample/src/home.js +0 -16
  45. package/examples/apiExample/src/index.css +0 -21
  46. package/examples/apiExample/src/index.js +0 -12
  47. package/examples/apiExample/src/logo.svg +0 -1
  48. package/examples/apiExample/src/page/basic/screen-share/index.css +0 -52
  49. package/examples/apiExample/src/page/basic/screen-share/index.js +0 -223
  50. package/examples/apiExample/src/page/basic/setDevice/index.js +0 -262
  51. package/examples/apiExample/src/page/basic/setDevice/index.scss +0 -93
  52. package/examples/apiExample/src/page/basic/video-call/index.js +0 -521
  53. package/examples/apiExample/src/page/basic/video-call/index.scss +0 -93
  54. package/examples/apiExample/src/page/basic/video-call-init/index.js +0 -382
  55. package/examples/apiExample/src/page/basic/video-call-init/index.scss +0 -93
  56. package/examples/apiExample/src/page/basic/video-live/index.css +0 -37
  57. package/examples/apiExample/src/page/basic/video-live/index.js +0 -188
  58. package/examples/apiExample/src/page/layout.js +0 -22
  59. package/examples/apiExample/src/page/layout.scss +0 -76
  60. package/examples/apiExample/src/utils/utils.js +0 -35
  61. package/examples/jsExample/assets/css/bootstrap-material-design.css +0 -12169
  62. package/examples/jsExample/assets/css/bootstrap-material-design.min.css +0 -8
  63. package/examples/jsExample/assets/css/common.css +0 -48
  64. package/examples/jsExample/assets/icon/iconfont.js +0 -1
  65. package/examples/jsExample/assets/js/bootstrap-material-design.js +0 -6939
  66. package/examples/jsExample/assets/js/bootstrap-material-design.js.map +0 -1
  67. package/examples/jsExample/assets/js/bootstrap-material-design.min.js +0 -1
  68. package/examples/jsExample/assets/js/graph.js +0 -695
  69. package/examples/jsExample/assets/js/jquery-3.2.1.min.js +0 -4
  70. package/examples/jsExample/assets/js/jquery-3.2.1.slim.min.js +0 -4
  71. package/examples/jsExample/assets/js/lib-generate-test-usersig.min.js +0 -2
  72. package/examples/jsExample/assets/js/popper.js +0 -2442
  73. package/examples/jsExample/index.html +0 -57
  74. package/examples/jsExample/rtc/css/common.css +0 -82
  75. package/examples/jsExample/rtc/index.html +0 -107
  76. package/examples/jsExample/rtc/js/index.js +0 -142
  77. package/examples/vueDemo/LICENSE +0 -21
  78. package/examples/vueDemo/README.md +0 -144
  79. package/examples/vueDemo/README_EN.md +0 -136
  80. package/examples/vueDemo/av_processing.wasm +0 -0
  81. package/examples/vueDemo/index.html +0 -23
  82. package/examples/vueDemo/package-lock.json +0 -1375
  83. package/examples/vueDemo/package.json +0 -36
  84. package/examples/vueDemo/src/App.vue +0 -12
  85. package/examples/vueDemo/src/api/index.js +0 -59
  86. package/examples/vueDemo/src/assets/css/color-dark.css +0 -28
  87. package/examples/vueDemo/src/assets/css/icon.css +0 -4
  88. package/examples/vueDemo/src/assets/css/main.css +0 -177
  89. package/examples/vueDemo/src/assets/img/img.jpg +0 -0
  90. package/examples/vueDemo/src/assets/img/login-bg.jpg +0 -0
  91. package/examples/vueDemo/src/components/Header.vue +0 -172
  92. package/examples/vueDemo/src/components/Sidebar.vue +0 -117
  93. package/examples/vueDemo/src/components/Tags.vue +0 -174
  94. package/examples/vueDemo/src/components/tendency.vue +0 -206
  95. package/examples/vueDemo/src/components/trtc/main-menu.vue +0 -50
  96. package/examples/vueDemo/src/components/trtc/nav-bar.vue +0 -53
  97. package/examples/vueDemo/src/components/trtc/show-screen-capture.vue +0 -118
  98. package/examples/vueDemo/src/components/trtc/trtc-state-check.vue +0 -117
  99. package/examples/vueDemo/src/config/gen-test-user-sig.js +0 -67
  100. package/examples/vueDemo/src/config/lib-generate-test-usersig.min.js +0 -7052
  101. package/examples/vueDemo/src/main.js +0 -11
  102. package/examples/vueDemo/src/plugins/element.js +0 -17
  103. package/examples/vueDemo/src/router/index.js +0 -73
  104. package/examples/vueDemo/src/store/sidebar.js +0 -17
  105. package/examples/vueDemo/src/store/tags.js +0 -48
  106. package/examples/vueDemo/src/utils/i18n.js +0 -24
  107. package/examples/vueDemo/src/utils/request.js +0 -34
  108. package/examples/vueDemo/src/utils/utils.js +0 -35
  109. package/examples/vueDemo/src/views/Home.vue +0 -46
  110. package/examples/vueDemo/src/views/I18n.vue +0 -40
  111. package/examples/vueDemo/src/views/Icon.vue +0 -229
  112. package/examples/vueDemo/src/views/basic/trtc.vue +0 -194
  113. package/examples/vueDemo/src/views/feature/index.vue +0 -259
  114. package/examples/vueDemo/src/views/github/index.vue +0 -243
  115. package/examples/vueDemo/src/views/improve/live-index.vue +0 -256
  116. package/examples/vueDemo/src/views/improve/live-room-anchor.vue +0 -689
  117. package/examples/vueDemo/src/views/improve/live-room-audience.vue +0 -383
  118. package/examples/vueDemo/src/views/sdkAppId/index.vue +0 -284
  119. package/examples/vueDemo/vite.config.js +0 -18
  120. package/examples/vueDemo/worker.js +0 -22
  121. package/karma.conf.js +0 -99
  122. package/scripts/publish.js +0 -86
  123. package/src/Camera.ts +0 -80
  124. package/src/Mic.ts +0 -145
  125. package/src/common/IError.ts +0 -6
  126. package/src/common/ITRTCCloud.ts +0 -68
  127. package/src/common/constants.ts +0 -116
  128. package/src/common/trtc-code.ts +0 -43
  129. package/src/common/trtc-define.ts +0 -1007
  130. package/src/common/trtc-event.ts +0 -29
  131. package/src/index.ts +0 -1672
  132. package/src/utils/environment.js +0 -297
  133. package/src/utils/raf.js +0 -131
  134. package/src/utils/time.js +0 -22
  135. package/src/utils/utils.ts +0 -71
  136. package/src/utils/uuid.js +0 -12
  137. package/test/unit/env.test.js +0 -25
  138. package/test/unit/get-user-media.test.js +0 -40
  139. package/test/unit/ice-parser.test.js +0 -23
  140. package/test/unit/sdp.test.js +0 -45
  141. package/test/unit/signal.test.js +0 -78
  142. package/tsconfig.json +0 -32
  143. /package/{build/template/npm-package/README.md → README.md} +0 -0
@@ -1,11 +0,0 @@
1
- import {createApp} from 'vue'
2
- import { createPinia } from 'pinia'
3
- import App from './App.vue'
4
- import router from './router'
5
- import installElementPlus from './plugins/element'
6
- import './assets/css/icon.css'
7
- const app = createApp(App)
8
- installElementPlus(app)
9
- app.use(createPinia())
10
- .use(router)
11
- .mount('#app')
@@ -1,17 +0,0 @@
1
- import ElementPlus from 'element-plus'
2
- import { createI18n } from 'vue-i18n'
3
- import 'element-plus/lib/theme-chalk/index.css'
4
- import localeZH from 'element-plus/lib/locale/lang/zh-cn'
5
- import localeEN from 'element-plus/lib/locale/lang/en'
6
- import messages from '../utils/i18n'
7
-
8
- const i18n = createI18n({
9
- locale: localeZH.name,
10
- fallbackLocale: localeEN.name,
11
- messages,
12
- })
13
-
14
- export default (app) => {
15
- app.use(ElementPlus, { locale:localeZH })
16
- app.use(i18n)
17
- }
@@ -1,73 +0,0 @@
1
- import { createRouter, createWebHashHistory } from 'vue-router';
2
- import Home from '../views/Home.vue';
3
-
4
- const routes = [
5
- {
6
- path: '/',
7
- // redirect: '/basic/trtc',
8
- redirect: '/github',
9
- },
10
- {
11
- path: '/',
12
- name: 'Home',
13
- component: Home,
14
- // 【数据统计】
15
- children: [
16
- {
17
- path: '/basic/trtc',
18
- name: '基本音视频',
19
- meta: {
20
- title: '基本音视频',
21
- },
22
- component: () => import(/* webpackChunkName: "dashboard" */ '../views/basic/trtc.vue'),
23
- },
24
- {
25
- path: '/github',
26
- name: 'Github 统计',
27
- meta: {
28
- title: 'Github 统计',
29
- },
30
- component: () => import(/* webpackChunkName: "dashboard" */ '../views/github/index.vue'),
31
- },
32
- {
33
- path: '/sdkAppId',
34
- name: '新增 sdkAppId',
35
- meta: {
36
- title: '新增 sdkAppId',
37
- },
38
- component: () => import(/* webpackChunkName: "dashboard" */ '../views/sdkAppId/index.vue'),
39
- },
40
- {
41
- path: '/feature',
42
- name: '渗透率',
43
- meta: {
44
- title: '渗透率',
45
- },
46
- component: () => import(/* webpackChunkName: "dashboard" */ '../views/feature/index.vue'),
47
- },
48
- ],
49
- },
50
- ];
51
-
52
- const router = createRouter({
53
- history: createWebHashHistory(),
54
- routes,
55
- });
56
-
57
- router.beforeEach((to, from, next) => {
58
- document.title = `${to.meta.title}`;
59
- // const role = localStorage.getItem('ms_username');
60
- // if (!role && to.path !== '/login') {
61
- // next('/login');
62
- // } else if (to.meta.permission) {
63
- // // 如果是管理员权限则可进入,这里只是简单的模拟管理员权限而已
64
- // role === 'admin'
65
- // ? next()
66
- // : next('/403');
67
- // } else {
68
- // next();
69
- // }
70
- next();
71
- });
72
-
73
- export default router;
@@ -1,17 +0,0 @@
1
- import { defineStore } from 'pinia'
2
-
3
- export const useSidebarStore = defineStore('sidebar', {
4
- state: () => {
5
- return {
6
- collapse: true
7
- }
8
- },
9
- getters: {
10
-
11
- },
12
- actions: {
13
- handleCollapse() {
14
- this.collapse = !this.collapse;
15
- }
16
- }
17
- })
@@ -1,48 +0,0 @@
1
- import { defineStore } from 'pinia'
2
-
3
- export const useTagsStore = defineStore('tags', {
4
- state: () => {
5
- return {
6
- list: []
7
- }
8
- },
9
- getters: {
10
- show: (state) => {
11
- return state.list.length > 0;
12
- },
13
- nameList: (state) => {
14
- return state.list.map(item => item.name);
15
- }
16
- },
17
- actions: {
18
- delTagsItem(index) {
19
- this.list.splice(index, 1);
20
- },
21
- setTagsItem(data) {
22
- this.list.push(data)
23
- },
24
- clearTags() {
25
- this.list = []
26
- },
27
- closeTagsOther(data) {
28
- this.list = data;
29
- },
30
- closeCurrentTag(data) {
31
- console.log(data)
32
- for (let i = 0, len = this.list.length; i < len; i++) {
33
- const item = this.list[i];
34
- if (item.path === data.$route.fullPath) {
35
- if (i < len - 1) {
36
- data.$router.push(this.list[i + 1].path);
37
- } else if (i > 0) {
38
- data.$router.push(this.list[i - 1].path);
39
- } else {
40
- data.$router.push("/");
41
- }
42
- this.list.splice(i, 1);
43
- break;
44
- }
45
- }
46
- },
47
- }
48
- })
@@ -1,24 +0,0 @@
1
- export default {
2
- 'zh-cn': {
3
- i18n: {
4
- breadcrumb: '国际化产品',
5
- tips: '通过切换语言按钮,来改变当前内容的语言。',
6
- btn: '切换英文',
7
- title1: '常用用法',
8
- p1: '要是你把你的秘密告诉了风,那就别怪风把它带给树。',
9
- p2: '没有什么比信念更能支撑我们度过艰难的时光了。',
10
- p3: '只要能把自己的事做好,并让自己快乐,你就领先于大多数人了。'
11
- }
12
- },
13
- 'en': {
14
- i18n: {
15
- breadcrumb: 'International Products',
16
- tips: 'Click on the button to change the current language. ',
17
- btn: 'Switch Chinese',
18
- title1: 'Common usage',
19
- p1: "If you reveal your secrets to the wind you should not blame the wind for revealing them to the trees.",
20
- p2: "Nothing can help us endure dark times better than our faith. ",
21
- p3: "If you can do what you do best and be happy, you're further along in life than most people."
22
- }
23
- }
24
- }
@@ -1,34 +0,0 @@
1
- import axios from 'axios';
2
-
3
- const service = axios.create({
4
- // process.env.NODE_ENV === 'development' 来判断是否开发环境
5
- // easy-mock服务挂了,暂时不使用了
6
- // baseURL: 'https://www.easy-mock.com/mock/592501a391470c0ac1fab128',
7
- timeout: 5000
8
- });
9
-
10
- service.interceptors.request.use(
11
- config => {
12
- return config;
13
- },
14
- error => {
15
- console.log(error);
16
- return Promise.reject();
17
- }
18
- );
19
-
20
- service.interceptors.response.use(
21
- response => {
22
- if (response.status === 200) {
23
- return response.data;
24
- } else {
25
- Promise.reject();
26
- }
27
- },
28
- error => {
29
- console.log(error);
30
- return Promise.reject();
31
- }
32
- );
33
-
34
- export default service;
@@ -1,35 +0,0 @@
1
- /**
2
- * 从 window.location.href 中获取指定key的value
3
- * @param {*} key 要获取的 key
4
- * @returns window.location.href 中指定key对应的value
5
- * @example
6
- * const value = getUrlParam(key);
7
- */
8
- export function getUrlParam(key) {
9
- const url = window.location.href.replace(/^[^?]*\?/, '');
10
- const regexp = new RegExp(`(^|&)${key}=([^&#]*)(&|$|)`, 'i');
11
- const paramMatch = url.match(regexp);
12
-
13
- return paramMatch ? paramMatch[2] : null;
14
- }
15
-
16
- export function validParams(userId, roomId, sdkAppId, userSignature) {
17
- const errors = [];
18
- if (!userId) {
19
- errors.push('"userId" is not valid');
20
- }
21
- if (roomId === 0) {
22
- errors.push('"roomId" is not valid');
23
- }
24
- if (sdkAppId === 0) {
25
- errors.push('"sdkAppId" is not valid');
26
- }
27
- if (userSignature === '') {
28
- errors.push('"userSignature" is not valid');
29
- }
30
- if (errors.length) {
31
- console.error(errors);
32
- return false;
33
- }
34
- return true;
35
- }
@@ -1,46 +0,0 @@
1
- <template>
2
- <div class="about">
3
- <v-header />
4
- <v-sidebar />
5
- <div class="content-box" :class="{ 'content-collapse': sidebar.collapse }">
6
- <!-- <v-tags></v-tags> -->
7
- <div class="content">
8
- <router-view v-slot="{ Component }">
9
- <transition name="move" mode="out-in">
10
- <keep-alive :include="tags.nameList">
11
- <component :is="Component" />
12
- </keep-alive>
13
- </transition>
14
- </router-view>
15
- <!-- <el-backtop target=".content"></el-backtop> -->
16
- </div>
17
- </div>
18
- </div>
19
- </template>
20
- <script>
21
- import { useSidebarStore } from '../store/sidebar'
22
- import { useTagsStore } from '../store/tags'
23
- import vHeader from "../components/Header.vue";
24
- import vSidebar from "../components/Sidebar.vue";
25
- import vTags from "../components/Tags.vue";
26
- export default {
27
- components: {
28
- vHeader,
29
- vSidebar,
30
- vTags,
31
- },
32
- setup() {
33
- const sidebar = useSidebarStore();
34
- const tags = useTagsStore();
35
- return {
36
- tags,
37
- sidebar,
38
- };
39
- },
40
- };
41
- </script>
42
- <style>
43
- .content {
44
- padding: 0px;
45
- }
46
- </style>
@@ -1,40 +0,0 @@
1
- <template>
2
- <section class="main">
3
- <div class="crumbs">
4
- <el-breadcrumb separator="/">
5
- <el-breadcrumb-item>
6
- <i class="el-icon-lx-global"></i>
7
- {{$t('i18n.breadcrumb')}}
8
- </el-breadcrumb-item>
9
- </el-breadcrumb>
10
- </div>
11
- <div class="container">
12
- <span>{{$t('i18n.tips')}}</span>
13
- <el-button
14
- type="primary"
15
- @click="$i18n.locale = $i18n.locale === 'zh-cn'?'en':'zh-cn';"
16
- >{{$t('i18n.btn')}}</el-button>
17
- <div class="list">
18
- <h2>{{$t('i18n.title1')}}</h2>
19
- <p>{{$t('i18n.p1')}}</p>
20
- <p>{{$t('i18n.p2')}}</p>
21
- <p>{{$t('i18n.p3')}}</p>
22
- </div>
23
- </div>
24
- </section>
25
- </template>
26
-
27
- <script>
28
- export default {
29
- name: "i18n"
30
- };
31
- </script>
32
-
33
- <style scoped>
34
- .list {
35
- padding: 30px 0;
36
- }
37
- .list p {
38
- margin-bottom: 20px;
39
- }
40
- </style>
@@ -1,229 +0,0 @@
1
- <template>
2
- <div>
3
- <div class="crumbs">
4
- <el-breadcrumb separator="/">
5
- <el-breadcrumb-item>
6
- <i class="el-icon-lx-emoji"></i> 自定义图标
7
- </el-breadcrumb-item>
8
- </el-breadcrumb>
9
- </div>
10
- <div class="container">
11
- <h2>使用方法</h2>
12
- <p style="line-height: 50px;">直接通过设置类名为 el-icon-lx-iconName 来使用即可。例如:(共{{iconList.length}}个图标)</p>
13
- <p class="example-p">
14
- <i class="el-icon-lx-redpacket_fill" style="font-size: 30px;color: #ff5900"></i>
15
- <span>&lt;i class=&quot;el-icon-lx-redpacket_fill&quot;&gt;&lt;/i&gt;</span>
16
- </p>
17
- <p class="example-p">
18
- <i class="el-icon-lx-weibo" style="font-size: 30px;color:#fd5656"></i>
19
- <span>&lt;i class=&quot;el-icon-lx-weibo&quot;&gt;&lt;/i&gt;</span>
20
- </p>
21
- <p class="example-p">
22
- <i class="el-icon-lx-emojifill" style="font-size: 30px;color: #ffc300"></i>
23
- <span>&lt;i class=&quot;el-icon-lx-emojifill&quot;&gt;&lt;/i&gt;</span>
24
- </p>
25
- <br />
26
- <h2>图标</h2>
27
- <div class="search-box">
28
- <el-input class="search" size="large" v-model="keyword" clearable placeholder="请输入图标名称"></el-input>
29
- </div>
30
- <ul>
31
- <li class="icon-li" v-for="(item,index) in list" :key="index">
32
- <div class="icon-li-content">
33
- <i :class="`el-icon-lx-${item}`"></i>
34
- <span>{{item}}</span>
35
- </div>
36
- </li>
37
- </ul>
38
- </div>
39
- </div>
40
- </template>
41
-
42
- <script>
43
- import { computed, ref } from "vue";
44
- export default {
45
- name: "icon",
46
- setup() {
47
- const iconList = [
48
- "attentionforbid",
49
- "attentionforbidfill",
50
- "attention",
51
- "attentionfill",
52
- "tag",
53
- "tagfill",
54
- "people",
55
- "peoplefill",
56
- "notice",
57
- "noticefill",
58
- "mobile",
59
- "mobilefill",
60
- "voice",
61
- "voicefill",
62
- "unlock",
63
- "lock",
64
- "home",
65
- "homefill",
66
- "delete",
67
- "deletefill",
68
- "notification",
69
- "notificationfill",
70
- "notificationforbidfill",
71
- "like",
72
- "likefill",
73
- "comment",
74
- "commentfill",
75
- "camera",
76
- "camerafill",
77
- "warn",
78
- "warnfill",
79
- "time",
80
- "timefill",
81
- "location",
82
- "locationfill",
83
- "favor",
84
- "favorfill",
85
- "skin",
86
- "skinfill",
87
- "news",
88
- "newsfill",
89
- "record",
90
- "recordfill",
91
- "emoji",
92
- "emojifill",
93
- "message",
94
- "messagefill",
95
- "goods",
96
- "goodsfill",
97
- "crown",
98
- "crownfill",
99
- "move",
100
- "add",
101
- "hot",
102
- "hotfill",
103
- "service",
104
- "servicefill",
105
- "present",
106
- "presentfill",
107
- "pic",
108
- "picfill",
109
- "rank",
110
- "rankfill",
111
- "male",
112
- "female",
113
- "down",
114
- "top",
115
- "recharge",
116
- "rechargefill",
117
- "forward",
118
- "forwardfill",
119
- "info",
120
- "infofill",
121
- "redpacket",
122
- "redpacket_fill",
123
- "roundadd",
124
- "roundaddfill",
125
- "friendadd",
126
- "friendaddfill",
127
- "cart",
128
- "cartfill",
129
- "more",
130
- "moreandroid",
131
- "back",
132
- "right",
133
- "shop",
134
- "shopfill",
135
- "question",
136
- "questionfill",
137
- "roundclose",
138
- "roundclosefill",
139
- "roundcheck",
140
- "roundcheckfill",
141
- "global",
142
- "mail",
143
- "punch",
144
- "exit",
145
- "upload",
146
- "read",
147
- "file",
148
- "link",
149
- "full",
150
- "group",
151
- "friend",
152
- "profile",
153
- "addressbook",
154
- "calendar",
155
- "text",
156
- "copy",
157
- "share",
158
- "wifi",
159
- "vipcard",
160
- "weibo",
161
- "remind",
162
- "refresh",
163
- "filter",
164
- "settings",
165
- "scan",
166
- "qrcode",
167
- "cascades",
168
- "apps",
169
- "sort",
170
- "searchlist",
171
- "search",
172
- "edit",
173
- ];
174
- const keyword = ref("");
175
- const list = computed(() => {
176
- return iconList.filter((item) => {
177
- return item.indexOf(keyword.value) !== -1;
178
- });
179
- });
180
-
181
- return {
182
- iconList,
183
- keyword,
184
- list,
185
- };
186
- },
187
- };
188
- </script>
189
-
190
- <style scoped>
191
- .example-p {
192
- height: 45px;
193
- display: flex;
194
- align-items: center;
195
- }
196
- .search-box {
197
- text-align: center;
198
- margin-top: 10px;
199
- }
200
- .search {
201
- width: 300px;
202
- }
203
- ul,
204
- li {
205
- list-style: none;
206
- }
207
- .icon-li {
208
- display: inline-block;
209
- padding: 10px;
210
- width: 120px;
211
- height: 120px;
212
- }
213
- .icon-li-content {
214
- display: flex;
215
- height: 100%;
216
- flex-direction: column;
217
- align-items: center;
218
- justify-content: center;
219
- cursor: pointer;
220
- }
221
- .icon-li-content i {
222
- font-size: 36px;
223
- color: #606266;
224
- }
225
- .icon-li-content span {
226
- margin-top: 10px;
227
- color: #787878;
228
- }
229
- </style>