Explorar el Código

字体包 文章内容

hjr hace 3 meses
padre
commit
f9d1beeaa3

+ 4 - 0
src/app.ux

@@ -15,3 +15,7 @@ export default {
   $shelfList: hook2global.$shelfList
 }
 </script>
+<style lang="less">
+
+</style>
+

BIN
src/assets/iconfont/iconfont.ttf


BIN
src/assets/iconfont/iconfont1.ttf


BIN
src/assets/images/source/man_head.png


BIN
src/assets/images/source/women_head.png


+ 196 - 37
src/assets/styles/iconfont.less

@@ -1,79 +1,238 @@
 @font-face {
-  font-family: 'iconfont';
+  font-family: "iconfont"; /* Project id 4976596 */
+  /* Color fonts */
   src: url('/assets/iconfont/iconfont.ttf');
 }
 
 .iconfont {
-  font-family: 'iconfont';
+  font-family: "iconfont";
 }
 
-/* 
+.icon-shuaxin:before {
+  content: "\e659";
+}
 
-// 快应用不支持伪类,需要用unicode的方式实现iconfont,对应的Unicode为'&#x' + content中‘\’后的内容
-// 例如.icon-search,content中‘\’后的内容为‘e661’,对应的Unicode就是'&#xe661',应用实例为:<text>&#xe661;</text>
-// 该项目的iconfont对应的unicode如下:
+.icon-bianji:before {
+  content: "\e621";
+}
 
-.icon-search:before {
-  content: "\e661";
+.icon-icon-test:before {
+  content: "\e664";
 }
 
-.icon-arrow-left:before {
-  content: "\e606";
+.icon-icon-test1:before {
+  content: "\e668";
 }
 
-.icon-user:before {
-  content: "\e643";
+.icon-tubiao-bagua:before {
+  content: "\e650";
+}
+
+.icon-xianjin:before {
+  content: "\e813";
+}
+
+.icon-fankui:before {
+  content: "\e738";
+}
+
+.icon-chanpin:before {
+  content: "\e719";
+}
+
+.icon-ad:before {
+  content: "\e617";
+}
+
+.icon-dianchi:before {
+  content: "\e607";
+}
+
+.icon-qidong:before {
+  content: "\e649";
+}
+
+.icon-qinglihuancun:before {
+  content: "\e608";
+}
+
+.icon-tousu:before {
+  content: "\e715";
+}
+
+.icon-bangzhu:before {
+  content: "\e8ac";
 }
 
-.icon-menu:before {
-  content: "\e60c";
+.icon-yinsi:before {
+  content: "\e663";
 }
 
-.icon-edit:before {
-  content: "\e641";
+.icon-jinrongduixian:before {
+  content: "\e934";
 }
 
-.icon-message:before {
+.icon-baohuzijin:before {
+  content: "\e7aa";
+}
+
+.icon-hongbao:before {
+  content: "\e62a";
+}
+
+.icon-tupian:before {
+  content: "\e640";
+}
+
+.icon-huojian:before {
   content: "\e60e";
 }
 
-.icon-shelf:before {
-  content: "\e601";
+.icon-ziti:before {
+  content: "\e7b1";
 }
 
-.icon-shelf-line:before {
+.icon-sousuo1:before {
+  content: "\e6cc";
+}
+
+.icon-paobu:before {
+  content: "\e61c";
+}
+
+.icon-WIFI:before {
+  content: "\e76c";
+}
+
+.icon-wangluoxinxichanye_wangluoxinxifuwu:before {
+  content: "\e61d";
+}
+
+.icon-map-ruler-full:before {
+  content: "\ea07";
+}
+
+.icon-shengbo:before {
+  content: "\e7dc";
+}
+
+.icon-gongju:before {
+  content: "\e648";
+}
+
+.icon-shujia:before {
+  content: "\e634";
+}
+
+.icon-shucheng:before {
+  content: "\e60a";
+}
+
+.icon-wode:before {
   content: "\e602";
 }
 
-.icon-search-book-line:before {
-  content: "\e603";
+.icon-shujia-copy:before {
+  content: "\eb90";
 }
 
-.icon-search-book:before {
-  content: "\e604";
+.icon-shucheng-copy:before {
+  content: "\eb91";
 }
 
-.icon-refresh:before {
-  content: "\e607";
+.icon-gongju-copy:before {
+  content: "\eb92";
+}
+
+.icon-wode-copy:before {
+  content: "\eb93";
+}
+
+.icon-jiantou_shangyiye_o:before {
+  content: "\eb8e";
+}
+
+.icon-jiantou_xiayiye_o:before {
+  content: "\eb8f";
+}
+
+.icon-dingwei:before {
+  content: "\e636";
+}
+
+.icon-yushouhuore:before {
+  content: "\e662";
+}
+
+.icon-dingwei1:before {
+  content: "\e8c4";
+}
+
+.icon-fenlei:before {
+  content: "\e733";
+}
+
+.icon-huangguan:before {
+  content: "\e616";
+}
+
+.icon-no1:before {
+  content: "\e611";
+}
+
+.icon-shanchu1:before {
+  content: "\e600";
 }
 
-.icon-order:before {
-  content: "\e624";
+.icon-disanming:before {
+  content: "\e651";
 }
 
-.icon-order-reverse:before {
-  content: "\e6d6";
+.icon-dierming:before {
+  content: "\e652";
+}
+
+.icon-cebiandaohangicon-zhangjiemulu:before {
+  content: "\e643";
 }
 
-.icon-library:before {
-  content: "\e67d";
+.icon-zuojiantou:before {
+  content: "\e64e";
 }
 
-.icon-library-line:before {
-  content: "\e681";
+.icon-jiantoushang:before {
+  content: "\e62d";
 }
 
-.icon-arrow-right:before {
-  content: "\e6d7";
+.icon-jiantouxia:before {
+  content: "\e62e";
 }
-*/
+
+.icon-youjiantou:before {
+  content: "\e622";
+}
+
+.icon-fl-xinxi:before {
+  content: "\e633";
+}
+
+.icon-shezhi:before {
+  content: "\e60f";
+}
+
+.icon-shanchu:before {
+  content: "\e64c";
+}
+
+.icon-guanli:before {
+  content: "\e615";
+}
+
+.icon-sousuo:before {
+  content: "\e60d";
+}
+
+.icon--huangguan:before {
+  content: "\e890";
+}
+

