1. "设置"页面重做与美术资源更新 2. 输入法o65支持 3. 新增登录过期检测

This commit is contained in:
Searchstars
2025-01-29 02:07:29 +08:00
parent 4dd45b1145
commit aab1c95cc8
82 changed files with 197 additions and 55 deletions
+2 -1
View File
@@ -6,4 +6,5 @@
/build
.husky/
*/__pycache__
src/buildinfo.ts
src/buildinfo.ts
**/.DS_Store
+12 -1
View File
@@ -1,4 +1,4 @@
import { storage } from '../../tsimports';
import { storage, router } from '../../tsimports';
import { AccountData } from './accountData';
// 登录相关的方法
@@ -6,6 +6,14 @@ export const BilibiliClientLoginMethods = {
// 更新账号信息
async updateAccountInfo(this: any): Promise<boolean> {
const accountInfoResponse = await this.getRequest("https://api.bilibili.com/x/web-interface/nav");
if(!accountInfoResponse.data.data.isLogin){
router.clear();
router.replace({
uri: "pages/error/sessionood"
})
}
this.accountInfo = accountInfoResponse.data.data;
return !!this.accountInfo;
},
@@ -38,8 +46,11 @@ export const BilibiliClientLoginMethods = {
this.dedeUserID = accountData.dedeUserID;
this.sid = accountData.sid;
global.logger.log('使用存储的账号数据登录成功');
global.logger.log('拉账号信息')
await this.updateAccountInfo();
global.logger.log('拉buvid')
await this.updateBUVID();
return { success: true, message: "登录成功" };
} else if (send_req) {
const response = await this.getRequest(`https://passport.bilibili.com/x/passport-login/web/qrcode/poll?qrcode_key=${this.qrCodeKey}`);
+6 -4
View File
@@ -59,9 +59,10 @@ export const BilibiliClientAPIRequestMethods = {
});
return response.data;
} catch (error) {
global.logger.error(`GET请求失败,错误码 = ${error.code}`);
throw error;
global.logger.error(`GET请求失败,详细数据:`, error);
}
return void 0;
},
// 发送带Wbi签名的GET请求
@@ -89,9 +90,10 @@ export const BilibiliClientAPIRequestMethods = {
});
return response.data;
} catch (error) {
global.logger.error(`POST请求失败,错误码 = ${error.code}`);
throw error;
global.logger.error(`POST请求失败,详细数据:`, error);
}
return void 0;
},
// 发送带Wbi签名的POST请求
+17 -1
View File
@@ -4,7 +4,23 @@ export const BilibiliClientUserMethods = {
const url = `https://api.bilibili.com/x/space/wbi/acc/info`;
const response = await this.getRequestWbi(url, {
mid: uid
})
});
return response.data.data
},
// 获取单个用户的状态数
async getUserStatByUID(this: any, uid: String) {
const url = `https://api.bilibili.com/x/relation/stat`;
const response = await this.getRequest(`${url}?vmid=${uid}`);
return response.data.data
},
// 获取单个用户的导航栏状态数
async getUserNavnumByUID(this: any, uid: String) {
const url = `https://api.bilibili.com/x/space/navnum`;
const response = await this.getRequest(`${url}?mid=${uid}`);
return response.data.data
},
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 796 B

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 766 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.0 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 454 B

After

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 564 B

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 27 KiB

