1. "设置"页面重做与美术资源更新 2. 输入法o65支持 3. 新增登录过期检测
@@ -6,4 +6,5 @@
|
||||
/build
|
||||
.husky/
|
||||
*/__pycache__
|
||||
src/buildinfo.ts
|
||||
src/buildinfo.ts
|
||||
**/.DS_Store
|
||||
@@ -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}`);
|
||||
|
||||
@@ -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请求
|
||||
|
||||
@@ -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
|
||||
},
|
||||
|
||||
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 796 B After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 766 B After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 1.8 KiB |
|
Before Width: | Height: | Size: 454 B After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 564 B After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 27 KiB |
@@ -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 }}">
|
||||
|
||||
@@ -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;
|
||||
|
||||
|
Before Width: | Height: | Size: 759 B After Width: | Height: | Size: 759 B |
|
Before Width: | Height: | Size: 441 B After Width: | Height: | Size: 441 B |
|
Before Width: | Height: | Size: 284 B After Width: | Height: | Size: 284 B |
|
Before Width: | Height: | Size: 512 B After Width: | Height: | Size: 512 B |
|
Before Width: | Height: | Size: 386 B After Width: | Height: | Size: 386 B |
|
Before Width: | Height: | Size: 595 B After Width: | Height: | Size: 595 B |
|
Before Width: | Height: | Size: 541 B After Width: | Height: | Size: 541 B |
|
Before Width: | Height: | Size: 504 B After Width: | Height: | Size: 504 B |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 687 B After Width: | Height: | Size: 687 B |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 1.5 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 254 B After Width: | Height: | Size: 254 B |
|
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 1.4 KiB |
|
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
|
Before Width: | Height: | Size: 1.3 KiB After Width: | Height: | Size: 1.3 KiB |
|
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 2.2 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 541 B After Width: | Height: | Size: 541 B |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
|
Before Width: | Height: | Size: 2.0 KiB After Width: | Height: | Size: 2.0 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
|
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
|
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
@@ -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"
|
||||
}
|
||||
}
|
||||
@@ -132,5 +132,11 @@
|
||||
},
|
||||
"user": {
|
||||
"title": "用户主页"
|
||||
},
|
||||
"sessionood": {
|
||||
"title": "遇到了一些问题",
|
||||
"sectitle": "您的账号登录似乎已经过期,请尝试重新登录!",
|
||||
"relogin": "重新登录",
|
||||
"exit": "退出"
|
||||
}
|
||||
}
|
||||
@@ -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>
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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
|
||||
|
||||