+ 79 - 0
src/assets/styles/iconfont1.less

@@ -0,0 +1,79 @@
+@font-face {
+  font-family: 'iconfont';
+  src: url('/assets/iconfont/iconfont.ttf');
+}
+
+.iconfont {
+  font-family: 'iconfont';
+}
+
+/* 
+
+// 快应用不支持伪类,需要用unicode的方式实现iconfont,对应的Unicode为'&#x' + content中‘\’后的内容
+// 例如.icon-search,content中‘\’后的内容为‘e661’,对应的Unicode就是'&#xe661',应用实例为:<text>&#xe661;</text>
+// 该项目的iconfont对应的unicode如下:
+
+.icon-search:before {
+  content: "\e661";
+}
+
+.icon-arrow-left:before {
+  content: "\e606";
+}
+
+.icon-user:before {
+  content: "\e643";
+}
+
+.icon-menu:before {
+  content: "\e60c";
+}
+
+.icon-edit:before {
+  content: "\e641";
+}
+
+.icon-message:before {
+  content: "\e60e";
+}
+
+.icon-shelf:before {
+  content: "\e601";
+}
+
+.icon-shelf-line:before {
+  content: "\e602";
+}
+
+.icon-search-book-line:before {
+  content: "\e603";
+}
+
+.icon-search-book:before {
+  content: "\e604";
+}
+
+.icon-refresh:before {
+  content: "\e607";
+}
+
+.icon-order:before {
+  content: "\e624";
+}
+
+.icon-order-reverse:before {
+  content: "\e6d6";
+}
+
+.icon-library:before {
+  content: "\e67d";
+}
+
+.icon-library-line:before {
+  content: "\e681";
+}
+
+.icon-arrow-right:before {
+  content: "\e6d7";
+}
+*/

+ 1 - 1
src/components/bookshelf/index.ux

@@ -4,7 +4,7 @@
     <div class="title-bar" show="{{!editStatus}}">
       <text class="text-black">共收藏{{ shelfList.length }}本</text>
       <div @click="switchToEdit" if="{{ shelfList.length }}">
-        <text class="text-primary iconfont">&#xe641;</text>
+        <text class="text-primary iconfont">&#xe621;</text>
         <text class="text-primary">编辑</text>
       </div>
     </div>

+ 3 - 3
src/components/library/index.ux