+1 -1
View File
@@ -3,7 +3,7 @@
<template>
<div class="comp-root" @click="GoDetail">
<div class="user">
<image class="userface" src="{{dyn.modules.module_author.face}}@65w_65h"></image>
<image class="userface" src="{{dyn.modules.module_author.face}}@65w_65h" alt="/common/fullgray.png"></image>
<div class="userinfo">
<text class="username" style="margin-bottom: 3px">{{ dyn.modules.module_author.name }}</text>
<text style="font-size: 18px; color: #5e5e5e" if="{{ dyn.modules.module_author.pub_time }}">
+42 -26
View File
@@ -135,10 +135,10 @@
</div>
</div>
<!-- 方屏67 -->
<div if="{{screentype==='rect'}}" style="width: 336px;height: 255px;">
<div static style="position:absolute;left:0px;top:-11px;width:336px;height:276px;">
<progress percent="{{percent67}}" style="position: absolute;width:80px;top:258px;left:128px;color:#ffffff;stroke-width:6px;layer-color:#262626"></progress>
<scroll id="keyboard67" scroll-x="{{true}}" onscroll="handelScroll">
<div if="{{screentype==='rect'}}" style="width: {{screenWidthRect}}px;height: 255px;flex-direction: column">
<div static style="position:absolute;top:-11px;width:{{screenWidthRect}}px;height:276px;justify-content: center">
<progress percent="{{percent67}}" style="position:absolute;bottom: 15px;width:80px;color:#ffffff;stroke-width:6px;layer-color:#262626"></progress>
<scroll id="keyboard67" scroll-x="{{true}}" onscroll="handelScroll" style="width: {{screenWidthRect}}px">
<div if="{{!numFlag}}" style="left: 6px; flex-direction: column;">
<div static style="margin-left: 0px;margin-top: 0px;height: 60px;">
<text class="calbtn67" for="{{item in keys['full'][0]}}" @click="onSelect(item)">{{item}}</text>
@@ -164,26 +164,30 @@
</div>
</scroll>
</div>
<img show="{{lang === 'cn' && !numFlag}}" style="position: absolute;left: 72px;top: 6px;width: 192px;height: 60px;" src="./assets/horizontal/search.png" />
<scroll id="cvalWaiting" scroll-x="{{true}}" style="position: absolute;left: 82px;top: 15px;width: 157px;height: 42px;">
<div static style="position: absolute;left: 0px;top: 0px;height: 42px;padding-right:20px">
<text class="calbtn02" style="padding-right:10px" @click="pushCval">{{cval}}</text>
<text for="{{cvalList}}" show="{{resultList.length > $idx}}" class="calbtn02" style="padding-right:10px" @click="onRsSelect(resultList[$idx])">{{resultList[$idx]}}</text>
<div style="width: {{screenWidthRect}}px; flex-direction: row; justify-content: center">
<img src="./assets/horizontal/cn.png" style="padding: 6px;width: 60px;height: 60px;" @click="onBtnClick('lang')" if="{{downFlag==='' && !numFlag && lang==='cn'}}" />
<div if="{{lang === 'cn' && !numFlag}}" style="margin-left: 6px;width: 60%;height: 60px;background-color:#262626;border-color: #333333; border-width: 3px; border-radius: 100px;flex-direction: row;align-items:center">
<scroll id="cvalWaiting" scroll-x="{{true}}" style="position:absolute;width: 85%;height: 42px;">
<div static style="position: absolute;left: 0px;height: 42px;padding-left:20px;padding-right:20px">
<text class="calbtn02" style="padding-right:10px" @click="pushCval">{{cval}}</text>
<text for="{{cvalList}}" show="{{resultList.length > $idx}}" class="calbtn02" style="padding-right:10px" @click="onRsSelect(resultList[$idx])">{{resultList[$idx]}}</text>
</div>
</scroll>
<img if="{{resultList.length > 0}}" style="position:absolute;right: 10px; width: 60px;height: 40px;" src="./assets/horizontal/down2.png" @click="onBtnClick('down')" />
</div>
</scroll>
<img show="{{resultList.length > 0}}" style="position: absolute;left: 199px;top: 16px;width: 60px;height: 40px;" src="./assets/horizontal/down2.png" @click="onBtnClick('down')" />
<!-- 带变量的相对路径在 aiot-tookit 2.0.3 中编译出错,已反馈,暂时注释掉 -->
<!-- <img src="./assets/horizontal/{{lang}}.png" style="position: absolute;top:6px;left:6px;width: 60px;height: 60px;" @click="onBtnClick('lang')" show="{{downFlag==='' && !numFlag}}" /> -->
<img src="./assets/horizontal/cn.png" style="position: absolute;top:6px;left:6px;width: 60px;height: 60px;" @click="onBtnClick('lang')" show="{{downFlag==='' && !numFlag && lang==='cn'}}" />
<img src="./assets/horizontal/en.png" style="position: absolute;top:6px;left:6px;width: 60px;height: 60px;" @click="onBtnClick('lang')" show="{{downFlag==='' && !numFlag && lang==='en'}}" />
<img src="./assets/horizontal/123.png" style="position: absolute;left: 171px;top: 6px;width: 94px;height: 60px;" @click="onBtnClick('switchNum')" show="{{downFlag==='' && !numFlag && lang==='en'}}" />
<img src="./assets/horizontal/bigA.png" style="position: absolute;top:6px;left:72px;width:94px;height:60px;" @click="onBtnClick('switchLow')" show="{{downFlag==='' && upperFlag && lang==='en'&& !numFlag}}" />
<img src="./assets/horizontal/a.png" style="position: absolute;top:6px;left:72px;width:94px;height:60px;" @click="onBtnClick('switchUpper')" show="{{downFlag==='' && !upperFlag && lang==='en'&& !numFlag}}" />
<img src="./assets/horizontal/back2.png" style="position: absolute;top:6px;left:6px;width: 159px;height: 60px;" @click="onBtnClick('switchCn')" show="{{numFlag}}" />
<img if="{{!numFlag}}" src="./assets/horizontal/del.png" style="position: absolute;left: 270px;top: 6px;width: 60px;height: 60px;" @click="onBtnClick('D')" />
<img else src="./assets/horizontal/del2.png" style="position: absolute;left: 171px;top: 6px;width: 159px;height: 60px;" @click="onBtnClick('D')" />
<!-- 带变量的相对路径在 aiot-tookit 2.0.3 中编译出错,已反馈,暂时注释掉 -->
<!-- <img src="./assets/horizontal/{{lang}}.png" style="position: absolute;top:6px;left:6px;width: 60px;height: 60px;" @click="onBtnClick('lang')" show="{{downFlag==='' && !numFlag}}" /> -->
<img src="./assets/horizontal/en.png" style="padding: 6px;width: 60px;height: 60px;" @click="onBtnClick('lang')" if="{{downFlag==='' && !numFlag && lang==='en'}}" />
<img src="./assets/horizontal/bigA.png" style="padding: 6px;margin-left: 6px;width:94px;height:60px;" @click="onBtnClick('switchLow')" if="{{downFlag==='' && upperFlag && lang==='en'&& !numFlag}}" />
<img src="./assets/horizontal/a.png" style="padding: 6px;margin-left: 6px;width:94px;height:60px;" @click="onBtnClick('switchUpper')" if="{{downFlag==='' && !upperFlag && lang==='en'&& !numFlag}}" />
<img src="./assets/horizontal/123.png" style="margin-left: 6px;padding: 6px;margin-left: 6px;width: 94px;height: 60px;" @click="onBtnClick('switchNum')" if="{{downFlag==='' && !numFlag && lang==='en'}}" />
<img src="./assets/horizontal/back2.png" style="margin-left: 6px;padding: 6px;width: 159px;height: 60px;" @click="onBtnClick('switchCn')" if="{{numFlag}}" />
<img if="{{!numFlag}}" src="./assets/horizontal/del.png" style="margin-left: 6px;padding: 6px;width: 60px;height: 60px;" @click="onBtnClick('D')" />
<img else src="./assets/horizontal/del2.png" style="margin-left: 6px;padding: 6px;" @click="onBtnClick('D')" />
</div>
<!-- 这里使用show会导致每次输入都会加载全部候选列表,很卡 -->
<div style="position: absolute;left: 0px;top: 6px;width: 336px;height: 249px;background-color: black;" if="{{downFlag==='down'}}">
<div style="position: absolute;left: 0px;top: 0px;width: {{screenWidthRect}}px;height: 252px;background-color: black; justify-content:center; flex-direction:column; align-items:center" if="{{downFlag==='down'}}">
<div static class="list67">
<list static style="width:100%;height:100%;">
<list-item type="waitingRows67" class="item67" for="{{itemArray in resultList2}}">
@@ -193,7 +197,7 @@
</list-item>
</list>
</div>
<img static style="position: absolute;top:176px;left:6px;width: 324px;height: 67px;" src="./assets/horizontal/up2.png" @click="onBtnClick('down')" />
<img static style="margin-top:5px" src="./assets/horizontal/up2.png" @click="onBtnClick('down')" />
</div>
</div>
<!-- 胶囊屏66 -->
@@ -261,6 +265,7 @@
<script>
import vibrator from "@system.vibrator";
import device from '@system.device'
import { SimpleInputMethod } from "./assets/dicUtil.js";
function doSearchDic(word, cb) {
let hanzi = SimpleInputMethod.getHanzi(word);
@@ -308,6 +313,9 @@ export default {
cvalList: [0, 1, 2, 3, 4],
percent67: 52,
percent66: 0,
// 针对screenShape为rect的设备,会自动获取screenWidth并绑定到根div
// 这样便能同时适配n67和o65甚至是后续设备,但实际效果可能受designWidth影响
screenWidthRect: 336,
keys: {
full: [
["Q", "W", "E", "R", "T", "Y", "U", "I", "O", "P"],
@@ -344,6 +352,9 @@ export default {
}
this.cvalList = tempCvalList;
}
if (this.screentype === "rect") {
this.adjustScreenWidth();
}
this.$watch("hide", "watchHidePropsChange");
this.$watch("maxlength", "watchMaxLengthPropsChange");
},
@@ -571,6 +582,13 @@ export default {
this.resetReslutList();
this.addAllTxt(temp);
},
adjustScreenWidth(){
device.getInfo({
success: (data) => {
this.screenWidthRect = data.screenWidth;
}
})
}
};
</script>
@@ -679,10 +697,8 @@ export default {
height:170px;
}
.list67 {
position:absolute;
left:6px;
top:0px;
width:324px;
width:96.4%;
height:170px;
border-radius:30px;
background-color:#262626;
View File

Before

Width:  |  Height:  |  Size: 759 B

After

Width:  |  Height:  |  Size: 759 B

View File

Before

Width:  |  Height:  |  Size: 441 B

After

Width:  |  Height:  |  Size: 441 B

View File

Before

Width:  |  Height:  |  Size: 284 B

After

Width:  |  Height:  |  Size: 284 B

View File

Before

Width:  |  Height:  |  Size: 512 B

After

Width:  |  Height:  |  Size: 512 B

View File

Before

Width:  |  Height:  |  Size: 386 B

After

Width:  |  Height:  |  Size: 386 B

View File

Before

Width:  |  Height:  |  Size: 595 B

After

Width:  |  Height:  |  Size: 595 B

View File

Before

Width:  |  Height:  |  Size: 541 B

After

Width:  |  Height:  |  Size: 541 B

View File

Before

Width:  |  Height:  |  Size: 504 B

After

Width:  |  Height:  |  Size: 504 B

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 687 B

After

Width:  |  Height:  |  Size: 687 B

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View File
View File
View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 254 B

After

Width:  |  Height:  |  Size: 254 B

View File

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 1.4 KiB

View File

Before

Width:  |  Height:  |  Size: 1.6 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

Before

Width:  |  Height:  |  Size: 1.3 KiB

After

Width:  |  Height:  |  Size: 1.3 KiB

View File

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 541 B

After

Width:  |  Height:  |  Size: 541 B

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 2.0 KiB

After

Width:  |  Height:  |  Size: 2.0 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 2.3 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

Before

Width:  |  Height:  |  Size: 1.9 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

+6
View File
@@ -127,5 +127,11 @@
},
"user": {
"title": "User"
},
"sessionood": {
"title": "Some problems have occurred",
"sectitle": "Your account login seems to have expired, please try to log in again!",
"relogin": "Login again",
"exit": "Exit"
}
}
+6
View File
@@ -132,5 +132,11 @@
},
"user": {
"title": "用户主页"
},
"sessionood": {
"title": "遇到了一些问题",
"sectitle": "您的账号登录似乎已经过期,请尝试重新登录!",
"relogin": "重新登录",
"exit": "退出"
}
}
+3
View File
@@ -160,6 +160,9 @@
},
"pages/user": {
"component": "user"
},
"pages/error/sessionood": {
"component": "sessionood"
}
}
}
@@ -6,7 +6,7 @@
<div class="page">
<title-bar title="dynamic.detail.title"></title-bar>
<div class="user">
<image class="userface" src="{{dyn.modules.module_author.face}}@75w_75h"></image>
<image class="userface" src="{{dyn.modules.module_author.face}}@75w_75h" alt="/common/fullgray.png"></image>
<div class="userinfo">
<text class="username" style="margin-bottom: 3px">{{ dyn.modules.module_author.name }}</text>
<text style="font-size: 18px; color: #5e5e5e;" if="{{ dyn.modules.module_author.pub_time }}">
@@ -1,8 +1,9 @@
<import name="title-bar" src="@components/TitleBar/TitleBar.ux"></import>
<template>
<div class="page">
<image src="/common/settings_about.png" style="margin-top: 22px"></image>
<text class="text" style="margin-top: 5px">{{ $t("about.title") }}</text>
<div class="appbar" style="margin-top: 22px">
<title-bar title="about.title"></title-bar>
<div class="appbar">
<image class="logo" src="/common/logo.png"></image>
<text class="text" style="margin-left: 20px">HyperBili</text>
<text class="text ver">{{ version }}</text>
+16 -13
View File
@@ -1,6 +1,9 @@
@import '@less/defs.less';
@import '@less/color.less';
.setbase {
width: 291px;
height: 81px;
width: 370px;
height: 92px;
border-radius: 30px;
background-color: #262626;
align-items: center;
@@ -10,26 +13,26 @@
.seticon {
margin-left: 25px;
width: 42px;
height: 42px;
width: 55px;
height: 55px;
object-fit: scale-down;
}
.setext_small {
font-size: 22px;
font-weight: 600;
margin-left: 15px;
width: 170px;
}
.setext {
font-size: 30px;
font-weight: 600;
margin-left: 15px;
}
.countset_num {
font-size: 20px;
position: absolute;
right: 20px;
font-size: 30px;
font-weight: 600;
color: #4785ff;
color: #FF7DA8;
}
.arrow {
position: absolute;
right: 20px;
}
+9 -4
View File
@@ -22,22 +22,27 @@
<div class="setbase" @click="ClearTmp()">
<image class="seticon" src="/common/settings_removetmp.png"></image>
<text class="setext_small">{{ $t("settings.clearTemp") }}</text>
<image src="/common/arrow_right.png"></image>
<image class="arrow" src="/common/arrow_right.png"></image>
</div>
<div class="setbase" @click="logout()">
<image class="seticon" src="/common/settings_logout.png"></image>
<text class="setext_small">{{ $t("settings.logOut") }}</text>
<image src="/common/arrow_right.png"></image>
<image class="arrow" src="/common/arrow_right.png"></image>
</div>
<div class="setbase" @click="GoDonation()">
<image class="seticon" src="/common/donation.png"></image>
<text class="setext_small">{{ $t("settings.donation") }}</text>
<image src="/common/arrow_right.png"></image>
<image class="arrow" src="/common/arrow_right.png"></image>
</div>
<div class="setbase" @click="GoAbout()">
<image class="seticon" src="/common/settings_about.png"></image>
<text class="setext_small">{{ $t("settings.about") }}</text>
<image class="arrow" src="/common/arrow_right.png"></image>
</div>
<div class="setbase" @click="GoDebug()">
<div class="seticon"></div>
<text class="setext_small">{{ $t("settings.debug") }}</text>
<image src="/common/arrow_right.png"></image>
<image class="arrow" src="/common/arrow_right.png"></image>
</div>
<image style="margin-top: 30px" src="/common/opensource_warning.png"></image>
<text style="margin-top: 25px"></text>
+33
View File
@@ -0,0 +1,33 @@
<import name="default-button" src="@components/DefaultButton/DefaultButton.ux"></import>
<template>
<div class="page">
<image style="margin-top: 44px; width: 63px; height: 54px; object-fit: scale-down" src="/common/warning_icon.png"></image>
<text style="font-weight: 600; font-size: 28px; margin-top: 15px;">{{ $t("sessionood.title") }}</text>
<text style="font-weight: 600; font-size: 28px; margin-top: 18px; width: 75%">{{ $t("sessionood.sectitle") }}</text>
<default-button primary="true" margin-top="35px" text="sessionood.relogin" @click="Relogin"></default-button>
<default-button margin-top="15px" text="sessionood.exit" @click="Exit"></default-button>
<text style="margin-top: 25px;"></text>
</div>
</template>
<script>
import router from "@system.router"
export default {
Relogin(){
global.biliclient.logOut()
router.clear()
router.replace({
uri: "pages/app/entry/splash"
})
},
Exit(){
router.clear()
router.back()
}
}
</script>
<style lang="less">
@import '@less/global.less';
</style>
+23
View File
@@ -0,0 +1,23 @@
@import '@less/defs.less';
@import '@less/color.less';
.ctxcard {
.flex-column(15px);
.radius(15px);
}
.ctxdesc {
.flex-row(0px, #00000000);
justify-content: space-between;
align-items: center;
}
.desctxt {
font-size: 24px;
font-weight: 600;
}
.gs {
font-size: 20px;
color: gray;
}
+16
View File
@@ -5,6 +5,16 @@
<div class="page">
<title-bar title="user.title"></title-bar>
<user-info account-info="{{user}}" if="{{loaded}}"></user-info>
<div class="ctxcard" if="{{loaded}}">
<div class="ctxdesc">
<div style="width: 280px;">
<text class="desctxt">TA的视频</text>
<text class="desctxt gs" style="margin-left: 15px">{{navnum.video}}</text>
</div>
<text class="desctxt gs">></text>
</div>
</div>
<image style="position: absolute; margin-top: 245px" if="{{anims.show_loading}}" src="{{anims.loading_src.value}}"></image>
</div>
</template>
@@ -16,6 +26,8 @@ export default {
},
private: {
user: {},
stat: {},
navnum: {},
anims: {
show_loading: false
},
@@ -23,7 +35,11 @@ export default {
},
async LoadUserInfo(){
this.anims.loading.start()
this.user = await global.biliclient.getUserInfoByUID(this.uid)
this.stat = await global.biliclient.getUserStatByUID(this.uid)
this.navnum = await global.biliclient.getUserNavnumByUID(this.uid)
this.anims.loading.stop()
this.anims.show_loading = false
this.loaded = true