102bb7c365a3437128aabb3cb05295d6eeac476a..0a20b533a0ea354e63a7ec139ad7f6ba94eaecd3
2025-07-25 zhongshujie
Merge branch 'master' of http://182.92.203.7:2001/r/TextbookReader
0a20b5 对比 | 目录
2025-07-25 zhongshujie
182 端口更改
3f474d 对比 | 目录
2025-07-25 杨磊
名词索引修改
e6063f 对比 | 目录
2个文件已修改
1个文件已添加
464 ■■■■ 已修改文件
src/assets/js/config.ts 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/word.js 324 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/readerPages/webHome.vue 134 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/assets/js/config.ts
@@ -3,7 +3,7 @@
// export const appId = 2;
// export const requestCtx = "https://jsek.bnuic.com"; //jsek
// export const appId = 3;
export const requestCtx = "http://182.92.203.7:3007";
export const requestCtx = "http://182.92.203.7:3001";
export const appId = 27
export const requestTimeOut = 300000; // 请求超时时间
// export const tokenKey = "token";
@@ -15,8 +15,8 @@
export const goodsStore = `defaultGoodsStore${appId}`; // 默认商品库(书城)
// export const digitalTextbooks = "tourism_digitalTextbooks";//旅游社数字教材
export const digitalTextbooks = "jsek_digitalTextbooks";//京师智教数字教材
export const loginCtx = "http://jsek.bnuic.com/home/#/digitalTextbooks?login=true"; //登录链接
// export const loginCtx = ""; //登录链接
// export const loginCtx = "http://jsek.bnuic.com/home/#/digitalTextbooks?login=true"; //登录链接
export const loginCtx = ""; //登录链接
export default {
    requestCtx,
src/assets/js/word.js
New file
@@ -0,0 +1,324 @@
const nounList = [{
        key: 'A',
        children: [{
                name: '鞍背',
                english: 'dorsum sellae',
                pageInfo: [36],
                explain: null
            },
            {
                name: '鞍膈',
                english: 'diaphragma sellae',
                pageInfo: [169],
                explain: null
            },
            {
                name: '鞍状关节',
                english: 'saddle joint',
                pageInfo: [48],
                explain: null
            }
        ]
    },
    {
        key: 'B',
        children: [{
                name: '白交通支',
                english: 'white communicating branches',
                pageInfo: [76, 393],
                explain: null
            },
            {
                name: '白膜',
                english: 'tunica albuginea',
                pageInfo: [16],
                explain: null
            },
            {
                name: '白线',
                english: 'white line',
                pageInfo: [269, 362],
                explain: null
            },
            {
                name: '白质',
                english: 'white matter',
                pageInfo: [339],
                explain: null
            },
            {
                name: '板障',
                english: 'diploë',
                pageInfo: [33],
                explain: null
            },
            {
                name: '板障静脉',
                english: 'diploic vein',
                pageInfo: [33],
                explain: null
            },
            {
                name: '半规管',
                english: 'semicircular canals',
                pageInfo: [201],
                explain: null
            },
            {
                name: '半环线',
                english: 'semicircular line',
                pageInfo: [270],
                explain: null
            },
            {
                name: '半奇静脉',
                english: 'hemiazygos vein',
                pageInfo: [251, 252],
                explain: null
            },
            {
                name: '半月板',
                english: 'meniscus',
                pageInfo: [46],
                explain: null
            },
            {
                name: '半月裂孔',
                english: 'semilunar hiatus',
                pageInfo: [210],
                explain: null
            },
            {
                name: '半月线',
                english: 'linea semilunaris',
                pageInfo: [270],
                explain: null
            },
            {
                name: '背阔肌',
                english: 'latissimus dorsi muscle',
                pageInfo: [110],
                explain: null
            },
            {
                name: '贲门',
                english: 'cardia',
                pageInfo: [294],
                explain: null
            },
            {
                name: '贲门部',
                english: 'cardiac part',
                pageInfo: [294],
                explain: null
            },
            {
                name: '鼻唇沟',
                english: 'nasolabial sulcus',
                pageInfo: [213],
                explain: null
            },
            {
                name: '鼻腭管腺',
                english: 'nasopalatine gland',
                pageInfo: [214],
                explain: null
            },
            {
                name: '鼻骨',
                english: 'nasal bone',
                pageInfo: [36],
                explain: null
            },
            {
                name: '鼻甲',
                english: 'nasal concha',
                pageInfo: [210],
                explain: null
            },
            {
                name: '鼻睫神经',
                english: 'nasociliary nerve',
                pageInfo: [184],
                explain: null
            },
            {
                name: '鼻泪管',
                english: 'nasolacrimal duct',
                pageInfo: [181, 187],
                explain: null
            },
            {
                name: '鼻旁窦',
                english: 'paranasal sinus',
                pageInfo: [211],
                explain: null
            },
            {
                name: '鼻外侧动脉',
                english: 'lateral nasal artery',
                pageInfo: [159],
                explain: null
            },
            {
                name: '鼻咽',
                english: 'nasopharynx',
                pageInfo: [217],
                explain: null
            },
            {
                name: '鼻中隔',
                english: 'nasal septum',
                pageInfo: [210],
                explain: null
            },
            {
                name: '鼻柱',
                english: 'nasal columella',
                pageInfo: [210, 213],
                explain: null
            },
            {
                name: '比目鱼肌',
                english: 'soleus muscle',
                pageInfo: [88],
                explain: null
            },
            {
                name: '闭孔动脉',
                english: 'obturator artery',
                pageInfo: [81, 352],
                explain: null
            },
            {
                name: '闭孔膜',
                english: 'obturator membrane',
                pageInfo: [55],
                explain: null
            },
            {
                name: '闭孔内肌',
                english: 'obturator internus muscle',
                pageInfo: [83],
                explain: null
            },
            {
                name: '闭孔神经',
                english: 'obturator nerve',
                pageInfo: [81, 289, 310],
                explain: null
            },
            {
                name: '闭孔外肌',
                english: 'obturator externus',
                pageInfo: [83],
                explain: null
            },
            {
                name: '闭膜管',
                english: 'obturator canal',
                pageInfo: [81],
                explain: null
            },
            {
                name: '壁腹膜',
                english: 'parietal peritoneum',
                pageInfo: [278],
                explain: null
            },
            {
                name: '壁内神经节',
                english: 'intramural ganglion',
                pageInfo: [391],
                explain: null
            },
            {
                name: '壁旁神经节',
                english: 'paramural ganglion',
                pageInfo: [391],
                explain: null
            },
            {
                name: '壁胸膜',
                english: 'parietal pleura',
                pageInfo: [234],
                explain: null
            },
            {
                name: '臂丛',
                english: 'brachial plexus',
                pageInfo: [106],
                explain: null
            },
            {
                name: '边缘动脉',
                english: 'marginal artery',
                pageInfo: [303],
                explain: null
            },
            {
                name: '扁骨',
                english: 'flat bone',
                pageInfo: [34],
                explain: null
            },
            {
                name: '扁桃体窝',
                english: 'tonsilliar fossa',
                pageInfo: [214],
                explain: null
            },
            {
                name: '表情肌',
                english: 'mimetic muscle',
                pageInfo: [162],
                explain: null
            },
            {
                name: '髌韧带',
                english: 'patellar ligament',
                pageInfo: [57],
                explain: null
            },
            {
                name: '髌上囊',
                english: 'suprapatellar bursa',
                pageInfo: [57],
                explain: null
            },
            {
                name: '髌下支',
                english: 'infrapatellar branch',
                pageInfo: [81],
                explain: null
            },
            {
                name: '玻璃体',
                english: 'vitreous body',
                pageInfo: [179],
                explain: null
            },
            {
                name: '玻璃体管',
                english: 'vitreous canal',
                pageInfo: [180],
                explain: null
            },
            {
                name: '玻璃体膜',
                english: 'vitreous membrane',
                pageInfo: [179],
                explain: null
            },
            {
                name: '不规则骨',
                english: 'irregular bone',
                pageInfo: [34],
                explain: null
            }
        ]
    }
]
export default nounList;
src/views/readerPages/webHome.vue
@@ -1308,8 +1308,8 @@
    title="名词索引"
    align-center
    v-model="nounIndexVisible"
    width="80%"
    class="myAnserDialogs"
    width="60%"
    class="nounDialogs"
  >
    <div class="nounBox">
      <div class="leftBox">
@@ -1325,17 +1325,13 @@
          </li>
        </ul>
      </div>
      <div class="rightBox">
      <div class="nounRightBox">
        <div class="searchBox">
          <el-input
            v-model="nounIndexKeyWords"
            placeholder="请输入搜索关键字"
            style="width: 70%"
          >
          <template #append>
        <el-button @click="searchNounIndex" :icon="Search" />
      </template>
        </el-input >
          <el-input v-model="nounIndexKeyWords" placeholder="请输入搜索关键字" style="width: 70%">
            <template #append>
              <el-button @click="searchNounIndex" :icon="Search" />
            </template>
          </el-input>
          <el-select
            v-model="nounState"
            class="m-2"
@@ -1353,21 +1349,30 @@
        </div>
        <div class="collapseBox">
          <el-collapse v-model="activeNames" @change="handleChange">
            <el-collapse-item :name="index + 1" v-for="(item, index) in temp_nounIndexList" :key="index">
            <el-collapse-item
              :name="index + 1"
              v-for="(item, index) in temp_nounIndexList"
              :key="index"
            >
              <template #title>
                <div class="collapseTitle">
                  <div class="titleName">
                    {{ item.name + `(${item.english})` }}
                  </div>
                  <div class="pageInfoBox">
                    <div class="pageItem" @click.stop="toPage(citem)" v-for="(citem, cindex) in item.pageInfo" :key="cindex">
                      <el-icon><Position /></el-icon> {{citem}}
                    <div
                      class="pageItem"
                      @click.stop="toPage(citem)"
                      v-for="(citem, cindex) in item.pageInfo"
                      :key="cindex"
                    >
                      <el-icon><Position /></el-icon> {{ citem }}
                    </div>
                  </div>
                </div>
              </template>
              <div style="padding: 10px">
                  {{ item.explain }}
                {{ item.explain }}
              </div>
            </el-collapse-item>
          </el-collapse>
@@ -1579,43 +1584,27 @@
const tryPageCount = ref(0)
const nounIndexKeyWords = ref('')
const searchText = ref()
const nounIndexData = reactive([
  'a',
  'b',
  'c',
  'd',
  'e',
  'f',
  'g',
  'h',
  'i',
  'j',
  'k',
  'l',
  'm',
  'n',
  'o',
  'p',
  'q',
  'r',
  's',
  't',
  'u',
  'v',
  'w',
  'x',
  'y',
  'z'
])
import nounList from '@/assets/js/word.js'
const nounIndexData = ref([])
const searchNounIndex = () => {
  console.log(nounIndexKeyWords.value);
  console.log(nounIndexKeyWords.value)
  const searchResult = []
  if (nounIndexKeyWords.value) {
    temp_nounIndexList.value  = temp_nounIndexList.value.filter(item => item.name.toLowerCase().includes(nounIndexKeyWords.value.toLowerCase()))
  }else{
   temp_nounIndexList.value =  nounIndexList.value
    nounList.forEach((item) => {
      if (item.children) {
        item.children.forEach((child) => {
          if (child.name.toLowerCase().includes(nounIndexKeyWords.value.toLowerCase())) {
            searchResult.push(child)
          }
        })
      }
    })
    temp_nounIndexList.value = searchResult
  } else {
    const currentNoun = nounList.find((item) => item.key == activeNoun.value)
    temp_nounIndexList.value = currentNoun.children
  }
}
onMounted(() => {
@@ -1625,7 +1614,6 @@
  if (localStorage.getItem('bookId')) {
    getBookInfo()
  }
  temp_nounIndexList.value = nounIndexList.value
  setTimeout(() => {
    canvasWith.value = document.querySelector('.content-box').offsetWidth
    canvasheight.value = document.querySelector('.content-box').offsetHeight
@@ -2150,17 +2138,17 @@
const clickNounIndex = (value) => {
  activeNoun.value = value
  const currentNoun = nounList.find((item) => item.key == activeNoun.value)
  temp_nounIndexList.value = currentNoun.children
}
const temp_nounIndexList = ref([])
const nounIndexList = ref(
  [
const nounIndexList = ref([
  {
    name: '鞍背',
    english: 'dorsum sellae',
    pageInfo: ['p36' ,'p93'],
    pageInfo: ['p36', 'p93'],
    explain:
      '鞍背是马背的一部分,位于马背的前部,是马背的支撑部分。鞍背的形状和质地对马的舒适性和骑乘体验有很大影响。'
  },
@@ -2178,8 +2166,7 @@
    explain:
      '鞍状关节是马背的一部分,位于马背的前部,是马背的支撑部分。鞍状关节的形状和质地对马的舒适性和骑乘体验有很大影响。'
  }
]
)
])
const getResourceData = () => {
  if (token) {
@@ -2528,7 +2515,7 @@
const toPage = (data) => {
  nounIndexVisible.value = false
    window.qiankunState.gotoPage(1, 4)
  window.qiankunState.gotoPage(1, 4)
}
//资源类型选择默认/教师
@@ -3203,6 +3190,11 @@
        break
      case '名词索引':
        nounIndexVisible.value = true
        console.log(nounList, 'nounList')
        nounIndexData.value = nounList.map((item) => item.key)
        activeNoun.value = nounIndexData.value[0]
        const currentNoun = nounList.find((item) => item.key == activeNoun.value)
        temp_nounIndexList.value = currentNoun.children
        break
    }
  } else {
@@ -5980,6 +5972,12 @@
  width: 80%;
  height: 90vh;
}
.nounDialogs {
  width: 60%;
  height: 90vh;
}
.myNoteDialogs {
  width: 500px !important;
@@ -6083,45 +6081,47 @@
  line-height: 50px;
  border-bottom: 1px solid #ccc;
}
.itemIndex:last-child {
  border-bottom: none;
}
.activeNoun {
  background-color: #0093ff;
  color: #fff;
}
.rightBox {
.nounRightBox {
  width: calc(100% - 50px);
  border: 1px solid #ccc;
  padding: 10px;
  overflow-y: scroll;
  .searchBox {
    display: flex;
    justify-content: space-between;
  }
}
.rightBox {
.nounRightBox {
  width: calc(100% - 50px);
  border: 1px solid #ccc;
  padding: 10px;
  height: 100%;
  .searchBox {
    display: flex;
    justify-content: space-between;
  }
}
.collapseBox{
.collapseBox {
  margin-top: 20px;
  padding: 10px 20px;
  padding: 10px 50px;
}
.collapseTitle {
  display: flex;
  justify-content: space-between;
  padding: 5px;
}
.pageInfoBox{
.pageInfoBox {
  display: flex;
  justify-content: space-between;
}
.pageItem{
.pageItem {
  margin-right: 10px;
  text-align: center;
}