@@ -69,12 +69,12 @@ export default {
   },
   async onInit() {
     this.queryLibraryList(1)
-    const res = await $apis.common.novelBanner({bannerType: 1, pageNum: 1,pageSize: 10})
+    const res = await $apis.common.novelBanner({bannerType: 8, pageNum: 1,pageSize: 10})
     this.bannerList = res.data.result.list
-    const res1 = await $apis.common.novelModulePage({moduleType: 1, pageNum: 1,pageSize: 10,statu:1})
+    const res1 = await $apis.common.novelModulePage({moduleType: 8, pageNum: 1,pageSize: 10,statu:1})
     // this.hotList = res1.data.result.list
     this.rankList = res1.data.result.list.slice(0, 3)
-    const res2 = await $apis.common.novelPage({bannerType: 1, pageNum: 1,pageSize: 10})
+    const res2 = await $apis.common.novelPage({pageNum: 1,pageSize: 10})
     this.library.list = res2.data.result.list
     this.library.total = res2.data.result.total
     this.library.pageSize = res2.data.result.pageSize

+ 17 - 5
src/components/my/index.ux

@@ -3,30 +3,35 @@
 <template>
   <div class="content">
      <div class="top"> 
-       <image src="/assets/images/source/jiasu.png"></image>
+       <image src="/assets/images/source/man_head.png"></image>
+       <!-- <image src="/assets/images/source/women_head.png"></image> -->
        <text>秀丽的窗帘</text>
      </div>
      <div class="item_tab" @click="toPage('pages/setting')">
        <div>
-         <text>设置</text> 
+        <text class="iconfont">&#xe60f;</text>
+         <text style="margin-left: 10px;">设置</text> 
        </div>
         <text>></text> 
      </div>
      <div class="item_tab" @click="toPage('pages/commonModule/aboutUs')">
        <div>
-         <text>关于我们</text>
+         <text class="iconfont">&#xe602;</text>
+         <text style="margin-left: 10px;">关于我们</text>
        </div>
         <text>></text> 
      </div>
      <div class="item_tab" @click="toPage('pages/commonModule/help')">
        <div>
-         <text>帮助</text>
+        <text class="iconfont">&#xe8ac;</text>
+         <text style="margin-left: 10px;">帮助</text>
        </div>
         <text>></text> 
      </div>
      <div class="item_tab" @click="toPage('pages/commonModule/complaint')">
        <div>
-         <text>投诉</text>
+         <text class="iconfont">&#xe715;</text>
+         <text style="margin-left: 10px;">投诉</text>
        </div>
         <text>></text> 
      </div>
@@ -53,6 +58,13 @@ export default {
 </script>
 
 <style lang="less">
+  @font-face {
+  font-family: iconfont;
+  src: url("/assets/iconfont/iconfont.ttf");
+}
+.iconfont {
+  font-family: iconfont;
+}
 .content{
   background-color: #fff;
   height: 100%;

+ 57 - 18
src/components/tools-mall/index.ux

@@ -5,9 +5,12 @@
       <div class="box" for="(index, item) in hotList">
           <text class="title_"> {{ item.title }}</text>
          <div class="hot-list" >
-          <text class="hot-item"  @click="toPage(items.path)" for="(indexs, items) in item.list">{{
-            items.name
-          }}</text>
+           <div class="hot-item" style="background-color: {{items.bg}}" 
+            @click="toPage(items.path)" for="(indexs, items) in item.list">
+            <text class="icon-font-span icon {{ items.name =='一键省电'?'left_0':'left_28' }}" style="color:{{  items.color }}">{{ items.icon }}</text>
+            <text class="name"  style="color:{{ items.color }};"> {{  items.name }}</text>
+            <text class="btn" style="background-color:{{ items.color }};">立即使用 <span style="font-size: 18px;">▶</span></text>
+           </div>
         </div>
       </div>
       <div>
@@ -28,27 +31,27 @@ export default {
 		{
 			title:'基础功能',
 			list:[
-				{name:'一键省电',icon:'fa-battery',bg:'#cfffcd',color:'#60b956',path:'yiJianShengDian'},
-				{name:'声波除尘',icon:'fa-volume-control-phone',bg:'#ffd8db',color:'#fb5e53',path:'shengBoChuChen'},
-				{name:'网络信息',icon:'fa-rss-square',bg:'#ccccfe',color:'#8370ee',path:'wangLuoXinXi'},
-				{name:'手机测距',icon:'fa-hard-of-hearing',bg:'#80fafb',color:'#02cfdf',path:'shouJiCeJu'},
-				{name:'WiFi管理',icon:'fa-wifi',bg:'#9ed1fe',color:'#3d9aee',path:'wifiGuanLi'},
-				{name:'手机清理',icon:'fa-rocket',bg:'#fad2ec',color:'#ff4bb9',path:'shouJiQingLi'},
-				{name:'精选壁纸',icon:'fa-image',bg:'#fec2f8',color:'#c95884',path:'jingXuanBiZhi'},
+				{name:'一键省电',icon:'\ue607',bg:'#cfffcd',color:'#60b956',path:'yiJianShengDian'},
+				{name:'声波除尘',icon:'\ue7dc',bg:'#ffd8db',color:'#fb5e53',path:'shengBoChuChen'},
+				{name:'网络信息',icon:'\ue61d',bg:'#ccccfe',color:'#8370ee',path:'wangLuoXinXi'},
+				{name:'手机测距',icon:'\uea07',bg:'#80fafb',color:'#02cfdf',path:'shouJiCeJu'},
+				{name:'WiFi管理',icon:'\ue76c',bg:'#9ed1fe',color:'#3d9aee',path:'wifiGuanLi'},
+				{name:'手机清理',icon:'\ue60e',bg:'#fad2ec',color:'#ff4bb9',path:'shouJiQingLi'},
+				{name:'精选壁纸',icon:'\ue640',bg:'#fec2f8',color:'#c95884',path:'jingXuanBiZhi'},
 			],
 		},
 		{
 			title:'趣味测评',
 			list:[
-				{name:'趣味测评',icon:'fa-search',bg:'#e8ffc4',color:'#98ec05',path:'quWeiCePing'},
+				{name:'趣味测评',icon:'\ue6cc',bg:'#e8ffc4',color:'#98ec05',path:'quWeiCePing'},
 			],
 		},
 		{
 			title:'知识课堂',
 			list:[
-				{name:'养生课堂',icon:'fa-wheelchair',bg:'#fdd1c0',color:'#fc7f43',path:'yangShengKeTang'},
-				{name:'运动计步',icon:'fa-wheelchair-alt',bg:'#9ce4fd',color:'#3d9afb',path:'yunDongJiBu'},
-				{name:'字体大小',icon:'fa-text-width',bg:'#edcbfd',color:'#d617d1',path:'ziTiDaXiao'},
+				{name:'养生课堂',icon:'\ue650',bg:'#fdd1c0',color:'#fc7f43',path:'yangShengKeTang'},
+				{name:'运动计步',icon:'\ue61c',bg:'#9ce4fd',color:'#3d9afb',path:'yunDongJiBu'},
+				{name:'字体大小',icon:'\ue7b1',bg:'#edcbfd',color:'#d617d1',path:'ziTiDaXiao'},
 			],
 		}
 	],
@@ -75,7 +78,43 @@ export default {
 
 <style lang="less">
 @import '../../assets/styles/index.less';
-
+@font-face {
+  font-family: iconfont;
+  src: url("/assets/iconfont/iconfont.ttf");
+}
+.icon-font-span {
+  font-family: iconfont;
+  font-size: 92px;
+  /* color: #ff0000; */
+}
+.left_0{
+  left: -18px;
+}
+.left_28{
+  left: 28px;
+}
+.icon{
+  position: absolute;
+  top: 14px;
+  /* left: 28px; */
+}
+.name{
+  position: absolute;
+  font-size: 30px;
+  letter-spacing: 2px;
+  right: 50px;
+  top: 40px;
+}
+.btn{
+    position: absolute;
+    background-color: skyblue;
+    padding: 8px 10px;
+    border-radius: 30px;
+    color: #fff;
+    font-size: 22px;
+    right: 40px;
+    bottom: 30px;
+  }
 .search-hot {
   background-color: @white;
   width: 100%;
@@ -101,11 +140,11 @@ export default {
     flex-wrap: wrap;
   }
   .hot-item {
-    width: 200px;
+    width: 320px;
+    height: 200px;
     padding: @gap-1 0;
     text-align: center;
-    border: 1px solid @grey;
-    border-radius: 30px;
+    border-radius: 20px;
     margin: 15px @gap-4 15px 0;
   }
 }

+ 6 - 3
src/helper/ajax.js

@@ -1,6 +1,7 @@
 import $fetch from '@system.fetch'
 import $utils from './utils'
-var requestUrl = 'https://ltnovel8.xyz/pro-api/'
+var requestUrl = 'https://ltnovel8.weishuitang.com/pro-api/'
+
 function requestHandle(params) {
   console.log(`🤖 当前正在发起请求的 Url 是: ${params.url}`)
   return new Promise((resolve, reject) => {
@@ -9,8 +10,10 @@ function requestHandle(params) {
       method: params.method,
       data: params.data,
       header:{
-        'content-type':'application/json',
-        Authorization:`eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImlhdCI6MTc1MzIzNzQxNCwiZXhwIjoxNzYxMTg2MjE0fQ.ExgeLAdVkf-2KccGvg7sSzxeUfAr-8g5GgmzZPjHs1o`,
+        'Content-Type':'application/json',
+        'Authorization':`eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImlhdCI6MTc1MzE2NjUwOCwiZXhwIjoxNzYxMTE1MzA4fQ.j6X0PPFH8za9puF_MOCwThQvfa4qb6fwCK2Kw7N0GtY`,
+        // 'Authorization':`eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJvNFlyTzY0aWgyb3FscW1EV0RVS2NwOE9YQ0FvIiwiaWF0IjoxNzUzMzQ3MTU1LCJleHAiOjE3NTQ2NDMxNTV9.gnAmQ40ZkKA5_wRXbC7FTMafA2ZoMKsFkYcHN29nalA`,
+        // Token:`eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJhZG1pbiIsImlhdCI6MTc1MzE2NjUwOCwiZXhwIjoxNzYxMTE1MzA4fQ.j6X0PPFH8za9puF_MOCwThQvfa4qb6fwCK2Kw7N0GtY`,
       },
       success: data => {
         // console.log(`🐛 request success`,  JSON.parse(data.data).data.result)

+ 4 - 0
src/helper/apis/common.js

@@ -27,4 +27,8 @@ export default {
   novelType(data) {
     return $ajax.post('novelType/page', data)
   },
+  // 小说详情 id
+  novelDetail(data) {
+    return $ajax.post('novel/detail', data)
+  },
 }

+ 12 - 0
src/manifest.json

@@ -172,6 +172,12 @@
       },
       "pages/commonModule/aboutUs": {
         "component": "index"
+      },
+      "pages/commonModule/coinRecord": {
+        "component": "index"
+      },
+      "pages/commonModule/exchangeList": {
+        "component": "index"
       }
     }
   },
@@ -286,6 +292,12 @@
       },
       "pages/commonModule/aboutUs": {
         "titleBarText": "关于我们"
+      },
+      "pages/commonModule/coinRecord": {
+        "titleBarText": "金币记录"
+      },
+      "pages/commonModule/exchangeList": {
+        "titleBarText": "兑换列表"
       }
     }
   }

+ 59 - 10
src/pages/book-content/index.ux

@@ -4,7 +4,6 @@
       <list
         id="list"
         class="book-content"
-        onclick="showOrHidePop"
         style="background-color: {{ bgColor }};"
       >
         <list-item type="title">
@@ -12,7 +11,7 @@
             chapterTitle
           }}</text>
         </list-item>
-        <list-item type="content" show="{{!!content}}">
+        <list-item type="content" onclick="showOrHidePop" show="{{!!content}}">
           <text class="book-text" style="{{contentStyle}}">{{ content }}</text>
         </list-item>
         <list-item type="btns">
@@ -26,6 +25,9 @@
             <text @click="goToContents" class="btn-bottom btn-margin"
               >目录</text
             >
+            <text @click="showCategoryFn" class="btn-bottom btn-margin"
+              >菜单</text
+            >
             <text
               @click="switchChapter('next')"
               class="btn-bottom {{chapterId === total ? 'btn-bottom-disabled' : ''}}"
@@ -35,6 +37,9 @@
           </div>
         </list-item>
       </list>
+      <!-- <swiper class="swiper" index="{{currentPage}}" onchange="pageChange">
+            <text class="book-text swiper-item" for="(index,item) in  pages" style="{{contentStyle}}">{{item}}</text>
+      </swiper> -->
       <div class="pop-layer" show="{{showPop}}">
         <div class="header">
           <image src="/assets/images/back.svg" onclick="back"></image>
@@ -52,10 +57,12 @@
             ></image>
             <image src="/assets/images/moon.svg" else></image>
           </div>
-          <div class="float-btn" style="bottom: 180px;" onclick="text2Audio">
+          <!-- <div class="float-btn" style="bottom: 180px;" onclick="text2Audio">
             <image src="/assets/images/earphone.svg"></image>
-          </div>
+          </div> -->
         </div>
+      </div>
+      <div class="pop-layer" if="{{showCategory}}">
         <div class="footer">
           <div class="font-change">
             <text
@@ -78,7 +85,7 @@
             <text
               class="btn"
               onclick="sizeChange('minus')"
-              disabled="{{userSetting.fontsize <= 30}}"
+              disabled="{{userSetting.fontsize <= 40}}"
               >A-</text
             >
             <text class="size">{{ userSetting.fontsize }}</text>
@@ -98,6 +105,9 @@
             </text>
             <text @click="goToContents" class="btn-bottom btn-margin"
               >目录</text
+            >
+             <text @click="showCategoryFn" class="btn-bottom btn-margin"
+              >收起</text
             >
             <text
               @click="switchChapter('next')"
@@ -125,9 +135,13 @@ export default {
     total: 120
   },
   private: {
+    // content: "这里是完整的小说文本内容...", // 完整小说内容
+    pages: [], // 分页后的内容数组
+    currentPage: 0, // 当前页码
     content: '',
     chapterTitle: '',
     showPop: false,
+    showCategory:false,
     userSetting: {
       fontsize: 40,
       bgColor: '#EAEAEF',
@@ -196,6 +210,24 @@ export default {
     console.log('this.content',this.content)
     // this.getTxtContent('https://ytnovels.oss-cn-shanghai.aliyuncs.com/novels/2025/01945026620890304513-1752828963340.txt')
   },
+   // 分页函数
+    paginateContent() {
+      const CONTENT_PER_PAGE = 300; // 每页字符数(根据实际调整)
+      let pages = [];
+      
+      // 简单分页逻辑
+      for (let i = 0; i < this.content.length; i += CONTENT_PER_PAGE) {
+        pages.push(this.content.substring(i, i + CONTENT_PER_PAGE));
+      }
+      
+      this.pages = pages;
+      console.log('pages',this.pages)
+    },
+    
+    // 翻页事件处理
+    pageChange(e) {
+      this.currentPage = e.index;
+    },
   // 解析TXT文件的主方法
   getTxtContent(url) {
     console.log('url',url)
@@ -206,8 +238,8 @@ export default {
         if (res.code === 200) {
           // 处理文本编码
           const text = this.decodeData(res.data);
-          console.log('text',text)
           this.content = text;
+          this.paginateContent();
         } else {
           console.error('请求失败:', res.code);
         }
@@ -272,15 +304,22 @@ export default {
       bookTitle: this.bookTitle
     })
   },
+  showCategoryFn(){
+    this.showCategory = !this.showCategory
+  },
   showOrHidePop() {
-    this.showPop = !this.showPop
+    if(this.showCategory){
+      this.showCategory = false
+    }else{
+      this.showPop = !this.showPop
+    }
   },
   back() {
     $utils.routerBack()
   },
   sizeChange(type) {
-    if (type === 'plus') this.userSetting.fontsize++
-    else this.userSetting.fontsize--
+    if (type === 'plus') this.userSetting.fontsize = this.userSetting.fontsize+ 2
+    else this.userSetting.fontsize = this.userSetting.fontsize - 2
     this.saveUserSettings()
   },
   bgcolorChange(color) {
@@ -323,6 +362,16 @@ export default {
 
 <style lang="less">
 @import '../../assets/styles/index.less';
+/* .swiper {
+    width: 100%;
+    height: 1500px;
+  }
+  
+  .swiper-item {
+    width: 100%;
+    height: 100%;
+    padding: 20px;
+  } */
 .stack-wrapper {
   width: 100%;
   height: 100%;
@@ -349,7 +398,7 @@ export default {
   text-align: center;
 }
 .btn-margin {
-  margin: 0 @gap-4;
+  margin: 0 @gap-2;
 }
 .btn-bottom-disabled {
   .btn-disabled;

+ 9 - 3
src/pages/book-detail/index.ux

@@ -33,7 +33,7 @@
           onreply-comment="replyComment"
         ></comment-item-simple>
       </list-item> -->
-      <list-item type="detail-title" class="detail-title">
+      <!-- <list-item type="detail-title" class="detail-title">
         <text class="text-title">相似图书推荐</text>
       </list-item>
       <list-item type="image-list" class="book-image-list">
@@ -46,7 +46,7 @@
           <text class="book-image-title">{{ $item.title }}</text>
           <text class="text-remark">{{ $item.author }}</text>
         </div>
-      </list-item>
+      </list-item> -->
     </list>
     <div class="detail-bottom-bar">
       <text
@@ -75,7 +75,7 @@ export default {
     isInShelf: false,
     shelfList: []
   },
-  onInit() {
+  async onInit() {
     // 此处直接将图书内容传进来,实际开发中也可以传入id查询图书信息
     this.bookInfo = this.info ? JSON.parse(this.info) : {}
     console.log('info',this.bookInfo)
@@ -84,6 +84,12 @@ export default {
     this.isInShelf = !!this.shelfList.filter(book => {
       return book.id === this.bookInfo.id
     }).length
+    // 如果没有书名 有id
+    if(this.bookInfo.novelId){
+      const res = await $apis.common.novelDetail({id:this.bookInfo.novelId})
+      console.log('resss',res)
+      this.bookInfo = res.data.ytNovel
+    }
   },
   /* -------------------SelfCustomEvent------------------ */
   goToComment() {

+ 101 - 0
src/pages/commonModule/coinRecord/index.ux

@@ -0,0 +1,101 @@
+<template>
+  <div class="content">
+    <div class="top_box">
+      <div class="line1">
+        <div>
+          <text>金币收益</text>
+          <text class="iconfont"></text>
+        </div>
+        <text class="btn" style="font-size: 26px" @click="navTo('pages/commonModule/exchangeList')">≒ 去兑换</text>
+      </div>
+      <div class="line2">
+        <text style="font-size: 38px;color: #888;">15</text>
+        <text style="font-size: 20px;margin-left: 10px;">金币到账可能会有延迟</text>
+      </div>
+    </div>
+    <div class="bottom_box">
+      <div class="bottom_item">
+        <div class="b_left">
+          <text style="color: #000;margin-bottom: 20px;">每日签到</text>
+          <text style="color: #666;font-size: 28px;">2025-7-25 14:51:50</text>
+        </div>
+        <div class="b_right">
+          <text class="iconfont" style="font-size: 38px;color: #ff7f50;">¥</text>
+          <text style="color: #ff7f50; font-size: 42px;margin-right: 20px;">+5</text>
+        </div>
+      </div>
+    </div>
+  </div>
+</template>
+
+<script>
+  import router from '@system.router'
+export default {
+  private: {
+    title: '欢迎体验快应用开发'
+  },
+
+  onInit() {},
+  navTo(uri){
+    router.push({
+      uri
+    })
+  }
+}
+</script>
+
+<style lang="less">
+.content {
+  flex-direction: column;
+  height: 100%;
+  background-color: #f5f5f5; 
+}
+.title {
+  text-align: center;
+  color: #212121;
+}
+.top_box{
+  height: 200px;
+  padding: 30px;
+  background-color: #fff;
+  flex-direction: column;
+  margin-bottom: 20px;
+  .line1{
+    justify-content: space-between;
+    margin-top: 10px;
+    .btn{
+      align-items: center;
+      justify-content: center;
+      display: flex;
+      width: 150px;
+      padding: 12px 20px;
+      border-radius: 10px;
+      color: #fff;
+      background-color: #ff7f50;
+    }
+  }
+  .line2{
+    margin-top: 20px;
+  }
+}
+
+.bottom_box{
+  background-color: #fff;
+  height: 100%;
+  width: 100%;
+  padding: 30px;
+  .bottom_item{
+    height: 150px;
+    padding: 10px 0;
+    justify-content: space-between;
+    border-bottom: 1px solid #ccc;
+    width: 100%;
+  }
+  .b_left{
+    flex-direction: column;
+  }
+  .b_right{
+
+  }
+}
+</style>

+ 55 - 0
src/pages/commonModule/exchangeList/index.ux

@@ -0,0 +1,55 @@
+<template>
+  <div class="wrapper">
+     <!-- <reader-div  id="readerdiv"
+        sectionbreak='","'
+        style="font-size: {{fontsize}}px;color: {{fontColor}};background-color: {{backgroundcolor}}" movemode="{{movemode}}"
+        onpagechange="pagechange" onchapterend="chapterend" onchapterstart="chapterstart"
+        onclick="oncontainerclick"
+        >
+          <div class="ad-container" style="background-color: {{backgroundcolor}}" >
+             <text>单div的广,告容器</text>
+          </div>
+    </reader-div> -->
+  </div>
+</template>
+
+<script>
+export default {
+  private: {
+    title: '欢迎体验快应用开发',
+    fontsize: 35,
+    fontColor: '#000',
+    backgroundcolor:"#fff",
+    movemode:'horizontal',
+  },
+
+  onInit() {},
+  pagechange(e){
+    console.log('pagechange',e)
+  },
+  chapterend(e){
+    console.log('chapterend',e)
+
+  },
+  chapterstart(e){
+    console.log('chapterstart',e)
+
+  },
+  oncontainerclick(e){
+    console.log('oncontainerclick',e)
+
+  },
+}
+</script>
+
+<style>
+.wrapper {
+  flex-direction: column;
+  justify-content: center;
+  align-items: center;
+}
+.title {
+  text-align: center;
+  color: #212121;
+}
+</style>

+ 6 - 1
src/pages/commonModule/redPacket/index.ux

@@ -5,7 +5,7 @@
       <text class="text-24 text-white" style="font-size: 24px;">金币明细</text>
       <div class="mgy-20" style="align-items: center;">
         <text class="text-48 text-white" style="margin-right: 5px;font-size: 48px;">{{ coinNum }}</text>
-        <text class="text-white" style="font-size: 24px;margin-left: 10px;">金币 ></text>
+        <text class="text-white" style="font-size: 24px;margin-left: 10px;" @click="navTo('pages/commonModule/coinRecord')">金币 ></text>
       </div>
       <text class="text-24 text-white" style="font-size: 24px;">活动奖品数量有限,先到先得,兑完即止</text>
     </div>
@@ -65,6 +65,11 @@ export default {
       }
     })
   },
+  navTo(uri){
+    router.push({
+      uri,
+    })
+  },
   getCoin(){
       if(!this.getStatus){
         $utils.showToast('领取成功')

+ 27 - 19
src/pages/main/index.ux

@@ -20,7 +20,7 @@
       </tab-content>
       <tab-bar mode="fixed" class="tab-bar">
         <div class="tab-item" for="tabList">
-          <text class="iconfont">{{
+          <text class="iconfont" style="color: #00ffff !important;">{{
             selectedTab === $idx ? $item.activatedIcon : $item.icon
           }}</text>
           <text class="tab-title">{{ $item.title }}</text>
@@ -38,13 +38,13 @@ export default {
     tabList: [
       {
         title: '书架',
-        icon: '\ue602',
-        activatedIcon: '\ue601'
+        icon: '\ueb90',
+        activatedIcon: '\ue634'
       },
       {
         title: '书城',
-        icon: '\ue681',
-        activatedIcon: '\ue67d'
+        icon: '\ueb91',
+        activatedIcon: '\ue60a'
       },
       // {
       //   title: '查找',
@@ -53,13 +53,13 @@ export default {
       // },
       {
         title: '工具',
-        icon: '\ue603',
-        activatedIcon: '\ue604'
+        icon: '\ue648',
+        activatedIcon: '\ue648'
       },
       {
         title: '我的',
-        icon: '\ue603',
-        activatedIcon: '\ue604'
+        icon: '\ue602',
+        activatedIcon: '\ue602'
       }
     ],
     selectedTab: 1,
@@ -67,21 +67,29 @@ export default {
     shelfList: []
   },
   onInit() {
-    $utils.getStorage('bookshelf').then(value => {
-      // 从storage获取
-      if (!value) {
-        this.shelfList = this.defaultShelfList
-        $utils.setShelfList(this.shelfList, true) // 保存到全局变量和storage
-      } else {
-        this.shelfList = JSON.parse(value)
-        $utils.setShelfList(this.shelfList) // 保存到全局变量
-      }
-    })
+    this.getBookShelf()
+  },
+  getBookShelf (){
+      $utils.getStorage('bookshelf').then(value => {
+        console.log('value  bookshelf',value)
+        // 从storage获取
+        if (!value) {
+          this.shelfList = this.defaultShelfList
+          $utils.setShelfList(this.shelfList, true) // 保存到全局变量和storage
+        } else {
+          this.shelfList = JSON.parse(value)
+          $utils.setShelfList(this.shelfList) // 保存到全局变量
+        }
+      })
   },
   /* -------------------SelfCustomEvent------------------ */
   changeTab(e) {
     let index = e.index === undefined ? 1 : e.index
     this.selectedTab = index
+    console.log('index',index)
+    if(index == 0){
+      this.getBookShelf()
+    }
   },
   updateShelf(param) {
     this.shelfList = param.detail.shelfList

+ 1 - 1
src/pages/search-book/index.ux

@@ -5,7 +5,7 @@
     <div class="search-hot">
       <div class="search-title">
         <text class="text-black">大家都在搜</text>
-        <text class="search-refresh" @click="refreshHostList">&#xe607;</text>
+        <text class="search-refresh" @click="refreshHostList">&#xe659;</text>
       </div>
       <div class="hot-list">
         <text class="hot-item" for="hotList" @click="toSearch($item.typeName)">{{

+ 1 - 1
src/pages/search-book/search-input-bar.ux

@@ -10,7 +10,7 @@
         onchange="change"
         onenterkeyclick="search"
       />
-      <text class="iconfont search-icon" onclick="search()">&#xe661;</text>
+      <text class="iconfont search-icon" onclick="search()">&#xe6cc;</text>
     </div>
   </div>
 </template>

+ 2 - 2
src/pages/tools/jingXuanBiZhi/index.ux

@@ -101,8 +101,8 @@ export default {
   .imgs{
     flex-wrap: wrap;
     image{
-      width: 250px;
-      height: 300px;
+      width: 220px;
+      height: 290px;
       border-radius: 20px;
       margin-right: 20px;
       margin-top: 20px;