diff --git a/JD.js b/JD.js
new file mode 100644
index 0000000..2a01b50
--- /dev/null
+++ b/JD.js
@@ -0,0 +1,1323 @@
+// Variables used by Scriptable.
+// These must be at the very top of the file. Do not edit.
+// icon-color: pink; icon-glyph: feather-alt;
+/**
+ * Author:LSP
+ * Date:2023-08-21
+ */
+// -------------------------------------------------------
+// 是否是开发环境,配合手机端调试使用,正式发布设置为false
+const isDev = false;
+const dependencyLSP = '20230602';
+console.log(`当前环境 👉👉👉👉👉 ${isDev ? 'DEV' : 'RELEASE'}`);
+console.log(`----------------------------------------`);
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+// 依赖包目录
+const fm = FileManager.local();
+const rootDir = fm.documentsDirectory();
+const cacheDir = fm.joinPath(rootDir, 'LSP');
+const dependencyFileName = isDev ? "_LSP.js" : `${cacheDir}/_LSP.js`;
+// 下载依赖包
+await downloadLSPDependency();
+// -------------------------------------------------------
+if (typeof require === 'undefined') require = importModule
+// 引入相关方法
+const { BaseWidget } = require(dependencyFileName);
+
+// @定义小组件
+class Widget extends BaseWidget {
+
+ defaultPreference = {
+ link_fruit: 'openApp.jdMobile://virtual?params=%7B%22category%22%3A%22jump%22%2C%22des%22%3A%22m%22%2C%22url%22%3A%22https%3A%2F%2Fcarry.m.jd.com%2FbabelDiy%2FZeus%2F3KSjXqQabiTuD1cJ28QskrpWoBKT%2Findex.html%3FbabelChannel%3D94%22%7D',
+ link_package: 'openapp.jdmobile://virtual?params=%7B%22category%22%3A%22jump%22%2C%22des%22%3A%22m%22%2C%22url%22%3A%22https%3A%2F%2Ftrade.m.jd.com%2Forder%2Forderlist_jdm.shtml%3Fsceneval%3D2%26jxsid%3D16780988595962555448%26orderType%3DwaitReceipt%26ptag%3D7155.1.13%26source%3Dmy%2Findex%3Fsource%3Dlingjingdoushouye%22%7D',
+ link_bean_detail: 'openapp.jdmobile://virtual?params=%7B%22category%22%3A%22jump%22%2C%22des%22%3A%22m%22%2C%22url%22%3A%22https%3A%2F%2Fbean.m.jd.com%2FbeanDetail%2Findex.action%3FresourceValue%3Dbean%22%7D',
+ centerIconUrls: [
+ 'img/ic_pikachu_1.png',
+ 'img/ic_pikachu_4.png',
+ 'img/ic_pikachu_5.png',
+ 'img/ic_pikachu_6.png',
+ 'img/ic_pikachu_7.png',
+ 'img/ic_pikachu_8.png',
+ 'img/ic_cat_1.png',
+ 'img/ic_cat_2.png',
+ 'img/ic_cat_3.png',
+ 'img/ic_cat_4.png',
+ 'img/ic_cat_5.png',
+ 'img/ic_cat_6.png',
+ 'img/ic_cat_7.png',
+ 'img/ic_cat_8.png',
+ ],
+ leftStackWidth: 80,
+ userInfoParam: {
+ 'functionId': 'jx.userinfo.query',
+ 'appid': 'jx_h5',
+ 't': 1692596879037,
+ 'channel': 'jxh5',
+ 'client': 'jxh5',
+ 'cthr': '1',
+ 'cv': '1.2.5',
+ 'clientVersion': '1.2.5',
+ 'loginType': '2',
+ 'body': JSON.stringify({ "sceneid": 80027, "sceneval": 2, "buid": 325, "appCode": "ms0ca95114", "time": 1692596879037, "signStr": "e3013086b16b6ad04ac13d143d0bda07" }),
+ },
+ myBeanParam: {
+ 'appid': 'jd-cphdeveloper-m',
+ 'functionId': 'myBean',
+ 'body': JSON.stringify({ "tenantCode": "jgm", "bizModelCode": '6', "bizModeClientType": "M", "externalLoginType": '1' }),
+ 'g_login_type': 0,
+ 'g_tk': '997104177',
+ 'g_ty': 'ajax',
+ 'appCode': 'ms0ca95114',
+ },
+ redPackageParam: {
+ 'functionId': 'redPacket',
+ 'appid': 'jd-cphdeveloper-m',
+ 'loginType': 2,
+ 'client': 'm',
+ 'sceneval': 2,
+ 'g_login_type': 1,
+ 'g_ty': 'ajax',
+ 'appCode': 'ms0ca95114',
+ 'body': JSON.stringify({ "type": 1, "redBalanceFlag": 1, "page": 1, "tenantCode": "jgm", "bizModelCode": "6", "bizModeClientType": "M", "externalLoginType": "1" }),
+ },
+ nicknameDayColor: '#000000',
+ nicknameNightColor: '#000000',
+ jvDayColor: '#000000',
+ jvNightColor: '#000000',
+ beanDayColor: '#F62910',
+ beanNightColor: '#F62910',
+ expiredBeanDayColor: '#AD4731',
+ expiredBeanNightColor: '#AD4731',
+ dateBeanTitleDayColor: '#000000',
+ dateBeanTitleNightColor: '#000000',
+ dateBeaneDayColor: '#000000',
+ dateBeanNightColor: '#000000',
+ redPackageDayColor: '#F62910',
+ redPackageNightColor: '#F62910',
+ expiredRedPackageDayColor: '#ff8260',
+ expiredRedPackageNightColor: '#ff8260',
+ fruitDayColor: '#84B264',
+ fruitNightColor: '#84B264',
+ baiTiaoDayColor: '#F62910',
+ baiTiaoNightColor: '#F62910',
+ packageFlowTitleDayColor: '#283149',
+ packageFlowTitleNightColor: '#283149',
+ packageFlowDescDayColor: '#494949',
+ packageFlowDescNightColor: '#494949',
+ };
+
+ userInfo = {
+ levelName: '', // 等级名称
+ jvalue: 0, // 京享值
+ nickname: '',
+ headImageUrl: '',
+ isPlusVip: false,
+ }
+
+ redPackage = {
+ amount: 0,
+ expired: '',
+ };
+
+ beanInfo = {
+ totalAmount: 0,
+ yesterdayGain: 0,
+ todayGain: 0,
+ almostExpired: 0,
+ }
+
+ packageFlow = {
+ count: 0,
+ details: []
+ }
+
+ baitiao = {
+ title: '',
+ amount: '',
+ desc: ''
+ }
+
+ fruit = {
+ name: '',
+ simpleName: '',
+ goodsImage: '',
+ percent: ''
+ }
+
+ getValueByKey = (key) => this.readWidgetSetting()[key] ?? this.defaultPreference[key] ?? '';
+
+ ck = () => this.getValueByKey('cookie');
+
+ nicknameDayColor = () => this.getValueByKey('nicknameDayColor');
+ nicknameNightColor = () => this.getValueByKey('nicknameNightColor');
+
+ jvDayColor = () => this.getValueByKey('jvDayColor');
+ jvNightColor = () => this.getValueByKey('jvNightColor');
+
+ beanDayColor = () => this.getValueByKey('beanDayColor');
+ beanNightColor = () => this.getValueByKey('beanNightColor');
+
+ expiredBeanDayColor = () => this.getValueByKey('expiredBeanDayColor');
+ expiredBeanNightColor = () => this.getValueByKey('expiredBeanNightColor');
+
+ dateBeanTitleDayColor = () => this.getValueByKey('dateBeanTitleDayColor');
+ dateBeanTitleNightColor = () => this.getValueByKey('dateBeanTitleNightColor');
+
+ dateBeanDayColor = () => this.getValueByKey('dateBeanDayColor');
+ dateBeanNightColor = () => this.getValueByKey('dateBeanNightColor');
+
+ redPackageDayColor = () => this.getValueByKey('redPackageDayColor');
+ redPackageNightColor = () => this.getValueByKey('redPackageNightColor');
+
+ expiredRedPackageDayColor = () => this.getValueByKey('expiredRedPackageDayColor');
+ expiredRedPackageNightColor = () => this.getValueByKey('expiredRedPackageNightColor');
+
+ fruitDayColor = () => this.getValueByKey('fruitDayColor');
+ fruitNightColor = () => this.getValueByKey('fruitNightColor');
+
+ baiTiaoDayColor = () => this.getValueByKey('baiTiaoDayColor');
+ baiTiaoNightColor = () => this.getValueByKey('baiTiaoNightColor');
+
+ packageFlowTitleDayColor = () => this.getValueByKey('packageFlowTitleDayColor');
+ packageFlowTitleNightColor = () => this.getValueByKey('packageFlowTitleNightColor');
+
+ packageFlowDescDayColor = () => this.getValueByKey('packageFlowDescDayColor');
+ packageFlowDescNightColor = () => this.getValueByKey('packageFlowDescNightColor');
+
+ constructor(scriptName) {
+ super(scriptName);
+ this.defaultConfig.refreshInterval = '60';
+ this.changeBgMode2OnLineBg(
+ [`${this.getRemoteRootPath()}/img/jd/bg_orange.png`],
+ { blur: false, darkBlur: false, blurRadius: 50 }
+ );
+ // --------------------------------------------
+ this.cookie = this.ck();
+ this.defaultHeaders = {
+ 'cookie': this.cookie,
+ 'Sec-Fetch-Mode': 'cors',
+ 'user-agent': 'Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1',
+ }
+ if (!this.cookie) {
+ delete this.defaultHeaders.cookie;
+ }
+ this.jdNum = this.useFileManager().readStringCache('jdBean');
+ this.jdNumChange = true;
+ this.vSpacer = 0;
+ this.useFruitInfoCache = true;
+ }
+
+ async getAppViewOptions() {
+ return {
+ widgetProvider: {
+ small: false, // 是否提供小号组件
+ medium: true, // 是否提供中号组件
+ large: false, // 是否提供大号组件
+ },
+ // 预览界面的组件设置item
+ settingItems: [
+ {
+ name: 'jdLogin',
+ label: '登录京东',
+ type: 'cell',
+ icon: `${this.getRemoteRootPath()}/img/jd/icon_app_logo.png`,
+ needLoading: true,
+ default: this.ck()?.length > 0 ? '已登录' : '未登录',
+ },
+ {
+ name: 'otherSetting',
+ label: '其他设置',
+ type: 'cell',
+ icon: 'https://cdnjson.com/images/2024/02/05/settings.png',
+ needLoading: true,
+ childItems: [
+ {
+ items: [
+ {
+ name: 'nicknameDayColor',
+ label: '用户名浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.nicknameDayColor(),
+ },
+ {
+ name: 'nicknameNightColor',
+ label: '用户名深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.nicknameNightColor(),
+ }
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'jvDayColor',
+ label: '京享值浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.jvDayColor(),
+ },
+ {
+ name: 'jvNightColor',
+ label: '京享值深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.jvNightColor(),
+ }
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'beanDayColor',
+ label: '京豆浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.beanDayColor(),
+ },
+ {
+ name: 'beanNightColor',
+ label: '京豆深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.beanNightColor(),
+ }
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'expiredBeanDayColor',
+ label: '快过期京豆浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.expiredBeanDayColor(),
+ },
+ {
+ name: 'expiredBeanNightColor',
+ label: '快过期京豆深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.expiredBeanNightColor(),
+ }
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'dateBeanTitleDayColor',
+ label: '日期标题浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.dateBeanTitleDayColor(),
+ },
+ {
+ name: 'dateBeanTitleNightColor',
+ label: '日期标题深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.dateBeanTitleNightColor(),
+ }
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'dateBeanDayColor',
+ label: '日期京豆浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.dateBeanDayColor(),
+ },
+ {
+ name: 'dateBeanNightColor',
+ label: '日期京豆深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.dateBeanNightColor(),
+ }
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'redPackageDayColor',
+ label: '红包浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.redPackageDayColor(),
+ },
+ {
+ name: 'redPackageNightColor',
+ label: '红包深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.redPackageNightColor(),
+ }
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'expiredRedPackageDayColor',
+ label: '快过期红包浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.expiredRedPackageDayColor(),
+ },
+ {
+ name: 'expiredRedPackageNightColor',
+ label: '快过期红包深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.expiredRedPackageNightColor(),
+ }
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'fruitDayColor',
+ label: '农场浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.fruitDayColor(),
+ },
+ {
+ name: 'fruitNightColor',
+ label: '农场深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.fruitNightColor(),
+ }
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'baiTiaoDayColor',
+ label: '白条浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.baiTiaoDayColor(),
+ },
+ {
+ name: 'baiTiaoNightColor',
+ label: '白条深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.baiTiaoNightColor(),
+ }
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'packageFlowTitleDayColor',
+ label: '物流标题浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.packageFlowTitleDayColor(),
+ },
+ {
+ name: 'packageFlowTitleNightColor',
+ label: '物流标题深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.packageFlowTitleNightColor(),
+ }
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'packageFlowDescDayColor',
+ label: '物流明细浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.packageFlowDescDayColor(),
+ },
+ {
+ name: 'packageFlowDescNightColor',
+ label: '物流明细深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.packageFlowDescNightColor(),
+ }
+ ]
+ },
+ ]
+ },
+
+ ],
+ // cell类型的item点击回调
+ onItemClick: async (item) => {
+ let widgetSetting = this.readWidgetSetting();
+ let insertDesc = '';
+ switch (item.name) {
+ case 'jdLogin':
+ let ck = widgetSetting?.cookie ?? '';
+ let selectIndex = await this.generateAlert('登录信息', '1.网页登录\n2.自己抓取填入ck', ['网页登录', '直接填入']);
+ if (selectIndex == 0) {
+ const webview = new WebView();
+ await webview.loadURL('https://plogin.m.jd.com/login/login?appid=300&returnurl=https%3A%2F%2Fwqs.jd.com%2Fmy%2Faccountv2.shtml%3Fsceneval%3D2%26jxsid%3D16323729562173504755%26ptag%3D7155.1.2&source=wq_passport');
+ await webview.present();
+ //
+ const REQ = new Request('https://ms.jr.jd.com/gw/generic/bt/h5/m/firstScreenNew',);
+ REQ.method = 'POST';
+ REQ.body = 'reqData={"clientType":"ios","clientVersion":"13.2.3","deviceId":"","environment":"3"}';
+ await REQ.loadJSON();
+ const cookies = REQ.response.cookies;
+ const cookie = [];
+ cookies.forEach((item) => {
+ const value = `${item.name}=${item.value}`;
+ if (item.name === 'pt_key') cookie.push(value);
+ if (item.name === 'pt_pin') cookie.push(value)
+ });
+ if (cookie.length != 0) {
+ ck = cookie.join(';');
+ widgetSetting['cookie'] = ck;
+ }
+ } else {
+ await this.generateInputAlert({
+ title: '登录信息填写',
+ message: '填入抓取京东的cookie',
+ options: [
+ { hint: '请输入cookie', value: widgetSetting?.cookie ?? '' },
+ ]
+ }, async (inputArr) => {
+ this.reset = true;
+ ck = inputArr[0].value;
+ // 保存配置
+ widgetSetting['cookie'] = ck;
+ });
+ }
+ this.cookie = ck;
+ console.log("2====================");
+ console.log(this.cookie);
+ console.log("2====================");
+ insertDesc = ck?.length > 0 ? '已登录' : '未登录';
+ break;
+ }
+ // 写入更新配置
+ this.writeWidgetSetting(widgetSetting);
+ return {
+ desc: { value: insertDesc },
+ };
+ },
+ };
+ }
+
+ async render({ widgetSetting }) {
+ return await this.provideMediumWidget(widgetSetting);
+ }
+
+ async provideMediumWidget() {
+ await this.loadData();
+ const { details } = this.packageFlow;
+ // ----------------------------------------
+ const widgetSize = this.getWidgetSize('中号');
+ //=================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ //=================================
+ let stack = widget.addStack();
+ if (details.length === 0) {
+ this.vSpacer = 4;
+ stack.addSpacer();
+ } else {
+ this.vSpacer = 0;
+ stack.addSpacer(6);
+ }
+ stack.setPadding(10, 10, 10, 10);
+ stack.size = new Size(widgetSize.width, widgetSize.height);
+ stack.layoutVertically();
+ let topStack = stack.addStack();
+ topStack.layoutHorizontally();
+ let userInfoStack = topStack.addStack();
+ //=================================
+ await this.userInfoStack(userInfoStack);
+ topStack.addSpacer(14);
+ let detailInfoStack = topStack.addStack();
+ await this.detailInfoStack(detailInfoStack, widgetSize);
+ //=================================
+ await this.packageFlowInfoStack(stack, widgetSize.width);
+ //=================================
+ if (details.length === 0) {
+ stack.addSpacer();
+ } else {
+ stack.addSpacer(6);
+ }
+ return widget;
+ }
+
+ async userInfoStack(userInfoStack) {
+ let stackSize = new Size(this.defaultPreference.leftStackWidth, 0);
+ const extra = 10;
+ const avatarSize = new Size(63 + this.vSpacer * 2, 63 + this.vSpacer * 2);
+ const jvBgColor = new Color('#ffde7d', 0.8);
+ //================================
+ let imgSpan;
+ let textSpan;
+ let image;
+ //================================
+ userInfoStack.layoutVertically();
+ userInfoStack.size = stackSize;
+ let infoStack = userInfoStack.addStack();
+ infoStack.size = stackSize;
+ infoStack.centerAlignContent();
+ let avatarStack = infoStack.addStack();
+ let avatarImage = await this.circleCropImage(this.userInfo.headImageUrl);
+ const avatarImageSize = avatarImage.size;
+ let plusBgImage = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/jd/bg_plus_avatar.png`);
+ //
+ const ctx = new DrawContext();
+ ctx.opaque = false;
+ ctx.respectScreenScale = true;
+ let rect = new Rect(0, 0, avatarImageSize.width + extra, avatarImageSize.height + extra);
+ ctx.size = new Size(rect.width, rect.height);
+ ctx.drawImageAtPoint(avatarImage, new Point(extra / 2, extra / 2 + 2 * Device.screenScale() - 10));
+ avatarStack.size = avatarSize;
+ avatarStack.backgroundImage = ctx.getImage();
+ //
+ if (this.userInfo.isPlusVip) {
+ imgSpan = avatarStack.addImage(plusBgImage);
+ imgSpan.imageSize = avatarSize;
+ }
+ //================================
+ userInfoStack.addSpacer(10 + this.vSpacer);
+ let nameStack = userInfoStack.addStack();
+ nameStack.size = stackSize;
+ nameStack.centerAlignContent();
+ if (this.userInfo.isPlusVip) {
+ image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/jd/icon_plus.jpg`);
+ imgSpan = nameStack.addImage(image);
+ imgSpan.imageSize = new Size(15, 15);
+ nameStack.addSpacer(8);
+ }
+ textSpan = nameStack.addText(this.userInfo.nickname);
+ textSpan.lineLimit = 1;
+ textSpan.textColor = Color.dynamic(new Color(this.nicknameDayColor()), new Color(this.nicknameNightColor()));
+ textSpan.font = Font.regularSystemFont(12);
+ //================================
+ userInfoStack.addSpacer(5 + this.vSpacer / 2);
+ let jvStackContainer = userInfoStack.addStack();
+ jvStackContainer.size = stackSize;
+ jvStackContainer.centerAlignContent();
+ let jvStack = jvStackContainer.addStack();
+ image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/jd/bg_red_rect.png`);
+ jvStack.backgroundColor = jvBgColor;
+ jvStack.backgroundImage = image;
+ jvStack.setPadding(2, 8, 2, 8);
+ textSpan = jvStack.addText(`京享值 ${this.userInfo.jvalue}`);
+ textSpan.textOpacity = 0.9;
+ textSpan.textColor = Color.dynamic(new Color(this.jvDayColor()), new Color(this.jvNightColor()));
+ textSpan.font = Font.regularSystemFont(10);
+ jvStack.cornerRadius = 10;
+ }
+
+ async detailInfoStack(detailInfoStack, widgetSize) {
+ const icon = this.getRandowArrValue(this.defaultPreference.centerIconUrls);
+ let btInfoIndex = parseInt(this.keyGet('btInfoIndex', '0'));
+ const bannerSize = new Size(34 + this.vSpacer, 34 + this.vSpacer);
+ const textBannerSize = new Size(30 + this.vSpacer, 30 + this.vSpacer);
+ const normalBeanSize = new Size(16, 16);
+ const expireBeanSize = new Size(13, 13);
+ const emojiSize = new Size(48, 48);
+ const beanColor = Color.dynamic(new Color(this.beanDayColor()), new Color(this.beanNightColor()));
+ const expiredBeanColor = Color.dynamic(new Color(this.expiredBeanDayColor()), new Color(this.expiredBeanNightColor()));
+ //================================
+ let imgSpan;
+ let textSpan;
+ let image;
+ //================================
+ detailInfoStack.layoutVertically();
+ let totalBeanStack = detailInfoStack.addStack();
+ totalBeanStack.centerAlignContent();
+ image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/jd/ic_jd_logo.png`);
+ imgSpan = totalBeanStack.addImage(image);
+ imgSpan.imageSize = bannerSize;
+ //
+ totalBeanStack.addSpacer(8);
+ image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/jd/ic_jd_text.jpg`);
+ imgSpan = totalBeanStack.addImage(image);
+ imgSpan.imageSize = textBannerSize;
+ //
+ totalBeanStack.addSpacer(12);
+ textSpan = totalBeanStack.addText(`${this.beanInfo.totalAmount}`);
+ textSpan.textColor = beanColor;
+ textSpan.font = Font.boldSystemFont(20);
+ //
+ totalBeanStack.addSpacer(2);
+ image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/jd/ic_bean_color.jpg`);
+ imgSpan = totalBeanStack.addImage(image);
+ imgSpan.imageSize = normalBeanSize;
+ // ------------------------
+ totalBeanStack.addSpacer(12);
+ textSpan = totalBeanStack.addText(`${this.beanInfo.almostExpired}`);
+ textSpan.textColor = expiredBeanColor;
+ textSpan.font = Font.mediumSystemFont(14);
+ //
+ totalBeanStack.addSpacer(2);
+ image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/jd/icon_bean_yellow.png`);
+ imgSpan = totalBeanStack.addImage(image);
+ imgSpan.imageOpacity = 0.6;
+ imgSpan.imageSize = expireBeanSize;
+ totalBeanStack.url = this.defaultPreference.link_bean_detail;
+ //================================
+ detailInfoStack.addSpacer(this.vSpacer * 2);
+ let beanInfoStack = detailInfoStack.addStack();
+ beanInfoStack.size = new Size(widgetSize.width - this.defaultPreference.leftStackWidth - 30, 0);
+ //================================
+ beanInfoStack.addSpacer(4);
+ let yesterdayBeanStack = beanInfoStack.addStack();
+ yesterdayBeanStack.layoutVertically();
+ textSpan = yesterdayBeanStack.addText(`昨天`);
+ textSpan.textColor = Color.dynamic(new Color(this.dateBeanTitleDayColor()), new Color(this.dateBeanTitleNightColor()));
+ textSpan.font = Font.regularSystemFont(12);
+ yesterdayBeanStack.addSpacer(5);
+ yesterdayBeanStack.url = this.defaultPreference.link_bean_detail;
+ //
+ textSpan = yesterdayBeanStack.addText(`${this.beanInfo.yesterdayGain}`);
+ textSpan.textColor = Color.dynamic(new Color(this.dateBeanDayColor()), new Color(this.dateBeanNightColor()));
+ textSpan.font = Font.regularSystemFont(25);
+ //================================
+ beanInfoStack.addSpacer();
+ image = await this.getImageByUrl(`${this.getRemoteRootPath()}/${icon}`);
+ imgSpan = beanInfoStack.addImage(image);
+ imgSpan.imageSize = emojiSize;
+ imgSpan.imageOpacity = 0.8;
+ //================================
+ beanInfoStack.addSpacer();
+ let todayBeanStack = beanInfoStack.addStack();
+ todayBeanStack.layoutVertically();
+ textSpan = todayBeanStack.addText(`今天`);
+ textSpan.textColor = Color.dynamic(new Color(this.dateBeanTitleDayColor()), new Color(this.dateBeanTitleNightColor()));
+ textSpan.font = Font.regularSystemFont(12);
+ todayBeanStack.addSpacer(5);
+ todayBeanStack.url = this.defaultPreference.link_bean_detail;
+ //
+ textSpan = todayBeanStack.addText(`${this.beanInfo.todayGain}`);
+ textSpan.textColor = Color.dynamic(new Color(this.dateBeanDayColor()), new Color(this.dateBeanNightColor()));
+ textSpan.font = Font.regularSystemFont(25);
+ beanInfoStack.addSpacer(10);
+ //================================
+ const stackSize = 3;
+ detailInfoStack.addSpacer(4);
+ if (btInfoIndex == 1 && this.fruit.simpleName?.length > 0) {
+ await this.fruitInfoStack(detailInfoStack);
+ } else if (btInfoIndex == 2 && this.baitiao.amount != 0) {
+ await this.baiTiaoStack(detailInfoStack);
+ } else {
+ await this.redPackageStack(detailInfoStack);
+ }
+ btInfoIndex++;
+ btInfoIndex = btInfoIndex % stackSize;
+ this.keySave('btInfoIndex', `${btInfoIndex}`);
+ //================================
+ }
+
+ async redPackageStack(detailInfoStack) {
+ //================================
+ let imgSpan;
+ let textSpan;
+ let image;
+ //================================
+ const walletSize = new Size(25, 25);
+ const redPackageColor = Color.dynamic(new Color(this.redPackageDayColor()), new Color(this.redPackageNightColor()));
+ const expiredRedPackageColor = Color.dynamic(new Color(this.expiredRedPackageDayColor()), new Color(this.expiredRedPackageNightColor()));
+ //================================
+ detailInfoStack.addSpacer(2);
+ let walletStack = detailInfoStack.addStack();
+ walletStack.centerAlignContent();
+ walletStack.addSpacer(6);
+ image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/jd/icon_wallet.jpg`);
+ imgSpan = walletStack.addImage(image);
+ imgSpan.imageSize = walletSize;
+ //
+ walletStack.addSpacer(13)
+ textSpan = walletStack.addText(`${this.redPackage.amount}`);
+ textSpan.textColor = redPackageColor;
+ textSpan.font = Font.mediumSystemFont(18);
+ //
+ walletStack.addSpacer(4)
+ textSpan = walletStack.addText(`元`);
+ textSpan.textColor = redPackageColor;
+ textSpan.font = Font.mediumSystemFont(11);
+ //
+ textSpan = walletStack.addText(`,即将过期: ${this.redPackage.expired}元`);
+ textSpan.textColor = expiredRedPackageColor;
+ textSpan.font = Font.mediumSystemFont(11);
+ }
+
+ async fruitInfoStack(detailInfoStack) {
+ //================================
+ let imgSpan;
+ let textSpan;
+ let image;
+ //================================
+ const fruitSize = new Size(18, 18);
+ const fruitColor = Color.dynamic(new Color(this.fruitDayColor()), new Color(this.fruitNightColor()));
+ //================================
+ detailInfoStack.addSpacer(6);
+ let fruitStack = detailInfoStack.addStack();
+ fruitStack.url = this.defaultPreference.link_fruit;
+ fruitStack.centerAlignContent();
+ fruitStack.addSpacer(6);
+ image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/jd/icon_fruit.png`);
+ imgSpan = fruitStack.addImage(image);
+ imgSpan.imageSize = fruitSize;
+ //
+ fruitStack.addSpacer(8);
+ const simpleName = this.fruit.simpleName;
+ let simpleText = simpleName.length >= 6 ? simpleName.slice(0, 7) : simpleName;
+ let showText = `农场『${simpleText}』进度:`;
+ textSpan = fruitStack.addText(showText);
+ textSpan.textColor = fruitColor;
+ textSpan.font = Font.regularSystemFont(showText.length > 12 ? 11 : 12);
+ textSpan.lineLimit = 1;
+ //
+ fruitStack.addSpacer(6);
+ textSpan = fruitStack.addText(`${this.fruit.percent}`);
+ textSpan.textColor = fruitColor;
+ textSpan.font = Font.boldSystemFont(12);
+ textSpan.lineLimit = 1;
+ }
+
+ async baiTiaoStack(detailInfoStack) {
+ //================================
+ let imgSpan;
+ let textSpan;
+ let image;
+ //================================
+ const baiTiaoSize = new Size(25, 25);
+ const baiTiaoColor = Color.dynamic(new Color(this.baiTiaoDayColor()), new Color(this.baiTiaoNightColor()));;
+ //================================
+ detailInfoStack.addSpacer(2);
+ let baiTiaoStack = detailInfoStack.addStack();
+ baiTiaoStack.centerAlignContent();
+ baiTiaoStack.addSpacer(6);
+ image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/jd/icon_baitiao.jpg`);
+ imgSpan = baiTiaoStack.addImage(image);
+ imgSpan.imageSize = baiTiaoSize;
+ //
+ baiTiaoStack.addSpacer(8);
+ const monthIndex = this.baitiao?.desc?.indexOf('月');
+ textSpan = baiTiaoStack.addText(`${monthIndex == -1 ? this.baitiao.title : `${this.baitiao.desc}待还款:`}`);
+ textSpan.textColor = baiTiaoColor;
+ textSpan.font = Font.regularSystemFont(11);
+ //
+ baiTiaoStack.addSpacer(4);
+ textSpan = baiTiaoStack.addText(`${this.baitiao.amount}`);
+ textSpan.textColor = baiTiaoColor;
+ textSpan.font = Font.boldSystemFont(14);
+ textSpan.lineLimit = 1;
+ //
+ if (monthIndex == -1) {
+ textSpan = baiTiaoStack.addText(`,${this.baitiao.desc}。`);
+ textSpan.textColor = baiTiaoColor;
+ textSpan.font = Font.regularSystemFont(11);
+ textSpan.lineLimit = 1;
+ }
+ }
+
+ async packageFlowInfoStack(stack, width) {
+ const { details } = this.packageFlow;
+ if (details.length === 0) {
+ return
+ }
+ let keyIndex = this.keyGet('flowIndex', '0');
+ keyIndex++;
+ keyIndex = keyIndex % details.length;
+ this.keySave('flowIndex', `${keyIndex}`);
+ const itemFlow = details[keyIndex];
+ //================================
+ let imgSpan;
+ let textSpan;
+ let image;
+ //================================
+ const coverSize = new Size(23, 23);
+ const titleColor = Color.dynamic(new Color(this.packageFlowTitleDayColor()), new Color(this.packageFlowTitleNightColor()));
+ const descColor = Color.dynamic(new Color(this.packageFlowDescDayColor()), new Color(this.packageFlowDescNightColor()));
+ //================================
+ stack.addSpacer(4);
+ let packageFlowStack = stack.addStack();
+ packageFlowStack.size = new Size(width - 16, 0);
+ packageFlowStack.addSpacer(8);
+ packageFlowStack.centerAlignContent();
+ packageFlowStack.url = this.defaultPreference.link_package;
+ //
+ image = await this.getImageByUrl(itemFlow.cover);
+ imgSpan = packageFlowStack.addImage(image);
+ imgSpan.imageOpacity = 0.8;
+ imgSpan.imageSize = coverSize;
+ imgSpan.cornerRadius = 4;
+ //
+ packageFlowStack.addSpacer(8);
+ let infoStack = packageFlowStack.addStack();
+ infoStack.layoutVertically();
+ //
+ textSpan = infoStack.addText(`【${this.getDateStr(new Date(itemFlow.time), 'MM-dd HH:mm')}】${itemFlow.title}`);
+ textSpan.textColor = titleColor;
+ textSpan.font = Font.regularSystemFont(10);
+ textSpan.textOpacity = 0.8;
+ textSpan.lineLimit = 1;
+ //
+ textSpan = infoStack.addText(` ${itemFlow.desc}`);
+ textSpan.textColor = descColor;
+ textSpan.font = Font.regularSystemFont(9);
+ textSpan.textOpacity = 0.7;
+ textSpan.lineLimit = 1;
+ //
+ packageFlowStack.addSpacer();
+ stack.addSpacer(2);
+ }
+
+ async loadData() {
+ await this.userInfoFun();
+ await this.redPackageInfoFun();
+ await this.loadNearbyBeanDetailsFun();
+ await this.myBeanInfoFun();
+ await this.packageFlowFun();
+ await this.baiTiaoInfoFun();
+ await this.fruitInfoFun();
+ }
+
+ wrapperValue = (value) => value ?? '--';
+
+ // --------------------------NET START--------------------------
+ joinQueryParams = (param) => {
+ let params = Object.keys(param).map(key =>
+ `${key}=${param[key]}`
+ );
+ params = params.join('&');
+ return `?${encodeURI(params)}`;
+ }
+
+ /**
+ * 个人信息
+ */
+ userInfoFun = async () => {
+ const url = `https://api.m.jd.com/api${this.joinQueryParams(this.defaultPreference.userInfoParam)}`;
+ const options = {
+ headers: {
+ ...this.defaultHeaders,
+ 'origin': 'https://wqs.jd.com',
+ 'referer': 'https://wqs.jd.com/',
+ },
+ };
+ const RES = await this.httpGet(url, { ...options, dataSuccess: (res) => res?.retcode == '0' });
+ if (RES?.retcode == '0') {
+ const { base, isPlusVip } = RES;
+ if (base) {
+ const { levelName, jvalue, nickname, headImageUrl } = base;
+ const headImgUrlTmp = headImageUrl?.replace(/_mid/g, '_big');
+ this.userInfo = {
+ ...this.userInfo,
+ levelName: this.wrapperValue(levelName),
+ jvalue: this.wrapperValue(jvalue),
+ nickname: this.wrapperValue(nickname),
+ headImageUrl: headImgUrlTmp?.length == 0 ? `${this.getRemoteRootPath()}/img/jd/icon_avatar_jd.png` : headImgUrlTmp,
+ isPlusVip,
+ }
+ }
+ } else {
+ console.error('用户信息获取失败!');
+ }
+ console.log(`用户信息:`);
+ console.log(
+ JSON.stringify(RES, null, 2)
+ );
+ this.logDivider();
+ }
+
+ /**
+ * 红包信息
+ */
+ redPackageInfoFun = async () => {
+ const url = `https://api.m.jd.com/api${this.joinQueryParams(this.defaultPreference.redPackageParam)}`;
+ const options = {
+ headers: {
+ ...this.defaultHeaders,
+ 'origin': 'https://wqs.jd.com',
+ 'referer': 'https://wqs.jd.com/',
+ },
+ };
+ const RES = await this.httpGet(url, { ...options });
+ if (RES?.code == 0) {
+ const { result } = RES;
+ this.redPackage.amount = result.balance ? result.balance : 0;
+ if (result.expiredBalance && result.expiredBalance !== '') {
+ this.redPackage.expired = result.expiredBalance;
+ }
+ } else {
+ console.error('红包信息获取失败!');
+ }
+ console.log(`红包信息:`);
+ console.log(
+ JSON.stringify(RES, null, 2)
+ );
+ this.logDivider();
+ }
+
+ /**
+ * 我的京豆
+ */
+ myBeanInfoFun = async () => {
+ const url = `https://api.m.jd.com${this.joinQueryParams(this.defaultPreference.myBeanParam)}`;
+ const options = {
+ headers: {
+ ...this.defaultHeaders,
+ 'origin': 'https://wqs.jd.com',
+ 'referer': 'https://wqs.jd.com/',
+ },
+ };
+ const RES = await this.httpGet(url, { ...options, dataSuccess: (res) => res?.beanNum != undefined });
+ const { beanNum, willExpireNum } = RES;
+ this.jdNumChange = this.jdNum == 0 || beanNum == 0 || this.jdNum != beanNum;
+ if (RES?.list?.length > 0) {
+ this.beanInfo = {
+ ...this.beanInfo,
+ totalAmount: this.wrapperValue(beanNum),
+ almostExpired: this.wrapperValue(willExpireNum),
+ }
+ } else {
+ console.error('我的京豆信息获取失败!');
+ }
+ console.log(`京豆总数&快过期京豆数:`);
+ delete RES.list;
+ console.log(
+ JSON.stringify({ beanNum, willExpireNum }, null, 2)
+ );
+ this.logDivider();
+ this.useFileManager().writeStringCache('jdBean', `${beanNum}`);
+ }
+
+ /**
+ * 获取昨天跟今天的京豆明细
+ * @param {Number} page
+ */
+ loadNearbyBeanDetailsFun = async () => {
+ if (this.jdNumChange) {
+ const currDate = new Date();
+ const todayDateStr = this.getDateStr(currDate, 'yyyy-MM-dd');
+ const yesterdayDateStr = this.getDateStr(new Date((+new Date()) - 86400000), 'yyyy-MM-dd');
+ let page = 1;
+ let todayDetails = [];
+ let yesterdayDetails = [];
+
+ const { details, willExpireNum } = await this.beanDetailsFun(page);
+ todayDetails = todayDetails.concat(details.filter(detail => detail.date.indexOf(todayDateStr) !== -1));
+ yesterdayDetails = yesterdayDetails.concat(details.filter(detail => detail.date.indexOf(yesterdayDateStr) !== -1));
+
+ let yesterdayGain = 0;
+ yesterdayDetails.map(detail => yesterdayGain = parseInt(detail.amount) + yesterdayGain);
+ console.log(`昨日京豆总收获:${yesterdayGain}`);
+ this.logDivider();
+ let todayGain = 0;
+ todayDetails.map(detail => todayGain = parseInt(detail.amount) + todayGain);
+ console.log(`今日京豆总收获:${todayGain}`);
+ this.logDivider();
+ this.beanInfo = {
+ ...this.beanInfo,
+ willExpireNum,
+ yesterdayGain: this.wrapperValue(yesterdayGain),
+ todayGain: this.wrapperValue(todayGain),
+ }
+ //
+ this.useFileManager().writeJSONCache('bean', this.beanInfo);
+ } else {
+ console.log(`获取缓存京豆明细->`);
+ this.beanInfo = this.useFileManager().readJSONCache('bean');
+ }
+ console.log(`我的京豆明细:`);
+ console.log(
+ JSON.stringify(this.beanInfo, null, 2)
+ );
+ this.logDivider();
+ }
+
+ /**
+ * 获取京豆明细列表
+ */
+ beanDetailsFun = async (page = 1) => {
+ const url = `https://api.m.jd.com/?appid=jd-cphdeveloper-m&functionId=myBean&appCode=ms0ca95114&g_ty=ajax&g_login_type=1&sceneval=2&loginType=2&body=${this.joinQueryParams({ "tenantCode": "jgm", "bizModelCode": 6, "bizModeClientType": "M", "externalLoginType": 1 })}`;
+ const options = {
+ useCache: false,
+ headers: {
+ ...this.defaultHeaders,
+ 'origin': `https://wqs.jd.com`,
+ 'referer': `https://wqs.jd.com`,
+ },
+ };
+ const RES = await this.httpGet(url, { ...options, dataSuccess: (res) => res?.list });
+ let details = [];
+ let willExpireNum = 0;
+ if (RES.list) {
+ const { list = [] } = RES;
+ willExpireNum = RES.willExpireNum;
+ details = list.map(detail => ({ amount: detail.amount, date: detail.createDate }))
+ } else {
+ console.error(`京豆明细列表获取失败!`);
+ }
+ return { details, willExpireNum };
+ }
+
+ /**
+ * 物流
+ */
+ packageFlowFun = async () => {
+ const url = `https://api.m.jd.com/client.action?t=${+new Date()}&loginType=2&loginWQBiz=golden-trade&appid=m_core&client=MacIntel&clientVersion=&build=&osVersion=iOS&screen=390*844&networkType=4g&partner=&forcebot=&d_brand=iPhone&d_model=iPhone&lang=zh-CN&scope=&sdkVersion=&openudid=&uuid=1623999132064880641936&x-api-eid-token=jdd03GJCIKBSNYKA7Z4BCQJDAQY6LWVGIOOL5AN4LK4A5PJ6FTXDW6UOELGTW4NFDWTMBJVAYDGWIWIVSMA6GAIAQKYKK3YAAAAMJFYNLBUQAAAAAC43VSGNQ7GABGMX&functionId=order_list_m&body=%7B%22appType%22%3A3%2C%22bizType%22%3A%222%22%2C%22source%22%3A%22-1%22%2C%22deviceUUId%22%3A%22%22%2C%22platform%22%3A3%2C%22sceneval%22%3A%222%22%2C%22systemBaseInfo%22%3A%22%7B%5C%22pixelRatio%5C%22%3A3%2C%5C%22screenWidth%5C%22%3A390%2C%5C%22screenHeight%5C%22%3A844%2C%5C%22windowWidth%5C%22%3A390%2C%5C%22windowHeight%5C%22%3A844%2C%5C%22statusBarHeight%5C%22%3Anull%2C%5C%22safeArea%5C%22%3A%7B%5C%22bottom%5C%22%3A0%2C%5C%22height%5C%22%3A0%2C%5C%22left%5C%22%3A0%2C%5C%22right%5C%22%3A0%2C%5C%22top%5C%22%3A0%2C%5C%22width%5C%22%3A0%7D%2C%5C%22bluetoothEnabled%5C%22%3Afalse%2C%5C%22locationEnabled%5C%22%3Afalse%2C%5C%22wifiEnabled%5C%22%3Afalse%2C%5C%22deviceOrientation%5C%22%3A%5C%22portrait%5C%22%2C%5C%22benchmarkLevel%5C%22%3A-1%2C%5C%22brand%5C%22%3A%5C%22iPhone%5C%22%2C%5C%22model%5C%22%3A%5C%22iPhone%5C%22%2C%5C%22system%5C%22%3A%5C%22iOS%5C%22%2C%5C%22platform%5C%22%3A%5C%22MacIntel%5C%22%2C%5C%22SDKVersion%5C%22%3A%5C%22%5C%22%2C%5C%22enableDebug%5C%22%3Afalse%2C%5C%22language%5C%22%3A%5C%22zh-CN%5C%22%2C%5C%22version%5C%22%3A%5C%22%5C%22%2C%5C%22theme%5C%22%3A%5C%22light%5C%22%2C%5C%22fontSizeSetting%5C%22%3Anull%2C%5C%22albumAuthorized%5C%22%3Afalse%2C%5C%22cameraAuthorized%5C%22%3Afalse%2C%5C%22locationAuthorized%5C%22%3Afalse%2C%5C%22microphoneAuthorized%5C%22%3Afalse%2C%5C%22notificationAuthorized%5C%22%3Afalse%2C%5C%22notificationAlertAuthorized%5C%22%3Afalse%2C%5C%22notificationBadgeAuthorized%5C%22%3Afalse%2C%5C%22notificationSoundAuthorized%5C%22%3Afalse%2C%5C%22phoneCalendarAuthorized%5C%22%3Afalse%2C%5C%22locationReducedAccuracy%5C%22%3Afalse%2C%5C%22environment%5C%22%3A%5C%22%5C%22%7D%22%2C%22orderListTag%22%3A128%2C%22curTab%22%3A%22waitReceipt%22%2C%22page%22%3A1%2C%22pageSize%22%3A10%2C%22tenantCode%22%3A%22jgm%22%2C%22bizModelCode%22%3A%222%22%2C%22bizModeClientType%22%3A%22M%22%2C%22bizModeFramework%22%3A%22Taro%22%2C%22externalLoginType%22%3A1%2C%22token%22%3A%223852b12f8c4d869b7ed3e2b3c68c9436%22%2C%22appId%22%3A%22m91d27dbf599dff74%22%7D&h5st=20230707101110131%3B55i653mnt9zg6it3%3B44550%3Btk03wbe7f1cc218nzb3KRxPU2bI9P5wmvtQDLxHFdLm-rkwr24jjlhi9hLik3nWEVW2eWjMVKz0ygZneJe9X6YRHYqqE%3B23ff4d1fd278262b7f332b647ddbfe4d%3B4.1%3B1688695870131%3B5f7a486ba29fbc5d176654e46394ec5e0bd88693c61e67c8c7fe08d7d4a9d656c1e3ef12e12f644ae066ec4ea392564125e722195b5d50800bb957380a05952c7d2ffd1e5825ea5e52f63c89d97c65e80c75c93d497fe2d308a6e0e8cf8608fc7cf1e8c3a889f77bc47a60e6df58c66a10828446464bb6205cbeb99c6e107f1e5854ee6f4560872931ef2f39458e418ca6872476d2e7cb032c7b91ad4be9b349bdad1c6d62166c8b7289b414c463623656f7d6a48550c2bae4143c1e9308fc23fa3146b2eca29a4d534f91f9109b9db6`;
+ const options = {
+ headers: {
+ ...this.defaultHeaders,
+ 'sec-fetch-mode': 'cors',
+ 'origin': 'https://trade.m.jd.com',
+ 'referer': 'https://trade.m.jd.com/',
+ },
+ };
+ const RES = await this.httpGet(url, { ...options, dataSuccess: (res) => res?.body?.baseInfo != undefined });
+ const { code, body = {} } = RES;
+ console.log(RES);
+ if (code == '0') {
+ const orderList = body.orderList;
+ const count = parseInt(orderList?.length ?? 0);
+ this.packageFlow.count = count;
+ if (count > 0) {
+ this.packageFlow.details = orderList.map(order => ({
+ cover: order.wareInfoList[0].imageUrl,
+ title: this.wrapperValue(order.wareInfoList[0].wareName),
+ desc: this.wrapperValue(order.progressInfo?.content || order.orderStatusInfo?.orderStatusName),
+ time: this.wrapperValue(order.progressInfo?.tip || ''),
+ }));
+ }
+ console.log(`物流信息:`);
+ console.log(
+ JSON.stringify(this.packageFlow, null, 2)
+ );
+ this.logDivider();
+ } else {
+ console.error('物流信息获取失败!');
+ }
+ }
+
+ baiTiaoInfoFun = async () => {
+ const url = 'https://ms.jr.jd.com/gw/generic/bt/h5/m/firstScreenNew';
+ const options = {
+ body: 'reqData={"clientType":"ios","clientVersion":"13.2.3","deviceId":"","environment":"3"}',
+ headers: {
+ ...this.defaultHeaders
+ },
+ };
+ const RES = await this.httpPost(url, { ...options, dataSuccess: (res) => res?.resultCode == '0' });
+ const { resultData } = RES;
+ if (resultData) {
+ const bill = resultData.data?.bill;
+ if (bill) {
+ this.baitiao.title = this.wrapperValue(bill.title);
+ this.baitiao.amount = this.wrapperValue(bill.amount)?.replace(/,/g, '');
+ this.baitiao.desc = this.wrapperValue(bill?.buttonName)?.replace(/最近还款日/, '');
+ }
+ console.log(`白条信息:`);
+ console.log(
+ JSON.stringify(this.baitiao, null, 2)
+ );
+ this.logDivider();
+ } else {
+ console.log('可能没开通白条!');
+ }
+ }
+
+ /**
+ * 东东农场
+ */
+ fruitInfoFun = async () => {
+ const url = 'https://api.m.jd.com/client.action?functionId=initForFarm';
+ const options = {
+ useCache: this.useFruitInfoCache,
+ body: 'body=version:4&appid=wh5&clientVersion=9.1.0',
+ headers: {
+ ...this.defaultHeaders
+ },
+ };
+ const RES = await this.httpPost(url, { ...options, dataSuccess: (res) => res?.message == null });
+ if (RES?.message == null) {
+ const { farmUserPro } = RES;
+ if (farmUserPro) {
+ const { treeState, name, goodsImage, treeTotalEnergy, treeEnergy, simpleName } = farmUserPro;
+ let percent = '--';
+ if (treeState == 2 || treeState == 3) {
+ this.useFruitInfoCache = true;
+ percent = "100%";
+ this.notify('东东农场', `⊱${simpleName}⊰可以兑换啦~`);
+ } else {
+ this.useFruitInfoCache = false;
+ percent = Math.floor((treeEnergy / treeTotalEnergy) * 100) + "%";
+ }
+ this.fruit = {
+ name: this.wrapperValue(name),
+ simpleName: this.wrapperValue(simpleName),
+ goodsImage,
+ percent
+ }
+ }
+ } else {
+ console.error('东东农场信息获取失败!');
+ }
+ console.log(`东东农场信息:`);
+ console.log(
+ JSON.stringify(this.fruit, null, 2)
+ );
+ this.logDivider();
+ }
+
+ // --------------------------NET END--------------------------
+}
+
+await new Widget(Script.name()).run();
+
+// =================================================================================
+// =================================================================================
+async function downloadLSPDependency() {
+ let fm = FileManager.local();
+ const fileName = fm.joinPath(fm.documentsDirectory(), `LSP/${Script.name()}/settings.json`);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ const use_github = JSON.parse(cacheString)['use_github'];
+ const dependencyURL = `${use_github ? remoteGithubRoot : remoteHomeLandRoot}/_LSP.js`;
+ const update = needUpdateDependency();
+ if (isDev) {
+ const iCloudPath = FileManager.iCloud().documentsDirectory();
+ const localIcloudDependencyExit = fm.isFileStoredIniCloud(`${iCloudPath}/_LSP.js`);
+ const localDependencyExit = fm.fileExists(`${rootDir}/_LSP.js`);
+ const fileExist = localIcloudDependencyExit || localDependencyExit;
+ console.log(`🚀 DEV开发依赖文件${fileExist ? '已存在 ✅' : '不存在 🚫'}`);
+ if (!fileExist || update) {
+ console.log(`🤖 DEV 开始${update ? '更新' + dependencyLSP : '下载'}依赖~`);
+ keySave('VERSION', dependencyLSP);
+ await downloadFile2Scriptable('_LSP', dependencyURL);
+ }
+ return;
+ }
+
+ //////////////////////////////////////////////////////////
+ console.log(`----------------------------------------`);
+ const remoteDependencyExit = fm.fileExists(`${cacheDir}/_LSP.js`);
+ console.log(`🚀 RELEASE依赖文件${remoteDependencyExit ? '已存在 ✅' : '不存在 🚫'}`);
+ // ------------------------------
+ if (!remoteDependencyExit || update) { // 下载依赖
+ // 创建根目录
+ if (!fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir, true);
+ }
+ // 下载
+ console.log(`🤖 RELEASE开始${update ? '更新' : '下载'}依赖~`);
+ console.log(`----------------------------------------`);
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ fm.write(fm.joinPath(cacheDir, '/_LSP.js'), moduleJs);
+ keySave('VERSION', dependencyLSP);
+ console.log('✅ LSP远程依赖环境下载成功!');
+ console.log(`----------------------------------------`);
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ console.log(`----------------------------------------`);
+ }
+ }
+}
+
+/**
+ * 获取保存的文件名
+ * @param {*} fileName
+ * @returns
+ */
+function getSaveFileName(fileName) {
+ const hasSuffix = fileName.lastIndexOf(".") + 1;
+ return !hasSuffix ? `${fileName}.js` : fileName;
+};
+
+/**
+ * 保存文件到Scriptable软件目录,app可看到
+ * @param {*} fileName
+ * @param {*} content
+ * @returns
+ */
+function saveFile2Scriptable(fileName, content) {
+ try {
+ const fm = FileManager.iCloud();
+ let fileSimpleName = getSaveFileName(fileName);
+ const filePath = fm.joinPath(fm.documentsDirectory(), fileSimpleName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+/**
+ * 下载js文件到Scriptable软件目录
+ * @param {*} moduleName 名称
+ * @param {*} url 在线地址
+ * @returns
+ */
+async function downloadFile2Scriptable(moduleName, url) {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return saveFile2Scriptable(`${moduleName}`, content);
+};
+
+/**
+ * 是否需要更新依赖版本
+ */
+function needUpdateDependency() {
+ return dependencyLSP != keyGet('VERSION');
+};
+
+function keySave(cacheKey, cache) {
+ if (cache) {
+ Keychain.set(cacheKey, cache);
+ }
+}
+
+function keyGet(cacheKey, defaultValue = '') {
+ if (Keychain.contains(cacheKey)) {
+ return Keychain.get(cacheKey);
+ } else {
+ return defaultValue;
+ }
+}
+// =================================================================================
+// =================================================================================
\ No newline at end of file
diff --git a/README.md b/README.md
index 4592850..8cc3562 100644
--- a/README.md
+++ b/README.md
@@ -1,32 +1,79 @@
# Scriptable
-IOS Scriptable App 脚本分享
-
-## 新系列
-
-### 1. 多样式彩云天气
-- 可选透明背景 & 自定义样式背景
-- 天气图标提供了好几套可以自主选择
-- 天气背景提供了好几套可以自主选择,天气背景会根据对应的天气进行变换
-- 其他配置自己进入脚本前面查看即可,都有注释,自行修改运行查看效果即可
-- 彩云key进行缓存,再对下的下次同步不需要重新填入key(2021-03-10)
-
-### 2. 小日历
-- 日程文字颜色同步系统日程颜色
-- 新增圆角指示条配置(schedulesIndicatorRadius),默认是矩形
-- 新增圆角指示尺寸配置(schedulesIndicatorSize)
-- 实时时间
-- 只做了小型组件支持
-- 未来一周日程前三条展示
-- 支持透明背景
-- 农历展示
-
-### 3. 图片轮播
-- 网络图片链接轮播
-- 脚本里内置了line的一些表情的轮播
-- 鬼灭、哆啦A梦、可妮布朗熊、进击的巨人
-
-### 4. 彩云折线
-- 显示温度折线
-- 两种模式,日小时温度模式,每天温度模式
-- 长按小组件编辑,在Parameter栏输入1就是每天的温度模式,2就是日小时温度模式
-- 照旧背景模式
+
+公众号:杂货万事屋,公众号回复对应关键字获取下载脚本,或者直接源码copy自己新增文件。
+
+---
+
+
+
+---
+
+### `S13,万年历`:
+
+
+
+### `S12,彩云折线`:
+
+
+
+### `S11,联通`:
+
+
+
+### `S10,电信`:
+
+
+
+### `S9,京东`:
+
+
+
+### `S8,电影日历`:
+
+
+
+### `S7,倒计日`:
+
+
+
+### `S6,今日事项`:
+
+
+
+### `S5,世界杯`:
+
+
+
+### `S4,TopHub热榜`:
+
+
+
+### `S3,随机写真`:
+
+
+
+### `S2,谷歌青蛙天气`:
+
+
+
+### `S1,桌面启动`:
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git "a/TopHub\346\246\234\345\215\225.js" "b/TopHub\346\246\234\345\215\225.js"
new file mode 100644
index 0000000..558a6a5
--- /dev/null
+++ "b/TopHub\346\246\234\345\215\225.js"
@@ -0,0 +1,997 @@
+// Variables used by Scriptable.
+// These must be at the very top of the file. Do not edit.
+// icon-color: red; icon-glyph: user-astronaut;
+/**
+ * Author:LSP
+ * Date:2023-08-21
+ * Desc:修复DOM操作无法获取对应信息问题
+ */
+// -------------------------------------------------------
+// 是否是开发环境,配合手机端调试使用,正式发布设置为false
+const isDev = false;
+const dependencyLSP = '20230602';
+console.log(`当前环境 👉👉👉👉👉 ${isDev ? 'DEV' : 'RELEASE'}`);
+console.log(`----------------------------------------`);
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+// 依赖包目录
+const fm = FileManager.local();
+const rootDir = fm.documentsDirectory();
+const cacheDir = fm.joinPath(rootDir, 'LSP');
+const dependencyFileName = isDev ? "_LSP.js" : `${cacheDir}/_LSP.js`;
+// 下载依赖包
+await downloadLSPDependency();
+// -------------------------------------------------------
+if (typeof require === 'undefined') require = importModule
+// 引入相关方法
+const { BaseWidget } = require(dependencyFileName);
+
+// @定义小组件
+class Widget extends BaseWidget {
+
+ defaultPreference = {
+ version: 20230203,
+ domain: 'https://tophub.today',
+ hotban: [{ title: '微博 · 热搜榜', link: 'https://tophub.today/n/KqndgxeLl9' }],
+ // --------------------------
+ titleFontSize: 16,
+ titleFontDayColor: '#FFFFFF',
+ titleFontNightColor: '#FFFFFF',
+ //
+ hotTitleFontDayColor: '#ef233c',
+ hotTitleFontNightColor: '#ef233c',
+ //
+ contentFontSize: 13,
+ contentFontDayColor: '#FFFFFF',
+ contentFontNightColor: '#FFFFFF',
+ //
+ refreshTimeFontSize: 9,
+ refreshTimeFontDayColor: '#FFFFFF',
+ refreshTimeFontNightColor: '#FFFFFF',
+ //
+ contentLineSpacing: 6,
+ normalItemCount: 5,
+ largeItemCount: 13
+ };
+
+ getCookie() {
+ const { cookie } = this.readWidgetSetting();
+ return cookie;
+ }
+
+ getValueByKey = (key) => this.readWidgetSetting()[key] ?? this.defaultPreference[key];
+
+ getHotban = (defaultValue) => JSON.parse(this.useFileManager().readStringCache('hotban') ?? (defaultValue ? defaultValue : JSON.stringify(this.defaultPreference.hotban)));
+
+ getTitleFontSize = () => parseInt(this.getValueByKey('titleFontSize'));
+ getTitleFontDayColor = () => this.getValueByKey('titleFontDayColor');
+ getTitleFontNightColor = () => this.getValueByKey('titleFontNightColor');
+
+ getHotTitleFontDayColor = () => this.getValueByKey('hotTitleFontDayColor');
+ getHotTitleFontNightColor = () => this.getValueByKey('hotTitleFontNightColor');
+
+ getContentFontSize = () => parseInt(this.getValueByKey('contentFontSize'));
+ getContentFontDayColor = () => this.getValueByKey('contentFontDayColor');
+ getContentFontNightColor = () => this.getValueByKey('contentFontNightColor');
+
+ getRefreshTimeFontSize = () => parseInt(this.getValueByKey('refreshTimeFontSize'));
+ getRefreshTimeFontDayColor = () => this.getValueByKey('refreshTimeFontDayColor');
+ getRefreshTimeFontNightColor = () => this.getValueByKey('refreshTimeFontNightColor');
+
+ getContentLineSpacing = () => parseInt(this.getValueByKey('contentLineSpacing'));
+ getNormalItemCount = () => parseInt(this.getValueByKey('normalItemCount'));
+ getLargeItemCount = () => parseInt(this.getValueByKey('largeItemCount'));
+
+ getCKDesc = () => {
+ let hasCK = this.getCookie()?.length > 0;
+ return hasCK ? '已登录' : '未登录'
+ };
+
+ constructor(scriptName) {
+ super(scriptName);
+ this.changeBgMode2OnLineBg(
+ [`${this.getRemoteRootPath()}/img/bg_1.jpg`],
+ { blur: true, blurMode: 'dark', blurRadius: 10 }
+ );
+ }
+
+ async renderSearchResultView(response, onItemClick) {
+ const { coverArr = [], linkArr = [], titleArr = [], tipArr = [] } = response;
+ // =========================================================
+ const style = `
+ :root {
+ --color-primary: #007aff;
+ --divider-color: rgba(60,60,67,0.16);
+ --card-background: #fff;
+ --card-radius: 8px;
+ --list-header-color: rgba(60,60,67,0.6);
+ }
+ body {
+ margin: 10px 0;
+ -webkit-font-smoothing: antialiased;
+ font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue","Helvetica","Arial",sans-serif;
+ accent-color: var(--color-primary);
+ background: #f6f6f6;
+ }
+ .list {
+ margin: 15px;
+ }
+ .list__body {
+ margin-top: 10px;
+ background: var(--card-background);
+ border-radius: var(--card-radius);
+ overflow: hidden;
+ }
+ .form-label {
+ display: flex;
+ align-items: center;
+ }
+ .form-item {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ min-height: 4em;
+ padding: 2px 16px;
+ position: relative;
+ }
+ .form-item + .form-item::before {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 0;
+ right: 0;
+ border-top: 0.8px solid var(--divider-color);
+ }
+ .form-item-cover {
+ width: 44px;
+ height: 44px;
+ border-radius: 6px;
+ border: 0;
+ }
+ .form-item-tite {
+ margin: 0px 12px;
+ font-size: 14px;
+ font-weight: 700;
+ }
+ .form-item-desc {
+ color: #999;
+ margin: 0px 12px;
+ font-size: 13px;
+ }
+ @media (prefers-color-scheme: dark) {
+ :root {
+ --divider-color: rgba(84,84,88,0.65);
+ --card-background: #1c1c1e;
+ --list-header-color: rgba(235,235,245,0.6);
+ }
+ body {
+ background: #000;
+ color: #fff;
+ }
+ }
+ `;
+ // =========================================================
+ const js = `
+ (() => {
+ const coverArr = JSON.parse('${JSON.stringify(coverArr)}')
+ const titleArr = JSON.parse('${JSON.stringify(titleArr)}')
+ const tipArr = JSON.parse('${JSON.stringify(tipArr)}')
+ const linkArr = JSON.parse('${JSON.stringify(linkArr)}')
+
+ window.invoke = (title, link) => {
+ window.dispatchEvent(
+ new CustomEvent(
+ 'JBridge',
+ { detail: { title, link } }
+ )
+ )
+ }
+
+ const fragment = document.createDocumentFragment()
+ coverArr.forEach((cover, index) => {
+ const title = titleArr[index];
+ const tips = tipArr[index];
+ const link = linkArr[index];
+
+ const label = document.createElement("label");
+ label.className = "form-item";
+
+ const divLabel = document.createElement("div");
+ divLabel.className = 'form-label';
+ label.appendChild(divLabel);
+
+ const img = document.createElement("img");
+ img.src = cover;
+ img.className = 'form-item-cover';
+ divLabel.appendChild(img);
+
+ const divContent = document.createElement("div");
+ divLabel.appendChild(divContent);
+
+ const divTitle = document.createElement("div");
+ divTitle.className = 'form-item-tite';
+ divTitle.innerText = title;
+ divContent.appendChild(divTitle);
+
+ const divDesc = document.createElement("div");
+ divDesc.className = 'form-item-desc';
+ divDesc.innerText = tips;
+ divContent.appendChild(divDesc);
+
+ const icon = document.createElement('i')
+ icon.className = 'iconfont icon-xuqiudingyue'
+ label.appendChild(icon)
+
+ label.addEventListener('click', (e) => invoke(title, link))
+
+ fragment.appendChild(label);
+ });
+ document.getElementById('form').appendChild(fragment)
+ })()`;
+ // =========================================================
+ const html = `
+
+
+
+
+
+
+
+
+
+
+
+
+ `;
+
+ // 预览web
+ const previewWebView = new WebView();
+ await previewWebView.loadHTML(html, 'https://tophub.today');
+
+ const injectListener = async () => {
+ const event = await previewWebView.evaluateJavaScript(
+ `(() => {
+ try {
+ const controller = new AbortController()
+ const listener = (e) => {
+ completion(e.detail)
+ controller.abort()
+ }
+ window.addEventListener(
+ 'JBridge',
+ listener,
+ { signal: controller.signal }
+ )
+ } catch (e) {
+ alert("搜索界面出错:" + e);
+ throw new Error("搜索界面处理出错: " + e);
+ return;
+ }
+ })()`, true).catch((err) => {
+ console.error(err);
+ this.ERRS.push(err);
+ if (!config.runsInApp) {
+ this.notify('APP主界面', `🚫 ${err}`);
+ } else {
+ throw err
+ }
+ });
+ ////////////////////////////////////
+ onItemClick?.(event);
+ injectListener();
+ }
+
+ injectListener().catch((e) => {
+ console.error(e);
+ });
+
+ await previewWebView.present();
+ }
+
+ async getAppViewOptions() {
+ return {
+ widgetProvider: {
+ small: true, // 是否提供小号组件
+ medium: true, // 是否提供中号组件
+ large: true, // 是否提供大号组件
+ },
+ // 预览界面的组件设置item
+ settingItems: [
+ {
+ name: 'hotban',
+ label: '热搜榜设置',
+ type: 'cell',
+ icon: { name: 'flame', color: '#EB3323', },
+ needLoading: true,
+ showDesc: false,
+ },
+ {
+ name: 'otherSetting',
+ label: '其他设置',
+ type: 'cell',
+ icon: 'https://cdnjson.com/images/2024/02/05/settings.png',
+ needLoading: true,
+ childItems: [
+ {
+ items: [
+ {
+ name: 'hotbanCK',
+ label: '登录TopHub',
+ type: 'cell',
+ icon: 'https://file.ipadown.com/tophub/assets/images/logo.png',
+ needLoading: true,
+ desc: this.getCKDesc()
+ },
+ {
+ name: 'weiboOpenType',
+ label: '微博打开方式',
+ type: 'select',
+ icon: `${this.getRemoteRootPath()}/img/ic_weibo.png`,
+ needLoading: false,
+ options: [
+ { label: '浏览器', value: '1' },
+ { label: '国内版本', value: '2' },
+ { label: '国际版本', value: '3' },
+ ],
+ default: '1',
+ },
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'titleFontSize',
+ label: '标题文字大小',
+ type: 'cell',
+ icon: { name: 'pencil.and.outline', color: '#ff758f', },
+ needLoading: false,
+ alert: {
+ title: '标题文字大小',
+ options: [
+ {
+ key: 'titleFontSize',
+ hint: '标题文字大小',
+ }
+ ]
+ },
+ default: `${this.getTitleFontSize()}`,
+ },
+ {
+ name: 'titleFontDayColor',
+ label: '标题文字浅色颜色',
+ type: 'color',
+ icon: { name: 'sun.min.fill', color: '#3a86ff', },
+ needLoading: false,
+ default: this.getTitleFontDayColor(),
+ },
+ {
+ name: 'titleFontNightColor',
+ label: '标题文字深色颜色',
+ type: 'color',
+ icon: { name: 'moon.fill', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.getTitleFontNightColor(),
+ },
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'hotTitleFontDayColor',
+ label: '前三标题序号浅色颜色',
+ type: 'color',
+ icon: { name: 'sun.min.fill', color: '#3a86ff', },
+ needLoading: false,
+ default: this.getHotTitleFontDayColor(),
+ },
+ {
+ name: 'hotTitleFontNightColor',
+ label: '前三标题序号深色颜色',
+ type: 'color',
+ icon: { name: 'moon.fill', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.getHotTitleFontNightColor(),
+ },
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'contentFontSize',
+ label: '榜单文字大小',
+ type: 'cell',
+ icon: { name: 'scribble', color: '#ff758f', },
+ needLoading: false,
+ alert: {
+ title: '榜单文字大小',
+ options: [
+ {
+ key: 'contentFontSize',
+ hint: '榜单文字大小',
+ }
+ ]
+ },
+ default: `${this.getContentFontSize()}`,
+ },
+ {
+ name: 'contentFontDayColor',
+ label: '榜单文字浅色颜色',
+ type: 'color',
+ icon: { name: 'sun.min.fill', color: '#3a86ff', },
+ needLoading: false,
+ default: this.getContentFontDayColor(),
+ },
+ {
+ name: 'contentFontNightColor',
+ label: '榜单文字深色颜色',
+ type: 'color',
+ icon: { name: 'moon.fill', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.getContentFontNightColor(),
+ },
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'refreshTimeFontSize',
+ label: '刷新文字大小',
+ type: 'cell',
+ icon: { name: 'goforward', color: '#ef233c', },
+ needLoading: false,
+ alert: {
+ title: '刷新文字大小',
+ options: [
+ {
+ key: 'refreshTimeFontSize',
+ hint: '刷新文字大小',
+ }
+ ]
+ },
+ default: `${this.getRefreshTimeFontSize()}`,
+ },
+ {
+ name: 'refreshTimeFontDayColor',
+ label: '刷新文字浅色颜色',
+ type: 'color',
+ icon: { name: 'sun.min.fill', color: '#3a86ff', },
+ needLoading: false,
+ default: this.getRefreshTimeFontDayColor(),
+ },
+ {
+ name: 'refreshTimeFontNightColor',
+ label: '刷新文字深色颜色',
+ type: 'color',
+ icon: { name: 'moon.fill', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.getRefreshTimeFontNightColor(),
+ },
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'contentLineSpacing',
+ label: '榜单行间距',
+ type: 'cell',
+ icon: { name: 'square.stack.3d.up.fill', color: '#3a86ff', },
+ needLoading: false,
+ alert: {
+ title: '榜单行间距',
+ options: [
+ {
+ key: 'contentLineSpacing',
+ hint: '榜单行间距',
+ }
+ ]
+ },
+ default: `${this.getContentLineSpacing()}`,
+ },
+ {
+ name: 'banCount',
+ label: '榜单条数',
+ type: 'cell',
+ icon: { name: 'square.stack.3d.down.right.fill', color: '#fb5607' },
+ alert: {
+ title: '榜单显示条数',
+ message: "小组件每次展示的热榜条数",
+ options: [
+ {
+ key: 'normalItemCount',
+ hint: '中/小号组件热榜条数',
+ },
+ {
+ key: 'largeItemCount',
+ hint: '大号组件热榜条数',
+ }
+ ]
+ },
+ needLoading: false,
+ },
+ ]
+ },
+ ]
+ },
+ ],
+ // cell类型的item点击回调
+ onItemClick: async (item) => {
+ let widgetSetting = this.readWidgetSetting();
+ let insertDesc;
+ switch (item.name) {
+ case 'hotbanCK':
+ const url = "https://tophub.today/login";
+ const webview = new WebView();
+ await webview.loadURL(url);
+ await webview.present();
+ const cookie = await webview.evaluateJavaScript("document.cookie");
+ widgetSetting.cookie = cookie;
+ insertDesc = cookie?.length > 0 ? '已登录' : '未登录';
+ break;
+
+ case 'hotban':
+ const hotSelectIndex = await this.presentSheet({
+ title: '热榜设置',
+ message: '⊱配置热榜显示榜单内容⊰',
+ options: [{ name: '查看已添加榜单' }, { name: '搜索添加榜单' }, { name: '重置榜单' }],
+ });
+ if (hotSelectIndex == 0) {
+ const hotbanArr = this.getHotban('[]');
+ const hotbanTitleArr = hotbanArr.map(hotban => hotban.title.replaceAll(" ", ""));
+ await this.generateAlert('已添加榜单', `${hotbanTitleArr.length > 0 ? hotbanTitleArr.join('、') : '暂无添加,默认微博热搜'}`, ['确定']);
+ } else if (hotSelectIndex == 1) {
+ await this.generateInputAlert({
+ title: '热榜搜索',
+ options: [{ hint: '请输入关键字', value: '' }]
+ }, async (inputArr) => {
+ const keyword = inputArr[0].value;
+ let response = undefined;
+ try {
+ //////
+ const webview = new WebView();
+ await webview.loadURL(`${this.defaultPreference.domain}/search?q=${encodeURIComponent(keyword)}`);
+ let html = await webview.getHTML();
+ html = html.replaceAll(html.substring(html.indexOf('') + 6, html.lastIndexOf('')), '');
+ await webview.loadHTML(html);
+ // 通过dom操作把HTML里面的热榜内容提取出来
+ const getData = `
+ function getData() {
+ // 图片封面
+ coverArr = []
+ // 链接
+ linkArr = []
+ // 标题
+ titleArr = []
+ // 描述
+ tipArr = []
+ nodeSize = 0
+ totalCount = 20
+ // 图片封面
+ let allItemNodeList = document.getElementsByClassName('weui-media-box__thumb radius');
+ for(let node of allItemNodeList) {
+ if(nodeSize < totalCount) {
+ coverArr.push(node.src)
+ } else {
+ break
+ }
+ nodeSize += 1
+ }
+ // 链接
+ nodeSize = 0
+ allItemNodeList = document.getElementsByClassName('weui-media-box weui-media-box_appmsg weui-cell');
+ for(let node of allItemNodeList) {
+ if(nodeSize < totalCount) {
+ linkArr.push(node.href)
+ } else {
+ break
+ }
+ nodeSize += 1
+ }
+ // 标题
+ nodeSize = 0
+ allItemNodeList = document.getElementsByClassName('weui-media-box__title');
+ for(let node of allItemNodeList) {
+ if(nodeSize < totalCount) {
+ titleArr.push(node.innerText)
+ } else {
+ break
+ }
+ nodeSize += 1
+ }
+ // 订阅人数
+ nodeSize = 0
+ allItemNodeList = document.getElementsByClassName('weui-media-box__desc');
+ for(let node of allItemNodeList) {
+ if(nodeSize < totalCount) {
+ tipArr.push(node.innerText)
+ } else {
+ break
+ }
+ nodeSize += 1
+ }
+ return { coverArr, linkArr, titleArr, tipArr };
+ }
+ getData()
+ `
+ // 热榜数据
+ response = await webview.evaluateJavaScript(getData, false);
+ const { linkArr = [] } = response;
+ if (linkArr.length === 0) {
+ await this.generateAlert('热榜搜索', '搜索结果为空', ['确定']);
+ } else {
+ await this.renderSearchResultView(response, async (event) => {
+ let { title, link } = event;
+ const hotbanArr = this.getHotban('[]');
+ const findItem = hotbanArr.find(hotban => hotban.title == title);
+ if (findItem == undefined) {
+ try {
+ link = `${this.defaultPreference.domain}${link}`;
+ hotbanArr.push({ title, link });
+ this.useFileManager().writeStringCache('hotban', JSON.stringify(hotbanArr));
+ await this.generateAlert(`热榜内容`, `已成功添加«${title}»\n返回上级点击组件预览即可查看效果`, ['确定']);
+ } catch (error) {
+ console.error(error);
+ }
+ }
+ });
+ }
+ //////
+ } catch (error) {
+ await this.generateAlert('🚫 热榜搜索出错', `${error}`, ['确定']);
+ };
+ });
+ } else if (hotSelectIndex != -1) {
+ this.useFileManager().writeStringCache('hotban', JSON.stringify([]));
+ await this.generateAlert('热榜设置', '热榜已重置成功', ['确定']);
+ }
+ break;
+
+ case 'weiboOpenType':
+ const index = await this.presentSheet({
+ title: '微博打开方式',
+ message: '⊱配置点击微博跳转方式⊰',
+ options: this.defaultPreference.weiboOpenOptions,
+ });
+ insertDesc = this.defaultPreference.weiboOpenOptions[index].name;
+ widgetSetting.weiboOpenType = insertDesc;
+ break
+ }
+ // 写入更新配置
+ this.writeWidgetSetting(widgetSetting);
+ return {
+ desc: { value: insertDesc },
+ };
+ },
+ };
+ }
+
+ async render({ widgetSetting, family }) {
+ let widget;
+ switch (family) {
+ case 'small':
+ widget = await this.provideSmallWidget(widgetSetting);
+ break;
+
+ case 'medium':
+ widget = await this.provideMediumWidget(widgetSetting);
+ break;
+
+ case 'large':
+ widget = await this.provideLargeWidget(widgetSetting);
+ break;
+ }
+ widget.setPadding(6, 16, 6, 12);
+ return widget;
+ }
+
+ /**
+ * 小型组件
+ * @returns
+ */
+ async provideSmallWidget(widgetSetting) {
+ return await this.provideWidget(widgetSetting, this.getNormalItemCount(), true);
+ }
+
+ /**
+ * 中型组件
+ * @returns
+ */
+ async provideMediumWidget(widgetSetting) {
+ return await this.provideWidget(widgetSetting, this.getNormalItemCount());
+ }
+
+ /**
+ * 大型组件
+ * @returns
+ */
+ async provideLargeWidget(widgetSetting) {
+ return await this.provideWidget(widgetSetting, this.getLargeItemCount());
+ }
+
+ async provideWidget(widgetSetting, itemCount, small = false) {
+ const defaultHotArr = this.defaultPreference.hotban;
+ const cacheHotStr = this.useFileManager().readStringCache('hotban');
+ let hotbanArr = cacheHotStr ? JSON.parse(cacheHotStr) : defaultHotArr;
+ hotbanArr = hotbanArr.length === 0 ? defaultHotArr : hotbanArr;
+ const index = this.carouselIndex(`HotbanRandom${this.defaultPreference.version}`, hotbanArr.length);
+ const response = await this.loadHotBanRES(hotbanArr[index].link);
+ // 数据
+ const { hotTitle = '', logoUrl = '', linkArr = [], titleArr = [] } = response;
+ //=================================
+ const widget = new ListWidget();
+ //=================================
+ let stack = widget.addStack();
+ stack.layoutVertically();
+ // 标题
+ let titleStack = stack.addStack();
+ titleStack.size = new Size(0, 44);
+ titleStack.centerAlignContent();
+ titleStack.layoutHorizontally();
+ let img = await this.getImageByUrl(logoUrl);
+ let imgSpan = titleStack.addImage(img);
+ imgSpan.imageSize = new Size(23, 23);
+ imgSpan.cornerRadius = 6;
+ titleStack.addSpacer(8);
+ let textSpan = titleStack.addText(hotTitle.replace('\n', ''));
+ textSpan.textColor = this.dynamicColor(this.getTitleFontDayColor(), this.getTitleFontNightColor());
+ let titleSize = this.getTitleFontSize();
+ if (small) {
+ titleSize -= 2;
+ }
+ textSpan.font = Font.semiboldSystemFont(titleSize);
+ textSpan.lineLimit = 1;
+ //
+ titleStack.addSpacer();
+ if (!small) {
+ img = this.getSFSymbol('goforward');
+ imgSpan = titleStack.addImage(img);
+ imgSpan.imageSize = new Size(12, 12);
+ imgSpan.tintColor = this.dynamicColor(this.getRefreshTimeFontDayColor(), this.getRefreshTimeFontNightColor());
+ titleStack.addSpacer(4);
+ textSpan = titleStack.addText(this.getDateStr(new Date(), 'HH:mm'));
+ textSpan.textColor = this.dynamicColor(this.getRefreshTimeFontDayColor(), this.getRefreshTimeFontNightColor());
+ textSpan.font = Font.semiboldSystemFont(this.getRefreshTimeFontSize());
+ titleStack.addSpacer(10);
+ }
+ // item
+ for (let index = 0; index < itemCount; index++) {
+ const name = titleArr[index];
+ const link = linkArr[index];
+ let nameStack = stack.addStack();
+ stack.addSpacer(this.getContentLineSpacing());
+ nameStack.layoutHorizontally();
+ textSpan = nameStack.addText(`${index + 1}. `);
+ let hotTop = index <= 2;
+ let hotTitleColor = this.dynamicColor(this.getTitleFontDayColor(), this.getTitleFontNightColor());
+ if (hotTop) {
+ hotTitleColor = this.dynamicColor(this.getHotTitleFontDayColor(), this.getHotTitleFontNightColor());
+ }
+ textSpan.textColor = hotTitleColor;
+ let contentSize = this.getContentFontSize();
+ textSpan.font = hotTop ? Font.italicSystemFont(contentSize) : Font.systemFont(contentSize);
+ //
+ textSpan = nameStack.addText(`${name}`);
+ textSpan.textColor = this.dynamicColor(this.getContentFontDayColor(), this.getContentFontNightColor());
+ textSpan.font = Font.systemFont(contentSize);
+ textSpan.lineLimit = 1;
+ //
+ let linkElement = link;
+ if (!link?.startsWith('http')) {
+ linkElement = `https://tophub.today${link}`;
+ }
+ if (hotTitle.search("微博") != -1) {
+ const { weiboOpenType = '1' } = widgetSetting;
+ if (weiboOpenType == '2') {
+ // 微博客户端
+ linkElement = 'sinaweibo://searchall?q=' + encodeURIComponent(`#${name}#`)
+ } else if (weiboOpenType == '3') {
+ // 微博国际版客户端
+ linkElement = 'weibointernational://search?q=' + encodeURIComponent(`#${name}#`)
+ }
+ }
+ nameStack.url = linkElement;
+ }
+ stack.addSpacer();
+ //=================================
+ return widget;
+ }
+
+ // --------------------------NET START--------------------------
+ async loadHTML(url) {
+ let req = new Request(url);
+ req.headers = {
+ "cookie": this.getCookie(),
+ "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
+ };
+ let html = await req.loadString();
+ html = html.replaceAll(html.substring(html.indexOf('') + 6, html.lastIndexOf('')), '');
+ return html.replace(/(\r\n|\n|\r)/gm, "");
+ }
+
+ async loadHotBanRES(link) {
+ // 热榜数据
+ let response = undefined;
+ try {
+ const ufm = this.useFileManager();
+ const webview = new WebView();
+ const cacheFileName = this.md5(link);
+ const lastCacheTime = ufm.getCacheModifyDate(cacheFileName);
+ const timeInterval = Math.floor((this.getCurrentTimeStamp() - lastCacheTime) / 60);
+ // 读取本地缓存
+ const localCache = ufm.readStringCache(cacheFileName);
+ const canUseCache = localCache != null && localCache.length > 0;
+ // 过时且有本地缓存则直接返回本地缓存数据
+ const { refreshInterval = '0' } = this.readWidgetSetting();
+ const shouldLoadCache = timeInterval <= Number(refreshInterval) && canUseCache;
+ let html = ufm.readStringCache(cacheFileName);
+ if (!shouldLoadCache) {
+ html = await this.loadHTML(link);
+ ufm.writeStringCache(cacheFileName, html);
+ }
+ await webview.loadHTML(html);
+ // 通过dom操作把HTML里面的热榜内容提取出来
+ const getData =
+ `
+ function getData() {
+ // logo链接
+ logoUrl = document.getElementsByClassName('f-g')[0].getAttribute('src')
+ // 榜单标题
+ hotTitle = document.getElementsByClassName('Xc-ec-L b-L')[0].innerText
+ // 链接
+ linkArr = []
+ // 标题
+ titleArr = []
+ allItemNodeList = document.getElementsByClassName('al')
+ // 链接&标题
+ nodeSize = 0
+ for(let node of allItemNodeList) {
+ if(nodeSize < 30) {
+ link = node.getElementsByTagName('a')[0].getAttribute('href');
+ linkArr.push(link);
+ title = node.innerText
+ titleArr.push(title);
+ } else {
+ break
+ }
+ nodeSize += 1
+ }
+ return { hotTitle, logoUrl, linkArr, titleArr };
+ }
+ getData()
+ `
+ // 热榜数据
+ response = await webview.evaluateJavaScript(getData, false);
+ if (response.titleArr?.length > 0) {
+ this.useFileManager().writeStringCache('hot', JSON.stringify(response));
+ }
+ } catch (error) {
+ console.error(`🚫 请求热板数据出错了=>${error}`);
+ response = JSON.parse(this.useFileManager().readStringCache('hot'));
+ }
+ return response;
+ }
+ // --------------------------NET END--------------------------
+
+}
+
+await new Widget(Script.name()).run();
+
+// =================================================================================
+// =================================================================================
+async function downloadLSPDependency() {
+ let fm = FileManager.local();
+ const fileName = fm.joinPath(fm.documentsDirectory(), `LSP/${Script.name()}/settings.json`);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ const use_github = JSON.parse(cacheString)['use_github'];
+ const dependencyURL = `${use_github ? remoteGithubRoot : remoteHomeLandRoot}/_LSP.js`;
+ const update = needUpdateDependency();
+ if (isDev) {
+ const iCloudPath = FileManager.iCloud().documentsDirectory();
+ const localIcloudDependencyExit = fm.isFileStoredIniCloud(`${iCloudPath}/_LSP.js`);
+ const localDependencyExit = fm.fileExists(`${rootDir}/_LSP.js`);
+ const fileExist = localIcloudDependencyExit || localDependencyExit;
+ console.log(`🚀 DEV开发依赖文件${fileExist ? '已存在 ✅' : '不存在 🚫'}`);
+ if (!fileExist || update) {
+ console.log(`🤖 DEV 开始${update ? '更新' + dependencyLSP : '下载'}依赖~`);
+ keySave('VERSION', dependencyLSP);
+ await downloadFile2Scriptable('_LSP', dependencyURL);
+ }
+ return;
+ }
+
+ //////////////////////////////////////////////////////////
+ console.log(`----------------------------------------`);
+ const remoteDependencyExit = fm.fileExists(`${cacheDir}/_LSP.js`);
+ console.log(`🚀 RELEASE依赖文件${remoteDependencyExit ? '已存在 ✅' : '不存在 🚫'}`);
+ // ------------------------------
+ if (!remoteDependencyExit || update) { // 下载依赖
+ // 创建根目录
+ if (!fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir, true);
+ }
+ // 下载
+ console.log(`🤖 RELEASE开始${update ? '更新' : '下载'}依赖~`);
+ console.log(`----------------------------------------`);
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ fm.write(fm.joinPath(cacheDir, '/_LSP.js'), moduleJs);
+ keySave('VERSION', dependencyLSP);
+ console.log('✅ LSP远程依赖环境下载成功!');
+ console.log(`----------------------------------------`);
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ console.log(`----------------------------------------`);
+ }
+ }
+}
+
+/**
+ * 获取保存的文件名
+ * @param {*} fileName
+ * @returns
+ */
+function getSaveFileName(fileName) {
+ const hasSuffix = fileName.lastIndexOf(".") + 1;
+ return !hasSuffix ? `${fileName}.js` : fileName;
+};
+
+/**
+ * 保存文件到Scriptable软件目录,app可看到
+ * @param {*} fileName
+ * @param {*} content
+ * @returns
+ */
+function saveFile2Scriptable(fileName, content) {
+ try {
+ const fm = FileManager.iCloud();
+ let fileSimpleName = getSaveFileName(fileName);
+ const filePath = fm.joinPath(fm.documentsDirectory(), fileSimpleName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+/**
+ * 下载js文件到Scriptable软件目录
+ * @param {*} moduleName 名称
+ * @param {*} url 在线地址
+ * @returns
+ */
+async function downloadFile2Scriptable(moduleName, url) {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return saveFile2Scriptable(`${moduleName}`, content);
+};
+
+/**
+ * 是否需要更新依赖版本
+ */
+function needUpdateDependency() {
+ return dependencyLSP != keyGet('VERSION');
+};
+
+function keySave(cacheKey, cache) {
+ if (cache) {
+ Keychain.set(Script.name() + cacheKey, cache);
+ }
+}
+
+function keyGet(cacheKey, defaultValue = '') {
+ if (Keychain.contains(Script.name() + cacheKey)) {
+ return Keychain.get(Script.name() + cacheKey);
+ } else {
+ return defaultValue;
+ }
+}
+// =================================================================================
+// =================================================================================
diff --git a/UNSplash.js b/UNSplash.js
new file mode 100644
index 0000000..18c2ec0
--- /dev/null
+++ b/UNSplash.js
@@ -0,0 +1,357 @@
+// Variables used by Scriptable.
+// These must be at the very top of the file. Do not edit.
+// icon-color: red; icon-glyph: user-astronaut;
+/**
+ * Author:LSP
+ * Date:2023-11-01
+ */
+// -------------------------------------------------------
+// 是否是开发环境,配合手机端调试使用,正式发布设置为false
+const isDev = false;
+const dependencyLSP = '20230512';
+console.log(`当前环境 👉👉👉👉👉 ${isDev ? 'DEV' : 'RELEASE'}`);
+console.log(`----------------------------------------`);
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+// 依赖包目录
+const fm = FileManager.local();
+const rootDir = fm.documentsDirectory();
+const cacheDir = fm.joinPath(rootDir, 'LSP');
+const dependencyFileName = isDev ? "_LSP.js" : `${cacheDir}/_LSP.js`;
+// 下载依赖包
+await downloadLSPDependency();
+// -------------------------------------------------------
+if (typeof require === 'undefined') require = importModule
+// 引入相关方法
+const { BaseWidget } = require(dependencyFileName);
+
+// @定义小组件
+class Widget extends BaseWidget {
+
+ defaultPreference = {
+ pic_name: 'unsplash.json',
+ accessKey: 'hKDgEyfUw7U5XjWJM1PkrvgdABGEVRrlWfYY1NCbqmc',
+ };
+
+ getValueByKey = (key) => this.readWidgetSetting()[key] ?? this.defaultPreference[key];
+
+ accessKey = () => this.getValueByKey('accessKey');
+
+ constructor(scriptName) {
+ super(scriptName);
+ this.backgroundColor = '#03071e,#03071e';
+ this.picJsonArr = [];
+ }
+
+ async getAppViewOptions() {
+ return {
+ showWidgetBg: false,
+ widgetProvider: {
+ small: true, // 是否提供小号组件
+ medium: true, // 是否提供中号组件
+ large: true, // 是否提供大号组件
+ },
+ // 预览界面的组件设置item
+ settingItems: [
+ {
+ name: 'photoHalving',
+ label: '图片张数',
+ type: 'select',
+ icon: { name: 'photo.artframe', color: '#ef233c' },
+ options: [
+ { label: '占满组件', value: '1' },
+ { label: '左右互搏', value: '2' },
+ { label: '三分天下', value: '3' },
+ { label: '四平八稳', value: '4' },
+ ],
+ default: "1"
+ },
+ {
+ name: 'photoKeyword',
+ label: '关键字',
+ type: 'input',
+ icon: { name: 'keyboard', color: '#0174BE' },
+ default: "Yellow Ferrari"
+ },
+ {
+ name: 'unsplashKey',
+ label: 'Access Key',
+ type: 'cell',
+ icon: { name: 'key', color: '#ff5e62' },
+ alert: {
+ title: 'Access Key',
+ message: "已使用默认key,如果不可用了需要自己去申请填入替换",
+ options: [
+ {
+ key: 'unsplashKey',
+ hint: '请输入Unsplash Access Key',
+ }
+ ]
+ },
+ needLoading: false,
+ default: 'hKDgEyfUw7U5Xj...',
+ },
+ ],
+ };
+ }
+
+ async render({ widgetSetting, family }) {
+ //
+ const keywords = widgetSetting.photoKeyword;
+ const url = `https://api.unsplash.com/search/photos?page=${Math.floor(Math.random() * 5) + 1}&per_page=4&query=${encodeURIComponent(keywords)}&client_id=${this.accessKey()}`;
+ const RES = await this.httpGet(
+ url,
+ {
+ useCache: false,
+ }
+ );
+ const pics = RES['results'].map(result => result.urls.full);
+ let cacheJsonArr = this.useFileManager().readJSONCache(this.defaultPreference.pic_name);
+ if (JSON.stringify(cacheJsonArr) == '{}') {
+ this.useFileManager().writeJSONCache(this.defaultPreference.pic_name, JSON.stringify(pics));
+ }
+ if (pics.length > 0) {
+ this.picJsonArr = pics;
+ } else {
+ this.picJsonArr = JSON.parse(cacheJsonArr);
+ }
+ return await this.provideWidget(family, widgetSetting);
+ }
+
+ async provideWidget(widgetFamily, widgetSetting) {
+ const photoHalving = widgetSetting.photoHalving ?? 1;
+ let name = '大号';
+ switch (widgetFamily) {
+ case 'small':
+ name = '小号';
+ break;
+
+ case 'medium':
+ name = '中号';
+ break;
+ }
+ //=================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ //=================================
+ let stack = widget.addStack();
+ widget.backgroundColor = new Color('#03071e');
+ const imgRes = this.picJsonArr;
+ const widgetSize = this.getWidgetSize(name);
+ const widgetWidth = widgetSize.width + 10 * Device.screenScale();
+ const widgetHeight = widgetSize.height + 6 * Device.screenScale();
+ // 图片等分
+ const picHalvingCache = Number(photoHalving);
+ let imgStack;
+ const divider = 3;
+ switch (picHalvingCache) {
+ case 2:
+ stack.layoutHorizontally();
+ imgStack = stack.addStack();
+ imgStack.size = new Size(widgetWidth / 2, widgetHeight);
+ await this.addStackImg(imgRes, imgStack);
+ //
+ stack.addSpacer(divider);
+ imgStack = stack.addStack();
+ imgStack.size = new Size(widgetWidth / 2, widgetHeight);
+ await this.addStackImg(imgRes, imgStack);
+ break;
+
+ case 3:
+ stack.layoutHorizontally();
+ imgStack = stack.addStack();
+ imgStack.size = new Size(widgetWidth * 0.6, widgetHeight);
+ await this.addStackImg(imgRes, imgStack);
+ //
+ stack.addSpacer(divider);
+ //
+ imgStack = stack.addStack();
+ imgStack.layoutVertically();
+ let stack_3_1 = imgStack.addStack();
+ stack_3_1.size = new Size(widgetWidth * 0.4, widgetHeight / 2);
+ await this.addStackImg(imgRes, stack_3_1);
+ //
+ imgStack.addSpacer(divider);
+ let stack_3_2 = imgStack.addStack();
+ stack_3_2.size = new Size(widgetWidth * 0.4, widgetHeight / 2);
+ await this.addStackImg(imgRes, stack_3_2);
+ break;
+
+ case 4:
+ stack.layoutVertically();
+ imgStack = stack.addStack();
+ imgStack.layoutHorizontally();
+ let stack_4_1 = imgStack.addStack();
+ stack_4_1.size = new Size(widgetWidth / 2, widgetHeight / 2);
+ await this.addStackImg(imgRes, stack_4_1);
+ //
+ imgStack.addSpacer(divider);
+ let stack_4_2 = imgStack.addStack();
+ stack_4_2.size = new Size(widgetWidth / 2, widgetHeight / 2);
+ await this.addStackImg(imgRes, stack_4_2);
+ //
+ stack.addSpacer(divider);
+ imgStack = stack.addStack();
+ imgStack.layoutHorizontally();
+ let stack_4_3 = imgStack.addStack();
+ stack_4_3.size = new Size(widgetWidth / 2, widgetHeight / 2);
+ await this.addStackImg(imgRes, stack_4_3);
+ //
+ imgStack.addSpacer(divider);
+ let stack_4_4 = imgStack.addStack();
+ stack_4_4.size = new Size(widgetWidth / 2, widgetHeight / 2);
+ await this.addStackImg(imgRes, stack_4_4);
+ break;
+
+ default:
+ stack.layoutVertically();
+ imgStack = stack.addStack();
+ imgStack.size = new Size(widgetWidth, widgetHeight);
+ await this.addStackImg(imgRes, imgStack);
+ break;
+ }
+ //=================================
+ stack.addSpacer();
+ return widget;
+ }
+
+ addStackImg = async (imgRes, imgStack) => {
+ if (imgRes && imgRes.length > 0) {
+ const index = parseInt(Math.random() * imgRes.length)
+ let imgUrl = imgRes[index];
+ imgRes.splice(index, 1);
+ imgStack.url = imgUrl;
+ let img = await this.getImageByUrl(imgUrl, 'mirror', true);
+ let imgSpan = imgStack.addImage(img);
+ imgSpan.applyFillingContentMode();
+ }
+ }
+
+ // --------------------------NET START--------------------------
+
+ // --------------------------NET END--------------------------
+
+}
+
+await new Widget(Script.name()).run();
+
+
+// =================================================================================
+// =================================================================================
+async function downloadLSPDependency() {
+ let fm = FileManager.local();
+ const fileName = fm.joinPath(fm.documentsDirectory(), `LSP/${Script.name()}/settings.json`);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ const use_github = JSON.parse(cacheString)['use_github'];
+ const dependencyURL = `${use_github ? remoteGithubRoot : remoteHomeLandRoot}/_LSP.js`;
+ const update = needUpdateDependency();
+ if (isDev) {
+ const iCloudPath = FileManager.iCloud().documentsDirectory();
+ const localIcloudDependencyExit = fm.isFileStoredIniCloud(`${iCloudPath}/_LSP.js`);
+ const localDependencyExit = fm.fileExists(`${rootDir}/_LSP.js`);
+ const fileExist = localIcloudDependencyExit || localDependencyExit;
+ console.log(`🚀 DEV开发依赖文件${fileExist ? '已存在 ✅' : '不存在 🚫'}`);
+ if (!fileExist || update) {
+ console.log(`🤖 DEV 开始${update ? '更新' + dependencyLSP : '下载'}依赖~`);
+ keySave('VERSION', dependencyLSP);
+ await downloadFile2Scriptable('_LSP', dependencyURL);
+ }
+ return;
+ }
+
+ //////////////////////////////////////////////////////////
+ console.log(`----------------------------------------`);
+ const remoteDependencyExit = fm.fileExists(`${cacheDir}/_LSP.js`);
+ console.log(`🚀 RELEASE依赖文件${remoteDependencyExit ? '已存在 ✅' : '不存在 🚫'}`);
+ // ------------------------------
+ if (!remoteDependencyExit || update) { // 下载依赖
+ // 创建根目录
+ if (!fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir, true);
+ }
+ // 下载
+ console.log(`🤖 RELEASE开始${update ? '更新' : '下载'}依赖~`);
+ console.log(`----------------------------------------`);
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ fm.write(fm.joinPath(cacheDir, '/_LSP.js'), moduleJs);
+ keySave('VERSION', dependencyLSP);
+ console.log('✅ LSP远程依赖环境下载成功!');
+ console.log(`----------------------------------------`);
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ console.log(`----------------------------------------`);
+ }
+ }
+}
+
+/**
+ * 获取保存的文件名
+ * @param {*} fileName
+ * @returns
+ */
+function getSaveFileName(fileName) {
+ const hasSuffix = fileName.lastIndexOf(".") + 1;
+ return !hasSuffix ? `${fileName}.js` : fileName;
+};
+
+/**
+ * 保存文件到Scriptable软件目录,app可看到
+ * @param {*} fileName
+ * @param {*} content
+ * @returns
+ */
+function saveFile2Scriptable(fileName, content) {
+ try {
+ const fm = FileManager.iCloud();
+ let fileSimpleName = getSaveFileName(fileName);
+ const filePath = fm.joinPath(fm.documentsDirectory(), fileSimpleName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+/**
+ * 下载js文件到Scriptable软件目录
+ * @param {*} moduleName 名称
+ * @param {*} url 在线地址
+ * @returns
+ */
+async function downloadFile2Scriptable(moduleName, url) {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return saveFile2Scriptable(`${moduleName}`, content);
+};
+
+/**
+ * 是否需要更新依赖版本
+ */
+function needUpdateDependency() {
+ return dependencyLSP != keyGet('VERSION');
+};
+
+function keySave(cacheKey, cache) {
+ if (cache) {
+ Keychain.set(Script.name() + cacheKey, cache);
+ }
+}
+
+function keyGet(cacheKey, defaultValue = '') {
+ if (Keychain.contains(Script.name() + cacheKey)) {
+ return Keychain.get(Script.name() + cacheKey);
+ } else {
+ return defaultValue;
+ }
+}
+// =================================================================================
+// =================================================================================
\ No newline at end of file
diff --git a/_LSP.js b/_LSP.js
new file mode 100644
index 0000000..20d9eab
--- /dev/null
+++ b/_LSP.js
@@ -0,0 +1,3787 @@
+// Variables used by Scriptable.
+// These must be at the very top of the file. Do not edit.
+// icon-color: gray; icon-glyph: user-astronaut;
+/**
+ * 公众号:杂货万事屋
+ * Desc:集合了一些网上各位大神的代码,修改自用,侵权请联系公众号删除
+ * Author:LSP
+*/
+
+// 当前环境版本号
+const VERSION = 20240419_1
+// 组件配置文件名
+const settingConfigName = 'settings.json';
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+
+// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+class BaseWidget {
+
+ // 组件默认配置
+ defaultConfig = {
+ useGithub: true,
+ notify: true,
+ bgType: '3', // 0:透明,1:在线,2:纯色,3:渐变
+ refreshInterval: '20',
+ };
+
+ constructor(scriptName) {
+ //=====================
+ this.scriptName = scriptName;
+ this.backgroundColor = '#0c81e4,#161823';
+ this.backgroundGradientColor = '#c93756,#243B55';
+ this.backgroundGradientAngle = '0';
+ this.VERSION = VERSION;
+ let widgetSetting = this.readWidgetSetting();
+ this.widgetSetting = widgetSetting;
+ console.log(`远程是否使用GitHub:${this.keyGet(this.scriptName, `${this.defaultConfig.useGithub}`)}`);
+ //=====================
+ }
+
+ getRemoteRootPath = () => {
+ const { use_github = this.defaultConfig.useGithub } = this.readWidgetSetting();
+ if (use_github) {
+ return remoteGithubRoot;
+ } else {
+ return remoteHomeLandRoot;
+ }
+ }
+
+ dayTransparentBgName = () => `${this.scriptName}_day_transparent`;
+
+ dayOnlineBgName = () => `${this.scriptName}_day_online`;
+
+ dayLocalBgName = () => `${this.scriptName}_day_local`;
+
+ nightTransparentBgName = () => `${this.scriptName}_night_transparent`;
+
+ nightOnlineBgName = () => `${this.scriptName}_night_online`;
+
+ nightLocalBgName = () => `${this.scriptName}_night_local`;
+
+ dynamicColor = (dayColorHex, nightColorHex) => Color.dynamic(new Color(dayColorHex), new Color(nightColorHex));
+
+ changeBgMode2OnLineBg = (bgUrlArr = [], options = {}) => {
+ this.defaultConfig.bgType = '1';
+ let widgetSetting = this.readWidgetSetting();
+ const { fm, fullFileName } = this.useFileManager();
+ // const styles = ["", "light", "dark", "none"]
+ const { shadow = false, shadowColor = '#000000', shadowColorAlpha = '0.5', blur = false, blurMode = 'none', blurRadius = 20 } = options;
+ if (bgUrlArr.length > 0) {
+ widgetSetting['shadow'] = `${shadow}`;
+ widgetSetting['shadowColor'] = shadowColor;
+ widgetSetting['shadowColorAlpha'] = shadowColorAlpha;
+ widgetSetting['blurBg'] = blur;
+ widgetSetting['blurMode'] = blurMode;
+ widgetSetting['blurRadius'] = blurRadius;
+ if (widgetSetting['dayBackgroundImageUrl']?.length == 0 || widgetSetting['dayBackgroundImageUrl'] != bgUrlArr[0]) {
+ widgetSetting['dayBackgroundImageUrl'] = bgUrlArr[0];
+ widgetSetting['dayBackgroundImagePath'] = this.dayOnlineBgName();
+ //
+ if (fm.fileExists(fullFileName(this.dayOnlineBgName()))) {
+ fm.remove(fullFileName(this.dayOnlineBgName()));
+ }
+ }
+ // ----------------------------------------------------------------
+ if (bgUrlArr.length > 1) {
+ if (widgetSetting['nightBackgroundImageUrl']?.length == 0 || widgetSetting['nightBackgroundImageUrl'] != bgUrlArr[1]) {
+ widgetSetting['nightBackgroundImageUrl'] = bgUrlArr[1];
+ widgetSetting['nightBackgroundImagePath'] = this.nightOnlineBgName();
+ //
+ if (fm.fileExists(fullFileName(this.nightOnlineBgName()))) {
+ fm.remove(fullFileName(this.nightOnlineBgName()));
+ }
+ }
+ }
+ // ----------------------------------------------------------------
+ const { bgType } = widgetSetting;
+ if (bgType == undefined || bgType == '1') {
+ this.writeWidgetSetting(
+ {
+ ...widgetSetting,
+ picType: 1,
+ bgType: '1',
+ }
+ );
+ }
+ }
+ }
+
+ readWidgetSetting = () => {
+ try {
+ const localFM = this.useFileManager({ useICloud: false });
+ let settings = localFM.readJSONCache(settingConfigName);
+ if (settings) {
+ if (JSON.stringify(settings) == '{}') {
+ settings = JSON.parse(JSON.stringify(this.defaultConfig));
+ delete settings.bgType;
+ }
+ return settings
+ }
+ const iCloudFM = this.useFileManager({ useICloud: true });
+ settings = iCloudFM.readJSONCache(settingConfigName);
+ if (settings) {
+ if (JSON.stringify(settings) == '{}') {
+ settings = JSON.parse(JSON.stringify(this.defaultConfig));
+ delete settings.bgType;
+ }
+ }
+ return settings;
+ } catch (error) {
+ console.error(error);
+ if (!config.runsInApp) {
+ this.notify('配置读取失败', `${error}`);
+ }
+ }
+ }
+
+ writeWidgetSetting = (data) => {
+ try {
+ this.useFileManager().writeJSONCache(settingConfigName, data);
+ } catch (error) {
+ console.error(error);
+ if (!config.runsInApp) {
+ this.notify('配置写入失败', `${error}`);
+ }
+ }
+ }
+
+ removeWidgetSetting = (retainSetting = true) => {
+ try {
+ this.useFileManager().cleanWidgetCache(retainSetting);
+ Keychain.set(this.scriptName + "VERSION", "");
+ } catch (error) {
+ console.error(error);
+ if (!config.runsInApp) {
+ this.notify('配置移除失败', `${error}`);
+ }
+ }
+ }
+
+ useFileManager = (options = {}) => {
+ try {
+ const { useICloud = false, scriptName = this.scriptName } = options;
+ const fm = useICloud ? FileManager.iCloud() : FileManager.local();
+ const rootDir = fm.joinPath(fm.documentsDirectory(), 'LSP/');
+
+ // 创建根目录
+ if (!fm.fileExists(rootDir)) {
+ console.log(`✅ 创建LSP根目录`);
+ fm.createDirectory(rootDir, true);
+ this.logDivider();
+ }
+
+ // 创建对应脚本的缓存目录
+ const cacheDir = fm.joinPath(rootDir, `${scriptName}/`)
+ if (!fm.fileExists(cacheDir)) {
+ console.log(`✅ 创建对应脚本缓存目录->${scriptName}`);
+ fm.createDirectory(cacheDir, true);
+ this.logDivider();
+ }
+
+ /**
+ * 全路径名
+ * @param {*} cacheFileName
+ * @returns
+ */
+ const fullFileName = (cacheFileName, root = false) => {
+ return `${root ? rootDir : cacheDir}/${cacheFileName}`
+ }
+
+ /**
+ * 获取缓存文件的上次修改时间
+ * @param {string} cacheKey 缓存key
+ * @param {object} options
+ * @return 返回上次缓存文件修改的时间戳(单位:秒)
+ */
+ const getCacheModifyDate = (cacheKey, root = false) => {
+ const cacheFileName = fullFileName(cacheKey, root);
+ const fileExists = fm.fileExists(cacheFileName);
+ if (fileExists) {
+ return Math.floor(fm.modificationDate(cacheFileName).getTime() / 1000);
+ } else {
+ return 0;
+ }
+ }
+
+ /**
+ * 清空组件缓存
+ * @param {bool} retainSetting 是否保留配置文件
+ */
+ const cleanWidgetCache = (retainSetting = true) => {
+ if (retainSetting && fm.fileExists(cacheDir)) {
+ fm.move(`${cacheDir}/${settingConfigName}`, `${rootDir}/${settingConfigName}`);
+ //
+ if (fm.fileExists(`${cacheDir}/${this.dayTransparentBgName()}`)) {
+ fm.move(`${cacheDir}/${this.dayTransparentBgName()}`, `${rootDir}/${this.dayTransparentBgName()}`);
+ }
+ if (fm.fileExists(`${cacheDir}/${this.nightTransparentBgName()}`)) {
+ fm.move(`${cacheDir}/${this.nightTransparentBgName()}`, `${rootDir}/${this.nightTransparentBgName()}`);
+ }
+ if (fm.fileExists(`${cacheDir}/${this.dayLocalBgName()}`)) {
+ fm.move(`${cacheDir}/${this.dayLocalBgName()}`, `${rootDir}/${this.dayLocalBgName()}`);
+ }
+ if (fm.fileExists(`${cacheDir}/${this.nightLocalBgName()}`)) {
+ fm.move(`${cacheDir}/${this.nightLocalBgName()}`, `${rootDir}/${this.nightLocalBgName()}`);
+ }
+ }
+ console.log(`🚫 移除组件内所有缓存->${cacheDir}`);
+ fm.remove(cacheDir);
+ if (retainSetting && !fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir);
+ fm.move(`${rootDir}/${settingConfigName}`, `${cacheDir}/${settingConfigName}`);
+ //
+ if (fm.fileExists(`${rootDir}/${this.dayTransparentBgName()}`)) {
+ fm.move(`${rootDir}/${this.dayTransparentBgName()}`, `${cacheDir}/${this.dayTransparentBgName()}`);
+ }
+ if (fm.fileExists(`${rootDir}/${this.nightTransparentBgName()}`)) {
+ fm.move(`${rootDir}/${this.nightTransparentBgName()}`, `${cacheDir}/${this.nightTransparentBgName()}`);
+ }
+ if (fm.fileExists(`${rootDir}/${this.dayLocalBgName()}`)) {
+ fm.move(`${rootDir}/${this.dayLocalBgName()}`, `${cacheDir}/${this.dayLocalBgName()}`);
+ }
+ if (fm.fileExists(`${rootDir}/${this.nightLocalBgName()}`)) {
+ fm.move(`${rootDir}/${this.nightLocalBgName()}`, `${cacheDir}/${this.nightLocalBgName()}`);
+ }
+ }
+ this.logDivider();
+ }
+
+ /**
+ * 保存字符串到本地
+ * @param {string} cacheFileName 缓存文件名
+ * @param {string} content 缓存内容
+ */
+ const writeStringCache = (cacheFileName, content, root = false) => {
+ fm.writeString(fullFileName(cacheFileName, root), content);
+ }
+
+ /**
+ * 获取本地缓存字符串
+ * @param {string} cacheFileName 缓存文件名
+ * @return {string} 本地字符串缓存
+ */
+ const readStringCache = (cacheFileName, root = false) => {
+ const fileName = fullFileName(cacheFileName, root);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString;
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ return cacheString;
+ }
+
+ /**
+ * 获取本地缓存字符串
+ * @param {string} cacheFileName 缓存文件名
+ * @return {string} 本地字符串缓存
+ */
+ const readJSONCache = (cacheFileName, root = false) => {
+ const fileName = fullFileName(cacheFileName, root);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ return JSON.parse(cacheString);
+ }
+
+ /**
+ * 保存JSON字符串到本地
+ * @param {string} cacheFileName 缓存文件名
+ * @param {object} content 缓存对象
+ */
+ const writeJSONCache = (cacheFileName, content, root = false) => {
+ fm.writeString(fullFileName(cacheFileName, root), JSON.stringify(content));
+ }
+
+ /**
+ * 保存图片到本地
+ * @param {string} cacheFileName 缓存文件名
+ * @param {Image} img 缓存图片
+ */
+ const writeImgCache = (cacheFileName, img, root = false) => {
+ fm.writeImage(fullFileName(cacheFileName, root), img);
+ }
+
+ /**
+ * 获取本地缓存图片
+ * @param {string} cacheFileName 缓存文件名
+ * @return {Image} 本地图片缓存
+ */
+ const readImgCache = (cacheFileName, root = false) => {
+ const fileName = fullFileName(cacheFileName, root);
+ const fileExists = fm.fileExists(fileName);
+ let img;
+ if (fileExists) {
+ img = fm.readImage(fileName);
+ }
+ return img
+ }
+
+ return {
+ fm,
+ rootDir,
+ cacheDir,
+ getCacheModifyDate,
+ fullFileName,
+ cleanWidgetCache,
+ writeStringCache,
+ readStringCache,
+ readJSONCache,
+ writeJSONCache,
+ writeImgCache,
+ readImgCache,
+ }
+ } catch (error) {
+ console.error(error);
+ if (!config.runsInApp) {
+ this.notify('文件操作', `🚫 ${error}`);
+ }
+ }
+ }
+
+ saveFile2Scriptable = (fileName, content) => {
+ try {
+ const { fm } = this.useFileManager({ useICloud: true });
+ const hasSuffix = fileName.lastIndexOf(".") + 1;
+ const fullFileName = !hasSuffix ? `${fileName}.js` : fileName;
+ const filePath = fm.joinPath(fm.documentsDirectory(), fullFileName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ console.error(error);
+ if (!config.runsInApp) {
+ this.notify('文件保存', `${error}`);
+ }
+ }
+ };
+
+ downloadFile2Scriptable = async ({ moduleName, url }) => {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return this.saveFile2Scriptable(`${moduleName}`, content);
+ };
+
+ bgType2Text = (bgType) => {
+ let typeText = '';
+ switch (bgType) {
+ case '0':
+ typeText = `透明背景`;
+ break;
+
+ case '1':
+ typeText = `在线图片`;
+ break;
+
+ case '2':
+ typeText = `相册图片`;
+ break;
+
+ case '3':
+ typeText = `纯色背景`;
+ break;
+
+ case '4':
+ typeText = `渐变背景`;
+ break;
+ }
+ return typeText;
+ }
+
+ notify = async (title, body, url, opts = {}) => {
+ const widgetSetting = this.readWidgetSetting();
+ if (widgetSetting.notify) {
+ return await this.realNotify(title, body, url, opts);
+ } else {
+ return null;
+ }
+ }
+
+ realNotify = async (title, body, url, opts = {}) => {
+ let n = new Notification();
+ n = Object.assign(n, opts);
+ n.title = title;
+ n.body = body;
+ if (url) n.openURL = url;
+ return await n.schedule();
+ }
+
+ scaleFontSize = (defaultFontSize, textLength, startLength) => {
+ let fontSize = defaultFontSize;
+ if (textLength >= startLength) {
+ let count = textLength - startLength;
+ let loopSize = Math.round(count / 2.0);
+ fontSize -= loopSize;
+ fontSize = fontSize < 6 ? 6 : fontSize;
+ }
+ return fontSize;
+ }
+
+ logDivider = () => {
+ console.log(`@--------------------------------------@`);
+ }
+
+ splitColors = (color = '') => {
+ const colors = typeof color === 'string' ? color.split(',') : []
+ return colors;
+ }
+
+ getLinearGradientColor = (colors, angle = 0) => {
+ try {
+ const locations = [];
+ const linearColor = new LinearGradient();
+ let x = 0, y = 0;
+ if (angle < 45) {
+ y = 0.5 - 0.5 / 45 * angle;
+ } else if (angle < 135) {
+ x = 1 / 90 * (angle - 45);
+ } else if (angle <= 180) {
+ x = 1;
+ y = 0.5 / 45 * (angle - 135);
+ }
+ linearColor.startPoint = new Point(x, y);
+ linearColor.endPoint = new Point(1 - x, 1 - y);
+ let avg = 1 / (colors.length - 1);
+ linearColor.colors = colors.map((item, index) => {
+ locations.push(index * avg);
+ return new Color(item);
+ });
+ linearColor.locations = locations;
+ return linearColor;
+ } catch (error) {
+ console.error(error);
+ if (!config.runsInApp) {
+ this.notify('渐变色', `🚫 ${error}`);
+ }
+ }
+ }
+
+ loadSF2B64 = async (
+ icon = 'square.grid.2x2',
+ color = '#56A8D6',
+ cornerWidth = 42
+ ) => {
+ const sfImg = await this.drawSFIcon(icon, color, cornerWidth);
+ return `data:image/png;base64,${Data.fromPNG(sfImg).toBase64String()}`;
+ }
+
+ drawSFIcon = async (
+ icon = 'square.grid.2x2',
+ color = '#e8e8e8',
+ cornerWidth = 42
+ ) => {
+ try {
+ let sf = SFSymbol.named(icon);
+ if (sf == null) {
+ sf = SFSymbol.named('scribble');
+ }
+ sf.applyFont(Font.mediumSystemFont(30));
+ const imgData = Data.fromPNG(sf.image).toBase64String();
+ const html = `
+
+
+
+ `
+ const js = `
+ var canvas = document.createElement("canvas");
+ var sourceImg = document.getElementById("sourceImg");
+ var silhouetteImg = document.getElementById("silhouetteImg");
+ var ctx = canvas.getContext('2d');
+ var size = sourceImg.width > sourceImg.height ? sourceImg.width : sourceImg.height;
+ canvas.width = size;
+ canvas.height = size;
+ ctx.drawImage(sourceImg, (canvas.width - sourceImg.width) / 2, (canvas.height - sourceImg.height) / 2);
+ var imgData = ctx.getImageData(0, 0, canvas.width, canvas.height);
+ var pix = imgData.data;
+ //convert the image into a silhouette
+ for (var i=0, n = pix.length; i < n; i+= 4){
+ //set red to 0
+ pix[i] = 255;
+ //set green to 0
+ pix[i+1] = 255;
+ //set blue to 0
+ pix[i+2] = 255;
+ //retain the alpha value
+ pix[i+3] = pix[i+3];
+ }
+ ctx.putImageData(imgData,0,0);
+ silhouetteImg.src = canvas.toDataURL();
+ output=canvas.toDataURL()
+ `
+
+ let wv = new WebView();
+ await wv.loadHTML(html);
+ const base64Image = await wv.evaluateJavaScript(js);
+ const iconImage = await new Request(base64Image).loadImage();
+ const size = new Size(160, 160);
+ const ctx = new DrawContext();
+ ctx.opaque = false;
+ ctx.respectScreenScale = true;
+ ctx.size = size;
+ const path = new Path();
+ const rect = new Rect(0, 0, size.width, size.width);
+
+ path.addRoundedRect(rect, cornerWidth, cornerWidth);
+ path.closeSubpath();
+ ctx.setFillColor(new Color(color));
+ ctx.addPath(path);
+ ctx.fillPath();
+ const rate = 36;
+ const iw = size.width - rate;
+ const x = (size.width - iw) / 2;
+ ctx.drawImageInRect(iconImage, new Rect(x, x, iw, iw));
+ return ctx.getImage();
+ } catch (error) {
+ console.error(error);
+ }
+ }
+
+ drawTextWithCustomFont = async (fontUrl, text, fontSize, textColor, option = { lineLimit: 1, align: "center", rowSpacing: 8 }) => {
+ try {
+ const fontKey = fontUrl + text + fontSize + textColor;
+ let cache = this.useFileManager().readImgCache(this.md5(fontKey));
+ if (cache != undefined && cache != null) {
+ return cache;
+ }
+ const font = new CustomFont(new WebView(), {
+ fontFamily: 'customFont', // 字体名称
+ fontUrl: fontUrl, // 字体地址
+ timeout: 60000, // 加载字体的超时时间
+ }) // 创建字体
+ await font.load() // 加载字体
+ const image = await font.drawText(text, {
+ fontSize: fontSize, // 字体大小
+ textWidth: 0, // 文本宽度
+ textColor: textColor, // 文本颜色
+ scale: 2, // 缩放因子
+ ...option
+ })
+ this.useFileManager().writeImgCache(this.md5(text), image);
+ return image;
+ } catch (error) {
+ console.error(error);
+ }
+ }
+
+ base64Encode = (str) => {
+ const data = Data.fromString(str);
+ return data.toBase64String();
+ }
+
+ base64Decode = (b64) => {
+ const data = Data.fromBase64String(b64);
+ if (data) {
+ return data.toRawString();
+ } else {
+ return b64;
+ }
+ }
+
+ md5 = (str) => {
+ function d(n, t) {
+ var r = (65535 & n) + (65535 & t);
+ return (((n >> 16) + (t >> 16) + (r >> 16)) << 16) | (65535 & r);
+ }
+
+ function f(n, t, r, e, o, u) {
+ return d(((c = d(d(t, n), d(e, u))) << (f = o)) | (c >>> (32 - f)), r);
+ var c, f;
+ }
+
+ function l(n, t, r, e, o, u, c) {
+ return f((t & r) | (~t & e), n, t, o, u, c);
+ }
+
+ function v(n, t, r, e, o, u, c) {
+ return f((t & e) | (r & ~e), n, t, o, u, c);
+ }
+
+ function g(n, t, r, e, o, u, c) {
+ return f(t ^ r ^ e, n, t, o, u, c);
+ }
+
+ function m(n, t, r, e, o, u, c) {
+ return f(r ^ (t | ~e), n, t, o, u, c);
+ }
+
+ function i(n, t) {
+ var r, e, o, u;
+ (n[t >> 5] |= 128 << t % 32), (n[14 + (((t + 64) >>> 9) << 4)] = t);
+ for (
+ var c = 1732584193,
+ f = -271733879,
+ i = -1732584194,
+ a = 271733878,
+ h = 0;
+ h < n.length;
+ h += 16
+ )
+ (c = l((r = c), (e = f), (o = i), (u = a), n[h], 7, -680876936)),
+ (a = l(a, c, f, i, n[h + 1], 12, -389564586)),
+ (i = l(i, a, c, f, n[h + 2], 17, 606105819)),
+ (f = l(f, i, a, c, n[h + 3], 22, -1044525330)),
+ (c = l(c, f, i, a, n[h + 4], 7, -176418897)),
+ (a = l(a, c, f, i, n[h + 5], 12, 1200080426)),
+ (i = l(i, a, c, f, n[h + 6], 17, -1473231341)),
+ (f = l(f, i, a, c, n[h + 7], 22, -45705983)),
+ (c = l(c, f, i, a, n[h + 8], 7, 1770035416)),
+ (a = l(a, c, f, i, n[h + 9], 12, -1958414417)),
+ (i = l(i, a, c, f, n[h + 10], 17, -42063)),
+ (f = l(f, i, a, c, n[h + 11], 22, -1990404162)),
+ (c = l(c, f, i, a, n[h + 12], 7, 1804603682)),
+ (a = l(a, c, f, i, n[h + 13], 12, -40341101)),
+ (i = l(i, a, c, f, n[h + 14], 17, -1502002290)),
+ (c = v(
+ c,
+ (f = l(f, i, a, c, n[h + 15], 22, 1236535329)),
+ i,
+ a,
+ n[h + 1],
+ 5,
+ -165796510,
+ )),
+ (a = v(a, c, f, i, n[h + 6], 9, -1069501632)),
+ (i = v(i, a, c, f, n[h + 11], 14, 643717713)),
+ (f = v(f, i, a, c, n[h], 20, -373897302)),
+ (c = v(c, f, i, a, n[h + 5], 5, -701558691)),
+ (a = v(a, c, f, i, n[h + 10], 9, 38016083)),
+ (i = v(i, a, c, f, n[h + 15], 14, -660478335)),
+ (f = v(f, i, a, c, n[h + 4], 20, -405537848)),
+ (c = v(c, f, i, a, n[h + 9], 5, 568446438)),
+ (a = v(a, c, f, i, n[h + 14], 9, -1019803690)),
+ (i = v(i, a, c, f, n[h + 3], 14, -187363961)),
+ (f = v(f, i, a, c, n[h + 8], 20, 1163531501)),
+ (c = v(c, f, i, a, n[h + 13], 5, -1444681467)),
+ (a = v(a, c, f, i, n[h + 2], 9, -51403784)),
+ (i = v(i, a, c, f, n[h + 7], 14, 1735328473)),
+ (c = g(
+ c,
+ (f = v(f, i, a, c, n[h + 12], 20, -1926607734)),
+ i,
+ a,
+ n[h + 5],
+ 4,
+ -378558,
+ )),
+ (a = g(a, c, f, i, n[h + 8], 11, -2022574463)),
+ (i = g(i, a, c, f, n[h + 11], 16, 1839030562)),
+ (f = g(f, i, a, c, n[h + 14], 23, -35309556)),
+ (c = g(c, f, i, a, n[h + 1], 4, -1530992060)),
+ (a = g(a, c, f, i, n[h + 4], 11, 1272893353)),
+ (i = g(i, a, c, f, n[h + 7], 16, -155497632)),
+ (f = g(f, i, a, c, n[h + 10], 23, -1094730640)),
+ (c = g(c, f, i, a, n[h + 13], 4, 681279174)),
+ (a = g(a, c, f, i, n[h], 11, -358537222)),
+ (i = g(i, a, c, f, n[h + 3], 16, -722521979)),
+ (f = g(f, i, a, c, n[h + 6], 23, 76029189)),
+ (c = g(c, f, i, a, n[h + 9], 4, -640364487)),
+ (a = g(a, c, f, i, n[h + 12], 11, -421815835)),
+ (i = g(i, a, c, f, n[h + 15], 16, 530742520)),
+ (c = m(
+ c,
+ (f = g(f, i, a, c, n[h + 2], 23, -995338651)),
+ i,
+ a,
+ n[h],
+ 6,
+ -198630844,
+ )),
+ (a = m(a, c, f, i, n[h + 7], 10, 1126891415)),
+ (i = m(i, a, c, f, n[h + 14], 15, -1416354905)),
+ (f = m(f, i, a, c, n[h + 5], 21, -57434055)),
+ (c = m(c, f, i, a, n[h + 12], 6, 1700485571)),
+ (a = m(a, c, f, i, n[h + 3], 10, -1894986606)),
+ (i = m(i, a, c, f, n[h + 10], 15, -1051523)),
+ (f = m(f, i, a, c, n[h + 1], 21, -2054922799)),
+ (c = m(c, f, i, a, n[h + 8], 6, 1873313359)),
+ (a = m(a, c, f, i, n[h + 15], 10, -30611744)),
+ (i = m(i, a, c, f, n[h + 6], 15, -1560198380)),
+ (f = m(f, i, a, c, n[h + 13], 21, 1309151649)),
+ (c = m(c, f, i, a, n[h + 4], 6, -145523070)),
+ (a = m(a, c, f, i, n[h + 11], 10, -1120210379)),
+ (i = m(i, a, c, f, n[h + 2], 15, 718787259)),
+ (f = m(f, i, a, c, n[h + 9], 21, -343485551)),
+ (c = d(c, r)),
+ (f = d(f, e)),
+ (i = d(i, o)),
+ (a = d(a, u));
+ return [c, f, i, a];
+ }
+
+ function a(n) {
+ for (var t = '', r = 32 * n.length, e = 0; e < r; e += 8)
+ t += String.fromCharCode((n[e >> 5] >>> e % 32) & 255);
+ return t;
+ }
+
+ function h(n) {
+ var t = [];
+ for (t[(n.length >> 2) - 1] = void 0, e = 0; e < t.length; e += 1)
+ t[e] = 0;
+ for (var r = 8 * n.length, e = 0; e < r; e += 8)
+ t[e >> 5] |= (255 & n.charCodeAt(e / 8)) << e % 32;
+ return t;
+ }
+
+ function e(n) {
+ for (var t, r = '0123456789abcdef', e = '', o = 0; o < n.length; o += 1)
+ (t = n.charCodeAt(o)),
+ (e += r.charAt((t >>> 4) & 15) + r.charAt(15 & t));
+ return e;
+ }
+
+ function r(n) {
+ return unescape(encodeURIComponent(n));
+ }
+
+ function o(n) {
+ return a(i(h((t = r(n))), 8 * t.length));
+ var t;
+ }
+
+ function u(n, t) {
+ return (function (n, t) {
+ var r,
+ e,
+ o = h(n),
+ u = [],
+ c = [];
+ for (
+ u[15] = c[15] = void 0,
+ 16 < o.length && (o = i(o, 8 * n.length)),
+ r = 0;
+ r < 16;
+ r += 1
+ )
+ (u[r] = 909522486 ^ o[r]), (c[r] = 1549556828 ^ o[r]);
+ return (
+ (e = i(u.concat(h(t)), 512 + 8 * t.length)), a(i(c.concat(e), 640))
+ );
+ })(r(n), r(t));
+ }
+
+ function t(n, t, r) {
+ return t ? (r ? u(t, n) : e(u(t, n))) : r ? o(n) : e(o(n));
+ }
+
+ return t(str);
+ }
+
+ rerunWidget = (scriptName = this.scriptName) => {
+ Safari.open(`scriptable:///run/${encodeURIComponent(scriptName)}`);
+ }
+
+ getCurrentTimeStamp = () => {
+ return Math.floor(new Date().getTime() / 1000);
+ }
+
+ getDateStr = (date, formatter = "yyyy年MM月d日 EEE", locale = "zh_cn") => {
+ const df = new DateFormatter();
+ df.locale = locale;
+ df.dateFormat = formatter;
+ return df.string(date);
+ }
+
+ /**
+ * Http Get 请求接口
+ * @param {string} url 请求的url
+ * @param {bool} jsonFormat 返回数据是否为json,默认true
+ * @param {object} headers 请求头
+ * @param {boolean} logable 是否打印数据,默认true
+ * @param {boolean} useICloud 是否使用iCloud
+ * @param {string} scriptName 脚本名称
+ * @return {string | json | null}
+ */
+ httpGet = async (url, options = {}) => {
+ let data;
+ try {
+ const defaultOptions = {
+ jsonFormat: true,
+ headers: null,
+ logable: false,
+ useICloud: false,
+ useCache: true,
+ dataSuccess: (res) => true,
+ scriptName: this.scriptName
+ };
+ options = {
+ ...defaultOptions,
+ ...options
+ };
+ const { jsonFormat, headers, logable, useICloud, useCache, scriptName } = options;
+
+ // 根据URL进行md5生成cacheKey
+ const cacheFileName = this.md5(url);
+ const ufm = this.useFileManager({ useICloud, scriptName });
+ // 读取本地缓存
+ const localCache = ufm.readStringCache(cacheFileName);
+ // 判断是否需要刷新
+ const lastCacheTime = ufm.getCacheModifyDate(cacheFileName);
+ const timeInterval = Math.floor((this.getCurrentTimeStamp() - lastCacheTime) / 60);
+ const canUseCache = localCache != null && localCache.length > 0;
+ if (useCache) {
+ // 过时且有本地缓存则直接返回本地缓存数据
+ const { refreshInterval = '0' } = this.readWidgetSetting();
+ const shouldLoadCache = timeInterval <= Number(refreshInterval) && canUseCache;
+ console.log(`⏰ ${this.getDateStr(new Date(lastCacheTime * 1000), 'HH:mm')}加入缓存,已缓存 ${lastCacheTime > 0 ? timeInterval : 0}min,缓存${shouldLoadCache ? '未过期' : '已过期'}`);
+ if (shouldLoadCache) {
+ const RES = jsonFormat ? JSON.parse(localCache) : localCache;
+ if (options.dataSuccess(RES)) {
+ console.log(`🤖 Get读取缓存:${url}`);
+ // 是否打印响应数据
+ if (logable) {
+ console.log(`🤖 Get请求响应:${localCache}`);
+ }
+ this.logDivider();
+ return RES;
+ }
+ }
+ }
+
+ console.log(`🚀 Get在线请求:${url}`);
+ let req = new Request(url);
+ req.method = 'GET';
+ if (headers != null && headers != undefined) {
+ req.headers = headers;
+ }
+ data = await (jsonFormat ? req.loadJSON() : req.loadString());
+ // 判断数据是否为空(加载失败)
+ if (!data && canUseCache) {
+ console.log(`🤖 Get读取缓存:${url}`);
+ this.logDivider();
+ return jsonFormat ? JSON.parse(localCache) : localCache;
+ }
+ // 存储缓存
+ if (options.dataSuccess(data)) {
+ ufm.writeStringCache(cacheFileName, jsonFormat ? JSON.stringify(data) : data);
+ }
+ // 是否打印响应数据
+ if (logable) {
+ console.log(`🤖 Get请求响应:${JSON.stringify(data)}`);
+ }
+ } catch (error) {
+ console.error(`🚫 Get请求失败:${error}: ${url}`);
+ }
+ this.logDivider();
+ return data;
+ }
+
+ /**
+ * Http Post 请求接口
+ * @param {string} url 请求的url
+ * @param {Array} parameterArr 请求参数键值对数组
+ * @param {bool} jsonFormat 返回数据是否为json,默认true
+ * @param {object} headers 请求头
+ * @param {boolean} logable 是否打印数据,默认true
+ * @param {boolean} useICloud 是否使用iCloud
+ * @param {string} scriptName 脚本名称
+ * @param {any} body body
+ * @return {string | json | null}
+ */
+ httpPost = async (url, options = {}) => {
+ let data;
+ try {
+ const defaultOptions = {
+ parameterArr: [],
+ body: undefined,
+ jsonFormat: true,
+ headers: null,
+ logable: false,
+ useICloud: false,
+ useCache: true,
+ dataSuccess: (res) => true,
+ scriptName: Script.name()
+ };
+ options = {
+ ...defaultOptions,
+ ...options
+ };
+ const { jsonFormat, headers, logable, useICloud, useCache, scriptName } = options;
+
+ // 根据URL进行md5生成cacheKey
+ const cacheFileName = this.md5(url);
+ const ufm = this.useFileManager({ useICloud, scriptName });
+ // 读取本地缓存
+ const localCache = ufm.readStringCache(cacheFileName);
+ const lastCacheTime = ufm.getCacheModifyDate(cacheFileName);
+ const timeInterval = Math.floor((this.getCurrentTimeStamp() - lastCacheTime) / 60);
+ const canUseCache = localCache != null && localCache.length > 0;
+ if (useCache) {
+ // 判断是否需要刷新
+ // 过时且有本地缓存则直接返回本地缓存数据
+ const { refreshInterval = '0' } = this.readWidgetSetting();
+ const shouldLoadCache = timeInterval <= Number(refreshInterval) && canUseCache;
+ console.log(`⏰ ${this.getDateStr(new Date(lastCacheTime * 1000), 'HH:mm')}加入缓存,已缓存 ${lastCacheTime > 0 ? timeInterval : 0}min,缓存${shouldLoadCache ? '未过期' : '已过期'}`);
+ if (shouldLoadCache) {
+ const RES = jsonFormat ? JSON.parse(localCache) : localCache;
+ if (options.dataSuccess(RES)) {
+ console.log(`🤖 Post读取缓存:${url}`);
+ // 是否打印响应数据
+ if (logable) {
+ console.log(`🤖 Post请求响应:${localCache}`);
+ }
+ this.logDivider();
+ return RES;
+ }
+ }
+ }
+
+ console.log(`🚀 Post在线请求:${url}`);
+ let req = new Request(url);
+ req.method = 'POST';
+ if (headers != null && headers != undefined) {
+ req.headers = headers;
+ }
+ for (const parameter of options?.parameterArr) {
+ req.addParameterToMultipart(Object.keys(parameter)[0], Object.values(parameter)[0])
+ }
+ if (options?.body) {
+ req.body = options?.body;
+ }
+ data = await (jsonFormat ? req.loadJSON() : req.loadString());
+ // 判断数据是否为空(加载失败)
+ if (!data && canUseCache) {
+ console.log(`🤖 Post读取缓存:${url}`);
+ this.logDivider();
+ return jsonFormat ? JSON.parse(localCache) : localCache;
+ }
+ // 存储缓存
+ if (options.dataSuccess(data)) {
+ ufm.writeStringCache(cacheFileName, jsonFormat ? JSON.stringify(data) : data);
+ }
+ // 是否打印响应数据
+ if (logable) {
+ console.log(`🤖 Post请求响应:${JSON.stringify(data)}`);
+ }
+ } catch (error) {
+ console.error(`🚫 Post请求失败:${error}: ${url}`);
+ }
+ this.logDivider();
+ return data;
+ }
+
+ getSFSymbol = (name, size = 16) => {
+ const sf = SFSymbol.named(name)
+ if (sf != null) {
+ if (size != undefined && size != null) {
+ sf.applyFont(Font.systemFont(size))
+ }
+ return sf.image
+ } else {
+ return undefined
+ }
+ }
+
+ getLocation = async (locale = "zh_cn", options = {}) => {
+ // 定位信息
+ let locationData = {
+ "latitude": undefined,
+ "longitude": undefined,
+ "locality": undefined,
+ "subLocality": undefined
+ };
+ const { location = true, longitude, latitude } = this.readWidgetSetting();
+ if (!location) {
+ locationData.longitude = longitude;
+ locationData.latitude = latitude;
+ if (longitude == null || longitude == undefined || latitude == null || latitude == undefined) {
+ await this.generateAlert('定位信息', '系统定位已关闭\n配置中找不到指定定位信息\n请开关定位后输入定位\n点击左上角关闭脚本重新运行', ['确定']);
+ throw new Error('获取定位信息失败,请打开定位或者手动输入定位信息!');
+ }
+ return locationData;
+ }
+ // 缓存
+ const defaultOptions = {
+ useICloud: false,
+ scriptName: this.scriptName
+ };
+ options = {
+ ...defaultOptions,
+ ...options
+ };
+ const { useICloud, scriptName } = options;
+ // 缓存文件
+ const cacheFileName = this.md5("lsp-location-cache");
+ const ufm = this.useFileManager({ useICloud, scriptName });
+ try {
+ // 读取本地缓存
+ const locationCache = ufm.readStringCache(cacheFileName, true);
+ // 判断是否需要刷新
+ const lastCacheTime = ufm.getCacheModifyDate(cacheFileName, true);
+ const timeInterval = Math.floor((this.getCurrentTimeStamp() - lastCacheTime) / 60);
+ const canUseCache = locationCache != null && locationCache.length > 0;
+ const { refreshInterval = '0' } = this.readWidgetSetting();
+ const shouldLoadCache = timeInterval <= Number(refreshInterval) && canUseCache;
+ console.log(`⏰ ${this.getDateStr(new Date(lastCacheTime * 1000), 'HH:mm')}加入缓存,已缓存 ${lastCacheTime > 0 ? timeInterval : 0}min,缓存${shouldLoadCache ? '未过期' : '已过期'}`);
+ if (shouldLoadCache) {
+ // 读取缓存数据
+ console.log(`🤖 读取定位缓存数据:${locationCache}`);
+ locationData = JSON.parse(locationCache);
+ } else {
+ console.log(`📌 开始调用手机定位`);
+ const location = await Location.current();
+ const geocode = await Location.reverseGeocode(location.latitude, location.longitude, locale);
+ locationData.latitude = location.latitude;
+ locationData.longitude = location.longitude;
+ const geo = geocode[0];
+ // 市
+ if (locationData.locality == undefined) {
+ locationData.locality = geo.locality;
+ }
+ // 区
+ if (locationData.subLocality == undefined) {
+ locationData.subLocality = geo.subLocality;
+ }
+ // 街道
+ locationData.street = geo.thoroughfare;
+ // 缓存数据
+ ufm.writeStringCache(cacheFileName, JSON.stringify(locationData), true);
+ console.log(`🚀 定位信息:latitude=${location.latitude},longitude=${location.longitude},locality=${locationData.locality},subLocality=${locationData.subLocality},street=${locationData.street}`);
+ }
+ } catch (error) {
+ console.error(`🚫 定位出错了,${error.toString()}`);
+ // 读取缓存数据
+ const locationCache = ufm.readStringCache(cacheFileName, true);
+ console.log(`🤖 读取定位缓存数据:${locationCache}`);
+ if (locationCache && locationCache.length > 0) {
+ locationData = JSON.parse(locationCache);
+ }
+ }
+ this.logDivider();
+ return locationData;
+ }
+
+ getSettingValueByKey = (key, defaultValue) => this.readWidgetSetting()[key] ?? defaultValue;
+
+ loadShadowColor2Image = async (img, shadowColor) => {
+ try {
+ let drawContext = new DrawContext()
+ drawContext.size = img.size
+ drawContext.respectScreenScale = true
+ // 把图片画上去
+ drawContext.drawImageInRect(img, new Rect(0, 0, img.size['width'], img.size['height']))
+ // 填充蒙版颜色
+ drawContext.setFillColor(shadowColor)
+ // 填充
+ drawContext.fillRect(new Rect(0, 0, img.size['width'], img.size['height']))
+ return await drawContext.getImage()
+ } catch (error) {
+ console.error(error);
+ this.logDivider();
+ }
+ }
+
+ /**
+ * 图片圆形裁剪
+ * @param {*} url
+ * @returns
+ */
+ circleCropImage = async (url) => {
+ let img = await this.getImageByUrl(url);
+ const imgData = Data.fromPNG(img).toBase64String();
+ const html = `
+
+
+
+ `
+ const js = `
+ let canvas = document.createElement("canvas");
+ let sourceImg = document.getElementById("sourceImg");
+ let silhouetteImg = document.getElementById("silhouetteImg");
+ var diameter = sourceImg.width < sourceImg.height ? sourceImg.width : sourceImg.height;
+ let ctx = canvas.getContext('2d');
+ canvas.width = diameter;
+ canvas.height = diameter;
+ ctx.save();
+ ctx.beginPath();
+ ctx.arc(diameter / 2, diameter / 2, diameter / 2, 0, 2 * Math.PI);
+ ctx.clip();
+ ctx.drawImage(sourceImg, 0, 0);
+ ctx.restore();
+ let imgData = ctx.getImageData(0, 0, diameter, diameter);
+ ctx.putImageData(imgData, 0, 0);
+ silhouetteImg.src = canvas.toDataURL();
+ output = canvas.toDataURL();
+ `
+ const wv = new WebView();
+ await wv.loadHTML(html);
+ const base64Image = await wv.evaluateJavaScript(js);
+ return await new Request(base64Image).loadImage();
+ }
+
+ /**
+ * 在线图片加载
+ * @param {string} url 图片链接
+ * @param {string} pointCacheKey 指定缓存key
+ * @param {bool} useCache 是否使用缓存
+ * @return {Image}
+ */
+ getImageByUrl = async (url, options = {}) => {
+ const { pointCacheKey = null, useCache = true } = options;
+ // 缓存
+ options = {
+ useICloud: false,
+ scriptName: this.scriptName,
+ ...options,
+ };
+ const { useICloud, scriptName } = options;
+ const ufm = this.useFileManager({ useICloud, scriptName });
+ // 根据URL进行md5生成cacheKey
+ let cacheFileName = pointCacheKey;
+ if (cacheFileName == undefined || cacheFileName == null || cacheFileName.length == 0) {
+ cacheFileName = this.md5(url);
+ }
+ try {
+ // 缓存数据
+ if (useCache) {
+ const cacheImg = ufm.readImgCache(cacheFileName);
+ if (cacheImg != undefined && cacheImg != null) {
+ console.log(`🤖 返回缓存图片:${url}`);
+ this.logDivider();
+ return cacheImg;
+ }
+ }
+ console.log(`🚀 在线请求图片:${url}`);
+ const req = new Request(url);
+ let img = await req.loadImage();
+ // 存储到缓存
+ ufm.writeImgCache(cacheFileName, img);
+ this.logDivider();
+ return img;
+ } catch (e) {
+ console.error(`🚫 图片加载失败:${e}`);
+ // 判断本地是否有缓存,有的话直接返回缓存
+ let cacheImg = ufm.readImgCache(cacheFileName);
+ if (cacheImg != undefined) {
+ console.error(`🚫 图片加载失败,返回缓存图片`);
+ this.logDivider();
+ return cacheImg;
+ }
+ // 没有缓存+失败情况下,返回灰色背景
+ console.log(`📵 返回默认图片,原链接:${url}`)
+ let ctx = new DrawContext();
+ ctx.opaque = false;
+ ctx.respectScreenScale = true;
+ ctx.size = new Size(80, 80);
+ ctx.setFillColor(Color.darkGray());
+ ctx.fillRect(new Rect(0, 0, 80, 80));
+ this.logDivider();
+ return await ctx.getImage();
+ }
+ }
+
+ carouselIndex = (cacheKey, size) => {
+ if (size <= 0) {
+ return 0;
+ }
+ let index = -1;
+ if (Keychain.contains(cacheKey)) {
+ let cacheString = this.keyGet(cacheKey);
+ index = parseInt(cacheString);
+ }
+ index = index + 1;
+ index = index % size;
+ this.keySave(cacheKey, `${index}`)
+ return index
+ }
+
+ getRandowArrValue(arr) {
+ const key = parseInt(Math.random() * arr.length)
+ let item = arr[key]
+ if (item == undefined) {
+ item = arr[0]
+ }
+ return item
+ }
+
+ keySave = (cacheKey, cache) => {
+ if (cache) {
+ Keychain.set(cacheKey, cache);
+ }
+ }
+
+ keyGet = (cacheKey, defaultValue = '') => {
+ if (Keychain.contains(cacheKey)) {
+ return Keychain.get(cacheKey);
+ } else {
+ return defaultValue;
+ }
+ }
+
+ generateAlert = async (title, message, options, cancelAction) => {
+ let alert = new Alert();
+ alert.title = title;
+ if (message?.length > 0) {
+ alert.message = `\n${message}`;
+ }
+ if (!options) {
+ throw new Error('generateAlert 方法的 "options" 属性不可为空');
+ }
+ for (const option of options) {
+ alert.addAction(option);
+ }
+ if (cancelAction) {
+ alert.addCancelAction(cancelAction);
+ }
+ let response = await alert.presentAlert();
+ return response;
+ }
+
+ generateInputAlert = async (options, confirm) => {
+ options = {
+ cancelText: '取消',
+ confirmText: '确定',
+ ...options
+ };
+ const inputAlert = new Alert();
+ inputAlert.title = options.title;
+ const message = options.message;
+ if (message) {
+ inputAlert.message = `\n${message}`;
+ }
+ inputAlert.addAction(options.cancelText);
+ inputAlert.addAction(options.confirmText);
+ const fieldArr = options.options;
+ if (!fieldArr) {
+ throw new Error('generateInputAlert 方法的 "options" 属性不可为空')
+ }
+ for (const option of fieldArr) {
+ inputAlert.addTextField(option.hint, option.value);
+ }
+ let selectIndex = await inputAlert.presentAlert();
+ if (selectIndex == 1) {
+ const inputObj = [];
+ fieldArr.forEach((_, index) => {
+ let value = inputAlert.textFieldValue(index);
+ inputObj.push({ index, value });
+ });
+ confirm(inputObj);
+ }
+ return selectIndex;
+ }
+
+ presentSheet = async (options) => {
+ options = {
+ showCancel: true,
+ cancelText: '取消',
+ ...options
+ };
+ const alert = new Alert();
+ if (options.title) {
+ alert.title = options.title;
+ }
+ if (options.message) {
+ alert.message = options.message;
+ }
+ if (!options.options) {
+ throw new Error('presentSheet 方法的 "options" 属性不可为空')
+ }
+ for (const option of options.options) {
+ alert.addAction(option.name);
+ }
+ if (options.showCancel) {
+ alert.addCancelAction(options.cancelText);
+ }
+ return await alert.presentSheet();
+ };
+
+ /**
+ * 手机各大小组件尺寸
+ */
+ phoneSizes = () => {
+ return {
+ // 14 Pro Max
+ "2796": { 小号: 510, 中号: 1092, 大号: 1146, 左边: 99, 右边: 681, 顶部: 282, 中间: 918, 底部: 1554 },
+ // 14 Pro
+ "2556": { 小号: 474, 中号: 1014, 大号: 1062, 左边: 82, 右边: 622, 顶部: 270, 中间: 858, 底部: 1446 },
+ // 12/13 Pro Max
+ "2778": { 小号: 510, 中号: 1092, 大号: 1146, 左边: 96, 右边: 678, 顶部: 246, 中间: 882, 底部: 1518 },
+ // 12/13 and 12/13 Pro
+ "2532": { 小号: 474, 中号: 1014, 大号: 1062, 左边: 78, 右边: 618, 顶部: 231, 中间: 819, 底部: 1407 },
+ // 11 Pro Max, XS Max
+ "2688": { 小号: 507, 中号: 1080, 大号: 1137, 左边: 81, 右边: 654, 顶部: 228, 中间: 858, 底部: 1488 },
+ // 11, XR
+ "1792": { 小号: 338, 中号: 720, 大号: 758, 左边: 54, 右边: 436, 顶部: 160, 中间: 580, 底部: 1000 },
+ // 11 Pro, XS, X, 12 mini
+ "2436": {
+ x: { 小号: 465, 中号: 987, 大号: 1035, 左边: 69, 右边: 591, 顶部: 213, 中间: 783, 底部: 1353 },
+ mini: { 小号: 465, 中号: 987, 大号: 1035, 左边: 69, 右边: 591, 顶部: 231, 中间: 801, 底部: 1371 }
+ },
+ // Plus phones
+ "2208": { 小号: 471, 中号: 1044, 大号: 1071, 左边: 99, 右边: 672, 顶部: 114, 中间: 696, 底部: 1278 },
+ // SE2 and 6/6S/7/8
+ "1334": { 小号: 296, 中号: 642, 大号: 648, 左边: 54, 右边: 400, 顶部: 60, 中间: 412, 底部: 764 },
+ // SE1
+ "1136": { 小号: 282, 中号: 584, 大号: 622, 左边: 30, 右边: 332, 顶部: 59, 中间: 399, 底部: 399 },
+ // 11 and XR in Display Zoom mode
+ "1624": { 小号: 310, 中号: 658, 大号: 690, 左边: 46, 右边: 394, 顶部: 142, 中间: 522, 底部: 902 },
+ // Plus in Display Zoom mode
+ "2001": { 小号: 444, 中号: 963, 大号: 972, 左边: 81, 右边: 600, 顶部: 90, 中间: 618, 底部: 1146 },
+ }
+ }
+
+ cropImage = (crop, image) => {
+ let draw = new DrawContext();
+ let rect = new Rect(crop.x, crop.y, crop.w, crop.h);
+ draw.size = new Size(rect.width, rect.height);
+ draw.drawImageAtPoint(image, new Point(-rect.x, -rect.y));
+ return draw.getImage();
+ }
+
+ blurImage = async (img, crop, style, blur = 150) => {
+ const js = `
+ var mul_table = [
+ 512, 512, 456, 512, 328, 456, 335, 512, 405, 328, 271, 456, 388, 335, 292, 512,
+ 454, 405, 364, 328, 298, 271, 496, 456, 420, 388, 360, 335, 312, 292, 273, 512,
+ 482, 454, 428, 405, 383, 364, 345, 328, 312, 298, 284, 271, 259, 496, 475, 456,
+ 437, 420, 404, 388, 374, 360, 347, 335, 323, 312, 302, 292, 282, 273, 265, 512,
+ 497, 482, 468, 454, 441, 428, 417, 405, 394, 383, 373, 364, 354, 345, 337, 328,
+ 320, 312, 305, 298, 291, 284, 278, 271, 265, 259, 507, 496, 485, 475, 465, 456,
+ 446, 437, 428, 420, 412, 404, 396, 388, 381, 374, 367, 360, 354, 347, 341, 335,
+ 329, 323, 318, 312, 307, 302, 297, 292, 287, 282, 278, 273, 269, 265, 261, 512,
+ 505, 497, 489, 482, 475, 468, 461, 454, 447, 441, 435, 428, 422, 417, 411, 405,
+ 399, 394, 389, 383, 378, 373, 368, 364, 359, 354, 350, 345, 341, 337, 332, 328,
+ 324, 320, 316, 312, 309, 305, 301, 298, 294, 291, 287, 284, 281, 278, 274, 271,
+ 268, 265, 262, 259, 257, 507, 501, 496, 491, 485, 480, 475, 470, 465, 460, 456,
+ 451, 446, 442, 437, 433, 428, 424, 420, 416, 412, 408, 404, 400, 396, 392, 388,
+ 385, 381, 377, 374, 370, 367, 363, 360, 357, 354, 350, 347, 344, 341, 338, 335,
+ 332, 329, 326, 323, 320, 318, 315, 312, 310, 307, 304, 302, 299, 297, 294, 292,
+ 289, 287, 285, 282, 280, 278, 275, 273, 271, 269, 267, 265, 263, 261, 259];
+
+ var shg_table = [
+ 9, 11, 12, 13, 13, 14, 14, 15, 15, 15, 15, 16, 16, 16, 16, 17,
+ 17, 17, 17, 17, 17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 19,
+ 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20, 20,
+ 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+ 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
+ 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+ 23, 23, 23, 23, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+ 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24];
+
+ function stackBlurCanvasRGB(id, top_x, top_y, width, height, radius) {
+ if (isNaN(radius) || radius < 1) return;
+ radius |= 0;
+
+ var canvas = document.getElementById(id);
+ var context = canvas.getContext("2d");
+ var imageData;
+
+ try {
+ try {
+ imageData = context.getImageData(top_x, top_y, width, height);
+ } catch (e) {
+ // NOTE: this part is supposedly only needed if you want to work with local files
+ // so it might be okay to remove the whole try/catch block and just use
+ // imageData = context.getImageData( top_x, top_y, width, height );
+ try {
+ netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
+ imageData = context.getImageData(top_x, top_y, width, height);
+ } catch (e) {
+ alert("Cannot access local image");
+ throw new Error("unable to access local image data: " + e);
+ return;
+ }
+ }
+ } catch (e) {
+ alert("Cannot access image");
+ throw new Error("unable to access image data: " + e);
+ }
+
+ var pixels = imageData.data;
+
+ var x, y, i, p, yp, yi, yw, r_sum, g_sum, b_sum,
+ r_out_sum, g_out_sum, b_out_sum,
+ r_in_sum, g_in_sum, b_in_sum,
+ pr, pg, pb, rbs;
+
+ var div = radius + radius + 1;
+ var w4 = width << 2;
+ var widthMinus1 = width - 1;
+ var heightMinus1 = height - 1;
+ var radiusPlus1 = radius + 1;
+ var sumFactor = radiusPlus1 * (radiusPlus1 + 1) / 2;
+
+ var stackStart = new BlurStack();
+ var stack = stackStart;
+ for (i = 1; i < div; i++) {
+ stack = stack.next = new BlurStack();
+ if (i == radiusPlus1) var stackEnd = stack;
+ }
+ stack.next = stackStart;
+ var stackIn = null;
+ var stackOut = null;
+
+ yw = yi = 0;
+
+ var mul_sum = mul_table[radius];
+ var shg_sum = shg_table[radius];
+
+ for (y = 0; y < height; y++) {
+ r_in_sum = g_in_sum = b_in_sum = r_sum = g_sum = b_sum = 0;
+
+ r_out_sum = radiusPlus1 * (pr = pixels[yi]);
+ g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);
+ b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);
+
+ r_sum += sumFactor * pr;
+ g_sum += sumFactor * pg;
+ b_sum += sumFactor * pb;
+
+ stack = stackStart;
+
+ for (i = 0; i < radiusPlus1; i++) {
+ stack.r = pr;
+ stack.g = pg;
+ stack.b = pb;
+ stack = stack.next;
+ }
+
+ for (i = 1; i < radiusPlus1; i++) {
+ p = yi + ((widthMinus1 < i ? widthMinus1 : i) << 2);
+ r_sum += (stack.r = (pr = pixels[p])) * (rbs = radiusPlus1 - i);
+ g_sum += (stack.g = (pg = pixels[p + 1])) * rbs;
+ b_sum += (stack.b = (pb = pixels[p + 2])) * rbs;
+
+ r_in_sum += pr;
+ g_in_sum += pg;
+ b_in_sum += pb;
+
+ stack = stack.next;
+ }
+
+ stackIn = stackStart;
+ stackOut = stackEnd;
+ for (x = 0; x < width; x++) {
+ pixels[yi] = (r_sum * mul_sum) >> shg_sum;
+ pixels[yi + 1] = (g_sum * mul_sum) >> shg_sum;
+ pixels[yi + 2] = (b_sum * mul_sum) >> shg_sum;
+
+ r_sum -= r_out_sum;
+ g_sum -= g_out_sum;
+ b_sum -= b_out_sum;
+
+ r_out_sum -= stackIn.r;
+ g_out_sum -= stackIn.g;
+ b_out_sum -= stackIn.b;
+
+ p = (yw + ((p = x + radius + 1) < widthMinus1 ? p : widthMinus1)) << 2;
+
+ r_in_sum += (stackIn.r = pixels[p]);
+ g_in_sum += (stackIn.g = pixels[p + 1]);
+ b_in_sum += (stackIn.b = pixels[p + 2]);
+
+ r_sum += r_in_sum;
+ g_sum += g_in_sum;
+ b_sum += b_in_sum;
+
+ stackIn = stackIn.next;
+
+ r_out_sum += (pr = stackOut.r);
+ g_out_sum += (pg = stackOut.g);
+ b_out_sum += (pb = stackOut.b);
+
+ r_in_sum -= pr;
+ g_in_sum -= pg;
+ b_in_sum -= pb;
+
+ stackOut = stackOut.next;
+ yi += 4;
+ }
+ yw += width;
+ }
+
+ for (x = 0; x < width; x++) {
+ g_in_sum = b_in_sum = r_in_sum = g_sum = b_sum = r_sum = 0;
+
+ yi = x << 2;
+ r_out_sum = radiusPlus1 * (pr = pixels[yi]);
+ g_out_sum = radiusPlus1 * (pg = pixels[yi + 1]);
+ b_out_sum = radiusPlus1 * (pb = pixels[yi + 2]);
+
+ r_sum += sumFactor * pr;
+ g_sum += sumFactor * pg;
+ b_sum += sumFactor * pb;
+
+ stack = stackStart;
+
+ for (i = 0; i < radiusPlus1; i++) {
+ stack.r = pr;
+ stack.g = pg;
+ stack.b = pb;
+ stack = stack.next;
+ }
+
+ yp = width;
+
+ for (i = 1; i <= radius; i++) {
+ yi = (yp + x) << 2;
+
+ r_sum += (stack.r = (pr = pixels[yi])) * (rbs = radiusPlus1 - i);
+ g_sum += (stack.g = (pg = pixels[yi + 1])) * rbs;
+ b_sum += (stack.b = (pb = pixels[yi + 2])) * rbs;
+
+ r_in_sum += pr;
+ g_in_sum += pg;
+ b_in_sum += pb;
+
+ stack = stack.next;
+
+ if (i < heightMinus1) {
+ yp += width;
+ }
+ }
+
+ yi = x;
+ stackIn = stackStart;
+ stackOut = stackEnd;
+ for (y = 0; y < height; y++) {
+ p = yi << 2;
+ pixels[p] = (r_sum * mul_sum) >> shg_sum;
+ pixels[p + 1] = (g_sum * mul_sum) >> shg_sum;
+ pixels[p + 2] = (b_sum * mul_sum) >> shg_sum;
+
+ r_sum -= r_out_sum;
+ g_sum -= g_out_sum;
+ b_sum -= b_out_sum;
+
+ r_out_sum -= stackIn.r;
+ g_out_sum -= stackIn.g;
+ b_out_sum -= stackIn.b;
+
+ p = (x + (((p = y + radiusPlus1) < heightMinus1 ? p : heightMinus1) * width)) << 2;
+
+ r_sum += (r_in_sum += (stackIn.r = pixels[p]));
+ g_sum += (g_in_sum += (stackIn.g = pixels[p + 1]));
+ b_sum += (b_in_sum += (stackIn.b = pixels[p + 2]));
+
+ stackIn = stackIn.next;
+
+ r_out_sum += (pr = stackOut.r);
+ g_out_sum += (pg = stackOut.g);
+ b_out_sum += (pb = stackOut.b);
+
+ r_in_sum -= pr;
+ g_in_sum -= pg;
+ b_in_sum -= pb;
+
+ stackOut = stackOut.next;
+
+ yi += width;
+ }
+ }
+
+ context.putImageData(imageData, top_x, top_y);
+ }
+
+ function BlurStack() {
+ this.r = 0;
+ this.g = 0;
+ this.b = 0;
+ this.a = 0;
+ this.next = null;
+ }
+
+ // https://gist.github.com/mjackson/5311256
+ function rgbToHsl(r, g, b) {
+ r /= 255, g /= 255, b /= 255;
+ var max = Math.max(r, g, b), min = Math.min(r, g, b);
+ var h, s, l = (max + min) / 2;
+ if (max == min) {
+ h = s = 0; // achromatic
+ } else {
+ var d = max - min;
+ s = l > 0.5 ? d / (2 - max - min) : d / (max + min);
+ switch (max) {
+ case r: h = (g - b) / d + (g < b ? 6 : 0); break;
+ case g: h = (b - r) / d + 2; break;
+ case b: h = (r - g) / d + 4; break;
+ }
+ h /= 6;
+ }
+ return [h, s, l];
+ }
+
+ function hslToRgb(h, s, l) {
+ var r, g, b;
+ if (s == 0) {
+ r = g = b = l; // achromatic
+ } else {
+ var hue2rgb = function hue2rgb(p, q, t) {
+ if (t < 0) t += 1;
+ if (t > 1) t -= 1;
+ if (t < 1 / 6) return p + (q - p) * 6 * t;
+ if (t < 1 / 2) return q;
+ if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6;
+ return p;
+ }
+ var q = l < 0.5 ? l * (1 + s) : l + s - l * s;
+ var p = 2 * l - q;
+ r = hue2rgb(p, q, h + 1 / 3);
+ g = hue2rgb(p, q, h);
+ b = hue2rgb(p, q, h - 1 / 3);
+ }
+ return [Math.round(r * 255), Math.round(g * 255), Math.round(b * 255)];
+ }
+
+ function lightBlur(hsl) {
+ // Adjust the luminance.
+ let lumCalc = 0.35 + (0.3 / hsl[2]);
+ if (lumCalc < 1) { lumCalc = 1; }
+ else if (lumCalc > 3.3) { lumCalc = 3.3; }
+ const l = hsl[2] * lumCalc;
+
+ // Adjust the saturation.
+ const colorful = 2 * hsl[1] * l;
+ const s = hsl[1] * colorful * 1.5;
+
+ return [hsl[0], s, l];
+ }
+
+ function darkBlur(hsl) {
+ // Adjust the saturation.
+ const colorful = 2 * hsl[1] * hsl[2];
+ const s = hsl[1] * (1 - hsl[2]) * 3;
+
+ return [hsl[0], s, hsl[2]];
+ }
+
+ // Set up the canvas.
+ const img = document.getElementById("blurImg");
+ const canvas = document.getElementById("mainCanvas");
+ const w = img.naturalWidth;
+ const h = img.naturalHeight;
+ canvas.style.width = w + "px";
+ canvas.style.height = h + "px";
+ canvas.width = w;
+ canvas.height = h;
+ const context = canvas.getContext("2d");
+ context.clearRect(0, 0, w, h);
+ context.drawImage(img, 0, 0);
+
+ // Get the image data from the context.
+ var imageData = context.getImageData(0, 0, w, h);
+ var pix = imageData.data;
+
+ // Set the image function, if any.
+ var imageFunc;
+ var style = "${style}";
+ if (style == "dark") { imageFunc = darkBlur; }
+ else if (style == "light") { imageFunc = lightBlur; }
+ for (let i = 0; i < pix.length; i += 4) {
+ // Convert to HSL.
+ let hsl = rgbToHsl(pix[i], pix[i + 1], pix[i + 2]);
+
+ // Apply the image function if it exists.
+ if (imageFunc) { hsl = imageFunc(hsl); }
+
+ // Convert back to RGB.
+ const rgb = hslToRgb(hsl[0], hsl[1], hsl[2]);
+
+ // Put the values back into the data.
+ pix[i] = rgb[0];
+ pix[i + 1] = rgb[1];
+ pix[i + 2] = rgb[2];
+ }
+
+ // Draw over the old image.
+ context.putImageData(imageData, 0, 0);
+ // Blur the image.
+ stackBlurCanvasRGB("mainCanvas", 0, 0, w, h, ${blur});
+
+ // Perform the additional processing for dark images.
+ if (style == "dark") {
+ // Draw the hard light box over it.
+ context.globalCompositeOperation = "hard-light";
+ context.fillStyle = "rgba(55,55,55,0.2)";
+ context.fillRect(0, 0, w, h);
+ // Draw the soft light box over it.
+ context.globalCompositeOperation = "soft-light";
+ context.fillStyle = "rgba(55,55,55,1)";
+ context.fillRect(0, 0, w, h);
+ // Draw the regular box over it.
+ context.globalCompositeOperation = "source-over";
+ context.fillStyle = "rgba(55,55,55,0.4)";
+ context.fillRect(0, 0, w, h);
+ // Otherwise process light images.
+ } else if (style == "light") {
+ context.fillStyle = "rgba(255,255,255,0.4)";
+ context.fillRect(0, 0, w, h);
+ }
+ // Return a base64 representation.
+ canvas.toDataURL();
+ `
+
+ // Convert the images and create the HTML.
+ let blurImgData = Data.fromPNG(img).toBase64String()
+ let html = `
+
+
+ `
+
+ // Make the web view and get its return value.
+ let view = new WebView()
+ await view.loadHTML(html)
+ let returnValue = await view.evaluateJavaScript(js)
+
+ // Remove the data type from the string and convert to data.
+ let imageDataString = returnValue.slice(22)
+ let imageData = Data.fromBase64String(imageDataString)
+
+ // Convert to image and crop before returning.
+ let imageFromData = Image.fromData(imageData)
+ if (crop != null && crop != undefined) {
+ return this.cropImage(crop, imageFromData)
+ } else {
+ return imageFromData
+ }
+ }
+
+ transparentBg = async (day = true) => {
+ try {
+ if (config.runsInApp) {
+ let alertTitle = `${day ? '白天' : '深色'}背景设置`
+ let imgCrop = undefined
+ const tips = "小组件透明背景已经设置完成,\n退到桌面刷新/预览组件即可查看效果"
+ // Determine if user has taken the screenshot.
+ let message = "如需实现透明背景\n长按桌面然后滑到桌面最右边进行截图"
+ let options = ["退出进行截图", "继续选择图片"]
+ let response = await this.generateAlert(alertTitle, message, options)
+ // Return if we need to exit.
+ if (response == 0) return null
+ // Get screenshot and determine phone size.
+ let img = await Photos.fromLibrary()
+ let height = img.size.height
+ let phone = this.phoneSizes()[height]
+ if (!phone) {
+ message = "你似乎选择了非iPhone屏幕截图的图像\n或者不支持你的iPhone\n请使用其他图像再试一次!"
+ await this.generateAlert(alertTitle, message, ["好的"])
+ return null
+ }
+
+ const ufm = this.useFileManager();
+ const { fm, fullFileName, writeStringCache, readStringCache, writeImgCache } = ufm;
+
+ // Extra setup needed for 2436-sized phones.
+ if (height == 2436) {
+ let cacheName = "lsp-phone-type"
+ const cacheFileName = fullFileName(cacheName);
+ const fileExists = fm.fileExists(cacheFileName);
+ // If we already cached the phone size, load it.
+ if (fileExists) {
+ let typeString = readStringCache(cacheFileName)
+ phone = phone[typeString]
+ // Otherwise, prompt the user.
+ } else {
+ message = "你使用什么型号的iPhone?"
+ let types = ["iPhone 12 mini", "iPhone 11 Pro, XS, or X"]
+ let typeIndex = await this.generateAlert(alertTitle, message, types)
+ let type = (typeIndex == 0) ? "mini" : "x"
+ phone = phone[type]
+ writeStringCache(cacheFileName, type)
+ }
+ }
+
+ // Prompt for widget size and position.
+ message = "你想要创建什么尺寸的小部件?"
+ let sizes = ["小号", "中号", "大号"]
+ let size = await this.generateAlert(alertTitle, message, sizes)
+ let widgetSize = sizes[size]
+
+ message = "你想它应用在什么位置?"
+ message += (height == 1136 ? " (请注意,你的设备仅支持两行小部件,因此中间和底部选项相同。)" : "")
+
+ // Determine image crop based on phone size.
+ let crop = { w: "", h: "", x: "", y: "" }
+ if (widgetSize == "小号") {
+ crop.w = phone.小号
+ crop.h = phone.小号
+ let positions = ["顶部 左边", "顶部 右边", "中间 左边", "中间 右边", "底部 左边", "底部 右边"]
+ let position = await this.generateAlert(alertTitle, message, positions)
+ // Convert the two words into two keys for the phone size dictionary.
+ let keys = positions[position].toLowerCase().split(' ')
+ crop.y = phone[keys[0]]
+ crop.x = phone[keys[1]]
+ } else if (widgetSize == "中号") {
+ crop.w = phone.中号
+ crop.h = phone.小号
+ // 中号 and 大号 widgets have a fixed x-value.
+ crop.x = phone.左边
+ let positions = ["顶部", "中间", "底部"]
+ let position = await this.generateAlert(alertTitle, message, positions)
+ let key = positions[position].toLowerCase()
+ crop.y = phone[key]
+ } else if (widgetSize == "大号") {
+ crop.w = phone.中号
+ crop.h = phone.大号
+ crop.x = phone.左边
+ let positions = ["顶部", "底部"]
+ let position = await this.generateAlert(alertTitle, message, positions)
+ // 大号 widgets at the 底部 have the "中间" y-value.
+ crop.y = position ? phone.中间 : phone.顶部
+ }
+
+ // Prompt for blur style.
+ message = "你想要一个完全透明的小部件,还是半透明的模糊效果?"
+ let blurOptions = ["透明背景", "浅色模糊", "深色模糊", "完全模糊"]
+ let blurred = await this.generateAlert(alertTitle, message, blurOptions)
+
+ // We always need the cropped image.
+ imgCrop = this.cropImage(crop, img)
+
+ // If it's blurred, set the blur style.
+ if (blurred) {
+ const styles = ["", "light", "dark", "none"]
+ const style = styles[blurred]
+ imgCrop = await this.blurImage(img, crop, style)
+ }
+
+ message = tips
+ const exportPhotoOptions = ["导出", "完成"]
+ const exportToPhoto = await this.generateAlert(alertTitle, message, exportPhotoOptions)
+
+ if (exportToPhoto == 0) {
+ Photos.save(imgCrop)
+ }
+
+ // 保存图片缓存
+ writeImgCache(day ? this.dayTransparentBgName() : this.nightTransparentBgName(), imgCrop);
+ return true;
+ }
+ } catch (error) {
+ console.error(error);
+ }
+ }
+
+ /**
+ * 获取组件尺寸大小
+ * @param {string} size 组件尺寸【小号】、【中号】、【大号】
+ * @param {bool} isIphone12Mini 是否是12mini
+ */
+ getWidgetSize = (size, isIphone12Mini = false) => {
+ // 屏幕缩放比例
+ const screenScale = Device.screenScale();
+ // 组件宽度
+ let phoneWidgetSize = undefined;
+ // 手机屏幕高度
+ const screenHeight = Device.screenSize().height * screenScale;
+ if (screenHeight == 2436) {
+ // 2436尺寸的手机有【11 Pro, XS, X】 & 【12 mini】
+ if (isIphone12Mini) {
+ phoneWidgetSize = this.phoneSizes()[screenHeight].mini;
+ } else {
+ phoneWidgetSize = this.phoneSizes()[screenHeight].x;
+ }
+ } else {
+ phoneWidgetSize = this.phoneSizes()[screenHeight];
+ }
+ //
+ let width = phoneWidgetSize[size] / screenScale;
+ if (size === '大号') {
+ width = phoneWidgetSize['中号'] / screenScale;
+ }
+ //
+ let height = phoneWidgetSize['小号'] / screenScale;
+ if (size === '大号') {
+ height = phoneWidgetSize['大号'] / screenScale;
+ }
+ //
+ return { width, height };
+ }
+
+ // *******************常用api信息接口*******************
+ /**
+ * 获取农历信息
+ */
+ getLunarInfo = async () => {
+ const datePre = 'lunar_';
+ const currDate = new Date();
+ let dateStr = this.getDateStr(currDate, 'yyyyMMdd');
+ let lunarJsonData = this.useFileManager().readJSONCache(datePre + dateStr);
+ if (JSON.stringify(lunarJsonData) == '{}') {
+ console.log(`🚀 在线请求农历数据`);
+ const day = currDate.getDate() - 1;
+ // 万年历数据
+ const url = "https://wannianrili.bmcx.com/";
+ const headers = {
+ "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36"
+ };
+ const html = await this.httpGet(url, { jsonFormat: false, headers, useCache: false });
+ const webview = new WebView();
+ await webview.loadHTML(html);
+ const getData = `
+ function getData() {
+ try {
+ success = true;
+ infoLunarText = document.querySelector('div#wnrl_k_you_id_${day}.wnrl_k_you .wnrl_k_you_id_wnrl_nongli').innerText
+ holidayText = document.querySelectorAll('div.wnrl_k_zuo div.wnrl_riqi')[${day}].querySelector('.wnrl_td_bzl').innerText
+ lunarYearText = document.querySelector('div.wnrl_k_you_id_wnrl_nongli_ganzhi').innerText
+ lunarYearText = lunarYearText.slice(0, lunarYearText.indexOf('年') + 1)
+ if (infoLunarText.search(holidayText) != -1) {
+ holidayText = ''
+ }
+ } catch(e) {
+ log(e)
+ success = false;
+ infoLunarText = '*'
+ holidayText = '*'
+ lunarYearText = '*'
+ }
+ return { success, infoLunarText, holidayText , lunarYearText }
+ }
+ getData()
+ `
+ // 节日数据
+ lunarJsonData = await webview.evaluateJavaScript(getData, false);
+ //
+ const listFiles = this.useFileManager().fm.listContents(this.useFileManager().cacheDir);
+ for (let index = listFiles.length - 1; index >= 0; index--) {
+ const file = listFiles[index];
+ if (file.startsWith(datePre)) {
+ console.log(`删除农历缓存文件:${file}`);
+ this.useFileManager().fm.remove(this.useFileManager().cacheDir + '/' + file);
+ }
+ }
+ //
+ if (lunarJsonData?.success) {
+ this.useFileManager().writeJSONCache(datePre + dateStr, lunarJsonData);
+ }
+ }
+ console.log(`🚀 农历数据:${JSON.stringify(lunarJsonData)}`);
+ this.logDivider();
+ return lunarJsonData;
+ }
+ // ***************************************************
+
+ // @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
+ async getAppViewOptions() {
+ return {};
+ }
+
+ async run() {
+ const viewOptions = await this.getAppViewOptions();
+ if (config.runsInWidget) {
+ await this.providerWidget(viewOptions.widgetProvider);
+ } else {
+ this.renderAppView(viewOptions);
+ }
+ }
+
+ // @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
+ dismissLoading = (webView) => {
+ webView.evaluateJavaScript(
+ 'window.dispatchEvent(new CustomEvent(\'JWeb\', { detail: { code: \'finishLoading\' } }))',
+ false
+ );
+ }
+
+ insertTextByElementId = (webView, elementId, text) => {
+ webView.evaluateJavaScript(
+ 'document.getElementById("' + elementId + '").innerText="' + text + '"',
+ false
+ );
+ }
+
+ async renderAppView(options = {}, previewWebView = new WebView()) {
+ this.logDivider();
+ console.log(`👉 组件控制面板渲染预览 👇`);
+ this.logDivider();
+ const {
+ showWidgetSettingBg = false, // 是否显示组件背景设置的图片
+ showWidgetBg = true, // 是否显示背景菜单选项
+ isChildLevel = false, // 是否是二级菜单
+ needLocation = false, // 是否需要定位
+ settingItemFontSize = 16,
+ authorNameFontSize = 20,
+ authorDescFontSize = 12,
+ widgetProvider = { defaultBgType: '2', small: true, medium: true, large: true },
+ settingItems = [],
+ onItemClick,
+ onCheckedChange,
+ authorAvatar = `data:image/png;base64,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`,
+ authorName = '杂货万事屋',
+ authorDesc = '点击查看/添加Scriptable小组件订阅',
+ homePage = this.getRemoteRootPath(),
+ } = options;
+ // 屏幕宽度
+ const screenWidth = Device.screenSize().width;
+ const mediumWidgetHeight = 80;
+ // 组件配置缓存
+ const widgetSetting = this.readWidgetSetting();
+ const { dayBackgroundImagePath, nightBackgroundImagePath, dayBackgroundImageUrl, nightBackgroundImageUrl, picType } = widgetSetting;
+ let dayBackgroundImage = this.useFileManager().readImgCache(dayBackgroundImagePath);
+ let nightBackgroundImage = this.useFileManager().readImgCache(nightBackgroundImagePath);
+ if ((picType == 0 || picType == 1 || picType == 2) && showWidgetSettingBg) {
+ if (picType == 1) {
+ dayBackgroundImage = dayBackgroundImageUrl ? await this.getImageByUrl(dayBackgroundImageUrl) : null;
+ nightBackgroundImage = nightBackgroundImageUrl ? await this.getImageByUrl(nightBackgroundImageUrl) : null;
+ }
+ }
+ const showDayImg = dayBackgroundImage ? `data:image/png;base64,${Data.fromPNG(dayBackgroundImage).toBase64String()}` : `${this.getRemoteRootPath()}/img/bg_placeholder.png`;
+ const showNightImg = nightBackgroundImage ? `data:image/png;base64,${Data.fromPNG(nightBackgroundImage).toBase64String()}` : `${this.getRemoteRootPath()}/img/bg_placeholder.png`;
+ let bgType = widgetSetting.bgType ?? widgetProvider.defaultBgType ?? this.defaultConfig.bgType;
+ // ================== 配置界面样式 ===================
+ const style = `
+ :root {
+ --color-primary: #007aff;
+ --divider-color: rgba(60,60,67,0.16);
+ --card-background: #fff;
+ --card-radius: 8px;
+ --list-header-color: rgba(60,60,67,0.6);
+ }
+ * {
+ -webkit-user-select: none;
+ user-select: none;
+ }
+ body {
+ margin: 10px 0;
+ -webkit-font-smoothing: antialiased;
+ font-family: "SF Pro Display","SF Pro Icons","Helvetica Neue","Helvetica","Arial",sans-serif;
+ accent-color: var(--color-primary);
+ background: #f6f6f6;
+ }
+ .list {
+ margin: 15px;
+ }
+ .list__header {
+ margin: 0 18px;
+ color: var(--list-header-color);
+ font-size: 13px;
+ }
+ .list__body {
+ margin-top: 10px;
+ background: var(--card-background);
+ border-radius: var(--card-radius);
+ overflow: hidden;
+ }
+ .form-item-auth {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ min-height: 4em;
+ padding: 0.5em 18px;
+ position: relative;
+ }
+ .form-item-auth-name {
+ margin: 0px 12px;
+ font-size: ${authorNameFontSize}px;
+ font-weight: 430;
+ }
+ .form-item-auth-desc {
+ margin: 0px 12px;
+ font-size: ${authorDescFontSize}px;
+ font-weight: 400;
+ }
+ .form-label-author-avatar {
+ width: 62px;
+ height: 62px;
+ border-radius:50%;
+ border: 1px solid #F6D377;
+ }
+ .form-item {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ font-size: ${settingItemFontSize}px;
+ font-weight: 400;
+ min-height: 2.2em;
+ padding: 0.5em 18px;
+ position: relative;
+ }
+ .form-label {
+ display: flex;
+ align-items: center;
+ }
+ .form-label-img {
+ height: 30;
+ }
+ .form-label-title {
+ margin-left: 8px
+ }
+ .bottom-bg {
+ margin: 30px 15px 15px 15px;
+ }
+ .form-item--link .icon-arrow-right {
+ color: #86868b;
+ }
+ .form-item-right-desc {
+ font-size: 13px;
+ color: #86868b;
+ margin-right: 4px;
+ }
+ .form-item + .form-item::before {
+ content: "";
+ position: absolute;
+ top: 0;
+ left: 20px;
+ right: 0;
+ border-top: 0.5px solid var(--divider-color);
+ }
+ .form-item input[type="checkbox"] {
+ width: 2em;
+ height: 2em;
+ }
+ input[type='number'] {
+ width: 6em;
+ height: 2.3em;
+ outline-style: none;
+ text-align: right;
+ padding: 0px 10px;
+ border: 1px solid #ddd;
+ font-size: 14px;
+ color: #86868b;
+ }
+ input[type='input'] {
+ width: 6em;
+ height: 2.3em;
+ outline-style: none;
+ text-align: right;
+ padding: 0px 10px;
+ border: 1px solid #ddd;
+ font-size: 14px;
+ color: #86868b;
+ }
+ input[type='text'] {
+ width: 6em;
+ height: 2.3em;
+ outline-style: none;
+ text-align: right;
+ padding: 0px 10px;
+ border: 1px solid #ddd;
+ font-size: 14px;
+ color: #86868b;
+ }
+ input[type='checkbox'][role='switch'] {
+ position: relative;
+ display: inline-block;
+ appearance: none;
+ width: 40px;
+ height: 24px;
+ border-radius: 24px;
+ background: #ccc;
+ transition: 0.3s ease-in-out;
+ }
+ input[type='checkbox'][role='switch']::before {
+ content: '';
+ position: absolute;
+ left: 2px;
+ top: 2px;
+ width: 20px;
+ height: 20px;
+ border-radius: 50%;
+ background: #fff;
+ transition: 0.3s ease-in-out;
+ }
+ input[type='checkbox'][role='switch']:checked {
+ background: var(--color-primary);
+ }
+ input[type='checkbox'][role='switch']:checked::before {
+ transform: translateX(16px);
+ }
+ .copyright {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ margin: 15px;
+ font-size: 10px;
+ color: #86868b;
+ }
+ .copyright a {
+ color: #515154;
+ text-decoration: none;
+ }
+ .preview.loading {
+ pointer-events: none;
+ }
+ .icon-loading {
+ display: inline-block;
+ animation: 1s linear infinite spin;
+ }
+ .normal-loading {
+ display: inline-block;
+ animation: 20s linear infinite spin;
+ }
+ @keyframes spin {
+ 0% {
+ transform: rotate(0);
+ }
+ 100% {
+ transform: rotate(1turn);
+ }
+ }
+ @media (prefers-color-scheme: dark) {
+ :root {
+ --divider-color: rgba(84,84,88,0.65);
+ --card-background: #1c1c1e;
+ --list-header-color: rgba(235,235,245,0.6);
+ }
+ body {
+ background: #000;
+ color: #fff;
+ }
+ }`;
+
+ // 组件背景Icon
+ const widgetBgIco = await this.loadSF2B64('text.below.photo.fill', '#2176ff');
+ // 系统通知Icon
+ const notifyIco = await this.loadSF2B64('bell.fill', '#FD2953');
+ // 仓库Icon
+ const warehouseIco = await this.loadSF2B64('link.icloud', '#3a86ff');
+ // 系统定位Icon
+ const locationIco = await this.loadSF2B64('location.fill', '#07beb8');
+ // 刷新间隔
+ const refresIntervalIco = await this.loadSF2B64('clock.arrow.circlepath', '#30C758');
+ // 组件更新
+ const widgetUpdateIco = await this.loadSF2B64('icloud.and.arrow.down', '#3a86ff');
+ // 清理缓存
+ const cleanDataIco = await this.loadSF2B64('trash', '#FF7F50');
+ // 小号预览
+ const smallPreviewIco = await this.loadSF2B64('app', '#504ED5');
+ // 中号预览
+ const mediumPreviewIco = await this.loadSF2B64('rectangle', '#504ED5');
+ // 大号预览
+ const largePreviewIco = await this.loadSF2B64('rectangle.portrait', '#504ED5');
+ // icon转换
+ for (let index = 0; index < settingItems.length; index++) {
+ const item = settingItems[index];
+ if (isChildLevel) {
+ const childItems = item.items;
+ for (let childIndex = 0; childIndex < childItems.length; childIndex++) {
+ const childItem = childItems[childIndex];
+ const icon = childItem.icon;
+ const { name, color } = icon;
+ if (typeof icon !== 'string') {
+ childItem.icon = await this.loadSF2B64(name, color);
+ }
+ }
+ } else {
+ const icon = item.icon;
+ const { name, color } = icon;
+ if (typeof icon !== 'string') {
+ item.icon = await this.loadSF2B64(name, color);
+ }
+ }
+ }
+
+ const js = `
+ (() => {
+ const settings = JSON.parse('${JSON.stringify(widgetSetting)}')
+ const settingItems = JSON.parse('${JSON.stringify(settingItems)}')
+
+ window.invoke = (code, data) => {
+ window.dispatchEvent(
+ new CustomEvent(
+ 'JBridge',
+ { detail: { code, data } }
+ )
+ )
+ }
+
+ const notify = document.querySelector('input[name="notify"]')
+ notify.checked = settings.notify ?? true
+ notify.addEventListener('change', (e) => {
+ formData['notify'] = e.target.checked
+ invoke('changeSettings', formData)
+ })
+
+ const use_github = document.querySelector('input[name="use_github"]')
+ use_github.checked = settings.use_github ?? true
+ use_github.addEventListener('change', (e) => {
+ formData['use_github'] = e.target.checked
+ invoke('changeSettings', formData)
+ })
+
+ const location = document.querySelector('input[name="location"]')
+ location.checked = settings.location ?? true
+ location.addEventListener('change', (e) => {
+ formData['location'] = e.target.checked
+ invoke('changeSettings', formData)
+ })
+
+ function createSettingItems(fragment, settingItems, formId) {
+ const formData = {};
+ for (const item of settingItems) {
+ const value = item.desc ?? settings[item.name] ?? item.default ?? null;
+ if(value && item.type != 'cell') {
+ formData[item.name] = value;
+ }
+ const label = document.createElement("label");
+ label.className = "form-item";
+
+ if(item.id) {
+ label.id = item.id;
+ }
+
+ const divLabel = document.createElement("div");
+ divLabel.className = 'form-label';
+ label.appendChild(divLabel);
+
+ const img = document.createElement("img");
+ img.src = item.icon;
+ img.className = 'form-label-img';
+ divLabel.appendChild(img);
+
+ const divTitle = document.createElement("div");
+ divTitle.className = 'form-label-title';
+ divTitle.innerText = item.label;
+ divLabel.appendChild(divTitle);
+
+ if (item.type === 'select') {
+ const select = document.createElement('select');
+ select.className = 'form-item__input';
+ select.name = item.name;
+ select.value = value;
+ for (const opt of (item.options || [])) {
+ const option = document.createElement('option');
+ option.value = opt.value;
+ option.innerText = opt.label;
+ option.selected = value === opt.value;
+ select.appendChild(option);
+ }
+ select.addEventListener('change', (e) => {
+ formData[item.name] = e.target.value;
+ invoke('changeSettings', formData);
+ })
+ label.appendChild(select);
+ } else if (item.type === 'cell') {
+ label.classList.add('form-item--link');
+
+ const divLabel2 = document.createElement("div");
+ divLabel2.className = 'form-label';
+ label.appendChild(divLabel2);
+
+ const descDiv = document.createElement("div");
+ descDiv.setAttribute('id', item.name);
+ descDiv.className = 'form-item-right-desc';
+ if(item.showDesc != false) {
+ descDiv.innerText = value ?? '';
+ }
+ divLabel2.appendChild(descDiv);
+
+ const icon = document.createElement('i');
+ icon.className = 'iconfont icon-arrow-right';
+ divLabel2.appendChild(icon);
+ label.addEventListener('click', (e) => {
+ if(item.needLoading) {
+ toggleIcoLoading(e);
+ }
+ let openWeb = item.openWeb;
+ if(openWeb) {
+ invoke('safari', openWeb);
+ } else {
+ invoke('itemClick', item);
+ }
+ })
+ } else {
+ const input = document.createElement("input");
+ input.className = 'form-item__input';
+ input.name = item.name;
+ input.type = item.type || "text";
+ input.enterKeyHint = 'done';
+ input.value = value;
+
+ if (item.type === 'switch') {
+ input.type = 'checkbox';
+ input.role = 'switch';
+ input.checked = value;
+ }
+
+ if (item.type === 'number') {
+ input.inputMode = 'decimal';
+ }
+
+ if (input.type === 'text') {
+ input.size = 12;
+ }
+
+ input.addEventListener("change", (e) => {
+ formData[item.name] =
+ item.type === 'switch'
+ ? e.target.checked
+ : item.type === 'number'
+ ? Number(e.target.value)
+ : e.target.value;
+ invoke('changeSettings', formData)
+ });
+ label.appendChild(input);
+ }
+ fragment.appendChild(label);
+ }
+ document.getElementById(formId).appendChild(fragment);
+ return formData;
+ }
+
+ let formData = {};
+ const fragment = document.createDocumentFragment();
+ if(${isChildLevel}) {
+ let subIndex = 0;
+ let tmpFormData = {};
+ for (const item of settingItems) {
+ subIndex++;
+ //
+ const subForm = document.createElement("form");
+ let formId = 'form_sub_menu_' + subIndex;
+ subForm.id = formId;
+ subForm.className = 'list__body';
+ subForm.action = 'javascript:void(0);';
+ //
+ document.getElementById('sub_list').appendChild(subForm);
+ tmpFormData = createSettingItems(fragment, item.items, formId);
+ formData = Object.assign(formData, tmpFormData);
+ }
+ } else {
+ formData = createSettingItems(fragment, settingItems, 'form');
+ }
+
+ // 切换ico的loading效果
+ const toggleIcoLoading = (e) => {
+ const target = e.currentTarget
+ target.classList.add('loading')
+ const icon = e.currentTarget.querySelector('.iconfont')
+ const className = icon.className
+ icon.className = 'iconfont icon-loading'
+ const listener = (event) => {
+ const { code } = event.detail
+ if (code === 'finishLoading') {
+ target.classList.remove('loading')
+ icon.className = className
+ window.removeEventListener('JWeb', listener);
+ }
+ }
+ window.addEventListener('JWeb', listener)
+ };
+
+ for (const btn of document.querySelectorAll('.preview')) {
+ btn.addEventListener('click', (e) => {
+ toggleIcoLoading(e);
+ invoke('preview', e.currentTarget.dataset.size);
+ })
+ }
+
+ document.getElementById('author').addEventListener('click', (e) => {
+ toggleIcoLoading(e);
+ invoke('author', formData);
+ })
+ document.getElementById('widgetBg').addEventListener('click', (e) => {
+ toggleIcoLoading(e);
+ invoke('widgetBg', formData);
+ })
+ document.getElementById('refreshTime').addEventListener('click', () => invoke('refreshInterval', formData))
+ document.getElementById('widgetUpdate').addEventListener('click', (e) => {
+ toggleIcoLoading(e);
+ invoke('widgetUpdate', formData);
+ })
+ document.getElementById('cleanData').addEventListener('click', () => invoke('cleanData', formData))
+ })()`;
+
+ const html = `
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+

+
浅色背景
+
+
+
+
+

+
深色背景
+
+
+
+
+
+
+
+ `;
+
+ // 预览web
+ await previewWebView.loadHTML(html, homePage);
+
+ const injectListener = async () => {
+ const event = await previewWebView.evaluateJavaScript(
+ `(() => {
+ try {
+ const controller = new AbortController()
+ const listener = (e) => {
+ completion(e.detail)
+ controller.abort()
+ }
+ window.addEventListener(
+ 'JBridge',
+ listener,
+ { signal: controller.signal }
+ )
+ } catch (e) {
+ alert("预览界面出错:" + e);
+ throw new Error("界面处理出错: " + e);
+ return;
+ }
+ })()`, true).catch((err) => {
+ console.error(err);
+ this.dismissLoading(previewWebView);
+ });
+ ////////////////////////////////////
+ let widgetSetting = this.readWidgetSetting();
+ let {
+ bgType = widgetProvider.defaultBgType ?? widgetSetting.bgType ?? this.defaultConfig.bgType,
+ refreshInterval = this.defaultConfig.refreshInterval,
+ } = widgetSetting;
+ const { code, data } = event;
+ switch (code) {
+ case 'author':
+ await this.presentSubscribeWidget();
+ this.dismissLoading(previewWebView);
+ break
+
+ case 'widgetBg':
+ try {
+ const bgWebView = new WebView();
+ let settingItems = [];
+ const bgTypeIndex = await this.presentSheet({
+ title: '组件背景设置',
+ options: [
+ { name: '透明背景' },
+ { name: '在线图片' },
+ { name: '相册图片' },
+ { name: '纯色背景' },
+ { name: '渐变背景' },
+ ],
+ });
+ if (bgTypeIndex !== -1) {
+ bgType = `${bgTypeIndex}`;
+ if (bgTypeIndex == 0 || bgTypeIndex == 1 || bgTypeIndex == 2) {
+ widgetSetting['picType'] = bgTypeIndex;
+ widgetSetting['dayBackgroundImagePath'] = bgTypeIndex == 0 ? this.dayTransparentBgName() : (bgTypeIndex == 1 ? this.dayOnlineBgName() : this.dayLocalBgName());
+ widgetSetting['nightBackgroundImagePath'] = bgTypeIndex == 0 ? this.nightTransparentBgName() : (bgTypeIndex == 1 ? this.nightOnlineBgName() : this.nightLocalBgName());
+ }
+ this.writeWidgetSetting({ ...widgetSetting, bgType });
+ this.insertTextByElementId(previewWebView, 'bgType', this.bgType2Text(bgType));
+ }
+ switch (bgTypeIndex) {
+ case 0: // 透明背景
+ settingItems = [
+ {
+ items: [
+ {
+ name: 'bgDayImg',
+ label: '浅色背景',
+ type: 'cell',
+ icon: { name: 'photo', color: '#11c4d4', },
+ needLoading: false,
+ default: this.useFileManager().readImgCache(this.dayTransparentBgName()) ? '已设置' : ''
+ },
+ {
+ name: 'bgNightImg',
+ label: '深色背景',
+ type: 'cell',
+ icon: { name: 'photo.fill', color: '#0c81e4', },
+ needLoading: false,
+ default: this.useFileManager().readImgCache(this.nightTransparentBgName()) ? '已设置' : ''
+ },
+ ]
+ }
+ ];
+ break;
+
+ case 1: // 在线图片
+ settingItems = [
+ {
+ items: [
+ {
+ name: 'bgDayImg',
+ label: '浅色背景',
+ type: 'cell',
+ icon: { name: 'photo', color: '#11c4d4', },
+ needLoading: false,
+ default: widgetSetting.dayBackgroundImageUrl ? '已设置' : ''
+ },
+ {
+ name: 'bgNightImg',
+ label: '深色背景',
+ type: 'cell',
+ icon: { name: 'photo.fill', color: '#0c81e4', },
+ needLoading: false,
+ default: widgetSetting.nightBackgroundImageUrl ? '已设置' : ''
+ },
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'blurBg',
+ label: '高斯模糊',
+ type: 'switch',
+ icon: { name: 'rectangle.on.rectangle', color: '#938BF0', },
+ needLoading: false,
+ default: false
+ },
+ {
+ name: 'blurMode',
+ label: '模糊效果',
+ type: 'select',
+ icon: { name: 'rectangle.fill.on.rectangle.fill', color: '#6A63B8', },
+ needLoading: false,
+ options: [
+ { label: '浅色模糊', value: 'light' },
+ { label: '深色模糊', value: 'dark' },
+ { label: '完全模糊', value: 'none' },
+ ],
+ default: "none"
+ },
+ {
+ name: 'blurRadius',
+ label: '模糊强度',
+ type: 'number',
+ icon: { name: 'plus.rectangle.on.rectangle', color: '#FF59A1', },
+ needLoading: false,
+ default: '50',
+ },
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'shadow',
+ label: '颜色蒙层',
+ type: 'switch',
+ icon: { name: 'rectangle.grid.1x2', color: '#938BF0', },
+ needLoading: false,
+ default: false
+ },
+ {
+ name: 'shadowColor',
+ label: '蒙层颜色',
+ type: 'color',
+ icon: { name: 'rectangle.grid.1x2.fill', color: '#6A63B8', },
+ needLoading: false,
+ default: "#000000"
+ },
+ {
+ name: 'shadowAlpha',
+ label: '蒙层透明度',
+ type: 'number',
+ icon: { name: 'capsule', color: '#FF59A1', },
+ needLoading: false,
+ default: '0.5',
+ },
+ ]
+ }
+ ];
+ break;
+
+ case 2: // 相册图片
+ settingItems = [
+ {
+ items: [
+ {
+ name: 'bgDayImg',
+ label: '浅色背景',
+ type: 'cell',
+ icon: { name: 'photo', color: '#11c4d4', },
+ needLoading: false,
+ default: this.useFileManager().readImgCache(this.dayLocalBgName()) ? '已设置' : ''
+ },
+ {
+ name: 'bgNightImg',
+ label: '深色背景',
+ type: 'cell',
+ icon: { name: 'photo.fill', color: '#0c81e4', },
+ needLoading: false,
+ default: this.useFileManager().readImgCache(this.nightLocalBgName()) ? '已设置' : ''
+ },
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'localBlurBg',
+ label: '高斯模糊',
+ type: 'switch',
+ icon: { name: 'rectangle.on.rectangle', color: '#938BF0', },
+ needLoading: false,
+ default: false
+ },
+ {
+ name: 'localBlurMode',
+ label: '模糊效果',
+ type: 'select',
+ icon: { name: 'rectangle.fill.on.rectangle.fill', color: '#6A63B8', },
+ needLoading: false,
+ options: [
+ { label: '浅色模糊', value: 'light' },
+ { label: '深色模糊', value: 'dark' },
+ { label: '完全模糊', value: 'none' },
+ ],
+ default: 'none'
+ },
+ {
+ name: 'localBlurRadius',
+ label: '模糊强度',
+ type: 'number',
+ icon: { name: 'plus.rectangle.on.rectangle', color: '#FF59A1', },
+ needLoading: false,
+ default: '50',
+ },
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'localShadow',
+ label: '颜色蒙层',
+ type: 'switch',
+ icon: { name: 'rectangle.grid.1x2', color: '#938BF0', },
+ needLoading: false,
+ default: false
+ },
+ {
+ name: 'localShadowColor',
+ label: '蒙层颜色',
+ type: 'color',
+ icon: { name: 'rectangle.grid.1x2.fill', color: '#6A63B8', },
+ needLoading: false,
+ default: "#000000"
+ },
+ {
+ name: 'localShadowAlpha',
+ label: '蒙层透明度',
+ type: 'number',
+ icon: { name: 'capsule', color: '#FF59A1', },
+ needLoading: false,
+ default: '0.5',
+ },
+ ]
+ }
+ ];
+ break;
+
+ case 3: // 纯色背景
+ settingItems = [
+ {
+ items: [
+ {
+ name: 'bgDayColor',
+ label: '浅色背景色',
+ type: 'color',
+ icon: { name: 'sun.max', color: '#11c4d4', },
+ needLoading: false,
+ default: this.splitColors(this.backgroundColor)[0],
+ },
+ {
+ name: 'bgNightColor',
+ label: '深色背景色',
+ type: 'color',
+ icon: { name: 'moon.stars', color: '#0c81e4', },
+ needLoading: false,
+ default: this.splitColors(this.backgroundColor)[1],
+ },
+ ]
+ }
+ ];
+ break;
+
+ case 4: // 渐变背景
+ settingItems = [
+ {
+ items: [
+ {
+ name: 'gradientAngle',
+ label: '渐变角度',
+ type: 'number',
+ icon: { name: 'square.stack', color: '#E33049', },
+ needLoading: false,
+ default: `${this.backgroundGradientAngle}`,
+ },
+ {
+ name: 'startColor',
+ label: '开始背景色',
+ type: 'color',
+ icon: { name: 'play.circle', color: '#11c4d4', },
+ needLoading: false,
+ default: this.splitColors(this.backgroundGradientColor)[0],
+ },
+ {
+ name: 'endColor',
+ label: '结束背景色',
+ type: 'color',
+ icon: { name: 'pause.circle', color: '#0c81e4', },
+ needLoading: false,
+ default: this.splitColors(this.backgroundGradientColor)[1],
+ },
+ ]
+ }
+ ];
+ break;
+ }
+
+ if (settingItems.length > 0) {
+ // 预览
+ await this.renderAppView({
+ isChildLevel: true,
+ showWidgetBg: false,
+ showWidgetSettingBg: bgTypeIndex == 0 || bgTypeIndex == 1 || bgTypeIndex == 2,
+ settingItems,
+ onItemClick: async (item) => {
+ switch (item.name) {
+ case 'bgDayImg':
+ widgetSetting = this.readWidgetSetting();
+ if (bgTypeIndex == 0) {
+ const result = await this.transparentBg(true);
+ if (result) {
+ const backgroundImage = this.useFileManager().readImgCache(this.dayTransparentBgName());
+ if (backgroundImage) {
+ widgetSetting['picType'] = 0;
+ widgetSetting['dayBackgroundImagePath'] = this.dayTransparentBgName();
+ this.writeWidgetSetting({ ...widgetSetting });
+ this.insertTextByElementId(bgWebView, item.name, '已设置');
+ //
+ bgWebView.evaluateJavaScript(
+ `
+ document.getElementById("previewBg").style.display = "";
+ document.getElementById("previewDayBg").style.display = "";
+ document.getElementById("dayBg").height = ${this.getWidgetSize('中号').height / 2};
+ document.getElementById("dayBg").src="data:image/png;base64,${Data.fromPNG(backgroundImage).toBase64String()}";
+ `,
+ false
+ );
+ }
+ }
+ } else if (bgTypeIndex == 1) {
+ await this.generateInputAlert({
+ title: '在线白天图片背景',
+ message: '填入图片链接设置为组件背景图\n系统自动裁剪中间部分图片使用',
+ options: [{ hint: '🔗 请输入图片链接', value: '' }]
+ }, async (inputArr) => {
+ const imgUrl = inputArr[0].value;
+ // 保存配置
+ widgetSetting['picType'] = 1;
+ widgetSetting['dayBackgroundImageUrl'] = imgUrl;
+ widgetSetting['dayBackgroundImagePath'] = this.dayOnlineBgName();
+ this.writeWidgetSetting({ ...widgetSetting });
+ this.insertTextByElementId(bgWebView, item.name, '已设置');
+ bgWebView.evaluateJavaScript(
+ `
+ document.getElementById("previewBg").style.display = "";
+ document.getElementById("previewDayBg").style.display = "";
+ document.getElementById("dayBg").height = ${this.getWidgetSize('中号').height / 2};
+ document.getElementById("dayBg").src="${imgUrl}";
+ `,
+ false
+ );
+ });
+ } else if (bgTypeIndex == 2) {
+ let backgroundImage = await Photos.fromLibrary();
+ if (backgroundImage) {
+ this.useFileManager().writeImgCache(this.dayLocalBgName(), backgroundImage);
+ // 保存配置
+ widgetSetting['picType'] = 2;
+ widgetSetting['dayBackgroundImagePath'] = this.dayLocalBgName();
+ this.writeWidgetSetting({ ...widgetSetting });
+ this.insertTextByElementId(bgWebView, item.name, '已设置');
+ bgWebView.evaluateJavaScript(
+ `
+ document.getElementById("previewBg").style.display = "";
+ document.getElementById("previewDayBg").style.display = "";
+ document.getElementById("dayBg").height = ${this.getWidgetSize('中号').height / 2};
+ document.getElementById("dayBg").src="data:image/png;base64,${Data.fromPNG(backgroundImage).toBase64String()}";
+ `,
+ false
+ );
+ }
+ }
+ break;
+
+ case 'bgNightImg':
+ widgetSetting = this.readWidgetSetting();
+ if (bgTypeIndex == 0) {
+ const result = await this.transparentBg(false);
+ if (result) {
+ const backgroundImage = this.useFileManager().readImgCache(this.nightTransparentBgName());
+ if (backgroundImage) {
+ widgetSetting['picType'] = 0;
+ widgetSetting['nightBackgroundImagePath'] = this.nightTransparentBgName();
+ this.writeWidgetSetting({ ...widgetSetting });
+ this.insertTextByElementId(bgWebView, item.name, '已设置');
+ //
+ bgWebView.evaluateJavaScript(
+ `
+ document.getElementById("previewBg").style.display = "";
+ document.getElementById("previewDarkBg").style.display = "";
+ document.getElementById("darkBg").height = ${this.getWidgetSize('中号').height / 2};
+ document.getElementById("darkBg").src="data:image/png;base64,${Data.fromPNG(backgroundImage).toBase64String()}";
+ `,
+ false
+ );
+ }
+ }
+ } else if (bgTypeIndex == 1) {
+ await this.generateInputAlert({
+ title: '在线深色图片背景',
+ message: '填入图片链接设置为组件背景图\n系统自动裁剪中间部分图片使用',
+ options: [{ hint: '🔗 请输入图片链接', value: '' }]
+ }, async (inputArr) => {
+ const imgUrl = inputArr[0].value;
+ // 保存配置
+ widgetSetting['picType'] = 1;
+ widgetSetting['nightBackgroundImageUrl'] = imgUrl;
+ widgetSetting['nightBackgroundImagePath'] = this.nightOnlineBgName();
+ this.writeWidgetSetting({ ...widgetSetting });
+ this.insertTextByElementId(bgWebView, item.name, '已设置');
+ bgWebView.evaluateJavaScript(
+ `
+ document.getElementById("previewBg").style.display = "";
+ document.getElementById("previewDarkBg").style.display = "";
+ document.getElementById("darkBg").height = ${this.getWidgetSize('中号').height / 2};
+ document.getElementById("darkBg").src="${imgUrl}";
+ `,
+ false
+ );
+ });
+ } else if (bgTypeIndex == 2) {
+ let backgroundImage = await Photos.fromLibrary();
+ if (backgroundImage) {
+ this.useFileManager().writeImgCache(this.nightLocalBgName(), backgroundImage);
+ // 保存配置
+ widgetSetting['picType'] = 2;
+ widgetSetting['nightBackgroundImagePath'] = this.nightLocalBgName();
+ this.writeWidgetSetting({ ...widgetSetting });
+ this.insertTextByElementId(bgWebView, item.name, '已设置');
+ bgWebView.evaluateJavaScript(
+ `
+ document.getElementById("previewBg").style.display = "";
+ document.getElementById("previewDarkBg").style.display = "";
+ document.getElementById("darkBg").height = ${this.getWidgetSize('中号').height / 2};
+ document.getElementById("darkBg").src="data:image/png;base64,${Data.fromPNG(backgroundImage).toBase64String()}";
+ `,
+ false
+ );
+ }
+ }
+ break;
+ }
+ }
+ }, bgWebView);
+ }
+ this.dismissLoading(previewWebView);
+ } catch (error) {
+ console.error(error);
+ }
+ break
+
+ case 'refreshInterval':
+ await this.generateInputAlert({
+ title: '刷新间隔',
+ message: '设置小组件刷新的时间间距(单位:分钟)\n系统不一定会按照这个时间进行刷新\n该时间内网络请求数据读取缓存反显',
+ options: [
+ { hint: '⏰ 请输入时间数字', value: refreshInterval },
+ ]
+ }, async (inputArr) => {
+ refreshInterval = inputArr[0].value;
+ // 保存配置
+ widgetSetting = this.readWidgetSetting();
+ widgetSetting.refreshInterval = refreshInterval;
+ this.logDivider();
+ await this.generateAlert('刷新间隔', '已成功设置组件刷新时间间距', ['确定']);
+ });
+ // 写入配置缓存
+ this.writeWidgetSetting({ ...widgetSetting });
+ this.insertTextByElementId(previewWebView, 'refreshInterval', `${refreshInterval} min`);
+ break
+
+ case 'widgetUpdate':
+ await this.downloadUpdate(
+ this.scriptName,
+ `${this.getRemoteRootPath()}/${encodeURIComponent(this.scriptName)}.js`
+ );
+ this.dismissLoading(previewWebView);
+ break
+
+ case 'cleanData':
+ let res = await this.generateAlert('组件清理', '', ['重置组件', '清理缓存'], '取消');
+ if (res != -1) {
+ this.removeWidgetSetting(res != 0);
+ await this.generateAlert('组件清理', '清理成功\n请重新运行小组件', ['确定']);
+ this.rerunWidget();
+ }
+ break
+
+ case 'preview': {
+ widgetSetting = this.readWidgetSetting();
+ const widget = await this.render({ widgetSetting, family: data });
+ await this.widgetBaseSetting(widget, widgetSetting, bgType);
+ // 结束loading
+ this.dismissLoading(previewWebView);
+ // 预览
+ widget[`present${data.replace(data[0], data[0].toUpperCase())}`]();
+ break
+ }
+
+ case 'safari':
+ Safari.openInApp(data, false);
+ break
+
+ case 'changeSettings':
+ widgetSetting = this.readWidgetSetting();
+ if (data.location == false) {
+ await this.generateInputAlert({
+ title: '定位信息',
+ message: '关闭自动定位需要自己输入定位信息',
+ options: [
+ { hint: '请输入经度', value: '' },
+ { hint: '请输入维度', value: '' },
+ ]
+ }, async (inputArr) => {
+ widgetSetting.longitude = inputArr[0].value;
+ widgetSetting.latitude = inputArr[1].value;
+ });
+ }
+ this.keySave(this.scriptName, `${data.use_github}`);
+ this.writeWidgetSetting({ ...widgetSetting, ...data });
+ await onCheckedChange?.(data, widgetSetting);
+ break
+
+ case 'itemClick':
+ widgetSetting = this.readWidgetSetting();
+ const { name, showDesc = true, alert, childItems = [] } = data;
+ if (childItems.length > 0) {
+ await this.renderAppView({
+ isChildLevel: true,
+ showWidgetBg: false,
+ settingItems: childItems,
+ onCheckedChange,
+ onItemClick,
+ });
+ } else {
+ if (alert) {
+ const { title = '', message, options = [] } = alert;
+ await this.generateInputAlert({
+ title,
+ message,
+ options
+ }, (inputArr) => {
+ inputArr.forEach((input, index) => {
+ let value = input.value
+ if (value && value != 'null' && value.length > 0) {
+ let { key } = options[index];
+ widgetSetting[key] = value;
+ }
+ });
+ this.writeWidgetSetting({ ...widgetSetting });
+ if (options.length == 1 && showDesc) {
+ this.insertTextByElementId(previewWebView, name, inputArr[0].value);
+ }
+ });
+ }
+ ////////////////////////////////////////////////
+ const callbackRes = await onItemClick?.(data);
+ const { desc, reStart = false } = callbackRes || {};
+ if (reStart) {
+ rerunWidget();
+ return
+ }
+ if (desc?.value) {
+ this.insertTextByElementId(previewWebView, name, desc?.value);
+ }
+ }
+ this.dismissLoading(previewWebView);
+ break
+ }
+ injectListener();
+ };
+
+ injectListener().catch((e) => {
+ console.error(e);
+ if (!config.runsInApp) {
+ this.notify('主界面', `🚫 ${e}`);
+ }
+ });
+
+ previewWebView.present();
+ }
+
+ // @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
+ provideDefaultWidget = (family) => {
+ //====================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ //====================================
+ let stack = widget.addStack();
+ let tipsTextSpan = stack.addText(`暂不提供『${family}』组件`);
+ tipsTextSpan.textColor = Color.black();
+ let fontSize = 12;
+ if (family != 'small') {
+ fontSize = 22
+ }
+ tipsTextSpan.font = Font.semiboldSystemFont(fontSize);
+ tipsTextSpan.shadowColor = new Color('#333');
+ tipsTextSpan.shadowRadius = 2;
+ tipsTextSpan.shadowOffset = new Point(1, 1);
+ stack.centerAlignContent();
+ //====================================
+ return widget;
+ }
+
+ async providerWidget(widgetProvider = {}, family = config.widgetFamily) {
+ let widget;
+ const widgetSetting = this.readWidgetSetting();
+ const { small = true, medium = true, large = true } = widgetProvider;
+ switch (family) {
+ case 'small':
+ if (small) {
+ widget = await this.render({ widgetSetting, family });
+ } else {
+ widget = this.provideDefaultWidget(family);
+ }
+ break;
+
+ case 'medium':
+ if (medium) {
+ widget = await this.render({ widgetSetting, family });
+ } else {
+ widget = this.provideDefaultWidget(family);
+ }
+ break;
+
+ case 'large':
+ if (large) {
+ widget = await this.render({ widgetSetting, family });
+ } else {
+ widget = this.provideDefaultWidget(family);
+ }
+ break;
+
+ default:
+ widget = this.provideDefaultWidget(family);
+ break;
+ }
+ await this.widgetBaseSetting(widget, widgetSetting, widgetSetting.bgType);
+ Script.setWidget(widget);
+ Script.complete();
+ }
+
+ widgetBaseSetting = async (widget, widgetSetting, bgType) => {
+ try {
+ // 背景效果
+ const {
+ refreshInterval,
+ picType = 0,
+ blurBg, blurMode, blurRadius, shadow, shadowColor, shadowAlpha,
+ localBlurBg, localBlurMode, localBlurRadius, localShadow, localShadowColor, localShadowAlpha,
+ dayBackgroundImageUrl,
+ nightBackgroundImageUrl,
+ dayBackgroundImagePath,
+ nightBackgroundImagePath,
+ bgDayColor,
+ bgNightColor,
+ gradientAngle,
+ startColor,
+ endColor,
+ } = widgetSetting;
+ let bgImg;
+ let dayBackgroundImagePathTmp = '';
+ let nightBackgroundImagePathTmp = '';
+ switch (bgType) {
+ case '0':
+ case '1':
+ case '2':
+ if (picType == 1) {
+ if (dayBackgroundImageUrl) {
+ let dayBgImg = await this.getImageByUrl(dayBackgroundImageUrl);
+ if (blurBg) {
+ dayBgImg = await this.blurImage(dayBgImg, { w: dayBgImg.size.width, h: dayBgImg.size.height, x: 0, y: 0 }, blurMode, blurRadius);
+ }
+ if (shadow) {
+ let alpha = Number(shadowAlpha);
+ alpha = Math.min(1, alpha);
+ alpha = Math.max(0, alpha);
+ dayBgImg = await this.loadShadowColor2Image(dayBgImg, new Color(shadowColor, alpha));
+ }
+ this.useFileManager().writeImgCache(this.dayOnlineBgName(), dayBgImg);
+ }
+ if (nightBackgroundImageUrl) {
+ let nightBgImg = await this.getImageByUrl(nightBackgroundImageUrl);
+ if (blurBg) {
+ nightBgImg = await this.blurImage(nightBgImg, { w: nightBgImg.size.width, h: nightBgImg.size.height, x: 0, y: 0 }, blurMode, blurRadius);
+ }
+ if (shadow) {
+ let alpha = Number(shadowAlpha);
+ alpha = Math.min(1, alpha);
+ alpha = Math.max(0, alpha);
+ nightBgImg = await this.loadShadowColor2Image(nightBgImg, new Color(shadowColor, alpha));
+ }
+ this.useFileManager().writeImgCache(this.nightOnlineBgName(), nightBgImg);
+ }
+ } else if (picType == 2) {
+ if (dayBackgroundImagePath && !Device.isUsingDarkAppearance()) {
+ dayBackgroundImagePathTmp = this.dayLocalBgName();
+ let dayBgImg = this.useFileManager().readImgCache(dayBackgroundImagePath);
+ if (localBlurBg) {
+ dayBgImg = await this.blurImage(dayBgImg, { w: dayBgImg.size.width, h: dayBgImg.size.height, x: 0, y: 0 }, localBlurMode, localBlurRadius);
+ dayBackgroundImagePathTmp = dayBackgroundImagePathTmp + "_blur";
+ }
+ if (localShadow) {
+ let alpha = Number(localShadowAlpha);
+ alpha = Math.min(1, alpha);
+ alpha = Math.max(0, alpha);
+ dayBgImg = await this.loadShadowColor2Image(dayBgImg, new Color(localShadowColor, alpha));
+ dayBackgroundImagePathTmp = dayBackgroundImagePathTmp + "_shadow";
+ }
+ if (dayBgImg) {
+ this.useFileManager().writeImgCache(dayBackgroundImagePathTmp, dayBgImg);
+ }
+ }
+ if (nightBackgroundImagePath && Device.isUsingDarkAppearance()) {
+ nightBackgroundImagePathTmp = this.nightLocalBgName();
+ let nightBgImg = this.useFileManager().readImgCache(nightBackgroundImagePath);
+ if (localBlurBg) {
+ nightBgImg = await this.blurImage(nightBgImg, { w: nightBgImg.size.width, h: nightBgImg.size.height, x: 0, y: 0 }, localBlurMode, localBlurRadius);
+ nightBackgroundImagePathTmp = nightBackgroundImagePathTmp + "_blur";
+ }
+ if (localShadow) {
+ let alpha = Number(localShadowAlpha);
+ alpha = Math.min(1, alpha);
+ alpha = Math.max(0, alpha);
+ nightBgImg = await this.loadShadowColor2Image(nightBgImg, new Color(localShadowColor, alpha));
+ nightBackgroundImagePathTmp = nightBackgroundImagePathTmp + "_shadow";
+ }
+ if (nightBgImg) {
+ this.useFileManager().writeImgCache(nightBackgroundImagePathTmp, nightBgImg);
+ }
+ }
+ }
+ const dayBackgroundImage = this.useFileManager().readImgCache(dayBackgroundImagePathTmp || dayBackgroundImagePath);
+ const nightBackgroundImage = this.useFileManager().readImgCache(nightBackgroundImagePathTmp || nightBackgroundImagePath);
+ bgImg = Device.isUsingDarkAppearance() ? (nightBackgroundImage || dayBackgroundImage) : (dayBackgroundImage || nightBackgroundImage);
+ if (bgImg) {
+ widget.backgroundImage = bgImg;
+ }
+ break;
+
+ case '3':
+ let pureColors = this.splitColors(this.backgroundColor);
+ if (bgDayColor && bgNightColor) {
+ widget.backgroundColor = Color.dynamic(new Color(bgDayColor), new Color(bgNightColor));
+ } else {
+ widget.backgroundColor = Color.dynamic(new Color(pureColors[0]), new Color(pureColors[1]));
+ }
+ break;
+
+ case '4':
+ let gradientColors = this.splitColors(this.backgroundGradientColor);
+ if (startColor && endColor) {
+ gradientColors = [startColor, endColor];
+ }
+ widget.backgroundGradient = this.getLinearGradientColor(gradientColors, gradientAngle || this.backgroundGradientAngle);
+ break;
+ }
+ // 设置刷新间隔
+ widget.refreshAfterDate = new Date(Number(refreshInterval) * 60 * 1000);
+ let msg = `${this.bgType2Text(bgType)},刷新间隔:${refreshInterval}min`
+ // 日志
+ console.log(`🪢🪢🪢 ${msg} 🪢🪢🪢`);
+ this.logDivider();
+ } catch (error) {
+ console.error(error);
+ }
+ }
+
+ // @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
+ fetchEnv = async () => {
+ const dependencyURL = `${this.getRemoteRootPath()}/_LSP.js`;
+ const { fm, rootDir } = this.useFileManager({ useICloud: false });
+ // 下载
+ console.log('🤖 开始更新依赖~');
+ this.logDivider();
+ let updateResult = false;
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ updateResult = true;
+ fm.write(fm.joinPath(rootDir, '/_LSP.js'), moduleJs);
+ console.log('✅ LSP远程依赖环境更新成功!');
+ this.logDivider();
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ this.logDivider();
+ }
+ return updateResult;
+ }
+
+ downloadUpdate = async (fileName, downloadURL) => {
+ let result = await this.fetchEnv();
+ if (result) {
+ try {
+ result = await this.downloadFile2Scriptable({
+ moduleName: fileName,
+ url: downloadURL,
+ });
+ if (result) {
+ await this.generateAlert('✅ 组件更新', '已同步远程更新', ["重新运行"]);
+ this.rerunWidget();
+ } else {
+ console.error("❌ 组件更新失败,请重试~");
+ this.logDivider();
+ }
+ } catch (error) {
+ console.error("❌ 组件更新失败," + error);
+ await this.generateAlert('❌ 组件更新', '更新失败,请稍后重试', ["好的"]);
+ this.logDivider();
+ }
+ }
+ }
+
+ // @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
+ renderWidgetTableList = async (data) => {
+ // 背景色
+ const bgColor = Color.dynamic(
+ new Color('#F6F6F6'),
+ new Color('#000000')
+ );
+ const table = new UITable();
+ table.showSeparators = true;
+
+ // ===================================
+ const topRow = new UITableRow();
+ topRow.height = 80 * Device.screenScale();
+ const topCell = topRow.addImageAtURL(atob('aHR0cHM6Ly9zd2VpeGluZmlsZS5oaXNlbnNlLmNvbS9tZWRpYS9NMDAvNzEvQzgvQ2g0RnlXT0k2b0NBZjRQMUFFZ0trSzZxVVVrNTQyLmdpZg=='));
+ topCell.centerAligned();
+ table.addRow(topRow);
+ topRow.backgroundColor = bgColor;
+
+ // ===================================
+ const { scriptURL } = data;
+ const response = await this.httpGet(scriptURL, { jsonFormat: true });
+ const { author, icon, apps } = response;
+ const headerRow = new UITableRow();
+ headerRow.isHeader = true;
+ headerRow.height = 60;
+ headerRow.cellSpacing = 10;
+ // -----------------------------------
+ let avatarImg = headerRow.addImageAtURL(icon);
+ avatarImg.leftAligned();
+ avatarImg.widthWeight = 130;
+ const headText = headerRow.addText(`@${author}`, '先打开Scriptable通知权限再点击下载安装');
+ headText.titleFont = Font.semiboldSystemFont(15);
+ headText.titleColor = new Color('#666');
+ headText.widthWeight = 870;
+ headText.leftAligned();
+ // -----------------------------------
+ table.addRow(headerRow);
+ // -----------------------------------
+
+ // ===================================
+ const titleDividerRow = new UITableRow();
+ titleDividerRow.height = 10;
+ table.addRow(titleDividerRow);
+ titleDividerRow.backgroundColor = bgColor;
+
+ // ===================================
+ apps.forEach((item, index) => {
+ let { title, description, thumb } = item;
+ const itemRow = new UITableRow();
+ itemRow.height = 80;
+ itemRow.cellSpacing = 30;
+ // -----------------------------------
+ let itemText = itemRow.addText(`${index + 1}. ${title}`);
+ itemText.titleFont = Font.blackSystemFont(14);
+ itemText.titleColor = new Color('#444');
+ itemText.leftAligned();
+ itemText.widthWeight = 300;
+ // -----------------------------------
+ let itemDescText = itemRow.addText(`${description}`);
+ itemDescText.titleFont = Font.mediumSystemFont(13);
+ itemDescText.titleColor = new Color('#666');
+ itemDescText.leftAligned();
+ itemDescText.widthWeight = 470;
+ // -----------------------------------
+ let itemImg = itemRow.addImageAtURL(thumb);
+ itemImg.widthWeight = 230;
+ itemImg.rightAligned();
+ // -----------------------------------
+ itemRow.dismissOnSelect = false;
+ itemRow.onSelect = async () => {
+ await this.realNotify("下载提示", `开始下载小组件『${item.title}』`);
+ if (item.depend) {
+ try {
+ for (let index = 0; index < item.depend.length; index++) {
+ const relyItem = item.depend[index];
+ const _isWrite = await this.downloadFile2Scriptable({
+ moduleName: relyItem.name,
+ url: relyItem.scriptURL,
+ });
+ if (_isWrite) {
+ await this.realNotify("下载提示", `依赖插件:『${relyItem.name}』下载/更新成功`);
+ }
+ }
+ } catch (e) {
+ console.error(e);
+ }
+ }
+ const isWrite = await this.downloadFile2Scriptable({
+ moduleName: item.name,
+ url: item.scriptURL,
+ });
+ if (isWrite) {
+ await this.realNotify("下载提示", `小组件:『${item.title}』 下载/更新成功`, `scriptable:///run/${encodeURIComponent(item.name)}`);
+ }
+ };
+ // -----------------------------------
+ table.addRow(itemRow);
+ });
+ //
+ QuickLook.present(table, false);
+ }
+
+ presentSubscribeWidget = async () => {
+ const cacheKey = `${this.scriptName}_subscribe_list`;
+ // 默认订阅列表
+ const defaultSubscribeList = [{
+ author: 'LSP-杂货万事屋',
+ scriptURL: `${this.getRemoteRootPath()}/install/package.json`
+ }]
+ const subscribeList = JSON.parse(this.keyGet(cacheKey, JSON.stringify(defaultSubscribeList)));
+ // 弹窗
+ const mainAlert = new Alert();
+ mainAlert.title = "小组件订阅列表";
+ mainAlert.message = "可自行添加订阅地址";
+ const _actions = [];
+ subscribeList.forEach((data) => {
+ const { author } = data;
+ mainAlert.addAction(author);
+ _actions.push(async () => {
+ try {
+ await this.renderWidgetTableList(data);
+ } catch (error) {
+ console.error(error);
+ }
+ });
+ });
+ _actions.push(async () => {
+ await this.generateInputAlert({
+ title: '订阅地址',
+ options: [
+ { hint: '🔗 请输入订阅地址', value: `${this.getRemoteRootPath()}/install/package.json` },
+ ]
+ }, async (inputArr) => {
+ const scriptURL = inputArr[0].value;
+ try {
+ const response = await new Request(scriptURL).loadJSON();
+ const newList = [];
+ let notifyText = '';
+ let needPush = true;
+ for (let item of subscribeList) {
+ if (response.author === item.author) {
+ needPush = false;
+ notifyText = '订阅源更新成功';
+ newList.push({ author: response.author, scriptURL });
+ } else {
+ notifyText = '订阅源添加成功';
+ newList.push(item);
+ }
+ }
+ if (needPush) newList.push({ author: response.author, scriptURL });
+ this.keySave(cacheKey, JSON.stringify(newList));
+ notifyText ? await this.notify('小组件订阅', notifyText) : null;
+ await this.presentSubscribeWidget();
+ } catch (error) {
+ await this.notify('订阅出错', '订阅源格式不符合要求~')
+ console.error(error);
+ }
+ })
+ });
+ _actions.push(async () => {
+ this.keySave(cacheKey, JSON.stringify(defaultSubscribeList));
+ await this.notify('小组件订阅', '订阅源重置成功');
+ await this.presentSubscribeWidget();
+ });
+ mainAlert.addDestructiveAction("添加订阅");
+ mainAlert.addDestructiveAction("重置订阅源");
+ mainAlert.addCancelAction("取消操作");
+ const _actionsIndex = await mainAlert.presentSheet();
+ if (_actions[_actionsIndex]) {
+ await _actions[_actionsIndex]();
+ }
+ }
+}
+
+// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+// @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
+class CustomFont {
+ constructor(webview, config) {
+ this.webview = webview || new WebView()
+ this.fontFamily = config.fontFamily || 'customFont'
+ this.fontUrl = 'url(' + config.fontUrl + ')'
+ this.timeout = config.timeout || 20000
+ }
+
+ async load() { // 加载字体
+ return await this.webview.evaluateJavaScript(`
+ const customFont = new FontFace("${this.fontFamily}", "${this.fontUrl}");
+ const canvas = document.createElement("canvas");
+ const ctx = canvas.getContext("2d");
+ let baseHeight,extendHeight;
+ log('🚀 开始加载自定义字体.');
+ customFont.load().then((font) => {
+ document.fonts.add(font);
+ completion(true);
+ log('✅ 自定义字体加载成功.');
+ log('----------------------------------------')
+ });
+ setTimeout(()=>{
+ log('🚫 自定义字体加载超时');
+ log('----------------------------------------')
+ completion(false);
+ },${this.timeout});
+ null`, true)
+ }
+
+ async drawText(text, config) {
+ try {
+ // 配置
+ const fontSize = config.fontSize || 20
+ const textWidth = config.textWidth || 300
+ const align = config.align || 'left' // left、right、center
+ const lineLimit = config.lineLimit || 99
+ const rowSpacing = config.rowSpacing || 0
+ const textColor = config.textColor || 'white'
+ const textArray = await this.cutText(text, fontSize, textWidth)
+ const scale = config.scale || 1
+
+ let script = ''
+ for (let i in textArray) {
+ let content = textArray[i].str
+ let length = textArray[i].len
+
+ if (i >= lineLimit) break
+ if (i == lineLimit - 1 && i < textArray.length - 1)
+ content = content.replace(/(.{1})$/, '…')
+
+ let x = 0, y = Number(i) * fontSize
+ if (rowSpacing > 0 && i > 0) y = y + rowSpacing
+ if (i > 0) {
+ if (align === 'right') {
+ x = textWidth - length
+ } else if (align === 'center') {
+ x = (textWidth - length) / 2
+ }
+ }
+ script = script + `ctx.fillText("${content}", ${x}, ${y});`
+ }
+
+ const realWidth = textArray.length > 1 ? textWidth : textArray[0].len
+ const lineCount = lineLimit < textArray.length ? lineLimit : textArray.length
+ const returnValue = await this.webview.evaluateJavaScript(`
+ canvas.width=${realWidth}*${scale};
+ ctx.font = "${fontSize}px ${this.fontFamily}";
+ ctx.textBaseline= "hanging";
+ baseHeight= ${(fontSize + rowSpacing) * (lineCount - 1)};
+ extendHeight= ctx.measureText('qypgj').actualBoundingBoxDescent;
+ canvas.height= (baseHeight + extendHeight)*${scale};
+ ctx.scale(${scale}, ${scale});
+
+ ctx.font = "${fontSize}px ${this.fontFamily}";
+ ctx.fillStyle = "${textColor}";
+ ctx.textBaseline= "hanging";
+ ${script}
+ canvas.toDataURL()`, false)
+
+ const imageDataString = returnValue.slice(22)
+ const imageData = Data.fromBase64String(imageDataString)
+ return Image.fromData(imageData)
+ } catch (error) {
+ console.error(error);
+ }
+ }
+
+ async cutText(text, fontSize, textWidth) { // 处理文本
+ try {
+ return await this.webview.evaluateJavaScript(`
+ function cutText(textWidth, text){
+ ctx.font = "${fontSize}px ${this.fontFamily}";
+ ctx.textBaseline= "hanging";
+
+ let textArray=[];
+ let len=0,str='';
+ for(let i=0;i textWidth){
+ textArray.push({
+ str:str.substring(0,str.length-1),
+ len:len-width,});
+ str=char;len=width;
+ }
+ if(i==text.length-1 && str){
+ textArray.push({str:str,len:len,});
+ }
+ }
+ return textArray
+ }
+ cutText(${textWidth},"${text}")
+ `)
+ } catch (error) {
+ console.error(error);
+ }
+ }
+}
+
+//================================
+module.exports = {
+ BaseWidget,
+}
+//================================
\ No newline at end of file
diff --git a/file/girls_pic_20230512.json b/file/girls_pic_20230512.json
new file mode 100644
index 0000000..b108c24
--- /dev/null
+++ b/file/girls_pic_20230512.json
@@ -0,0 +1,5649 @@
+[
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115101620.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600325056.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022242449.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209480924.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110493561.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106052356101.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061516163968.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210200254.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009474825.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110481159.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909352840.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400462427.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106121239356.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070808563767.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107061295.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111003484.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070808564130.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022164018.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107414920.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703573911.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106220400223.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710314315.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061306164849.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061401033122.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717205159.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109121038286.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413185458.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110400045.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712160635.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110441032.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208000128.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210620001424100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061515231415.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611482861.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612092538.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402481889.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013550316.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212583949.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107472829.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013323841.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106494919.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210616010422100.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110433039.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710515861.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710471533.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206544384.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060900544946.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062203564847.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110302179.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116075355.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013373195.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205344358.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423580443.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312373090.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712251768.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110524690.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317002384.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106121245128.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110209485317.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600165745.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411132384.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612090759.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060418585446.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010223534.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610103058.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107071225152.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106160119206.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604510575.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106111156294.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205543193.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604305281.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060104195652.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061602561831.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061112005781.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504285351.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604192036.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022111206405170.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610202828.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305483974.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501374952.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209552993.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423533277.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404324746.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116245285.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603422744.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502340015.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412000834.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603382131.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416393367.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110509384064.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010532524.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060203075379.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802021523.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701503395.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717404392.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600461521.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702501840.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313095290.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107134972.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502340970.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302224133.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201153371.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202404319.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601515444.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209132828.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171151116.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209401557.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123045012.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060105280582.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116080732.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813164963.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703153881.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604464953.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111395249.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013293895.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712052914.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062018210572.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/2022081604380628.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608573161.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202005234.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223112824.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205391253.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501454311.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206513915.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404421793.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206252950.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206595244.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601223968.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009522052.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060611451162.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010073040.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110360515.webp",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600404432.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901270263.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610512576.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106051111057.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701440160.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215311095.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060040012.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060522540180.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402471964.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612335994.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603510190.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411212857.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417384369.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600395769.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710581068.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712115645.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400415571.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011041458.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606535019.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600383969.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202081813.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610103474.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061700510626.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201275590.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210613131432100.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600285075.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060103215745.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110334780.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718102146.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116513288.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802221141.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512514848.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403273948.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060419222339.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703195651.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110209485484.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802064874.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719074662.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712160445.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510454511.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205291627.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202184739.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060212242433.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140432457.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412142518.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013372653.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110513264.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110222548.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106005451.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610021144.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020850315.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060301544293.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013501630.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404571060.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212472848.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600413972.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206362819.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903141976.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062000141045.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110423155.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110345847.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710471799.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612184911.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703342330.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701314550.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719074479.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504332958.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600301167.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405092695.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060503291099.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212421574.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110334640.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510494083.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/2022081604380598.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070711112694.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211354008.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712321625.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207390650.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702143069.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802172378.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813024449.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060523005593.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403563878.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413185377.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103154631.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713201936.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062923255369.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207553587.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600422329.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/2022082410443833.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400341554.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710314863.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312312039.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111003444.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205444968.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813053671.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600372399.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403493213.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603465950.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070702573431.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701314960.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711081594.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603333671.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801455821.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604510250.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206473276.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061316384491.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111105319.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171912457.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110423050.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501454980.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601465628.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106060430538.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110353251.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712093154.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013450849.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201564378.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106051251459.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060419222582.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300595452.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070702573277.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202005381.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201043245.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710591410.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713240064.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600373222.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211400163.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106141232281.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060418102898.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062204080128.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402460846.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603253385.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110402411639.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523543832.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413310092.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013253913.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611280773.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071207030654.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719213153.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171736472.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205252627.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701503191.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070808520081.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710241445.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061409464676.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060203023655.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603510023.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210185971.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061306410369.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091209324948.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708432418.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611581896.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405044573.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061409521618.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610231830.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223074198.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116163160.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314065693.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416574476.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402424545.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313095051.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609350970.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701503420.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909352627.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404074470.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110473848.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011048496.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417244194.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600134017.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061402405385.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510555856.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503275157.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510555987.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210504484.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070702525456.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207553934.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801251280.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060212190389.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212451125.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201493017.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711584053.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062000142531.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610512838.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405123438.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106061226514.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610202732.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718412926.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060613502631.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502503012.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405072173.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060503290655.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502594632.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802242092.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503232519.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413144716.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719152769.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062114051398.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603381875.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208055719.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608451299.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091212533127.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511110726.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204432986.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717285269.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106141221175.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110510016.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209401261.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703272361.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710282858.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800175866.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207113182.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202105311624511.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061401004184.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416453019.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205475761.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111071258.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061318062024.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801251063.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711471535.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106071200332.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060100521619.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600285136.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115065347.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712102268.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109120512388.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110222543.webp",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405025412.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106092354236.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207161236.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514361426.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403432523.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009521325.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061608380962.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313341971.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115065956.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411504340.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062113540270.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205291684.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111360319.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413252063.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711512582.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603560547.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206061941.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103154895.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305341149.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604353910.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612092813.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708515685.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060611495923.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609351070.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060522535898.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207432252.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061602561990.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403590070.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107380122.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013501966.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800472749.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612282920.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140100436.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312193293.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209201949.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116195267.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600192786.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072014070620.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312341047.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405010151.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512430493.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110505960.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510363461.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802314058.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404412159.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020307517.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060017435.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404324181.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611192014.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223041581.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106212308325.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405035155.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712052675.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711511444.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809134356.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600404555.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300312356.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800231385.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061316384846.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423581985.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510275719.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603142325.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060812591244.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009435952.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502470675.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601403925.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611581613.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417564140.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502392274.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719013086.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413145399.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603073298.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020101352.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600430461.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123083278.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603301780.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314153278.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609530285.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/20220404024718100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103122258.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207523191.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106060446473.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106060641173.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111175183.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801572894.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800473054.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106050246555.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062113540137.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600251992.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412172233.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116163324.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206514270.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060613502342.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603211781.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210245854.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070803093547.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610162588.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106271227272.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718211831.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207293750.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201342694.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612340731.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702210527.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312233135.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111252617.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211233513.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711533945.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202135480.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208260278.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413364068.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061306405331.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901373693.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502543133.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711335747.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205252773.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210382987.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612143135.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523505988.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070808563194.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314031295.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603142216.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107080908509.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600295053.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111041798.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202082214.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/2022081604442790.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601514091.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061409522248.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202574891.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717453845.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062501423840.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106292329354.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211140974.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013550440.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107215354.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109120534423.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171740534.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106080052074.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060108231849.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210341069.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501454744.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202105311610448.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610231543.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110509383671.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609250869.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405205426.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061604001791.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206594843.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411212781.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903012072.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201315299.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110383885.webp",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206062099.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604420450.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712093071.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603555589.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609294355.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022162051.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/20220701105012100.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110403323.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612445127.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600343579.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416453580.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600380240.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106070525045.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703272768.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210504351.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201123730.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405061467.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801193873.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305524971.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403235125.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110501297.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712195950.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604105764.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205124422.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060910372264.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600184429.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215231820.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107473122.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312233595.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813162852.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106141113216.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210245797.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210617021738100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610162976.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403373541.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116133440.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300213694.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600334734.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405044631.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514010130.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111354350.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501524550.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110375638.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070704443340.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208215963.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/202212050326018.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603301862.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711200285.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405001076.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317104333.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107414822.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901191126.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603252751.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514003734.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062203564679.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062923255451.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512574923.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601430945.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062501393894.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610574193.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106271154132.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060105280350.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061006011358.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717285167.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511270854.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712154876.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402413746.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800563570.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604354298.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110414585.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413220888.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210200416.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209435060.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202041933.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212355890.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300373632.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115005689.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201231716.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802314152.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405181127.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512391432.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711401515.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511022680.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010741491.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717252863.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106180129424.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405074243.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215483558.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212584630.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412100872.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062923260057.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423575742.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110293262.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510560098.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201013339.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110383920.webp",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404403176.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106170236307.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060705251015.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106040072.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210625021827100.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110313912.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710243254.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416415761.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061700510446.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223013926.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300503849.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210283192.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711044047.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702173794.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061000045874.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504372197.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061700510552.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061210585150.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712124894.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111360244.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060104272036.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400463056.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010121813.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110364586.webp",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205200010.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202120197.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514361169.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523543677.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070808515412.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107120703045.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110444346.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061005553699.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211103082.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601075781.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600304794.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703342537.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110391852.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111534064.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123043979.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062114050092.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703272615.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106071151276.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423532646.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703023946.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901231969.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062501423825.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206364014.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510275989.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713314481.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061402434242.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300504179.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022284642.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411212783.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061515434952.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405243534.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171725237.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107061289.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502302674.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611193210.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210200353.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013450660.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405244042.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062501392663.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061515445489.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402403094.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209201560.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201411676.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212553648.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061210584816.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402481839.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417244815.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511111062.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703543873.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717410684.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208000014.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703153498.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611482962.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404202083.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402491314.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205200165.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061608404511.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110293257.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060203023816.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600133813.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106363644.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062502182272.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211106595.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111304543.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600430052.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711373298.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411011474.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717095836.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601192358.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600372468.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060301544393.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711583750.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802242394.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/08/2021080202552466.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207113332.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091212533111.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603423426.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312372920.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060212090722.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412142469.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711141070.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212503423.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511072864.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060013394.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601151178.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314023349.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405123057.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110400138.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110254947.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212472561.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710440069.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711541649.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503232440.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210062540.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719184548.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300312224.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062203284116.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204351914.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111070972.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106160122345.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111563277.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404201653.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909161020.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611581747.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106061016285.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403432447.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710555350.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060523562450.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800230719.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600160440.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107080050094.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061222503855.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060910331132.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020815246.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107504922.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205475797.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405082913.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712251654.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206513496.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611393632.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603560481.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204432712.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313094969.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202215392.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305340665.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206122493.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423533072.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411165964.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710472920.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523513122.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009440696.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110310375.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400340978.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405200921.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060301543598.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719123786.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412463414.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061222503955.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510493412.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223041495.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710282334.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801572383.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123125598.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060503240575.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603141271.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510453425.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202082395.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/20220506001527100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207161482.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110520714.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171721224.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312290578.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206253350.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202005162.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111450415.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111304895.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405082836.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112335543.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712102128.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712165339.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106040221.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060900545029.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072014000046.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212394066.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712221822.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110342536.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208152128.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116275955.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201301882.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060105325168.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713315247.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901191027.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212584440.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060705183995.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211103267.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060812590943.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410400095.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717453235.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610510766.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717364129.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400574643.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208414095.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211060451.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609294152.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809134195.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111203867.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412464164.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903062412.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110432975.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417384029.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212554217.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112075211.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110520881.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403321316.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110465469.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206444733.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123130749.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601040967.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512472310.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901191199.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060613590569.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208350679.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909352341.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060026378.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611280636.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403590372.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405035235.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712205113.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206415075.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107325959.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110403315.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708082326.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708115365.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610462571.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110310419.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813054279.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106161234124.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212311383.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120307301034.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514044198.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502433169.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909161232.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206544861.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013502122.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600395925.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120307271775.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504335770.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405082911.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205391229.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010073514.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711563013.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404365921.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123082733.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416353596.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060212091442.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205583683.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116163524.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116081039.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600204577.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060104195572.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603470594.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512471380.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711445590.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711104168.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610060856.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201090611.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106131656188.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416415540.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609430141.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116245463.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800350859.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116424988.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009475312.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703315787.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206545282.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711562758.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800521280.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109120606204.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110423161.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013451064.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314100616.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402491297.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901231534.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712205932.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600304818.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110375718.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809134517.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305431999.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712205650.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711335560.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604240263.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600375960.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523593846.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611031338.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206204099.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703231650.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010321569.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202404548.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703404528.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201043481.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206472845.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223013523.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106040122.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601003938.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501575028.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106141200076.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022421872.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402460847.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060523561994.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405061686.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813355958.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711401185.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511072270.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110481184.webp",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210283134.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061409521963.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060103215573.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612131913.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606565770.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702142910.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106131704401.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106242348032.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712012158.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903062959.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202251570.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412405518.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600263692.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604422425.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106021109327.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601465563.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712003645.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112075669.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207390723.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060707035280.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223113177.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405061345.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404403152.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510273391.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317045626.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711541854.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403564092.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416420267.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201372174.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901344160.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070711153548.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206545746.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106494856.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802242498.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611030853.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111534175.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210062636.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403563541.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702362799.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171058161.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206123021.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106121123068.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404543256.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313142597.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111304867.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210341056.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106161213099.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719184617.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600174430.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412031479.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060042229.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416392939.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511201839.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712020136.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600461684.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070702573060.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070802004172.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060611493913.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719184790.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404394781.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412323232.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106541862.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501173745.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611483014.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411170028.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600194169.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701315182.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/2022081604442666.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072014111558.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703062676.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601222614.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062923322140.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405021223.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109120729379.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600251823.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800174170.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603255035.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710524558.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909190053.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020314319.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608572945.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901270189.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061210585275.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405243745.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206422752.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405044534.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718102351.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210101671.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702210324.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110461169.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207432614.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718101945.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115005828.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405205598.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604145843.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070702525545.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411503667.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800180744.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511270772.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201531271.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106050117412.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111134873.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801193256.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/08/2021080204093518.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701244146.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202251765.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403181310.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061001581636.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502392032.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717365337.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603505938.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060104195447.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901131219.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111174735.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107184274.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010747338.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060900544686.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106250218254.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514044253.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514003954.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708432330.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702403017.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053114544460.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072014111262.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719245595.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070803093617.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802171986.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405200963.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701244055.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060503240970.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404025839.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201013594.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800231756.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404571086.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060418102310.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403373743.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112074983.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211140640.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403235449.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010032791.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211005625.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402451425.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711445126.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106081312019.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909190984.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801573020.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504285816.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404412129.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305432059.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107020214059.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209520980.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601151841.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608573036.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106021224234.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701354735.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423432261.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405181367.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603470676.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713364486.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600380168.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116195587.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302033058.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209102199.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412272729.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060812591495.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400341075.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701354899.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107080904166.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511201536.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110481292.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510414416.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601075547.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601115844.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413361513.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061006021315.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022163835.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020307526.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103191639.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412031234.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317100717.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600292994.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604191753.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606410366.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603073048.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107080050086.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601121233.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412172153.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201160911.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210612110057100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061516165588.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106120116072.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417244662.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703544138.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215310935.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062501423790.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600313350.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107183921.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206415661.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711432029.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060613583652.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410400495.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511201924.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110314054.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719125448.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205583692.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206423331.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717284524.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111112024.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061402434330.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062110593587.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712243869.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140240569.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111111723.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209583436.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711572542.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223113055.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901344441.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209480959.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107183580.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061516050651.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600192957.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600395685.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060108113273.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208113778.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091209324728.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502543867.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110255091.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708082287.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703194380.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416353184.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600334630.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502392322.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402442348.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112291423.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710393082.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202140754.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106141331025.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202105311627582.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702440148.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305425976.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603212440.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060418584958.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020748047.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061604001676.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411165834.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600292813.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600193898.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120307301093.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061402434522.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070704082294.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510361464.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110473959.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106112219131.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112205572.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171156263.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403404622.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103122116.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110391811.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403404750.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060523010365.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062018213523.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501575110.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207161717.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171901282.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800350530.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011022247.webp",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600165946.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013293172.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111203635.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106005384.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022284598.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702435535.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612224960.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302123483.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604240312.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210605015248100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116425396.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061213040521.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110433175.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711195319.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710555720.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606471173.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106021219041.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062204413297.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204591064.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501524973.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712124948.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060707035598.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106111145088.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412101054.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206482883.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204432224.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712245023.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215231979.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110473939.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403530421.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/08/2021080204093236.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/202212030727236.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405101642.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062204002166.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020755402.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060910372145.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106071157273.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600373047.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060044264.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107505098.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110444265.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060611452668.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120307272218.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600395413.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201160381.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417563924.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061000020370.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703403417.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503275623.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400414660.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403530924.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416361868.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060301575921.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107134987.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503205940.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713235240.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202182639.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909233631.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404412142.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201083037.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504371063.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111394998.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207221455.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061318024714.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600294665.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809041785.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712321388.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523543976.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060614032478.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702363316.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060522573642.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206423087.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205391317.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061222571228.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107020225112.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712245516.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312312660.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071207031066.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106271213119.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600442412.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062923293940.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802271372.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061700571635.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201275838.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703404330.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208055488.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901231891.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204351995.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600452582.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060522573975.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502470736.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813054613.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713314914.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404025545.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107505079.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109121034109.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501090980.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022111206403423.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711535775.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209435138.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107080146007.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802140758.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703504580.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404025917.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060100521774.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600471078.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719245812.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060418585654.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070704443139.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703232297.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312290745.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201124887.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403404341.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600160486.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801413542.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504333434.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417014064.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609531336.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022111206402648.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103120375.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210615160449100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703504295.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060523005983.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106090126571.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416574817.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210602085034100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060923541884.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400525023.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061222571072.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600442551.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103154153.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416575052.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207480124.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411251119.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201152754.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/20210912125330100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712102125.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060910371718.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201231340.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116133155.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060419222695.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060103130835.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070704083239.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317001731.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610462928.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708514560.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711195099.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710393112.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423480349.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503205856.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712124681.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712003790.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702210661.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710353432.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207480473.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060503291190.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314101089.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072014070251.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207432959.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717205569.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302223985.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062114001389.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708515797.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710480398.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717320415.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215310932.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106050304441.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313143075.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061700571815.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070802004053.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106070811555.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717091762.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111032712.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600272639.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903011926.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062203284610.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712200136.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110384090.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611393744.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210190012.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501575290.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612265727.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313062384.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600324565.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/08/2021080202552394.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504424178.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601151722.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712011661.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110806290263.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106061226559.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502502942.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212451322.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400462964.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106363992.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711535338.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209583369.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205344377.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060212241897.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405191328.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601120754.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402424567.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417073027.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600372191.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400574411.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010152361.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210143827.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060036347.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009475291.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400524541.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/2022081604380682.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106121114101.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712020085.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612185494.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600352033.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813023925.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060910330758.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110441079.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411102495.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901372763.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210614043700100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802141689.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202120558.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072014070874.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/20220701102933100.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061222503684.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201342859.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060611500636.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211214032.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411251318.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110453178.webp",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110402411653.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512515063.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013595394.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110325989.webp",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404543246.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802313713.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711104838.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402360335.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201412438.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070711111753.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710240815.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205124980.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801294685.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111483431.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140343253.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061604001854.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201314749.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512385691.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208113860.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061316555936.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600400093.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208260386.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305344247.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205252781.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612450971.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013294170.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604103739.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140359022.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116042731.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060104271883.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070702525494.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800400986.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106051404226.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612224395.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206483173.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603423584.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719244694.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713275586.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412000999.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010121768.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061001581449.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305481984.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062110593941.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410343397.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719074719.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060522573773.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710591274.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106071147144.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403373610.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712221521.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107380217.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717092292.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111104710.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404394639.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502502575.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405020346.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312144580.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110360549.webp",
+ "http://dounimei.us/wp-content/uploads/2021/08/2021080204092915.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710435859.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813162358.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410203313.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/20220816044428100.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609430132.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606342437.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600330816.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312192894.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062923322587.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417384220.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501373668.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703024394.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053114534524.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010073357.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207245476.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062018213466.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314065077.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404074510.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208503519.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710591485.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202184288.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013324142.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600452631.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612494098.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061112005837.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106061020274.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402413762.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110342456.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312373981.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800472350.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106151616445.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060100521519.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411102370.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404543293.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107071044079.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504422794.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103241538.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403493152.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410203723.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612224669.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112292557.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300312445.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013255934.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901373385.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070803093637.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600263544.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205475757.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717251550.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404552831.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061316560351.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110501111.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111360366.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512325786.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713363849.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205543228.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413221367.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010223187.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800351013.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606534587.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111353843.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201343069.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171114196.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106301003136.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212472978.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060611452016.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416454039.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405001088.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604354172.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712273083.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717321321.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110334618.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404201989.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413363766.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061515433766.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413251849.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402403171.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107215128.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115010046.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712192552.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404394731.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600194054.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061608405262.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313062697.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110284477.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110353260.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713275783.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205445058.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711510694.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800400841.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/202204040247196.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201493146.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201082622.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710353317.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211005823.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107215243.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712244020.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106071140141.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215231272.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712020666.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110395957.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603332547.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718413528.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060027259.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403274091.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062301424481.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909234197.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106161217577.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600383966.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612494874.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405110874.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610232017.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/202105311510198.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512391427.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403181512.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600430623.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140502105.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110509383659.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603024829.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061006012014.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106161244464.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601403032.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405020269.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070802004152.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609531261.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600470970.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060108231762.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712131110.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111111933.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060105280423.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202215654.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611392125.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210605030418100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062923322887.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211231091.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412211659.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411011340.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712272098.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404421645.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062204075250.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600313184.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612142227.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202574938.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502161548.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702173429.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210283227.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703544655.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060613590445.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713364256.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211233533.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600413876.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061000020243.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302224297.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606471768.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061318024863.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123130589.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600324821.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209480814.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710515997.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061700571965.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061306164368.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809010329.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201151056.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512580147.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600331098.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201280061.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502161044.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710580354.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400574549.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070711113150.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060705173655.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110806290433.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205291643.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110375738.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062204001925.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719153484.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103241410.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013424073.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205543130.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111105735.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712281293.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010152143.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116042975.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010733003.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106051102265.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110411640.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110513252.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712263865.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106271201201.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711512641.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207522843.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903012026.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110444385.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703342656.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501173898.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106160119149.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107120644428.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510414175.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423480258.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606410655.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802271499.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314064886.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404552717.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062114001552.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712092958.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103191983.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600422043.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612131363.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412322687.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/2022082410443835.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404570962.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140052482.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106111148411.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211230932.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223013856.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502102940.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317100255.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302122549.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302345618.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800564074.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204591232.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201531399.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712263549.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110493666.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020834552.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110402413782.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412100935.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061401032943.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604051951.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405025390.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060923545633.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603030144.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116425297.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061409464749.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600373684.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702403589.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206204119.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212393994.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502594750.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809084373.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802021244.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205200175.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171901237.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802220781.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106160100405.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713201590.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416393699.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501091056.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903141760.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210130918.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022421791.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070704443539.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110465329.webp",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210130882.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060108113015.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061122192150.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208055532.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062204412434.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300503973.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801345313.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718213543.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703024623.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405074419.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800521140.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201230862.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612283049.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110806290559.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011046089.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710282760.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106120112389.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412211711.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514160526.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210613121442100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207595711.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/20220701103022100.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209102368.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703574048.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201564593.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060301580427.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314023951.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600304872.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708082446.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313063360.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171104526.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106170124391.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708115499.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600204446.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603212663.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111135098.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/202204040509263.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061318024233.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060211093381.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201301622.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702403654.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062110592511.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061608404895.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405010066.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209131861.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600301310.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070711153581.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305482466.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013323591.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020212042.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604304150.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404552875.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061515232471.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061001581857.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060522541718.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400485129.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106271213096.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111563397.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711142390.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718413320.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107080908474.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020153092.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413221425.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111253017.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712115718.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072014111638.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511072620.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703195222.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110465527.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060603591739.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606534920.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612173864.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404370031.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110485425.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903141562.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212355676.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120307301032.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206471985.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609240774.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523594166.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201371991.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201204247.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711471746.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610103221.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209553312.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703504431.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711492619.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710515553.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400485493.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111354581.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703153697.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611283520.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215483624.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060910331032.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411011385.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600184332.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600343413.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712281116.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801413032.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106271205195.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111004317.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317045714.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800400785.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512430570.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503255887.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116104219.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412464026.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305530717.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201372020.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523593491.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405101687.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110325827.webp",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060025198.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604052255.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022242325.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312233477.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202215186.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510494252.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060613502521.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604240234.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211055970.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210062554.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405111043.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060104271910.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802172542.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060108113194.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601432688.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404562128.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106041707334.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601004132.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603071754.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404562039.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110284517.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110391788.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604105662.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210130831.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060203023712.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208414125.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110461182.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206414526.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600313499.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070704082918.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405000959.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109120654429.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062204075712.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708431939.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212554490.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600152674.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202575034.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801523273.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020752345.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106051232589.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610574214.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209583226.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410203447.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223041378.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061608375180.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600301219.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107135047.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061401032294.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060603591835.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402442449.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402360316.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600064838.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210615152212100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703315222.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412030794.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112205967.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011034562.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106170144006.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111203225.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702250220.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123045134.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405123588.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053114544816.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011031406.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106060924036.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711413314.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013424561.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802221071.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106070703577.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210382864.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300373956.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010649506.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601514373.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206482370.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208350733.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314101198.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718211331.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211220588.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209434696.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601075452.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601041687.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909161396.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609394612.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710555878.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208214885.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404562063.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901130711.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106180214125.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106170144012.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106541821.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600174570.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514364787.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410400137.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416515153.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060503044211.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009522241.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302123398.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/202204040458124.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060203142571.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712165489.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609395520.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061602562012.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600170053.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112135511.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600334870.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202041736.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719213986.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712280935.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600351911.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711104633.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403321554.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313341028.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717320831.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600470863.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060212181494.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612142951.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510413180.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405092594.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901344326.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/08/2021080202532731.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110342654.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609425645.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061213040644.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106080056434.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062114051069.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211060347.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302032939.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601402841.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212311153.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109120558377.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610060761.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061005555311.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210143792.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061306411139.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171108091.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013260817.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404581393.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209355888.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207390617.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062203284224.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703062519.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110440985.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300214121.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503275213.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110305677.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608513453.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022211482.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110485471.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802021713.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404581133.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801345025.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717452478.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210622044128100.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600343613.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713202311.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813115344.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403273741.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106041701452.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313342172.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302345265.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208414312.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412172282.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106111104194.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110321811.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312144427.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115101474.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107071115311.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600293036.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107020131364.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703232030.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111252388.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604193182.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106541759.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013595933.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206204318.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402442332.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010032199.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106060935067.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611193751.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201203618.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207221422.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412410090.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110321965.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110364585.webp",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600404253.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300595555.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110524633.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512430783.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711533661.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502340976.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110453112.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604505753.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116042869.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417072693.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060705174124.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603333320.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171915268.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423430218.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802271271.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711444779.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512575922.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106161057307.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801251311.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207245475.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510363219.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010532527.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501090867.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713275376.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404403157.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312193138.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502103071.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111483999.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802064426.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060614034528.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061409464025.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110360430.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604422338.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116195673.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111174253.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207113739.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110254920.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106051102181.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502543991.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710352970.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609394277.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711535512.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711492342.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503255880.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403235388.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106030234555.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702250179.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604052071.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504291125.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600184558.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909234124.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600461428.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060503241275.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411251134.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209350884.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110345723.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719213666.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809041363.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801455276.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106151604411.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110453015.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413305572.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107120644345.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207245457.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223074618.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208260070.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503232418.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600293833.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502593572.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703315834.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603023068.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106180129333.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403493253.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061005553317.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312341629.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713240942.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061222571178.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606565922.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111032614.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060418102758.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210101458.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110493637.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103240762.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502103026.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711413239.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712200038.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702503071.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600160583.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112135995.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106271158414.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210504434.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609293684.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207221468.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010313065.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116133579.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711372631.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116104348.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503210148.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314154099.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106131415308.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711431933.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604465140.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206594969.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061306165117.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413251624.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/202204040246083.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022284747.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209521116.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060212091669.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312312962.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512325585.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809010395.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600064950.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403321438.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020149326.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107201342399.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502302790.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022242328.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115065727.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302033195.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060301580336.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712154777.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061318061595.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106242343139.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504422478.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712244590.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606565447.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813122119.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604145630.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711534022.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600414058.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107330163.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909191055.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/20210708085200100.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402360241.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312341414.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201205121.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402424531.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106071216527.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211103361.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062301424374.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116280050.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106364169.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801193412.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403181482.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209132484.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712115365.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711045484.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/20210707123211100.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/202204040511099.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400485490.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110325917.webp",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206363531.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060603590182.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/202204040520552.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212310437.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201302046.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813362880.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022211525.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206545482.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013372356.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610292227.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210245716.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106292329387.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612175644.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091209324845.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514160215.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600351814.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417013836.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600152889.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608513567.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106141110256.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013545950.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402481863.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600330918.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106081302421.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212355893.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110505987.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106060143222.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405101561.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801345533.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502434043.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413185063.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110403453.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110353184.webp",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205444913.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010121329.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603302048.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210143691.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201564022.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405072080.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209520870.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011041156.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202041621.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504372712.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111533914.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207293739.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608512855.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711491929.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405074417.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511270638.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106061002171.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712173224.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112292266.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103190891.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404074316.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801522899.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107380147.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813355392.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010151753.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/202204040245144.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210606121858100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062203563916.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061608375415.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110414552.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711413256.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702503194.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711373068.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412142297.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710524690.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060614034645.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210185959.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106005550.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106131639152.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206121982.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712192925.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600363319.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300595292.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300373880.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210101754.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107060006437.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110321891.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801413299.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413145295.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710523934.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116513198.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712244774.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523505449.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608451172.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411132254.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412405747.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061000050572.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711335810.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712263755.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209101444.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110524575.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107061145.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405071995.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611031125.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903063211.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600384076.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061000014337.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610292496.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410344041.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106301022365.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710315229.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502161365.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208113918.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212422071.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300214078.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606342740.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501374856.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204351744.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402491316.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412272919.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809010078.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106170214288.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402403135.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405181458.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404421714.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140353103.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312290391.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400415632.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110364486.webp",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060027279.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206252892.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405191487.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110520863.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106121304039.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106161249504.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711572253.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111450948.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600363523.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208215811.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212422234.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600192817.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405035264.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061318061874.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610060695.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060705245853.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502302711.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711431742.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061112005879.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061402405523.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604145322.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211103236.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712160079.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107080050097.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801523164.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209201890.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110284566.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111395325.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106041651554.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061122192033.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901131123.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514162469.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223074550.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702440225.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110411540.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062501393923.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703573691.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111135153.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612282878.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317004520.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603382210.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606471589.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402451414.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201412511.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601465757.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060103130910.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060108231958.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405025277.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405020365.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711080488.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405020920.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/202211020948541.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209401789.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212503476.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600204328.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410344197.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405200979.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712154961.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208152340.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107202242143.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011030221.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062301424128.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110513387.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610462339.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405010142.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710480395.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106061002165.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510454974.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106130552516.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710480419.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600452684.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212503385.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802065261.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106021109272.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061401004269.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020240446.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111041871.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109121548355.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061000050326.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209553553.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402413636.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411504464.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512472193.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116512762.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710392735.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417563681.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703062014.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107202221131.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608451368.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201043396.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416515465.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610292666.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009440463.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701354617.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600285281.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412273135.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405191386.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702250328.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204590719.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210602093507100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107071222095.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502434132.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/01683b04af26da659024413946d38339.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/194f738011048aaa8c48dec4eebeecca.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/f060e0fdc2436c2f4a81869aeb831415.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/b602e74d435ae74afbf143116760976d.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/307e2831cdae19250c9dc1cbf7ca434f.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/aa2579f5c6e89b311f4827c7cff791d4.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/7fe98fa2d93ef5ea0d8878d5c4ac84f2.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/63ff67d847abf0c757dcbb74f559226d.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/71dac1e7cc97fe527272bd6bd5f1256d.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/126e52aa1f89ad1b24541e6db3185f25.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/2c090bd5cd8f074cdfab19eb621871b9.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/87b3e92fef7ecc574614c31350dd00c1.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/6856ae1d731665f42f9911fc323972d7.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/b3afe26ba8a95bf31863cb9ce01ea2e7.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/62b4ce373c7899d9f862bbe6215cc818.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/ca50fc02969a0b38eb6e3302f600ca32.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/efdbc8ee70f11e4df36bd6c12aa15a8c.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/ee421104b762f959df13f9ed0cd04831.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/05/8ff84fc8e5b5be9bc2e2ef878b9394e6.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/c4a88b1fcd2076ff7a91c3c2ceb59763.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/628e09c82693ff22c51dde32dfc16160.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/cfbfcd50f3487fe2bd330ca67504d765.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/369296f0f18f6bc48a880cb95cd32ffa.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/6146742af0f7c754cc3df5ff0296ecac.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/4810ec985c4edd22776ef8c084571138.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/470dbe945e61e2eb1a8ce947a91f6593.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/1e06b6f31768f83ee32c8435b1b435ee.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/033e92edbaa9d445c3e777d53edcbed9.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/d43b975397fd31d0b91fe82cae422a53.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/b4e03698644c9e7992088b6228f21ef2.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/cb723dc113109649794c63465e3db158.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/2ca26aff6fa1530a09690f34f5775ac6.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/d12de01f3b7f6a4078f1c8fbaf5479b4.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/131463d3cbd14a15c5b38290a38e6bfb.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/4108635b3c62d63c945a67c781f653e9.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/4f3c1e076ce62580fcd15a6e300d1c57.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/c1bc58a6513a7bb6cc834848ff98b6ac.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/34d98bd342f6c912c276e10900cb462b.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/e688cc746bf42276764f6f2042cbdebd.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/f79749e385fb8ecf7fe5b59738dffe01.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/b07896cd00fef3a9032cddda948a17a4.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/93d3ae2243cf66cbf7faad6710f7a296.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/eb1ecd144168ac81838afa26e8a457b5.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/59d5438bdb6674bb28caed988bab32cd.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/d1aeecf00bc424b99204567b5d4ba040.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/b51da0e3091820f6f6f3ba1073cc75a9.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/ef069d5bbb6473db1ba0b341ae93dc86.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/b066239ace6f6ec890e9f325de1348ac.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/59b131904fe3b8238bbe7ca6711c58ba.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/ec75c626fb6b03e5e3c8a3b6df78c5e4.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/4d257d6c9f2027af395f1e2566364863.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/739ea8edf3c411bf1be96a6decccecc2.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/4ebcf06cee9d7771b90aff9166f15d0a.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/d13e00127494efa439dcbe14139ed738.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/ba7d0d488c87c6d2f392db52c17207d4.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/b33c04b8434f69610204bedf9c413fd2.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/a16ad554cbd0efe86792e9d3851c74b8.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/6317e02f05dd0a5706cb5c79b7f92098.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/5a95fffbe85fab1981db35c1b79c1e28.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/8e697cc8cf8207b20327746efe749f62.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/c4f64dfecd6ad1d963adf2ec594c6ac3.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/5343bf5b8bf607beea0fe5dffe2dc86a.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/1be712ba921c901b9c39e9b37ac2a935.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/08103f768600114d3269ea866d8d3a45.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/04/9c8d44558b9bcf26e3013191e5994040.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/7a111f13da14ad1dd55620d7f191af13.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/75897ff956ae3f6cca91aee046516c8f.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/463154d6934ea052ec6eeb968979aa45.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/0e84d074c6f5b80e63ca760813224c9c.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/ce871d7bbb5d4e66963dabe807f9e1cc.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/41971a4f5c67d31500ca104367781b3d.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/4e8d70fa33e2f0cef22d48d995fe02c3.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/d59ef2b767a468289b463bfd9e01db64.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/bf2219d6cfc5ba780f1ed929589980f1.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/287686ae937c0c18ce31da76f8d97dd8.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/2d34e76ac61a1360772203e9210a4aa7.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/c8fe8665b4d57564e457e4a91f705023.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/411e0e44a5d1f2ca5816202bb9de419c.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/60ec40675885bb9237b3b1e2db7d0784.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/6c4c5b8483c2101bc955b3d417cb5dc5.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/d94932e806cff4b1ca7d48a821f9e562.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/9c601dc77273f846aad5c21677aaa1e8.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/09ec324b79152fd69c5058d50eaac038.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/7fcd32b42e8337bc892d4eaa82565fe0.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/5a5823e8e07f054a7201ffc0db7d78a1.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/6bdf4d599bc884ead0bb302a1c35e2a6.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/d5fbda9031f4ab1457f3ca732959edf9.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/a0f35e1860159988132d52f57c38077b.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/0afbfbaf656a909195c3d002d16e28b1.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/e1257e61dd9600bd4859f8cbcc9d46a8.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/842f2449a4008b4877833184c2545765.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/fecec124560b3cba7af76d5fc55b215d.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/390e50195b624f6b3cd60606920f3721.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/6a993956ebcd3aa33a753222137c8417.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/c8ec9eb4264b78676b1aeaaf397c1af9.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/57fce53cab45423d4d5490b65ca3a9fd.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/5439e4aed60aeb8f5e603c49da6cada9.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/f44e4608e5e1a701cae3b6251886c577.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/dab544ae40b3b923e7d306ac79bad573.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/7f03beb522646a63c7819b6b94bb08e1.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/0b0f21491b48f4434dc93256c1cd2c6d.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/2f225ec70da7b9e2865ae152d57a663c.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/eea3ba20b179216964fc4d043945c4ca.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/5f3e5109e4ce683243379a3a32b72c5c.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/947dc70e0e964064417a15c9085c639b.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/0e5e1ff76c6b66f1a1aaa3a955341f52.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/7d592af080d58faac483e7a7ea5fe864.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/84a423321b79082f4edbb1d4b7917556.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/d3ee5d4300bdcdc8fad5ea56308b549a.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/3c151280359a61a0dc073b350e494094.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/ce60b7f061f170182b3ea04de6f7662c.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/7b580a48945b25b379c6c49c66c7cbab.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/42b4ec01e1d5681ae682712b25d2e459.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/d75055e7347315cc8ed9f02c54e40ae5.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/b75615a2db96b7216c6a6d7e9b45063b.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/c7113840547041d992f35adec2d7cd7b.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/949b69bd4f34ba024660ef77e1d781b8.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/a79f05fa637575ea9a56a10507dc9689.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/8333b3a39b3fbd760b548f227e1e69e5.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/d0c7654fb869580c0044f60e986fc010.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/5ab4524de6b08bbcc08767ebd2122c42.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/a7ed4657886c86d6176bc4b5acded37d.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/37a32e6e3f330c027d3e82ce44094506.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/2be5d45bb9ae99de0febd034f9c4868a.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/35eb01c195732f85af71f19f6e2aec53.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/e03df0501e36854faab8f793b7a01912.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/b09a06a79fafb11620c23150dea49a3d.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/dec6da41a23ca5b78f9bd6706ddf6c2a.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/044005bd007e2f966cca65d54090f2a8.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/461965cbd9277bae4c4f89787f316d9e.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/a1d2ae3aaceea0302cf6792ee11a7a96.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/e60ffc886f83736540780456a71ec224.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/20ec18f83bbe1d925f1a3d409a0f099c.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/732b6d91527842cd7245ef7001e9d076.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/a09b5992974efc85c74f48c816c2a6ff.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/08f30b7c7603981741b94c82d80f6ad3.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/dbba8102e3f28637e1957e599d8e6d2f.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/4858593aa95b4cd59aa87af1040d6756.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/d84f0b745d903597eb20cb843d05cb2a.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/09817cb3259ee4b034ef8d1b59d43cc0.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/a265c7c510d341b5cecc405e17f3c4ed.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/ebc48b47bdd51163d98424a36c16ac22.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/a9e89c5cebb74fdf4de738a41f363b04.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/be71ada96cfca5548fc05f65fa056f49.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/be11ff44b719a58253c39be7971583a4.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/823724ffaef5d0387d5774873927870b.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/03/8a5dab8385f1d92aefb43f5415008984.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/613c275b382a61e3e9dec8366ddd08b1.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/3b510d0d37aefa71c011d205420557e2.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/5ffd49ce590225484930496a742a5e8f.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/9f5f7eae3fd29dbb7d7856f52509f62f.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/547664ab0fd779daeb253f9fdddb76b7.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/7c4602357c39c2033713c8d0cb2d5fc3.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/7fd7244656ceb48794d347f66cb4b68d.jpg",
+ "https://o1.fengqingyang.ml/pg/2023/02/c3588d2dc0b3473a26b3ee470f8a0b0f.jpg",
+ "https://t1.ledchuzu.com/2023/02/22/03e68cce23fce34494ff7d0e102c2dfe.jpg",
+ "https://t1.ledchuzu.com/2023/02/22/fa394f94b7ec9702e361dbc14d37b656.jpg",
+ "https://t1.ledchuzu.com/2023/02/22/9bce0ddf3f498d268782221d630fc3ef.jpg",
+ "https://t1.ledchuzu.com/2023/02/22/ee3f084557c7d8edc51731e0cedf2928.jpg",
+ "https://t1.ledchuzu.com/2023/02/22/a3c44c1b002d7a6f55d26024caec1617.jpg",
+ "https://o1.fengqingyang.ml/old/0ba4fa15dce0f865c079453281b80d9e.jpg",
+ "https://o1.fengqingyang.ml/old/05db3ae72914e09b745e41aeca7fb664.jpg",
+ "https://o1.fengqingyang.ml/old/5ccd572d51f73d32fd95d270b2f1c73b.jpg",
+ "https://o1.fengqingyang.ml/old/53b50f8e810426a27945502597b01111.jpg",
+ "https://o1.fengqingyang.ml/old/6b7225bc0b9d3ba2315168e5d91360d8.jpg",
+ "https://o1.fengqingyang.ml/old/80ddc6aa36a7199d5124c2abccad8ea6.jpg",
+ "https://o1.fengqingyang.ml/old/8c601bbb3f4e7c5d98ecf8bd26780648.jpg",
+ "https://o1.fengqingyang.ml/old/3842a02decc1b004242ddc5edc929d06.jpg",
+ "https://o1.fengqingyang.ml/old/5c00c454594f214a38abbcd8b81d4d0a.jpg",
+ "https://o1.fengqingyang.ml/old/bf901e2c4547e3e47fa0dd860a0ab1ec.jpg",
+ "https://o1.fengqingyang.ml/old/0252eb496c8fc73e29ce8eb93597f682.jpg",
+ "https://o1.fengqingyang.ml/old/f35f0e54bfcc316b4fb1a298a11a7fc7.jpg",
+ "https://o1.fengqingyang.ml/old/9073e9eae7619a5484a98c08d223411c.jpg",
+ "https://o1.fengqingyang.ml/old/340c546249c5c1535c67beb245b35b4d.jpg",
+ "https://o1.fengqingyang.ml/old/40b35dd42e679fb7f8b10e5de928037d.jpg",
+ "https://o1.fengqingyang.ml/old/00de20bf87590472f853b98129aec3dd.jpg",
+ "https://o1.fengqingyang.ml/old/3ef245ac81e1d530c0d1daa4ffb8ed06.jpg",
+ "https://o1.fengqingyang.ml/old/cc72c8a8e2217e990a6c7e67cfe523f2.jpg",
+ "https://o1.fengqingyang.ml/old/a26c1fbdf42e69c5f1c4c72a245dd6ea.jpg",
+ "https://o1.fengqingyang.ml/old/d2f24635dcfcd2eb788ad88dc082e3c2.jpg",
+ "https://o1.fengqingyang.ml/old/6feb9deccf586e938d6a0c5624e71a46.jpg",
+ "https://o1.fengqingyang.ml/old/bb6cae4a0b65fc604da0855568ce415a.jpg",
+ "https://o1.fengqingyang.ml/old/e71f7c2798635a0b8f2866f3534d96ec.jpg",
+ "https://o1.fengqingyang.ml/old/632a59eb23d437b1689da7a989350d1a.jpg",
+ "https://o1.fengqingyang.ml/old/c9b1993f20e8baebb3c1fd825b104803.jpg",
+ "https://o1.fengqingyang.ml/old/7e2d56ad6c6080779ea515be5c200a89.jpg",
+ "https://o1.fengqingyang.ml/old/07e3bcf4a72b1e7c0ffe64c45fb9a679.jpg",
+ "https://o1.fengqingyang.ml/old/6f1b4063942287ac1aa96f10cf83c960.jpg",
+ "https://o1.fengqingyang.ml/old/bc884d8cfd04395c71f5b67bb3b335de.jpg",
+ "https://o1.fengqingyang.ml/old/c2fe3e50129d691cceb35f915b9bf196.jpg",
+ "https://o1.fengqingyang.ml/old/2c2214adffd44b648242711381736744.jpg",
+ "https://o1.fengqingyang.ml/old/6661f24c137efbeb7e9cdc0eb98b0f9a.jpg",
+ "https://o1.fengqingyang.ml/old/1d7985c383970a0053de44cdf1f312c3.jpg",
+ "https://o1.fengqingyang.ml/old/4990bfb8e28d2306ce5d59810bf1a5c7.jpg",
+ "https://o1.fengqingyang.ml/old/62a7995f046fdf0b6093cc2f432cd486.jpg",
+ "https://o1.fengqingyang.ml/old/51d0da6b9e38ec1dc0a2622949724706.jpg",
+ "https://o1.fengqingyang.ml/old/1cb50f71f7c5e57c4183364e29484f82.jpg",
+ "https://o1.fengqingyang.ml/old/72aa33cb62f816b945b214261b4214a2.jpg",
+ "https://o1.fengqingyang.ml/old/35a578f0a9e84c34c469d00031c8e3e8.jpg",
+ "https://o1.fengqingyang.ml/old/d8cc3278272746f5b594628aebb38225.jpg",
+ "https://o1.fengqingyang.ml/old/ed423998f1b3d872292392e4ed4c9456.jpg",
+ "https://o1.fengqingyang.ml/old/9baa6ba1240e8d01351a12e70ad958c6.jpg",
+ "https://o1.fengqingyang.ml/old/eea0333b1f4dc589c73df69fc392f49b.jpg",
+ "https://o1.fengqingyang.ml/old/7d1696b2eebd9276592141086f8c2b54.jpg",
+ "https://o1.fengqingyang.ml/old/efcdc616c035a2796d544ed4a661ca58.jpg",
+ "https://o1.fengqingyang.ml/old/e7084b8c2edd91b160ba7a48dd6701c3.jpg",
+ "https://o1.fengqingyang.ml/old/04c4ac4cb2028b87dd7897d4c73e27bb.jpg",
+ "https://o1.fengqingyang.ml/old/b76a283e76dfb2ba1bc2053c77eba821.jpg",
+ "https://o1.fengqingyang.ml/old/62c5366663a59922b2332859556b7e22.jpg",
+ "https://o1.fengqingyang.ml/old/bad54c0d0846db00c1bebb95af8a0af0.jpg",
+ "https://o1.fengqingyang.ml/old/2550ff64bfdc1bbb9ea361f5cac7ff9d.jpg",
+ "https://o1.fengqingyang.ml/old/111c87104a48e4ee6e132f4e103c22b7.jpg",
+ "https://o1.fengqingyang.ml/old/4b5c0871967325314c542daaaa754d7f.jpg",
+ "https://o1.fengqingyang.ml/old/8d6f66047bb53ca1cd62c2cf8eb41a83.jpg",
+ "https://o1.fengqingyang.ml/old/c660d3c91b80858317ba95c4d87eb224.jpg",
+ "https://o1.fengqingyang.ml/old/24b2f06bff503c0bb9983edf284f46d8.jpg",
+ "https://o1.fengqingyang.ml/old/1a893a0edc3b5b802aa35b3051a9aa28.jpg",
+ "https://o1.fengqingyang.ml/old/4fd38c32c3121eaa581ed687c974711e.jpg",
+ "https://o1.fengqingyang.ml/old/07467218a465771ecc9f9d8f54fa2985.jpg",
+ "https://o1.fengqingyang.ml/old/6fd9e1e5591e836825a72c9539ec57b7.jpg",
+ "https://o1.fengqingyang.ml/old/71b6b6e31333ab4c09e9e08512364095.jpg",
+ "https://o1.fengqingyang.ml/old/d6484fb079f35895ec1c098192f8dd0b.jpg",
+ "https://o1.fengqingyang.ml/old/c0c063afde43a929956fa9014551dc40.jpg",
+ "https://o1.fengqingyang.ml/old/38d1ff788c703c450eaf9bf800dbe5f0.jpg",
+ "https://o1.fengqingyang.ml/old/3e96faed093fe348c42acbe0ad4f4a45.jpg",
+ "https://o1.fengqingyang.ml/old/658e9647479f890539e4c9e907edff46.jpg",
+ "https://o1.fengqingyang.ml/old/da9ebc7c5d1f34f3e3dda09a3bdb42b2.jpg",
+ "https://o1.fengqingyang.ml/old/749c957ec993498ea6a9fb4c70b4d839.jpg",
+ "https://o1.fengqingyang.ml/old/08bebff53496491ccd54fa358ab7c49f.jpg",
+ "https://o1.fengqingyang.ml/old/00f07ddf95d4dc85061cacabaa8ffd5f.jpg",
+ "https://o1.fengqingyang.ml/old/8a31fbad5c9d78ec797895c32cbcf4e9.jpg",
+ "https://o1.fengqingyang.ml/old/e6f2ff50ad9f86dddde5afba20a6336b.jpg",
+ "https://o1.fengqingyang.ml/old/c139167233e74503c096bdde4b4f9d4b.jpg",
+ "https://o1.fengqingyang.ml/old/a0288c6aace7c7a9a406cdc98b5278e8.jpg",
+ "https://o1.fengqingyang.ml/old/2fcf53dfafc6985815fcc7d415a14acb.jpg",
+ "https://o1.fengqingyang.ml/old/19a0621c34e3cf268498e93edb257d6d.jpg",
+ "https://o1.fengqingyang.ml/old/ba038c12386183207ad75bcc986eb8e5.jpg",
+ "https://o1.fengqingyang.ml/old/320e09bd6392902e9026200b3e37a9f9.jpg",
+ "https://o1.fengqingyang.ml/old/c2743b4c5ab99f50b806aff8d343a18a.jpg",
+ "https://o1.fengqingyang.ml/old/87b65efbb27811ff760420a2fd120b81.jpg",
+ "https://o1.fengqingyang.ml/old/477098bb2f8730c7836b8b05c284af87.jpg",
+ "https://o1.fengqingyang.ml/old/b69dc23eb2c01e3ae0bb23323470cb84.jpg",
+ "https://o1.fengqingyang.ml/old/f7f9ca8f1891117d5208084bd2e763b1.jpg",
+ "https://o1.fengqingyang.ml/old/933bd8e8410a8dfd2c05128645dabb32.jpg",
+ "https://o1.fengqingyang.ml/old/1b08283d61c4f62cfad03dffe465d412.jpg",
+ "https://o1.fengqingyang.ml/old/1092a6967eb6e4b36b8837d23f9cdac3.jpg",
+ "https://o1.fengqingyang.ml/old/546b8623fd2e3e6aa49b4402611bfcd1.jpg",
+ "https://o1.fengqingyang.ml/old/bf4abcefd59cfe5595aecb62e5c8d131.jpg",
+ "https://o1.fengqingyang.ml/old/7294d31acc617efc585bbb29f6e54a1a.jpg",
+ "https://o1.fengqingyang.ml/old/39a823de33f73321c7f5c3b24c56993a.jpg",
+ "https://o1.fengqingyang.ml/old/b439220cb6bc706ed05b9ce9ba9b6144.jpg",
+ "https://o1.fengqingyang.ml/old/01c402bd93376114848c9608edb41b34.jpg",
+ "https://o1.fengqingyang.ml/old/df717dd92d10e9495c9f595330c2623e.jpg",
+ "https://o1.fengqingyang.ml/old/b3f13bd061f5c1450f04703e04a2544e.jpg",
+ "https://o1.fengqingyang.ml/old/b250f291547e780861abf0f8d4d0c562.jpg",
+ "https://o1.fengqingyang.ml/old/8b45062010bc735107b9e46694724ef7.jpg",
+ "https://o1.fengqingyang.ml/old/21cc1cfd493e22c6921b7f4ab4efed6a.jpg",
+ "https://o1.fengqingyang.ml/old/619c5ad4b03af77802a643340015095c.jpg",
+ "https://o1.fengqingyang.ml/old/5541cea439732d506572310e789d3a53.jpg",
+ "https://o1.fengqingyang.ml/old/bb2bdaaa237d1d6eab8cc1b9705b6f72.jpg",
+ "https://o1.fengqingyang.ml/old/2b3965ec5973574b114899715b6f003d.jpg",
+ "https://o1.fengqingyang.ml/old/25231eafff024a94e2c29e774141db0d.jpg",
+ "https://o1.fengqingyang.ml/old/78eb6ddeefed6636109dbe50978e4176.jpg",
+ "https://o1.fengqingyang.ml/old/d4efdfffa059888de964a7b57b763fd1.jpg",
+ "https://o1.fengqingyang.ml/old/e127fd5d6b15a171edfc768921816a8b.jpg",
+ "https://o1.fengqingyang.ml/old/971a965538b8c5cce2c5158889994b82.jpg",
+ "https://o1.fengqingyang.ml/old/c54833e2dc3cd78aee8851771b54ad80.jpg",
+ "https://o1.fengqingyang.ml/old/6ff655b18cacc70190623c22745676e1.jpg",
+ "https://o1.fengqingyang.ml/old/0dcbc60c80e7153e48bc996e99393fc2.jpg",
+ "https://o1.fengqingyang.ml/old/05f875f139265aaeff62d9a63e1768f2.jpg",
+ "https://o1.fengqingyang.ml/old/1283ac0ddf8e8ff99e88e19dd1c4c8c4.jpg",
+ "https://o1.fengqingyang.ml/old/b609ada964273912c591772f0abab86c.jpg",
+ "https://o1.fengqingyang.ml/old/32057b93590d4fefe45064b81c85b9d0.jpg",
+ "https://o1.fengqingyang.ml/old/5f50258340f85100ecfcbe023d2ed00c.jpg",
+ "https://o1.fengqingyang.ml/old/eeeaa839a6ab312969317e7e1229c12a.jpg",
+ "https://o1.fengqingyang.ml/old/ebeb8c752c1f0bb9e7a15c5214a99c72.jpg",
+ "https://o1.fengqingyang.ml/old/d38a3f332211209cd9895e969774b347.jpg",
+ "https://o1.fengqingyang.ml/old/83df129bb0eea00a2959043191bf862e.jpg",
+ "https://o1.fengqingyang.ml/old/13808e5962f5cd7d732cb774d227f939.jpg",
+ "https://o1.fengqingyang.ml/old/c8542d79422edf4c6b9f3d7e09be06c5.jpg",
+ "https://o1.fengqingyang.ml/old/1e3b8a16392dd10b6e1200a210e1f674.jpg",
+ "https://o1.fengqingyang.ml/old/731429a0c3f1033e84e798e80cfcde3a.jpg",
+ "https://o1.fengqingyang.ml/old/35d78c802c6891d1ff8ff9a356aeb48d.jpg",
+ "https://o1.fengqingyang.ml/old/886b2413557d7ff066d8c7a0bb624923.jpg",
+ "https://o1.fengqingyang.ml/old/8135c529cb3c70f7367198a3b0507505.jpg",
+ "https://o1.fengqingyang.ml/old/9f57a4f3428a7ae8a17ac4e62e2a0bc8.jpg",
+ "https://o1.fengqingyang.ml/old/64d1056049f98f8c98eddb76bb7fbf0e.jpg",
+ "https://o1.fengqingyang.ml/old/eb7c037899833916181b485a29fb5889.jpg",
+ "https://o1.fengqingyang.ml/old/4c9659ef76407c8af7c530829008b836.jpg",
+ "https://o1.fengqingyang.ml/old/be3a80504da29bef2c38832fbec0263a.jpg",
+ "https://o1.fengqingyang.ml/old/bef97361de41fd0637be23c4fe45c886.jpg",
+ "https://o1.fengqingyang.ml/old/70b3e64a38d83a306df72001ed0f08f1.jpg",
+ "https://o1.fengqingyang.ml/old/08f73354e22028cf6801bdc99b379bed.jpg",
+ "https://o1.fengqingyang.ml/old/ffee16bc922758c61dd7ccd2bab4dd67.jpg",
+ "https://o1.fengqingyang.ml/old/0f1a33c7af411bc376fe48564b6cd754.jpg",
+ "https://o1.fengqingyang.ml/old/41fa7ed0dcea3ba32c86afffcff8c8ed.jpg",
+ "https://o1.fengqingyang.ml/old/a954e45606ff339c7cb55eec190ec7b6.jpg",
+ "https://o1.fengqingyang.ml/old/f19167b22a0e3c6ee62d94e98ab72e9d.jpg",
+ "https://o1.fengqingyang.ml/old/f4de0874ca8c5efacdfcb026237ab328.jpg",
+ "https://o1.fengqingyang.ml/old/253c85599a86ffd9fcf3fa387a561751.jpg",
+ "https://o1.fengqingyang.ml/old/0919de7bab7d6c754638e47096e05e66.jpg",
+ "https://o1.fengqingyang.ml/old/8ba7737cde566db0a69675b8044bcedb.jpg",
+ "https://o1.fengqingyang.ml/old/018bb1cc124d3bc30f5870641da7eabb.jpg",
+ "https://o1.fengqingyang.ml/old/8082788ee0eba9c7a0d1117f6345513b.jpg",
+ "https://o1.fengqingyang.ml/old/50ac1d53ceed4db0f6b40a47b1662950.jpg",
+ "https://o1.fengqingyang.ml/old/bc4799863a21488ee9007d853d07b59f.jpg",
+ "https://o1.fengqingyang.ml/old/4d766e5cfda02e9f89e0fab87e1f399d.jpg",
+ "https://o1.fengqingyang.ml/old/3d0b713bedfe7b024fb56d337e9f8c13.jpg",
+ "https://o1.fengqingyang.ml/old/7c174b0bd677ec84bd4da1660b8943dd.jpg",
+ "https://o1.fengqingyang.ml/old/cce58980cf68eb5c39b4c3d0ce1ca09d.jpg",
+ "https://o1.fengqingyang.ml/old/6c278ece0be9bd1c6937ff76d7882e13.jpg",
+ "https://o1.fengqingyang.ml/old/358fccc08ceb05d8f2251b18a0dc39a1.jpg",
+ "https://o1.fengqingyang.ml/old/d5f8dcfae6c2d2a9fd111ca930f35252.jpg",
+ "https://o1.fengqingyang.ml/old/a22adcba17cb8f0e8f2a878b92e1e118.jpg",
+ "https://o1.fengqingyang.ml/old/6bf93e43ce21ac1ac61c06b782504531.jpg",
+ "https://o1.fengqingyang.ml/old/0b1d556852e183d01c84b4d02472e90a.jpg",
+ "https://o1.fengqingyang.ml/old/0ca8d2aff97b9373d44bbf73ad695954.jpg",
+ "https://o1.fengqingyang.ml/old/a4b119cf948308993c27412ab4453254.jpg",
+ "https://o1.fengqingyang.ml/old/5f6453becbe5234a840102c3f6e1a3cd.jpg",
+ "https://o1.fengqingyang.ml/old/453f58da9740b10cab2f578a3fe0391c.jpg",
+ "https://o1.fengqingyang.ml/old/ec6675e032ce9885d26bda248ad5136d.jpg",
+ "https://o1.fengqingyang.ml/old/b554e43e7f5f92a5cfef085b4220aba1.jpg",
+ "https://o1.fengqingyang.ml/old/f7c613ce3c2d20709ffbcd474b727e26.jpg",
+ "https://o1.fengqingyang.ml/old/a63b70f09844439974bb4aa2b29da69e.jpg",
+ "https://o1.fengqingyang.ml/old/df4f2d4d92cc6f6a9b97bd9e1429c918.jpg",
+ "https://o1.fengqingyang.ml/old/a9c25316f7e9e677f51c0473a6fd8f7c.jpg",
+ "https://o1.fengqingyang.ml/old/395993962a483ec7b6fe69458b0bf4a2.jpg",
+ "https://o1.fengqingyang.ml/old/dfc8c2f0a03d485a6f5d28f90c7ebe46.jpg",
+ "https://o1.fengqingyang.ml/old/cc4195071fc9f262e0eb8ecca8896633.jpg",
+ "https://o1.fengqingyang.ml/old/504a5d366454345057b15c44a8cff8c7.jpg",
+ "https://o1.fengqingyang.ml/old/d3564628160f4a333a394cfcbc6381f9.jpg",
+ "https://o1.fengqingyang.ml/old/9c7a1b033de590bc11fc6747e7985a56.jpg",
+ "https://o1.fengqingyang.ml/old/b877bafddfa6f9d7c0e93427a09d3350.jpg",
+ "https://o1.fengqingyang.ml/old/e01d09ffdd3287ca78444466f657dfe1.jpg",
+ "https://o1.fengqingyang.ml/old/3c3a73456e9d3dc7d99c494fe4291813.jpg",
+ "https://o1.fengqingyang.ml/old/9ffec4538b0be53b1aeb3aa24d0632fd.jpg",
+ "https://o1.fengqingyang.ml/old/9acfde56a9c282ccd269366c415cd419.jpg",
+ "https://o1.fengqingyang.ml/old/f5873cb894050117dee9a0881ea1a38a.jpg",
+ "https://o1.fengqingyang.ml/old/af2773f76cda1f089051c8ff22ab41ae.jpg",
+ "https://o1.fengqingyang.ml/old/a56565cfdbc7926003cd5863ab5cfd9f.jpg",
+ "https://o1.fengqingyang.ml/old/ae6e55a96c8386fe3ded1eef18e37900.jpg",
+ "https://o1.fengqingyang.ml/old/af9b062b187d14ef9ac6370a3b479f51.jpg",
+ "https://o1.fengqingyang.ml/old/e22f6311f89773ed56843ba518bbbfd2.jpg",
+ "https://o1.fengqingyang.ml/old/96af61073f5445785e5f55f8558125fe.jpg",
+ "https://o1.fengqingyang.ml/old/9d288cf400632f64d85ec71a2829a7c2.jpg",
+ "https://o1.fengqingyang.ml/old/47b108016a885bba0025e9a6c4b280bb.jpg",
+ "https://o1.fengqingyang.ml/old/27f9b23306fb3738fc7452a1f3022ed9.jpg",
+ "https://o1.fengqingyang.ml/old/0c02a2a51d449b13303a12fc11e58b8a.jpg",
+ "https://o1.fengqingyang.ml/old/8d8c125c01f4415281ba5c5777fc0fab.jpg",
+ "https://o1.fengqingyang.ml/old/b8e95cefe8851e6a1c49fed2f8353e82.jpg",
+ "https://o1.fengqingyang.ml/old/17e77e5cec90176067057810759610fc.jpg",
+ "https://o1.fengqingyang.ml/old/01ee8fb8f525c011ec6a5430191b819a.jpg",
+ "https://o1.fengqingyang.ml/old/3b10800553d6dcf3dbd8360b76d23841.jpg",
+ "https://o1.fengqingyang.ml/old/56baec5494d9b9542e0e869f58eee16b.jpg",
+ "https://o1.fengqingyang.ml/old/d3b3672171b836cd42844a999bc457ef.jpg",
+ "https://o1.fengqingyang.ml/old/f92f105f398c0676bcb0c1a767f49268.jpg",
+ "https://o1.fengqingyang.ml/old/8a3d3302a6d6135af18fcb53b4547357.jpg",
+ "https://o1.fengqingyang.ml/old/e0de30cd141864945f161c1dda614832.jpg",
+ "https://o1.fengqingyang.ml/old/c9ffbad2877caf525571f70ceb881c97.jpg",
+ "https://o1.fengqingyang.ml/old/4e350f50ca37da21a115cd1df5da2660.jpg",
+ "https://o1.fengqingyang.ml/old/62619d3ba5834da9b5a8bf0ebb4f0a42.jpg",
+ "https://o1.fengqingyang.ml/old/41b0d53442c86d7e260910d419525ff5.jpg",
+ "https://o1.fengqingyang.ml/old/6918b757cd8baf2102ba3c21d7a22412.jpg",
+ "https://o1.fengqingyang.ml/old/7d9c00811cccaaf99042670f1244b3ac.jpg",
+ "https://o1.fengqingyang.ml/old/ce138077d377539d5c778729b6d30fa7.jpg",
+ "https://o1.fengqingyang.ml/old/e69b8355230db11d156bfe8f51c8cfe9.jpg",
+ "https://o1.fengqingyang.ml/old/c19ce25d3d2cf4e024987e2fd68e4ff3.jpg",
+ "https://o1.fengqingyang.ml/old/9ddf6bc17976429fc8299b76659efd75.jpg",
+ "https://o1.fengqingyang.ml/old/2e9d274931305b4a17109cddb818fc2e.jpg",
+ "https://o1.fengqingyang.ml/old/61a7b918eaf0aef430751fd735a1895d.jpg",
+ "https://o1.fengqingyang.ml/old/80a3757b2ee2a86a15373babc76346fc.jpg",
+ "https://o1.fengqingyang.ml/old/11966e9d202e90091182fbd4d61650a2.jpg",
+ "https://o1.fengqingyang.ml/old/5b6dc55cff718950ea269c855272d621.jpg",
+ "https://o1.fengqingyang.ml/old/a41089f1de6b56cf97fc2f176f5c59f7.jpg",
+ "https://o1.fengqingyang.ml/old/4d38c5e53b90b60d725eea6593ad7101.jpg",
+ "https://o1.fengqingyang.ml/old/eb655aa9dd267d18854fdd0e6c8348e4.jpg",
+ "https://o1.fengqingyang.ml/old/83b419d827fcc78460160a947628b7c6.jpg",
+ "https://o1.fengqingyang.ml/old/2c2b418eb482b27f81c6e4af0fe5d1ab.jpg",
+ "https://o1.fengqingyang.ml/old/81435d19a01220b203d57a731828474b.jpg",
+ "https://o1.fengqingyang.ml/old/075a92d337ed27f408e4eaf24a3c41ca.jpg",
+ "https://o1.fengqingyang.ml/old/d6ca76174fbc9d61ad8a7c544b3c4f0d.jpg",
+ "https://o1.fengqingyang.ml/old/17c42cc591d0e8070c13eebbe3eb08a6.jpg",
+ "https://o1.fengqingyang.ml/old/46b160bfb782a82ebb39fe6f691a6200.jpg",
+ "https://o1.fengqingyang.ml/old/73596c51da48cf3a0d271bbfa96ab816.jpg",
+ "https://o1.fengqingyang.ml/old/acf5d873226839b2b8073d4946f03356.jpg",
+ "https://o1.fengqingyang.ml/old/bcd1f32430bab0e3d84e5b2e0dc0f22a.jpg",
+ "https://o1.fengqingyang.ml/old/8d4fd47dd0e983dbe7a16496eba2b620.jpg",
+ "https://o1.fengqingyang.ml/old/5dae4d35927ff7932d672aee16bc088e.jpg",
+ "https://o1.fengqingyang.ml/old/6cce63d6bcb138d10648f0178f981a6e.jpg",
+ "https://o1.fengqingyang.ml/old/ab7d5b7358d1a1a250b33e39337a1c40.jpg",
+ "https://o1.fengqingyang.ml/old/de6c9d8c710370eae84d94bf1b9f1cc4.jpg",
+ "https://o1.fengqingyang.ml/old/7b1ef4ae42d6f38abac33a32c0492fc5.jpg",
+ "https://o1.fengqingyang.ml/old/213768fac9fa911413fd6a3fd89263a5.jpg",
+ "https://o1.fengqingyang.ml/old/479e01db52681303b0362fc8e96cc8af.jpg",
+ "https://o1.fengqingyang.ml/old/ac487e856dd51fe2de51154d57dc6b93.jpg",
+ "https://o1.fengqingyang.ml/old/0315d6f680aa8b496db9f52dcfaddf10.jpg",
+ "https://o1.fengqingyang.ml/old/1a1b763a6ae136c24fbdbefeb89271a8.jpg",
+ "https://o1.fengqingyang.ml/old/72078cb1d6a72a9b4c5c87ddc7242d59.jpg",
+ "https://o1.fengqingyang.ml/old/a2d4c6ab78bccf457ebe96cd119a5bbf.jpg",
+ "https://o1.fengqingyang.ml/old/067ce1e87772aa2a33232d729b3e6f0b.jpg",
+ "https://o1.fengqingyang.ml/old/d37f0abfabcdd86bf675d668b86e3b7f.jpg",
+ "https://o1.fengqingyang.ml/old/5dc754d724a7c3cb8627e493df44cd65.jpg",
+ "https://o1.fengqingyang.ml/old/18d9dd3bd022f41289f36b5fa16a4749.jpg",
+ "https://o1.fengqingyang.ml/old/f0b2744c065b7c667a15e90af44647b5.jpg",
+ "https://o1.fengqingyang.ml/old/e045b29eecf0999de9a02770070cda44.jpg",
+ "https://o1.fengqingyang.ml/old/1c8d7be2318d4d9cf3fabcab69adb36a.jpg",
+ "https://o1.fengqingyang.ml/old/41cbf88b0b0e53c8c0430e4d88b70854.jpg",
+ "https://o1.fengqingyang.ml/old/9f7e1e4ff945800b5b4835d9d94c73fb.jpg",
+ "https://o1.fengqingyang.ml/old/e8ab1417086f55c0314798f8e2598143.jpg",
+ "https://o1.fengqingyang.ml/old/9008e29fcfb097d571b808375623900d.jpg",
+ "https://o1.fengqingyang.ml/old/1d229a28e55ef38cbb49356e3c10744d.jpg",
+ "https://o1.fengqingyang.ml/old/edd63269e3610e44b1f51049fb4d36d6.jpg",
+ "https://o1.fengqingyang.ml/old/5301f04c6d82d4a481a501ede9b2a693.jpg",
+ "https://o1.fengqingyang.ml/old/f7607a2eb42b48a98cc227cfd6b9f50a.jpg",
+ "https://o1.fengqingyang.ml/old/e6ed3f332dd8d2553d2456c830e62957.jpg",
+ "https://o1.fengqingyang.ml/old/1215455072671c48c0be0adb9dd0d2bf.jpg",
+ "https://o1.fengqingyang.ml/old/f701f8e1199fb3f0799e47f9ee2fc5be.jpg",
+ "https://o1.fengqingyang.ml/old/43a80c6fd8d231733cbc086519293af7.jpg",
+ "https://o1.fengqingyang.ml/old/cb684ca0b51360d58dd9956aa85d4ced.jpg",
+ "https://o1.fengqingyang.ml/old/75466f8ffe5a0b851730d71a910c6cd4.jpg",
+ "https://o1.fengqingyang.ml/old/41f48c33cb293fbc0f01ec6439dec6f0.jpg",
+ "https://o1.fengqingyang.ml/old/7c5bebfc9269b4aac844afe84f95ba02.jpg",
+ "https://o1.fengqingyang.ml/old/2e41ac87b1340e94612015e7af6ea7b4.jpg",
+ "https://o1.fengqingyang.ml/old/38ab6c990d3145c281584a40fe9595c8.jpg",
+ "https://o1.fengqingyang.ml/old/79054ee654665917f9f3303bc96e7364.jpg",
+ "https://o1.fengqingyang.ml/old/85870ddff2dd758c6db1dd3b12b562d7.jpg",
+ "https://o1.fengqingyang.ml/old/d0be22fc61e8689a36fde5f710f09441.jpg",
+ "https://o1.fengqingyang.ml/old/4f8b93987ddbd378551ca41f872f9944.jpg",
+ "https://o1.fengqingyang.ml/old/70697a5077be34305c8f4ea792cc5a9b.jpg",
+ "https://o1.fengqingyang.ml/old/30979e4e3bf768d6b045c2b545381740.jpg",
+ "https://o1.fengqingyang.ml/old/bed1679f9f7b1f52ee2288b4da75703e.jpg",
+ "https://o1.fengqingyang.ml/old/faae5fdc302d22f2398f35a84967b1bc.jpg",
+ "https://o1.fengqingyang.ml/old/fc36f2fe19f289758106e7289343b8cd.jpg",
+ "https://o1.fengqingyang.ml/old/520bba320da665d2938c11db296baad7.jpg",
+ "https://o1.fengqingyang.ml/old/04947cccc097c401a357e9b9db3fbdf5.jpg",
+ "https://o1.fengqingyang.ml/old/63ae8e71b7e11c9570de4e05af9a5b50.jpg",
+ "https://o1.fengqingyang.ml/old/c49d2fa8a9d7d0f7e741bad23944b3f6.jpg",
+ "https://o1.fengqingyang.ml/old/ebf2c6c2695cec43ed45ca219c9e84e0.jpg",
+ "https://o1.fengqingyang.ml/old/4ce110bc55c74a067ea0d7b1f8f4524b.jpg",
+ "https://o1.fengqingyang.ml/old/56875f6044a8bdde673f60263a82b67f.jpg",
+ "https://o1.fengqingyang.ml/old/8d9a21312207670bceb03cddd0d0e665.jpg",
+ "https://o1.fengqingyang.ml/old/344ac0f809917682743b91c5b024f005.jpg",
+ "https://o1.fengqingyang.ml/old/94e315ea71cab5e48683b819f5aac1a7.jpg",
+ "https://o1.fengqingyang.ml/old/4274023aeac86a51fda400bf7ec5a0a8.jpg",
+ "https://o1.fengqingyang.ml/old/5092ba019fdf5ddea5f5d7dc03c017cf.jpg",
+ "https://o1.fengqingyang.ml/old/b38aedd3476667fef8ab3fea203d5a4b.jpg",
+ "https://o1.fengqingyang.ml/old/2b3f323bf48ca22b1605d0e954345e8f.jpg",
+ "https://o1.fengqingyang.ml/old/f800c42479bf4f09e409cb1890506f5d.jpg",
+ "https://o1.fengqingyang.ml/old/110d3e9f4309607baa251042ecb1352d.jpg",
+ "https://o1.fengqingyang.ml/old/293c998ad19c1ace185819762847357f.jpg",
+ "https://o1.fengqingyang.ml/old/f25290d8950e23c0bf01c7af6fab9dfc.jpg",
+ "https://o1.fengqingyang.ml/old/92e059ddc7ebbbee667d551bc393a75d.jpg",
+ "https://o1.fengqingyang.ml/old/e747eb41bdfe01c205db213d722a6c46.jpg",
+ "https://o1.fengqingyang.ml/old/272a41dceb19cd2359f5ce1dba726d6d.jpg",
+ "https://o1.fengqingyang.ml/old/3bb2c46e053be3bffeefb09f205301d4.jpg",
+ "https://o1.fengqingyang.ml/old/9922530f57290638d77af3db538db41c.jpg",
+ "https://o1.fengqingyang.ml/old/84e61ff377573af8ce5abcd62de5f06d.jpg",
+ "https://o1.fengqingyang.ml/old/9d875f11a40e77f58b24fc0a68eecc47.jpg",
+ "https://o1.fengqingyang.ml/old/7d6ad0dd3487100849505a31c3c4d987.jpg",
+ "https://o1.fengqingyang.ml/old/28f090161549c3b9ef07ff2103dc02e9.jpg",
+ "https://o1.fengqingyang.ml/old/e3d46d2e9b11d297ab9e3bc944b92edc.jpg",
+ "https://o1.fengqingyang.ml/old/0a3cbe9a44005f19842f47b05a7a2c05.jpg",
+ "https://o1.fengqingyang.ml/old/2c3c097804eaf0556fb0c33860a95e81.jpg",
+ "https://o1.fengqingyang.ml/old/aea14ea565c76f97a52b0c4906c8fce3.jpg",
+ "https://o1.fengqingyang.ml/old/173ec25f4ed0d166f7646374fdad8e8c.jpg",
+ "https://o1.fengqingyang.ml/old/2b65cc0da5738efacb3da75e4c021b71.jpg",
+ "https://o1.fengqingyang.ml/old/010dfee9028c6b98a0f7156dff7d77a2.jpg",
+ "https://o1.fengqingyang.ml/old/a71967d21486edb0d9e584d56c86bd32.jpg",
+ "https://o1.fengqingyang.ml/old/3f3746bcf199413f013630f39e62216a.jpg",
+ "https://o1.fengqingyang.ml/old/8c63cec344021bed35fef2c82ca89db1.jpg",
+ "https://o1.fengqingyang.ml/old/8dd4bbc0f6655835601fed655b31c8ca.jpg",
+ "https://o1.fengqingyang.ml/old/1102be648bfdf58d80ad3619b0a48bd1.jpg",
+ "https://o1.fengqingyang.ml/old/79394991eaaf322793895667fb16947c.jpg",
+ "https://o1.fengqingyang.ml/old/2e4025497dde11d4489d9c1eb715ae0c.jpg",
+ "https://o1.fengqingyang.ml/old/d877d5bc0a7ff225d92a6910d2d159f5.jpg",
+ "https://o1.fengqingyang.ml/old/b14ef83baea46b2d80903c7ed9ae5049.jpg",
+ "https://o1.fengqingyang.ml/old/9f5d5319ec7e32c36b04e501cd2806a3.jpg",
+ "https://o1.fengqingyang.ml/old/7b48cbc8d9f3d1cf1b4f2e23d4336965.jpg",
+ "https://o1.fengqingyang.ml/old/e1e3fd375b8b1f5c0fff5dfc67da3c35.jpg",
+ "https://o1.fengqingyang.ml/old/110ed32ac28290e9d0675652d5ea2e9b.jpg",
+ "https://o1.fengqingyang.ml/old/a166de3dd136a8abb2c6ac7df76b75ec.jpg",
+ "https://o1.fengqingyang.ml/old/8f247e81e7a2d4d59658b0d8c28fce09.jpg",
+ "https://o1.fengqingyang.ml/old/b7444f1756c4f8b2a62e98507ff61dce.jpg",
+ "https://o1.fengqingyang.ml/old/52de132f5db29c691cf45d2e29c3f0ea.jpg",
+ "https://o1.fengqingyang.ml/old/8485741b7266dfd7d2155c781363276d.jpg",
+ "https://o1.fengqingyang.ml/old/db43dfc209a9bafc9ea0a85b6479ef48.jpg",
+ "https://o1.fengqingyang.ml/old/6cc24200af292a9f2534fdbc125581a2.jpg",
+ "https://o1.fengqingyang.ml/old/3116f837877365292ba23371ef7bd2a3.jpg",
+ "https://o1.fengqingyang.ml/old/14748d577ce307656275e4ec7ebb2228.jpg",
+ "https://o1.fengqingyang.ml/old/f016f17669838c2fe9a6a36827768860.jpg",
+ "https://o1.fengqingyang.ml/old/5ca91848ecdb03090c3157af89dc5793.jpg",
+ "https://o1.fengqingyang.ml/old/ffb6c47ccdea3a4d0ca2585c2438dcb1.jpg",
+ "https://o1.fengqingyang.ml/old/086f209443c196ab26a3e633e98ea9f5.jpg",
+ "https://o1.fengqingyang.ml/old/8821e6d53aac21652cb38d202ea8c07b.jpg",
+ "https://o1.fengqingyang.ml/old/b99ee9ae45f419fc35ac52c9f9d27b2a.jpg",
+ "https://o1.fengqingyang.ml/old/d0b4100afc5e092a9a4e62d054931cbc.jpg",
+ "https://o1.fengqingyang.ml/old/41b822b012f6109075520e54f05cfebf.jpg",
+ "https://o1.fengqingyang.ml/old/8b4005539cb19ad285c3a4ad5673a23c.jpg",
+ "https://o1.fengqingyang.ml/old/71367d805e625a459adc7bf9296c78b9.jpg",
+ "https://o1.fengqingyang.ml/old/9964e73a10c554ff9bb3da26c8103a44.jpg",
+ "https://o1.fengqingyang.ml/old/4eb6b3ee23474d4fa676f7dad4a23916.jpg",
+ "https://o1.fengqingyang.ml/old/4726bfd3d0570cde1f9c76a345d25e22.jpg",
+ "https://o1.fengqingyang.ml/old/b339c56c9ebbb5d8c92c4a2797211580.jpg",
+ "https://o1.fengqingyang.ml/old/aec4fadc64297ff77857616e796968f7.jpg",
+ "https://o1.fengqingyang.ml/old/e395d3ad5bc6fb55282a57dc0be834c4.jpg",
+ "https://o1.fengqingyang.ml/old/6591d46a8dc7ca34bc1f746d9f6572c9.jpg",
+ "https://o1.fengqingyang.ml/old/5e443c4de6aba87bd1c4a505b9ae2927.jpg",
+ "https://o1.fengqingyang.ml/old/a007556985303daa65cfec421bbd9241.jpg",
+ "https://o1.fengqingyang.ml/old/ad3a016f0268897aed5744414568889d.jpg",
+ "https://o1.fengqingyang.ml/old/79ea16667d846376f22cd14fc7db5ecf.jpg",
+ "https://o1.fengqingyang.ml/old/99a9ec045377d8e521fd7d9f0e3a0c19.jpg",
+ "https://o1.fengqingyang.ml/old/b4f240eceed687ee14425a881a8014d7.jpg",
+ "https://o1.fengqingyang.ml/old/64e135e3ae9de8a5a5321e08d90f5d05.jpg",
+ "https://o1.fengqingyang.ml/old/0a771030a62b6447b20233c1ab1ecc45.jpg",
+ "https://o1.fengqingyang.ml/old/bebca9bb0170c9573f31c3bdc8bcb8cb.jpg",
+ "https://o1.fengqingyang.ml/old/82c473a81c578a5f05fded21d1cbade5.jpg",
+ "https://o1.fengqingyang.ml/old/c6c3aa9ecb924b2883144b86eca40507.jpg",
+ "https://o1.fengqingyang.ml/old/8ee0001c366b9667d042483b362934af.jpg",
+ "https://o1.fengqingyang.ml/old/52157938f313eba75c3a61c881be9990.jpg",
+ "https://o1.fengqingyang.ml/old/310aef87dd8566b25788a21fdf26a9a8.jpg",
+ "https://o1.fengqingyang.ml/old/243942fa8b87ae695849cd4ab13bb162.jpg",
+ "https://o1.fengqingyang.ml/old/06538d66a94037c5668e7d595d58b7f3.jpg",
+ "https://o1.fengqingyang.ml/old/422a69c91b450dd590295fb284fa7e36.jpg",
+ "https://o1.fengqingyang.ml/old/4fd13cec203c8e31a95a25fb95ffd08d.jpg",
+ "https://o1.fengqingyang.ml/old/55ff1c16ecab9beee755f7c02fdd3679.jpg",
+ "https://o1.fengqingyang.ml/old/1ec2919a8224d100bfd5b761a5fc24e1.jpg",
+ "https://o1.fengqingyang.ml/old/b423a44b1e510b371b8eb46cf56b2abe.jpg",
+ "https://o1.fengqingyang.ml/old/dc19043a96a69bcde67aa9c00bda89c9.jpg",
+ "https://o1.fengqingyang.ml/old/1b29ef437242d1bdf3ec5ca85b44572a.jpg",
+ "https://o1.fengqingyang.ml/old/699cb0811295339bb6ad56debaf23e89.jpg",
+ "https://o1.fengqingyang.ml/old/8736dad8dceb5883469d1160bd193b0f.jpg",
+ "https://o1.fengqingyang.ml/old/266314739d8a32ad7c901dac7ca5c47c.jpg",
+ "https://o1.fengqingyang.ml/old/f702f90999ef753d32c3a3f4824acb7b.jpg",
+ "https://o1.fengqingyang.ml/old/4c4dca27e1a96a2d5088527602ae00e9.jpg",
+ "https://o1.fengqingyang.ml/old/a7f4aada4e26d5c8bd5d7b9326471d55.jpg",
+ "https://o1.fengqingyang.ml/old/2216763f2f1c13f3c0b0459241b72378.jpg",
+ "https://o1.fengqingyang.ml/old/cb2e9c9fe3167af9338905faa07a9db5.jpg",
+ "https://o1.fengqingyang.ml/old/0adf25d7b08fd558c60167613ef5977f.jpg",
+ "https://o1.fengqingyang.ml/old/2c2a9bbcd9d5d97d65b7a94f9ab5426e.jpg",
+ "https://o1.fengqingyang.ml/old/e29f36f4a6749cd547d3c46d6a1ca30d.jpg",
+ "https://o1.fengqingyang.ml/old/9ddd871ad72fe10e4c9dea540506809b.jpg",
+ "https://o1.fengqingyang.ml/old/9414cc3be4a12e1c1c9c6af1652c3205.jpg",
+ "https://o1.fengqingyang.ml/old/c452c35d5c1194d41d60326b21ef0062.jpg",
+ "https://o1.fengqingyang.ml/old/32208a4ae0eb46f413c827833e6bbe72.jpg",
+ "https://o1.fengqingyang.ml/old/6dbf5a9a3eaf3d59ab7e06748dabb956.jpg",
+ "https://o1.fengqingyang.ml/old/99ff0948473071cb2e105fa466406b16.jpg",
+ "https://o1.fengqingyang.ml/old/fb8f0a5aab379ff13ae82e7dc784db49.jpg",
+ "https://o1.fengqingyang.ml/old/2a75b6114cfbd0cd0d67dc2e53a672fa.jpg",
+ "https://o1.fengqingyang.ml/old/ef4e94613a9e2d9539521d91013cb3f2.jpg",
+ "https://o1.fengqingyang.ml/old/21fd9741f2200dccdcb0dd97a3d7472c.jpg",
+ "https://o1.fengqingyang.ml/old/dd574dcca8985fe26da2bc5884c65f04.jpg",
+ "https://o1.fengqingyang.ml/old/d7c7bd852b74bdec307f75bedfdeb1ac.jpg",
+ "https://o1.fengqingyang.ml/old/8443455ed503c68e1d740e13a7f0f538.jpg",
+ "https://o1.fengqingyang.ml/old/787167ab2a97a909dc3d417ce9f7ffc8.jpg",
+ "https://o1.fengqingyang.ml/old/c31c116e4fd7c04b36d92ae0746e2c55.jpg",
+ "https://o1.fengqingyang.ml/old/9cdfd7b6e39fd7ee78d68129623d78e3.jpg",
+ "https://o1.fengqingyang.ml/old/4f3bec3bc3c8b846ca18873fd4abea6d.jpg",
+ "https://o1.fengqingyang.ml/old/fc0a74af744c5f25611465ee96e70645.jpg",
+ "https://o1.fengqingyang.ml/old/9d7516e06128e9b72786a53ccaabb3c2.jpg",
+ "https://o1.fengqingyang.ml/old/5359ab317a08049cd7ad17465c5416ab.jpg",
+ "https://o1.fengqingyang.ml/old/2dbe97241e60c8b1a504a215be5eb900.jpg",
+ "https://o1.fengqingyang.ml/old/419430804cfc0c245a89762180b0a351.jpg",
+ "https://o1.fengqingyang.ml/old/b650f00321cf92f1ca1f4161f202525e.jpg",
+ "https://o1.fengqingyang.ml/old/f7dfaf96cf5d3d62e155116a51cce6d9.jpg",
+ "https://o1.fengqingyang.ml/old/ddda16ac42ecd35cd69e87be467591a9.jpg",
+ "https://o1.fengqingyang.ml/old/4a482e8a2945a67ea7fac647fea736fc.jpg",
+ "https://o1.fengqingyang.ml/old/fb4304b8ddf517b97da5c977c5a82a64.jpg",
+ "https://o1.fengqingyang.ml/old/3b6a500bc7141f95fc78b98bff2e4b87.jpg",
+ "https://o1.fengqingyang.ml/old/a75b8432cc26eb14e237a1d683fd9d9b.jpg",
+ "https://o1.fengqingyang.ml/old/8864629a931f38b76ec1847eee7fb033.jpg",
+ "https://o1.fengqingyang.ml/old/711bf4e2e779f3861b569ed9f4505c37.jpg",
+ "https://o1.fengqingyang.ml/old/3e29822f9e5b6b1a453e20a3cece1bf1.jpg",
+ "https://o1.fengqingyang.ml/old/8990db644d4114a335aae1a06758a88d.jpg",
+ "https://o1.fengqingyang.ml/old/aeffee6eaa51e24b60b8a5d735644cf8.jpg",
+ "https://o1.fengqingyang.ml/old/1de9a7104bc415512b0965bb2dc29d78.jpg",
+ "https://o1.fengqingyang.ml/old/abe60609d26eb603242765e17377e576.jpg",
+ "https://o1.fengqingyang.ml/old/1fc19661cf26a4ae3cf8f1caa7ef25e4.jpg",
+ "https://o1.fengqingyang.ml/old/b882028645eb57a9cfa28871a8c18deb.jpg",
+ "https://o1.fengqingyang.ml/old/c46886c133dbae061ac359cccfe136b3.jpg",
+ "https://o1.fengqingyang.ml/old/763246eb8f67fa8d17d77d5cbe1cb5b2.jpg",
+ "https://o1.fengqingyang.ml/old/97be83ab4d70d4ca461810fc26c3d30f.jpg",
+ "https://o1.fengqingyang.ml/old/9132a91e53b84c49084398d2f61a1974.jpg",
+ "https://o1.fengqingyang.ml/old/b117c995644dc0feda1a6299e4e1f721.jpg",
+ "https://o1.fengqingyang.ml/old/3e76bbe0513b9497adb9fd3b0becdada.jpg",
+ "https://o1.fengqingyang.ml/old/1dac2f505fa599e6bd3c0c49d975682e.jpg",
+ "https://o1.fengqingyang.ml/old/0955e7e327b06ecd591d11fb6f8179d7.jpg",
+ "https://o1.fengqingyang.ml/old/2494f65e2764692783104b4bfb1b5b99.jpg",
+ "https://o1.fengqingyang.ml/old/27372fedbe885e8e400a0569cdc6d607.jpg",
+ "https://o1.fengqingyang.ml/old/140c630f2c2cf429d8f82fbc044fb532.jpg",
+ "https://o1.fengqingyang.ml/old/a21157cca1d3198b77793a1ca4039c07.jpg",
+ "https://o1.fengqingyang.ml/old/64fbd49d3c0f6f1c8587440e8bb0d1ba.jpg",
+ "https://o1.fengqingyang.ml/old/f0ff7266231ee822fde2c27dc95b40d3.jpg",
+ "https://o1.fengqingyang.ml/old/9811c41aaa1d15effe0262e5a1244158.jpg",
+ "https://o1.fengqingyang.ml/old/fb7294f3c5e595fc91846d927ffab36f.jpg",
+ "https://o1.fengqingyang.ml/old/47e990f2837ee5b043e94454c40c1577.jpg",
+ "https://o1.fengqingyang.ml/old/2058706975f4030f3684b9482fe18eab.jpg",
+ "https://o1.fengqingyang.ml/old/d600c1d0aef4d447cc0fe59f97732121.jpg",
+ "https://o1.fengqingyang.ml/old/f28cd529b2d76b2caf0eb108c6540984.jpg",
+ "https://o1.fengqingyang.ml/old/e45db39156d07f23a1b5478708905454.jpg",
+ "https://o1.fengqingyang.ml/old/04d91e3b0673135e2ba166fff8a5becd.jpg",
+ "https://o1.fengqingyang.ml/old/1efc746a11fdbb50d87865d838558c47.jpg",
+ "https://o1.fengqingyang.ml/old/07726e09a71eff0aa39f9e4c1c0844e5.jpg",
+ "https://o1.fengqingyang.ml/old/98f4cd96f6458b5da2260ffa5007266c.jpg",
+ "https://o1.fengqingyang.ml/old/c2429d12e8c7769747e383c12c6e35b3.jpg",
+ "https://o1.fengqingyang.ml/old/ea4fbc0e786f69a2df99e91d9ba9d304.jpg",
+ "https://o1.fengqingyang.ml/old/835c298eeb5822080c629629d0ce7695.jpg",
+ "https://o1.fengqingyang.ml/old/c384b9738c6bb1da77a68693fa77c5c4.jpg",
+ "https://o1.fengqingyang.ml/old/1a0dc12f81685a1c21af8fdb6d58225f.jpg",
+ "https://o1.fengqingyang.ml/old/f0e1d1961e1c19613c2c751072eb82b8.jpg",
+ "https://o1.fengqingyang.ml/old/194a3e825029e19d0f2cbe0ccbddd6df.jpg",
+ "https://o1.fengqingyang.ml/old/a09837ec76064c54ef1dcb8be9299200.jpg",
+ "https://o1.fengqingyang.ml/old/569bc806c81998fd7d72394320b820aa.jpg",
+ "https://o1.fengqingyang.ml/old/6caefd6ab77f1ffc57333bbff9e4ded3.jpg",
+ "https://o1.fengqingyang.ml/old/fa273064c43599d5916e18b6dedae7cc.jpg",
+ "https://o1.fengqingyang.ml/old/9fae8c3c97cd6b7d96a0ef89efc2efb5.jpg",
+ "https://o1.fengqingyang.ml/old/e151f472ce1adf84822d4cf3cf1c0bdd.jpg",
+ "https://o1.fengqingyang.ml/old/bd409a532af808ab4d86300258e8c9e6.jpg",
+ "https://o1.fengqingyang.ml/old/e29ef13a7e6b828658461a8319b789a5.jpg",
+ "https://o1.fengqingyang.ml/old/ef7ae47de55b2b1af340bc4f8221f15f.jpg",
+ "https://o1.fengqingyang.ml/old/1b5a4884ab755a5400de8f9802e527e7.jpg",
+ "https://o1.fengqingyang.ml/old/100a11ff066aed877d81d380d17a2c6d.jpg",
+ "https://o1.fengqingyang.ml/old/92eae9fe88d379f640f9edaaf603f7df.jpg",
+ "https://o1.fengqingyang.ml/old/f2ef47643edcd2b8e62ef62be8a0519e.jpg",
+ "https://o1.fengqingyang.ml/old/cee63671cdd96117a4174e99e80613b0.jpg",
+ "https://o1.fengqingyang.ml/old/c572a1e634a519556697acb2cf310c81.jpg",
+ "https://o1.fengqingyang.ml/old/c7812b09fecb81fd31aeb13e747978ca.jpg",
+ "https://o1.fengqingyang.ml/old/8126ca7e4a1a8b748358228f4b0784e4.jpg",
+ "https://o1.fengqingyang.ml/old/ca5b0261272485a27a11461e40bbd4df.jpg",
+ "https://o1.fengqingyang.ml/old/33d9663b0c6ac991ff09722f3798b36a.jpg",
+ "https://o1.fengqingyang.ml/old/22575f57e349d5f4dc0ae9e0ea659588.jpg",
+ "https://o1.fengqingyang.ml/old/d90efe158592ac937870579c3a639742.jpg",
+ "https://o1.fengqingyang.ml/old/5ef1b1d13189641994ea8a781a84f7df.jpg",
+ "https://o1.fengqingyang.ml/old/6aefccf72b069b8416fc2094b6f8e7d1.jpg",
+ "https://o1.fengqingyang.ml/old/d9e8e52ffe38f1bd92020588338f2831.jpg",
+ "https://o1.fengqingyang.ml/old/8fb04c82b969f629a0f4198dd53b6453.jpg",
+ "https://o1.fengqingyang.ml/old/03a50b218b29b5edf41f8691d77fa6bc.jpg",
+ "https://o1.fengqingyang.ml/old/ca9d829575dff55fc3683a13d3d134de.jpg",
+ "https://o1.fengqingyang.ml/old/306982603cf3286bee63eb9ebe8912ef.jpg",
+ "https://o1.fengqingyang.ml/old/d869f09a5d0e327fa55a4bc89fd635f1.jpg",
+ "https://o1.fengqingyang.ml/old/a31f231303cbba0a991dcb149c7c4743.jpg",
+ "https://o1.fengqingyang.ml/old/4cd59609c9ddb216e94af5b03e0c1ddb.jpg",
+ "https://o1.fengqingyang.ml/old/280e3645c95f87f758c9568193381b5e.jpg",
+ "https://o1.fengqingyang.ml/old/46fd5d44d3a1130436743fdffdaed62f.jpg",
+ "https://o1.fengqingyang.ml/old/4c84aafc3c2ab7a49e7a32eed6bcf86e.jpg",
+ "https://o1.fengqingyang.ml/old/d65e1bdeae66d4be99352083eed83e18.jpg",
+ "https://o1.fengqingyang.ml/old/2a2a86f07dc870a3d79294091d11e8c6.jpg",
+ "https://o1.fengqingyang.ml/old/516a153ce3d5d4255696ca1741f72668.jpg",
+ "https://o1.fengqingyang.ml/old/efac406fc9f601f4b9972089abdb1370.jpg",
+ "https://o1.fengqingyang.ml/old/3c52c4dfd006850886fd4efb2e3bb3d3.jpg",
+ "https://o1.fengqingyang.ml/old/ca5340e3045fb8ffb30bb58f6333ee2f.jpg",
+ "https://o1.fengqingyang.ml/old/bd2befc732d5736df338ea1fd6938de2.jpg",
+ "https://o1.fengqingyang.ml/old/cd90c2256306574b325c69e62ceecabf.jpg",
+ "https://o1.fengqingyang.ml/old/4540552f8367999bf06da0068d2205e6.jpg",
+ "https://o1.fengqingyang.ml/old/274419fedb581cd6f3b52b26fa8fa7a7.jpg",
+ "https://o1.fengqingyang.ml/old/ba7eb142293158e346b223a99880c21a.jpg",
+ "https://o1.fengqingyang.ml/old/0ba98bc21c57c03ed917929ead50cad0.jpg",
+ "https://o1.fengqingyang.ml/old/d7008539899f0a8fa05477a069b65cf9.jpg",
+ "https://o1.fengqingyang.ml/old/e5550ed1cccd4cbe7b5eefb2485769db.jpg",
+ "https://o1.fengqingyang.ml/old/46ddc1a92520acf5a9d678c5a00b9dba.jpg",
+ "https://o1.fengqingyang.ml/old/45b2d9024024c8ca66cc1302f2310589.jpg",
+ "https://o1.fengqingyang.ml/old/e69ff2f7d947f0069fe0b8707d96a1ec.jpg",
+ "https://o1.fengqingyang.ml/old/3bf953ea7f5cd5fc2bb05c0d77c801e7.jpg",
+ "https://o1.fengqingyang.ml/old/5597bc70d80d8ae6c2a08b69587eaf79.jpg",
+ "https://o1.fengqingyang.ml/old/ac93525d2a27111d45088507348243fd.jpg",
+ "https://o1.fengqingyang.ml/old/3d4eedc2d889157334d6a7e3ac6e9697.jpg",
+ "https://o1.fengqingyang.ml/old/064de7e96db012a0db7390ac0a7a2a7e.jpg",
+ "https://o1.fengqingyang.ml/old/afebc1985edd350e765cea6e4ddf82b7.jpg",
+ "https://o1.fengqingyang.ml/old/de1c7d7b247a11a03589588c5188c557.jpg",
+ "https://o1.fengqingyang.ml/old/a046bee54a9dd1576b27a76f91c914f5.jpg",
+ "https://o1.fengqingyang.ml/old/00eabaa5b8c4d9f825c333050d840331.jpg",
+ "https://o1.fengqingyang.ml/old/ec85ff00aedea21f2ecf94d9d27d10bf.jpg",
+ "https://o1.fengqingyang.ml/old/701e1dcfb82b9a9a24012a3fbf4fa347.jpg",
+ "https://o1.fengqingyang.ml/old/c9ebba1c3710566e63ae98258734f687.jpg",
+ "https://o1.fengqingyang.ml/old/b956bb60b2b6ed5c3fe97688c1144ea6.jpg",
+ "https://o1.fengqingyang.ml/old/f1653f2abc3a15027c8c5b24dbdd9a31.jpg",
+ "https://o1.fengqingyang.ml/old/7f75a091035c13fd9916da69b02dd202.jpg",
+ "https://o1.fengqingyang.ml/old/b90b5093fe40bc2fdf0944667f356a2e.jpg",
+ "https://o1.fengqingyang.ml/old/4d17ae99f0ce6a86f7c743e10341f932.jpg",
+ "https://o1.fengqingyang.ml/old/8f59ccefa6d27c28590f2ad10bbadcdc.jpg",
+ "https://o1.fengqingyang.ml/old/149c74f36730ae6d3a1d49ff511d8caa.jpg",
+ "https://o1.fengqingyang.ml/old/da7f2b17fc2ab516cafeafd2119bd841.jpg",
+ "https://o1.fengqingyang.ml/old/c246a4f6f1e2f73a4fc376a153cb02c2.jpg",
+ "https://o1.fengqingyang.ml/old/2160af576db83210ec59c50f99d8371a.jpg",
+ "https://o1.fengqingyang.ml/old/af381825e50048353756e034dca47370.jpg",
+ "https://o1.fengqingyang.ml/old/1642473fd322d61e3c455552493a1df5.jpg",
+ "https://o1.fengqingyang.ml/old/72d7f51c0a512e37d27ef67aa3453e7f.jpg",
+ "https://o1.fengqingyang.ml/old/aeba30c111ee65fe54bf31f7750365ee.jpg",
+ "https://o1.fengqingyang.ml/old/423b0fed78c95269a293044b9ebc1e69.jpg",
+ "https://o1.fengqingyang.ml/old/545e53b66dc686ccd2299ff326d853b1.jpg",
+ "https://o1.fengqingyang.ml/old/72131a7ca916b7301b832bd8800c91ee.jpg",
+ "https://o1.fengqingyang.ml/old/9b69b8d31533498bfd47ec10ca82c679.jpg",
+ "https://o1.fengqingyang.ml/old/1518a716a44710c8ede1d5068a5c421f.jpg",
+ "https://o1.fengqingyang.ml/old/a89f94a220538c121fc3ca94ab5cdeb6.jpg",
+ "https://o1.fengqingyang.ml/old/09c7e491a3c753bb9a971806aa71c6ba.jpg",
+ "https://o1.fengqingyang.ml/old/ca2187a2aba72e807d18b53a2a4847b0.jpg",
+ "https://o1.fengqingyang.ml/old/35b7c42a5487f5582e13d6fee699726d.jpg",
+ "https://o1.fengqingyang.ml/old/6bdec1b874a9d8cf5b0d26c8eb6dfabc.jpg",
+ "https://o1.fengqingyang.ml/old/e7b4fd7cbced194ca73bce27687832f5.jpg",
+ "https://o1.fengqingyang.ml/old/8e63607384848c54f00cb2f1e5824735.jpg",
+ "https://o1.fengqingyang.ml/old/cda913acf7c8f0d6a07c5b7ead3925ef.jpg",
+ "https://o1.fengqingyang.ml/old/b1762db5fece9d454549d234cc39ce88.jpg",
+ "https://o1.fengqingyang.ml/old/c346322a8c44848f0042813738175247.jpg",
+ "https://o1.fengqingyang.ml/old/ec1fd946502c117195c6f67f6e0f0d71.jpg",
+ "https://o1.fengqingyang.ml/old/4f88b812fcc2013a02774a80ba357177.jpg",
+ "https://o1.fengqingyang.ml/old/10a1be041d58245cce05d95c14f6c1ff.jpg",
+ "https://o1.fengqingyang.ml/old/3340334a5658109d10bcf5af5209e524.jpg",
+ "https://o1.fengqingyang.ml/old/94d4c6a127fb591c7a819064bdf4a301.jpg",
+ "https://o1.fengqingyang.ml/old/f2925432d53842c92bbda2d4d34dc3be.jpg",
+ "https://o1.fengqingyang.ml/old/059e7ab8181a65efef7af5ad85faf16a.jpg",
+ "https://o1.fengqingyang.ml/old/34978221ee74a88f688036a90551cd77.jpg",
+ "https://o1.fengqingyang.ml/old/f5ebe442103b6e5ca36f32844fd1f91c.jpg",
+ "https://o1.fengqingyang.ml/old/1712b9c44eeead0c0bc2e30fb62ec5be.jpg",
+ "https://o1.fengqingyang.ml/old/0300f427fe7ccdbde75c8effce2adbd3.jpg",
+ "https://o1.fengqingyang.ml/old/d2571a9fb85388d6e0dcba44dde47981.jpg",
+ "https://o1.fengqingyang.ml/old/5e8010f8255a096c72c696e93bfc10a2.jpg",
+ "https://o1.fengqingyang.ml/old/26c54a692ef44b95b736fa5f050eb66d.jpg",
+ "https://o1.fengqingyang.ml/old/6cc0973407d415710b7926b4a2dae9fd.jpg",
+ "https://o1.fengqingyang.ml/old/9c20cf78c08affd0576a555ebf9cf9fe.jpg",
+ "https://o1.fengqingyang.ml/old/c182b7280ec4a26fb56baacded6db149.jpg",
+ "https://o1.fengqingyang.ml/old/95787777adbb56491618726143fb75b6.jpg",
+ "https://o1.fengqingyang.ml/old/a855418c3a9848c96498796df21f52ea.jpg",
+ "https://o1.fengqingyang.ml/old/6c1ceb96f9bd60ff2150129e0c691ac4.jpg",
+ "https://o1.fengqingyang.ml/old/f4684baf0fa227b3f7ae953163130115.jpg",
+ "https://o1.fengqingyang.ml/old/b204767432b02cba3322eb9e10797112.jpg",
+ "https://o1.fengqingyang.ml/old/00a5ea09b2897ecbf55e5debc0f4b84d.jpg",
+ "https://o1.fengqingyang.ml/old/6fe7421d411fb34d067008de2898a54e.jpg",
+ "https://o1.fengqingyang.ml/old/3d52bd065f793f633b99e9722c25f34d.jpg",
+ "https://o1.fengqingyang.ml/old/8e205a85df485f529dfe252391e15e24.jpg",
+ "https://o1.fengqingyang.ml/old/e89f1519e2937f28fca27b9997f94aba.jpg",
+ "https://o1.fengqingyang.ml/old/efff9488aef11576121227ff9656f131.jpg",
+ "https://o1.fengqingyang.ml/old/f7f82e116e7e1cc6e9bd7df349851067.jpg",
+ "https://o1.fengqingyang.ml/old/7e087cfdae3459b7e289fef515389ae9.jpg",
+ "https://o1.fengqingyang.ml/old/36f79f1f506be55f9ca68e5af2897ac1.jpg",
+ "https://o1.fengqingyang.ml/old/12ae68897d51089faed30a9ae6f40bfb.jpg",
+ "https://o1.fengqingyang.ml/old/a4a170bddc4c5c9dfa2e2b8f39b0c7e7.jpg",
+ "https://o1.fengqingyang.ml/old/cb00b8e65fc17374489238afaf34e4f4.jpg",
+ "https://o1.fengqingyang.ml/old/8023f9f0c2cb3f2305122f9e7d402396.jpg",
+ "https://o1.fengqingyang.ml/old/81df3d3351985290ff631ea46b352329.jpg",
+ "https://o1.fengqingyang.ml/old/69d430458e5932b701ee6f45a0f85d09.jpg",
+ "https://o1.fengqingyang.ml/old/acdb1a6e637779d7b41f93f04ff7c257.jpg",
+ "https://o1.fengqingyang.ml/old/17cc81b671abe99fac9e40709b4b8e0d.jpg",
+ "https://o1.fengqingyang.ml/old/f1d9b7ccf959e3fc43a805ee692bb0c0.jpg",
+ "https://o1.fengqingyang.ml/old/8c80a284189d751a47a57d820769477d.jpg",
+ "https://o1.fengqingyang.ml/old/d62f04395a8b767320173785f7638521.jpg",
+ "https://o1.fengqingyang.ml/old/5ddb71bcc641baf05c06f0ec0718c56c.jpg",
+ "https://o1.fengqingyang.ml/old/42490454502a39805e2937efc3b4190b.jpg",
+ "https://o1.fengqingyang.ml/old/66a424ab52008fc0a3dca48d659533b3.jpg",
+ "https://o1.fengqingyang.ml/old/b520ba7d99f6d2085b7021dbf8f88f5b.jpg",
+ "https://o1.fengqingyang.ml/old/634b7c4e862de55052e80bc8a7508b14.jpg",
+ "https://o1.fengqingyang.ml/old/4fe32e7a5fe57f28bb1e7048714a6f23.jpg",
+ "https://o1.fengqingyang.ml/old/544e0e9394e8b841e2debe668cb6b000.jpg",
+ "https://o1.fengqingyang.ml/old/d81c80d0cb42c8181ca4439df79435a4.jpg",
+ "https://o1.fengqingyang.ml/old/f75a01b9bd5efaa277a7d737409a156b.jpg",
+ "https://o1.fengqingyang.ml/old/3ef1f4c7ffb3d78be2bf11008ce190d8.jpg",
+ "https://o1.fengqingyang.ml/old/031451235cd647ab473572827001fbf6.jpg",
+ "https://o1.fengqingyang.ml/old/8bde124f98b2490b497f8f4797790b71.jpg",
+ "https://o1.fengqingyang.ml/old/6b10b2997a91a46f8a135717910b49f1.jpg",
+ "https://o1.fengqingyang.ml/old/8891ef3f775f9b2fa466334e088cebac.jpg",
+ "https://o1.fengqingyang.ml/old/33921f5b121808a43aad92a15d676696.jpg",
+ "https://o1.fengqingyang.ml/old/aa62aa3265eb33cd1ebf62a75fc7c275.jpg",
+ "https://o1.fengqingyang.ml/old/c53cb67cc5f0c4ef3f9a034e7278b002.jpg",
+ "https://o1.fengqingyang.ml/old/3afa6cf6ada4e4923f7f24abb2dc1490.jpg",
+ "https://o1.fengqingyang.ml/old/e8c15d5321fc4db9e6fba13834af4fde.jpg",
+ "https://o1.fengqingyang.ml/old/f04dd86eecb57b5c9b9c47bb748a626f.jpg",
+ "https://o1.fengqingyang.ml/old/36dc862060e01440ea91dabee891025b.jpg",
+ "https://o1.fengqingyang.ml/old/7cd572cf5cae7b9863eddd88c8dde7ff.jpg",
+ "https://o1.fengqingyang.ml/old/f722d00574f70fa67d67f2457bcfe75f.jpg",
+ "https://o1.fengqingyang.ml/old/43471f41bc79ee4891ec6d80aa55d142.jpg",
+ "https://o1.fengqingyang.ml/old/02be798767dcf7dd71be0203524fbafb.jpg",
+ "https://o1.fengqingyang.ml/old/463bf853c0f05f4c72fead64095e5da7.jpg",
+ "https://o1.fengqingyang.ml/old/53773787b04f92dd0f372266086b8925.jpg",
+ "https://o1.fengqingyang.ml/old/f5b59a691bcfe7c30641697ae5f4347d.jpg",
+ "https://o1.fengqingyang.ml/old/ade0c23c5a537a56725a4c7c7adaa369.jpg",
+ "https://o1.fengqingyang.ml/old/0cf808a71934bfc33346608c36a27374.jpg",
+ "https://o1.fengqingyang.ml/old/f542c371d4fc22ca487e1d9413a49c3a.jpg",
+ "https://o1.fengqingyang.ml/old/3e6a5cd6ff8b3a330fcdc8a9a669bb5e.jpg",
+ "https://o1.fengqingyang.ml/old/d37ef16bec24c49e07bd2953332bba8f.jpg",
+ "https://o1.fengqingyang.ml/old/fcd37905c62d4ae3e143ad5adcb3940c.jpg",
+ "https://o1.fengqingyang.ml/old/ffedfd2db7eb3572b5bd714b3c235358.jpg",
+ "https://o1.fengqingyang.ml/old/fe85dffe64b000ea3329df043f12ba49.jpg",
+ "https://o1.fengqingyang.ml/old/f33b7c6dcf950418668bd536ae8bf117.jpg",
+ "https://o1.fengqingyang.ml/old/5d720ccac31e86596faf558917b61ccb.jpg",
+ "https://o1.fengqingyang.ml/old/4546bcba0f9566b89119e29ec65ba931.jpg",
+ "https://o1.fengqingyang.ml/old/1e310b51dca22acbf289d638128f62a0.jpg",
+ "https://o1.fengqingyang.ml/old/b58ab992f0c3aa1c625893d6f18dd480.jpg",
+ "https://o1.fengqingyang.ml/old/869ae15f8f46fc00c814b9544b657ed4.jpg",
+ "https://o1.fengqingyang.ml/old/e0f985eaa1c737998e6af2e2ae92bf63.jpg",
+ "https://o1.fengqingyang.ml/old/2bd76cfff11a965ff5f3bf54dac49a9f.jpg",
+ "https://o1.fengqingyang.ml/old/1263560b8c71e686919581fe70be7685.jpg",
+ "https://o1.fengqingyang.ml/old/96d1637f45f2bc447a5736c7258232cd.jpg",
+ "https://o1.fengqingyang.ml/old/b35a76674c46f16d8823f4a64c95efa0.jpg",
+ "https://o1.fengqingyang.ml/old/edb58704a3a1bfa7d1b2cb5a66d7bb41.jpg",
+ "https://o1.fengqingyang.ml/old/b692b198f8468a38af173dbd458bf5dc.jpg",
+ "https://o1.fengqingyang.ml/old/84db16efadbd023c81fe424160c6ac00.jpg",
+ "https://o1.fengqingyang.ml/old/bdccaec59875412109a1f917423235c7.jpg",
+ "https://o1.fengqingyang.ml/old/3dec14a60ba729b75583710611933fa7.jpg",
+ "https://o1.fengqingyang.ml/old/29325be5600c4962234adf331d03bf56.jpg",
+ "https://o1.fengqingyang.ml/old/1e7bc9aee0ce8ef7ac44daa2e0322412.jpg",
+ "https://o1.fengqingyang.ml/old/f2a89d4885255ce3770ef685e3ad87f1.jpg",
+ "https://o1.fengqingyang.ml/old/5952390ee4095e5d29a5f468d4353045.jpg",
+ "https://o1.fengqingyang.ml/old/84d2775b30a145d12a3581b38aaaad54.jpg",
+ "https://o1.fengqingyang.ml/old/2023da77ede339af02686edbb3844883.jpg",
+ "https://o1.fengqingyang.ml/old/c3865f9eefa0752ba1c52594542b648f.jpg",
+ "https://o1.fengqingyang.ml/old/2f418790d7956ab9ac1d181d9ed7d166.jpg",
+ "https://o1.fengqingyang.ml/old/1f1c52ffedd336d821bee0c477a1816e.jpg",
+ "https://o1.fengqingyang.ml/old/ffee736e6cbd261222b666e7b924832b.jpg",
+ "https://o1.fengqingyang.ml/old/1a3c02d9e75468389f0791928138ff70.jpg",
+ "https://o1.fengqingyang.ml/old/6c5ed94303789a7631913544f0e17130.jpg",
+ "https://o1.fengqingyang.ml/old/965c57d0efd24bc1b3902303c05b13b7.jpg",
+ "https://o1.fengqingyang.ml/old/c414eea44ab9a6b180b3a7afd61e33af.jpg",
+ "https://o1.fengqingyang.ml/old/24262c0ab4f7cee8e198fbc2ab4a72bb.jpg",
+ "https://o1.fengqingyang.ml/old/4094d3bb81f96230241990383af9fd26.jpg",
+ "https://o1.fengqingyang.ml/old/3ccb0dc0343d8e90c2cd23aaedf6f335.jpg",
+ "https://o1.fengqingyang.ml/old/6f72eebe45fe1ff3909fa7750fbfd6c5.jpg",
+ "https://o1.fengqingyang.ml/old/71a120b556a0613435a2dc944953bfc4.jpg",
+ "https://o1.fengqingyang.ml/old/f48c085179972533f364a87face70cde.jpg",
+ "https://o1.fengqingyang.ml/old/ab6c5fcc9ac89821954d93c33b812026.jpg",
+ "https://o1.fengqingyang.ml/old/aa8f6b12606aacd3846ac80c9abd6c8a.jpg",
+ "https://o1.fengqingyang.ml/old/c4bf83a59c880cbb8682bfec68631ab2.jpg",
+ "https://o1.fengqingyang.ml/old/a67dc7e798b68ee7033211c30443bc6a.jpg",
+ "https://o1.fengqingyang.ml/old/99f9aa3fc8cac34a736ed9d19a57da2b.jpg",
+ "https://o1.fengqingyang.ml/old/e5eacb1f11cf65d4254b341a36504d40.jpg",
+ "https://o1.fengqingyang.ml/old/8635e60e441e9fa527367cc2e1b81562.jpg",
+ "https://o1.fengqingyang.ml/old/d722ff3cf832bd5eccc013373ddc686c.jpg",
+ "https://o1.fengqingyang.ml/old/fa2dc86a55269ad129651ffb11f1415b.jpg",
+ "https://o1.fengqingyang.ml/old/ed0f23ba6bf880957927b08e68be23a6.jpg",
+ "https://o1.fengqingyang.ml/old/84c146d045f99e87ac80cda7cfc0363e.jpg",
+ "https://o1.fengqingyang.ml/old/76e1c984858c695a2e265cb032664141.jpg",
+ "https://o1.fengqingyang.ml/old/ed1bd4ef0c9702b27ebe122f742b8d47.jpg",
+ "https://o1.fengqingyang.ml/old/e05ac4b3ca01b6ee8ffe67185f87410d.jpg",
+ "https://o1.fengqingyang.ml/old/f40d1cb62257ac99c3e8e6c3669bbcf8.jpg",
+ "https://o1.fengqingyang.ml/old/3e2c45f23deb6e2c4f51d740035acd42.jpg",
+ "https://o1.fengqingyang.ml/old/df67fddc3cb8420ec6240230a51864da.jpg",
+ "https://o1.fengqingyang.ml/old/99c04d3eaf4f82c0be7076775f7df461.jpg",
+ "https://o1.fengqingyang.ml/old/a934bbc891713e3f5b22debf71309efd.jpg",
+ "https://o1.fengqingyang.ml/old/fbfcf24ef4a0f283e845a566ae9518e1.jpg",
+ "https://o1.fengqingyang.ml/old/556226eac14f08facb7fe2c9db6c13d0.jpg",
+ "https://o1.fengqingyang.ml/old/f5eae35246fa2c92a09b6644455c0c91.jpg",
+ "https://o1.fengqingyang.ml/old/05c9b8985c094c80189ef5505affb015.jpg",
+ "https://o1.fengqingyang.ml/old/2a7071a73a6a7bc23bcaef15cf7f1946.jpg",
+ "https://o1.fengqingyang.ml/old/13c77b8473bae1fe0b0dcd119e96a908.jpg",
+ "https://o1.fengqingyang.ml/old/ba435341f95ea5aa0b98940d5f6225c9.jpg",
+ "https://o1.fengqingyang.ml/old/02c169077f7e69fa1e0c9a5e3f553379.jpg",
+ "https://o1.fengqingyang.ml/old/1743e850b0a9042ab530402ac6f4d2d7.jpg",
+ "https://o1.fengqingyang.ml/old/d7a9ba03edc01c8e9f3e1ea28f663188.jpg",
+ "https://o1.fengqingyang.ml/old/da75e028b20c64c313f2920114429d48.jpg",
+ "https://o1.fengqingyang.ml/old/c6e4b5b25e8f818821197556a7e2e18f.jpg",
+ "https://o1.fengqingyang.ml/old/e8d559614530c18c85a8a2b1cd5a3a0d.jpg",
+ "https://o1.fengqingyang.ml/old/765bf5886875edd528ccd09ca585d7c6.jpg",
+ "https://o1.fengqingyang.ml/old/868c137a5760f0cb2f2619ada4b83d69.jpg",
+ "https://o1.fengqingyang.ml/old/ef359f256f03467673a492ce532e90a5.jpg",
+ "https://o1.fengqingyang.ml/old/0befaff0d6b05a34201c7efc8f4abdd6.jpg",
+ "https://o1.fengqingyang.ml/old/53207830e22bafa3290b95dc772089c3.jpg",
+ "https://o1.fengqingyang.ml/old/3f6be3b8a1114f78196fa28bef94c88a.jpg",
+ "https://o1.fengqingyang.ml/old/ce7e2e636f6a5e526c4c70af516fd0e2.jpg",
+ "https://o1.fengqingyang.ml/old/8f101c2c7f3c798cb0d3ad6b37930205.jpg",
+ "https://o1.fengqingyang.ml/old/70801bed11ec6eb34e5df0af6a787d9c.jpg",
+ "https://o1.fengqingyang.ml/old/0b084a22cb39e7b59a2a91880eaafa1d.jpg",
+ "https://o1.fengqingyang.ml/old/d053e2f1ebb78425165b62e2e7d198e1.jpg",
+ "https://o1.fengqingyang.ml/old/85f9d0b3a996e9b89dd4131d9f65e784.jpg",
+ "https://o1.fengqingyang.ml/old/2e5a082bd8778dc4bc2c2ad7ad312af7.jpg",
+ "https://o1.fengqingyang.ml/old/c251a64d65fd40d99cca64dad5143b3e.jpg",
+ "https://o1.fengqingyang.ml/old/0273294773c78f15b447695aec4ac007.jpg",
+ "https://o1.fengqingyang.ml/old/936fcbfe4569922a13e5a03f45ff78a3.jpg",
+ "https://o1.fengqingyang.ml/old/fa00471dccc3a8f1444d5bef49b141e8.jpg",
+ "https://o1.fengqingyang.ml/old/659a41cc94f86e506bafad9ec53a3d50.jpg",
+ "https://o1.fengqingyang.ml/old/d8bb7ae102faaeebf1f6db6e4463ce03.jpg",
+ "https://o1.fengqingyang.ml/old/aa368500df5c332cefbf11fcf7e38bd5.jpg",
+ "https://o1.fengqingyang.ml/old/dd27b4e18f8d3d790c07d316c9165a29.jpg",
+ "https://o1.fengqingyang.ml/old/635dcdcc56d728ebb42d4e4da9982ec7.jpg",
+ "https://o1.fengqingyang.ml/old/24cca49a91bb9e4e818a4b95f7a7ce9c.jpg",
+ "https://o1.fengqingyang.ml/old/b8e545cc9c4b72dec466e36770298c67.jpg",
+ "https://o1.fengqingyang.ml/old/2dc858dde5b1a66a177701642c6671be.jpg",
+ "https://o1.fengqingyang.ml/old/d92b287effecc1bca9ed0c6125b70dbc.jpg",
+ "https://o1.fengqingyang.ml/old/e57f58c6afd8903d3e7e8b5b6f3c7fc0.jpg",
+ "https://o1.fengqingyang.ml/old/7fb8f9560e510d2f53a84f4b059a9497.jpg",
+ "https://o1.fengqingyang.ml/old/53c22b99c64ce1524e448585f12a5c9b.jpg",
+ "https://o1.fengqingyang.ml/old/8668ce0bf7c4e3275b31114af0285313.jpg",
+ "https://o1.fengqingyang.ml/old/cdd46f0972ce1b655d491749c8dbc075.jpg",
+ "https://o1.fengqingyang.ml/old/f8c6c8f1c4bb46e8430617074827f3d5.jpg",
+ "https://o1.fengqingyang.ml/old/c7f46919c8f8fffbe014277ccf103d28.jpg",
+ "https://o1.fengqingyang.ml/old/e553b44aa71e6dd30d091b6ffa33deb7.jpg",
+ "https://o1.fengqingyang.ml/old/80663912dde69a1eb69111e841178979.jpg",
+ "https://o1.fengqingyang.ml/old/7e4116e6dde99e77d7a0ee6c9e4a29bc.jpg",
+ "https://o1.fengqingyang.ml/old/bbcefd93b4f64df31d296a3cf55d37c9.jpg",
+ "https://o1.fengqingyang.ml/old/74473a0769eea20b549c6b9eee29277e.jpg",
+ "https://o1.fengqingyang.ml/old/c8f5386bc999caa7780a2bd3f0c6ae51.jpg",
+ "https://o1.fengqingyang.ml/old/dd0270f4c8393c50c947a4dca71ed040.jpg",
+ "https://o1.fengqingyang.ml/old/88afb8b18e33509794212fc9ca9c1e76.jpg",
+ "https://o1.fengqingyang.ml/old/483260c39709a4278c28bcf96077439e.jpg",
+ "https://o1.fengqingyang.ml/old/6e2b833753f2e9b0ec3ba18bfe406782.jpg",
+ "https://o1.fengqingyang.ml/old/b34fc76fc7ecb90cd48a24399c74438d.jpg",
+ "https://o1.fengqingyang.ml/old/09b8c3daccc5cdef9656cacf4695847c.jpg",
+ "https://o1.fengqingyang.ml/old/9e00d4eb30e28f7701e1c83fbd03ec31.jpg",
+ "https://o1.fengqingyang.ml/old/829c3e556b50af3a636745a044ada40e.jpg",
+ "https://o1.fengqingyang.ml/old/f04898dfaca2c7c651e6ad5b31e410ec.jpg",
+ "https://o1.fengqingyang.ml/old/dcdf71aa1621bb3b521548697354c267.jpg",
+ "https://o1.fengqingyang.ml/old/9a5913e849cacfcadced65c9a4b8cc47.jpg",
+ "https://o1.fengqingyang.ml/old/499d5bc1a3e0536a00fdb135f10e3e6e.jpg",
+ "https://o1.fengqingyang.ml/old/43ae19ff7814dcdf7fcbd6b43f79a4f8.jpg",
+ "https://o1.fengqingyang.ml/old/21ffbc6cb1f1ebcbdc00c1f934ef36d4.jpg",
+ "https://o1.fengqingyang.ml/old/f8f3bfa769ef5103c4dec631ccceea32.jpg",
+ "https://o1.fengqingyang.ml/old/5ff4fa7aa2008e0b330892125cdc5656.jpg",
+ "https://o1.fengqingyang.ml/old/7fd47ba67306e4974e2ba42bec9a3c51.jpg",
+ "https://o1.fengqingyang.ml/old/6992da987ee2ef0fd0ef95a98de3fdd6.jpg",
+ "https://o1.fengqingyang.ml/old/931ab1540e37e3b185f7735eb976cd18.jpg",
+ "https://o1.fengqingyang.ml/old/20f44cac05078a532246a2f669bc10e3.jpg",
+ "https://o1.fengqingyang.ml/old/e3147cd9a9b850e02338082eb4792d7b.jpg",
+ "https://o1.fengqingyang.ml/old/8284202323783485d81fd152a7929e2f.jpg",
+ "https://o1.fengqingyang.ml/old/ceab12bdbb556fb2388073a1a9bd3a54.jpg",
+ "https://o1.fengqingyang.ml/old/b808f5266e69246fb4ef1a3581cc32d6.jpg",
+ "https://o1.fengqingyang.ml/old/91d7fbb4ff7a17dadce6ef18e57826c1.jpg",
+ "https://o1.fengqingyang.ml/old/d8408ec94a6d15a2c2c6ce87b8477850.jpg",
+ "https://o1.fengqingyang.ml/old/35709a8d48faa8d7ab02192815e0b81c.jpg",
+ "https://o1.fengqingyang.ml/old/5d6de22a4fb3ce575c39f011bbb36a1d.jpg",
+ "https://o1.fengqingyang.ml/old/7e4bb56f9540c8c57f5897350ea42311.jpg",
+ "https://o1.fengqingyang.ml/old/fc625d3dff030aae61a3597cccbf2a9d.jpg",
+ "https://o1.fengqingyang.ml/old/1c2d77b503d2ad3c60be1700fbc8c6fc.jpg",
+ "https://o1.fengqingyang.ml/old/b5927ab9c1678dddd81c78c94cd65697.jpg",
+ "https://o1.fengqingyang.ml/old/3c33556122b96d440f5d25703bc35685.jpg",
+ "https://o1.fengqingyang.ml/old/3b47dca58e5f5308eaaeb24a487a6f3f.jpg",
+ "https://o1.fengqingyang.ml/old/8dce4691b26203064548cc57b97c0ade.jpg",
+ "https://o1.fengqingyang.ml/old/13e395f63835d1d4afe72c95f7b0beb2.jpg",
+ "https://o1.fengqingyang.ml/old/e5b35d1cef550d0cecb436242e187c24.jpg",
+ "https://o1.fengqingyang.ml/old/3bed7c4ad1638a4e03c92be8ffbdab90.jpg",
+ "https://o1.fengqingyang.ml/old/daf7ed907c712c2540a8e2c04d4c0b64.jpg",
+ "https://o1.fengqingyang.ml/old/fcabc14d31980ab0f67e99173acbddcc.jpg",
+ "https://o1.fengqingyang.ml/old/ae5f795f881af041a76392b7f6a15f22.jpg",
+ "https://o1.fengqingyang.ml/old/5b6117c22371d7dfeb39cd51f65f0814.jpg",
+ "https://o1.fengqingyang.ml/old/dc232bf51758457ee047402a96fd27ba.jpg",
+ "https://o1.fengqingyang.ml/old/32b9ecbea880fa59cb7fa4e8e2b9e571.jpg",
+ "https://o1.fengqingyang.ml/old/67c3fccbefdd5b08243c2f506b281d97.jpg",
+ "https://o1.fengqingyang.ml/old/e1d7bc55ed45e0771fb7551fa711908b.jpg",
+ "https://o1.fengqingyang.ml/old/1bf07619cc7056486d2e46e662c9798e.jpg",
+ "https://o1.fengqingyang.ml/old/cdbf8d71188498021d42394fc0ce0429.jpg",
+ "https://o1.fengqingyang.ml/old/293b88dced04157dbf66130f25ae964e.jpg",
+ "https://o1.fengqingyang.ml/old/2802122a6dcfc9457e454b532b5bd4d1.jpg",
+ "https://o1.fengqingyang.ml/old/56a95e4eddcd6306c3fa49f57fe9d54f.jpg",
+ "https://o1.fengqingyang.ml/old/e427992d2b97cf164f97db1db0142ba2.jpg",
+ "https://o1.fengqingyang.ml/old/5e1edd84f16439c6e1aeb28ae902e197.jpg",
+ "https://o1.fengqingyang.ml/old/779a0cbd63ccb91c49b63c16575ad872.jpg",
+ "https://o1.fengqingyang.ml/old/c7a60be6d5dffa703f65a575765b47d7.jpg",
+ "https://o1.fengqingyang.ml/old/a8421e2c8fad78def9a3572621fba111.jpg",
+ "https://o1.fengqingyang.ml/old/891ea8203fe0a106089c26094f419e8b.jpg",
+ "https://o1.fengqingyang.ml/old/6b46c4741a3fc541bc5c32ab20a2ba8e.jpg",
+ "https://o1.fengqingyang.ml/old/c961dcc0eb63759f2923a2c0336ee756.jpg",
+ "https://o1.fengqingyang.ml/old/3e8eeaefab4e548c402b504596ace93a.jpg",
+ "https://o1.fengqingyang.ml/old/21e740e5226ec891031de2edb1a0233c.jpg",
+ "https://o1.fengqingyang.ml/old/b814bac4ea181562619926ee1b0e32c8.jpg",
+ "https://o1.fengqingyang.ml/old/9c0c0f13209a24be01da94d4932d83c1.jpg",
+ "https://o1.fengqingyang.ml/old/c83d925bc165f27475c5bc3a7350a07b.jpg",
+ "https://o1.fengqingyang.ml/old/84c128eb8a9ba7c97e6895fba32c3815.jpg",
+ "https://o1.fengqingyang.ml/old/74fa59c2b0a4f2eea78ef6df68248535.jpg",
+ "https://o1.fengqingyang.ml/old/e86608ee8e2bdd2ffff7c34b77ac4d6a.jpg",
+ "https://o1.fengqingyang.ml/old/d86a08a2be65dd421ed71ff99e4d5e92.jpg",
+ "https://o1.fengqingyang.ml/old/1652e9461cf7a06deb77fc5fa7113124.jpg",
+ "https://o1.fengqingyang.ml/old/933b89685c31678392d052b93a9018e3.jpg",
+ "https://o1.fengqingyang.ml/old/d9cd45aa0efdd8a1385d8c0328fe0683.jpg",
+ "https://o1.fengqingyang.ml/old/0c8de216a12c73a2ce2f7b60d3805ad4.jpg",
+ "https://o1.fengqingyang.ml/old/be8497fb0ba3bd3847caf98651dfa218.jpg",
+ "https://o1.fengqingyang.ml/old/ff8a508ca8a72816321ed9a031faa112.jpg",
+ "https://o1.fengqingyang.ml/old/63bf76bd6a5e22b9e74cc325a642bc90.jpg",
+ "https://o1.fengqingyang.ml/old/eb5b9daac1c2f992215c703bad737ac8.jpg",
+ "https://o1.fengqingyang.ml/old/943480a67fdca486fd6568eb3c0166c8.jpg",
+ "https://o1.fengqingyang.ml/old/2122239f44c60e9e8714ec0e7a8884f7.jpg",
+ "https://o1.fengqingyang.ml/old/990bad728d9f7e2c9827fa15f9fb7b85.jpg",
+ "https://o1.fengqingyang.ml/old/9b54073785c4d75194679e4b34405eb2.jpg",
+ "https://o1.fengqingyang.ml/old/a20e698eb1a7ad9a6135f529e1139de2.jpg",
+ "https://o1.fengqingyang.ml/old/2a50317284fec82aea880c2f96f71de1.jpg",
+ "https://o1.fengqingyang.ml/old/a43c85d8ebddf0473d60d8e97e123188.jpg",
+ "https://o1.fengqingyang.ml/old/eee03a9b3b091e54018d6d4fd9815b2f.jpg",
+ "https://o1.fengqingyang.ml/old/ebff9c3c80aa0a488895d7efdcf3056a.jpg",
+ "https://o1.fengqingyang.ml/old/ed887e3d0b28f46df28e9548a4c01497.jpg",
+ "https://o1.fengqingyang.ml/old/9f045f430d25a750d71b855705bffbe2.jpg",
+ "https://o1.fengqingyang.ml/old/9920d4712a199991dfa3082abcc6426f.jpg",
+ "https://o1.fengqingyang.ml/old/5a267cca9f12a792ada6b7612288125f.jpg",
+ "https://o1.fengqingyang.ml/old/4971d678f0940727d0b9e9bd5d946447.jpg",
+ "https://o1.fengqingyang.ml/old/cbd1627febdc3ecba7bea069b302c89d.jpg",
+ "https://o1.fengqingyang.ml/old/3611af12df6963bfa7b6c2be118fd3b1.jpg",
+ "https://o1.fengqingyang.ml/old/c108a0a18aa912cf04a93fea58d9418c.jpg",
+ "https://o1.fengqingyang.ml/old/7996586d156dd0938ba4103e4a7bbf77.jpg",
+ "https://o1.fengqingyang.ml/old/c7f2d7fdcadbaf7d1757c576a26b7d64.jpg",
+ "https://o1.fengqingyang.ml/old/9b69f1481e96faca22b9a5934e42dbb0.jpg",
+ "https://o1.fengqingyang.ml/old/4dba76932324ef43022d8de2bf66d6ab.jpg",
+ "https://o1.fengqingyang.ml/old/11ff8f2797a432f9ab8d94cf76e4eb8f.jpg",
+ "https://o1.fengqingyang.ml/old/600e7a0174906f6058e2f37aaf6c2063.jpg",
+ "https://o1.fengqingyang.ml/old/55069a1d7fecb7eb54ba620d89dd9c12.jpg",
+ "https://o1.fengqingyang.ml/old/5789a78ef38994836a20e4641f635d8f.jpg",
+ "https://o1.fengqingyang.ml/old/32a076b705010e958141ed2ab65e1702.jpg",
+ "https://o1.fengqingyang.ml/old/e18066e6eb59409ac5ed59fd7d9670bc.jpg",
+ "https://o1.fengqingyang.ml/old/e8984b9b9bd2c5c51c82a78335d4ef7a.jpg",
+ "https://o1.fengqingyang.ml/old/a14046aaf42a43ad8f06e0759c9f1845.jpg",
+ "https://o1.fengqingyang.ml/old/9eec916fbfea06ca4fb6dacbfd088664.jpg",
+ "https://o1.fengqingyang.ml/old/53ede87f923f3e3001c6467a1be29b59.jpg",
+ "https://o1.fengqingyang.ml/old/87b631fa4b6df8b2de2d294fa449da49.jpg",
+ "https://o1.fengqingyang.ml/old/06480e8a41c88048a613b5ef91abdd9f.jpg",
+ "https://o1.fengqingyang.ml/old/fe6df9514a51d7807a217afcb9106c1d.jpg",
+ "https://o1.fengqingyang.ml/old/5b62070402599fc450b73e1de80f6a1e.jpg",
+ "https://o1.fengqingyang.ml/old/5018b73bb9f6aeff879f1f8fbb761564.jpg",
+ "https://o1.fengqingyang.ml/old/0edc2bacaa213c58fbd3ff8091b2198e.jpg",
+ "https://o1.fengqingyang.ml/old/443a2f88bbb5101b0948cf4149cafa91.jpg",
+ "https://o1.fengqingyang.ml/old/36b43debdf1e8819d4cc6bf38c9e2097.jpg",
+ "https://o1.fengqingyang.ml/old/a4a654afa7e3f763c8c7e860ad9a33f1.jpg",
+ "https://o1.fengqingyang.ml/old/9c22dee6a7642a859ddd9900c4a98943.jpg",
+ "https://o1.fengqingyang.ml/old/21691f2e31fa8e8888911d9f5af43b11.jpg",
+ "https://o1.fengqingyang.ml/old/4ae1814d90d376a131bbc7329309ea62.jpg",
+ "https://o1.fengqingyang.ml/old/4e1850d2a8cac74598dfde5c48a6c503.jpg",
+ "https://o1.fengqingyang.ml/old/56280e4a8a6f593a07371701eeb5ebe3.jpg",
+ "https://o1.fengqingyang.ml/old/6c55584ab70da97888db25d3e46c1c09.jpg",
+ "https://o1.fengqingyang.ml/old/d1b31118bfebeee00222c22316ec52cd.jpg",
+ "https://o1.fengqingyang.ml/old/66d6de233d1e71ac91ec6567448ba32d.jpg",
+ "https://o1.fengqingyang.ml/old/1f42e15ab3521450660d3c2012295436.jpg",
+ "https://o1.fengqingyang.ml/old/e2214c08966e2751b10aba95897e07b1.jpg",
+ "https://o1.fengqingyang.ml/old/e52aaeb4a7989d6851f199d430a162b8.jpg",
+ "https://o1.fengqingyang.ml/old/08898cdae0c0555e98959b2a9281a3ed.jpg",
+ "https://o1.fengqingyang.ml/old/cd11173b3553138d0a2b910364c15390.jpg",
+ "https://o1.fengqingyang.ml/old/1a2af80a4c9480fdc710c1d3a0633d0b.jpg",
+ "https://o1.fengqingyang.ml/old/ccf9f2b47e3645f66abd1a963bef1c80.jpg",
+ "https://o1.fengqingyang.ml/old/59974418119f2376076e3f3666af282b.jpg",
+ "https://o1.fengqingyang.ml/old/8cd03ae3e1cbd8188674eac4e228200a.jpg",
+ "https://o1.fengqingyang.ml/old/b20a6e8b0681c734e823f0bdc4cb6bda.jpg",
+ "https://o1.fengqingyang.ml/old/6d0de7f42b77bf77ea71b0ecd4b96373.jpg",
+ "https://o1.fengqingyang.ml/old/733bf65d7a53e7dd0242730f74370e61.jpg",
+ "https://o1.fengqingyang.ml/old/5213eb55695d34aa7ef9a308d7c7441f.jpg",
+ "https://o1.fengqingyang.ml/old/f4682b04aefb53c464a9ed73c408019c.jpg",
+ "https://o1.fengqingyang.ml/old/b38bfd19a0edca94c59894f49570269d.jpg",
+ "https://o1.fengqingyang.ml/old/19ae94f8c4add74e67199fab381aac84.jpg",
+ "https://o1.fengqingyang.ml/old/d60102abaf65a89ba10d0e44460337cd.jpg",
+ "https://o1.fengqingyang.ml/old/a9413664b6ce839e2559582759800f4b.jpg",
+ "https://o1.fengqingyang.ml/old/d0b49f09414dfcfcb7159868bb5cf64b.jpg",
+ "https://o1.fengqingyang.ml/old/0c98a04fd2c5eebd5fa3c234544090c6.jpg",
+ "https://o1.fengqingyang.ml/old/7796dfdb542f70bc48c991eb2dfb3846.jpg",
+ "https://o1.fengqingyang.ml/old/582c879b49e145f1b785307c4f687981.jpg",
+ "https://o1.fengqingyang.ml/old/9b9f4c3b6b1c2e5e6cb165df051aa2d1.jpg",
+ "https://o1.fengqingyang.ml/old/d637d8d8f99cb0c51b17e58a486484d7.jpg",
+ "https://o1.fengqingyang.ml/old/1a270fe063ead5e1bc4bcc750b455920.jpg",
+ "https://o1.fengqingyang.ml/old/9fb4c9229397a417a5bf460fed7a98cc.jpg",
+ "https://o1.fengqingyang.ml/old/f6d26935d7f181e2713a3b1c9a2e4443.jpg",
+ "https://o1.fengqingyang.ml/old/2e40d1371fcc14fa8a66f83549cc66e6.jpg",
+ "https://o1.fengqingyang.ml/old/a732feaac7548ec9829aa1bc76e22efa.jpg",
+ "https://o1.fengqingyang.ml/old/5d8a194011e34387d5372d60d80d92f3.jpg",
+ "https://o1.fengqingyang.ml/old/872236655b1c6d70ded137ad69262343.jpg",
+ "https://o1.fengqingyang.ml/old/be57604debf1a81ffc07ed91cd378c22.jpg",
+ "https://o1.fengqingyang.ml/old/7cf53b50793acae8b26d87a6cefeafb0.jpg",
+ "https://o1.fengqingyang.ml/old/6970194849f67d926dc0a09239b816cc.jpg",
+ "https://o1.fengqingyang.ml/old/b86b1524ab9826482b0dfc3f1da002a0.jpg",
+ "https://o1.fengqingyang.ml/old/b96ad22d5aba02cd3ed435aad6b44a9e.jpg",
+ "https://o1.fengqingyang.ml/old/5b75c5db2d479452d699537fa4422056.jpg",
+ "https://o1.fengqingyang.ml/old/3ab409ecb18a5668c6c057723e24027c.jpg",
+ "https://o1.fengqingyang.ml/old/d0df958558db49ccc286f611f6502dc0.jpg",
+ "https://o1.fengqingyang.ml/old/5313aee86a5aa0812e356268d0dfe894.jpg",
+ "https://o1.fengqingyang.ml/old/770a0c498507a0139a1a10c0c3ee3360.jpg",
+ "https://o1.fengqingyang.ml/old/a31ffdfe6238eabc372f4cecf4fd086f.jpg",
+ "https://o1.fengqingyang.ml/old/983adefb03cc0bf356f10cc7d2843776.jpg",
+ "https://o1.fengqingyang.ml/old/f4b5a271d04b2d1f45cc403e10fb2e35.jpg",
+ "https://o1.fengqingyang.ml/old/b37bfffaa433db04ef6a5dab9e2cb9ca.jpg",
+ "https://o1.fengqingyang.ml/old/a153d2567f79e8130367fca1374d9eb4.jpg",
+ "https://o1.fengqingyang.ml/old/0aaa8d8e218cd7e6cf3caa240346e72a.jpg",
+ "https://o1.fengqingyang.ml/old/f4915217f20c282d2f57fc2138667de2.jpg",
+ "https://o1.fengqingyang.ml/old/439f13c65ec3ba6768c6ca539a737ccb.jpg",
+ "https://o1.fengqingyang.ml/old/3dc042b09ef635792c8f2a4c0d84abe4.jpg",
+ "https://o1.fengqingyang.ml/old/c0f00c082cd4349dc08fc75289913bfa.jpg",
+ "https://o1.fengqingyang.ml/old/97653fce97005fba4700c2448d3094ce.jpg",
+ "https://o1.fengqingyang.ml/old/26f530c1a842e1e61349f5dc9a6de6d7.jpg",
+ "https://o1.fengqingyang.ml/old/e8aaac9d4d347cc172318ff88a1e3253.jpg",
+ "https://o1.fengqingyang.ml/old/471914cd851bba7e31f7e41aee2f2900.jpg",
+ "https://o1.fengqingyang.ml/old/7858d81b681276170788f4ab1a80a8b0.jpg",
+ "https://o1.fengqingyang.ml/old/a2f923a9edd1aeebcc17aff1cbf7b953.jpg",
+ "https://o1.fengqingyang.ml/old/9ab61ce829d689176a54565973947e8c.jpg",
+ "https://o1.fengqingyang.ml/old/638811ce4bc336449c9a50f4414ec48f.jpg",
+ "https://o1.fengqingyang.ml/old/5fb50d6e321d614262be87f34de18124.jpg",
+ "https://o1.fengqingyang.ml/old/9248c8dd9479fb27bfceef055afba5aa.jpg",
+ "https://o1.fengqingyang.ml/old/7ebe990bd6d9ec47f3f0ab6548c7163c.jpg",
+ "https://o1.fengqingyang.ml/old/5f787ca955f50cef31efe20c2c08df39.jpg",
+ "https://o1.fengqingyang.ml/old/6b615a6bd5882e21b6db991409a96b91.jpg",
+ "https://o1.fengqingyang.ml/old/b27a5ae357b8646a09f10bd30bf4969e.jpg",
+ "https://o1.fengqingyang.ml/old/a10cdac5194a860611c4e6e22584adc4.jpg",
+ "https://o1.fengqingyang.ml/old/e2c0f923a770e03b2a9f338db32dbc8d.jpg",
+ "https://o1.fengqingyang.ml/old/581ab5f8617a7d0203a1d8aa8e16eadd.jpg",
+ "https://o1.fengqingyang.ml/old/fa427f554364db03807ed7f3de9d570e.jpg",
+ "https://o1.fengqingyang.ml/old/6a06cd5d80b15087e2f1e8dd6c10c491.jpg",
+ "https://o1.fengqingyang.ml/old/9246d226f7b9c4fb280f417463bf54ae.jpg",
+ "https://o1.fengqingyang.ml/old/6ade8b4d809386166fe409b4fa087011.jpg",
+ "https://o1.fengqingyang.ml/old/9f8d46ea670009af6599915d8d42abb3.jpg",
+ "https://o1.fengqingyang.ml/old/79c655357a874ded45b3444ca7a3c911.jpg",
+ "https://o1.fengqingyang.ml/old/3df75a82c622e1dee223800047fd4202.jpg",
+ "https://o1.fengqingyang.ml/old/8978f8e1c7e135927b5a1ef5168f469c.jpg",
+ "https://o1.fengqingyang.ml/old/83cd32f62428344203f37737b6b2e991.jpg",
+ "https://o1.fengqingyang.ml/old/9a93f0f0afda27bfa265b988fddf3abf.jpg",
+ "https://o1.fengqingyang.ml/old/0b26dae4461e81efd5239f2f610c3799.jpg",
+ "https://o1.fengqingyang.ml/old/1c395fde6dc24235a70c5cbfb565be29.jpg",
+ "https://o1.fengqingyang.ml/old/9c8d1284fc9d3f00c085d0f181ecb53b.jpg",
+ "https://o1.fengqingyang.ml/old/bd3dd252508a82abc7b4e4458a71c345.jpg",
+ "https://o1.fengqingyang.ml/old/b23b13b2445da9faf655feb98b6aa00a.jpg",
+ "https://o1.fengqingyang.ml/old/95d95a7256f27fb31678754023e72d29.jpg",
+ "https://o1.fengqingyang.ml/old/d612658afa59a21998cde229ced91a42.jpg",
+ "https://o1.fengqingyang.ml/old/7f83a02a8d8a5808ed7ee6503e31a84a.jpg",
+ "https://o1.fengqingyang.ml/old/6536164392778cedc1de955ffe2341ec.jpg",
+ "https://o1.fengqingyang.ml/old/b9f232f1e0e6a40823c1b4c7da7a267a.jpg",
+ "https://o1.fengqingyang.ml/old/fc2943eb2bbdba387ba1d5593d0d7fae.jpg",
+ "https://o1.fengqingyang.ml/old/c1eb4f9facfbe5534f85a8ac4906c235.jpg",
+ "https://o1.fengqingyang.ml/old/0d21b3d3d5f8706e6513d5e340b7f18c.jpg",
+ "https://o1.fengqingyang.ml/old/37a48812dd2a334f1c1642088558047d.jpg",
+ "https://o1.fengqingyang.ml/old/e731dce9ba588dfbc1288fd7331d1ec4.jpg",
+ "https://o1.fengqingyang.ml/old/b6f30dc33ee87e837b9b9f4616bf7f75.jpg",
+ "https://o1.fengqingyang.ml/old/3263a3db01bee9ba00daeefb4acb7fe1.jpg",
+ "https://o1.fengqingyang.ml/old/b2deeab6e80688e8903cb4405faa554e.jpg",
+ "https://o1.fengqingyang.ml/old/d345f7c73b20bf9c70d912730d739623.jpg",
+ "https://o1.fengqingyang.ml/old/d1b53848b55fcb2a74a7cdb713dac99b.jpg",
+ "https://o1.fengqingyang.ml/old/8229e1e0b791b455a0f725cf1e085d63.jpg",
+ "https://o1.fengqingyang.ml/old/cd505738497d6ad0c203d89b57addbe6.jpg",
+ "https://o1.fengqingyang.ml/old/3a9f6f09d80d88e20a0060d7114f65e0.jpg",
+ "https://o1.fengqingyang.ml/old/b5583c9b27cf45a53b5a24b164aaba04.jpg",
+ "https://o1.fengqingyang.ml/old/bb20da6b73d98b3b2a9998350f08ff5e.jpg",
+ "https://o1.fengqingyang.ml/old/1feda18c5a56c05af84590f80dba1859.jpg",
+ "https://o1.fengqingyang.ml/old/b662e61064533935c8e59c20c27625fa.jpg",
+ "https://o1.fengqingyang.ml/old/ab4e90c2e329ed7c3c905c4e346f8ea5.jpg",
+ "https://o1.fengqingyang.ml/old/452f9a1bd545d112e820e546da407986.jpg",
+ "https://o1.fengqingyang.ml/old/a86da474a3499333365c6c55b67de031.jpg",
+ "https://o1.fengqingyang.ml/old/7439fe69da33bfbeb5f5abf0c5b8945d.jpg",
+ "https://o1.fengqingyang.ml/old/c6b8815fb4794a8fed22592dcb334998.jpg",
+ "https://o1.fengqingyang.ml/old/3475eca0f71bc47273ca30ea23d8c8d1.jpg",
+ "https://o1.fengqingyang.ml/old/66ccb46453ffbe9ade536520d9e5803d.jpg",
+ "https://o1.fengqingyang.ml/old/1a84fab16a5ddfbb48161d5ff5c6a426.jpg",
+ "https://o1.fengqingyang.ml/old/472bc0ea7d455e9437e26b2c0ea27274.jpg",
+ "https://o1.fengqingyang.ml/old/99d1442311277e89533b41f3b8cf5f6b.jpg",
+ "https://o1.fengqingyang.ml/old/08b42e7503c86dce67ce62d2365296f0.jpg",
+ "https://o1.fengqingyang.ml/old/c2775f8317b889b2d176bc9349aa5ed7.jpg",
+ "https://o1.fengqingyang.ml/old/2e1937b8e23aa651e9111178dc3f6a91.jpg",
+ "https://o1.fengqingyang.ml/old/96bf4b3c6850d678ba984d0d3ba52c4f.jpg",
+ "https://o1.fengqingyang.ml/old/7c4695d8fef7b22133e6e67f99370775.jpg",
+ "https://o1.fengqingyang.ml/old/44ebfdfb29d48dffce1f1bc407f4d757.jpg",
+ "https://o1.fengqingyang.ml/old/0b976d4a25e2c4e5e15cfc10c466c384.jpg",
+ "https://o1.fengqingyang.ml/old/7e0b77edf4ca6946b83fd95dd5c9a9c0.jpg",
+ "https://o1.fengqingyang.ml/old/74cc78d322856a33112f602723f74ce8.jpg",
+ "https://o1.fengqingyang.ml/old/a6f5f42785a9b20e23b3edf91511c865.jpg",
+ "https://o1.fengqingyang.ml/old/e46d3745558151a20cf2f87aa05c8a9b.jpg",
+ "https://o1.fengqingyang.ml/old/0501ff348f8822b70705227f78156a99.jpg",
+ "https://o1.fengqingyang.ml/old/225818778f2a2ed38cb0b76217ca2289.jpg",
+ "https://o1.fengqingyang.ml/old/8a15ec612544b92a3bdff12f76674fbf.jpg",
+ "https://o1.fengqingyang.ml/old/bdf1a0072b50392f169ed13db85bcc39.jpg",
+ "https://o1.fengqingyang.ml/old/2372d45d3e0688e315ed86e67f1ebea8.jpg",
+ "https://o1.fengqingyang.ml/old/01558dab24b6aaff78bdbc0ac484b895.jpg",
+ "https://o1.fengqingyang.ml/old/3fff796751a46014bcbe6b29d265e029.jpg",
+ "https://o1.fengqingyang.ml/old/cecd29eb8a5186fd784c95ee6255249f.jpg",
+ "https://o1.fengqingyang.ml/old/2c6866e2efb9a9891a27369599a39aea.jpg",
+ "https://o1.fengqingyang.ml/old/188a52e58f92395543ba4626a0581350.jpg",
+ "https://o1.fengqingyang.ml/old/b1d9c0234bdab4fa090789ab59fc7d61.jpg",
+ "https://o1.fengqingyang.ml/old/7393a04e8afdda0d0a10a2cc47626ad6.jpg",
+ "https://o1.fengqingyang.ml/old/8b14f7e3a54187b8503e3143ab3b38a1.jpg",
+ "https://o1.fengqingyang.ml/old/2861d6417e1fb064ccc339f19f423b47.jpg",
+ "https://o1.fengqingyang.ml/old/2efd6ebe66991c6f26b4b58eb1d986f4.jpg",
+ "https://o1.fengqingyang.ml/old/2ede35f1fe928c7fb6557e1ab998fe5d.jpg",
+ "https://o1.fengqingyang.ml/old/49c62f3fb558d4a9478be53056a2de25.jpg",
+ "https://o1.fengqingyang.ml/old/2a5e955ea646481368409501fa41f726.jpg",
+ "https://o1.fengqingyang.ml/old/41c80e23275db3c85df213eccc8c4f0d.jpg",
+ "https://o1.fengqingyang.ml/old/b05ab4c0dc731e4ddfa895e400ff9bdc.jpg",
+ "https://o1.fengqingyang.ml/old/2babf4afbc4ea74de6833f1f47830e8d.jpg",
+ "https://o1.fengqingyang.ml/old/4927abfbf5bc76214926d6005ae90bbc.jpg",
+ "https://o1.fengqingyang.ml/old/5bd6d65c6cedfdb78a622acb9754e57e.jpg",
+ "https://o1.fengqingyang.ml/old/d7028d1ae18f002725181aae239fb0bf.jpg",
+ "https://o1.fengqingyang.ml/old/9f88ba635a78b44b98953d337297d87b.jpg",
+ "https://o1.fengqingyang.ml/old/db950ce750779629aa6904dd56ed33f2.jpg",
+ "https://o1.fengqingyang.ml/old/e7611851de58883642de3c05dabb196c.jpg",
+ "https://o1.fengqingyang.ml/old/2b91c6825e075efdd808abc2a9bf85f7.jpg",
+ "https://o1.fengqingyang.ml/old/97cd242005ed5dae3f461f74a4c1c111.jpg",
+ "https://o1.fengqingyang.ml/old/c0116e0768f729d0d42fceab62e00a6d.jpg",
+ "https://o1.fengqingyang.ml/old/b27e15d870ed2e8bff1623e41d8f7c40.jpg",
+ "https://o1.fengqingyang.ml/old/bc2b8728405debc93864631f2c9be6b8.jpg",
+ "https://o1.fengqingyang.ml/old/2289188037759c53f5e1738ca85ef135.jpg",
+ "https://o1.fengqingyang.ml/old/e15f16b523cd169e8e728412a8df0fae.jpg",
+ "https://o1.fengqingyang.ml/old/de5ec8b6509210bb1540b890a859282f.jpg",
+ "https://o1.fengqingyang.ml/old/d6a656d03c8764a76b84e63fc56973ce.jpg",
+ "https://o1.fengqingyang.ml/old/5b6e5f747b958571c7f92c44fcc14f41.jpg",
+ "https://o1.fengqingyang.ml/old/50dbd4cc810512b972f3cda54a1a5b9b.jpg",
+ "https://o1.fengqingyang.ml/old/1c3095155647bde48b9da399c7f06404.jpg",
+ "https://o1.fengqingyang.ml/old/df10c158f4abeeba6c20e394809ffd31.jpg",
+ "https://o1.fengqingyang.ml/old/495337957fe65137adc0f296b64070a6.jpg",
+ "https://o1.fengqingyang.ml/old/eab8b0db676fd8417f3aaeed15cc379b.jpg",
+ "https://o1.fengqingyang.ml/old/a380e628d5755a47625e9108647b8051.jpg",
+ "https://o1.fengqingyang.ml/old/40e983395d1a61213a357c27cfd3c164.jpg",
+ "https://o1.fengqingyang.ml/old/50bfd40573246d820664c4fc1896ad64.jpg",
+ "https://o1.fengqingyang.ml/old/2557bc0e0daf7b6a7d6f9364dcca2a43.jpg",
+ "https://o1.fengqingyang.ml/old/426893aca6e0810907d1564bbea06383.jpg",
+ "https://o1.fengqingyang.ml/old/493042facbfc9e2e4752578fad0a713c.jpg",
+ "https://o1.fengqingyang.ml/old/d0142a7f5299eb9402a5a40888648ef2.jpg",
+ "https://o1.fengqingyang.ml/old/f7faab51616c4241c5d42234947aa9bf.jpg",
+ "https://o1.fengqingyang.ml/old/8b546346416b4e2cf32b51b794d507fe.jpg",
+ "https://o1.fengqingyang.ml/old/f6d6942e35b2a6a93f92a33a2fd14f90.jpg",
+ "https://o1.fengqingyang.ml/old/35ffa20f3b8fac16e0c7bad104303526.jpg",
+ "https://o1.fengqingyang.ml/old/0c3abe5d65b9781e695bb1f7c98d1b58.jpg",
+ "https://o1.fengqingyang.ml/old/383dc7c6b7b06befa7dda661cc09aff2.jpg",
+ "https://o1.fengqingyang.ml/old/a7efddcd9f02e6462be9fe983f882264.jpg",
+ "https://o1.fengqingyang.ml/old/127ba717d5c64a7affcda43729fee442.jpg",
+ "https://o1.fengqingyang.ml/old/17ca6fa31ab10868ce96ef677287dc25.jpg",
+ "https://o1.fengqingyang.ml/old/f79ec23db1889072f74b526f166ed97a.jpg",
+ "https://o1.fengqingyang.ml/old/7797ff1bd035d29eaa701bee40a0d87e.jpg",
+ "https://o1.fengqingyang.ml/old/f787c8189bed89658cc85f68092ee8d2.jpg",
+ "https://o1.fengqingyang.ml/old/ff656de0fa792ac6b53d672e072d57a8.jpg",
+ "https://o1.fengqingyang.ml/old/24739fddec3b4d2d73bc61b9e08c82d7.jpg",
+ "https://o1.fengqingyang.ml/old/10744e276eb7d166f44a71cb6c0e48a6.jpg",
+ "https://o1.fengqingyang.ml/old/34f54b023b3f953c0136a713f17f581e.jpg",
+ "https://o1.fengqingyang.ml/old/89fc1eacb8ab7947860725ed4b9db5f1.jpg",
+ "https://o1.fengqingyang.ml/old/380d578396af6ad2041f1faf0cb90016.jpg",
+ "https://o1.fengqingyang.ml/old/4c354690846ced60ff22c64cf179a118.jpg",
+ "https://o1.fengqingyang.ml/old/f5ef268114d87af7051f00adb7d98cc2.jpg",
+ "https://o1.fengqingyang.ml/old/e41bc29f04821bdf0c1ba283265cd4f5.jpg",
+ "https://o1.fengqingyang.ml/old/4c2a3c0e7f3daa0fd5f9f1aee784782c.jpg",
+ "https://o1.fengqingyang.ml/old/04fa360b6747bd93b8bdce2aef5b938c.jpg",
+ "https://o1.fengqingyang.ml/old/209842e6a16876d3a0e21b31a0de03d7.jpg",
+ "https://o1.fengqingyang.ml/old/3e8aed8d5f74f667676fe0844c994381.jpg",
+ "https://o1.fengqingyang.ml/old/62c014379d48a0de9916205e7d97fa08.jpg",
+ "https://o1.fengqingyang.ml/old/f699db5a390566fe0f1403b6b05b55cf.jpg",
+ "https://o1.fengqingyang.ml/old/4cd72adb5098fffeb4ebeb17f5e5e5c3.jpg",
+ "https://o1.fengqingyang.ml/old/64f5e3f0c20c4d49c94d85612ac04b7d.jpg",
+ "https://o1.fengqingyang.ml/old/07c80ea81d58bf21bdc7940cc9102acb.jpg",
+ "https://o1.fengqingyang.ml/old/12f83d8a53b043cf74ddf3446736dfe5.jpg",
+ "https://o1.fengqingyang.ml/old/31dcba6a960e4d130efd0cf5d42acbb0.jpg",
+ "https://o1.fengqingyang.ml/old/b1691c8d20273b6dc81e4a109dba0d60.jpg",
+ "https://o1.fengqingyang.ml/old/2be031dbf32d2b33aab8c2ec363e53ef.jpg",
+ "https://o1.fengqingyang.ml/old/3b694bdd271069572e923a43123873da.jpg",
+ "https://o1.fengqingyang.ml/old/00f219c6313690ff04536d1814f67fc7.jpg",
+ "https://o1.fengqingyang.ml/old/170d8ca7293a3d6b4dec2ccf12a98433.jpg",
+ "https://o1.fengqingyang.ml/old/5181ad74c9145956e9599468dd7c79a0.jpg",
+ "https://o1.fengqingyang.ml/old/727cf4984a9f5d80b4580fed1a687ce7.jpg",
+ "https://o1.fengqingyang.ml/old/39fa46baea75e4a0db1f07144d468717.jpg",
+ "https://o1.fengqingyang.ml/old/2f1e90e082ed2a8ddc33436a614f9769.jpg",
+ "https://o1.fengqingyang.ml/old/8fcc94683bf34648e14eaeb246ec2695.jpg",
+ "https://o1.fengqingyang.ml/old/dfdf65c9e27658e060cd87ce67f9c00b.jpg",
+ "https://o1.fengqingyang.ml/old/872052196f02e6f2eb0db2a5408b1272.jpg",
+ "https://o1.fengqingyang.ml/old/10aadec39da681a84fdd77297f6940f9.jpg",
+ "https://o1.fengqingyang.ml/old/61176a4a1265e131ba1ec6b6879c19ba.jpg",
+ "https://o1.fengqingyang.ml/old/b12b17b481b41bda3858ee5ef1f40e2b.jpg",
+ "https://o1.fengqingyang.ml/old/dc2a6dd88944ad58d1ce4b3f612755e1.jpg",
+ "https://o1.fengqingyang.ml/old/b88f324a7a73bf46812109a1e3ecbc12.jpg",
+ "https://o1.fengqingyang.ml/old/54390271f66b97c27c91c1d4e5a42d9c.jpg",
+ "https://o1.fengqingyang.ml/old/c17299bce029c069c1faf481982588fc.jpg",
+ "https://o1.fengqingyang.ml/old/bb10a658c73718a371cfb9b06a477b8c.jpg",
+ "https://o1.fengqingyang.ml/old/63e1a47d28f1cb590a9b7dc557659079.jpg",
+ "https://o1.fengqingyang.ml/old/19c56581da784775748636cc323ad638.jpg",
+ "https://o1.fengqingyang.ml/old/e38d448f23753545bfa7f756b3a6982e.jpg",
+ "https://o1.fengqingyang.ml/old/cfa7a1cc937d35e9157d20f7ddef32c0.jpg",
+ "https://o1.fengqingyang.ml/old/4c15c489c4bc0ffa50e4e6e2b635cf7f.jpg",
+ "https://o1.fengqingyang.ml/old/7d1670fd78ecf49c4820627832fd507c.jpg",
+ "https://o1.fengqingyang.ml/old/0f71cd5a3134be71e81a87f27b0b0575.jpg",
+ "https://o1.fengqingyang.ml/old/39a667ec149b9ca6eaed217e25516dc2.jpg",
+ "https://o1.fengqingyang.ml/old/090ef45fbe733a8be0fbef60b7e37029.jpg",
+ "https://o1.fengqingyang.ml/old/41e7e081bf48bf205b2a9a823dc41469.jpg",
+ "https://o1.fengqingyang.ml/old/7ecb89613cac4f5b1b278145af894d37.jpg",
+ "https://o1.fengqingyang.ml/old/c84005e23030ace5e66c8c3e53b40c17.jpg",
+ "https://o1.fengqingyang.ml/old/203e880890a61679d11176f21b046ca8.jpg",
+ "https://o1.fengqingyang.ml/old/f62de952e17a55b32f231f7a0edae450.jpg",
+ "https://o1.fengqingyang.ml/old/88eeacbb05fd2e715fbfa79b99703db1.jpg",
+ "https://o1.fengqingyang.ml/old/5446aad9ee878e8991e8ffb70f77df09.jpg",
+ "https://o1.fengqingyang.ml/old/c320baa9693cb8132bcaae409adb03ca.jpg",
+ "https://o1.fengqingyang.ml/old/7890519ba4d31932b1dfda4d86badf0f.jpg",
+ "https://o1.fengqingyang.ml/old/3c88dbab521bfcc2e9d62be2f339ad41.jpg",
+ "https://o1.fengqingyang.ml/old/635f6afa2e38e56855b30c7ef7d28314.jpg",
+ "https://o1.fengqingyang.ml/old/ff2afdfb6d5aa35193ced65b99451e80.jpg",
+ "https://o1.fengqingyang.ml/old/65535e292cae4172197456c7e9cf3663.jpg",
+ "https://o1.fengqingyang.ml/old/a981ac80cc3e40c0d7cf4b1ea16c3e03.jpg",
+ "https://o1.fengqingyang.ml/old/77f5d6da0e4776ddae70ad13d3028ce0.jpg",
+ "https://o1.fengqingyang.ml/old/eeb0114c5324417041327e0a6e7c9dd7.jpg",
+ "https://o1.fengqingyang.ml/old/1f929f7bdfb99dfa5236f45b31630b17.jpg",
+ "https://o1.fengqingyang.ml/old/4a9bddf53c71188ad475a413eb558cf6.jpg",
+ "https://o1.fengqingyang.ml/old/481a077c9cd7f64a4d4f05eff284cb8c.jpg",
+ "https://o1.fengqingyang.ml/old/dd53bb4e8491b00f1478ba6980be57c9.jpg",
+ "https://o1.fengqingyang.ml/old/78249de81e827f89ea2202bb86935a07.jpg",
+ "https://o1.fengqingyang.ml/old/5266cfc7021a41b8ea2e0b03cd682153.jpg",
+ "https://o1.fengqingyang.ml/old/97938f61ebe375e7b961d0c3f6056b09.jpg",
+ "https://o1.fengqingyang.ml/old/ebf897e92b48378214d44e9d8f0e5190.jpg",
+ "https://o1.fengqingyang.ml/old/39a582de94262881274ec0d61c333d58.jpg",
+ "https://o1.fengqingyang.ml/old/d247661a26055926cd76c1c2d898a931.jpg",
+ "https://o1.fengqingyang.ml/old/cd5c6109f722fe3e964ed2056e9420d7.jpg",
+ "https://o1.fengqingyang.ml/old/51f1c8d44c21850a9e732147b69b48c3.jpg",
+ "https://o1.fengqingyang.ml/old/bba1735b0a767978f6a0f9838abb3070.jpg",
+ "https://o1.fengqingyang.ml/old/145d0e6d794127160e5201c79b426b00.jpg",
+ "https://o1.fengqingyang.ml/old/e6a943a399fcf5b40c2031e44a56960f.jpg",
+ "https://o1.fengqingyang.ml/old/fd5a0ff2ede35342edf0a01b5cba7f3a.jpg",
+ "https://o1.fengqingyang.ml/old/7ccea3ef9f912b94191607a2ce2811c1.jpg",
+ "https://o1.fengqingyang.ml/old/57eaa41c519deaf793ba40239a3f347d.jpg",
+ "https://o1.fengqingyang.ml/old/fc9a844bfab31d78e7b8c1f0d9845268.jpg",
+ "https://o1.fengqingyang.ml/old/1b782cd6f97babd09a2d7afe57484706.jpg",
+ "https://o1.fengqingyang.ml/old/b2e239241fcab1a5037e900a24cfe3ba.jpg",
+ "https://o1.fengqingyang.ml/old/ee62fa3218fe07ff1ff3d86be06ebf1a.jpg",
+ "https://o1.fengqingyang.ml/old/d3312f86d5e6d68a0e668c3ad01dd90d.jpg",
+ "https://o1.fengqingyang.ml/old/650fe20e9fd6e9aefbadad4ff420fba0.jpg",
+ "https://o1.fengqingyang.ml/old/202282f18242aad131ded9c496993ce4.jpg",
+ "https://o1.fengqingyang.ml/old/9c6fd46c095893fd209fbb9454e2e9ef.jpg",
+ "https://o1.fengqingyang.ml/old/8a0ae368bc4e728e3aa9dcef09b51550.jpg",
+ "https://o1.fengqingyang.ml/old/7dc75648ccfa9e5d1b440deab577f3f9.jpg",
+ "https://o1.fengqingyang.ml/old/3bcf001c2672ec733b810f2389f29600.jpg",
+ "https://o1.fengqingyang.ml/old/706a17ad9e947dee668af6fc8ae10f18.jpg",
+ "https://o1.fengqingyang.ml/old/0ba4de8b50f825e197a3d44d8fee2b87.jpg",
+ "https://o1.fengqingyang.ml/old/584bdeeb11092afa3fc29fdca60fdf39.jpg",
+ "https://o1.fengqingyang.ml/old/7b28aa87123d29e7a9000edbcc92af8f.jpg",
+ "https://o1.fengqingyang.ml/old/3f2a408e14d4170553536fa21fa1f3ea.jpg",
+ "https://o1.fengqingyang.ml/old/77c42932a9327294aad15aeb0336ec6a.jpg",
+ "https://o1.fengqingyang.ml/old/27c58d714ba024fa92bdb70f1beecf41.jpg",
+ "https://o1.fengqingyang.ml/old/19da416f2b35571458e1e18847135eaa.jpg",
+ "https://o1.fengqingyang.ml/old/1a6a4bcea7cf3bb527e02b13b3b64d88.jpg",
+ "https://o1.fengqingyang.ml/old/0fe11c34bec0f1cd020a0fc533976b8b.jpg",
+ "https://o1.fengqingyang.ml/old/f4e2bcc71b8f99c69f59c6d90e3ba092.jpg",
+ "https://o1.fengqingyang.ml/old/585e5200d1f0a4bf732f7cb51a79448b.jpg",
+ "https://o1.fengqingyang.ml/old/771f77be5a2f3f88c1d2ea55aec886b6.jpg",
+ "https://o1.fengqingyang.ml/old/4ea595c4d697739f94391226f6a7b6ab.jpg",
+ "https://o1.fengqingyang.ml/old/0c60639b1378db254f58d248e5ed8ab1.jpg",
+ "https://o1.fengqingyang.ml/old/00daa96fc5ff5b2c1eca5bf7135212ce.jpg",
+ "https://o1.fengqingyang.ml/old/cbd3d0557a5f50e57f18e30c315b3f67.jpg",
+ "https://o1.fengqingyang.ml/old/1b38b9fea930cdbe18508911fd90a7b7.jpg",
+ "https://o1.fengqingyang.ml/old/ecdde090e249cfb89cdd6cdd250cf2bd.jpg",
+ "https://o1.fengqingyang.ml/old/2313e3ceacf8249ed825c38e6a4286e6.jpg",
+ "https://o1.fengqingyang.ml/old/bd069f1caf06a68249b0e9e542018f29.jpg",
+ "https://o1.fengqingyang.ml/old/95445c3f0642e1f6af2d19a552ed176d.jpg",
+ "https://o1.fengqingyang.ml/old/63f1cfb75b7eb3b4a8a85148a939caa0.jpg",
+ "https://o1.fengqingyang.ml/old/a001e493d5e965762b7c3a0e8c0538fb.jpg",
+ "https://o1.fengqingyang.ml/old/cd9844af54a24a882b6cf38c6fad4b5c.jpg",
+ "https://o1.fengqingyang.ml/old/0fa35b6a3cdc7ae5fb12eafdff577633.jpg",
+ "https://o1.fengqingyang.ml/old/7ab1e3545edc5f81b3de386fcfd05661.jpg",
+ "https://o1.fengqingyang.ml/old/b3aea8a1bb52d6a107e301b67824ddae.jpg",
+ "https://o1.fengqingyang.ml/old/87a91bd082ff2f6f5e26b19a24c21cf7.jpg",
+ "https://o1.fengqingyang.ml/old/0657322f2094460faf62b5939f84387a.jpg",
+ "https://o1.fengqingyang.ml/old/cea996dc49688c9cb972d6d6cf2c2c54.jpg",
+ "https://o1.fengqingyang.ml/old/fcdb0b23e26b586ee3e2b570354538a2.jpg",
+ "https://o1.fengqingyang.ml/old/7411827e6a9269be84eeb50e2b7b30d6.jpg",
+ "https://o1.fengqingyang.ml/old/c57b7dae6cbae1fe2e87954c7b445acb.jpg",
+ "https://o1.fengqingyang.ml/old/12b0fb76034a8b9d8822f8c00ce818bc.jpg",
+ "https://o1.fengqingyang.ml/old/70928d7ac604a86a44b7540f2a02207f.jpg",
+ "https://o1.fengqingyang.ml/old/5b528eb5d82227e7725717a716108663.jpg",
+ "https://o1.fengqingyang.ml/old/682d9e8af594777ad7e1c8a7d24073c1.jpg",
+ "https://o1.fengqingyang.ml/old/c49d489bb948104f32b3dfad20fe9cb3.jpg",
+ "https://o1.fengqingyang.ml/old/56f87912258d8aa14a9499a4d3d51f58.jpg",
+ "https://o1.fengqingyang.ml/old/77bfbd8ca4233f7be594af1e329997ab.jpg",
+ "https://o1.fengqingyang.ml/old/2d917d9b140deda3c7c88fed527cb992.jpg",
+ "https://o1.fengqingyang.ml/old/60693acc3c116b103ee75df8d0e2793a.jpg",
+ "https://o1.fengqingyang.ml/old/2496d99bf79a65e3a3e0eb743db579f1.jpg",
+ "https://o1.fengqingyang.ml/old/e66792602fa64fabc598d1ebc22671a3.jpg",
+ "https://o1.fengqingyang.ml/old/d7b72fac0fffd037935bdae2bee641e6.jpg",
+ "https://o1.fengqingyang.ml/old/1bc201f7d4c02e7f1a86ffc9a4df68eb.jpg",
+ "https://o1.fengqingyang.ml/old/6fc5f5d74c8bde33c7bcdd0a48e37e24.jpg",
+ "https://o1.fengqingyang.ml/old/a3e75684d82204a52634c824dbc94aab.jpg",
+ "https://o1.fengqingyang.ml/old/9356b63f4b12e1c702a0e58212e75014.jpg",
+ "https://o1.fengqingyang.ml/old/53656fabb543cf3522364578078d6121.jpg",
+ "https://o1.fengqingyang.ml/old/9ba18fe24bda5d884b268ce8e97a9208.jpg",
+ "https://o1.fengqingyang.ml/old/c35011376483bf55b7b912f2c986f44e.jpg",
+ "https://o1.fengqingyang.ml/old/1b3fe7ba5295298d3b10d7f53d1455f9.jpg",
+ "https://o1.fengqingyang.ml/old/d4b4b6e27cf22677cb757122b635a423.jpg",
+ "https://o1.fengqingyang.ml/old/deb6c51879b96cd8ac5b99939e9eb398.jpg",
+ "https://o1.fengqingyang.ml/old/a2eaa28b49afd0c74d1166880f145e6a.jpg",
+ "https://o1.fengqingyang.ml/old/85a1ab33b43abdbff0b135e4981c52fd.jpg",
+ "https://o1.fengqingyang.ml/old/1eb9198baa07a27ee79201c16a6aaeff.jpg",
+ "https://o1.fengqingyang.ml/old/8329d3b35cf7e3f410dcd9d06843d1f8.jpg",
+ "https://o1.fengqingyang.ml/old/97fa1717522056508c6ab0f2716c6573.jpg",
+ "https://o1.fengqingyang.ml/old/86ad15ba95180be991ed5fec6b6e3430.jpg",
+ "https://o1.fengqingyang.ml/old/2aaa0432d8c208fefd636812ae8fd197.jpg",
+ "https://o1.fengqingyang.ml/old/5379f26ec5083113ba1dd317074de54b.jpg",
+ "https://o1.fengqingyang.ml/old/8700bf7a031883ea5f20b056ea1cfb75.jpg",
+ "https://o1.fengqingyang.ml/old/f01aae899f1f175c44056360d04d73ad.jpg",
+ "https://o1.fengqingyang.ml/old/4ade3ab3c2a7231f0cfe1327ca025088.jpg",
+ "https://o1.fengqingyang.ml/old/c3f6f0d2e5ebefc4a219b3727e711cf1.jpg",
+ "https://o1.fengqingyang.ml/old/a4580aa01a7f7bf81f6d099b8158f5dd.jpg",
+ "https://o1.fengqingyang.ml/old/3bc66ecf72c79c1d2e1e3f578ddccb74.jpg",
+ "https://o1.fengqingyang.ml/old/9e10c47834933d9a12539fcd92b2b13f.jpg",
+ "https://o1.fengqingyang.ml/old/f0dec9da5c48d76dfe246405e7970d39.jpg",
+ "https://o1.fengqingyang.ml/old/f71804f8d88cc0cc6dbe10e73ec226f5.jpg",
+ "https://o1.fengqingyang.ml/old/1348b507042480280924c2eac6c05b03.jpg",
+ "https://o1.fengqingyang.ml/old/1017e7c67d6a30a316aad6b80a50d4d9.jpg",
+ "https://o1.fengqingyang.ml/old/54b1eb1fd313d6777968d08e17ea2a66.jpg",
+ "https://o1.fengqingyang.ml/old/aefabaf010caafdfd24e54d810add146.jpg",
+ "https://o1.fengqingyang.ml/old/1ee5daded7facecbd8f0f0c78b2e1124.jpg",
+ "https://o1.fengqingyang.ml/old/c145b2898a6faa525fb78df0e88a23fc.jpg",
+ "https://o1.fengqingyang.ml/old/ec07b20552c5a49701907d78128c9948.jpg",
+ "https://o1.fengqingyang.ml/old/77116e3ab77fd72861872ec0e6bac5be.jpg",
+ "https://o1.fengqingyang.ml/old/d2d6ac07bed57c70fcb9547afba0df64.jpg",
+ "https://o1.fengqingyang.ml/old/52de46bfe2afb368eaa599381b1dbd26.jpg",
+ "https://o1.fengqingyang.ml/old/8286e805ef5e64aa824158f87ae91e51.jpg",
+ "https://o1.fengqingyang.ml/old/c9111e292c11e1b870b653d1dbca5465.jpg",
+ "https://o1.fengqingyang.ml/old/d15e7711882066a62e688be591f94f9d.jpg",
+ "https://o1.fengqingyang.ml/old/7849b600304fccd9edef7a3ad09a4ad5.jpg",
+ "https://o1.fengqingyang.ml/old/4f2db26c2fc17350a795fe6a571da75f.jpg",
+ "https://o1.fengqingyang.ml/old/04b7d569dc12a671e5ac0735d502c265.jpg",
+ "https://o1.fengqingyang.ml/old/c905e253a66cf96da086daa3cba9a567.jpg",
+ "https://o1.fengqingyang.ml/old/4d0e61a128bbce1060cc11abfb9ae9ad.jpg",
+ "https://o1.fengqingyang.ml/old/07733f764cfab77fd5e805a3498136e6.jpg",
+ "https://o1.fengqingyang.ml/old/fd17c3b70d4be0ef99b71d6fc91d5303.jpg",
+ "https://o1.fengqingyang.ml/old/8e169a7b075731467ff3659c9896a325.jpg",
+ "https://o1.fengqingyang.ml/old/18ebfbecfbf4d135aeb153d3a29eba59.jpg",
+ "https://o1.fengqingyang.ml/old/54401216d5f7090fefa3608481b09acb.jpg",
+ "https://o1.fengqingyang.ml/old/577463ebc496fd8b8b72563d4cea201b.jpg",
+ "https://o1.fengqingyang.ml/old/30b28b7659841560240b56424cb3c698.jpg",
+ "https://o1.fengqingyang.ml/old/7094d5697821b5636771678a328d1e7d.jpg",
+ "https://o1.fengqingyang.ml/old/9ad2d28d646f281d1980118923dc3372.jpg",
+ "https://o1.fengqingyang.ml/old/c3cd79cd8f0dcf86d2754c3d40873ea3.jpg",
+ "https://o1.fengqingyang.ml/old/77565fa3aba441b26c7b763d70309732.jpg",
+ "https://o1.fengqingyang.ml/old/b1c9fb05a6cac44b341327a7181ad36e.jpg",
+ "https://o1.fengqingyang.ml/old/db7fdf50d7918d00efb8760861545598.jpg",
+ "https://o1.fengqingyang.ml/old/8b91856ca5874a68579a89a8ad13f18f.jpg",
+ "https://o1.fengqingyang.ml/old/82022e4c11af970a8c7a3a64b4dff0a4.jpg",
+ "https://o1.fengqingyang.ml/old/51998d29350a1fa49bc056bcbf653726.jpg",
+ "https://o1.fengqingyang.ml/old/2492eef164d0f7c94e4f518079d7bc67.jpg",
+ "https://o1.fengqingyang.ml/old/6ba236145e1f1b88f80988e73ceffae8.jpg",
+ "https://o1.fengqingyang.ml/old/091dade9caa1f7eaca3a3f7d6f55819d.jpg",
+ "https://o1.fengqingyang.ml/old/5380236357bfd63584903ffce08cfb85.jpg",
+ "https://o1.fengqingyang.ml/old/673b88db2052e129123a49a9ca90d625.jpg",
+ "https://o1.fengqingyang.ml/old/70307a1fdde8ff1c5b8c522fc46f66df.jpg",
+ "https://o1.fengqingyang.ml/old/c87f19682ba549ee8b021b7158017234.jpg",
+ "https://o1.fengqingyang.ml/old/69dc1012439d033c00e682ab55122cf3.jpg",
+ "https://o1.fengqingyang.ml/old/f5b7a61359518b0c7cb4e5965a81ff54.jpg",
+ "https://o1.fengqingyang.ml/old/76f763380a6ac0f4368c015011749f15.jpg",
+ "https://o1.fengqingyang.ml/old/46b65d0f7fc7c12052efb061d9abe70d.jpg",
+ "https://o1.fengqingyang.ml/old/00fd28ec4137de4e24ea525b22e810d1.jpg",
+ "https://o1.fengqingyang.ml/old/9b0079eda0092135562d541b49470ff4.jpg",
+ "https://o1.fengqingyang.ml/old/a1776899e0be2b6dfa87982ea70c5981.jpg",
+ "https://o1.fengqingyang.ml/old/330a11e4024c673490d7f12720aac0a0.jpg",
+ "https://o1.fengqingyang.ml/old/def65c2125985cae8ae687ea9d5b3952.jpg",
+ "https://o1.fengqingyang.ml/old/b88d86af4443b127b16d9f4ccb6da086.jpg",
+ "https://o1.fengqingyang.ml/old/1e5af115b11baf8551f437c167db3558.jpg",
+ "https://o1.fengqingyang.ml/old/6d2d82eef1d01a2ef30eac62597a52cd.jpg",
+ "https://o1.fengqingyang.ml/old/8f602fffbf8128740c3943a5e2cb5864.jpg",
+ "https://o1.fengqingyang.ml/old/545bd802014ded3df5608bd441be3355.jpg",
+ "https://o1.fengqingyang.ml/old/65ccc5911c009619aafcad9f2b86aa23.jpg",
+ "https://o1.fengqingyang.ml/old/b03ec08385a2cf182f52ff855765a363.jpg",
+ "https://o1.fengqingyang.ml/old/d13f7ce172f891a8505dd2cd25ad0b4c.jpg",
+ "https://o1.fengqingyang.ml/old/82cc25fed277cbca4257c3bd704e8112.jpg",
+ "https://o1.fengqingyang.ml/old/5712d40f69347bbdeccfea0310f210e9.jpg",
+ "https://o1.fengqingyang.ml/old/e26ed66934e6760c0ae159051e01af32.jpg",
+ "https://o1.fengqingyang.ml/old/44b4b69819a7a1466d0fb1ef06a7104f.jpg",
+ "https://o1.fengqingyang.ml/old/3381dcb0aa676ce0cc55aaf193f8ff63.jpg",
+ "https://o1.fengqingyang.ml/old/db675185ed687d66a1ac899e53014612.jpg",
+ "https://o1.fengqingyang.ml/old/1bf96e4a243c001869c325d022c7c238.jpg",
+ "https://o1.fengqingyang.ml/old/2d4a2b1615fa27e05d2bbf380fde7bce.jpg",
+ "https://o1.fengqingyang.ml/old/670ca591c2f788761a42a17179cb6eac.jpg",
+ "https://o1.fengqingyang.ml/old/83ee57fd4be0e07a1dd2069031bb9ee7.jpg",
+ "https://o1.fengqingyang.ml/old/074d93a8185797aa51ec80dada605ab8.jpg",
+ "https://o1.fengqingyang.ml/old/7539c4eb165ce2adf49aba42eac98127.jpg",
+ "https://o1.fengqingyang.ml/old/bb17bfd2091d26f6172da6cf7abfcefc.jpg",
+ "https://o1.fengqingyang.ml/old/ef9131f74e029dc86745310f6833873f.jpg",
+ "https://o1.fengqingyang.ml/old/11b2a8708fc84a7b06aef75143c4c878.jpg",
+ "https://o1.fengqingyang.ml/old/2d4cb45d84e0780f63c2d6ad9bfee002.jpg",
+ "https://o1.fengqingyang.ml/old/32e4b8363699462c96c685845de29d40.jpg",
+ "https://o1.fengqingyang.ml/old/9c31222da796d48deb886f758178a57e.jpg",
+ "https://o1.fengqingyang.ml/old/1cbc083e3810e8a64539ac69b4b212e0.jpg",
+ "https://o1.fengqingyang.ml/old/d07f7db5fdfd58d92062edf654f37a2f.jpg",
+ "https://o1.fengqingyang.ml/old/28e36e2c5fa70b42a6afea4a4ef26424.jpg",
+ "https://o1.fengqingyang.ml/old/e57639c523a7d70d5fcd24730d6159a0.jpg",
+ "https://o1.fengqingyang.ml/old/fe1c128b74c0c8ad852ec0e2337b93e6.jpg",
+ "https://o1.fengqingyang.ml/old/69cd96ba952b7820dac767e2018129ce.jpg",
+ "https://o1.fengqingyang.ml/old/29f22a441627293cfbafbf4826f02380.jpg",
+ "https://o1.fengqingyang.ml/old/bf195204108c701964bcda07e7472bf8.jpg",
+ "https://o1.fengqingyang.ml/old/6b887669227836af4ad26c4a9706bd98.jpg",
+ "https://o1.fengqingyang.ml/old/86d17eb935ef82e9a814af81ba870811.jpg",
+ "https://o1.fengqingyang.ml/old/4ee35183230e131918c34d5539f92cc1.jpg",
+ "https://o1.fengqingyang.ml/old/d6d1906200d26b92e5065b965c46a117.jpg",
+ "https://o1.fengqingyang.ml/old/9f9d9a2854887112f5eb09b5b9ce4834.jpg",
+ "https://o1.fengqingyang.ml/old/d14f70d05bf0f2f8813b24f2c272447c.jpg",
+ "https://o1.fengqingyang.ml/old/cbfc2e15738ec48474b8a5c2bc670f8b.jpg",
+ "https://o1.fengqingyang.ml/old/4c2a305a840b29521c320c0ab520db07.jpg",
+ "https://o1.fengqingyang.ml/old/2761787c56ee21c7e456d20cb23ab47c.jpg",
+ "https://o1.fengqingyang.ml/old/36ed8440e3b478970a9afbd69519af46.jpg",
+ "https://o1.fengqingyang.ml/old/a1e3d7911064008a6b5aa6aba136b6ce.jpg",
+ "https://o1.fengqingyang.ml/old/562cb1f5258d406417a9b51feef1c402.jpg",
+ "https://o1.fengqingyang.ml/old/40dfd46f5d8353c0907e0ab0a03a8bf7.jpg",
+ "https://o1.fengqingyang.ml/old/295b3e27711765a687e1e668307fadaf.jpg",
+ "https://o1.fengqingyang.ml/old/a44b5623da71f9fad1dfb26ee1d877bf.jpg",
+ "https://o1.fengqingyang.ml/old/275ae9791199bc120eb5962183f11316.jpg",
+ "https://o1.fengqingyang.ml/old/95b86c3ac43c0c7b70084cd7d94803d0.jpg",
+ "https://o1.fengqingyang.ml/old/f339e4c42154f2b7e5bc538d698ccba8.jpg",
+ "https://o1.fengqingyang.ml/old/4d7fc2dc66b315076d224d2aefecffe3.jpg",
+ "https://o1.fengqingyang.ml/old/47ab7cb8514ea877d3e772130db5ce52.jpg",
+ "https://o1.fengqingyang.ml/old/0862ee9034659c7900a1eb4b01df2d42.jpg",
+ "https://o1.fengqingyang.ml/old/6734441454d4db6dc706765c2281bd1d.jpg",
+ "https://o1.fengqingyang.ml/old/c7025eaa1f926edb5ebd4b63d58c2860.jpg",
+ "https://o1.fengqingyang.ml/old/23de29e60a31b293df9cd9c1ad255aad.jpg",
+ "https://o1.fengqingyang.ml/old/1ea33c232dc1d860716ca132ae032186.jpg",
+ "https://o1.fengqingyang.ml/old/7bffa1bd53399d66b7a2d790512ed082.jpg",
+ "https://o1.fengqingyang.ml/old/60c5df1fd4bb2ced3128e1e838fb72f0.jpg",
+ "https://o1.fengqingyang.ml/old/0e6f233dcfe284da062572c1cbcd98fd.jpg",
+ "https://o1.fengqingyang.ml/old/7a91a2e377ba8d058502271b9a0a7702.jpg",
+ "https://o1.fengqingyang.ml/old/3bd1e4e1bef7fde0b694536da38dcd28.jpg",
+ "https://o1.fengqingyang.ml/old/03549d15a8b43386e88b3dff7a9cbab9.jpg",
+ "https://o1.fengqingyang.ml/old/c70f9171578a42e93ca38a8823731902.jpg",
+ "https://o1.fengqingyang.ml/old/48aaf809b39d0a11c0af688af0a1a651.jpg",
+ "https://o1.fengqingyang.ml/old/5bf28f45ebd2e7b09847d2a63ccff3d8.jpg",
+ "https://o1.fengqingyang.ml/old/bccd5d2f73ac62c61648790c634edec4.jpg",
+ "https://o1.fengqingyang.ml/old/30f1de0377f360b147eb22443a001f85.jpg",
+ "https://o1.fengqingyang.ml/old/28e8618b79c50b76af6181ff3a8c5242.jpg",
+ "https://o1.fengqingyang.ml/old/295ed967ae609b452066971e69044dfc.jpg",
+ "https://o1.fengqingyang.ml/old/35a24c7e3c3e243a104eaa96328e8888.jpg",
+ "https://o1.fengqingyang.ml/old/038cbd5110115dab5a892965853455e8.jpg",
+ "https://o1.fengqingyang.ml/old/e4ee01de8b85bb20a543f2ee12d220c2.jpg",
+ "https://o1.fengqingyang.ml/old/aebfe31e56c1a91750091a90aee91063.jpg",
+ "https://o1.fengqingyang.ml/old/ab2cdaf70bc713b7421ca9efaf7c9f98.jpg",
+ "https://o1.fengqingyang.ml/old/3ce652c5afa5f3afd931c75ef68779ca.jpg",
+ "https://o1.fengqingyang.ml/old/23212203d25e3706492207fb04079965.jpg",
+ "https://o1.fengqingyang.ml/old/3fe6a7b71b587cd6b7c7e242c059e47a.jpg",
+ "https://o1.fengqingyang.ml/old/7978348c638ff31d1e93f8b9d91a6949.jpg",
+ "https://o1.fengqingyang.ml/old/eec96164e1c44da1b90516c015fe0f61.jpg",
+ "https://o1.fengqingyang.ml/old/8514d05c1b3ae67b17d8a836919d555b.jpg",
+ "https://o1.fengqingyang.ml/old/262320bab9993c5b08f82d9e7ac322bf.jpg",
+ "https://o1.fengqingyang.ml/old/63824d136c9a8bc0b6022fc1db07c7cf.jpg",
+ "https://o1.fengqingyang.ml/old/b4fe2d6e10e46aac226879c49379fad3.jpg",
+ "https://o1.fengqingyang.ml/old/82baefbd8ad85b1dd23c84d8fb23e16f.jpg",
+ "https://o1.fengqingyang.ml/old/9b2d1c50155bfae9471b72ac58f24f7b.jpg",
+ "https://o1.fengqingyang.ml/old/c143dc0707daf3de4a93a4a0fa840666.jpg",
+ "https://o1.fengqingyang.ml/old/61116611252dfbea554cd1048426c8a0.jpg",
+ "https://o1.fengqingyang.ml/old/f1c43bab39fcdd19c0377ae2b80ec305.jpg",
+ "https://o1.fengqingyang.ml/old/f06b32db13ab7fdf66cadb7e9a737566.jpg",
+ "https://o1.fengqingyang.ml/old/cbcc99386eace983ef18b4ae007d3e26.jpg",
+ "https://o1.fengqingyang.ml/old/d449fbfbaa065e88d27682aeed40be56.jpg",
+ "https://o1.fengqingyang.ml/old/0893a52f7c88246473fa2703bff5a046.jpg",
+ "https://o1.fengqingyang.ml/old/106eb91f03ed0182e917e2e1ad57d837.jpg",
+ "https://o1.fengqingyang.ml/old/0ff4d72c4e384bc0d3905cc77e7b864c.jpg",
+ "https://o1.fengqingyang.ml/old/22e2e7a50074a45f9d292b3c79491c13.jpg",
+ "https://o1.fengqingyang.ml/old/c33299a9db0229e7190e6ec1a7775a5a.jpg",
+ "https://o1.fengqingyang.ml/old/a82f961da975e76416fb45403f66a32b.jpg",
+ "https://o1.fengqingyang.ml/old/b5a8d829499f3a680998909a3f2aa885.jpg",
+ "https://o1.fengqingyang.ml/old/a195ee32fe1bcbad0156e03cac09fdd1.jpg",
+ "https://o1.fengqingyang.ml/old/f616c813c6fb4feb895f6c92c70d3a8b.jpg",
+ "https://o1.fengqingyang.ml/old/84e70a77e99c6b82f3b3383dbe0fda21.jpg",
+ "https://o1.fengqingyang.ml/old/e84189a64a5eb1c9284a56a313521813.jpg",
+ "https://o1.fengqingyang.ml/old/de67b84007afa6d1ba970c9470344ac2.jpg",
+ "https://o1.fengqingyang.ml/old/17f81195691c091cacc00da21a7130d7.jpg",
+ "https://o1.fengqingyang.ml/old/4802cfaf5a35a457b7f15a028ddc4f51.jpg",
+ "https://o1.fengqingyang.ml/old/af62b738139edf83a27e67e447258435.jpg",
+ "https://o1.fengqingyang.ml/old/53ff98f5358ebddde9c2fb5e7b9f64fc.jpg",
+ "https://o1.fengqingyang.ml/old/da7aeec84a58bd61c493b231c18f7c4a.jpg",
+ "https://o1.fengqingyang.ml/old/e5e1c104df59bef98fa921c7b771455d.jpg",
+ "https://o1.fengqingyang.ml/old/71d3c57e2b110a14fc81fd8f0a1bfc01.jpg",
+ "https://o1.fengqingyang.ml/old/943092dbf39d18965779c0487dc4663c.jpg",
+ "https://o1.fengqingyang.ml/old/b1957473aac4dac3a61a5635ba61a7b8.jpg",
+ "https://o1.fengqingyang.ml/old/c343a1ca86c6cd22858c8f40b8fc4a38.jpg",
+ "https://o1.fengqingyang.ml/old/0e89e686104cf76a899dddedc4df427d.jpg",
+ "https://o1.fengqingyang.ml/old/4eaefb622340ad8321a36eebaa83bb4d.jpg",
+ "https://o1.fengqingyang.ml/old/4815d481ef7dc697dc35858c383edcaa.jpg",
+ "https://o1.fengqingyang.ml/old/6ae602dc1bc3b134b57c5835bbb6b061.jpg",
+ "https://o1.fengqingyang.ml/old/2c11b0f56e4be0ce923bdef1d8c1a4c2.jpg",
+ "https://o1.fengqingyang.ml/old/5b1739b41beacb1abc44f9b3d8a36bb8.jpg",
+ "https://o1.fengqingyang.ml/old/24f543a7150ecd81279a1bd0bf8b3303.jpg",
+ "https://o1.fengqingyang.ml/old/851e27e52de4f01bd9b84a427059e27b.jpg",
+ "https://o1.fengqingyang.ml/old/5b1a4d2718183ead3f01e4ef5f1f1c8a.jpg",
+ "https://o1.fengqingyang.ml/old/5f79573dd9dd92c4a2e39f46f6903893.jpg",
+ "https://o1.fengqingyang.ml/old/e0c28d415f82cd9fb7b1b45790dc5c34.jpg",
+ "https://o1.fengqingyang.ml/old/dd8c7859eda005a6b31036a0f75ae54c.jpg",
+ "https://o1.fengqingyang.ml/old/ed9b1171227374506a779a5d0efa85f6.jpg",
+ "https://o1.fengqingyang.ml/old/b20168ab49ec93d0529b45e1e586aa58.jpg",
+ "https://o1.fengqingyang.ml/old/9f288c8824170a922b7cc36177de435c.jpg",
+ "https://o1.fengqingyang.ml/old/3ebedc066fca4a4c8c8f74e97295c8dd.jpg",
+ "https://o1.fengqingyang.ml/old/d2cef221734bebb505594c8e0fc53c18.jpg",
+ "https://o1.fengqingyang.ml/old/ee5cf603eaf8dbc448e905604a7890e5.jpg",
+ "https://o1.fengqingyang.ml/old/95b0f776ea4c53842bd2ba4607c727a7.jpg",
+ "https://o1.fengqingyang.ml/old/255d3a7a2153c93d757ca85e75cdafdf.jpg",
+ "https://o1.fengqingyang.ml/old/e1f74ef8d25581411f5c4dae5a0a77e5.jpg",
+ "https://o1.fengqingyang.ml/old/3c994b1fc02d13374d971234313d3e7b.jpg",
+ "https://o1.fengqingyang.ml/old/b5ccceabefa5b2a2d6fab74181536f61.jpg",
+ "https://o1.fengqingyang.ml/old/bf7b7eb8b312b53be6ba36ae1acd9dcd.jpg",
+ "https://o1.fengqingyang.ml/old/ab3028159862701eaff82231a2f9bade.jpg",
+ "https://o1.fengqingyang.ml/old/9b63d3bc2c0e491059855bf84234ee47.jpg",
+ "https://o1.fengqingyang.ml/old/9e31330953819c470134c408b031bdcb.jpg",
+ "https://o1.fengqingyang.ml/old/7a80c1aac8925b2fa1b48d08e469cb48.jpg",
+ "https://o1.fengqingyang.ml/old/c02b7d0bb9a1b16f2d4d5715b213e31a.jpg",
+ "https://o1.fengqingyang.ml/old/e896be879ffbd9599d19bc5e43f378b0.jpg",
+ "https://o1.fengqingyang.ml/old/f2259708e29de433aec577c91b494c05.jpg",
+ "https://o1.fengqingyang.ml/old/914c1ed478856309b17c8e59e6d65071.jpg",
+ "https://o1.fengqingyang.ml/old/ce51518f3f86de69916b0f74e9593022.jpg",
+ "https://o1.fengqingyang.ml/old/17be9161904e58dab1a85799e9427871.jpg",
+ "https://o1.fengqingyang.ml/old/c140cfa73fa6d2772e8cead9a1d2e77f.jpg",
+ "https://o1.fengqingyang.ml/old/58487f532d21dabe2a4c6cce029de92b.jpg",
+ "https://o1.fengqingyang.ml/old/1d9cbddb7e9c5ad45a7dd4fc28256726.jpg",
+ "https://o1.fengqingyang.ml/old/bed50b05d8fda1f11c366b3d558e1a9e.jpg",
+ "https://o1.fengqingyang.ml/old/92024d080ae6243f4188f6331bd2afa2.jpg",
+ "https://o1.fengqingyang.ml/old/93aa73eca129fbfe1d7f2e5a2d489c40.jpg",
+ "https://o1.fengqingyang.ml/old/e2df544cab22a585116ed9e7ceef01d7.jpg",
+ "https://o1.fengqingyang.ml/old/812fd8367c656e8d9b58afc96908d8ca.jpg",
+ "https://o1.fengqingyang.ml/old/2d58544854572a83f0c22e5943647286.jpg",
+ "https://o1.fengqingyang.ml/old/229218d7d7c7b21dd512b3ea730f9c61.jpg",
+ "https://o1.fengqingyang.ml/old/afabe7d79b645baa03bf33aff84f12bb.jpg",
+ "https://o1.fengqingyang.ml/old/a6c4c4ccd85660dfd287d2666bdbac9a.jpg",
+ "https://o1.fengqingyang.ml/old/616faad809a552bc30d97ae407a04331.jpg",
+ "https://o1.fengqingyang.ml/old/deb5d1328f0f0cae1bbbee3bbbee2836.jpg",
+ "https://o1.fengqingyang.ml/old/0b70c2f944b0d2ab54c31008b00b1059.jpg",
+ "https://o1.fengqingyang.ml/old/80169ed22cc05b876cf2469c4f95e7a5.jpg",
+ "https://o1.fengqingyang.ml/old/8e99392729c628b47ab44c1146081400.jpg",
+ "https://o1.fengqingyang.ml/old/3e689b48bef85d3c4f71c0035590f680.jpg",
+ "https://o1.fengqingyang.ml/old/158d5e23c9e895d67f40d32ee6a2b9c2.jpg",
+ "https://o1.fengqingyang.ml/old/0d2d2ed63b5b2d6b6b063236725c146b.jpg",
+ "https://o1.fengqingyang.ml/old/6014f67bae0a8896b02b91f12e57298c.jpg",
+ "https://o1.fengqingyang.ml/old/aad6d644121025b363f8bc97b1796621.jpg",
+ "https://o1.fengqingyang.ml/old/65021c6021ab60c4df32ecaffc6f5fc6.jpg",
+ "https://o1.fengqingyang.ml/old/b6ebb257b5ab9c861e74583f44bc3937.jpg",
+ "https://o1.fengqingyang.ml/old/ba6c38ff7f0f28b28d8364e854fc683a.jpg",
+ "https://o1.fengqingyang.ml/old/9714b332a89089543d2302d4dbe11ed7.jpg",
+ "https://o1.fengqingyang.ml/old/8c59deaf36cd2c2ae0a09240812575e4.jpg",
+ "https://o1.fengqingyang.ml/old/163f885b3087aab68724ce0abea02dd3.jpg",
+ "https://o1.fengqingyang.ml/old/9c912b288a185c0f8ebba37300345cb4.jpg",
+ "https://o1.fengqingyang.ml/old/a24069eefa0a65513cc4e4ffe7584e17.jpg",
+ "https://o1.fengqingyang.ml/old/256ae0d61a590bbcdbe3b8a466bd6276.jpg",
+ "https://o1.fengqingyang.ml/old/f7b09766744ca8677037f58158c12137.jpg",
+ "https://o1.fengqingyang.ml/old/33a1839230d3b36a2b946e7190dd9255.jpg",
+ "https://o1.fengqingyang.ml/old/b47b8e347e650ce2eb1dab83d01f658a.jpg",
+ "https://o1.fengqingyang.ml/old/bcb3e6d2c459e6528391e77d083d44dd.jpg",
+ "https://o1.fengqingyang.ml/old/409f52bf159ad9dc105f3e5ffdd96e5a.jpg",
+ "https://o1.fengqingyang.ml/old/1af8c72011ab5f1b357988305f1d203e.jpg",
+ "https://o1.fengqingyang.ml/old/951e9b03afeb586c9e9b2b9ed849891c.jpg",
+ "https://o1.fengqingyang.ml/old/eabebc8a58724be79abe6c99df740fe4.jpg",
+ "https://o1.fengqingyang.ml/old/8a2237a57c0afd483f5354a94b39edc3.jpg",
+ "https://o1.fengqingyang.ml/old/f9007903ee9791fb74fdc35de042d84c.jpg",
+ "https://o1.fengqingyang.ml/old/528e0a49a50ec473ba72e48f1c75e7d7.jpg",
+ "https://o1.fengqingyang.ml/old/1406f7d728aabf2732d40bdc3238c387.jpg",
+ "https://o1.fengqingyang.ml/old/58baa837607a5bb2cefd3f3bb634650e.jpg",
+ "https://o1.fengqingyang.ml/old/dc9f41eab0a6e127ffbf8da727b7f166.jpg",
+ "https://o1.fengqingyang.ml/old/cc0f2c25db29067ba782b8505bff268a.jpg",
+ "https://o1.fengqingyang.ml/old/9c4f02267d10660098d5ace5bf961f3d.jpg",
+ "https://o1.fengqingyang.ml/old/41bb17041d1ec72f2818ace8810e66f9.jpg",
+ "https://o1.fengqingyang.ml/old/026eb053f12a3415640235513ceb6b58.jpg",
+ "https://o1.fengqingyang.ml/old/bc47e5427896e68522375aadfe64b6e8.jpg",
+ "https://o1.fengqingyang.ml/old/edff685b06d6ae6895ada3d377ec048c.jpg",
+ "https://o1.fengqingyang.ml/old/3a67c11962aac58dac073ee9058dc0bc.jpg",
+ "https://o1.fengqingyang.ml/old/f4a9021f4812983ea3f2d2049e318613.jpg",
+ "https://o1.fengqingyang.ml/old/c71d760ad250a95c9cf807ab16d6a16f.jpg",
+ "https://o1.fengqingyang.ml/old/ccdd616c4ef151bd7dbd47c099995183.jpg",
+ "https://o1.fengqingyang.ml/old/db5efe6429234a7d4357a3b8bca414e2.jpg",
+ "https://o1.fengqingyang.ml/old/17aea4893ff407b2068b4c1094f4d6d3.jpg",
+ "https://o1.fengqingyang.ml/old/de27747df30ed9c76edbcf7b258b2dec.jpg",
+ "https://o1.fengqingyang.ml/old/13f05c8ef101a1f6809a24dbecabd587.jpg",
+ "https://o1.fengqingyang.ml/old/0a62cae691e38ea98be22b7ac4a5ac89.jpg",
+ "https://o1.fengqingyang.ml/old/af15f9f03a177188f7fc6580b1e0bcbf.jpg",
+ "https://o1.fengqingyang.ml/old/38ad4926f938afd47ad085d007c23a88.jpg",
+ "https://o1.fengqingyang.ml/old/2b314278a2695204fb5965d76d4ee2d6.jpg",
+ "https://o1.fengqingyang.ml/old/2e10099dfe805155b5140536c9636833.jpg",
+ "https://o1.fengqingyang.ml/old/48446e5267bfa01439daa84797193fa9.jpg",
+ "https://o1.fengqingyang.ml/old/25bb808b6982b69545ae7935d17cb0de.jpg",
+ "https://o1.fengqingyang.ml/old/26c28cfcb64ccb33c995580d6e5e26db.jpg",
+ "https://o1.fengqingyang.ml/old/e2951f9d34130662f8d5ff3c8f132ad1.jpg",
+ "https://o1.fengqingyang.ml/old/7f2cee33c3e14f2f35894643241e1e60.jpg",
+ "https://o1.fengqingyang.ml/old/081759a95e78df430e061b5d4c6c4ebb.jpg",
+ "https://o1.fengqingyang.ml/old/00283e923985d3512b159b514113b102.jpg",
+ "https://o1.fengqingyang.ml/old/924f2b106aa9dba16a4069c1decf4795.jpg",
+ "https://o1.fengqingyang.ml/old/3abf913ebf38e98176fdcc7dba66f11b.jpg",
+ "https://o1.fengqingyang.ml/old/dd40479f5cdedab235e79632c16fa6bd.jpg",
+ "https://o1.fengqingyang.ml/old/a0376e79d7c9212b8a5c0298a11979d9.jpg",
+ "https://o1.fengqingyang.ml/old/7b330147a855333581d420bfed08852d.jpg",
+ "https://o1.fengqingyang.ml/old/67171903fd1ea3e385b80bd157f7e163.jpg",
+ "https://o1.fengqingyang.ml/old/2430a869ebde385eb9dee08b752338a8.jpg",
+ "https://o1.fengqingyang.ml/old/3a81943e5bd374b498ac96b619c97a31.jpg",
+ "https://o1.fengqingyang.ml/old/92821d9d904b9d196cfd1f5c0e7e07e7.jpg",
+ "https://o1.fengqingyang.ml/old/6b0ac20ba2dc4ccfe1ad42e002a7ff2b.jpg",
+ "https://o1.fengqingyang.ml/old/f527b0e152aab747365646f8e30667ea.jpg",
+ "https://o1.fengqingyang.ml/old/437673514ae0f6c728fe7b7095ad386c.jpg",
+ "https://o1.fengqingyang.ml/old/bbf19e125fc290fad8fea131dbb87475.jpg",
+ "https://o1.fengqingyang.ml/old/197525fe54619172d373bd59aa01ea3d.jpg",
+ "https://o1.fengqingyang.ml/old/828c3c013874c648a205957eda52701e.jpg",
+ "https://o1.fengqingyang.ml/old/123843bd6fb01dc68736d55953d32b38.jpg",
+ "https://o1.fengqingyang.ml/old/29181a2792912367c164191b81b2805d.jpg",
+ "https://o1.fengqingyang.ml/old/1cad9fb69251309497720d464c4a41e9.jpg",
+ "https://o1.fengqingyang.ml/old/d82de5d6772bb96b4c590be45026f655.jpg",
+ "https://o1.fengqingyang.ml/old/0ed2a563788f78c0e8c82e5b3f71d43f.jpg",
+ "https://o1.fengqingyang.ml/old/7c31a95265ad23066ec6bb228cdfa470.jpg",
+ "https://o1.fengqingyang.ml/old/6b602330ea20266108d48e3f98bfbfa1.jpg",
+ "https://o1.fengqingyang.ml/old/40548d43907b32fd54886cca924d1137.jpg",
+ "https://o1.fengqingyang.ml/old/0130878a84c8becf337b169040cdbf62.jpg",
+ "https://o1.fengqingyang.ml/old/c8dad120673083c897f89b8e5ed37f92.jpg",
+ "https://o1.fengqingyang.ml/old/912ead383162532e02affad09b3fe1a7.jpg",
+ "https://o1.fengqingyang.ml/old/827637d1785ebcd245bdd329828d7bd1.jpg",
+ "https://o1.fengqingyang.ml/old/a52b1b8e3566d2c4a462e387b7ae06b4.jpg",
+ "https://o1.fengqingyang.ml/old/603fe6c7b180574652d039cf2303524f.jpg",
+ "https://o1.fengqingyang.ml/old/a95bed0f34b9c731882f15e4aeda34ef.jpg",
+ "https://o1.fengqingyang.ml/old/3db3da183e3d881a1b12547d76aeb1f0.jpg",
+ "https://o1.fengqingyang.ml/old/34d758f6879aa7f21d26f9d1da23ad06.jpg",
+ "https://o1.fengqingyang.ml/old/7f408d4d2ef0b122066b0e94f1703025.jpg",
+ "https://o1.fengqingyang.ml/old/45e074280395685151ca04f5a94bcfc1.jpg",
+ "https://o1.fengqingyang.ml/old/1ada3f8bd9e1169eb440c5559155dfe5.jpg",
+ "https://o1.fengqingyang.ml/old/f371133ccddf2fef0f2865f7ae69764c.jpg",
+ "https://o1.fengqingyang.ml/old/e6876ddfa924653b92ba423b89c19a3a.jpg",
+ "https://o1.fengqingyang.ml/old/11cebdf30e2bd7c1d2a1f11b0c6873f7.jpg",
+ "https://o1.fengqingyang.ml/old/20f927383fb992198e8b7081e586d6a5.jpg",
+ "https://o1.fengqingyang.ml/old/bb9e514f4d761233c4a50c558505deeb.jpg",
+ "https://o1.fengqingyang.ml/old/d845a27eb0a51071d38f64cd838b2ade.jpg",
+ "https://o1.fengqingyang.ml/old/8f32b5da29e8b70d802bffe11b85ca77.jpg",
+ "https://o1.fengqingyang.ml/old/ce5347427b2edc2ffd8cc7b4def526e6.jpg",
+ "https://o1.fengqingyang.ml/old/104dce1b31eb69551bac2219f40b6b10.jpg",
+ "https://o1.fengqingyang.ml/old/5db74d0f1b9562769637e17f32a5b4d4.jpg",
+ "https://o1.fengqingyang.ml/old/35dc9999316873d7c386dc23a7ae61fc.jpg",
+ "https://o1.fengqingyang.ml/old/4a8b0abb9cfc216225183ada1bf04e2a.jpg",
+ "https://o1.fengqingyang.ml/old/df0580c767f1a139cb812ce5491ffa7f.jpg",
+ "https://o1.fengqingyang.ml/old/fe75dc8eb75ec1f3924678c312f125e8.jpg",
+ "https://o1.fengqingyang.ml/old/b8e8acfa242d374b0d99c31acc162245.jpg",
+ "https://o1.fengqingyang.ml/old/3182295ab551b9679f9b17386c7e6f4a.jpg",
+ "https://o1.fengqingyang.ml/old/eaffdebf6092c1768ef27f79432fa799.jpg",
+ "https://o1.fengqingyang.ml/old/0a3b0cbc529503b66503689a003aef10.jpg",
+ "https://o1.fengqingyang.ml/old/734d4ceec497c1c7744cb262e8adeaf0.jpg",
+ "https://o1.fengqingyang.ml/old/5fd2d8cecc22abfcb8abd689b91d509b.jpg",
+ "https://o1.fengqingyang.ml/old/881e85226f36d4762d4b40f6a984dd25.jpg",
+ "https://o1.fengqingyang.ml/old/f640ae6ac749961bfc033cc814b359b0.jpg",
+ "https://o1.fengqingyang.ml/old/dedc77b9509792eac370094e9a1f1121.jpg",
+ "https://o1.fengqingyang.ml/old/ccfe2e873fabcc2fe1004e799390d98b.jpg",
+ "https://o1.fengqingyang.ml/old/8f99dd8620d8dc8c6d9519fc595aa770.jpg",
+ "https://o1.fengqingyang.ml/old/ad81010cc245b496d19b05f2d1a779ec.jpg",
+ "https://o1.fengqingyang.ml/old/f7dae2899a7e47a7fd5a4381967d6f83.jpg",
+ "https://o1.fengqingyang.ml/old/f91e1436f644ef7fb6cd931374e41051.jpg",
+ "https://o1.fengqingyang.ml/old/43febdbc25d2ebed9c04c6e081c05571.jpg",
+ "https://o1.fengqingyang.ml/old/f86005722e02b68e3e9b0da8969674f8.jpg",
+ "https://o1.fengqingyang.ml/old/618af9115d311f72fa510d808015f29c.jpg",
+ "https://o1.fengqingyang.ml/old/8b5a496d441a0c0f736611b4d67d13ee.jpg",
+ "https://o1.fengqingyang.ml/old/7ebd68d9f4de695957000b3332553119.jpg",
+ "https://o1.fengqingyang.ml/old/166b71c27521e574aa9c6b8067bd1d8b.jpg",
+ "https://o1.fengqingyang.ml/old/022406dd55cdb2e9c4e60968dd62393b.jpg",
+ "https://o1.fengqingyang.ml/old/9b6d22db611d8c9cd9a5af8c336ce029.jpg",
+ "https://o1.fengqingyang.ml/old/262fd8cadbcb050d499b471df54f1611.jpg",
+ "https://o1.fengqingyang.ml/old/9392232a2b45bd0d36e5368060ddb797.jpg",
+ "https://o1.fengqingyang.ml/old/e08aad695c34c39c175a5e8e2102668d.jpg",
+ "https://o1.fengqingyang.ml/old/d3b01817ed2ff4fb59ef4e8ecfbdc89e.jpg",
+ "https://o1.fengqingyang.ml/old/8961c9908cf2f659b0c874ac1026075a.jpg",
+ "https://o1.fengqingyang.ml/old/499f237319326748a3572d751b77961b.jpg",
+ "https://o1.fengqingyang.ml/old/908f00a8fa5d5889e96aab43996cfbcb.jpg",
+ "https://o1.fengqingyang.ml/old/fc686aa3a4d4f777841985dcfe2c6ffc.jpg",
+ "https://o1.fengqingyang.ml/old/384d82d14dab3e2de94520f470970808.jpg",
+ "https://o1.fengqingyang.ml/old/c8a8015aae5e51525226162ac1d1b2c8.jpg",
+ "https://o1.fengqingyang.ml/old/998030b18248927e1c54760aa90306b5.jpg",
+ "https://o1.fengqingyang.ml/old/3e3b6996cca45c5d7b5ac0ab908d2f2a.jpg",
+ "https://o1.fengqingyang.ml/old/5551d8f91a2c5c571197217a49b636c8.jpg",
+ "https://o1.fengqingyang.ml/old/1ce138f3c9e2e5e8dda55c43ac36d926.jpg",
+ "https://o1.fengqingyang.ml/old/d337ec6fb7e11bb3822b255ebc66dead.jpg",
+ "https://o1.fengqingyang.ml/old/646bd7b654bcd3e3fa8a1bece8a0add0.jpg",
+ "https://o1.fengqingyang.ml/old/d061e440b1846fe2a5d04386595d1064.jpg",
+ "https://o1.fengqingyang.ml/old/42eb9d022c697b86b3dd943985df2c68.jpg",
+ "https://o1.fengqingyang.ml/old/121e5d15e3b43a680716793bb8acaafb.jpg",
+ "https://o1.fengqingyang.ml/old/65e127d769b8837e77fb313205d64b7d.jpg",
+ "https://o1.fengqingyang.ml/old/8931b3fb373ac11a47899f100ed8d0d3.jpg",
+ "https://o1.fengqingyang.ml/old/ce78fbaa9ef7920fd6860bffdf513f9d.jpg",
+ "https://o1.fengqingyang.ml/old/889eaa099607b67436e949ee49462719.jpg",
+ "https://o1.fengqingyang.ml/old/9584b2bcf497341386a994fff1c3d865.jpg",
+ "https://o1.fengqingyang.ml/old/93e4b20881323adc3408c471d66bafde.jpg",
+ "https://o1.fengqingyang.ml/old/f91aa30ad27a3dd6dce3aa021214dd09.jpg",
+ "https://o1.fengqingyang.ml/old/ba5e6b682b4268cb6d2159c507b69c05.jpg",
+ "https://o1.fengqingyang.ml/old/1a4f3bef6ba72bb4c1df5fcb73b763d7.jpg",
+ "https://o1.fengqingyang.ml/old/699912da6d9bf04d106e59c2b8bc6f9d.jpg",
+ "https://o1.fengqingyang.ml/old/be4409854292dad8b2aac989b71358bb.jpg",
+ "https://o1.fengqingyang.ml/old/140d073e7f152af2e0997c92b76083a2.jpg",
+ "https://o1.fengqingyang.ml/old/9993182a9806ddd071b099eb76eaf459.jpg",
+ "https://o1.fengqingyang.ml/old/0d18ad3554d808c220ac3aa784d1dafc.jpg",
+ "https://o1.fengqingyang.ml/old/acaa286ddadff684b62057c83ca90f90.jpg",
+ "https://o1.fengqingyang.ml/old/7d6441b74272d8bf5f80d5b6f7a80c28.jpg",
+ "https://o1.fengqingyang.ml/old/1b3f34061c32da21101b1d9dd6cf4205.jpg",
+ "https://o1.fengqingyang.ml/old/388ba50bd0219cf7102d2ee670770ac5.jpg",
+ "https://o1.fengqingyang.ml/old/2964649eedf6dacef67ac7c71dc34f59.jpg",
+ "https://o1.fengqingyang.ml/old/770a9e605b77b23c1cedc85606bcffa4.jpg",
+ "https://o1.fengqingyang.ml/old/efde722ba4791d6e47c523ff0bd58d95.jpg",
+ "https://o1.fengqingyang.ml/old/94df279235d0541ce3dedfe4ebf68731.jpg",
+ "https://o1.fengqingyang.ml/old/142df229ecaafef9acc385bf32e61806.jpg",
+ "https://o1.fengqingyang.ml/old/86fba1072aa8a978ecc87b981f779dd8.jpg",
+ "https://o1.fengqingyang.ml/old/a5e43c3dc572bcf55872c0f09713face.jpg",
+ "https://o1.fengqingyang.ml/old/76c6ebdb8557f13f3c9702d0c36c3d49.jpg",
+ "https://o1.fengqingyang.ml/old/1bb6e5b7c8b8965c39cc96dc0847e983.jpg",
+ "https://o1.fengqingyang.ml/old/6f58f7f9cc002ca9d5da52b6409921b4.jpg",
+ "https://o1.fengqingyang.ml/old/bd2c4901fec1a1e4e30a838f1c06a38b.jpg",
+ "https://o1.fengqingyang.ml/old/682e58fe16779f193ab5eb8903d731d4.jpg",
+ "https://o1.fengqingyang.ml/old/7c636db192240d7f8f59c4b74830d8c9.jpg",
+ "https://o1.fengqingyang.ml/old/10018abac7d1355ec76f1d5c614e956d.jpg",
+ "https://o1.fengqingyang.ml/old/6ea07fe910005d48db1de6a356ab3f82.jpg",
+ "https://o1.fengqingyang.ml/old/1036a028a89875a877725f1bb0dd5bbe.jpg",
+ "https://o1.fengqingyang.ml/old/a3ad9493028c75b1e828d3a8da8d7003.jpg",
+ "https://o1.fengqingyang.ml/old/bb0625cdb295422da81193153d9c672b.jpg",
+ "https://o1.fengqingyang.ml/old/3b3426a2ef488b7e67002c0e5476383a.jpg",
+ "https://o1.fengqingyang.ml/old/ff9dfcaebfd5e1a067190915b32cc3a4.jpg",
+ "https://o1.fengqingyang.ml/old/09528d9a89c67b671e16db181e759e99.jpg",
+ "https://o1.fengqingyang.ml/old/e9ccc22e89cf716ec5c7f60fe1e18c0f.jpg",
+ "https://o1.fengqingyang.ml/old/2148e6492470fc0111fcf00cb7e42183.jpg",
+ "https://o1.fengqingyang.ml/old/917837277ee740fdbd7c2ca0688d882e.jpg",
+ "https://o1.fengqingyang.ml/old/078c200d96e3d59f98a4648ea10dd98d.jpg",
+ "https://o1.fengqingyang.ml/old/420df426cb2f91e68e91a7a7de228854.jpg",
+ "https://o1.fengqingyang.ml/old/4ef039a7dd4860d3bc329c459875adbc.jpg",
+ "https://o1.fengqingyang.ml/old/5719218c1e6079a9cf7915fcb45ed38e.jpg",
+ "https://o1.fengqingyang.ml/old/a4387dcd613392a565bf6077086cf80f.jpg",
+ "https://o1.fengqingyang.ml/old/7fd865be3037dc6a5f3f503acb442651.jpg",
+ "https://o1.fengqingyang.ml/old/851b31c2aa6a20a7a3e88b6adfc6e5fc.jpg",
+ "https://o1.fengqingyang.ml/old/69f66d1e1b4d960e3cc19cb903048351.jpg",
+ "https://o1.fengqingyang.ml/old/34b7a2d1e3e2b7b7f62b35511c112bfe.jpg",
+ "https://o1.fengqingyang.ml/old/a042e359e1a016934e7643385f4451a3.jpg",
+ "https://o1.fengqingyang.ml/old/eebcb82e2a8fff7e4ad426d28cd6175a.jpg",
+ "https://o1.fengqingyang.ml/old/72dec6c04efb54e622a1d60120921d04.jpg",
+ "https://o1.fengqingyang.ml/old/d580b65d249e0cfeaaeeb54baf089f98.jpg",
+ "https://o1.fengqingyang.ml/old/70cd50a3d5c7e54011882a65b9468454.jpg",
+ "https://o1.fengqingyang.ml/old/2d648a29ea72e8e135b7746259c09c25.jpg",
+ "https://o1.fengqingyang.ml/old/4c51112b067e8a53fa9ce4d58eb4e05d.jpg",
+ "https://o1.fengqingyang.ml/old/50667747adc9c2f102d0bc7bb6ff353a.jpg",
+ "https://o1.fengqingyang.ml/old/97ec5aa3667d5a2831e4258f02e853ab.jpg",
+ "https://o1.fengqingyang.ml/old/76134e2f4cab77c2ba99867ffdcd2c52.jpg",
+ "https://o1.fengqingyang.ml/old/751ac3975ea9f576cd85e81e4e538f2c.jpg",
+ "https://o1.fengqingyang.ml/old/1f5ab23373127354be3ae40a1b3fd623.jpg",
+ "https://o1.fengqingyang.ml/old/de5b5f8374f0195cdf3198e07ff622fa.jpg",
+ "https://o1.fengqingyang.ml/old/81903e6c0536ef3a87783a6e7afc3093.jpg",
+ "https://o1.fengqingyang.ml/old/8327d9eb8a4a58e245e42bdba1088986.jpg",
+ "https://o1.fengqingyang.ml/old/686b3947982c3d71e858c1cf54a57008.jpg",
+ "https://o1.fengqingyang.ml/old/fdb180281f91812c308a96086c89c722.jpg",
+ "https://o1.fengqingyang.ml/old/3bb3d344f44a8902fa992330213cc4c1.jpg",
+ "https://o1.fengqingyang.ml/old/8c4a65edb3a1cdc2314a21f8f97b85d6.jpg",
+ "https://o1.fengqingyang.ml/old/46462fd9854b8bffb124c3a7c0ec08f4.jpg",
+ "https://o1.fengqingyang.ml/old/57cd5f9a67443f4708c90cf0b401d9c0.jpg",
+ "https://o1.fengqingyang.ml/old/8d049e84ff94652f84b11daae4e8f411.jpg",
+ "https://o1.fengqingyang.ml/old/92e6d30702489703abcc3c55cb6879de.jpg",
+ "https://o1.fengqingyang.ml/old/eac7fdfba2c57e73d84badad03145460.jpg",
+ "https://o1.fengqingyang.ml/old/5242b936219d9b8e3f5c82b6939212a7.jpg",
+ "https://o1.fengqingyang.ml/old/1a636d84e806996f8de3a401bc5ea3ab.jpg",
+ "https://o1.fengqingyang.ml/old/734a5d1f28cdde4cd8cd8d31859c6331.jpg",
+ "https://o1.fengqingyang.ml/old/7d067986b5227d28dda0f445eae5a587.jpg",
+ "https://o1.fengqingyang.ml/old/b70c150834cff176cdc13290d1d1116a.jpg",
+ "https://o1.fengqingyang.ml/old/d352954a9d1c831fd0de1d71cd48f5af.jpg",
+ "https://o1.fengqingyang.ml/old/d615181376186fa7c72ad99b72b3bac6.jpg",
+ "https://o1.fengqingyang.ml/old/d128755a13a117491fe2529596bea9d6.jpg",
+ "https://o1.fengqingyang.ml/old/ab4ee025ffda3f8b2b0db5953b07692e.jpg",
+ "https://o1.fengqingyang.ml/old/1201e68d538bef572c4c945f8a79809e.jpg",
+ "https://o1.fengqingyang.ml/old/7036dd0e7f6dec616c79393b82442da8.jpg",
+ "https://o1.fengqingyang.ml/old/3401804189972320ce56a61490dc5d6a.jpg",
+ "https://o1.fengqingyang.ml/old/8ca1efe91fdfb00be1e2fdc0989621a4.jpg",
+ "https://o1.fengqingyang.ml/old/f23ced656d59b2d06a83f77faa4af458.jpg",
+ "https://o1.fengqingyang.ml/old/204bedb807eb9d34a35cec4b4689ff57.jpg",
+ "https://o1.fengqingyang.ml/old/efa07ca01521140ae4e0869e4a98e73c.jpg",
+ "https://o1.fengqingyang.ml/old/9fa616589bda7d9eb97829e70c08e516.jpg",
+ "https://o1.fengqingyang.ml/old/f8b89809a5cd7eb05e1b2d9d7a1e9a05.jpg",
+ "https://o1.fengqingyang.ml/old/ee2addd901bfd667cf718e74376626eb.jpg",
+ "https://o1.fengqingyang.ml/old/0437296bc8a55339c629744ecd5f08bc.jpg",
+ "https://o1.fengqingyang.ml/old/102adc999edcc650f991528c7a7505fd.jpg",
+ "https://o1.fengqingyang.ml/old/fa41e8df93db546d5237741e265aca10.jpg",
+ "https://o1.fengqingyang.ml/old/7430cdc3ddc50210666fe4e895c04338.jpg",
+ "https://o1.fengqingyang.ml/old/ddc67bb0590a4e54bd5fdc600487d65e.jpg",
+ "https://o1.fengqingyang.ml/old/1d5ac27f01ea76fe0ef0997aea2da8b3.jpg",
+ "https://o1.fengqingyang.ml/old/5d2d980f61eec4dc3e5ad72c21de6405.jpg",
+ "https://o1.fengqingyang.ml/old/d18e265dbca6eaa9118d9cebf184d744.jpg",
+ "https://o1.fengqingyang.ml/old/761ffe5b0f63d267c8e5b84348b276e5.jpg",
+ "https://o1.fengqingyang.ml/old/a46d070338dd6b7135c6200c9ad750f6.jpg",
+ "https://o1.fengqingyang.ml/old/1025139ab3da9306b8e49cfd703870ae.jpg",
+ "https://o1.fengqingyang.ml/old/8a86cc8b38ee76b68b6ecdf7d3ba5d32.jpg",
+ "https://o1.fengqingyang.ml/old/574b708bd15cdf4555cb490ac53dbbdd.jpg",
+ "https://o1.fengqingyang.ml/old/da9041db11896228f11b77f69397a6bd.jpg",
+ "https://o1.fengqingyang.ml/old/4c3e115dc7f091c59ae77ec74f13f973.jpg",
+ "https://o1.fengqingyang.ml/old/98cb643b524b26948565114fdca4d2ac.jpg",
+ "https://o1.fengqingyang.ml/old/8a21a42d69608facc753bfdc519ec459.jpg",
+ "https://o1.fengqingyang.ml/old/6ac1add5c0f411ad5002c7873a55731e.jpg",
+ "https://o1.fengqingyang.ml/old/84b1cc6a83ae2d60138d0d54cd28b3cd.jpg",
+ "https://o1.fengqingyang.ml/old/5a4c75fb5496a2b199fef646973fcb72.jpg",
+ "https://o1.fengqingyang.ml/old/523acfcfe336726c716d27104555c7f4.jpg",
+ "https://o1.fengqingyang.ml/old/52731a4e7e258a321737cceb4adba464.jpg",
+ "https://o1.fengqingyang.ml/old/76f4373c0a47dac5f3077c9f007f6267.jpg",
+ "https://o1.fengqingyang.ml/old/96202752ad25d1d9ac218eab3e2b7f6a.jpg",
+ "https://o1.fengqingyang.ml/old/8d3603cb7e0d73877edc1583e29d4bf4.jpg",
+ "https://o1.fengqingyang.ml/old/83a77094700fe59ffc55a059ca312a07.jpg",
+ "https://o1.fengqingyang.ml/old/7601d27ef053e8b7ca185476011b09bf.jpg",
+ "https://o1.fengqingyang.ml/old/8a11d6bdc8bf81d562a608f672a41964.jpg",
+ "https://o1.fengqingyang.ml/old/34d0905790148a214f9d7f177206901b.jpg",
+ "https://o1.fengqingyang.ml/old/4b1b787fe50b47bd664b3c1d0f8bdbf0.jpg",
+ "https://o1.fengqingyang.ml/old/0878d1c6d4857a048bc8f4b66bc4fa28.jpg",
+ "https://o1.fengqingyang.ml/old/fe0e66156bebb50120e344a7b67e6070.jpg",
+ "https://o1.fengqingyang.ml/old/0cafdd41676a0db0e1c9c953d0fa2e46.jpg",
+ "https://o1.fengqingyang.ml/old/44e9d231fa3090c2b14e56faf60f696b.jpg",
+ "https://o1.fengqingyang.ml/old/c7064e26e79747e6ebd61c19c3681fc4.jpg",
+ "https://o1.fengqingyang.ml/old/398c395ddd4174f50db0eb3f7f061053.jpg",
+ "https://o1.fengqingyang.ml/old/4dd0759efc6823f4e4b80baba625ab0a.jpg",
+ "https://o1.fengqingyang.ml/old/32e103fb81270d8535145cbf6f5e7df8.jpg",
+ "https://o1.fengqingyang.ml/old/83d67b5774b219f7c7c8818f50a52071.jpg",
+ "https://o1.fengqingyang.ml/old/ebb3894d77eda7e0df3e29f9aa34d4ad.jpg",
+ "https://o1.fengqingyang.ml/old/f07cf2788d895559bfbe9e697e93b84c.jpg",
+ "https://o1.fengqingyang.ml/old/be5f5a76369924560643516555fd690b.jpg",
+ "https://o1.fengqingyang.ml/old/457de73eb9934fd11ed3aa952a6d1617.jpg",
+ "https://o1.fengqingyang.ml/old/955916ca79a7b33b19b280bd7f056c07.jpg",
+ "https://o1.fengqingyang.ml/old/4de932148cb457bc6f203803900a623a.jpg",
+ "https://o1.fengqingyang.ml/old/f5a66840621e7d22c639f96b1242eca5.jpg",
+ "https://o1.fengqingyang.ml/old/d4e725c1580e2be890dd5e22384bb68b.jpg",
+ "https://o1.fengqingyang.ml/old/5c0116f2cccb106a2d5b8cfe245ead12.jpg",
+ "https://o1.fengqingyang.ml/old/8d0d48906c59b34e54f1f7182907bd79.jpg",
+ "https://o1.fengqingyang.ml/old/4296ffea81bd0882347e651e977bc881.jpg",
+ "https://o1.fengqingyang.ml/old/d4016388bf7143ed43fcc2019b026f71.jpg",
+ "https://o1.fengqingyang.ml/old/d614bfc9a2571da229f40dd0b28913f6.jpg",
+ "https://o1.fengqingyang.ml/old/86d4102b4e257c52c86a0573a277ea93.jpg",
+ "https://o1.fengqingyang.ml/old/54545cb86d4bfbac154804944a7bee70.jpg",
+ "https://o1.fengqingyang.ml/old/5e221ae0080b1b6d4f081c1d9b3e22fb.jpg",
+ "https://o1.fengqingyang.ml/old/a029c21ebecb3ce4134f30b80bc59b1f.jpg",
+ "https://o1.fengqingyang.ml/old/2ec055c9bdbda85a0cea13d2ce4b2014.jpg",
+ "https://o1.fengqingyang.ml/old/55ee028b01e074ba95e91f21b478d8d9.jpg",
+ "https://o1.fengqingyang.ml/old/64f71640f052cebe10f703b9c6e0bef1.jpg",
+ "https://o1.fengqingyang.ml/old/f9c4a19ccdce9a3e4852195561ca14d1.jpg",
+ "https://o1.fengqingyang.ml/old/15d8810aabb912e66316f7d30e5f7fa4.jpg",
+ "https://o1.fengqingyang.ml/old/4b31d8188c907f87d3030b778e75eb89.jpg",
+ "https://o1.fengqingyang.ml/old/e302ed74d3e25e6d46fbde3359959965.jpg",
+ "https://o1.fengqingyang.ml/old/d28da4de33af168c487c1c9daabbb83e.jpg",
+ "https://o1.fengqingyang.ml/old/db9a1473de0bcad26848646dfb773291.jpg",
+ "https://o1.fengqingyang.ml/old/67feeb0875a9a90319de55614288667e.jpg",
+ "https://o1.fengqingyang.ml/old/b587a59fd0ea96b14c3b31cc800f6144.jpg",
+ "https://o1.fengqingyang.ml/old/21c168e280209a7b6dd703c2f8f08979.jpg",
+ "https://o1.fengqingyang.ml/old/2573e6ae18c85ac53fc3454d1f8e0c7b.jpg",
+ "https://o1.fengqingyang.ml/old/e285f3d4a11bf995d5a3c62b45096a6a.jpg",
+ "https://o1.fengqingyang.ml/old/0e8a89edc6059cd8d5748d2d4f7f0fe5.jpg",
+ "https://o1.fengqingyang.ml/old/28d82f4bf9ea6ccb452cda57e03f601d.jpg",
+ "https://o1.fengqingyang.ml/old/41b8565871d109e4fb6c9518a834f658.jpg",
+ "https://o1.fengqingyang.ml/old/7994290d9b61081a8c3a1fd8c56d7ca3.jpg",
+ "https://o1.fengqingyang.ml/old/7d2927d8aa1ec23b2bbce584d1960018.jpg",
+ "https://o1.fengqingyang.ml/old/201326f17bcea77050ea62fa76015c47.jpg",
+ "https://o1.fengqingyang.ml/old/e6ea335a9b5ce123dd3e8c261d9952ac.jpg",
+ "https://o1.fengqingyang.ml/old/d817c20e9746e18b8bdae37c0086f0fe.jpg",
+ "https://o1.fengqingyang.ml/old/2152ff2059c4083bce141fca5bc2d8e5.jpg",
+ "https://o1.fengqingyang.ml/old/79e7d97670b2bddffda9c1f5fad3f0f5.jpg",
+ "https://o1.fengqingyang.ml/old/8dc9934f13ecf6958684c1e275e2172e.jpg",
+ "https://o1.fengqingyang.ml/old/a7061a6628f83e21f4e7db7a061c248c.jpg",
+ "https://o1.fengqingyang.ml/old/2d28cd3d79af9a40abd5c7be5ab202ea.jpg",
+ "https://o1.fengqingyang.ml/old/3e40807e5c085235bc0400c8150633e6.jpg",
+ "https://o1.fengqingyang.ml/old/4f3f8bb627fd2f2f42ae2c55b2f3380b.jpg",
+ "https://o1.fengqingyang.ml/old/72799398b55bf6742d3bb62c8689b167.jpg",
+ "https://o1.fengqingyang.ml/old/a2aaaecfe92628f6c81e84b8c8faf5d7.jpg",
+ "https://o1.fengqingyang.ml/old/75c03046e48c81f747cbeae7e4ae0bee.jpg",
+ "https://o1.fengqingyang.ml/old/9ab47b5ea69313327df654274bad1114.jpg",
+ "https://o1.fengqingyang.ml/old/7b7e82b0dab7813fc4ed7625f087b6e8.jpg",
+ "https://o1.fengqingyang.ml/old/3fc6bc9526b4a94b8631b25bbbb2e406.jpg",
+ "https://o1.fengqingyang.ml/old/6eaf51fed71095b82754389e3cd34847.jpg",
+ "https://o1.fengqingyang.ml/old/b1624071ba75ec46586e8384ce41d8c1.jpg",
+ "https://o1.fengqingyang.ml/old/f320df237876e2b32bd96400f89a0c9e.jpg",
+ "https://o1.fengqingyang.ml/old/3d261e2e20f3b4df559fe1285f841415.jpg",
+ "https://o1.fengqingyang.ml/old/ef3cee6a575b798f02cd386c25e76344.jpg",
+ "https://o1.fengqingyang.ml/old/2f43a3e96e650f106f770378e3d1569a.jpg",
+ "https://o1.fengqingyang.ml/old/ca47c3591d38157db8f77056ec92d61d.jpg",
+ "https://o1.fengqingyang.ml/old/a8916c43c7d73c6bb610be4cf779c3dc.jpg",
+ "https://o1.fengqingyang.ml/old/555b8957db366cb6fdf381e2e53cbe6c.jpg",
+ "https://o1.fengqingyang.ml/old/f5f9ed0705de1f80857061eb9f384285.jpg",
+ "https://o1.fengqingyang.ml/old/0ae34b17db25d2ba4aa6ba5cecc138f5.jpg",
+ "https://o1.fengqingyang.ml/old/abf898534487ea886bc92f5a6ae063c9.jpg",
+ "https://o1.fengqingyang.ml/old/c7f5c29dc69dd3502407b9a9f5478b03.jpg",
+ "https://o1.fengqingyang.ml/old/6a36415ab6e0a1d5d4e5f5ca9ca2ed89.jpg",
+ "https://o1.fengqingyang.ml/old/8e7533ab12c61bbcf2ea66eec62defa8.jpg",
+ "https://o1.fengqingyang.ml/old/54e371346006940468d4d2c8efeb2dfe.jpg",
+ "https://o1.fengqingyang.ml/old/639c271427f18740d5fb279caf511082.jpg",
+ "https://o1.fengqingyang.ml/old/cea9ed07d0866bc68cfd21cc552e496d.jpg",
+ "https://o1.fengqingyang.ml/old/371f01d2c82a267bebeead90a889457f.jpg",
+ "https://o1.fengqingyang.ml/old/c13680016e9e00b533cb1c77626c194a.jpg",
+ "https://o1.fengqingyang.ml/old/10903d6b986eb816cb7e71ce4df7f427.jpg",
+ "https://o1.fengqingyang.ml/old/06de206eeaf2eb7ae5e6a750fb95bcee.jpg",
+ "https://o1.fengqingyang.ml/old/ae4c4b04b5e6dffbeba9e0c40007c738.jpg",
+ "https://o1.fengqingyang.ml/old/c976a7b4f025fe03547a5c88e95aebfa.jpg",
+ "https://o1.fengqingyang.ml/old/190a7b9ad8834be71298889deed80a14.jpg",
+ "https://o1.fengqingyang.ml/old/2e85e5b7a4b1a95c7f726fd67fe309ac.jpg",
+ "https://o1.fengqingyang.ml/old/a489ca7245bd847fccc1b3e18906255d.jpg",
+ "https://o1.fengqingyang.ml/old/e29b0ba33af533fcb12aa40bd3c8f6d3.jpg",
+ "https://o1.fengqingyang.ml/old/2de457a8c5ce249765fd99d6e5890dad.jpg",
+ "https://o1.fengqingyang.ml/old/b44c39d714518a770f79a1e462af2bd3.jpg",
+ "https://o1.fengqingyang.ml/old/45c99f513e2286e870a7e897ea75b705.jpg",
+ "https://o1.fengqingyang.ml/old/565c1ec1b0310981bff0455cb52eecde.jpg",
+ "https://o1.fengqingyang.ml/old/7300d48235c580ae77111a69d522d992.jpg",
+ "https://o1.fengqingyang.ml/old/29c2cc10b75cb09af5b8b04d31e6269b.jpg",
+ "https://o1.fengqingyang.ml/old/689b23d61201411352d85d0379f30aca.jpg",
+ "https://o1.fengqingyang.ml/old/81d028826ab0bc9b8ffa5bc8f36bc88d.jpg",
+ "https://o1.fengqingyang.ml/old/3ceeaf2da90e806eea6b3018f6ce221b.jpg",
+ "https://o1.fengqingyang.ml/old/7f797598716570b6133beecbcc2a58ed.jpg",
+ "https://o1.fengqingyang.ml/old/843b9f768667e45686297576eb992d0f.jpg",
+ "https://o1.fengqingyang.ml/old/e4775c9acb3579fd2361e0631676cdb3.jpg",
+ "https://o1.fengqingyang.ml/old/37f42416cb2cbffd9476a8df41e6deb3.jpg",
+ "https://o1.fengqingyang.ml/old/27c3688485c7bf2f65a11c611c3f3723.jpg",
+ "https://o1.fengqingyang.ml/old/1f830439e1be155b577db3ba8cc88c24.jpg",
+ "https://o1.fengqingyang.ml/old/c2543a3abc2bc6b9f4e3b0411721561a.jpg",
+ "https://o1.fengqingyang.ml/old/18f7f6dc8d4d07c850184aea5401f686.jpg",
+ "https://o1.fengqingyang.ml/old/8799c52c29277b44c24c7539a82a60c8.jpg",
+ "https://o1.fengqingyang.ml/old/1d253631a7366fa0c40a1597cf87af29.jpg",
+ "https://o1.fengqingyang.ml/old/a8bcb517e846dd3de9add210fe6b92c0.jpg",
+ "https://o1.fengqingyang.ml/old/af8e3e529f8e89118ae15ac2e65de320.jpg",
+ "https://o1.fengqingyang.ml/old/eeba357673379de8371f436d3411223e.jpg",
+ "https://o1.fengqingyang.ml/old/54d7ee9b49c344f16487994b08d0baf1.jpg",
+ "https://o1.fengqingyang.ml/old/e2fd5e71ce036e1b4a19228f4e2a9ff6.jpg",
+ "https://o1.fengqingyang.ml/old/81f0f3729d15041b25298b4a314527a7.jpg",
+ "https://o1.fengqingyang.ml/old/973512fb3a928346f3c45ea4b499a49f.jpg",
+ "https://o1.fengqingyang.ml/old/786c2a21da450ac85519ea09471b56fe.jpg",
+ "https://o1.fengqingyang.ml/old/2a2ff11d3c6700307a01c6710a92bead.jpg",
+ "https://o1.fengqingyang.ml/old/83650876147c07a2415e2d8df0ff1385.jpg",
+ "https://o1.fengqingyang.ml/old/d9a4d5490de579acf066f37cdc4a6ff9.jpg",
+ "https://o1.fengqingyang.ml/old/91c14b08b8259a7f7a20a04534525be1.jpg",
+ "https://o1.fengqingyang.ml/old/70ce4248ad726087628166f1a1396b5b.jpg",
+ "https://o1.fengqingyang.ml/old/8b3897555170fc22e93a0b2841f1a5ce.jpg",
+ "https://o1.fengqingyang.ml/old/b9015203ebd6413b36f5984a89d7db25.jpg",
+ "https://o1.fengqingyang.ml/old/8967105ad90595c14a7f1cf66ba7b74e.jpg",
+ "https://o1.fengqingyang.ml/old/cac1e75bbab9b004e1bfe0b6ac688eef.jpg",
+ "https://o1.fengqingyang.ml/old/db12bc94bc553721e2ecd2a6019e9638.jpg",
+ "https://o1.fengqingyang.ml/old/188322f56a6e547d956aa6cf9059acfc.jpg",
+ "https://o1.fengqingyang.ml/old/09170a6cc37cb5f76ef00f2faf1ba49b.jpg",
+ "https://o1.fengqingyang.ml/old/2c7e0f88d3c1e8a9e3fd6d23f113b571.jpg",
+ "https://o1.fengqingyang.ml/old/6426728d4659c8349277ea1b5337d208.jpg",
+ "https://o1.fengqingyang.ml/old/5be00c256159395aed946527c290675a.jpg",
+ "https://o1.fengqingyang.ml/old/fd720e435a5e446b557f4c7984d336ee.jpg",
+ "https://o1.fengqingyang.ml/old/c0e3b1697a2ff3ee759f1c7d752db8f5.jpg",
+ "https://o1.fengqingyang.ml/old/b5501fe1737b88bf67709c6c65ed565e.jpg",
+ "https://o1.fengqingyang.ml/old/49a3a9b6bad4eaef578ea0e1ca91d098.jpg",
+ "https://o1.fengqingyang.ml/old/a894d32bedc0777caa280f3e9e67a1d7.jpg",
+ "https://o1.fengqingyang.ml/old/a70e950824de8fb122614c79b18189d4.jpg",
+ "https://o1.fengqingyang.ml/old/22775ceabb65b54313fac68fe2d02e5f.jpg",
+ "https://o1.fengqingyang.ml/old/7d7763baf7d8a8bc6013b2dcdc14d73c.jpg",
+ "https://o1.fengqingyang.ml/old/becdf84aa440d1840fe069449574dd90.jpg",
+ "https://o1.fengqingyang.ml/old/50561a6ad669ff6801e4c533409f478b.jpg",
+ "https://o1.fengqingyang.ml/old/7fe26eb3668949d1267ef8453d57387a.jpg",
+ "https://o1.fengqingyang.ml/old/886c296188cea775ab8b961e44f3d6cd.jpg",
+ "https://o1.fengqingyang.ml/old/dfa8372828c9f61b7d299435b0592400.jpg",
+ "https://o1.fengqingyang.ml/old/8b17d0d6afcca252d6d62c871ea781ad.jpg",
+ "https://o1.fengqingyang.ml/old/5d2adf3cad859142d6bf181f60cd579f.jpg",
+ "https://o1.fengqingyang.ml/old/a380d6148c407cffab98a36ac33cb714.jpg",
+ "https://o1.fengqingyang.ml/old/2f3533886b34ee026c804e11671f52af.jpg",
+ "https://o1.fengqingyang.ml/old/c86e86e76b3353b68bdc96a375f93505.jpg",
+ "https://o1.fengqingyang.ml/old/b389298fd9956741a8c2b683c8db4f4b.jpg",
+ "https://o1.fengqingyang.ml/old/a4ae266dfdc0f2354ff1096af08956ac.jpg",
+ "https://o1.fengqingyang.ml/old/c088125e125590006b41659f3b9c261a.jpg",
+ "https://o1.fengqingyang.ml/old/8cb5beeaa75460e99a1febfa09bc6eae.jpg",
+ "https://o1.fengqingyang.ml/old/c878eb3aeaaf478a97983c55162de4d4.jpg",
+ "https://o1.fengqingyang.ml/old/bd1667be18a873fa7f4443e9275def95.jpg",
+ "https://o1.fengqingyang.ml/old/cebec26f093c2203357ae3616910c22c.jpg",
+ "https://o1.fengqingyang.ml/old/bf2acbb8b565eccf6b2af1f1db85aee6.jpg",
+ "https://o1.fengqingyang.ml/old/7698c1fe8a36a48d5f1e1badffa53c2d.jpg",
+ "https://o1.fengqingyang.ml/old/d545f7a0100e85219af89bbcb3f5541c.jpg",
+ "https://o1.fengqingyang.ml/old/f0eeef90825dddf0698df21e15c93f3c.jpg",
+ "https://o1.fengqingyang.ml/old/6fc650c12d3139182bbfebb4153d637a.jpg",
+ "https://o1.fengqingyang.ml/old/08c991221649e9a5d15a7a9f66376abb.jpg",
+ "https://o1.fengqingyang.ml/old/1ed0431d72f7731f890b73cf64307511.jpg",
+ "https://o1.fengqingyang.ml/old/2d12cc4366133b8a16c14f6354e3507e.jpg",
+ "https://o1.fengqingyang.ml/old/c4fe29df9ad90cb376253d57dec5cda0.jpg",
+ "https://o1.fengqingyang.ml/old/f5687fbec6ddf7105ef4055db1278fe6.jpg",
+ "https://o1.fengqingyang.ml/old/6f62f90f2665ccdacb4f755ca2cd92d3.jpg",
+ "https://o1.fengqingyang.ml/old/a84bcf178a155d5a68ec6fe71c2d9508.jpg",
+ "https://o1.fengqingyang.ml/old/4c8e021c8c0bb5822dd357ca0d072598.jpg",
+ "https://o1.fengqingyang.ml/old/09b5312444f762a01165f5c2759bea5f.jpg",
+ "https://o1.fengqingyang.ml/old/f0014e4b616f06e788a24841392fc488.jpg",
+ "https://o1.fengqingyang.ml/old/31d4a8ac6aeb668db844c4b57aedf1de.jpg",
+ "https://o1.fengqingyang.ml/old/eb845ec60d9b2e727548ba3925c0788d.jpg",
+ "https://o1.fengqingyang.ml/old/5e744a3e2b736764b56c4bace00983fa.jpg",
+ "https://o1.fengqingyang.ml/old/92745483aa6b4af169ea042c1bc2e341.jpg",
+ "https://o1.fengqingyang.ml/old/0b17ce52da5672019912bec37e028701.jpg",
+ "https://o1.fengqingyang.ml/old/cb4f2121cc91d0b3ded558d67950c572.jpg",
+ "https://o1.fengqingyang.ml/old/cfebcc514bf361adf2dbfd6f8a823314.jpg",
+ "https://o1.fengqingyang.ml/old/6f51cd34020ad49df321a49f87618e42.jpg",
+ "https://o1.fengqingyang.ml/old/505255399ff6049c920dff8736e15143.jpg",
+ "https://o1.fengqingyang.ml/old/cc51b2f7ac61376f058d9d4ba4853bf9.jpg",
+ "https://o1.fengqingyang.ml/old/c82273c8b3111d81958bc2e8d7d07ea5.jpg",
+ "https://o1.fengqingyang.ml/old/f93402921b5cf7aed19e593d68bfcbde.jpg",
+ "https://o1.fengqingyang.ml/old/4582fde42068b7237c71033927d32d9a.jpg",
+ "https://o1.fengqingyang.ml/old/ed7ac4115ca22003250a528f3c0de877.jpg",
+ "https://o1.fengqingyang.ml/old/65c7178953a5e7a259b4ab3c5dfcdba7.jpg",
+ "https://o1.fengqingyang.ml/old/7a891fbe682d866b7b9c15744d069d0e.jpg",
+ "https://o1.fengqingyang.ml/old/da220e0ee48a4a07d118a75114b47afe.jpg",
+ "https://o1.fengqingyang.ml/old/a16051680d734f05a883fb61e219c2a7.jpg",
+ "https://o1.fengqingyang.ml/old/9ba2b5de9c3facd2bb3deeba1b2cfe68.jpg",
+ "https://o1.fengqingyang.ml/old/12b0727da86a718ee140798b1a57e41e.jpg",
+ "https://o1.fengqingyang.ml/old/db5ae549e1c8cc1822cfa32ff23ab0b4.jpg",
+ "https://o1.fengqingyang.ml/old/d710f97262ebe319acc689151a3caa18.jpg",
+ "https://o1.fengqingyang.ml/old/a019c72bb03148c1aa81457d1e4cb1e7.jpg",
+ "https://o1.fengqingyang.ml/old/6df95a451379033bb1cbdc3ee0bbd0fb.jpg",
+ "https://o1.fengqingyang.ml/old/c428ae667e7912a28667515ff4a293f2.jpg",
+ "https://o1.fengqingyang.ml/old/aed6d59943966cba77ac24577c641c2a.jpg",
+ "https://o1.fengqingyang.ml/old/e3beaebcf9e26aa4ddda7cba9824fd71.jpg",
+ "https://o1.fengqingyang.ml/old/14d1e981b546e51f95a9d018bc5856be.jpg",
+ "https://o1.fengqingyang.ml/old/f22fb6cbc62107ff35422a861be63bee.jpg",
+ "https://o1.fengqingyang.ml/old/d414a712bf248fc7757dd6a59ca365f2.jpg",
+ "https://o1.fengqingyang.ml/old/fcb02fd61db0cb21a37d0b168b70c726.jpg",
+ "https://o1.fengqingyang.ml/old/a91d145f55e3e8287c635e79adff5dde.jpg",
+ "https://o1.fengqingyang.ml/old/082e0b74dd1f1f0340b86b175f771147.jpg",
+ "https://o1.fengqingyang.ml/old/82d751352878f9dd3d06bf2f057bbae3.jpg",
+ "https://o1.fengqingyang.ml/old/f0253d4e59211d83441a425050914372.jpg",
+ "https://o1.fengqingyang.ml/old/af839e407b0f3b2f3d37e9ccada86e4f.jpg",
+ "https://o1.fengqingyang.ml/old/7da658544e88cf2fc1c3df22ac40c372.jpg",
+ "https://o1.fengqingyang.ml/old/41062dbf024db3bbb97c782bf2923ca9.jpg",
+ "https://o1.fengqingyang.ml/old/fd46e2bb5c84d205a4b1d1e23d0bcfb8.jpg",
+ "https://o1.fengqingyang.ml/old/ed497aa3a86ffb1a31f9e274ad91b15e.jpg",
+ "https://o1.fengqingyang.ml/old/dbbeca3ef961e6020d5d0c4c5f3cb9a9.jpg",
+ "https://o1.fengqingyang.ml/old/bfb4dca7e5861cb0db3e57801af765db.jpg",
+ "https://o1.fengqingyang.ml/old/8060eefb9c9b1abd57216ceadb03f7e6.jpg",
+ "https://o1.fengqingyang.ml/old/0e7719d6dba94958561422df31fe6919.jpg",
+ "https://o1.fengqingyang.ml/old/353170425bf1dc1048648677d855e881.jpg",
+ "https://o1.fengqingyang.ml/old/32ab74e7cf084ca62718eb10f9a20a5b.jpg",
+ "https://o1.fengqingyang.ml/old/1f2238585c559fc059a801bf011e2d5b.jpg",
+ "https://o1.fengqingyang.ml/old/6f750b043741af282105c8570edfaa0f.jpg",
+ "https://o1.fengqingyang.ml/old/b1a006ff37d84058c36bc403fd5c2b3d.jpg",
+ "https://o1.fengqingyang.ml/old/a2553155f0892852830dd9a241683e3b.jpg",
+ "https://o1.fengqingyang.ml/old/84fd5a824f3c493c6059ca8d640e088c.jpg",
+ "https://o1.fengqingyang.ml/old/a1765f0d7da659765c77c7c17d05014c.jpg",
+ "https://o1.fengqingyang.ml/old/7f525d0cfd3974e8cebdfa9b3c457e4b.jpg",
+ "https://o1.fengqingyang.ml/old/b8d9617b7f6070e1168dbe14ee14d011.jpg",
+ "https://o1.fengqingyang.ml/old/ba9c39a7ea513d907a80803b49cfb026.jpg",
+ "https://o1.fengqingyang.ml/old/ac744b6bd9a74e0ad241ea05251f961f.jpg",
+ "https://o1.fengqingyang.ml/old/794ebc12eab90f85b64f4bfd50496950.jpg",
+ "https://o1.fengqingyang.ml/old/3cd6bd33fbdeea2709a7390607a18158.jpg",
+ "https://o1.fengqingyang.ml/old/bb59a11e2c8e28c10363ad813541b62a.jpg",
+ "https://o1.fengqingyang.ml/old/4fbfba5bd92b8e570c5e7d39531491df.jpg",
+ "https://o1.fengqingyang.ml/old/5015fd342ef580372fa553d3a0cd26cd.jpg",
+ "https://o1.fengqingyang.ml/old/ac8eaaf1d9d6571e89ff97c4f1555054.jpg",
+ "https://o1.fengqingyang.ml/old/9acf3b0cce9c648bcf227da19f2a9baf.jpg",
+ "https://o1.fengqingyang.ml/old/f05305257e195d9cf12df76516adaba5.jpg",
+ "https://o1.fengqingyang.ml/old/1f9adbd96f9a7c6af72e90513f242326.jpg",
+ "https://o1.fengqingyang.ml/old/51329fde9bfa9f000377d69868994cbc.jpg",
+ "https://o1.fengqingyang.ml/old/6d2af04055883686672768a960273769.jpg",
+ "https://o1.fengqingyang.ml/old/8e3dd1fa27bdafac951212d7305eff4d.jpg",
+ "https://o1.fengqingyang.ml/old/98398417d634384c4688a0a23060149c.jpg",
+ "https://o1.fengqingyang.ml/old/f874470bbe3070f0a9023e8fec9992e7.jpg",
+ "https://o1.fengqingyang.ml/old/072410a769569a31d7f6f7e7da9d5248.jpg",
+ "https://o1.fengqingyang.ml/old/3b20c40d00b50d2ae9c260e9b29408b9.jpg",
+ "https://o1.fengqingyang.ml/old/09f7ed36e9774e50115ca71634d8e728.jpg",
+ "https://o1.fengqingyang.ml/old/4c903d8ff49c797996c5de3cd87c823e.jpg",
+ "https://o1.fengqingyang.ml/old/f9975db942a586589f2480ad7cd6b618.jpg",
+ "https://o1.fengqingyang.ml/old/1152bb031a1ace2209b719c3394ff58c.jpg",
+ "https://o1.fengqingyang.ml/old/65f0e44a576343877cd2817132167dfb.jpg",
+ "https://o1.fengqingyang.ml/old/2805ab47546cd79d3c7f774712b769a0.jpg",
+ "https://o1.fengqingyang.ml/old/e5ef557fa170ca9f41e05f1621c69bcf.jpg",
+ "https://o1.fengqingyang.ml/old/59c19087bd0f4e2a11d6e0a56274aa10.jpg",
+ "https://o1.fengqingyang.ml/old/924ccd67e1f3a8d61657dd2be55ef474.jpg",
+ "https://o1.fengqingyang.ml/old/1c4a10ad5d7a0ffe46dadfad60e04cbb.jpg",
+ "https://o1.fengqingyang.ml/old/6a2488f2a3cfdef39dfca5f001ef23b2.jpg",
+ "https://o1.fengqingyang.ml/old/92b91a12be70dafb287ff36b671d69c1.jpg",
+ "https://o1.fengqingyang.ml/old/53a3020ab5c69519227df3b9ddcb3398.jpg",
+ "https://o1.fengqingyang.ml/old/982b594b481a9876e38ebe3db7cbd970.jpg",
+ "https://o1.fengqingyang.ml/old/1d07fb102de587d59d67e431e09c146b.jpg",
+ "https://o1.fengqingyang.ml/old/8ee5b17bcfe4dab5d5a2014d00533f95.jpg",
+ "https://o1.fengqingyang.ml/old/e5880b0aad118eb4d58e52fd8078da81.jpg",
+ "https://o1.fengqingyang.ml/old/066ad38aa039eed741126e69a510a4cc.jpg",
+ "https://o1.fengqingyang.ml/old/22bbd0b8db0234a1e943553bcd5358d7.jpg",
+ "https://o1.fengqingyang.ml/old/ec7dbfb71489be767af268467fe93bb5.jpg",
+ "https://o1.fengqingyang.ml/old/0126bf28032ea57f9edd53e25658cbc6.jpg",
+ "https://o1.fengqingyang.ml/old/dd9aa170bbaba75ed99b2bafa080e58b.jpg",
+ "https://o1.fengqingyang.ml/old/93ba6a06761d5ee0e5147f5c806aa660.jpg",
+ "https://o1.fengqingyang.ml/old/b1df0f37dcc49bb4ddda6215d32a5757.jpg",
+ "https://o1.fengqingyang.ml/old/7b459574244af7ce7cc0ef71ed59109e.jpg",
+ "https://o1.fengqingyang.ml/old/5c60f0da0a39e0d9dce4d7fc5a5af840.jpg",
+ "https://o1.fengqingyang.ml/old/33ed81a06dd80adaf6c93e7b460460fd.jpg",
+ "https://o1.fengqingyang.ml/old/45809004086d9478b9fbd50fafcf7df0.jpg",
+ "https://o1.fengqingyang.ml/old/d451c3393f0150ada4fbb166809910a9.jpg",
+ "https://o1.fengqingyang.ml/old/5bd2ea9a4f137e4f7c863f864bae370c.jpg",
+ "https://o1.fengqingyang.ml/old/206ccc5b79fe77ec4d23234df34811fd.jpg",
+ "https://o1.fengqingyang.ml/old/fdc9d79a82064067bdfcf27e369b01e1.jpg",
+ "https://o1.fengqingyang.ml/old/08773af3bf9669c3ebe76006db1bee14.jpg",
+ "https://o1.fengqingyang.ml/old/189409ebc55f093c2b7c77dba1c2f81f.jpg",
+ "https://o1.fengqingyang.ml/old/9e8d975d1215a38bad46c87277b26f71.jpg",
+ "https://o1.fengqingyang.ml/old/76ea4d5f658ce736e4ca3943944139cd.jpg",
+ "https://o1.fengqingyang.ml/old/1399dbaca738a72dab1d91367e66a9e5.jpg",
+ "https://o1.fengqingyang.ml/old/6cc0778283e1519850eb80a885e1b324.jpg",
+ "https://o1.fengqingyang.ml/old/481f52ea5bf614c2e97f8dcf84868cb9.jpg",
+ "https://o1.fengqingyang.ml/old/a785de1317bab30d69e0429bcd218858.jpg",
+ "https://o1.fengqingyang.ml/old/a462c8530af4bd9ab6d2a0ee69af87a5.jpg",
+ "https://o1.fengqingyang.ml/old/9dd1f742cba05520dd1cbfaf758d25d7.jpg",
+ "https://o1.fengqingyang.ml/old/267f93c3a5b27cd66658f6fe64757186.jpg",
+ "https://o1.fengqingyang.ml/old/4e96a7e1777ac0d48bda9c348c620ec9.jpg",
+ "https://o1.fengqingyang.ml/old/d9ac5011d43b0b6c7b81ed65b5fdc325.jpg",
+ "https://o1.fengqingyang.ml/old/447d6ca41702d5083748f524c5bb3453.jpg",
+ "https://o1.fengqingyang.ml/old/55baa07add0125a7aeadd40a0ecd5c9f.jpg",
+ "https://o1.fengqingyang.ml/old/fe6af97fb29069118dfdbe3df5168b47.jpg",
+ "https://o1.fengqingyang.ml/old/00bb9f583cc104ba658aad6b56349ff4.jpg",
+ "https://o1.fengqingyang.ml/old/b307b863d006c17be8a6f519f6c3fbe5.jpg",
+ "https://o1.fengqingyang.ml/old/142fc6a52e60c2044a05b3e28e274a18.jpg",
+ "https://o1.fengqingyang.ml/old/fd88c8d0a1cdd3a9a54c81aa3d229368.jpg",
+ "https://o1.fengqingyang.ml/old/208f21d9b105a6a0794bb91d7ad3c66d.jpg",
+ "https://o1.fengqingyang.ml/old/12f48c811c38ed429e201bf70b24591d.jpg",
+ "https://o1.fengqingyang.ml/old/4b853f8147c7614cb79e2701a0e551a6.jpg",
+ "https://o1.fengqingyang.ml/old/bbf0f10edf6b22510a437fb2b0311ca5.jpg",
+ "https://o1.fengqingyang.ml/old/8523c2fd3a510412907054095304f3a5.jpg",
+ "https://o1.fengqingyang.ml/old/776a0284e650d95aaf61d56033da2332.jpg",
+ "https://o1.fengqingyang.ml/old/a038165c047db4fe88d7230c7c731483.jpg",
+ "https://o1.fengqingyang.ml/old/6f98abd71e1c760fe3d21c7cabb78aeb.jpg",
+ "https://o1.fengqingyang.ml/old/1d862b9cc46bcad87364ce34e5ae51cb.jpg",
+ "https://o1.fengqingyang.ml/old/c038111904233e7751914e26ab76869f.jpg",
+ "https://o1.fengqingyang.ml/old/cfb264ccc4f239d296d2657078bdce5a.jpg",
+ "https://o1.fengqingyang.ml/old/59f16b76cec587367d0cd7b703e244fe.jpg",
+ "https://o1.fengqingyang.ml/old/81452190e6e49d26d54782518413b394.jpg",
+ "https://o1.fengqingyang.ml/old/9505597a46c40b8767f2449f7d5e5b06.jpg",
+ "https://o1.fengqingyang.ml/old/4aa419de8ac3d281a2c3dede1da59c01.jpg",
+ "https://o1.fengqingyang.ml/old/bb8b1ffaf54013328f924ad95a27bdda.jpg",
+ "https://o1.fengqingyang.ml/old/53f106e298f09bd4ce7a28c95f3e1959.jpg",
+ "https://o1.fengqingyang.ml/old/62323e65d2e97acb54909443653d7cb3.jpg",
+ "https://o1.fengqingyang.ml/old/4575296a9b2246f56bc321ad6811cf13.jpg",
+ "https://o1.fengqingyang.ml/old/019abdaeaf6dc504b71d726b736c063a.jpg",
+ "https://o1.fengqingyang.ml/old/b44a0f25fe83d6f694b52b19eea7afc3.jpg",
+ "https://o1.fengqingyang.ml/old/71a3d887ae9aa05c6c40d960ac7896dd.jpg",
+ "https://o1.fengqingyang.ml/old/776b591c72327f006eb1179d492c73db.jpg",
+ "https://o1.fengqingyang.ml/old/e9275782e1f64daecb2964a67cb712a7.jpg",
+ "https://o1.fengqingyang.ml/old/2e3349f6485319a04792b85ffc84f33e.jpg",
+ "https://o1.fengqingyang.ml/old/5187ff3c13922efbd281d143571eaa17.jpg",
+ "https://o1.fengqingyang.ml/old/a1a30cd459712dea3155171522a5b401.jpg",
+ "https://o1.fengqingyang.ml/old/a3e45bbcd47e607394994aa9ac6ba91e.jpg",
+ "https://o1.fengqingyang.ml/old/a0cb16d2cf82ac8bc60db50c4492e1e3.jpg",
+ "https://o1.fengqingyang.ml/old/369a4501ce5631a83bc53c90d19b514d.jpg",
+ "https://o1.fengqingyang.ml/old/980705b1b4fac6d9aa2f38bbbc798113.jpg",
+ "https://o1.fengqingyang.ml/old/3716e089eb5ebaab73910e129736fe03.jpg",
+ "https://o1.fengqingyang.ml/old/6ecda584fc6bef362f8fae7fbb5730ab.jpg",
+ "https://o1.fengqingyang.ml/old/56964632abbda61f61b796c8bd3fcef2.jpg",
+ "https://o1.fengqingyang.ml/old/21380a079510123863fa111a3ef9ac5c.jpg",
+ "https://o1.fengqingyang.ml/old/e505c77428bdd1e2c465a672718a708c.jpg",
+ "https://o1.fengqingyang.ml/old/670eef39245aba3d656ebd3724d82215.jpg",
+ "https://o1.fengqingyang.ml/old/14b0be133da2f9d52ee8db7e3e390f18.jpg",
+ "https://o1.fengqingyang.ml/old/4f4eefedef2476ecfc96296e1b96fbda.jpg",
+ "https://o1.fengqingyang.ml/old/47a12cc1f0cf3d79ccacfdfd7a3c07f4.jpg",
+ "https://o1.fengqingyang.ml/old/65f599b3ba4135082a0cc3c07080711e.jpg",
+ "https://o1.fengqingyang.ml/old/0c806cc829d0ef886a55e220413c3cf2.jpg",
+ "https://o1.fengqingyang.ml/old/41735b5a05fcd1a88571c7d51c13cf76.jpg",
+ "https://o1.fengqingyang.ml/old/71c92cf963e3305e3d35370064a8223b.jpg",
+ "https://o1.fengqingyang.ml/old/40e340dfa2db0ba5dd6c04b76981557c.jpg",
+ "https://o1.fengqingyang.ml/old/db2302eb13f395980d899e55a95999b2.jpg",
+ "https://o1.fengqingyang.ml/old/caf45e50c38dc03ecd18289855fbc575.jpg",
+ "https://o1.fengqingyang.ml/old/444d87ab7caa23968dd7407ed42f5199.jpg",
+ "https://o1.fengqingyang.ml/old/9bf88fa286a383a1d60e89dbdde18781.jpg",
+ "https://o1.fengqingyang.ml/old/6efb44c0585275612a6fc038c297ab67.jpg",
+ "https://o1.fengqingyang.ml/old/624b8e2dcf696960d784015424cfb6f6.jpg",
+ "https://o1.fengqingyang.ml/old/5f3b0fc30be3baac9638a68aee313552.jpg",
+ "https://o1.fengqingyang.ml/old/e0a99763fb0875234a9df5cf60639e69.jpg",
+ "https://o1.fengqingyang.ml/old/d7d4af8469f28c759e525d2a355952a8.jpg",
+ "https://o1.fengqingyang.ml/old/1177a1c41c94ca20fc5cf80f1f6e5fe7.jpg",
+ "https://o1.fengqingyang.ml/old/0b08cdc8ded3341c2c2dadb5c3f91347.jpg",
+ "https://o1.fengqingyang.ml/old/00178280b236e815a9bd8984614b2e22.jpg",
+ "https://o1.fengqingyang.ml/old/dc0f25dbc1cea7285c938c02dfe658ae.jpg",
+ "https://o1.fengqingyang.ml/old/da9c92df2908398adde959deb0d4b74d.jpg",
+ "https://o1.fengqingyang.ml/old/d42d1804246f98f0f74e596f93a140ca.jpg",
+ "https://o1.fengqingyang.ml/old/93e39b35c49e45de57c12b348241d924.jpg",
+ "https://o1.fengqingyang.ml/old/d6addd386872851ede4fe1f94e9efc03.jpg",
+ "https://o1.fengqingyang.ml/old/f1a3325b962e0da8cddc13d46cb279af.jpg",
+ "https://o1.fengqingyang.ml/old/e95c5cf7fa397215f2ff32d8fc7ce2f4.jpg",
+ "https://o1.fengqingyang.ml/old/b047eda3dc4b43ba755cece8664a22b1.jpg",
+ "https://o1.fengqingyang.ml/old/4a44536b700f974da40ba209c2b915a0.jpg",
+ "https://o1.fengqingyang.ml/old/ec936cab8cf321bb4b521f084666f8b5.jpg",
+ "https://o1.fengqingyang.ml/old/e1ce2dcdcc443cca2b2451496129dfbc.jpg",
+ "https://o1.fengqingyang.ml/old/0ab5a2f541b3ea152621916de9bfa640.jpg",
+ "https://o1.fengqingyang.ml/old/07a2de6326a8a208144070027cb739fa.jpg",
+ "https://o1.fengqingyang.ml/old/c6a6d5c5eda4ad685158f1a89327e3aa.jpg",
+ "https://o1.fengqingyang.ml/old/ea0913e1d83b18fc4e46b74a3c2e4890.jpg",
+ "https://o1.fengqingyang.ml/old/b366aca19774dbbc1481d4259cd29856.jpg",
+ "https://o1.fengqingyang.ml/old/a1e6648d42fe87c94e38b4689f087904.jpg",
+ "https://o1.fengqingyang.ml/old/3e7d26ea186ef6716e570b5dd0704e6f.jpg",
+ "https://o1.fengqingyang.ml/old/be26333c0cafdb4cb4551083b63465e8.jpg",
+ "https://o1.fengqingyang.ml/old/48410c88ec4f29d445127ea849eb1feb.jpg",
+ "https://o1.fengqingyang.ml/old/b53610ee9e51511fc003d21eb85c77b9.jpg",
+ "https://o1.fengqingyang.ml/old/14efbe2249fbd453f785ade1fe2f58bd.jpg",
+ "https://o1.fengqingyang.ml/old/eb3188c201a248b8829803e5fe9d1207.jpg",
+ "https://o1.fengqingyang.ml/old/2cddca5b5509e37aeadd5397e292da62.jpg",
+ "https://o1.fengqingyang.ml/old/19ebd1774afbdb5c12d7b5202867b513.jpg",
+ "https://o1.fengqingyang.ml/old/96cbf4ed09aacfc3c8e0fbcf0be5e48b.jpg",
+ "https://o1.fengqingyang.ml/old/b8734ae4017b9587d857f183080a6d17.jpg",
+ "https://o1.fengqingyang.ml/old/50727a66e0b7b210185e1a8fd8e2f2e1.jpg",
+ "https://o1.fengqingyang.ml/old/be2b8e01eae8b2caabb1f6b093d9f4b9.jpg",
+ "https://o1.fengqingyang.ml/old/f8adf596fca7dbd018eac27ed35b4d96.jpg",
+ "https://o1.fengqingyang.ml/old/e6e1ced38ebad938389c9d06462b4cb5.jpg",
+ "https://o1.fengqingyang.ml/old/53ac242207b18088f61a11e6245696bc.jpg",
+ "https://o1.fengqingyang.ml/old/f134c60ef4de6c0db26914977d297a32.jpg",
+ "https://o1.fengqingyang.ml/old/a296efddac42ae38beb9ffd7fbeb9847.jpg",
+ "https://o1.fengqingyang.ml/old/692a9f4e89e008019a45cbd100cca872.jpg",
+ "https://o1.fengqingyang.ml/old/5fe7229b99d73e343a2e1178f9844f84.jpg",
+ "https://o1.fengqingyang.ml/old/8f6b164d85dd3e834ae240d17eccb807.jpg",
+ "https://o1.fengqingyang.ml/old/65391c0aee88227cc0de21227edd3b95.jpg",
+ "https://o1.fengqingyang.ml/old/36925da3b31898403ad4feab3af94ad1.jpg",
+ "https://o1.fengqingyang.ml/old/77bdbb57dbf53cb1b27d3c8127bda4d7.jpg",
+ "https://o1.fengqingyang.ml/old/467d324a11f9be7a8017dd90513cf16d.jpg",
+ "https://o1.fengqingyang.ml/old/67ef7307d8c0143990e23cc2f38c3cad.jpg",
+ "https://o1.fengqingyang.ml/old/60bd715efa0ad4985b3c6acff14761a7.jpg",
+ "https://o1.fengqingyang.ml/old/646f9305f5888f35a882438de33dd5c4.jpg",
+ "https://o1.fengqingyang.ml/old/ab273a9a66d564f0a3254938e77ec81d.jpg",
+ "https://o1.fengqingyang.ml/old/33c7da87f5356ae333ac45ca3d577982.jpg",
+ "https://o1.fengqingyang.ml/old/8ef91c22b11ed0a6e97462fd34c1b1c6.jpg",
+ "https://o1.fengqingyang.ml/old/d04154d7e9c4f40ef4cfacd18f39910e.jpg",
+ "https://o1.fengqingyang.ml/old/3a64f075ac953c65518a07ae2e03df3d.jpg",
+ "https://o1.fengqingyang.ml/old/32e1e99fed55781a13cac8f6f16068af.jpg",
+ "https://o1.fengqingyang.ml/old/79c6e6970aa9dcff22c48c001c70d297.jpg",
+ "https://o1.fengqingyang.ml/old/00379d7131dd4e9c895461ecef1fda9e.jpg",
+ "https://o1.fengqingyang.ml/old/91eb77734db28d2094da1bdf9588aecb.jpg",
+ "https://o1.fengqingyang.ml/old/0386ff164c0e22de5d373a4b71fbab06.jpg",
+ "https://o1.fengqingyang.ml/old/f69df81a813cdb315abb556af4f42bf9.jpg",
+ "https://o1.fengqingyang.ml/old/ccb17e7fdabe6107e4988018389b183b.jpg",
+ "https://o1.fengqingyang.ml/old/ad75d9cef656f6d936b9c8f0bbe2fee6.jpg",
+ "https://o1.fengqingyang.ml/old/b6570ba68dc7d8bd094630081075ce60.jpg",
+ "https://o1.fengqingyang.ml/old/1bfbfe216e2d01b0561c7a9bbcd3b77b.jpg",
+ "https://o1.fengqingyang.ml/old/7eadbaf8d86d3ba5fa6f626383e2d086.jpg",
+ "https://o1.fengqingyang.ml/old/c5df5a6bd7e79b625c0aa54ee2a3db30.jpg",
+ "https://o1.fengqingyang.ml/old/41e0f294eb19c161dea380157f2ddce4.jpg",
+ "https://o1.fengqingyang.ml/old/38bc2bec6cd1ab80aff0d39677034946.jpg",
+ "https://o1.fengqingyang.ml/old/f101f25ccb1b7fd060c904b3f955b732.jpg",
+ "https://o1.fengqingyang.ml/old/212b06495977c9c77d183d482a5950b8.jpg",
+ "https://o1.fengqingyang.ml/old/96d15d95ea403caa896f2692538973b7.jpg",
+ "https://o1.fengqingyang.ml/old/97db170b8e9b7cc050f477d4b4c9353b.jpg",
+ "https://o1.fengqingyang.ml/old/6d02f3bd886be5b2a4702dd921333692.jpg",
+ "https://o1.fengqingyang.ml/old/57f4a8d6bdd25260ab2b66363c20b115.jpg",
+ "https://o1.fengqingyang.ml/old/63b3fde361801348a706eca5afd83eec.jpg",
+ "https://o1.fengqingyang.ml/old/617f399a62e453deea3a626281036dc0.jpg",
+ "https://o1.fengqingyang.ml/old/ecd552910b5a618293adba3836d7a0dd.jpg",
+ "https://o1.fengqingyang.ml/old/2f40ec9f696a631b992ab6f72e252524.jpg",
+ "https://o1.fengqingyang.ml/old/82d6c5b7528ba83ed5921f4214d84913.jpg",
+ "https://o1.fengqingyang.ml/old/519788fc66fe08a2d1a7ab67e040c92f.jpg",
+ "https://o1.fengqingyang.ml/old/bcaaea80dbebbdf4ed68c8bffeab9bb1.jpg",
+ "https://o1.fengqingyang.ml/old/fa96ac817e31644366ffa034483b5112.jpg",
+ "https://o1.fengqingyang.ml/old/5a39cbc257945986bf58a1894244a34f.jpg",
+ "https://o1.fengqingyang.ml/old/0fe7334fb8e9d08943e4cbc7ecb38378.jpg",
+ "https://o1.fengqingyang.ml/old/309baeffe887351afa760c6c6275b56c.jpg",
+ "https://o1.fengqingyang.ml/old/5116b69c597457baeb12fc88585762a2.jpg",
+ "https://o1.fengqingyang.ml/old/5fac20db11ba5f609c41dc5c817703b9.jpg",
+ "https://o1.fengqingyang.ml/old/bc71e028eb181f823e024f148b084830.jpg",
+ "https://o1.fengqingyang.ml/old/b7a1a2add0d1b6651c61af3e878c807b.jpg",
+ "https://o1.fengqingyang.ml/old/597c68e3e6b9ba3cb67ae098062e9fdb.jpg",
+ "https://o1.fengqingyang.ml/old/5c87e44d0575c4cf26e1b5a6463f5e72.jpg",
+ "https://o1.fengqingyang.ml/old/b4ec46fa49acfce253ad6a049994be38.jpg",
+ "https://o1.fengqingyang.ml/old/100708c9c0bfd3fa855318472969ea52.jpg",
+ "https://o1.fengqingyang.ml/old/6fde975e7b82f0f550a46c51eac448c1.jpg",
+ "https://o1.fengqingyang.ml/old/73309257f2015dcbdc008b58718c9f15.jpg",
+ "https://o1.fengqingyang.ml/old/682d359c50343d3a9aebf457b0dc8154.jpg",
+ "https://o1.fengqingyang.ml/old/facd68c3c9a96fc20bdaea5f792351c0.jpg",
+ "https://o1.fengqingyang.ml/old/4355abff4f42ab69cfc6a5cc73c4a13b.jpg",
+ "https://o1.fengqingyang.ml/old/790bbebdc5b28641000cebb25c94edcc.jpg",
+ "https://o1.fengqingyang.ml/old/0914689b83c45f5e5bcf7ce8914437f1.jpg",
+ "https://o1.fengqingyang.ml/old/4afa60486ca85f9f6d357fcb5f5d2bc2.jpg",
+ "https://o1.fengqingyang.ml/old/2c93859b828b4f2a492f0291dfa01bd8.jpg",
+ "https://o1.fengqingyang.ml/old/89d9650ffc1e8fca305f38349dea0ef4.jpg",
+ "https://o1.fengqingyang.ml/old/43f0d4966c1580d70d34e586d861dcac.jpg",
+ "https://o1.fengqingyang.ml/old/db8b09d40e234e1661d2e8b1e14a5545.jpg",
+ "https://o1.fengqingyang.ml/old/9d61f7abfe4958163aacd9b551fce2b9.jpg",
+ "https://o1.fengqingyang.ml/old/ece4fead79a4abafd03e0a4cbccedbf1.jpg",
+ "https://o1.fengqingyang.ml/old/aa47ed0a52c0685e5246b332ee34ed2b.jpg",
+ "https://o1.fengqingyang.ml/old/ecd96aa7668af27a61e798e14b95e376.jpg",
+ "https://o1.fengqingyang.ml/old/df3dc3d76200d2422689e3c63f12536b.jpg",
+ "https://o1.fengqingyang.ml/old/d5d50615430502a3cb4c8b8f3bc3c098.jpg",
+ "https://o1.fengqingyang.ml/old/ff71459c76f3e4f756b1d9f88297aad9.jpg",
+ "https://o1.fengqingyang.ml/old/1685e3e2cf495b7606a898626cd81849.jpg",
+ "https://o1.fengqingyang.ml/old/60999568ff72a4ac8578e08ce9e4aec8.jpg",
+ "https://o1.fengqingyang.ml/old/63c01ab629d8fef07f502374bcdafd56.jpg",
+ "https://o1.fengqingyang.ml/old/5568c6b1eb7a3b5157ea609b5b208542.jpg",
+ "https://o1.fengqingyang.ml/old/6da4954ad6b6225f5c4f80e42b18c98e.jpg",
+ "https://o1.fengqingyang.ml/old/1bbd0966daa3953b04d74b99c34a1f6a.jpg",
+ "https://o1.fengqingyang.ml/old/3bf1396a5f9f2b4b7af2e8ad3380063a.jpg",
+ "https://o1.fengqingyang.ml/old/461d030ad93953240f894ea46c6edb1e.jpg",
+ "https://o1.fengqingyang.ml/old/366964ac75a05a2863309c315d653d1b.jpg",
+ "https://o1.fengqingyang.ml/old/c7b7882559351657582ef07cb4a714bc.jpg",
+ "https://o1.fengqingyang.ml/old/28b40df05c4f636ace65f738c8d30bd8.jpg",
+ "https://o1.fengqingyang.ml/old/4d8c7b79783378ccdd5cfb66475f4e1f.jpg",
+ "https://o1.fengqingyang.ml/old/721672f7734cc9a095c6d878a2b5531e.jpg",
+ "https://o1.fengqingyang.ml/old/d37b04eff67ca687414124c0cff50116.jpg",
+ "https://o1.fengqingyang.ml/old/2253bbfa68a1ec3d0f263c79b4c9a642.jpg",
+ "https://o1.fengqingyang.ml/old/c028048cf5e6f10ef90c1ae63fa0b9fe.jpg",
+ "https://o1.fengqingyang.ml/old/93eed4f2c9d881b5c315cf56b94fe6e8.jpg",
+ "https://o1.fengqingyang.ml/old/95a6b113d377485f3e21d671a8cde622.jpg",
+ "https://o1.fengqingyang.ml/old/6c11f51eb236dc391eb80be0a41f48f8.jpg",
+ "https://o1.fengqingyang.ml/old/cfdb19af7a72bc839bae7dce1e9b35ce.jpg",
+ "https://o1.fengqingyang.ml/old/7af3a203d495fc6110baf200eda6f1ed.jpg",
+ "https://o1.fengqingyang.ml/old/53c0cf64f8631573ad92eaad1708a10b.jpg",
+ "https://o1.fengqingyang.ml/old/8ecc91e1c9b5153505303a7fcc40e4aa.jpg",
+ "https://o1.fengqingyang.ml/old/9b540cd9e5c2f1c8416aaecf007df20d.jpg",
+ "https://o1.fengqingyang.ml/old/2e314ee3ed5f4316ecaab5e0ad96fde3.jpg",
+ "https://o1.fengqingyang.ml/old/4a11aa0362600f839f31e27c4c16cce5.jpg",
+ "https://o1.fengqingyang.ml/old/0a60aa1e3de9e81e813bb06d67c670a4.jpg",
+ "https://o1.fengqingyang.ml/old/b8ba38ad97856ff02cdfb6427f7dca11.jpg",
+ "https://o1.fengqingyang.ml/old/0cb1382ad1ff0fc0fd55151f380809a9.jpg",
+ "https://o1.fengqingyang.ml/old/8ff980ff6f8adc56a4075ad68cd4a8df.jpg",
+ "https://o1.fengqingyang.ml/old/a3aae4a5a623d96c37d281d0f39c30e8.jpg",
+ "https://o1.fengqingyang.ml/old/e7a27a754892f23f34ea303a6a61acff.jpg",
+ "https://o1.fengqingyang.ml/old/615bac0514593c1325d4fa33cdc18f0d.jpg",
+ "https://o1.fengqingyang.ml/old/7a89237d61a61072e959770a5e31c8e9.jpg",
+ "https://o1.fengqingyang.ml/old/aef5863a9e94f14fc2f2cb18f2dc77d1.jpg",
+ "https://o1.fengqingyang.ml/old/8dd7156ca96a48257f3333934a997954.jpg",
+ "https://o1.fengqingyang.ml/old/35269c73226cec30f3df17df4cb4d02e.jpg",
+ "https://o1.fengqingyang.ml/old/fb767b12170f9f7f18eb7754e99bd2ab.jpg",
+ "https://o1.fengqingyang.ml/old/e91d99715c9e32ed5d0378c5eb213a92.jpg",
+ "https://o1.fengqingyang.ml/old/c0d4cb74bd74cdbc0d373acf9677b4aa.jpg",
+ "https://o1.fengqingyang.ml/old/dfe2ecfe2fdf24b34bda58e556e66ed5.jpg",
+ "https://o1.fengqingyang.ml/old/3188f1a37f9205328e722994bf4bd0df.jpg",
+ "https://o1.fengqingyang.ml/old/51bd10b3f92765c40b7437a306570ad8.jpg",
+ "https://o1.fengqingyang.ml/old/d159f446bf10e56864bf3b14609764f8.jpg",
+ "https://o1.fengqingyang.ml/old/92398433f33be917ffcd2315be9b30b5.jpg",
+ "https://o1.fengqingyang.ml/old/77f5ea83cf2d39494ff9f2694d26b632.jpg",
+ "https://o1.fengqingyang.ml/old/305f8e5a570a4b6347916e04130d3e9b.jpg",
+ "https://o1.fengqingyang.ml/old/9a471308a73ff6b8dbe20d3c95b48092.jpg",
+ "https://o1.fengqingyang.ml/old/0d7925b160c395ef46ed5a03e8f94043.jpg",
+ "https://o1.fengqingyang.ml/old/1ba74d335eacc800d8dca9d2eec9aa50.jpg",
+ "https://o1.fengqingyang.ml/old/335982b0f3c31d2dab595ff82b2b86a4.jpg",
+ "https://o1.fengqingyang.ml/old/e63eb981e3e029a4717e73bc421bfd45.jpg",
+ "https://o1.fengqingyang.ml/old/a815240295b5cf4488fd89e5d8e6acbd.jpg",
+ "https://o1.fengqingyang.ml/old/731f07189e4309e8f4743861d3dc4c43.jpg",
+ "https://o1.fengqingyang.ml/old/ef53e4520df2ca1e60b3a36ea38fd8a9.jpg",
+ "https://o1.fengqingyang.ml/old/a8123e4ec8a50015f552df49a948afb2.jpg",
+ "https://o1.fengqingyang.ml/old/d3b54fb784aea4d874add96f51393254.jpg",
+ "https://o1.fengqingyang.ml/old/ea02ff4d796919b156a4a15549fe8ed6.jpg",
+ "https://o1.fengqingyang.ml/old/0dcb2460702b0581c9626d4e459d2ea2.jpg",
+ "https://o1.fengqingyang.ml/old/ad33beafd7866da7c60bd9a304004793.jpg",
+ "https://o1.fengqingyang.ml/old/75049b5b894484b84e81f8c666f996d3.jpg",
+ "https://o1.fengqingyang.ml/old/1d7e70708f50621eec3f3deaf9f37570.jpg",
+ "https://o1.fengqingyang.ml/old/3a072877810f55b61887341cf4ccbb58.jpg",
+ "https://o1.fengqingyang.ml/old/a7185d61f9739ff09fd5849656ac7855.jpg",
+ "https://o1.fengqingyang.ml/old/d5925cacb4fb56665cbbc78d924bedc2.jpg",
+ "https://o1.fengqingyang.ml/old/3a9e34bc8cd5462aeeada5fa4f63afa6.jpg",
+ "https://o1.fengqingyang.ml/old/8d0901e7532077c631e3058a57d16c53.jpg",
+ "https://o1.fengqingyang.ml/old/4ab4dff0dba2f0f0078c155f3cd3c257.jpg",
+ "https://o1.fengqingyang.ml/old/2559e5a6d764fc05ac0180adc051db74.jpg",
+ "https://o1.fengqingyang.ml/old/05c4867a4ee0175033689f468bb2eae5.jpg",
+ "https://o1.fengqingyang.ml/old/c419c029406682d97fb32e98dc8b4e1d.jpg",
+ "https://o1.fengqingyang.ml/old/33183ee6f1fe0ad52f0e0c444e6aecbe.jpg",
+ "https://o1.fengqingyang.ml/old/8e918f4617268aeabf5e9b4107e52ee0.jpg",
+ "https://o1.fengqingyang.ml/old/056c572df2cf3b1bae431a9011fa0445.jpg",
+ "https://o1.fengqingyang.ml/old/ada157dd4014631901bd0ea36de73a96.jpg",
+ "https://o1.fengqingyang.ml/old/787efa0991c7cf46f7964e25819e2cc6.jpg",
+ "https://o1.fengqingyang.ml/old/cda9244323d93fbfc80f46db9c55b2b7.jpg",
+ "https://o1.fengqingyang.ml/old/071401670942a021255493343320bc7b.jpg",
+ "https://o1.fengqingyang.ml/old/a5239a28d201ab25ceba59231d8b8962.jpg",
+ "https://o1.fengqingyang.ml/old/f9781ed5e75b7d4fd15b88e9478546e0.jpg",
+ "https://o1.fengqingyang.ml/old/73d19cb18edfccec1c6a8bc0ddeb0586.jpg",
+ "https://o1.fengqingyang.ml/old/9e447aa7d22e9f9b0cce9425b3927ea4.jpg",
+ "https://o1.fengqingyang.ml/old/835d8ab4aa2c802df107dec2363afcc9.jpg",
+ "https://o1.fengqingyang.ml/old/9225654b76799229940e0ef31a955475.jpg",
+ "https://o1.fengqingyang.ml/old/492e089bf48cc7d4251efa8315f299ab.jpg",
+ "https://o1.fengqingyang.ml/old/252a9bdf0adcac7b31d88bdfcec93eaf.jpg",
+ "https://o1.fengqingyang.ml/old/56de751a5edba9a0a58f0c1c20ee27ed.jpg",
+ "https://o1.fengqingyang.ml/old/2e24bee6a301accf4dd8c728d3503e9b.jpg",
+ "https://o1.fengqingyang.ml/old/6a0911d49f6520dbd98bc1a54a11dc06.jpg",
+ "https://o1.fengqingyang.ml/old/cb9ca2b232a383d221b6e171d119c9f4.jpg",
+ "https://o1.fengqingyang.ml/old/6ebefb78c210c17aecb7b7b712944bc2.jpg",
+ "https://o1.fengqingyang.ml/old/e9c7a60f1cd433da703ecf1f4e94b132.jpg",
+ "https://o1.fengqingyang.ml/old/03f38667c323cdd7cb35ba699e856cdb.jpg",
+ "https://o1.fengqingyang.ml/old/80883ee03554ef602466d8917fd58111.jpg",
+ "https://o1.fengqingyang.ml/old/f2e55a6832a55381ccb27489351dc923.jpg",
+ "https://o1.fengqingyang.ml/old/2a5a3ce32d55979e9bbc5d0f42d6378b.jpg",
+ "https://o1.fengqingyang.ml/old/c6557533db95a5e043e0e16339892b2d.jpg",
+ "https://o1.fengqingyang.ml/old/8b80132a8c15945fa0b9dd26df469c92.jpg",
+ "https://o1.fengqingyang.ml/old/150e9a5101baa91cbe59b7e0bff3baf1.jpg",
+ "https://o1.fengqingyang.ml/old/afea5f6cb9ddc58149832b9515dc030c.jpg",
+ "https://o1.fengqingyang.ml/old/350ca4ad1c140a5ed22996e504eb73e9.jpg",
+ "https://o1.fengqingyang.ml/old/dea3e0b2f54e89d435e8c43bb11906ca.jpg",
+ "https://o1.fengqingyang.ml/old/93886a9ba542f5170d56226804148e7e.jpg",
+ "https://o1.fengqingyang.ml/old/5e7f91c36afffd58c30420b166f714fb.jpg",
+ "https://o1.fengqingyang.ml/old/e09b9f89194bfb83ab8160c9383304be.jpg",
+ "https://o1.fengqingyang.ml/old/543a996bd91cc3c66cc091aeca31dded.jpg",
+ "https://o1.fengqingyang.ml/old/509f74ab61864fdb87cceb53051e11f1.jpg",
+ "https://o1.fengqingyang.ml/old/1ef540ecf9b68656cabd3dd819a6d13f.jpg",
+ "https://o1.fengqingyang.ml/old/85891935ff8dd7644d3a1799043a069f.jpg",
+ "https://o1.fengqingyang.ml/old/999ad39593de9c6b4b2ceb2a3debc88b.jpg",
+ "https://o1.fengqingyang.ml/old/34490228e3adc90fc29637bfa54aeed4.jpg",
+ "https://o1.fengqingyang.ml/old/31183a0bdc6017fae3c4e4a7c75b4f5e.jpg",
+ "https://o1.fengqingyang.ml/old/733ef25f4361914ea8a3df2dc9a13c52.jpg",
+ "https://o1.fengqingyang.ml/old/dbbdebabbb156e37b61c0f1c11c9e7f0.jpg",
+ "https://o1.fengqingyang.ml/old/c3329c8122d418c1b26289408795dda9.jpg",
+ "https://o1.fengqingyang.ml/old/ff88110fb8118159029c53eea6e6c9fa.jpg",
+ "https://o1.fengqingyang.ml/old/589f13ff19c98dd217a3435ba56edd7f.jpg",
+ "https://o1.fengqingyang.ml/old/2a46b80aec29f6fea00e16f5ec0601cd.jpg",
+ "https://o1.fengqingyang.ml/old/ed4e3f3bb32b9b61498258625226b56f.jpg",
+ "https://o1.fengqingyang.ml/old/556527f7acdbd2cf9d32dca96b9d3d6e.jpg",
+ "https://o1.fengqingyang.ml/old/e9ee7ee73abf2143a8627e91d2016f8e.jpg",
+ "https://o1.fengqingyang.ml/old/8a4e2b89289a82abee30110611d340fb.jpg",
+ "https://o1.fengqingyang.ml/old/f3200ecbec99df782e3db7355b595be4.jpg",
+ "https://o1.fengqingyang.ml/old/37483779791c01369fd1832d44ca5dd3.jpg",
+ "https://o1.fengqingyang.ml/old/9694f0ece8550b149bc5dd8240a4edcc.jpg",
+ "https://o1.fengqingyang.ml/old/e7dedff6ced864a51b511dfc614e85cc.jpg",
+ "https://o1.fengqingyang.ml/old/15d5e0f422e4383101c3eaefa4a7c1f7.jpg",
+ "https://o1.fengqingyang.ml/old/6aef684d4504976d40d20cd84aad8d98.jpg",
+ "https://o1.fengqingyang.ml/old/82653e3a0eea273d538c6f4631f2d564.jpg",
+ "https://o1.fengqingyang.ml/old/19fa7a7ed55e07fbe2f409f0ea2bf95e.jpg",
+ "https://o1.fengqingyang.ml/old/a4bfcd2e9ba76477125ae52ee97c5a02.jpg",
+ "https://o1.fengqingyang.ml/old/1a072033037b6d4625432acfb889962d.jpg",
+ "https://o1.fengqingyang.ml/old/13e40553795e8e2e6a020e7c9a86f3aa.jpg",
+ "https://o1.fengqingyang.ml/old/058953afc1f6d3086801785953ba2769.jpg",
+ "https://o1.fengqingyang.ml/old/ff8ec1afd252c6dc39b40bcb7337554b.jpg",
+ "https://o1.fengqingyang.ml/old/8292095d9c678e010ac2cde127291ec4.jpg",
+ "https://o1.fengqingyang.ml/old/c9c5b2d89f50d1e50f661182c372ab50.jpg",
+ "https://o1.fengqingyang.ml/old/d5a5830bea6469a9ad6f77a38bb5c99c.jpg",
+ "https://o1.fengqingyang.ml/old/a0eb327f75792a837bcce95e293dc5e1.jpg",
+ "https://o1.fengqingyang.ml/old/d2e551716dccbc3aaec3d84ec6c6c86d.jpg",
+ "https://o1.fengqingyang.ml/old/adaa2efdad72fde3e462ecc3594c46e8.jpg",
+ "https://o1.fengqingyang.ml/old/23a58d807ef4beef7eb9405905b35e5e.jpg",
+ "https://o1.fengqingyang.ml/old/00f2600be9fc45d70aa987cb73a9314a.jpg",
+ "https://o1.fengqingyang.ml/old/1ee6249a273bbf2b1a1653232ec229fd.jpg",
+ "https://o1.fengqingyang.ml/old/54fce93349268baf407ba364523cc6ef.jpg",
+ "https://o1.fengqingyang.ml/old/41feda21289d50e3164d8dd5cbafe889.jpg",
+ "https://o1.fengqingyang.ml/old/463869295cc6c209835ebcfeb522b32c.jpg",
+ "https://o1.fengqingyang.ml/old/54f69676e3a46f12a7fb853e0e8a0921.jpg",
+ "https://o1.fengqingyang.ml/old/747fd4b0b8dffb5a09d380a5df2cc48e.jpg",
+ "https://o1.fengqingyang.ml/old/71baf7ec4c9ea8554b57b8cf8c439641.jpg",
+ "https://o1.fengqingyang.ml/old/8ca16acbb408fb2130cc7a8c5ebc3495.jpg",
+ "https://o1.fengqingyang.ml/old/2ca1c00a7624a895e4e5ebd2942c2c82.jpg",
+ "https://o1.fengqingyang.ml/old/ff94cc38cd5fd366b2294ace6616677a.jpg",
+ "https://o1.fengqingyang.ml/old/948b096f0bbf2981d7b7331a171a86dc.jpg",
+ "https://o1.fengqingyang.ml/old/e974de2ac608444956132f87c8cf15dc.jpg",
+ "https://o1.fengqingyang.ml/old/ea683e11409aad2eed0c642bd074ed7a.jpg",
+ "https://o1.fengqingyang.ml/old/ba4e42b028dcc4bce910c39ad9976b75.jpg",
+ "https://o1.fengqingyang.ml/old/23a0ffe40734584deeec23067e3a23f5.jpg",
+ "https://o1.fengqingyang.ml/old/8a98bd52b4d7b335873e1df4a65c3f76.jpg",
+ "https://o1.fengqingyang.ml/old/dcb157799b72e0fada11d9c7352b2523.jpg",
+ "https://o1.fengqingyang.ml/old/6c01965aea2cf4de4f7e19d82d723b49.jpg",
+ "https://o1.fengqingyang.ml/old/1ae14f57c72706a4a2f76d7d9d37c3f0.jpg",
+ "https://o1.fengqingyang.ml/old/9720d613d177ece4d350486b231c20de.jpg",
+ "https://o1.fengqingyang.ml/old/327286aa7d46e15ba859db3baa1b81e0.jpg",
+ "https://o1.fengqingyang.ml/old/b4bd7f565f1076c8cce96df8d9b0d463.jpg",
+ "https://o1.fengqingyang.ml/old/11fd019a28fe982604286a99034b1c2e.jpg",
+ "https://o1.fengqingyang.ml/old/085124879f1aa00477cc479a4bff505c.jpg",
+ "https://o1.fengqingyang.ml/old/6b8dbf905b092dab757e31dc977210f2.jpg",
+ "https://o1.fengqingyang.ml/old/b0a460da58eab63fad9e788f3054cf89.jpg",
+ "https://o1.fengqingyang.ml/old/ea0c471115e4cae00fc696c513d6d943.jpg",
+ "https://o1.fengqingyang.ml/old/9c9f587b3d2c81731cbd919ac5ce8a8d.jpg",
+ "https://o1.fengqingyang.ml/old/9384f1ac3c1b7de5e151adf2b235af07.jpg",
+ "https://o1.fengqingyang.ml/old/d7b888a8f5429f366deaa27ee91f323c.jpg",
+ "https://o1.fengqingyang.ml/old/7901d8128879f6d0670115acf13300d5.jpg",
+ "https://o1.fengqingyang.ml/old/79f9217b14ff1fb173701efd61557fc1.jpg",
+ "https://o1.fengqingyang.ml/old/bfa3c3970562efce7dbb804056302e89.jpg",
+ "https://o1.fengqingyang.ml/old/94620fd979c1e9a4f97e8129fbd62e1b.jpg",
+ "https://o1.fengqingyang.ml/old/280c5be82d0578ebd99ec2a12f723b62.jpg",
+ "https://o1.fengqingyang.ml/old/b95b1df0fad6bb33a6d0bb4d95ba8620.jpg",
+ "https://o1.fengqingyang.ml/old/7e8af1d295fd058dd0f472f04c9ec3c1.jpg",
+ "https://o1.fengqingyang.ml/old/7cad5add147bc506749d7821aa26ea27.jpg",
+ "https://o1.fengqingyang.ml/old/cbec17e32e679ebf41b9f37fa0f7332c.jpg",
+ "https://o1.fengqingyang.ml/old/13ce7fee6621e2a3424fddc6e4817df7.jpg",
+ "https://o1.fengqingyang.ml/old/feea6173d0231170c7fff437846a95f8.jpg",
+ "https://o1.fengqingyang.ml/old/ed18f13502cfab7a9402d42d79524ac8.jpg",
+ "https://o1.fengqingyang.ml/old/62a95f30a63d1fe9912fe71a4fa5044c.jpg",
+ "https://o1.fengqingyang.ml/old/a6cc259d6520a983a317c2a2c51101bf.jpg",
+ "https://o1.fengqingyang.ml/old/c5dc3faf9cb50dd93ce7a3295b06d744.jpg",
+ "https://o1.fengqingyang.ml/old/9d81c2c88d780e515e29c28ec16006ef.jpg",
+ "https://o1.fengqingyang.ml/old/cf0b1855b4bff3ba1b41dfcd336213db.jpg",
+ "https://o1.fengqingyang.ml/old/9b057d6dd50472c24024a8df11e11c73.jpg",
+ "https://o1.fengqingyang.ml/old/62b4a75d3bbba66fb06ac5a6df446da3.jpg",
+ "https://o1.fengqingyang.ml/old/702fec5706eb9cb3a8c7527410f67976.jpg",
+ "https://o1.fengqingyang.ml/old/f531f20904e96fe65915ea4ee22d7dab.jpg",
+ "https://o1.fengqingyang.ml/old/296b5a9375c2363837ee6ff6157d4e0d.jpg",
+ "https://o1.fengqingyang.ml/old/00d78c094f2ae33b9aa2c943cddb7d9a.jpg",
+ "https://o1.fengqingyang.ml/old/4751e2a77beb7486c6a1de6451ecf475.jpg",
+ "https://o1.fengqingyang.ml/old/590c769f40ed0b940fe7fe834151ffa4.jpg",
+ "https://o1.fengqingyang.ml/old/7f00e78f8f3f8b7224bd6500379774fa.jpg",
+ "https://o1.fengqingyang.ml/old/6b55a8e262be42dc821e6f7e03c9e4a1.jpg",
+ "https://o1.fengqingyang.ml/old/bae830861ea33c549808a25c9ddcf20c.jpg",
+ "https://o1.fengqingyang.ml/old/39a6d7b55142770dd7f5f31081cd54df.jpg",
+ "https://o1.fengqingyang.ml/old/71ce0b47f69aed63d5857fb2a982fb2c.jpg",
+ "https://o1.fengqingyang.ml/old/43fb1ff22204d17898a4e2369b22873e.jpg",
+ "https://o1.fengqingyang.ml/old/9d6dfddcd7445cf1a1188953aa865063.jpg",
+ "https://o1.fengqingyang.ml/old/282f75c12c028093881937bb19b78af9.jpg",
+ "https://o1.fengqingyang.ml/old/dbda1e99ce11507526313a3032b51e5f.jpg",
+ "https://o1.fengqingyang.ml/old/2d19170be879bbef6c0ad652d4cb1e81.jpg",
+ "https://o1.fengqingyang.ml/old/e315e353cf07ddf1a363ab162a18ef5b.jpg",
+ "https://o1.fengqingyang.ml/old/f096522ac77367becfe8241ba04b9d47.jpg",
+ "https://o1.fengqingyang.ml/old/e53c012ac5a00b73e91ff51f58dcde75.jpg",
+ "https://o1.fengqingyang.ml/old/6c6707ded5cca2f7e2e622e3ab960a41.jpg",
+ "https://o1.fengqingyang.ml/old/245a02156cce9ed9fb7cfa8ec894098e.jpg",
+ "https://o1.fengqingyang.ml/old/96fafa79b52b4646492a6c020c72a452.jpg",
+ "https://o1.fengqingyang.ml/old/0b441ccc462b5fff280e36466bb15038.jpg",
+ "https://o1.fengqingyang.ml/old/aedd34e92ca5bd897e32f07972e5857d.jpg",
+ "https://o1.fengqingyang.ml/old/0e8805a4a926e4b7344185a5d6ba71d2.jpg",
+ "https://o1.fengqingyang.ml/old/8c877068528a8bb44002da0383a94640.jpg",
+ "https://o1.fengqingyang.ml/old/2d246846b289253ba5d580851bf8e9f6.jpg",
+ "https://o1.fengqingyang.ml/old/28315a67744e6d8417537419e0b6694f.jpg",
+ "https://o1.fengqingyang.ml/old/da6351825d03a70917613225ffa8700a.jpg",
+ "https://o1.fengqingyang.ml/old/2c32bd2ddc874bafda32b7574c0a0792.jpg",
+ "https://o1.fengqingyang.ml/old/f0e26962d1741c2cdfe55d1031bf0029.jpg",
+ "https://o1.fengqingyang.ml/old/7e9be08e5991e24af012b7feac7d1fd7.jpg",
+ "https://o1.fengqingyang.ml/old/5abf969e53908486f6e7bcb8fb241025.jpg",
+ "https://o1.fengqingyang.ml/old/b60ede3cc20f92dee79a282a805d958d.jpg",
+ "https://o1.fengqingyang.ml/old/32266b5a28f38155cd3d846ed138f33a.jpg",
+ "https://o1.fengqingyang.ml/old/f44076b94079f45251073b17da19f46f.jpg",
+ "https://o1.fengqingyang.ml/old/794c8a2b3867cdae4f2d9ff5f7bd51a2.jpg",
+ "https://o1.fengqingyang.ml/old/a1ff6cdc0dbb6af2fe274f263dbe09be.jpg",
+ "https://o1.fengqingyang.ml/old/287815acc20e1ad9d73522b3e191f110.jpg",
+ "https://o1.fengqingyang.ml/old/d5d5ef17c867d7dfbd056650deae5cc6.jpg",
+ "https://o1.fengqingyang.ml/old/72904eb39c319ce89b3006aaaeb25319.jpg",
+ "https://o1.fengqingyang.ml/old/9143440762b44e798ec3948d48fbaefb.jpg",
+ "https://o1.fengqingyang.ml/old/c3de5a5425125504b28e7c97dec4e792.jpg",
+ "https://o1.fengqingyang.ml/old/59f705dc95f345a38086b21ede7992cd.jpg",
+ "https://o1.fengqingyang.ml/old/4de4302e514f92a0172885dd050f1752.jpg",
+ "https://o1.fengqingyang.ml/old/04f1cbe95bf148588cc5143a4085eb0c.jpg",
+ "https://o1.fengqingyang.ml/old/c75b0db562125107f9e0ae7015b5df60.jpg",
+ "https://o1.fengqingyang.ml/old/7ae84f80863c41ecf85ed878ff4baeb2.jpg",
+ "https://o1.fengqingyang.ml/old/00d6a1ef136db57a4d639a6f6218ac00.jpg",
+ "https://o1.fengqingyang.ml/old/e4357a657274c926f5f41c5091d5439b.jpg",
+ "https://o1.fengqingyang.ml/old/9fff6414021beed981db712acf37a1b5.jpg",
+ "https://o1.fengqingyang.ml/old/974a2c8abdc245b2f3940bee678ae455.jpg",
+ "https://o1.fengqingyang.ml/old/19fd7fd34b2b1ead4a243f3329497b7a.jpg",
+ "https://o1.fengqingyang.ml/old/50c26b6dd388ed27a52612be6920cd01.jpg",
+ "https://o1.fengqingyang.ml/old/26bd462c72f199781ebff8a801de903e.jpg",
+ "https://o1.fengqingyang.ml/old/025aed9f38f443d7fd6d7fff1db4c355.jpg",
+ "https://o1.fengqingyang.ml/old/801b5a576b6a8a14cf597607af8b250a.jpg",
+ "https://o1.fengqingyang.ml/old/9619cb2e53270e7aac172e53aae5d1bf.jpg",
+ "https://o1.fengqingyang.ml/old/a538c4a918d693b3778eaa773907f32c.jpg",
+ "https://o1.fengqingyang.ml/old/80dfe1dce48fbdff97e64ca305af96b3.jpg",
+ "https://o1.fengqingyang.ml/old/5de789029fc59e4480f2cb4207ab93ad.jpg",
+ "https://o1.fengqingyang.ml/old/b643a5ccd0ac4f343bba441491fdcf71.jpg",
+ "https://o1.fengqingyang.ml/old/a0c3f7b9bd5588ca9e64c74603784d47.jpg",
+ "https://o1.fengqingyang.ml/old/922112d78736de5fbfef5651bd1f37cb.jpg",
+ "https://o1.fengqingyang.ml/old/f32e81fc4980a6db1ab32fe250a91109.jpg",
+ "https://o1.fengqingyang.ml/old/55defc3eab457c81abe02f0f784c15b2.jpg",
+ "https://o1.fengqingyang.ml/old/5a73d86338c8343156f812e2faae64d9.jpg",
+ "https://o1.fengqingyang.ml/old/1185e8fc425901cd44790b502cda1b83.jpg",
+ "https://o1.fengqingyang.ml/old/0de7d40becc7cbfdf1b0f958397ae8c2.jpg",
+ "https://o1.fengqingyang.ml/old/d5793fd905b09b187720d9464bbb3d90.jpg",
+ "https://o1.fengqingyang.ml/old/e447be497b486b6f5de71b0ae6a0e617.jpg",
+ "https://o1.fengqingyang.ml/old/2b5ddbbba8b6ed7984be57c9f5747d31.jpg",
+ "https://o1.fengqingyang.ml/old/a611db141cc3f067039b13de22f6aec5.jpg",
+ "https://o1.fengqingyang.ml/old/8e7a82b88324afed743a28b2f2134dd7.jpg",
+ "https://o1.fengqingyang.ml/old/d907dfe01030163a05997b425af05969.jpg",
+ "https://o1.fengqingyang.ml/old/4090095e0c39003b3438fe4a79a51c65.jpg",
+ "https://o1.fengqingyang.ml/old/5bc847298dae8ddeb52156e789123cce.jpg",
+ "https://o1.fengqingyang.ml/old/8df934468d6a8c05db72018e56d17aa7.jpg",
+ "https://o1.fengqingyang.ml/old/e9e930aa600d99140520079c63bf1e21.jpg",
+ "https://o1.fengqingyang.ml/old/a05c8fc6c86d619dfec21423f07fb775.jpg",
+ "https://o1.fengqingyang.ml/old/15552fbbc8097aefe1f50e66f53e051a.jpg",
+ "https://o1.fengqingyang.ml/old/e144d7d7210acfdc4a774a149748f08a.jpg",
+ "https://o1.fengqingyang.ml/old/249732c410f99140e87e4a5eed3e2add.jpg",
+ "https://o1.fengqingyang.ml/old/2f4286d215f6b93ad51c1d4a82c08432.jpg",
+ "https://o1.fengqingyang.ml/old/e13f5aefaea274f165e04881e0f7e31a.jpg",
+ "https://o1.fengqingyang.ml/old/7b91bf4697c3b90024a7236cdc2fd9da.jpg",
+ "https://o1.fengqingyang.ml/old/3cae033ca9131f2ea5a25785a5ee2381.jpg",
+ "https://o1.fengqingyang.ml/old/b75d812aaee64d6e38fc618729fa3147.jpg",
+ "https://o1.fengqingyang.ml/old/0d870cfa30d4ad742e8860c88014b2ac.jpg",
+ "https://o1.fengqingyang.ml/old/907586a0bb0a84219d0e3239a782b214.jpg",
+ "https://o1.fengqingyang.ml/old/acdac9b70b99ddfae7fe5fc4d71186cd.jpg",
+ "https://o1.fengqingyang.ml/old/0eb3b2b31e798cb82ff3f298b3ebd646.jpg",
+ "https://o1.fengqingyang.ml/old/a459d0baea6d4f82014ccf36a3af6e71.jpg",
+ "https://o1.fengqingyang.ml/old/ffb80ce0c373e8137d24a45ea40e788b.jpg",
+ "https://o1.fengqingyang.ml/old/f9fee527c87ce448b9ac8c4a95171a51.jpg",
+ "https://o1.fengqingyang.ml/old/a251a76936aeabd77e7fea261ea1ff2c.jpg",
+ "https://o1.fengqingyang.ml/old/49813f833da2c24c4957e99383ef25c2.jpg",
+ "https://o1.fengqingyang.ml/old/0f11e3d913a8d98531fc544f2bbef880.jpg",
+ "https://o1.fengqingyang.ml/old/4c9374355f3ba0c930ad915b99a44cc0.jpg",
+ "https://o1.fengqingyang.ml/old/bf062980d8386517c2ae1c664ac77f44.jpg",
+ "https://o1.fengqingyang.ml/old/13d547b06e364e84830c653ba6aa5223.jpg",
+ "https://o1.fengqingyang.ml/old/ce2191ff560cc5013b46c66751935150.jpg",
+ "https://o1.fengqingyang.ml/old/1a7c03b3f5937730bc9e7b7f4dd514cc.jpg",
+ "https://o1.fengqingyang.ml/old/ae575e8cda56652f87b68b0bc5f1fd60.jpg",
+ "https://o1.fengqingyang.ml/old/e76984a7d436c8771f916db19d445275.jpg",
+ "https://o1.fengqingyang.ml/old/1c922cd0dfd101284c663efc6370b815.jpg",
+ "https://o1.fengqingyang.ml/old/4c0d5084782e8c62377b7b3a0e2b0fbd.jpg",
+ "https://o1.fengqingyang.ml/old/3b3f782c422dd301f03d81a9be10ecb3.jpg",
+ "https://o1.fengqingyang.ml/old/bf94e5d061a535439049e65100d107d3.jpg",
+ "https://o1.fengqingyang.ml/old/0a772a6af734b1c6b33e4c49ffc0cc3c.jpg",
+ "https://o1.fengqingyang.ml/old/908835ff9382d7f4c4aeb834d08730f9.jpg",
+ "https://o1.fengqingyang.ml/old/5098b25ec59156ae9f56071498822f64.jpg",
+ "https://o1.fengqingyang.ml/old/8df23172ffb9cfbc3130d4ff79b8fd4d.jpg",
+ "https://o1.fengqingyang.ml/old/fb6abef87685689d845b343adb33417c.jpg",
+ "https://o1.fengqingyang.ml/old/88f47f127c078ae98030ef35bda8c706.jpg",
+ "https://o1.fengqingyang.ml/old/29c640056f22e3b3189db3fd9c32615b.jpg",
+ "https://o1.fengqingyang.ml/old/58489172ac07da25bed548855beb1ffc.jpg",
+ "https://o1.fengqingyang.ml/old/c4d16e99f079f2ad397259eae23c4b8b.jpg",
+ "https://o1.fengqingyang.ml/old/fce6abda56e939c9bb62066054246e84.jpg",
+ "https://o1.fengqingyang.ml/old/79670d6a2611a6628144bbe04e5ae2d3.jpg",
+ "https://o1.fengqingyang.ml/old/71e6122712b35a3f9aefa74badf17772.jpg",
+ "https://o1.fengqingyang.ml/old/3d4474e11c93623762d1a6c33e7c9fff.jpg",
+ "https://o1.fengqingyang.ml/old/2cc9c77a19e1e319c06df8a5693f9e11.jpg",
+ "https://o1.fengqingyang.ml/old/0e148ca9b36495f0806b81817082146a.jpg",
+ "https://o1.fengqingyang.ml/old/839e182a6c98c02d68d0976c416c5564.jpg",
+ "https://o1.fengqingyang.ml/old/ce0d100b11142d15fda48b20b1c27766.jpg",
+ "https://o1.fengqingyang.ml/old/9d3d69227fb6345fa4d516a4c320174c.jpg",
+ "https://o1.fengqingyang.ml/old/493eb1fee0a31afcf67e1f815256063c.jpg",
+ "https://o1.fengqingyang.ml/old/d4955d4952406fe5ffb4d25d906ad7b2.jpg",
+ "https://o1.fengqingyang.ml/old/d6b31f0508e10dec3e3bae27e7a7cfe8.jpg",
+ "https://o1.fengqingyang.ml/old/cb70ab333626428807da48f00b76e422.jpg",
+ "https://o1.fengqingyang.ml/old/584e9b3a162f58c12769691e42bf5383.jpg",
+ "https://o1.fengqingyang.ml/old/1e449a751c5c7804840788aaa482a3d4.jpg",
+ "https://o1.fengqingyang.ml/old/2e4dc7bf67032487e3366c8b21665c4c.jpg",
+ "https://o1.fengqingyang.ml/old/278ffcb1ccda0551bb199044219c87a8.jpg",
+ "https://o1.fengqingyang.ml/old/3c866635541c5285f1d8d054b7ebf124.jpg",
+ "https://o1.fengqingyang.ml/old/22a61cf4c5b13a33c17d8ee1950d9049.jpg",
+ "https://o1.fengqingyang.ml/old/b482d10680aac60f7d134f141515cd79.jpg",
+ "https://o1.fengqingyang.ml/old/32dc13f7933fd7f93381438c31b21ef2.jpg",
+ "https://o1.fengqingyang.ml/old/08e9e77fd42b6fcd5c5d7d513bb11d77.jpg",
+ "https://o1.fengqingyang.ml/old/a4af093fd886329ce67728aeb247e4fb.jpg",
+ "https://o1.fengqingyang.ml/old/b0a8e5452285dc0585db8bfa17315f05.jpg",
+ "https://o1.fengqingyang.ml/old/06c1c88ff067f054402c844f501022d4.jpg",
+ "https://o1.fengqingyang.ml/old/c880fca4a4008a1902fc0e3cdb9f61d9.jpg",
+ "https://o1.fengqingyang.ml/old/a736046fff7120099760bf02ffa3bbb5.jpg",
+ "https://o1.fengqingyang.ml/old/7912cf4119c9ef64f2c57e92a5d6fe7f.jpg",
+ "https://o1.fengqingyang.ml/old/48ca753a17b395ccd59b65247cfca164.jpg",
+ "https://o1.fengqingyang.ml/old/a87f69f75d8eb86f7095cd07d3c7e9ab.jpg",
+ "https://o1.fengqingyang.ml/old/273cf22153cad9d816ef491c66abe84a.jpg",
+ "https://o1.fengqingyang.ml/old/21fee07525060c7c14e9156fe86c9ef5.jpg",
+ "https://o1.fengqingyang.ml/old/af2bc0d9e441087c9da442a704304cb9.jpg",
+ "https://o1.fengqingyang.ml/old/f073c85ef70c9ce94042d83c3f9111dd.jpg",
+ "https://o1.fengqingyang.ml/old/72e107c478a2c16405dbbb92ef2b0b31.jpg",
+ "https://o1.fengqingyang.ml/old/52cf8dd2df2584056d6b48597f836659.jpg",
+ "https://o1.fengqingyang.ml/old/b1806b0e1450aea7a7579d5c9f5d03f7.jpg",
+ "https://o1.fengqingyang.ml/old/58df92b784dc51d4d4547b2e6bf9f595.jpg",
+ "https://o1.fengqingyang.ml/old/98472defc17e1952787ba674acfcf9e0.jpg",
+ "https://o1.fengqingyang.ml/old/84043ac994b3bae22e8b7e376ca88a6e.jpg",
+ "https://o1.fengqingyang.ml/old/4f97d7c67139723744d605fd94e9592a.jpg",
+ "https://o1.fengqingyang.ml/old/a8ee687cd60dc68ac26c36cf199aac15.jpg",
+ "https://o1.fengqingyang.ml/old/65e37c5082fe974ac327aa44a2c72186.jpg",
+ "https://o1.fengqingyang.ml/old/6ed009db34680630f534d1dcf348fb2e.jpg",
+ "https://o1.fengqingyang.ml/old/aa1715a1417e1daf10c7cd10e2ec6e6f.jpg",
+ "https://o1.fengqingyang.ml/old/37c4961548f57f43cb6a3b29cc905b81.jpg",
+ "https://o1.fengqingyang.ml/old/6309d375c89e86328a15eb92bcc78fc7.jpg",
+ "https://o1.fengqingyang.ml/old/df25cc4a0f2a9a17f0f3a2c1f14473f5.jpg",
+ "https://o1.fengqingyang.ml/old/3581712b34063b13c709f88c83b18d65.jpg",
+ "https://o1.fengqingyang.ml/old/a4b593ab8518d0852f8148fcb4025f56.jpg",
+ "https://o1.fengqingyang.ml/old/eaead7cd82cfabcc1dedbee059db84c7.jpg",
+ "https://o1.fengqingyang.ml/old/3baa6bca9ee5f7475256668f7ba11288.jpg",
+ "https://o1.fengqingyang.ml/old/aba38721fbe1e1fc68348c8ad6d03548.jpg",
+ "https://o1.fengqingyang.ml/old/05ba3642dff0bfde3b2bbd5231985196.jpg",
+ "https://o1.fengqingyang.ml/old/a9c3878fcfe155c53ef3da1c8cf94b9c.jpg",
+ "https://o1.fengqingyang.ml/old/64a21b086fd5f2dbd8a2439037002921.jpg",
+ "https://o1.fengqingyang.ml/old/e6b4bacf4675be07d88fb57bd425161d.jpg",
+ "https://o1.fengqingyang.ml/old/71f64b639e1a72748559f2de6c691532.jpg",
+ "https://o1.fengqingyang.ml/old/b11afc498806702e776b1a06febf378b.jpg",
+ "https://o1.fengqingyang.ml/old/9dc6890975a03a4997371282ea8acf23.jpg",
+ "https://o1.fengqingyang.ml/old/5dbe1b8be52d8f12e38c1f5f9e0fd414.jpg",
+ "https://o1.fengqingyang.ml/old/3efad20611f3400062e0b13042612248.jpg",
+ "https://o1.fengqingyang.ml/old/abe5c696cf3f5da902dfa59dc01b2df4.jpg",
+ "https://o1.fengqingyang.ml/old/86b12a62557532cae7e900885ab79ace.jpg",
+ "https://o1.fengqingyang.ml/old/93c95ea95f092b51b9465db3c20ad932.jpg",
+ "https://o1.fengqingyang.ml/old/5fa9be4e17db6ff1e00a240f7d9828ef.jpg",
+ "https://o1.fengqingyang.ml/old/fd80bffd74b55c7d16f315eb0486d71b.jpg",
+ "https://o1.fengqingyang.ml/old/d679e37196e660c23444d3d0f1fc3af7.jpg",
+ "https://o1.fengqingyang.ml/old/adf051366fa0e4dc2036240175b2d87d.jpg",
+ "https://o1.fengqingyang.ml/old/078b6da4baac0895e4edd225d94272c4.jpg",
+ "https://o1.fengqingyang.ml/old/ab94519fac7e3d287b4b0991eb677b79.jpg",
+ "https://o1.fengqingyang.ml/old/b300bd7b6a79b074aa0ae53fa3009aba.jpg",
+ "https://o1.fengqingyang.ml/old/9e78290230e10103c810e5977f19fb8a.jpg",
+ "https://o1.fengqingyang.ml/old/faf90bb741a05775e9fd825733abab6f.jpg",
+ "https://o1.fengqingyang.ml/old/5537447c8d8abd2bff76b1b09330c8ac.jpg",
+ "https://o1.fengqingyang.ml/old/99edf82ff0d134e655cab06f814632c3.jpg",
+ "https://o1.fengqingyang.ml/old/6e282b67305db2011280573acdcd30b9.jpg",
+ "https://o1.fengqingyang.ml/old/292fd0e963c45a8870882807f05a98b9.jpg",
+ "https://o1.fengqingyang.ml/old/3cdf18dd9b795cf8c983b0b61ca5323a.jpg",
+ "https://o1.fengqingyang.ml/old/9c0714e231dbe091f7aec1c04e501b09.jpg",
+ "https://o1.fengqingyang.ml/old/1e12b3f75f96d0809765779c66f51e29.jpg",
+ "https://o1.fengqingyang.ml/old/8933d602e9722a7963f4112463077c95.jpg",
+ "https://o1.fengqingyang.ml/old/c283bccaec67e54dfb9eaf1e8921c344.jpg",
+ "https://o1.fengqingyang.ml/old/486eba9628e0a455eb42ad86a1ca6271.jpg",
+ "https://o1.fengqingyang.ml/old/567d7f50d321d7c9972a045787a0d34f.jpg",
+ "https://o1.fengqingyang.ml/old/275e5b8e8f7bdac8ab9f069cc38c8a2e.jpg",
+ "https://o1.fengqingyang.ml/old/a60d60e203ab302c7951b30f82f92b5f.jpg",
+ "https://o1.fengqingyang.ml/old/291c4b46ed785e74ea591601eaf14b51.jpg",
+ "https://o1.fengqingyang.ml/old/ceca5875a7af32ba86d29eac9de9acd4.jpg",
+ "https://o1.fengqingyang.ml/old/d66f9bab092c0f9f53f2c4fb4962d4d0.jpg",
+ "https://o1.fengqingyang.ml/old/40eda95c07f5e83958f38faf32624a72.jpg",
+ "https://o1.fengqingyang.ml/old/2897d2fbb3e7ec739cc487018c71df06.jpg",
+ "https://o1.fengqingyang.ml/old/ce257adebc67cdf62d0e62603c2571d6.jpg",
+ "https://o1.fengqingyang.ml/old/1b9ff6c858a6908172e874e0239b56b4.jpg",
+ "https://o1.fengqingyang.ml/old/b75bb741b484fc7a4322c95b9aea4d3c.jpg",
+ "https://o1.fengqingyang.ml/old/e13828870eabae69f4c7bb1d86854da0.jpg",
+ "https://o1.fengqingyang.ml/old/3044da9b663e07545c68cf321804155c.jpg",
+ "https://o1.fengqingyang.ml/old/2f5b5bf6d0a23b235969c4bc77afcd69.jpg",
+ "https://o1.fengqingyang.ml/old/0a99ac3975002425c3e7c23d2967ac40.jpg",
+ "https://o1.fengqingyang.ml/old/ed04d99a759e407e9ed4859f2ad194c7.jpg",
+ "https://o1.fengqingyang.ml/old/3ce0f19d3822e2f065f9b650dfc77f8e.jpg",
+ "https://o1.fengqingyang.ml/old/4488211f546cdc217ed8fc9a67b58fdc.jpg",
+ "https://o1.fengqingyang.ml/old/9b2b0fff4558433f4d129201eb08d00c.jpg",
+ "https://o1.fengqingyang.ml/old/a02990f151b2bec175ebacb7cdf5e10b.jpg",
+ "https://o1.fengqingyang.ml/old/56f9f7a853ee4000a2dd79175aa89f4a.jpg",
+ "https://o1.fengqingyang.ml/old/75ec269b0c3792e229a341ac212e7282.jpg",
+ "https://o1.fengqingyang.ml/old/4b264aac60c97262884623dba1dc5cd7.jpg",
+ "https://o1.fengqingyang.ml/old/ad666bb31ff62e28a6c418f9b862d573.jpg",
+ "https://o1.fengqingyang.ml/old/6ecab848e0155131018c4b1089df7833.jpg",
+ "https://o1.fengqingyang.ml/old/d2eaf94f0196ebcc3b28b6a83530b990.jpg",
+ "https://o1.fengqingyang.ml/old/6841c54c4a06fa0bfb7bc859a8e0a14b.jpg",
+ "https://o1.fengqingyang.ml/old/0409b8343b1bb56e6dcc9e4b1c93afb8.jpg",
+ "https://o1.fengqingyang.ml/old/ba7cf46133c4fc9ac52951ec519cc1cb.jpg",
+ "https://o1.fengqingyang.ml/old/86cc3c3d60c4753f59d3d1af8c4d3655.jpg",
+ "https://o1.fengqingyang.ml/old/7770fbcaba5e123becc5a7c21e8104d1.jpg",
+ "https://o1.fengqingyang.ml/old/088478300f86ca39b235b22f326e468d.jpg",
+ "https://o1.fengqingyang.ml/old/9beaa1ef2001005b11673909751b8bcf.jpg",
+ "https://o1.fengqingyang.ml/old/19c805b952ddb64a549e01e3d845bb1c.jpg",
+ "https://o1.fengqingyang.ml/old/43b9a8990287672268bc993ca4ac698e.jpg",
+ "https://o1.fengqingyang.ml/old/c3868a79c9500422f026f59e581e4881.jpg",
+ "https://o1.fengqingyang.ml/old/85d4c3173faffbdd5f3733ffd0f8d7f4.jpg",
+ "https://o1.fengqingyang.ml/old/d9e52dbf157bdbc60905f5637b2f579d.jpg",
+ "https://o1.fengqingyang.ml/old/dd9722be52bd91d1feb98ab903a6aba3.jpg",
+ "https://o1.fengqingyang.ml/old/be72edb93b3d63998b7ce5a2c5cc0e36.jpg",
+ "https://o1.fengqingyang.ml/old/8a7fefde9beb29d86a5a1db99eb77a9f.jpg",
+ "https://o1.fengqingyang.ml/old/d174d7380cd40b617bc25a4f8e56ca90.jpg",
+ "https://o1.fengqingyang.ml/old/ae1c357fe0d7e33b897ed7a590b6950a.jpg",
+ "https://o1.fengqingyang.ml/old/2265342f9e6d72a09188014772bf3474.jpg",
+ "https://o1.fengqingyang.ml/old/c51318791ea77e32cf959a90d4773b06.jpg",
+ "https://o1.fengqingyang.ml/old/e69f236a557a2156aca2d6330f53fde1.jpg",
+ "https://o1.fengqingyang.ml/old/5701e9083aec37eb4bc46d092b340508.jpg",
+ "https://o1.fengqingyang.ml/old/db8e3227891e979e88c6f8435eedb435.jpg",
+ "https://o1.fengqingyang.ml/old/9bd272d2a4361cfac78e883dda7151ba.jpg",
+ "https://o1.fengqingyang.ml/old/3e01335e353e4950955e18ffaa8bedab.jpg",
+ "https://o1.fengqingyang.ml/old/1de44f5c5d635838245a7d424fccdadc.jpg",
+ "https://o1.fengqingyang.ml/old/914a7a66a79be5f2ce3a92040cfa3385.jpg",
+ "https://o1.fengqingyang.ml/old/24b34e5f05e849493021d684c297d49b.jpg",
+ "https://o1.fengqingyang.ml/old/6173d3c4b9ac8b42bc0838124f252bfd.jpg",
+ "https://o1.fengqingyang.ml/old/37384fc9ff422219843c7a14605f2bf7.jpg",
+ "https://o1.fengqingyang.ml/old/e4354a7d5052ae08115a0c00023458b9.jpg",
+ "https://o1.fengqingyang.ml/old/a646fe9eaa560a8d0a96a812c407fa47.jpg",
+ "https://o1.fengqingyang.ml/old/695570f8f699819a2f360aa802e0ba0c.jpg",
+ "https://o1.fengqingyang.ml/old/807c081225c3ea14522e2dd02d0c72a9.jpg",
+ "https://o1.fengqingyang.ml/old/69761ab243eeeda0c061e3bdfd829b1e.jpg",
+ "https://o1.fengqingyang.ml/old/55c78863369617e22842f6a520d0c234.jpg",
+ "https://o1.fengqingyang.ml/old/9b5cc0382bc914b60c4b03335bf0d8be.jpg",
+ "https://o1.fengqingyang.ml/old/0efcd132c5aa45ffd21426f1a3b1f653.jpg",
+ "https://o1.fengqingyang.ml/old/8c4a1035a5ed48522e71e1573fa9802a.jpg",
+ "https://o1.fengqingyang.ml/old/bca256602f73ef0661e86392c74d0abc.jpg",
+ "https://o1.fengqingyang.ml/old/73e4ef5aef8f5a0e623faa9fab941e2d.jpg",
+ "https://o1.fengqingyang.ml/old/5bb28597c9955481c84479fd09e8614e.jpg",
+ "https://o1.fengqingyang.ml/old/1c882663caecdd98d25061e8e3d4db3d.jpg",
+ "https://o1.fengqingyang.ml/old/2d07057d0a83d97f894aa532007096a5.jpg",
+ "https://o1.fengqingyang.ml/old/c2758c0e64200eed26166fb5504295a1.jpg",
+ "https://o1.fengqingyang.ml/old/22eab0c0bf521ac719d2abd3e72b1fb5.jpg",
+ "https://o1.fengqingyang.ml/old/fb53484aca8ed92a5b0e6ca52925ac33.jpg",
+ "https://o1.fengqingyang.ml/old/c93b78b80903aa06ffa5e40f144b0e86.jpg",
+ "https://o1.fengqingyang.ml/old/b2a7aa08e8efd99273f0c4c0c4ae971d.jpg",
+ "https://o1.fengqingyang.ml/old/eff2fb20c064fdcd54eac3f9e4e7a1ad.jpg",
+ "https://o1.fengqingyang.ml/old/21d10d09ed82ffa3932715eff949cb98.jpg",
+ "https://o1.fengqingyang.ml/old/3a0d34e7b404b82f26fdc24ff995ae60.jpg",
+ "https://o1.fengqingyang.ml/old/627b2c5a5288f30c385b506584570ac3.jpg",
+ "https://o1.fengqingyang.ml/old/caf1a322e67dc5147e6ed244d2c12b13.jpg",
+ "https://o1.fengqingyang.ml/old/7f3ee9328e37023567065f93ac605f65.jpg",
+ "https://o1.fengqingyang.ml/old/87e9d333ac93a1085096cf52d299dbbd.jpg",
+ "https://o1.fengqingyang.ml/old/df756d60cbceba977c3b8e6211c6d5c0.jpg",
+ "https://o1.fengqingyang.ml/old/e4fe3832bdff7b87f0005f1670cf075a.jpg",
+ "https://o1.fengqingyang.ml/old/0f3720eeac0e7136165a83295811352e.jpg",
+ "https://o1.fengqingyang.ml/old/1635959ca03c890205a74978036702a3.jpg",
+ "https://o1.fengqingyang.ml/old/0d42ddde335213933b4b62f56ebdc225.jpg",
+ "https://o1.fengqingyang.ml/old/cfb7bd5cba3b5bcf93c3a416a3a46f38.jpg",
+ "https://o1.fengqingyang.ml/old/9119031b92afae7ef456fcff519fb033.jpg",
+ "https://o1.fengqingyang.ml/old/9396d4e3439c662454b4ab7f1f5084e5.jpg",
+ "https://o1.fengqingyang.ml/old/1ddc3c2a158d8fa99969afa5b0ac5ade.jpg",
+ "https://o1.fengqingyang.ml/old/2773cb265c261d045f6ed8274eb21cbe.jpg",
+ "https://o1.fengqingyang.ml/old/12adad2fe7fd5a79c07011c65fc87dc1.jpg",
+ "https://o1.fengqingyang.ml/old/6841c54c4a06fa0bfb7bc859a8e0a14b.jpg",
+ "https://o1.fengqingyang.ml/old/d2eaf94f0196ebcc3b28b6a83530b990.jpg",
+ "https://o1.fengqingyang.ml/old/1e51e2ab55f16edc244f01c9cbcb5cbd.jpg",
+ "https://o1.fengqingyang.ml/old/3de94be5cd16195ad6fa5a5edbe6d2d2.jpg",
+ "https://o1.fengqingyang.ml/old/65b1df033a45476b1e8e2bba63b90bc1.jpg",
+ "https://o1.fengqingyang.ml/old/3c202fee4101a43fa9e917a35543e522.jpg",
+ "https://o1.fengqingyang.ml/old/b24ba5441d714be95ac346b3c8bf7f79.jpg",
+ "https://o1.fengqingyang.ml/old/ecaaa1a75d7f32dc36e6717a7031b729.jpg",
+ "https://o1.fengqingyang.ml/old/0b6ee52c5f57fd1cc6c91464d0828185.jpg",
+ "https://o1.fengqingyang.ml/old/43fa73758a935209959c5b1721ef701e.jpg",
+ "https://o1.fengqingyang.ml/old/1ddc3c2a158d8fa99969afa5b0ac5ade.jpg",
+ "https://o1.fengqingyang.ml/old/2773cb265c261d045f6ed8274eb21cbe.jpg",
+ "https://o1.fengqingyang.ml/old/2cc1d16f6b56ed85cd9269ad8278c6cd.jpg",
+ "https://o1.fengqingyang.ml/old/eb8ae55fbc25cad1ea07481c93f88831.jpg",
+ "https://o1.fengqingyang.ml/old/50f8286d10b81cbe1531081baa62bce7.jpg",
+ "https://o1.fengqingyang.ml/old/ed9321114a492959910f5c7cc8ccd176.jpg",
+ "https://o1.fengqingyang.ml/old/25cd2df26bbe94132a4015b36c9431a3.jpg",
+ "https://o1.fengqingyang.ml/old/352a916ce55f2ebc14e6b68d6ebcf286.jpg",
+ "https://o1.fengqingyang.ml/old/e2dd11dfa91c4350760f1543c84014ef.jpg",
+ "https://o1.fengqingyang.ml/old/d9ab113c536e83e21f03429a58c7ed13.jpg",
+ "https://o1.fengqingyang.ml/old/ad772aafa8a338ecdf2baddc67b316bd.jpg",
+ "https://o1.fengqingyang.ml/old/8099e1b39fc713408864953d540216f0.jpg",
+ "https://o1.fengqingyang.ml/old/41cf706e8753e57c4dea7491a6db2b0e.jpg",
+ "https://o1.fengqingyang.ml/old/05828ade7fc0fa4105068d3cb8664b63.jpg",
+ "https://o1.fengqingyang.ml/old/9ef8becd9ff046289a4d93dea2b00e61.jpg",
+ "https://o1.fengqingyang.ml/old/757372c4508462b265371bfb6d3e7eec.jpg",
+ "https://o1.fengqingyang.ml/old/d1fc3b1c4e6327e01f98957fbb76a172.jpg",
+ "https://o1.fengqingyang.ml/old/eff2437cb6362d9bf5a0a38f19bcfe1d.jpg",
+ "https://o1.fengqingyang.ml/old/cc10b11dd15047cf48eb2a999e813ef0.jpg",
+ "https://o1.fengqingyang.ml/old/93b759ef97d5c342b1345b804cfc888b.jpg",
+ "https://o1.fengqingyang.ml/old/3b97aa8d67960399a42c8a441af7973c.jpg",
+ "https://o1.fengqingyang.ml/old/e889c43eee10b9cf0e3cb68c16ff05ec.jpg",
+ "https://o1.fengqingyang.ml/old/14dfdc0508071de653cf35c50ace9fa1.jpg",
+ "https://o1.fengqingyang.ml/old/96a89f3464451e78604bd1fb672772f2.jpg",
+ "https://o1.fengqingyang.ml/old/a21e37a819090711076e0418e0e89429.jpg",
+ "https://o1.fengqingyang.ml/old/10e48f14088681ad4420a68da7393fed.jpg",
+ "https://o1.fengqingyang.ml/old/a69479e2558f07806a031f79855297fb.jpg",
+ "https://o1.fengqingyang.ml/old/a21ff9e1000c68e2e2e4538ee22a97cf.jpg",
+ "https://o1.fengqingyang.ml/old/59618442eac7c12a2e73ea14966a64da.jpg",
+ "https://o1.fengqingyang.ml/old/b74caff11df27cf983595065aeaee190.jpg",
+ "https://o1.fengqingyang.ml/old/a13fe445706b9bb60f114a802ec6683e.jpg",
+ "https://o1.fengqingyang.ml/old/c114fbe45402e5aa9a52b68a85bf6254.jpg",
+ "https://o1.fengqingyang.ml/old/946fe1ee4ba9202946cf674d914d65b2.jpg",
+ "https://o1.fengqingyang.ml/old/3878c2c9a812d6e26c4367f7d9905840.jpg",
+ "https://o1.fengqingyang.ml/old/327579c7bbab3bbb77361d5ed31bd7d2.jpg",
+ "https://o1.fengqingyang.ml/old/31b0cb039b777884d4258723146cd82a.jpg",
+ "https://o1.fengqingyang.ml/old/2428b54504febf4cbf07300f0bc972e1.jpg",
+ "https://o1.fengqingyang.ml/old/7012dd068f64e98bd44d186d367a02b3.jpg",
+ "https://o1.fengqingyang.ml/old/6cf155270be044bb07e9cd1e32a40402.jpg",
+ "https://o1.fengqingyang.ml/old/a86ab783ce66864ae88fb37f62a9a641.jpg",
+ "https://o1.fengqingyang.ml/old/56c41322e2fc4e1e421e688274259b79.jpg",
+ "https://o1.fengqingyang.ml/old/d9519a1c1c9c1341321a456312b000ec.jpg",
+ "https://o1.fengqingyang.ml/old/254302bd2f3edc8fbef17b534cd1e524.jpg",
+ "https://o1.fengqingyang.ml/old/e768ad9ed54eec20c9a3c9a74c936e42.jpg",
+ "https://o1.fengqingyang.ml/old/8ea1ee7dfd4a4d3b346251f24f768dc6.jpg",
+ "https://o1.fengqingyang.ml/old/6b264ad719e782b0ccef9c46f7ab1d26.jpg",
+ "https://o1.fengqingyang.ml/old/5cae38675170661cfa389412457ef28e.jpg",
+ "https://o1.fengqingyang.ml/old/535852fe6a801cbdad71ee3d2271b6af.jpg",
+ "https://o1.fengqingyang.ml/old/7e70d028ec0ceb17e4ade85c6a5d7367.jpg",
+ "https://o1.fengqingyang.ml/old/942d6323d7229c37ff7dcc903bc23ea7.jpg",
+ "https://o1.fengqingyang.ml/old/168033aa39cb46fce7421ba7259f663d.jpg",
+ "https://o1.fengqingyang.ml/old/4923ab8995c1173fb884a65479c72277.jpg",
+ "https://o1.fengqingyang.ml/old/c3861ade337b70304ce748d57b34189b.jpg",
+ "https://o1.fengqingyang.ml/old/4f20e7d1e81088038a259d0cce62463f.jpg",
+ "https://o1.fengqingyang.ml/old/acf4bbb00bc143a538e4111715b4eb3f.jpg",
+ "https://o1.fengqingyang.ml/old/4f6294dc14794203cdde382149302503.jpg",
+ "https://o1.fengqingyang.ml/old/6f6365bda0b826945184ecd3ed1e37f5.jpg",
+ "https://o1.fengqingyang.ml/old/40593b719d0f39f31c8d86be823e33d1.jpg",
+ "https://o1.fengqingyang.ml/old/6c51b12b42c124a0bf5a0faa41dbb8f9.jpg",
+ "https://o1.fengqingyang.ml/old/f5ddb7db83a50b94fe0e34016f39d6e4.jpg",
+ "https://o1.fengqingyang.ml/old/58d7df3b3b3991b76725c0b57b7e2427.jpg",
+ "https://o1.fengqingyang.ml/old/99e409802491a7ce1541617284442c24.jpg",
+ "https://o1.fengqingyang.ml/old/12f879095822b70a35494fb02ca4126a.jpg",
+ "https://o1.fengqingyang.ml/old/df9ab0f8bd6b646e97ed9791259c54bf.jpg",
+ "https://o1.fengqingyang.ml/old/87ee2143399aec5b134221075a267151.jpg",
+ "https://o1.fengqingyang.ml/old/a1bd456a7042c895297f9c77574df29d.jpg",
+ "https://o1.fengqingyang.ml/old/b8bd2e47c85bc9ef651d7312f2dd4ab8.jpg",
+ "https://o1.fengqingyang.ml/old/54db4b36231d2302503d51b930377dfd.jpg",
+ "https://o1.fengqingyang.ml/old/e34d2eb85367ff66ac1ff86a7b8b76cb.jpg",
+ "https://o1.fengqingyang.ml/old/d027cb6bd2c695283c93cd3aba89f2f6.jpg",
+ "https://o1.fengqingyang.ml/old/1ef447960ac68fb401fe1c58b12d81b4.jpg",
+ "https://o1.fengqingyang.ml/old/4fc06de5af43618d0b288d68f4931244.jpg",
+ "https://o1.fengqingyang.ml/old/da6a1899ac0d08908f7cbaf707b5f12b.jpg",
+ "https://o1.fengqingyang.ml/old/22b3e8494d16c3eb0950bc8f961a0a28.jpg",
+ "https://o1.fengqingyang.ml/old/503752a4f9d322a15a7f3b1fd400da5a.jpg",
+ "https://o1.fengqingyang.ml/old/842ebc5ce153749fc2a08a67e67a7c80.jpg",
+ "https://o1.fengqingyang.ml/old/bc42645f26050f87145aa51174a468ae.jpg",
+ "https://o1.fengqingyang.ml/old/5723118a5363d2f701edae1c15a8c93b.jpg",
+ "https://o1.fengqingyang.ml/old/e9b22de0e43905fcb0a731608dd30068.jpg",
+ "https://o1.fengqingyang.ml/old/813d39c0335d47d9c5df2b4599f73f47.jpg",
+ "https://o1.fengqingyang.ml/old/cde64b2a157ab1a2a27b1feb43c2d08d.jpg",
+ "https://o1.fengqingyang.ml/old/5332ef4452ae7e1ff2012c43f60e1b6f.jpg",
+ "https://o1.fengqingyang.ml/old/e2453974ac562b14a9a14c13a51b1d50.jpg",
+ "https://o1.fengqingyang.ml/old/cab35957deccd42bff46738ee7551f46.jpg",
+ "https://o1.fengqingyang.ml/old/b6e1504f4347e63f04450981b8e84bf4.jpg",
+ "https://o1.fengqingyang.ml/old/b0c5269a764954b3b5800f9fb91a2208.jpg",
+ "https://o1.fengqingyang.ml/old/95745a85e164f6350c3b2aeaa912c322.jpg",
+ "https://o1.fengqingyang.ml/old/3f2689e8a6d2e9d55010f81898e15f01.jpg",
+ "https://o1.fengqingyang.ml/old/3ae39e1d3b1c4e58898092cbeda616af.jpg",
+ "https://o1.fengqingyang.ml/old/4aa66805920d254000af603ed0233ebf.jpg",
+ "https://o1.fengqingyang.ml/old/a4e6708a04760a0ad0b213e398cd43e1.jpg",
+ "https://o1.fengqingyang.ml/old/fc3a14c41e5ea7bc2199233f6892a2f9.jpg",
+ "https://o1.fengqingyang.ml/old/a411f5d1330a822be76ccdd050ea0bc1.jpg",
+ "https://o1.fengqingyang.ml/old/aa86955335954172c5bc3a8a10a3216e.jpg",
+ "https://o1.fengqingyang.ml/old/e150179663652eab767669fbf65dd73c.jpg",
+ "https://o1.fengqingyang.ml/old/25163d9899b3053524af5befc3a4f0fc.jpg",
+ "https://o1.fengqingyang.ml/old/4b81d149f00c865bd95b35c7e4dc6d24.jpg",
+ "https://o1.fengqingyang.ml/old/707fd0fa089836875e823e88cb7c5480.jpg",
+ "https://o1.fengqingyang.ml/old/c8b976c1868c98712775b5ef9c4482d2.jpg",
+ "https://o1.fengqingyang.ml/old/26dd80068770ac7b5289562a4e0b8c03.jpg",
+ "https://o1.fengqingyang.ml/old/59318e0e6b30bbdca78276faa930119d.jpg",
+ "https://o1.fengqingyang.ml/old/c0d0914a4307cdc37f2a255827e4d28a.jpg",
+ "https://o1.fengqingyang.ml/old/16f6bf2c5360471fe561a046a9a90b25.jpg",
+ "https://o1.fengqingyang.ml/old/6de720071ed9b6fca0d738054a1a9b30.jpg",
+ "https://o1.fengqingyang.ml/old/3fc47dd02f0a604506818bce7b22a568.jpg",
+ "https://o1.fengqingyang.ml/old/6419efb9a6ca86dedfe60430452a29ae.jpg",
+ "https://o1.fengqingyang.ml/old/6a65de4a09143e94a1d48132b841a790.jpg",
+ "https://o1.fengqingyang.ml/old/8ec57297168f0d767daa41e36e4bf166.jpg",
+ "https://o1.fengqingyang.ml/old/5ec234112e85d12248d54382c64d1a91.jpg",
+ "https://o1.fengqingyang.ml/old/0968ae85d2d90c7e00a33a4299f1f410.jpg",
+ "https://o1.fengqingyang.ml/old/7fd42b75ce2ca604f779f77faf1a0e5e.jpg",
+ "https://o1.fengqingyang.ml/old/fd2932c1062bc2c9d21e218be7626faf.jpg",
+ "https://o1.fengqingyang.ml/old/585eac63f19b669b81799553eef14968.jpg",
+ "https://o1.fengqingyang.ml/old/be980ff7435493594567f1c16a6bb39f.jpg",
+ "https://o1.fengqingyang.ml/old/65bdd6a092a5b876c2be964a460c538e.jpg",
+ "https://o1.fengqingyang.ml/old/42ffb6f22947cdb8a7a339c78adf298d.jpg",
+ "https://o1.fengqingyang.ml/old/58f066bcf8847711bde96db67f94f9e0.jpg",
+ "https://o1.fengqingyang.ml/old/75ebd6c017fed8c4f06723b0bfbb58d7.jpg",
+ "https://o1.fengqingyang.ml/old/4099dca6cbcf183bb92611b186d09fc5.jpg",
+ "https://o1.fengqingyang.ml/old/43b9a51011cd80852ae3c6735ac3a4b8.jpg",
+ "https://o1.fengqingyang.ml/old/1f7d9154bf71d80b11e62a2799a64d7a.jpg",
+ "https://o1.fengqingyang.ml/old/75bff5c92364d9f5d5fd3002e6f1e006.jpg",
+ "https://o1.fengqingyang.ml/old/47b360679cefab679002867b5308bc77.jpg",
+ "https://o1.fengqingyang.ml/old/f4249647d4f1bb20502af855945c54d0.jpg",
+ "https://o1.fengqingyang.ml/old/bb132b70ec769721059321d7f9679348.jpg",
+ "https://o1.fengqingyang.ml/old/d198784d315dfabbc8f74592e9a993e9.jpg",
+ "https://o1.fengqingyang.ml/old/d77efdb88de5b4fd23a66e00283bf3b8.jpg",
+ "https://o1.fengqingyang.ml/old/439401d284b6db2b68a29d92d418543e.jpg",
+ "https://o1.fengqingyang.ml/old/37b20e571f21d9d38a6701912f4db843.jpg",
+ "https://o1.fengqingyang.ml/old/0cc4e74c3b4d841bc5d4233ad807fca1.jpg",
+ "https://o1.fengqingyang.ml/old/d4b69e71fbb7396472d0bc0e5c32f6e8.jpg",
+ "https://o1.fengqingyang.ml/old/5d599e49842e4f8e031bd3449d83a37e.jpg",
+ "https://o1.fengqingyang.ml/old/687c25b90883a08d8d9fcf164425c047.jpg",
+ "https://o1.fengqingyang.ml/old/e6b09f7dbe3cee69fe471a894ce90c21.jpg",
+ "https://o1.fengqingyang.ml/old/a61b5932c8ec56807ec081adde8a8ed8.jpg",
+ "https://o1.fengqingyang.ml/old/c7a41f34a30ae69a1a009f4019dddbe8.jpg",
+ "https://o1.fengqingyang.ml/old/de40dfcff88f2bd10b6ccdc8a5dd00d9.jpg",
+ "https://o1.fengqingyang.ml/old/27ea400f9b8454b81a3cd26644c57902.jpg",
+ "https://o1.fengqingyang.ml/old/7923ea8c7ad8988f41ecc56732e36f66.jpg",
+ "https://o1.fengqingyang.ml/old/2d4485858b4f296ffdc34192f600189a.jpg",
+ "https://o1.fengqingyang.ml/old/b8f09c000755b1c4a1c8f6ebdc0d2fac.jpg",
+ "https://o1.fengqingyang.ml/old/1549bc749f1ce1c56e5519bf09808ec9.jpg",
+ "https://o1.fengqingyang.ml/old/e47009d020929a9571ebba23cdeabe81.jpg",
+ "https://o1.fengqingyang.ml/old/57a3f33f051af53d084a6c792e3e1cb5.jpg",
+ "https://o1.fengqingyang.ml/old/d1b184b85207f05415e0bbaab818925b.jpg",
+ "https://o1.fengqingyang.ml/old/45c0d4941326b367b5c229e13fae17b7.jpg",
+ "https://o1.fengqingyang.ml/old/78533ac648f0de3683df28283a3689e0.jpg",
+ "https://o1.fengqingyang.ml/old/f64024c8f934d80368779d348ef0d371.jpg",
+ "https://o1.fengqingyang.ml/old/d99c11fad530b276142cf8c4de26e645.jpg",
+ "https://o1.fengqingyang.ml/old/503ead0605ba6312bdca5c11c7a838f5.jpg",
+ "https://o1.fengqingyang.ml/old/d2a994f193beed38afa5173315d1fabc.jpg",
+ "https://o1.fengqingyang.ml/old/eab96b04e1c2b0a3d545405b72790564.jpg",
+ "https://o1.fengqingyang.ml/old/b014dd2246aa869c74cfff829c54b9a4.jpg",
+ "https://o1.fengqingyang.ml/old/bb662e095980c6f594bd951703fa01f0.jpg",
+ "https://o1.fengqingyang.ml/old/75254e073c5af712579a30bd98f5ef51.jpg",
+ "https://o1.fengqingyang.ml/old/39af8c0ad1e0a234d6624b405dc7c76b.jpg",
+ "https://o1.fengqingyang.ml/old/84f493236d4f70d9247d63e97e6a3eab.jpg",
+ "https://o1.fengqingyang.ml/old/d7f564c58aa1766ceafeddfcae8fa00f.jpg",
+ "https://o1.fengqingyang.ml/old/837b4ba4d7b3c868372e3e578fb81857.jpg",
+ "https://o1.fengqingyang.ml/old/c88b0162df93bba6a8fd5099cfe05770.jpg",
+ "https://o1.fengqingyang.ml/old/d673e52807b228ed432946416dc29821.jpg",
+ "https://o1.fengqingyang.ml/old/16407c26de35d9ed07bf417b338672a4.jpg",
+ "https://o1.fengqingyang.ml/old/bbd89d23b17510446f3199c2d89f0b94.jpg",
+ "https://o1.fengqingyang.ml/old/a8736a01b4659b03aff7d6892b5cd641.jpg",
+ "https://o1.fengqingyang.ml/old/3dbe336bcff7215eabed81dcf6ece40d.jpg",
+ "https://o1.fengqingyang.ml/old/98b423a68306fdc421dfc5cad1005735.jpg",
+ "https://o1.fengqingyang.ml/old/214aab200fa678a83b61c884a55f9ca8.jpg",
+ "https://o1.fengqingyang.ml/old/ca04aaddd7b86fe1c42717900c732b14.jpg",
+ "https://o1.fengqingyang.ml/old/e87b7300696db54bf75de13e7fcb76de.jpg",
+ "https://o1.fengqingyang.ml/old/60ad6914dd6e78669d9c37fbda7ac3e7.jpg",
+ "https://o1.fengqingyang.ml/old/a5463e9f3473d7e32450b8f5b3e31c6b.jpg",
+ "https://o1.fengqingyang.ml/old/6e6f00e6e004fd8137cfebd738836480.jpg",
+ "https://o1.fengqingyang.ml/old/45dddc9ae9c683b71323a35296e02a3e.jpg",
+ "https://o1.fengqingyang.ml/old/d0b6f1d802dcf8e50e570c3609715c81.jpg",
+ "https://o1.fengqingyang.ml/old/79d9c40e4ca110d568ba95894d628a0d.jpg",
+ "https://o1.fengqingyang.ml/old/eaca304def77fac65a9d4ad56d48ce5b.jpg",
+ "https://o1.fengqingyang.ml/old/b18f63661bfd1385c90b5fd1f43d2541.jpg",
+ "https://o1.fengqingyang.ml/old/63223bc7f9a8b425c7e334876403c41e.jpg",
+ "https://o1.fengqingyang.ml/old/51391450fe3d7ce077f59d04b229793e.jpg",
+ "https://o1.fengqingyang.ml/old/c31a90180f65aad814a6d256c1690a89.jpg",
+ "https://o1.fengqingyang.ml/old/9feb74a1261a0d50d953d81bb74590b3.jpg",
+ "https://o1.fengqingyang.ml/old/14b44e7aa14e8effb1742fc66e1c1300.jpg",
+ "https://o1.fengqingyang.ml/old/ad73cb0bd7ec856c795f73c8dca6f9d4.jpg",
+ "https://o1.fengqingyang.ml/old/2303e1d4a5622aa584a51c1602d0f0aa.jpg",
+ "https://o1.fengqingyang.ml/old/9c122d184e0c9928f05eacfe0d2f02c5.jpg",
+ "https://o1.fengqingyang.ml/old/819d24627dc2af9115ae5047d38c4fef.jpg",
+ "https://o1.fengqingyang.ml/old/ab853cdadb890e8ed914a81a490ec1f4.jpg",
+ "https://o1.fengqingyang.ml/old/34d0c9ab213bb327e1d88a479d72c7c6.jpg",
+ "https://o1.fengqingyang.ml/old/11ed6f0aa39f2f60125aa0f668d9569b.jpg",
+ "https://o1.fengqingyang.ml/old/dde3ce57cfae2e110a87560eadf3c452.jpg",
+ "https://o1.fengqingyang.ml/old/092ce0fe1703cefeb9e9dc71add78f0b.jpg",
+ "https://o1.fengqingyang.ml/old/255e4708e9ae7c37f4d6b6a553beb667.jpg",
+ "https://o1.fengqingyang.ml/old/3dde3bc9a0c39c50e4061f1c11148178.jpg",
+ "https://o1.fengqingyang.ml/old/8c8907b75521e0e93d2674f52e17c439.jpg",
+ "https://o1.fengqingyang.ml/old/60584e5e4f8d4936bd18381eb015c1b1.jpg",
+ "https://o1.fengqingyang.ml/old/d30c960f60992bb7a32fbf8d6ade33b6.jpg",
+ "https://o1.fengqingyang.ml/old/e8cf504631beb7232f2bd2a26da2872f.jpg",
+ "https://o1.fengqingyang.ml/old/181479fc0829635492f87512299002d2.jpg",
+ "https://o1.fengqingyang.ml/old/db26fab2ca95849316751d3d769199a5.jpg",
+ "https://o1.fengqingyang.ml/old/cd670f7987b97d98f9ce9faf701cac35.jpg",
+ "https://o1.fengqingyang.ml/old/a8af3f0eb2ae52671dcc5ab7302d4faf.jpg",
+ "https://o1.fengqingyang.ml/old/1f66754abe53963c8f4eb63aee018936.jpg",
+ "https://o1.fengqingyang.ml/old/f6dcc36d68d3237a1230599fcdafe2f7.jpg",
+ "https://o1.fengqingyang.ml/old/37df70ed6aeaf90b3601a70be9eded8d.jpg",
+ "https://o1.fengqingyang.ml/old/2e22a672a0522d3adf0de18cd21b3af1.jpg",
+ "https://o1.fengqingyang.ml/old/9bff8a3c79118944693f90e60c843951.jpg",
+ "https://o1.fengqingyang.ml/old/aae822fb7d765f24891a253d22d0c29f.jpg",
+ "https://o1.fengqingyang.ml/old/00f265f167cbcf0fcdaf51eecdbfb11b.jpg",
+ "https://o1.fengqingyang.ml/old/fa4f97c81b60a9bdbc8be29db8c7d564.jpg",
+ "https://o1.fengqingyang.ml/old/8222738b73dfd712a5d7b627196f8d18.jpg",
+ "https://o1.fengqingyang.ml/old/b77859e2a34dc78d9a6b8c556cf3354b.jpg",
+ "https://o1.fengqingyang.ml/old/afe79ba293b67f5b2b796bc610a2732c.jpg",
+ "https://o1.fengqingyang.ml/old/eb7c86c0092adf87d5ef790383c21c8b.jpg",
+ "https://o1.fengqingyang.ml/old/ff06eb8f54de66648225fe7f99bee6fa.jpg",
+ "https://o1.fengqingyang.ml/old/a46a1d7af94465b88e492cd2af1868ab.jpg",
+ "https://o1.fengqingyang.ml/old/f8f4ab65055300bc35e454695ccf0958.jpg",
+ "https://o1.fengqingyang.ml/old/0c2a5c1a46fb935e2fa45d1a0d92432b.jpg",
+ "https://o1.fengqingyang.ml/old/dfb7a183f53b231940ec3791c4725271.jpg",
+ "https://o1.fengqingyang.ml/old/03df1c2cb261837f25890876d027d12c.jpg",
+ "https://o1.fengqingyang.ml/old/ecf18ea0ccad12d9474e1d207127f632.jpg",
+ "https://o1.fengqingyang.ml/old/f3a65e844bfb31f688815cef3bba0054.jpg",
+ "https://o1.fengqingyang.ml/old/736e494374b34bc21555d852c8de34d4.jpg",
+ "https://o1.fengqingyang.ml/old/bf95031994fec4f15548bd184ce87b5a.jpg",
+ "https://o1.fengqingyang.ml/old/c756e37b5ae7efa2542a091fc5477fea.jpg",
+ "https://o1.fengqingyang.ml/old/edf080db257463630c8dc29211dddead.jpg",
+ "https://o1.fengqingyang.ml/old/ac4fbe02029b5d7f1c95d3451f810435.jpg",
+ "https://o1.fengqingyang.ml/old/ba5f631d5540ec3219f53aa814d4235b.jpg",
+ "https://o1.fengqingyang.ml/old/0e894c1ff9738850bafbda786b25c833.jpg",
+ "https://o1.fengqingyang.ml/old/31a6caf2ebb4554456983166bfc2dcf6.jpg",
+ "https://o1.fengqingyang.ml/old/987d036efdd396fed8a73e02da58c2c4.jpg",
+ "https://o1.fengqingyang.ml/old/d14cccfcb8a3116de9b87bcd0132c59f.jpg",
+ "https://o1.fengqingyang.ml/old/94ad71f11d6133e20962e59c3a815178.jpg",
+ "https://o1.fengqingyang.ml/old/8b43263ab4c158727cd43311d9a881a6.jpg",
+ "https://o1.fengqingyang.ml/old/27781e395b2476d945d6ea45bb9bd580.jpg",
+ "https://o1.fengqingyang.ml/old/fad417901ddfe47a6767703e33859559.jpg",
+ "https://o1.fengqingyang.ml/old/01b45894d4aaa1c11549e2c7a334d753.jpg",
+ "https://o1.fengqingyang.ml/old/ba491a8593f776e4be4ff075e90444ae.jpg",
+ "https://o1.fengqingyang.ml/old/9b947e6ffb844779181497e9df87542e.jpg",
+ "https://o1.fengqingyang.ml/old/97ba620bffdf411eb9131a654fa2400a.jpg",
+ "https://o1.fengqingyang.ml/old/0b1c0f61ddea446a7eaa109a070dabad.jpg",
+ "https://o1.fengqingyang.ml/old/3006c6e428467ac6ac89ed8407db5dcc.jpg",
+ "https://o1.fengqingyang.ml/old/610a04608aebbaf1aa0ec04f6f6aa139.jpg",
+ "https://o1.fengqingyang.ml/old/06861feaad13b371865e8608281d8bb4.jpg",
+ "https://o1.fengqingyang.ml/old/33d8ed80e4c3d05bc5a5f12312b882ee.jpg",
+ "https://o1.fengqingyang.ml/old/c3e7f52696e149e2fd8ee42b8bbd585e.jpg",
+ "https://o1.fengqingyang.ml/old/ec03a3bfe273b9a7a4be0639979072af.jpg",
+ "https://o1.fengqingyang.ml/old/4d7a9be43c6ec09b083a63ac927abe11.jpg",
+ "https://o1.fengqingyang.ml/old/33064a514f13935f69db1f509f93c823.jpg",
+ "https://o1.fengqingyang.ml/old/cce7389e1c7e03285aa9dfd203bcb5d4.jpg",
+ "https://o1.fengqingyang.ml/old/aba192bc368356bacc0598047cf758d3.jpg",
+ "https://o1.fengqingyang.ml/old/b72efd97f29be45cd2e386413d76cdc6.jpg",
+ "https://o1.fengqingyang.ml/old/1e1b6812a90da95b193f232e9cf822fc.jpg",
+ "https://o1.fengqingyang.ml/old/516b1480e1116037ad4b46631af56981.jpg",
+ "https://o1.fengqingyang.ml/old/88c6741a02f432a2b459ae980dc9a163.jpg",
+ "https://o1.fengqingyang.ml/old/5db73b8a9803e5b23e15fbecafee77ed.jpg",
+ "https://o1.fengqingyang.ml/old/66bf57f1b9a8215817ef474535824875.jpg",
+ "https://o1.fengqingyang.ml/old/fb4d645fb158bfe3062f8ae219d00d80.jpg",
+ "https://o1.fengqingyang.ml/old/7b1eaf7f5fe5d894a21f17d17d616b80.jpg",
+ "https://o1.fengqingyang.ml/old/70d03b8cf3355028d3cabed493057edb.jpg",
+ "https://o1.fengqingyang.ml/old/5260863b741ef9228208d5cd14e2765e.jpg",
+ "https://o1.fengqingyang.ml/old/85397f4807dfbe65b6033d620ba0f715.jpg",
+ "https://o1.fengqingyang.ml/old/c213bf4a37d7e010b91af29d01798765.jpg",
+ "https://o1.fengqingyang.ml/old/4060b6716278ac300230495e8890e16c.jpg",
+ "https://o1.fengqingyang.ml/old/eb5f05577f7f40a8866ae3cbb3dd8ed6.jpg",
+ "https://o1.fengqingyang.ml/old/8e064c8fff71175ecd0db77bf6f7d4bf.jpg",
+ "https://o1.fengqingyang.ml/old/df1598971e2847518d92a450af75369e.jpg",
+ "https://o1.fengqingyang.ml/old/1f607987bd66549435c8465152d20a24.jpg",
+ "https://o1.fengqingyang.ml/old/6d84f8ab8d443f431bcbe6de837fdff9.jpg",
+ "https://o1.fengqingyang.ml/old/03d7b506d2fa0cd78f37247d14a4dc1c.jpg",
+ "https://o1.fengqingyang.ml/old/8bbe58ae6ca25f32a3f6ba852f8992c4.jpg",
+ "https://o1.fengqingyang.ml/old/5166e275868cdbf1c0c0d2485b5160ef.jpg",
+ "https://o1.fengqingyang.ml/old/4ad406d2ebf6ff679de8da92ef25fb67.jpg",
+ "https://o1.fengqingyang.ml/old/cfbaec34959720cbef20a671397f190c.jpg",
+ "https://o1.fengqingyang.ml/old/1513cbb91456c57d7330cd832f21c76c.jpg",
+ "https://o1.fengqingyang.ml/old/0cd7ff933ca52aa9cff43606764a4947.jpg",
+ "https://o1.fengqingyang.ml/old/107341a41885dcd728927ad1c0eaf311.jpg",
+ "https://o1.fengqingyang.ml/old/3a82aa1cbceb9f6e4ae7fd1bea7f19a7.jpg",
+ "https://o1.fengqingyang.ml/old/93eb67c36327a2f3bb4b4216e45de2c3.jpg",
+ "https://o1.fengqingyang.ml/old/6ad845e66a2fafd1d387a3b6c87d0721.jpg",
+ "https://o1.fengqingyang.ml/old/f84a66575edc438fe93bcc04a2c430e8.jpg",
+ "https://o1.fengqingyang.ml/old/0cff64a17025a55e14a916c930ecb1aa.jpg",
+ "https://o1.fengqingyang.ml/old/d1894a0114da5e2a92b2edc17079e08b.jpg",
+ "https://o1.fengqingyang.ml/old/8244f48ff9f062be8977ab59e76b3f0c.jpg",
+ "https://o1.fengqingyang.ml/old/b6bccbab2d4f71b950c5c4d563983871.jpg",
+ "https://o1.fengqingyang.ml/old/af9b79ad2f8ddc7e6c232e9bce53eb5c.jpg",
+ "https://o1.fengqingyang.ml/old/bc765e5717063540265da77ea27d883e.jpg",
+ "https://o1.fengqingyang.ml/old/1014e66a5ca7cb91be374fb5d1f385af.jpg",
+ "https://o1.fengqingyang.ml/old/9933209f41d4c55ddaa7a50083a95e34.jpg",
+ "https://o1.fengqingyang.ml/old/bf08f6c70930f9554526dbf6920c2b0f.jpg",
+ "https://o1.fengqingyang.ml/old/6e1f125dbf507cb084e343b0beff09ca.jpg",
+ "https://o1.fengqingyang.ml/old/405306de1d4ec5d65a9715a8cd334625.jpg",
+ "https://o1.fengqingyang.ml/old/844d5edb72b4f8ac4944319e0a5d98a9.jpg",
+ "https://o1.fengqingyang.ml/old/f71e0e0d2ed02b34d29449ac7a76e8da.jpg",
+ "https://o1.fengqingyang.ml/old/53b64736525f9f087d578fd87489b81e.jpg",
+ "https://o1.fengqingyang.ml/old/1ca467a020cd2930bf2704c70405a8d6.jpg",
+ "https://o1.fengqingyang.ml/old/5b2612bb0ca9f5ba4f1b05f1d7fe01c2.jpg",
+ "https://o1.fengqingyang.ml/old/a3e0ba1578f2f6316a8a507621cf734c.jpg",
+ "https://o1.fengqingyang.ml/old/f4e6386ab7a27ab6927bf5ec9ecc1fb9.jpg",
+ "https://o1.fengqingyang.ml/old/b3bb177d33a781536ae07a19a4f6d95c.jpg",
+ "https://o1.fengqingyang.ml/old/c9ae2d105d139f994c52954d691b4672.jpg",
+ "https://o1.fengqingyang.ml/old/98a1a2ee230cc088c858928ce15504b1.jpg",
+ "https://o1.fengqingyang.ml/old/a1d64df5b1ffa77cb6393367d73ce310.jpg",
+ "https://o1.fengqingyang.ml/old/45099ae5ffdd1dcb98cee5d75f6266d2.jpg",
+ "https://o1.fengqingyang.ml/old/0b55c0a64365a4d502cd47550bab7dbc.jpg",
+ "https://o1.fengqingyang.ml/old/8b9103ea0711fdcc4bfbb3f2b8f0f028.jpg",
+ "https://o1.fengqingyang.ml/old/2b853e45bd11a8ddcac32cfcf108ba0c.jpg",
+ "https://o1.fengqingyang.ml/old/d720c64b304bda25614c31501973a4e9.jpg",
+ "https://o1.fengqingyang.ml/old/0199f6f3cf7e33a10c65ac46675bd3cc.jpg",
+ "https://o1.fengqingyang.ml/old/49e7032a97789f4966ce47845c8dd1bc.jpg",
+ "https://o1.fengqingyang.ml/old/048a26eb6f384d1a0e810d0ddeda5964.jpg",
+ "https://o1.fengqingyang.ml/old/1f1ded04b72d8f6c8c3402b7a5ddca72.jpg",
+ "https://o1.fengqingyang.ml/old/4357ccbab70bd1ee130c10da4b3d995c.jpg",
+ "https://o1.fengqingyang.ml/old/1a555b322a6117353a4c9ee37e960173.jpg",
+ "https://o1.fengqingyang.ml/old/721e169785b7c2dee4b3311085d3ae38.jpg",
+ "https://o1.fengqingyang.ml/old/0631aea95835522f9c43c67de9f341c5.jpg",
+ "https://o1.fengqingyang.ml/old/4ff0594c68e501f2b93293ec875e34f9.jpg",
+ "https://o1.fengqingyang.ml/old/008de4d6fc56723a9bbd796500b6c25f.jpg",
+ "https://o1.fengqingyang.ml/old/44f4e22f705d9241a05b27926e673a32.jpg",
+ "https://o1.fengqingyang.ml/old/448545dfd62aae7a06e64961e1ef0ac5.jpg",
+ "https://o1.fengqingyang.ml/old/b23740f4cba93673a9e5b8f005a7fbf7.jpg",
+ "https://o1.fengqingyang.ml/old/f20a14ac6775439bf2ba1535c9a480be.jpg",
+ "https://o1.fengqingyang.ml/old/7dba2a397d56e702546276571b5b1547.jpg",
+ "https://o1.fengqingyang.ml/old/5355ca6920905f5a71ab179509d29496.jpg",
+ "https://o1.fengqingyang.ml/old/ae3e48e6fa6967c85d0bbfb47a657863.jpg",
+ "https://o1.fengqingyang.ml/old/662aa98615ecb3dd3ca8ec4c575c972d.jpg",
+ "https://o1.fengqingyang.ml/old/74b21610ed243553a95b20fa7bcb4d3c.jpg",
+ "https://o1.fengqingyang.ml/old/4831ecded3513773964d93178a166715.jpg",
+ "https://o1.fengqingyang.ml/old/500bd85a34262f1b29c67bade8ea91b0.jpg",
+ "https://o1.fengqingyang.ml/old/803da85ba71d65d2ddf83fc50aada53f.jpg",
+ "https://o1.fengqingyang.ml/old/e269474daec86b35b2278555401c1924.jpg",
+ "https://o1.fengqingyang.ml/old/4512aca676e0d1c859b16c2a5a38b95a.jpg",
+ "https://o1.fengqingyang.ml/old/4931b9a441609268dfea5c0a76a878e1.jpg",
+ "https://o1.fengqingyang.ml/old/479a9db470755fb54ff9156bd7d92438.jpg",
+ "https://o1.fengqingyang.ml/old/bf350492768077b7f14cf0f10f27fe92.jpg",
+ "https://o1.fengqingyang.ml/old/01496eab519f495e6a5c5a753997dc98.jpg",
+ "https://o1.fengqingyang.ml/old/5f927ee0c72b951dcd86936e073bfaa2.jpg",
+ "https://o1.fengqingyang.ml/old/fe586dbc96707a624b4d83b4356af4d9.jpg",
+ "https://o1.fengqingyang.ml/old/14114061d74ceb4b599a2375cb0a7400.jpg",
+ "https://o1.fengqingyang.ml/old/964049e2fb65af95122156fe0f8801e7.jpg",
+ "https://o1.fengqingyang.ml/old/461231d1228ad0a546b9134bbe5c1a5e.jpg",
+ "https://o1.fengqingyang.ml/old/085a5c434f2a16523ce4472ad2ee3040.jpg",
+ "https://o1.fengqingyang.ml/old/e81a6ac190f587d4173e07cc089862ce.jpg",
+ "https://o1.fengqingyang.ml/old/2102d4440d99de420c0f5ba830e22b1c.jpg",
+ "https://o1.fengqingyang.ml/old/b25fae2d793f0c762f3bfdbaecc11a3a.jpg",
+ "https://o1.fengqingyang.ml/old/ca8d6beee8dab2d405645b6ce2baedfc.jpg",
+ "https://o1.fengqingyang.ml/old/d9b1cc7ec895bc527eb44a0bb3a74eab.jpg",
+ "https://o1.fengqingyang.ml/old/22177fdb5001a4062e32d0c3dbfd6fdf.jpg",
+ "https://o1.fengqingyang.ml/old/f847a6a7c688dd94548dbb7569e31079.jpg",
+ "https://o1.fengqingyang.ml/old/182b431a0e8cc9787412d19642e1f0bc.jpg",
+ "https://o1.fengqingyang.ml/old/f9b69197aaf67d776f12bfb649655264.jpg",
+ "https://o1.fengqingyang.ml/old/93e50c59c0279b1ec9d6d462f07c8014.jpg",
+ "https://o1.fengqingyang.ml/old/2255367747e935ff309e8f503a175541.jpg",
+ "https://o1.fengqingyang.ml/old/98e640312c3ea56e1abdeb9d357a0c98.jpg",
+ "https://o1.fengqingyang.ml/old/01647b45852385dcc399b3d70c6ba76b.jpg",
+ "https://o1.fengqingyang.ml/old/77be02df42eb7525944e578f1c3cbc43.jpg",
+ "https://o1.fengqingyang.ml/old/8a53322be53d72dbb13ab00034cd9ca8.jpg",
+ "https://o1.fengqingyang.ml/old/4f316320eed4802768d7c47198dd26c0.jpg",
+ "https://o1.fengqingyang.ml/old/e94793c957e6eb56ef970304d42b9e0f.jpg",
+ "https://o1.fengqingyang.ml/old/510f3c0554c1cd955efd5e57a000c40c.jpg",
+ "https://o1.fengqingyang.ml/old/c74006578621be20de290edd28b72855.jpg",
+ "https://o1.fengqingyang.ml/old/12b08f0c8fb2551827bf22c5e25ffb98.jpg",
+ "https://o1.fengqingyang.ml/old/8aafc1f1614478427dbef7668c76bf59.jpg",
+ "https://o1.fengqingyang.ml/old/5cad4a70e2b995b5ce016003925284ce.jpg",
+ "https://o1.fengqingyang.ml/old/4b319c2f6e597d25961caa94a67f755a.jpg",
+ "https://o1.fengqingyang.ml/old/acf7f7afc65d1c45746f10bc2fda3a75.jpg",
+ "https://o1.fengqingyang.ml/old/bd3f2830e6489174ca945dfedcc67709.jpg",
+ "https://o1.fengqingyang.ml/old/0a89cdecc94cd615d178aa47007b77e0.jpg",
+ "https://o1.fengqingyang.ml/old/41f748d369c5f917f9d44592d5a7eac7.jpg",
+ "https://o1.fengqingyang.ml/old/efe24499bf723eeea7f35e3296d92cd0.jpg",
+ "https://o1.fengqingyang.ml/old/66d9143557c22f36eff6bd40db5eb12f.jpg",
+ "https://o1.fengqingyang.ml/old/aec033f2573278b5604b6b1ee5454369.jpg",
+ "https://o1.fengqingyang.ml/old/bef95d820b22960fd42c413d81bac9b1.jpg",
+ "https://o1.fengqingyang.ml/old/2cff99a2dfc700e61571da1a0cec5be1.jpg",
+ "https://o1.fengqingyang.ml/old/c053e4e66b1708616f5a7cadc4566ae5.jpg",
+ "https://o1.fengqingyang.ml/old/f8396a7a5219e0e7a50d839cd2c5642c.jpg",
+ "https://o1.fengqingyang.ml/old/6add59feaba35e05c014e5ba68be5e1c.jpg",
+ "https://o1.fengqingyang.ml/old/1800dde53a34c7da374ffa9ce4c53731.jpg",
+ "https://o1.fengqingyang.ml/old/5f8cd074304aa5f659cd55dc150eda15.jpg",
+ "https://o1.fengqingyang.ml/old/7cf2eda47c7982cc4311fdd248a90788.jpg",
+ "https://o1.fengqingyang.ml/old/4d9c45dc3a46843434fe20ce964e741a.jpg",
+ "https://o1.fengqingyang.ml/old/5006f2ec8e6b1577a1d9723128ca92cd.jpg",
+ "https://o1.fengqingyang.ml/old/22117a7736b4b298f5aa36b17d50fd5b.jpg",
+ "https://o1.fengqingyang.ml/old/5225f2f00f89f24ac40b64ba3d38eaf6.jpg",
+ "https://o1.fengqingyang.ml/old/3d52683b0d7cb5650dfcf3469baa42df.jpg",
+ "https://o1.fengqingyang.ml/old/16005f8b26a123c348df5cfa02cddb48.jpg",
+ "https://o1.fengqingyang.ml/old/0a2eab1a724819d618cf684a061c112c.jpg",
+ "https://o1.fengqingyang.ml/old/64074929c0b6902e669aa16e58cabbbe.jpg",
+ "https://o1.fengqingyang.ml/old/19c15fc57de635d3ab9ffc96edd2979d.jpg",
+ "https://o1.fengqingyang.ml/old/29b1b2a1abbbb320248bfa8df92a53dd.jpg",
+ "https://o1.fengqingyang.ml/old/ad1c256b60c60deb9f999e6ca1f037c0.jpg",
+ "https://o1.fengqingyang.ml/old/0609747702d7a9a7ea2b06b8b8e18c56.jpg",
+ "https://o1.fengqingyang.ml/old/705e3c94b5072be51c8635963ead4067.jpg",
+ "https://o1.fengqingyang.ml/old/a275cea24bad345db3d2cfbed770e34a.jpg",
+ "https://o1.fengqingyang.ml/old/2e7bcca986f21d8909b016b70e0ef2b8.jpg",
+ "https://o1.fengqingyang.ml/old/a676a8184820a1d912b34cf93eac8459.jpg",
+ "https://o1.fengqingyang.ml/old/5fba9b7dfb34a6b7723c1a5e3d1399d5.jpg",
+ "https://o1.fengqingyang.ml/old/18e07c50120fee6349d94b2961fe4c6c.jpg",
+ "https://o1.fengqingyang.ml/old/cf901d2f0ea8d5096e861cba16971799.jpg",
+ "https://o1.fengqingyang.ml/old/0bbd5a8225d0a75dcc68c846e2fb9b7c.jpg",
+ "https://o1.fengqingyang.ml/old/d27e833ae3e12eed41a6e962cd6f3e01.jpg",
+ "https://o1.fengqingyang.ml/old/8220173807b4c6594fef32e7547ad6dc.jpg",
+ "https://o1.fengqingyang.ml/old/92104a6a131a9c2f955bdf78e24b68f4.jpg",
+ "https://o1.fengqingyang.ml/old/6ef80cf265ac95db727df855eebf0ef9.jpg",
+ "https://o1.fengqingyang.ml/old/0b896e013765e95bba110a018557f26d.jpg",
+ "https://o1.fengqingyang.ml/old/5e0635b8bc3355d518a4a71d9094d46c.jpg",
+ "https://o1.fengqingyang.ml/old/360a1882a7fbe9b42020522c8a342e74.jpg",
+ "https://o1.fengqingyang.ml/old/69b67cd0df3bbd24b55ffa1c754c4335.jpg",
+ "https://o1.fengqingyang.ml/old/ace3a7763678df52894310fea8af3aab.jpg",
+ "https://o1.fengqingyang.ml/old/208ae60da546a1bb9c664013b0481bc5.jpg",
+ "https://o1.fengqingyang.ml/old/35da79b12ebb123dca41acd7c4cd0400.jpg",
+ "https://o1.fengqingyang.ml/old/a5a471ec02278bcb1dc7e5d0bed5e66e.jpg",
+ "https://o1.fengqingyang.ml/old/f2375396313b6247dee595ef49cab84d.jpg",
+ "https://o1.fengqingyang.ml/old/eece520258aed921baf99ad7903a5d3f.jpg",
+ "https://o1.fengqingyang.ml/old/b49236059ec15d6326df6310b0debfd7.jpg",
+ "https://o1.fengqingyang.ml/old/1f7cf8bd22c439c02837ad8a99ee02d1.jpg",
+ "https://o1.fengqingyang.ml/old/72f3eaff68567d65ed812071f4535e4f.jpg",
+ "https://o1.fengqingyang.ml/old/81f242ee53b0147f837a857e0bb186ca.jpg",
+ "https://o1.fengqingyang.ml/old/cbdc87bd0bdbf9658069cadd271e5549.jpg",
+ "https://o1.fengqingyang.ml/old/bca7672925abcf7ebb19fdc96cc2a097.jpg",
+ "https://o1.fengqingyang.ml/old/5b6516e3ddc8f68ab4d732a387ac6e9f.jpg",
+ "https://o1.fengqingyang.ml/old/73cc1231656e3e30a19e734d61ab1e90.jpg",
+ "https://o1.fengqingyang.ml/old/ff87222fef643cc363f314d4e3d419c4.jpg",
+ "https://o1.fengqingyang.ml/old/4d83037e3848160663542138bf17cb3d.jpg",
+ "https://o1.fengqingyang.ml/old/f9af09ad17356b9e3ff5928590b6fe6e.jpg",
+ "https://o1.fengqingyang.ml/old/5a4f5f590e1c9ed73455c9066d215ffb.jpg",
+ "https://o1.fengqingyang.ml/old/75a4e8101f98305fc58beab56dcfc1a5.jpg",
+ "https://o1.fengqingyang.ml/old/35a2feb492dad5fde4d68c7e3b8ec6db.jpg",
+ "https://o1.fengqingyang.ml/old/2dd57d4cdeb92329da4789887cf1f7bc.jpg",
+ "https://o1.fengqingyang.ml/old/599fd96eb69187c9d0a17ddc8202d1e9.jpg",
+ "https://o1.fengqingyang.ml/old/0997390c5e3765f6b16fd8b85564e807.jpg",
+ "https://o1.fengqingyang.ml/old/52a1350eedf009ac1f2ce93ae5500227.jpg",
+ "https://o1.fengqingyang.ml/old/005d1de550301993bebd240d87b910af.jpg",
+ "https://o1.fengqingyang.ml/old/c7495429ea714d85d96fa61466cc5ba6.jpg",
+ "https://o1.fengqingyang.ml/old/ace6c29bdd62c75e88585f8ae1ab461b.jpg",
+ "https://o1.fengqingyang.ml/old/8ee91edc6aa48779c6597316fd5df84e.jpg",
+ "https://o1.fengqingyang.ml/old/0117481df6c6bbf6c2c9c4011e153510.jpg",
+ "https://o1.fengqingyang.ml/old/ced0ab6b3135afcfdcfd7d3db3d00499.jpg",
+ "https://o1.fengqingyang.ml/old/4b23ad173efbe906f805f087342ec77a.jpg",
+ "https://o1.fengqingyang.ml/old/225dda3977ba7a87fd1c7e70f9951d0c.jpg"
+]
\ No newline at end of file
diff --git a/file/girls_pic_20230515.json b/file/girls_pic_20230515.json
new file mode 100644
index 0000000..f724c39
--- /dev/null
+++ b/file/girls_pic_20230515.json
@@ -0,0 +1,2405 @@
+[
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115101620.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600325056.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022242449.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209480924.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110493561.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106052356101.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061516163968.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210200254.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009474825.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110481159.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909352840.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400462427.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106121239356.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070808563767.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107061295.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111003484.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070808564130.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022164018.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107414920.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703573911.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106220400223.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710314315.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061306164849.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061401033122.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717205159.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109121038286.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413185458.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110400045.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712160635.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110441032.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208000128.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210620001424100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061515231415.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611482861.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612092538.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402481889.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013550316.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212583949.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107472829.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013323841.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106494919.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210616010422100.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110433039.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710515861.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710471533.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206544384.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060900544946.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062203564847.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110302179.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116075355.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013373195.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205344358.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423580443.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312373090.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712251768.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110524690.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317002384.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106121245128.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110209485317.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600165745.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411132384.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612090759.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060418585446.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010223534.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610103058.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107071225152.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106160119206.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604510575.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106111156294.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205543193.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604305281.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060104195652.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061602561831.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061112005781.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504285351.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604192036.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022111206405170.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610202828.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305483974.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501374952.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209552993.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423533277.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404324746.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116245285.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603422744.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502340015.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412000834.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603382131.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416393367.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110509384064.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010532524.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060203075379.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802021523.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701503395.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717404392.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600461521.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702501840.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313095290.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107134972.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502340970.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302224133.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201153371.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202404319.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601515444.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209132828.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171151116.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209401557.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123045012.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060105280582.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116080732.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813164963.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703153881.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604464953.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111395249.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013293895.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712052914.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062018210572.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/2022081604380628.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608573161.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202005234.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223112824.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205391253.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501454311.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206513915.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404421793.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206252950.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206595244.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601223968.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009522052.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060611451162.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010073040.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110360515.webp",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600404432.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901270263.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610512576.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106051111057.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701440160.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215311095.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060040012.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060522540180.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402471964.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612335994.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603510190.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411212857.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417384369.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600395769.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710581068.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712115645.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400415571.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011041458.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606535019.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600383969.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202081813.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610103474.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061700510626.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201275590.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210613131432100.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600285075.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060103215745.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110334780.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718102146.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116513288.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802221141.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512514848.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403273948.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060419222339.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703195651.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110209485484.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802064874.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719074662.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712160445.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510454511.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205291627.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202184739.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060212242433.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140432457.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412142518.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013372653.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110513264.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110222548.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106005451.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610021144.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020850315.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060301544293.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013501630.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404571060.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212472848.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600413972.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206362819.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903141976.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062000141045.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110423155.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110345847.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710471799.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612184911.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703342330.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701314550.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719074479.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504332958.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600301167.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405092695.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060503291099.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212421574.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110334640.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510494083.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/2022081604380598.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070711112694.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211354008.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712321625.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207390650.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702143069.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802172378.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813024449.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060523005593.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403563878.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413185377.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103154631.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713201936.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062923255369.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207553587.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600422329.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/2022082410443833.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400341554.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710314863.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312312039.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111003444.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205444968.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813053671.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600372399.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403493213.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603465950.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070702573431.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701314960.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711081594.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603333671.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801455821.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604510250.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206473276.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061316384491.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111105319.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171912457.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110423050.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501454980.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601465628.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106060430538.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110353251.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712093154.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013450849.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201564378.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106051251459.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060419222582.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300595452.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070702573277.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202005381.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201043245.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710591410.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713240064.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600373222.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211400163.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106141232281.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060418102898.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062204080128.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402460846.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603253385.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110402411639.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523543832.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413310092.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013253913.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611280773.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071207030654.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719213153.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171736472.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205252627.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701503191.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070808520081.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710241445.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061409464676.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060203023655.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603510023.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210185971.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061306410369.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091209324948.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708432418.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611581896.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405044573.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061409521618.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610231830.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223074198.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116163160.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314065693.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416574476.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402424545.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313095051.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609350970.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701503420.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909352627.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404074470.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110473848.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011048496.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417244194.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600134017.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061402405385.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510555856.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503275157.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510555987.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210504484.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070702525456.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207553934.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801251280.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060212190389.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212451125.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201493017.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711584053.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062000142531.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610512838.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405123438.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106061226514.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610202732.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718412926.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060613502631.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502503012.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405072173.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060503290655.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502594632.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802242092.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503232519.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413144716.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719152769.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062114051398.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603381875.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208055719.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608451299.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091212533127.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511110726.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204432986.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717285269.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106141221175.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110510016.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209401261.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703272361.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710282858.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800175866.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207113182.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202105311624511.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061401004184.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416453019.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205475761.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111071258.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061318062024.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801251063.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711471535.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106071200332.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060100521619.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600285136.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115065347.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712102268.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109120512388.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110222543.webp",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405025412.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106092354236.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207161236.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514361426.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403432523.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009521325.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061608380962.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313341971.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115065956.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411504340.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062113540270.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205291684.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111360319.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413252063.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711512582.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603560547.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206061941.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103154895.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305341149.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604353910.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612092813.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708515685.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060611495923.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609351070.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060522535898.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207432252.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061602561990.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403590070.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107380122.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013501966.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800472749.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612282920.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140100436.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312193293.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209201949.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116195267.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600192786.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072014070620.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312341047.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405010151.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512430493.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110505960.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510363461.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802314058.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404412159.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020307517.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060017435.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404324181.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611192014.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223041581.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106212308325.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405035155.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712052675.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711511444.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809134356.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600404555.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300312356.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800231385.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061316384846.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423581985.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510275719.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603142325.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060812591244.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009435952.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502470675.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601403925.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611581613.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417564140.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502392274.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719013086.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413145399.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603073298.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020101352.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600430461.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123083278.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603301780.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314153278.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609530285.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/20220404024718100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103122258.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207523191.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106060446473.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106060641173.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111175183.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801572894.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800473054.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106050246555.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062113540137.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600251992.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412172233.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116163324.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206514270.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060613502342.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603211781.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210245854.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070803093547.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610162588.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106271227272.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718211831.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207293750.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201342694.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612340731.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702210527.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312233135.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111252617.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211233513.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711533945.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202135480.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208260278.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413364068.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061306405331.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901373693.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502543133.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711335747.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205252773.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210382987.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612143135.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523505988.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070808563194.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314031295.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603142216.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107080908509.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600295053.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111041798.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202082214.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/2022081604442790.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601514091.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061409522248.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202574891.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717453845.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062501423840.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106292329354.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211140974.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013550440.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107215354.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109120534423.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171740534.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106080052074.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060108231849.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210341069.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501454744.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202105311610448.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610231543.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110509383671.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609250869.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405205426.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061604001791.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206594843.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411212781.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903012072.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201315299.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110383885.webp",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206062099.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604420450.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712093071.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603555589.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609294355.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022162051.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/20220701105012100.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110403323.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612445127.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600343579.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416453580.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600380240.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106070525045.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703272768.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210504351.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201123730.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405061467.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801193873.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305524971.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403235125.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110501297.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712195950.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604105764.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205124422.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060910372264.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600184429.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215231820.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107473122.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312233595.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813162852.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106141113216.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210245797.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210617021738100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610162976.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403373541.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116133440.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300213694.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600334734.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405044631.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514010130.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111354350.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501524550.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110375638.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070704443340.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208215963.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/202212050326018.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603301862.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711200285.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405001076.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317104333.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107414822.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901191126.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603252751.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514003734.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062203564679.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062923255451.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512574923.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601430945.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062501393894.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610574193.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106271154132.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060105280350.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061006011358.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717285167.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511270854.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712154876.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402413746.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800563570.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604354298.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110414585.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413220888.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210200416.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209435060.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202041933.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212355890.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300373632.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115005689.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201231716.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802314152.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405181127.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512391432.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711401515.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511022680.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010741491.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717252863.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106180129424.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405074243.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215483558.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212584630.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412100872.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062923260057.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423575742.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110293262.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510560098.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201013339.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110383920.webp",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404403176.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106170236307.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060705251015.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106040072.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210625021827100.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110313912.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710243254.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416415761.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061700510446.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223013926.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300503849.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210283192.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711044047.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702173794.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061000045874.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504372197.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061700510552.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061210585150.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712124894.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111360244.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060104272036.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400463056.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010121813.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110364586.webp",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205200010.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202120197.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514361169.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523543677.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070808515412.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107120703045.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110444346.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061005553699.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211103082.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601075781.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600304794.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703342537.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110391852.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111534064.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123043979.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062114050092.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703272615.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106071151276.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423532646.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703023946.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901231969.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062501423825.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206364014.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510275989.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713314481.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061402434242.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300504179.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022284642.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411212783.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061515434952.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405243534.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171725237.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107061289.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502302674.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611193210.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210200353.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013450660.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405244042.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062501392663.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061515445489.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402403094.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209201560.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201411676.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212553648.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061210584816.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402481839.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417244815.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511111062.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703543873.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717410684.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208000014.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703153498.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611482962.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404202083.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402491314.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205200165.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061608404511.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110293257.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060203023816.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600133813.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106363644.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062502182272.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211106595.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111304543.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600430052.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711373298.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411011474.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717095836.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601192358.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600372468.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060301544393.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711583750.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802242394.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/08/2021080202552466.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207113332.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091212533111.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603423426.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312372920.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060212090722.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412142469.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711141070.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212503423.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511072864.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060013394.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601151178.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314023349.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405123057.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110400138.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110254947.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212472561.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710440069.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711541649.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503232440.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210062540.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719184548.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300312224.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062203284116.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204351914.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111070972.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106160122345.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111563277.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404201653.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909161020.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611581747.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106061016285.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403432447.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710555350.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060523562450.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800230719.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600160440.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107080050094.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061222503855.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060910331132.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020815246.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107504922.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205475797.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405082913.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712251654.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206513496.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611393632.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603560481.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204432712.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313094969.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202215392.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305340665.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206122493.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423533072.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411165964.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710472920.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523513122.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009440696.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110310375.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400340978.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405200921.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060301543598.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719123786.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412463414.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061222503955.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510493412.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223041495.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710282334.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801572383.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123125598.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060503240575.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603141271.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510453425.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202082395.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/20220506001527100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207161482.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110520714.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171721224.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312290578.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206253350.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202005162.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111450415.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111304895.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405082836.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112335543.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712102128.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712165339.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106040221.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060900545029.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072014000046.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212394066.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712221822.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110342536.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208152128.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116275955.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201301882.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060105325168.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713315247.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901191027.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212584440.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060705183995.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211103267.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060812590943.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410400095.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717453235.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610510766.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717364129.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400574643.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208414095.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211060451.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609294152.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809134195.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111203867.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412464164.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903062412.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110432975.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417384029.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212554217.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112075211.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110520881.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403321316.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110465469.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206444733.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123130749.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601040967.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512472310.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901191199.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060613590569.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208350679.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909352341.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060026378.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611280636.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403590372.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405035235.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712205113.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206415075.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107325959.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110403315.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708082326.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708115365.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610462571.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110310419.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813054279.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106161234124.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212311383.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120307301034.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514044198.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502433169.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909161232.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206544861.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013502122.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600395925.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120307271775.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504335770.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405082911.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205391229.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010073514.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711563013.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404365921.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123082733.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416353596.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060212091442.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205583683.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116163524.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116081039.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600204577.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060104195572.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603470594.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512471380.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711445590.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711104168.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610060856.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201090611.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106131656188.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416415540.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609430141.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116245463.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800350859.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116424988.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009475312.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703315787.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206545282.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711562758.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800521280.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109120606204.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110423161.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013451064.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314100616.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402491297.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901231534.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712205932.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600304818.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110375718.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809134517.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305431999.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712205650.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711335560.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604240263.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600375960.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523593846.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611031338.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206204099.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703231650.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010321569.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202404548.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703404528.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201043481.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206472845.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223013523.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106040122.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601003938.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501575028.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106141200076.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022421872.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402460847.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060523561994.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405061686.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813355958.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711401185.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511072270.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110481184.webp",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210283134.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061409521963.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060103215573.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612131913.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606565770.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702142910.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106131704401.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106242348032.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712012158.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903062959.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202251570.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412405518.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600263692.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604422425.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106021109327.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601465563.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712003645.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112075669.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207390723.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060707035280.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223113177.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405061345.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404403152.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510273391.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317045626.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711541854.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403564092.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416420267.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201372174.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901344160.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070711153548.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206545746.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106494856.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802242498.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611030853.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111534175.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210062636.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403563541.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702362799.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171058161.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206123021.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106121123068.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404543256.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313142597.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111304867.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210341056.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106161213099.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719184617.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600174430.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412031479.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060042229.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416392939.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511201839.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712020136.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600461684.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070702573060.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070802004172.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060611493913.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719184790.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404394781.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412323232.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106541862.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501173745.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611483014.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411170028.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600194169.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701315182.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/2022081604442666.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072014111558.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703062676.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601222614.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062923322140.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405021223.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109120729379.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600251823.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800174170.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603255035.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710524558.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909190053.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020314319.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608572945.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901270189.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061210585275.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405243745.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206422752.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405044534.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718102351.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210101671.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702210324.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110461169.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207432614.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718101945.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115005828.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405205598.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604145843.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070702525545.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411503667.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800180744.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511270772.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201531271.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106050117412.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111134873.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801193256.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/08/2021080204093518.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701244146.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202251765.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403181310.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061001581636.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502392032.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717365337.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603505938.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060104195447.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901131219.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111174735.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107184274.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010747338.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060900544686.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106250218254.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514044253.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514003954.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708432330.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702403017.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053114544460.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072014111262.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719245595.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070803093617.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802171986.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405200963.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701244055.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060503240970.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404025839.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201013594.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800231756.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404571086.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060418102310.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403373743.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112074983.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211140640.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403235449.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010032791.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211005625.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402451425.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711445126.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106081312019.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909190984.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801573020.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504285816.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404412129.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305432059.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107020214059.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209520980.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601151841.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608573036.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106021224234.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701354735.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423432261.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405181367.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603470676.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713364486.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600380168.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116195587.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302033058.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209102199.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412272729.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060812591495.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400341075.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701354899.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107080904166.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511201536.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110481292.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510414416.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601075547.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601115844.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413361513.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061006021315.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022163835.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020307526.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103191639.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412031234.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317100717.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600292994.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604191753.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606410366.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603073048.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107080050086.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601121233.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412172153.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201160911.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210612110057100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061516165588.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106120116072.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417244662.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703544138.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215310935.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062501423790.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600313350.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107183921.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206415661.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711432029.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060613583652.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410400495.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511201924.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110314054.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719125448.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205583692.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206423331.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717284524.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111112024.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061402434330.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062110593587.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712243869.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140240569.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111111723.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209583436.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711572542.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223113055.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901344441.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209480959.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107183580.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061516050651.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600192957.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600395685.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060108113273.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208113778.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091209324728.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502543867.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110255091.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708082287.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703194380.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416353184.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600334630.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502392322.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402442348.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112291423.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710393082.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202140754.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106141331025.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202105311627582.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702440148.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305425976.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603212440.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060418584958.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020748047.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061604001676.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411165834.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600292813.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600193898.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120307301093.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061402434522.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070704082294.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510361464.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110473959.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106112219131.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112205572.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171156263.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403404622.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103122116.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110391811.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403404750.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060523010365.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062018213523.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501575110.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207161717.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171901282.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800350530.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011022247.webp",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600165946.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013293172.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111203635.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106005384.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022284598.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702435535.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612224960.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302123483.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604240312.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210605015248100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116425396.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061213040521.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110433175.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711195319.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710555720.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606471173.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106021219041.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062204413297.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204591064.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501524973.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712124948.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060707035598.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106111145088.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412101054.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206482883.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204432224.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712245023.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215231979.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110473939.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403530421.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/08/2021080204093236.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/202212030727236.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405101642.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062204002166.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020755402.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060910372145.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106071157273.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600373047.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060044264.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107505098.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110444265.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060611452668.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120307272218.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600395413.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201160381.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417563924.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061000020370.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703403417.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503275623.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400414660.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403530924.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416361868.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060301575921.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107134987.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503205940.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713235240.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202182639.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909233631.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404412142.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201083037.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504371063.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111394998.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207221455.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061318024714.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600294665.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809041785.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712321388.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523543976.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060614032478.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702363316.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060522573642.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206423087.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205391317.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061222571228.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107020225112.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712245516.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312312660.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071207031066.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106271213119.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600442412.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062923293940.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802271372.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061700571635.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201275838.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703404330.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208055488.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901231891.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204351995.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600452582.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060522573975.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502470736.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813054613.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713314914.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404025545.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107505079.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109121034109.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501090980.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022111206403423.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711535775.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209435138.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107080146007.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802140758.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703504580.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404025917.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060100521774.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600471078.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719245812.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060418585654.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070704443139.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703232297.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312290745.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201124887.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403404341.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600160486.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801413542.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504333434.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417014064.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609531336.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022111206402648.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103120375.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210615160449100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703504295.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060523005983.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106090126571.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416574817.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210602085034100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060923541884.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400525023.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061222571072.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600442551.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103154153.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416575052.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207480124.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411251119.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201152754.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/20210912125330100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712102125.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060910371718.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201231340.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116133155.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060419222695.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060103130835.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070704083239.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317001731.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610462928.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708514560.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711195099.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710393112.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423480349.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503205856.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712124681.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712003790.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702210661.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710353432.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207480473.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060503291190.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314101089.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072014070251.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207432959.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717205569.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302223985.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062114001389.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708515797.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710480398.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717320415.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215310932.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106050304441.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313143075.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061700571815.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070802004053.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106070811555.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717091762.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111032712.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600272639.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903011926.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062203284610.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712200136.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110384090.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611393744.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210190012.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501575290.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612265727.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313062384.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600324565.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/08/2021080202552394.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504424178.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601151722.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712011661.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110806290263.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106061226559.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502502942.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212451322.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400462964.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106363992.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711535338.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209583369.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205344377.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060212241897.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405191328.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601120754.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402424567.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417073027.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600372191.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400574411.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010152361.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210143827.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060036347.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009475291.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400524541.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/2022081604380682.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106121114101.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712020085.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612185494.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600352033.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813023925.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060910330758.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110441079.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411102495.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901372763.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210614043700100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802141689.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202120558.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072014070874.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/20220701102933100.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061222503684.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201342859.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060611500636.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211214032.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411251318.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110453178.webp",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110402411653.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512515063.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013595394.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110325989.webp",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404543246.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802313713.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711104838.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402360335.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201412438.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070711111753.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710240815.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205124980.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801294685.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111483431.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140343253.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061604001854.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201314749.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512385691.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208113860.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061316555936.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600400093.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208260386.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305344247.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205252781.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612450971.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013294170.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604103739.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140359022.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116042731.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060104271883.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070702525494.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800400986.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106051404226.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612224395.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206483173.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603423584.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719244694.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713275586.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412000999.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010121768.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061001581449.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305481984.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062110593941.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410343397.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719074719.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060522573773.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710591274.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106071147144.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403373610.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712221521.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107380217.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717092292.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111104710.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404394639.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502502575.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405020346.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312144580.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110360549.webp",
+ "http://dounimei.us/wp-content/uploads/2021/08/2021080204092915.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710435859.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813162358.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410203313.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/20220816044428100.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609430132.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606342437.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600330816.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312192894.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062923322587.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417384220.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501373668.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703024394.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053114534524.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010073357.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207245476.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062018213466.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314065077.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404074510.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208503519.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710591485.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202184288.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013324142.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600452631.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612494098.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061112005837.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106061020274.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402413762.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110342456.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312373981.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800472350.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106151616445.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060100521519.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411102370.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404543293.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107071044079.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504422794.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103241538.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403493152.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410203723.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612224669.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112292557.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300312445.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013255934.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901373385.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070803093637.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600263544.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205475757.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717251550.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404552831.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061316560351.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110501111.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111360366.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512325786.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713363849.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205543228.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413221367.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010223187.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800351013.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606534587.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111353843.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201343069.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171114196.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106301003136.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212472978.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060611452016.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416454039.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405001088.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604354172.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712273083.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717321321.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110334618.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404201989.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413363766.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061515433766.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413251849.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402403171.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107215128.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115010046.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712192552.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404394731.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600194054.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061608405262.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313062697.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110284477.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110353260.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713275783.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205445058.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711510694.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800400841.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/202204040247196.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201493146.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201082622.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710353317.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211005823.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107215243.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712244020.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106071140141.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215231272.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712020666.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110395957.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603332547.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718413528.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060027259.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403274091.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062301424481.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909234197.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106161217577.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600383966.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612494874.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405110874.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610232017.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/202105311510198.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512391427.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403181512.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600430623.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140502105.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110509383659.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603024829.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061006012014.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106161244464.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601403032.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405020269.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070802004152.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609531261.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600470970.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060108231762.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712131110.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111111933.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060105280423.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202215654.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611392125.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210605030418100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062923322887.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211231091.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412211659.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411011340.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712272098.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404421645.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062204075250.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600313184.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612142227.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202574938.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502161548.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702173429.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210283227.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703544655.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060613590445.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713364256.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211233533.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600413876.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061000020243.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302224297.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606471768.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061318024863.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123130589.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600324821.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209480814.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710515997.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061700571965.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061306164368.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809010329.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201151056.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512580147.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600331098.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201280061.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502161044.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710580354.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400574549.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070711113150.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060705173655.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110806290433.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205291643.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110375738.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062204001925.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719153484.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103241410.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013424073.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205543130.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111105735.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712281293.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010152143.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116042975.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010733003.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106051102265.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110411640.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110513252.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712263865.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106271201201.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711512641.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207522843.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903012026.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110444385.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703342656.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501173898.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106160119149.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107120644428.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510414175.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423480258.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606410655.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802271499.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314064886.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404552717.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062114001552.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712092958.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103191983.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600422043.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612131363.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412322687.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/08/2022082410443835.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404570962.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140052482.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106111148411.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211230932.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223013856.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502102940.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317100255.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302122549.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302345618.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800564074.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204591232.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201531399.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712263549.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110493666.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020834552.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110402413782.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412100935.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061401032943.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604051951.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405025390.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060923545633.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603030144.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116425297.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061409464749.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600373684.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702403589.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206204119.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212393994.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502594750.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809084373.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802021244.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205200175.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171901237.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802220781.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106160100405.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713201590.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416393699.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501091056.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903141760.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210130918.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022421791.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070704443539.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110465329.webp",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210130882.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060108113015.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061122192150.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208055532.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062204412434.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300503973.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801345313.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718213543.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703024623.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405074419.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800521140.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201230862.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612283049.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/2022110806290559.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011046089.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710282760.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106120112389.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412211711.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514160526.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210613121442100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207595711.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/20220701103022100.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209102368.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703574048.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201564593.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060301580427.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314023951.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600304872.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708082446.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313063360.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171104526.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106170124391.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708115499.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600204446.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603212663.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111135098.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/202204040509263.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061318024233.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060211093381.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201301622.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702403654.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062110592511.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061608404895.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405010066.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209131861.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600301310.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070711153581.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305482466.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013323591.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020212042.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604304150.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404552875.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061515232471.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061001581857.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060522541718.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400485129.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106271213096.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111563397.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711142390.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718413320.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107080908474.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020153092.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413221425.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111253017.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712115718.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072014111638.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511072620.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703195222.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110465527.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060603591739.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606534920.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612173864.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404370031.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110485425.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903141562.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212355676.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120307301032.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206471985.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609240774.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523594166.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201371991.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201204247.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711471746.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610103221.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209553312.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703504431.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711492619.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710515553.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400485493.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111354581.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703153697.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611283520.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091215483624.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060910331032.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411011385.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600184332.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600343413.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712281116.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801413032.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106271205195.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111004317.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317045714.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060800400785.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512430570.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503255887.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116104219.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412464026.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061305530717.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201372020.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523593491.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405101687.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110325827.webp",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060025198.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604052255.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022242325.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312233477.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070202215186.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510494252.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060613502521.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604240234.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211055970.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210062554.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405111043.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060104271910.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802172542.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060108113194.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601432688.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404562128.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106041707334.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601004132.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603071754.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404562039.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110284517.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110391788.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604105662.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210130831.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060203023712.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208414125.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110461182.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206414526.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600313499.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070704082918.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405000959.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109120654429.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062204075712.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060708431939.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212554490.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600152674.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202575034.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801523273.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020752345.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106051232589.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610574214.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209583226.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410203447.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223041378.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061608375180.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600301219.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107135047.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061401032294.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060603591835.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402442449.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402360316.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600064838.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210615152212100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703315222.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412030794.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112205967.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011034562.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106170144006.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111203225.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702250220.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062123045134.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405123588.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053114544816.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011031406.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106060924036.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711413314.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013424561.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802221071.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106070703577.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210382864.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300373956.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010649506.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601514373.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206482370.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208350733.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314101198.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061718211331.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211220588.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209434696.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601075452.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061601041687.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909161396.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609394612.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710555878.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208214885.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404562063.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901130711.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106180214125.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106170144012.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106541821.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600174570.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514364787.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410400137.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416515153.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060503044211.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009522241.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302123398.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/202204040458124.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060203142571.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712165489.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609395520.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061602562012.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600170053.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112135511.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600334870.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202041736.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719213986.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712280935.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600351911.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711104633.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403321554.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313341028.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717320831.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600470863.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060212181494.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060612142951.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510413180.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405092594.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901344326.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/08/2021080202532731.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110342654.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609425645.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061213040644.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106080056434.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062114051069.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211060347.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302032939.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601402841.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212311153.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109120558377.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610060761.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061005555311.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210143792.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061306411139.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171108091.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013260817.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404581393.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209355888.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060207390617.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062203284224.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703062519.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110440985.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300214121.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503275213.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110305677.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608513453.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022211482.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110485471.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802021713.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404581133.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801345025.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061717452478.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210622044128100.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600343613.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713202311.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813115344.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403273741.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106041701452.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061313342172.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302345265.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208414312.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412172282.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106111104194.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110321811.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312144427.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115101474.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107071115311.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600293036.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107020131364.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703232030.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111252388.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604193182.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106541759.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013595933.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206204318.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402442332.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010032199.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106060935067.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611193751.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201203618.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207221422.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412410090.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110321965.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110364585.webp",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600404253.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300595555.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110524633.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512430783.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711533661.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502340976.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110453112.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604505753.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116042869.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417072693.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060705174124.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603333320.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106171915268.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062423430218.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802271271.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711444779.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512575922.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106161057307.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801251311.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207245475.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510363219.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010532527.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501090867.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713275376.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404403157.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312193138.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502103071.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111483999.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802064426.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060614034528.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061409464025.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110360430.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604422338.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116195673.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111174253.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207113739.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110254920.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106051102181.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502543991.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710352970.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609394277.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711535512.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711492342.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503255880.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403235388.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106030234555.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702250179.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604052071.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504291125.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600184558.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909234124.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600461428.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060503241275.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411251134.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209350884.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110345723.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061719213666.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809041363.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801455276.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106151604411.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110453015.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413305572.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107120644345.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207245457.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223074618.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208260070.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503232418.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600293833.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502593572.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703315834.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603023068.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106180129333.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403493253.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061005553317.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312341629.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070713240942.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061222571178.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606565922.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111032614.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060418102758.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210101458.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110493637.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103240762.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502103026.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711413239.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712200038.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702503071.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600160583.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112135995.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106271158414.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210504434.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060609293684.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207221468.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106010313065.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116133579.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711372631.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116104348.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/12/2022120503210148.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061314154099.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106131415308.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711431933.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604465140.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021071206594969.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061306165117.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413251624.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/202204040246083.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022284747.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209521116.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060212091669.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312312962.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512325585.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809010395.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070600064950.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403321438.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020149326.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107201342399.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502302790.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022242328.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/05/2021053115065727.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060302033195.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060301580336.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712154777.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061318061595.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106242343139.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504422478.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712244590.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606565447.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813122119.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604145630.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711534022.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600414058.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107330163.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060909191055.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/20210708085200100.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402360241.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312341414.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070201205121.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402424531.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106071216527.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061211103361.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062301424374.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116280050.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106364169.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801193412.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061403181482.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209132484.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712115365.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711045484.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/20210707123211100.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/202204040511099.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400485490.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110325917.webp",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206363531.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060603590182.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/202204040520552.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212310437.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061201302046.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813362880.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072022211525.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206545482.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013372356.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610292227.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210245716.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106292329387.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612175644.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091209324845.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514160215.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600351814.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417013836.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600152889.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608513567.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106141110256.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021072013545950.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402481863.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600330918.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106081302421.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212355893.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110505987.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106060143222.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405101561.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061801345533.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502434043.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413185063.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110403453.webp",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110353184.webp",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091205444913.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010121329.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603302048.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210143691.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201564022.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405072080.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209520870.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011041156.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060202041621.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060504372712.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111533914.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091207293739.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608512855.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711491929.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405074417.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060511270638.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106061002171.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712173224.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062112292266.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062103190891.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061404074316.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801522899.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107380147.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060813355392.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063010151753.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/202204040245144.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210606121858100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062203563916.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061608375415.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110414552.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062711413256.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702503194.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711373068.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412142297.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710524690.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060614034645.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091210185959.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060106005550.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106131639152.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206121982.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070712192925.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600363319.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300595292.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300373880.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060210101754.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107060006437.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110321891.webp",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801413299.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061413145295.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710523934.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116513198.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712244774.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070523505449.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608451172.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411132254.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412405747.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061000050572.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711335810.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060712263755.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209101444.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110524575.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060107061145.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405071995.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061611031125.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070903063211.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600384076.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061000014337.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610292496.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410344041.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106301022365.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710315229.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502161365.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208113918.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212422071.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060300214078.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606342740.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060501374856.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204351744.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402491316.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412272919.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070809010078.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106170214288.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402403135.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405181458.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040404421714.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106140353103.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061312290391.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061400415632.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110364486.webp",
+ "http://dounimei.us/wp-content/uploads/2022/05/202205060027279.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/2021091206252892.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405191487.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110520863.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106121304039.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106161249504.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711572253.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111450948.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600363523.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208215811.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212422234.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600192817.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405035264.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061318061874.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610060695.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060705245853.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502302711.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060711431742.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061112005879.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061402405523.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060604145322.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106211103236.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062712160079.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107080050097.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070801523164.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209201890.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110284566.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111395325.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106041651554.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061122192033.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060901131123.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060514162469.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061223074550.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702440225.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110411540.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062501393923.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703573691.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062111135153.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061612282878.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061317004520.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061603382210.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060606471589.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402451414.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201412511.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060601465757.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060103130910.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060108231958.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405025277.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405020365.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061711080488.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061405020920.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/11/202211020948541.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209401789.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212503476.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600204328.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061410344197.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405200979.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061712154961.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060208152340.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107202242143.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/202207011030221.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021062301424128.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/07/2022070110513387.webp",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061610462339.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405010142.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710480395.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106061002165.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060510454974.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106130552516.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070710480419.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600452684.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061212503385.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061802065261.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106021109272.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061401004269.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/202106020240446.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061111041871.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/09/202109121548355.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061000050326.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060209553553.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040402413636.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061411504464.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060512472193.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021053116512762.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061710392735.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060417563681.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/2021070703062014.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107202221131.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060608451368.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060201043396.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060416515465.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060610292666.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021063009440463.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061701354617.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/05/2022050600285281.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061412273135.jpg",
+ "http://dounimei.us/wp-content/uploads/2022/04/2022040405191386.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021061702250328.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060204590719.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/20210602093507100.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/07/202107071222095.jpg",
+ "http://dounimei.us/wp-content/uploads/2021/06/2021060502434132.jpg"
+]
\ No newline at end of file
diff --git a/font/Facon.ttf b/font/Facon.ttf
new file mode 100644
index 0000000..3d1cced
Binary files /dev/null and b/font/Facon.ttf differ
diff --git a/font/SmileySans-Oblique.otf b/font/SmileySans-Oblique.otf
new file mode 100644
index 0000000..ee08095
Binary files /dev/null and b/font/SmileySans-Oblique.otf differ
diff --git a/font/maokenyuan.ttf b/font/maokenyuan.ttf
new file mode 100644
index 0000000..1084439
Binary files /dev/null and b/font/maokenyuan.ttf differ
diff --git a/icon/line_bear/PARTLY_CLOUDY_DAY.png b/icon/line_bear/PARTLY_CLOUDY_DAY.png
deleted file mode 100644
index b2c82f2..0000000
Binary files a/icon/line_bear/PARTLY_CLOUDY_DAY.png and /dev/null differ
diff --git a/img/.gitkeep b/img/.gitkeep
new file mode 100644
index 0000000..e69de29
diff --git a/img/balloon.png b/img/balloon.png
new file mode 100644
index 0000000..d8bd9e2
Binary files /dev/null and b/img/balloon.png differ
diff --git a/frog_weather/bg/CLEAR_DAY.png b/img/bg/frog/CLEAR_DAY.png
similarity index 100%
rename from frog_weather/bg/CLEAR_DAY.png
rename to img/bg/frog/CLEAR_DAY.png
diff --git a/frog_weather/bg/CLEAR_NIGHT.png b/img/bg/frog/CLEAR_NIGHT.png
similarity index 100%
rename from frog_weather/bg/CLEAR_NIGHT.png
rename to img/bg/frog/CLEAR_NIGHT.png
diff --git a/frog_weather/bg/CLOUDY.png b/img/bg/frog/CLOUDY.png
similarity index 100%
rename from frog_weather/bg/CLOUDY.png
rename to img/bg/frog/CLOUDY.png
diff --git a/frog_weather/bg/DUST.png b/img/bg/frog/DUST.png
similarity index 100%
rename from frog_weather/bg/DUST.png
rename to img/bg/frog/DUST.png
diff --git a/frog_weather/bg/FOG.png b/img/bg/frog/FOG.png
similarity index 100%
rename from frog_weather/bg/FOG.png
rename to img/bg/frog/FOG.png
diff --git a/frog_weather/bg/HEAVY_HAZE.png b/img/bg/frog/HEAVY_HAZE.png
similarity index 100%
rename from frog_weather/bg/HEAVY_HAZE.png
rename to img/bg/frog/HEAVY_HAZE.png
diff --git a/frog_weather/bg/HEAVY_RAIN.png b/img/bg/frog/HEAVY_RAIN.png
similarity index 100%
rename from frog_weather/bg/HEAVY_RAIN.png
rename to img/bg/frog/HEAVY_RAIN.png
diff --git a/frog_weather/bg/HEAVY_SNOW.png b/img/bg/frog/HEAVY_SNOW.png
similarity index 100%
rename from frog_weather/bg/HEAVY_SNOW.png
rename to img/bg/frog/HEAVY_SNOW.png
diff --git a/frog_weather/bg/LIGHT_HAZE.png b/img/bg/frog/LIGHT_HAZE.png
similarity index 100%
rename from frog_weather/bg/LIGHT_HAZE.png
rename to img/bg/frog/LIGHT_HAZE.png
diff --git a/frog_weather/bg/LIGHT_RAIN.png b/img/bg/frog/LIGHT_RAIN.png
similarity index 100%
rename from frog_weather/bg/LIGHT_RAIN.png
rename to img/bg/frog/LIGHT_RAIN.png
diff --git a/frog_weather/bg/LIGHT_SNOW.png b/img/bg/frog/LIGHT_SNOW.png
similarity index 100%
rename from frog_weather/bg/LIGHT_SNOW.png
rename to img/bg/frog/LIGHT_SNOW.png
diff --git a/frog_weather/bg/MODERATE_HAZE.png b/img/bg/frog/MODERATE_HAZE.png
similarity index 100%
rename from frog_weather/bg/MODERATE_HAZE.png
rename to img/bg/frog/MODERATE_HAZE.png
diff --git a/frog_weather/bg/MODERATE_RAIN.png b/img/bg/frog/MODERATE_RAIN.png
similarity index 100%
rename from frog_weather/bg/MODERATE_RAIN.png
rename to img/bg/frog/MODERATE_RAIN.png
diff --git a/frog_weather/bg/MODERATE_SNOW.png b/img/bg/frog/MODERATE_SNOW.png
similarity index 100%
rename from frog_weather/bg/MODERATE_SNOW.png
rename to img/bg/frog/MODERATE_SNOW.png
diff --git a/frog_weather/bg/PARTLY_CLOUDY_DAY.png b/img/bg/frog/PARTLY_CLOUDY_DAY.png
similarity index 100%
rename from frog_weather/bg/PARTLY_CLOUDY_DAY.png
rename to img/bg/frog/PARTLY_CLOUDY_DAY.png
diff --git a/frog_weather/bg/PARTLY_CLOUDY_NIGHT.png b/img/bg/frog/PARTLY_CLOUDY_NIGHT.png
similarity index 100%
rename from frog_weather/bg/PARTLY_CLOUDY_NIGHT.png
rename to img/bg/frog/PARTLY_CLOUDY_NIGHT.png
diff --git a/frog_weather/bg/SAND.png b/img/bg/frog/SAND.png
similarity index 100%
rename from frog_weather/bg/SAND.png
rename to img/bg/frog/SAND.png
diff --git a/frog_weather/bg/STORM_RAIN.png b/img/bg/frog/STORM_RAIN.png
similarity index 100%
rename from frog_weather/bg/STORM_RAIN.png
rename to img/bg/frog/STORM_RAIN.png
diff --git a/frog_weather/bg/STORM_SNOW.png b/img/bg/frog/STORM_SNOW.png
similarity index 100%
rename from frog_weather/bg/STORM_SNOW.png
rename to img/bg/frog/STORM_SNOW.png
diff --git a/frog_weather/bg/WINDY.png b/img/bg/frog/WINDY.png
similarity index 100%
rename from frog_weather/bg/WINDY.png
rename to img/bg/frog/WINDY.png
diff --git a/img/bg/weather1/CLEAR_DAY.png b/img/bg/weather1/CLEAR_DAY.png
new file mode 100644
index 0000000..31b0f45
Binary files /dev/null and b/img/bg/weather1/CLEAR_DAY.png differ
diff --git a/img/bg/weather1/CLEAR_NIGHT.jpg b/img/bg/weather1/CLEAR_NIGHT.jpg
new file mode 100644
index 0000000..1db9672
Binary files /dev/null and b/img/bg/weather1/CLEAR_NIGHT.jpg differ
diff --git a/img/bg/weather1/CLOUDY.png b/img/bg/weather1/CLOUDY.png
new file mode 100644
index 0000000..068b758
Binary files /dev/null and b/img/bg/weather1/CLOUDY.png differ
diff --git a/img/bg/weather1/DUST.png b/img/bg/weather1/DUST.png
new file mode 100644
index 0000000..0f4da01
Binary files /dev/null and b/img/bg/weather1/DUST.png differ
diff --git a/img/bg/weather1/FOG.png b/img/bg/weather1/FOG.png
new file mode 100644
index 0000000..0f4da01
Binary files /dev/null and b/img/bg/weather1/FOG.png differ
diff --git a/img/bg/weather1/HEAVY_HAZE.png b/img/bg/weather1/HEAVY_HAZE.png
new file mode 100644
index 0000000..0f4da01
Binary files /dev/null and b/img/bg/weather1/HEAVY_HAZE.png differ
diff --git a/img/bg/weather1/HEAVY_RAIN.png b/img/bg/weather1/HEAVY_RAIN.png
new file mode 100644
index 0000000..9a4c7dd
Binary files /dev/null and b/img/bg/weather1/HEAVY_RAIN.png differ
diff --git a/img/bg/weather1/HEAVY_SNOW.png b/img/bg/weather1/HEAVY_SNOW.png
new file mode 100644
index 0000000..b723fd1
Binary files /dev/null and b/img/bg/weather1/HEAVY_SNOW.png differ
diff --git a/img/bg/weather1/LIGHT_HAZE.png b/img/bg/weather1/LIGHT_HAZE.png
new file mode 100644
index 0000000..0f4da01
Binary files /dev/null and b/img/bg/weather1/LIGHT_HAZE.png differ
diff --git a/img/bg/weather1/LIGHT_RAIN.png b/img/bg/weather1/LIGHT_RAIN.png
new file mode 100644
index 0000000..9a4c7dd
Binary files /dev/null and b/img/bg/weather1/LIGHT_RAIN.png differ
diff --git a/img/bg/weather1/LIGHT_SNOW.png b/img/bg/weather1/LIGHT_SNOW.png
new file mode 100644
index 0000000..b723fd1
Binary files /dev/null and b/img/bg/weather1/LIGHT_SNOW.png differ
diff --git a/img/bg/weather1/MODERATE_HAZE.png b/img/bg/weather1/MODERATE_HAZE.png
new file mode 100644
index 0000000..0f4da01
Binary files /dev/null and b/img/bg/weather1/MODERATE_HAZE.png differ
diff --git a/img/bg/weather1/MODERATE_RAIN.png b/img/bg/weather1/MODERATE_RAIN.png
new file mode 100644
index 0000000..9a4c7dd
Binary files /dev/null and b/img/bg/weather1/MODERATE_RAIN.png differ
diff --git a/img/bg/weather1/MODERATE_SNOW.png b/img/bg/weather1/MODERATE_SNOW.png
new file mode 100644
index 0000000..b723fd1
Binary files /dev/null and b/img/bg/weather1/MODERATE_SNOW.png differ
diff --git a/img/bg/weather1/PARTLY_CLOUDY_DAY.png b/img/bg/weather1/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..504acef
Binary files /dev/null and b/img/bg/weather1/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/bg/weather1/PARTLY_CLOUDY_NIGHT.jpg b/img/bg/weather1/PARTLY_CLOUDY_NIGHT.jpg
new file mode 100644
index 0000000..1db9672
Binary files /dev/null and b/img/bg/weather1/PARTLY_CLOUDY_NIGHT.jpg differ
diff --git a/img/bg/weather1/SAND.png b/img/bg/weather1/SAND.png
new file mode 100644
index 0000000..0f4da01
Binary files /dev/null and b/img/bg/weather1/SAND.png differ
diff --git a/img/bg/weather1/STORM_RAIN.png b/img/bg/weather1/STORM_RAIN.png
new file mode 100644
index 0000000..9a4c7dd
Binary files /dev/null and b/img/bg/weather1/STORM_RAIN.png differ
diff --git a/img/bg/weather1/STORM_SNOW.png b/img/bg/weather1/STORM_SNOW.png
new file mode 100644
index 0000000..b723fd1
Binary files /dev/null and b/img/bg/weather1/STORM_SNOW.png differ
diff --git a/img/bg/weather1/WIND.jpg b/img/bg/weather1/WIND.jpg
new file mode 100644
index 0000000..7137c01
Binary files /dev/null and b/img/bg/weather1/WIND.jpg differ
diff --git a/img/bg/weather2/CLEAR_DAY.png b/img/bg/weather2/CLEAR_DAY.png
new file mode 100644
index 0000000..6fadb04
Binary files /dev/null and b/img/bg/weather2/CLEAR_DAY.png differ
diff --git a/img/bg/weather2/CLEAR_NIGHT.png b/img/bg/weather2/CLEAR_NIGHT.png
new file mode 100644
index 0000000..ed30c09
Binary files /dev/null and b/img/bg/weather2/CLEAR_NIGHT.png differ
diff --git a/img/bg/weather2/CLOUDY.png b/img/bg/weather2/CLOUDY.png
new file mode 100644
index 0000000..89bcb44
Binary files /dev/null and b/img/bg/weather2/CLOUDY.png differ
diff --git a/img/bg/weather2/DUST.jpg b/img/bg/weather2/DUST.jpg
new file mode 100644
index 0000000..d9063f6
Binary files /dev/null and b/img/bg/weather2/DUST.jpg differ
diff --git a/img/bg/weather2/FOG.jpg b/img/bg/weather2/FOG.jpg
new file mode 100644
index 0000000..d9063f6
Binary files /dev/null and b/img/bg/weather2/FOG.jpg differ
diff --git a/img/bg/weather2/HEAVY_HAZE.jpg b/img/bg/weather2/HEAVY_HAZE.jpg
new file mode 100644
index 0000000..d9063f6
Binary files /dev/null and b/img/bg/weather2/HEAVY_HAZE.jpg differ
diff --git a/img/bg/weather2/HEAVY_RAIN.jpg b/img/bg/weather2/HEAVY_RAIN.jpg
new file mode 100644
index 0000000..e23f75c
Binary files /dev/null and b/img/bg/weather2/HEAVY_RAIN.jpg differ
diff --git a/img/bg/weather2/HEAVY_SNOW.jpg b/img/bg/weather2/HEAVY_SNOW.jpg
new file mode 100644
index 0000000..0bd5abd
Binary files /dev/null and b/img/bg/weather2/HEAVY_SNOW.jpg differ
diff --git a/img/bg/weather2/LIGHT_HAZE.jpg b/img/bg/weather2/LIGHT_HAZE.jpg
new file mode 100644
index 0000000..d9063f6
Binary files /dev/null and b/img/bg/weather2/LIGHT_HAZE.jpg differ
diff --git a/img/bg/weather2/LIGHT_RAIN.jpg b/img/bg/weather2/LIGHT_RAIN.jpg
new file mode 100644
index 0000000..e23f75c
Binary files /dev/null and b/img/bg/weather2/LIGHT_RAIN.jpg differ
diff --git a/img/bg/weather2/LIGHT_SNOW.jpg b/img/bg/weather2/LIGHT_SNOW.jpg
new file mode 100644
index 0000000..0bd5abd
Binary files /dev/null and b/img/bg/weather2/LIGHT_SNOW.jpg differ
diff --git a/img/bg/weather2/MODERATE_HAZE.jpg b/img/bg/weather2/MODERATE_HAZE.jpg
new file mode 100644
index 0000000..d9063f6
Binary files /dev/null and b/img/bg/weather2/MODERATE_HAZE.jpg differ
diff --git a/img/bg/weather2/MODERATE_RAIN.jpg b/img/bg/weather2/MODERATE_RAIN.jpg
new file mode 100644
index 0000000..e23f75c
Binary files /dev/null and b/img/bg/weather2/MODERATE_RAIN.jpg differ
diff --git a/img/bg/weather2/MODERATE_SNOW.jpg b/img/bg/weather2/MODERATE_SNOW.jpg
new file mode 100644
index 0000000..0bd5abd
Binary files /dev/null and b/img/bg/weather2/MODERATE_SNOW.jpg differ
diff --git a/img/bg/weather2/PARTLY_CLOUDY_DAY.png b/img/bg/weather2/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..5561918
Binary files /dev/null and b/img/bg/weather2/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/bg/weather2/PARTLY_CLOUDY_NIGHT.png b/img/bg/weather2/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..490aa20
Binary files /dev/null and b/img/bg/weather2/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/bg/weather2/SAND.jpg b/img/bg/weather2/SAND.jpg
new file mode 100644
index 0000000..d9063f6
Binary files /dev/null and b/img/bg/weather2/SAND.jpg differ
diff --git a/img/bg/weather2/STORM_RAIN.jpg b/img/bg/weather2/STORM_RAIN.jpg
new file mode 100644
index 0000000..e23f75c
Binary files /dev/null and b/img/bg/weather2/STORM_RAIN.jpg differ
diff --git a/img/bg/weather2/STORM_SNOW.jpg b/img/bg/weather2/STORM_SNOW.jpg
new file mode 100644
index 0000000..0bd5abd
Binary files /dev/null and b/img/bg/weather2/STORM_SNOW.jpg differ
diff --git a/img/bg/weather2/WIND.jpg b/img/bg/weather2/WIND.jpg
new file mode 100644
index 0000000..fd433d3
Binary files /dev/null and b/img/bg/weather2/WIND.jpg differ
diff --git a/img/bg/weather3/CLEAR_DAY.png b/img/bg/weather3/CLEAR_DAY.png
new file mode 100644
index 0000000..617a56b
Binary files /dev/null and b/img/bg/weather3/CLEAR_DAY.png differ
diff --git a/img/bg/weather3/CLEAR_NIGHT.png b/img/bg/weather3/CLEAR_NIGHT.png
new file mode 100644
index 0000000..617a56b
Binary files /dev/null and b/img/bg/weather3/CLEAR_NIGHT.png differ
diff --git a/img/bg/weather3/CLOUDY.png b/img/bg/weather3/CLOUDY.png
new file mode 100644
index 0000000..d6d086b
Binary files /dev/null and b/img/bg/weather3/CLOUDY.png differ
diff --git a/img/bg/weather3/DUST.png b/img/bg/weather3/DUST.png
new file mode 100644
index 0000000..b1fbf13
Binary files /dev/null and b/img/bg/weather3/DUST.png differ
diff --git a/img/bg/weather3/FOG.png b/img/bg/weather3/FOG.png
new file mode 100644
index 0000000..b1fbf13
Binary files /dev/null and b/img/bg/weather3/FOG.png differ
diff --git a/img/bg/weather3/HEAVY_HAZE.png b/img/bg/weather3/HEAVY_HAZE.png
new file mode 100644
index 0000000..b1fbf13
Binary files /dev/null and b/img/bg/weather3/HEAVY_HAZE.png differ
diff --git a/img/bg/weather3/HEAVY_RAIN.png b/img/bg/weather3/HEAVY_RAIN.png
new file mode 100644
index 0000000..62529a4
Binary files /dev/null and b/img/bg/weather3/HEAVY_RAIN.png differ
diff --git a/img/bg/weather3/HEAVY_SNOW.png b/img/bg/weather3/HEAVY_SNOW.png
new file mode 100644
index 0000000..26fb1c2
Binary files /dev/null and b/img/bg/weather3/HEAVY_SNOW.png differ
diff --git a/img/bg/weather3/LIGHT_HAZE.png b/img/bg/weather3/LIGHT_HAZE.png
new file mode 100644
index 0000000..b1fbf13
Binary files /dev/null and b/img/bg/weather3/LIGHT_HAZE.png differ
diff --git a/img/bg/weather3/LIGHT_RAIN.png b/img/bg/weather3/LIGHT_RAIN.png
new file mode 100644
index 0000000..62529a4
Binary files /dev/null and b/img/bg/weather3/LIGHT_RAIN.png differ
diff --git a/img/bg/weather3/LIGHT_SNOW.png b/img/bg/weather3/LIGHT_SNOW.png
new file mode 100644
index 0000000..26fb1c2
Binary files /dev/null and b/img/bg/weather3/LIGHT_SNOW.png differ
diff --git a/img/bg/weather3/MODERATE_HAZE.png b/img/bg/weather3/MODERATE_HAZE.png
new file mode 100644
index 0000000..b1fbf13
Binary files /dev/null and b/img/bg/weather3/MODERATE_HAZE.png differ
diff --git a/img/bg/weather3/MODERATE_RAIN.png b/img/bg/weather3/MODERATE_RAIN.png
new file mode 100644
index 0000000..62529a4
Binary files /dev/null and b/img/bg/weather3/MODERATE_RAIN.png differ
diff --git a/img/bg/weather3/MODERATE_SNOW.png b/img/bg/weather3/MODERATE_SNOW.png
new file mode 100644
index 0000000..26fb1c2
Binary files /dev/null and b/img/bg/weather3/MODERATE_SNOW.png differ
diff --git a/img/bg/weather3/PARTLY_CLOUDY_DAY.png b/img/bg/weather3/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..7511d0f
Binary files /dev/null and b/img/bg/weather3/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/bg/weather3/PARTLY_CLOUDY_NIGHT.png b/img/bg/weather3/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..7511d0f
Binary files /dev/null and b/img/bg/weather3/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/bg/weather3/SAND.png b/img/bg/weather3/SAND.png
new file mode 100644
index 0000000..b1fbf13
Binary files /dev/null and b/img/bg/weather3/SAND.png differ
diff --git a/img/bg/weather3/STORM_RAIN.png b/img/bg/weather3/STORM_RAIN.png
new file mode 100644
index 0000000..62529a4
Binary files /dev/null and b/img/bg/weather3/STORM_RAIN.png differ
diff --git a/img/bg/weather3/STORM_SNOW.png b/img/bg/weather3/STORM_SNOW.png
new file mode 100644
index 0000000..26fb1c2
Binary files /dev/null and b/img/bg/weather3/STORM_SNOW.png differ
diff --git a/img/bg/weather3/WIND.png b/img/bg/weather3/WIND.png
new file mode 100644
index 0000000..bc50e9d
Binary files /dev/null and b/img/bg/weather3/WIND.png differ
diff --git a/img/bg/weather4/CLEAR_DAY.jpg b/img/bg/weather4/CLEAR_DAY.jpg
new file mode 100644
index 0000000..3b7194a
Binary files /dev/null and b/img/bg/weather4/CLEAR_DAY.jpg differ
diff --git a/img/bg/weather4/CLEAR_NIGHT.jpg b/img/bg/weather4/CLEAR_NIGHT.jpg
new file mode 100644
index 0000000..d045d80
Binary files /dev/null and b/img/bg/weather4/CLEAR_NIGHT.jpg differ
diff --git a/img/bg/weather4/CLOUDY.jpg b/img/bg/weather4/CLOUDY.jpg
new file mode 100644
index 0000000..d958621
Binary files /dev/null and b/img/bg/weather4/CLOUDY.jpg differ
diff --git a/img/bg/weather4/DUST.jpg b/img/bg/weather4/DUST.jpg
new file mode 100644
index 0000000..d79a242
Binary files /dev/null and b/img/bg/weather4/DUST.jpg differ
diff --git a/img/bg/weather4/FOG.jpg b/img/bg/weather4/FOG.jpg
new file mode 100644
index 0000000..d79a242
Binary files /dev/null and b/img/bg/weather4/FOG.jpg differ
diff --git a/img/bg/weather4/HEAVY_HAZE.jpg b/img/bg/weather4/HEAVY_HAZE.jpg
new file mode 100644
index 0000000..d79a242
Binary files /dev/null and b/img/bg/weather4/HEAVY_HAZE.jpg differ
diff --git a/img/bg/weather4/HEAVY_RAIN.jpg b/img/bg/weather4/HEAVY_RAIN.jpg
new file mode 100644
index 0000000..15e5292
Binary files /dev/null and b/img/bg/weather4/HEAVY_RAIN.jpg differ
diff --git a/img/bg/weather4/HEAVY_SNOW.jpg b/img/bg/weather4/HEAVY_SNOW.jpg
new file mode 100644
index 0000000..0bd5abd
Binary files /dev/null and b/img/bg/weather4/HEAVY_SNOW.jpg differ
diff --git a/img/bg/weather4/LIGHT_HAZE.jpg b/img/bg/weather4/LIGHT_HAZE.jpg
new file mode 100644
index 0000000..d79a242
Binary files /dev/null and b/img/bg/weather4/LIGHT_HAZE.jpg differ
diff --git a/img/bg/weather4/LIGHT_RAIN.jpg b/img/bg/weather4/LIGHT_RAIN.jpg
new file mode 100644
index 0000000..15e5292
Binary files /dev/null and b/img/bg/weather4/LIGHT_RAIN.jpg differ
diff --git a/img/bg/weather4/LIGHT_SNOW.jpg b/img/bg/weather4/LIGHT_SNOW.jpg
new file mode 100644
index 0000000..0bd5abd
Binary files /dev/null and b/img/bg/weather4/LIGHT_SNOW.jpg differ
diff --git a/img/bg/weather4/MODERATE_HAZE.jpg b/img/bg/weather4/MODERATE_HAZE.jpg
new file mode 100644
index 0000000..d79a242
Binary files /dev/null and b/img/bg/weather4/MODERATE_HAZE.jpg differ
diff --git a/img/bg/weather4/MODERATE_RAIN.jpg b/img/bg/weather4/MODERATE_RAIN.jpg
new file mode 100644
index 0000000..15e5292
Binary files /dev/null and b/img/bg/weather4/MODERATE_RAIN.jpg differ
diff --git a/img/bg/weather4/MODERATE_SNOW.jpg b/img/bg/weather4/MODERATE_SNOW.jpg
new file mode 100644
index 0000000..0bd5abd
Binary files /dev/null and b/img/bg/weather4/MODERATE_SNOW.jpg differ
diff --git a/img/bg/weather4/PARTLY_CLOUDY_DAY.jpg b/img/bg/weather4/PARTLY_CLOUDY_DAY.jpg
new file mode 100644
index 0000000..d958621
Binary files /dev/null and b/img/bg/weather4/PARTLY_CLOUDY_DAY.jpg differ
diff --git a/img/bg/weather4/PARTLY_CLOUDY_NIGHT.jpg b/img/bg/weather4/PARTLY_CLOUDY_NIGHT.jpg
new file mode 100644
index 0000000..9ee4afc
Binary files /dev/null and b/img/bg/weather4/PARTLY_CLOUDY_NIGHT.jpg differ
diff --git a/img/bg/weather4/SAND.jpg b/img/bg/weather4/SAND.jpg
new file mode 100644
index 0000000..d79a242
Binary files /dev/null and b/img/bg/weather4/SAND.jpg differ
diff --git a/img/bg/weather4/STORM_RAIN.jpg b/img/bg/weather4/STORM_RAIN.jpg
new file mode 100644
index 0000000..15e5292
Binary files /dev/null and b/img/bg/weather4/STORM_RAIN.jpg differ
diff --git a/img/bg/weather4/STORM_SNOW.jpg b/img/bg/weather4/STORM_SNOW.jpg
new file mode 100644
index 0000000..0bd5abd
Binary files /dev/null and b/img/bg/weather4/STORM_SNOW.jpg differ
diff --git a/img/bg/weather4/WIND.jpg b/img/bg/weather4/WIND.jpg
new file mode 100644
index 0000000..fd433d3
Binary files /dev/null and b/img/bg/weather4/WIND.jpg differ
diff --git a/img/bg/weather5/CLEAR_DAY.png b/img/bg/weather5/CLEAR_DAY.png
new file mode 100644
index 0000000..10067f3
Binary files /dev/null and b/img/bg/weather5/CLEAR_DAY.png differ
diff --git a/img/bg/weather5/CLEAR_NIGHT.png b/img/bg/weather5/CLEAR_NIGHT.png
new file mode 100644
index 0000000..4421dbc
Binary files /dev/null and b/img/bg/weather5/CLEAR_NIGHT.png differ
diff --git a/img/bg/weather5/CLOUDY.png b/img/bg/weather5/CLOUDY.png
new file mode 100644
index 0000000..c8e7490
Binary files /dev/null and b/img/bg/weather5/CLOUDY.png differ
diff --git a/img/bg/weather5/DUST.png b/img/bg/weather5/DUST.png
new file mode 100644
index 0000000..f9c5f5e
Binary files /dev/null and b/img/bg/weather5/DUST.png differ
diff --git a/img/bg/weather5/FOG.png b/img/bg/weather5/FOG.png
new file mode 100644
index 0000000..9e5ea8f
Binary files /dev/null and b/img/bg/weather5/FOG.png differ
diff --git a/img/bg/weather5/HEAVY_HAZE.png b/img/bg/weather5/HEAVY_HAZE.png
new file mode 100644
index 0000000..f9c5f5e
Binary files /dev/null and b/img/bg/weather5/HEAVY_HAZE.png differ
diff --git a/img/bg/weather5/HEAVY_RAIN.png b/img/bg/weather5/HEAVY_RAIN.png
new file mode 100644
index 0000000..70ae5e3
Binary files /dev/null and b/img/bg/weather5/HEAVY_RAIN.png differ
diff --git a/img/bg/weather5/HEAVY_SNOW.png b/img/bg/weather5/HEAVY_SNOW.png
new file mode 100644
index 0000000..1c2dd1a
Binary files /dev/null and b/img/bg/weather5/HEAVY_SNOW.png differ
diff --git a/img/bg/weather5/LIGHT_HAZE.png b/img/bg/weather5/LIGHT_HAZE.png
new file mode 100644
index 0000000..f9c5f5e
Binary files /dev/null and b/img/bg/weather5/LIGHT_HAZE.png differ
diff --git a/img/bg/weather5/LIGHT_RAIN.png b/img/bg/weather5/LIGHT_RAIN.png
new file mode 100644
index 0000000..70ae5e3
Binary files /dev/null and b/img/bg/weather5/LIGHT_RAIN.png differ
diff --git a/img/bg/weather5/LIGHT_SNOW.png b/img/bg/weather5/LIGHT_SNOW.png
new file mode 100644
index 0000000..1c2dd1a
Binary files /dev/null and b/img/bg/weather5/LIGHT_SNOW.png differ
diff --git a/img/bg/weather5/MODERATE_HAZE.png b/img/bg/weather5/MODERATE_HAZE.png
new file mode 100644
index 0000000..f9c5f5e
Binary files /dev/null and b/img/bg/weather5/MODERATE_HAZE.png differ
diff --git a/img/bg/weather5/MODERATE_RAIN.png b/img/bg/weather5/MODERATE_RAIN.png
new file mode 100644
index 0000000..70ae5e3
Binary files /dev/null and b/img/bg/weather5/MODERATE_RAIN.png differ
diff --git a/img/bg/weather5/MODERATE_SNOW.png b/img/bg/weather5/MODERATE_SNOW.png
new file mode 100644
index 0000000..1c2dd1a
Binary files /dev/null and b/img/bg/weather5/MODERATE_SNOW.png differ
diff --git a/img/bg/weather5/PARTLY_CLOUDY_DAY.png b/img/bg/weather5/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..c8e7490
Binary files /dev/null and b/img/bg/weather5/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/bg/weather5/PARTLY_CLOUDY_NIGHT.png b/img/bg/weather5/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..c8e7490
Binary files /dev/null and b/img/bg/weather5/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/bg/weather5/SAND.png b/img/bg/weather5/SAND.png
new file mode 100644
index 0000000..f9c5f5e
Binary files /dev/null and b/img/bg/weather5/SAND.png differ
diff --git a/img/bg/weather5/STORM_RAIN.png b/img/bg/weather5/STORM_RAIN.png
new file mode 100644
index 0000000..70ae5e3
Binary files /dev/null and b/img/bg/weather5/STORM_RAIN.png differ
diff --git a/img/bg/weather5/STORM_SNOW.png b/img/bg/weather5/STORM_SNOW.png
new file mode 100644
index 0000000..1c2dd1a
Binary files /dev/null and b/img/bg/weather5/STORM_SNOW.png differ
diff --git a/img/bg/weather5/WIND.png b/img/bg/weather5/WIND.png
new file mode 100644
index 0000000..9e5ea8f
Binary files /dev/null and b/img/bg/weather5/WIND.png differ
diff --git a/img/bg/weather6/CLEAR_DAY.jpg b/img/bg/weather6/CLEAR_DAY.jpg
new file mode 100644
index 0000000..9a549ea
Binary files /dev/null and b/img/bg/weather6/CLEAR_DAY.jpg differ
diff --git a/img/bg/weather6/CLEAR_NIGHT.jpg b/img/bg/weather6/CLEAR_NIGHT.jpg
new file mode 100644
index 0000000..81eacaa
Binary files /dev/null and b/img/bg/weather6/CLEAR_NIGHT.jpg differ
diff --git a/img/bg/weather6/CLOUDY.jpg b/img/bg/weather6/CLOUDY.jpg
new file mode 100644
index 0000000..e6d4500
Binary files /dev/null and b/img/bg/weather6/CLOUDY.jpg differ
diff --git a/img/bg/weather6/DUST.jpg b/img/bg/weather6/DUST.jpg
new file mode 100644
index 0000000..63c41e9
Binary files /dev/null and b/img/bg/weather6/DUST.jpg differ
diff --git a/img/bg/weather6/FOG.jpg b/img/bg/weather6/FOG.jpg
new file mode 100644
index 0000000..a0e3d59
Binary files /dev/null and b/img/bg/weather6/FOG.jpg differ
diff --git a/img/bg/weather6/HEAVY_HAZE.jpg b/img/bg/weather6/HEAVY_HAZE.jpg
new file mode 100644
index 0000000..63c41e9
Binary files /dev/null and b/img/bg/weather6/HEAVY_HAZE.jpg differ
diff --git a/img/bg/weather6/HEAVY_RAIN.jpg b/img/bg/weather6/HEAVY_RAIN.jpg
new file mode 100644
index 0000000..f190349
Binary files /dev/null and b/img/bg/weather6/HEAVY_RAIN.jpg differ
diff --git a/img/bg/weather6/HEAVY_SNOW.jpg b/img/bg/weather6/HEAVY_SNOW.jpg
new file mode 100644
index 0000000..44e4a51
Binary files /dev/null and b/img/bg/weather6/HEAVY_SNOW.jpg differ
diff --git a/img/bg/weather6/LIGHT_HAZE.jpg b/img/bg/weather6/LIGHT_HAZE.jpg
new file mode 100644
index 0000000..63c41e9
Binary files /dev/null and b/img/bg/weather6/LIGHT_HAZE.jpg differ
diff --git a/img/bg/weather6/LIGHT_RAIN.jpg b/img/bg/weather6/LIGHT_RAIN.jpg
new file mode 100644
index 0000000..f190349
Binary files /dev/null and b/img/bg/weather6/LIGHT_RAIN.jpg differ
diff --git a/img/bg/weather6/LIGHT_SNOW.jpg b/img/bg/weather6/LIGHT_SNOW.jpg
new file mode 100644
index 0000000..44e4a51
Binary files /dev/null and b/img/bg/weather6/LIGHT_SNOW.jpg differ
diff --git a/img/bg/weather6/MODERATE_HAZE.jpg b/img/bg/weather6/MODERATE_HAZE.jpg
new file mode 100644
index 0000000..63c41e9
Binary files /dev/null and b/img/bg/weather6/MODERATE_HAZE.jpg differ
diff --git a/img/bg/weather6/MODERATE_RAIN.jpg b/img/bg/weather6/MODERATE_RAIN.jpg
new file mode 100644
index 0000000..f190349
Binary files /dev/null and b/img/bg/weather6/MODERATE_RAIN.jpg differ
diff --git a/img/bg/weather6/MODERATE_SNOW.jpg b/img/bg/weather6/MODERATE_SNOW.jpg
new file mode 100644
index 0000000..44e4a51
Binary files /dev/null and b/img/bg/weather6/MODERATE_SNOW.jpg differ
diff --git a/img/bg/weather6/PARTLY_CLOUDY_DAY.jpg b/img/bg/weather6/PARTLY_CLOUDY_DAY.jpg
new file mode 100644
index 0000000..e6d4500
Binary files /dev/null and b/img/bg/weather6/PARTLY_CLOUDY_DAY.jpg differ
diff --git a/img/bg/weather6/PARTLY_CLOUDY_NIGHT.jpg b/img/bg/weather6/PARTLY_CLOUDY_NIGHT.jpg
new file mode 100644
index 0000000..72dc7c7
Binary files /dev/null and b/img/bg/weather6/PARTLY_CLOUDY_NIGHT.jpg differ
diff --git a/img/bg/weather6/SAND.jpg b/img/bg/weather6/SAND.jpg
new file mode 100644
index 0000000..63c41e9
Binary files /dev/null and b/img/bg/weather6/SAND.jpg differ
diff --git a/img/bg/weather6/STORM_RAIN.jpg b/img/bg/weather6/STORM_RAIN.jpg
new file mode 100644
index 0000000..183ed90
Binary files /dev/null and b/img/bg/weather6/STORM_RAIN.jpg differ
diff --git a/img/bg/weather6/STORM_SNOW.jpg b/img/bg/weather6/STORM_SNOW.jpg
new file mode 100644
index 0000000..44e4a51
Binary files /dev/null and b/img/bg/weather6/STORM_SNOW.jpg differ
diff --git a/img/bg/weather6/WIND.jpg b/img/bg/weather6/WIND.jpg
new file mode 100644
index 0000000..63c41e9
Binary files /dev/null and b/img/bg/weather6/WIND.jpg differ
diff --git a/img/bg_1.jpg b/img/bg_1.jpg
new file mode 100644
index 0000000..ea34d67
Binary files /dev/null and b/img/bg_1.jpg differ
diff --git a/img/bg_celebrate_100.png b/img/bg_celebrate_100.png
new file mode 100644
index 0000000..e981ae7
Binary files /dev/null and b/img/bg_celebrate_100.png differ
diff --git a/img/bg_celebrate_25.png b/img/bg_celebrate_25.png
new file mode 100644
index 0000000..8c8ef0b
Binary files /dev/null and b/img/bg_celebrate_25.png differ
diff --git a/img/bg_celebrate_50.png b/img/bg_celebrate_50.png
new file mode 100644
index 0000000..e61479e
Binary files /dev/null and b/img/bg_celebrate_50.png differ
diff --git a/img/bg_celebrate_75.png b/img/bg_celebrate_75.png
new file mode 100644
index 0000000..6ae3f51
Binary files /dev/null and b/img/bg_celebrate_75.png differ
diff --git a/img/bg_doraemon_1.png b/img/bg_doraemon_1.png
new file mode 100644
index 0000000..2cd6d03
Binary files /dev/null and b/img/bg_doraemon_1.png differ
diff --git a/img/bg_memorial_day.png b/img/bg_memorial_day.png
new file mode 100644
index 0000000..9720c7f
Binary files /dev/null and b/img/bg_memorial_day.png differ
diff --git a/img/bg_placeholder.png b/img/bg_placeholder.png
new file mode 100644
index 0000000..9a95159
Binary files /dev/null and b/img/bg_placeholder.png differ
diff --git a/img/bg_tt1.png b/img/bg_tt1.png
new file mode 100644
index 0000000..2cd6d03
Binary files /dev/null and b/img/bg_tt1.png differ
diff --git a/img/bg_wedding_2.jpg b/img/bg_wedding_2.jpg
new file mode 100644
index 0000000..e21d87c
Binary files /dev/null and b/img/bg_wedding_2.jpg differ
diff --git a/img/delivery-man_white.png b/img/delivery-man_white.png
new file mode 100644
index 0000000..8ce9e3c
Binary files /dev/null and b/img/delivery-man_white.png differ
diff --git a/img/garlands.png b/img/garlands.png
new file mode 100644
index 0000000..f4947c4
Binary files /dev/null and b/img/garlands.png differ
diff --git a/img/ic_10000.png b/img/ic_10000.png
new file mode 100644
index 0000000..a739a4e
Binary files /dev/null and b/img/ic_10000.png differ
diff --git a/img/ic__china_mobile.png b/img/ic__china_mobile.png
new file mode 100644
index 0000000..4fb25fb
Binary files /dev/null and b/img/ic__china_mobile.png differ
diff --git a/img/ic_avatar_lsp.jpg b/img/ic_avatar_lsp.jpg
new file mode 100644
index 0000000..6a58f8c
Binary files /dev/null and b/img/ic_avatar_lsp.jpg differ
diff --git a/img/ic_avatar_lsp_circle.png b/img/ic_avatar_lsp_circle.png
new file mode 100644
index 0000000..8256fb8
Binary files /dev/null and b/img/ic_avatar_lsp_circle.png differ
diff --git a/img/ic_avatar_lsp_round.png b/img/ic_avatar_lsp_round.png
new file mode 100644
index 0000000..cbbc44b
Binary files /dev/null and b/img/ic_avatar_lsp_round.png differ
diff --git a/img/ic_calendar.gif b/img/ic_calendar.gif
new file mode 100644
index 0000000..a0edb48
Binary files /dev/null and b/img/ic_calendar.gif differ
diff --git a/img/ic_calendar.png b/img/ic_calendar.png
new file mode 100644
index 0000000..cbb1a9f
Binary files /dev/null and b/img/ic_calendar.png differ
diff --git a/img/ic_calendar_2.gif b/img/ic_calendar_2.gif
new file mode 100644
index 0000000..a05d3be
Binary files /dev/null and b/img/ic_calendar_2.gif differ
diff --git a/img/ic_cat_1.png b/img/ic_cat_1.png
new file mode 100644
index 0000000..74ff2c2
Binary files /dev/null and b/img/ic_cat_1.png differ
diff --git a/img/ic_cat_2.png b/img/ic_cat_2.png
new file mode 100644
index 0000000..c893164
Binary files /dev/null and b/img/ic_cat_2.png differ
diff --git a/img/ic_cat_3.png b/img/ic_cat_3.png
new file mode 100644
index 0000000..0a412a0
Binary files /dev/null and b/img/ic_cat_3.png differ
diff --git a/img/ic_cat_4.png b/img/ic_cat_4.png
new file mode 100644
index 0000000..42ee2a2
Binary files /dev/null and b/img/ic_cat_4.png differ
diff --git a/img/ic_cat_5.png b/img/ic_cat_5.png
new file mode 100644
index 0000000..5a69bd3
Binary files /dev/null and b/img/ic_cat_5.png differ
diff --git a/img/ic_cat_6.png b/img/ic_cat_6.png
new file mode 100644
index 0000000..422b5a9
Binary files /dev/null and b/img/ic_cat_6.png differ
diff --git a/img/ic_cat_7.png b/img/ic_cat_7.png
new file mode 100644
index 0000000..605b66d
Binary files /dev/null and b/img/ic_cat_7.png differ
diff --git a/img/ic_cat_8.png b/img/ic_cat_8.png
new file mode 100644
index 0000000..f031096
Binary files /dev/null and b/img/ic_cat_8.png differ
diff --git a/img/ic_china_telecom.png b/img/ic_china_telecom.png
new file mode 100644
index 0000000..980d9f9
Binary files /dev/null and b/img/ic_china_telecom.png differ
diff --git a/img/ic_clock.png b/img/ic_clock.png
new file mode 100644
index 0000000..7a8427e
Binary files /dev/null and b/img/ic_clock.png differ
diff --git a/img/ic_corona_virus.png b/img/ic_corona_virus.png
new file mode 100644
index 0000000..14c9202
Binary files /dev/null and b/img/ic_corona_virus.png differ
diff --git a/img/ic_filter.png b/img/ic_filter.png
new file mode 100644
index 0000000..606ca37
Binary files /dev/null and b/img/ic_filter.png differ
diff --git a/img/ic_fireworks_a20.png b/img/ic_fireworks_a20.png
new file mode 100644
index 0000000..4e3e300
Binary files /dev/null and b/img/ic_fireworks_a20.png differ
diff --git a/img/ic_holiday.png b/img/ic_holiday.png
new file mode 100644
index 0000000..4255e72
Binary files /dev/null and b/img/ic_holiday.png differ
diff --git a/img/ic_logo_10000.jpg b/img/ic_logo_10000.jpg
new file mode 100644
index 0000000..e7d060f
Binary files /dev/null and b/img/ic_logo_10000.jpg differ
diff --git a/img/ic_logo_10010.png b/img/ic_logo_10010.png
new file mode 100644
index 0000000..46dcb69
Binary files /dev/null and b/img/ic_logo_10010.png differ
diff --git a/img/ic_pikachu_1.png b/img/ic_pikachu_1.png
new file mode 100644
index 0000000..c9e908a
Binary files /dev/null and b/img/ic_pikachu_1.png differ
diff --git a/img/ic_pikachu_2.png b/img/ic_pikachu_2.png
new file mode 100644
index 0000000..bee9f3e
Binary files /dev/null and b/img/ic_pikachu_2.png differ
diff --git a/img/ic_pikachu_3.png b/img/ic_pikachu_3.png
new file mode 100644
index 0000000..25ae41e
Binary files /dev/null and b/img/ic_pikachu_3.png differ
diff --git a/img/ic_pikachu_4.png b/img/ic_pikachu_4.png
new file mode 100644
index 0000000..4ee899c
Binary files /dev/null and b/img/ic_pikachu_4.png differ
diff --git a/img/ic_pikachu_5.png b/img/ic_pikachu_5.png
new file mode 100644
index 0000000..a4174f8
Binary files /dev/null and b/img/ic_pikachu_5.png differ
diff --git a/img/ic_pikachu_6.png b/img/ic_pikachu_6.png
new file mode 100644
index 0000000..953a527
Binary files /dev/null and b/img/ic_pikachu_6.png differ
diff --git a/img/ic_pikachu_7.png b/img/ic_pikachu_7.png
new file mode 100644
index 0000000..3b5af1a
Binary files /dev/null and b/img/ic_pikachu_7.png differ
diff --git a/img/ic_pikachu_8.png b/img/ic_pikachu_8.png
new file mode 100644
index 0000000..6c9bbb6
Binary files /dev/null and b/img/ic_pikachu_8.png differ
diff --git a/img/ic_weather.gif b/img/ic_weather.gif
new file mode 100644
index 0000000..46dc879
Binary files /dev/null and b/img/ic_weather.gif differ
diff --git a/img/ic_weather.png b/img/ic_weather.png
new file mode 100644
index 0000000..50e50b8
Binary files /dev/null and b/img/ic_weather.png differ
diff --git a/img/ic_weather_loop.gif b/img/ic_weather_loop.gif
new file mode 100644
index 0000000..11f66b0
Binary files /dev/null and b/img/ic_weather_loop.gif differ
diff --git a/img/ic_weibo.png b/img/ic_weibo.png
new file mode 100644
index 0000000..c18df5f
Binary files /dev/null and b/img/ic_weibo.png differ
diff --git a/img/icon/line-bear/CLEAR_DAY.png b/img/icon/line-bear/CLEAR_DAY.png
new file mode 100644
index 0000000..6ec941d
Binary files /dev/null and b/img/icon/line-bear/CLEAR_DAY.png differ
diff --git a/img/icon/line-bear/CLEAR_NIGHT.png b/img/icon/line-bear/CLEAR_NIGHT.png
new file mode 100644
index 0000000..66a7f4d
Binary files /dev/null and b/img/icon/line-bear/CLEAR_NIGHT.png differ
diff --git a/img/icon/line-bear/CLOUDY.png b/img/icon/line-bear/CLOUDY.png
new file mode 100644
index 0000000..cb36bc0
Binary files /dev/null and b/img/icon/line-bear/CLOUDY.png differ
diff --git a/img/icon/line-bear/DUST.png b/img/icon/line-bear/DUST.png
new file mode 100644
index 0000000..449e5cd
Binary files /dev/null and b/img/icon/line-bear/DUST.png differ
diff --git a/img/icon/line-bear/FOG.png b/img/icon/line-bear/FOG.png
new file mode 100644
index 0000000..a52e914
Binary files /dev/null and b/img/icon/line-bear/FOG.png differ
diff --git a/img/icon/line-bear/HEAVY_HAZE.png b/img/icon/line-bear/HEAVY_HAZE.png
new file mode 100644
index 0000000..7c45b8b
Binary files /dev/null and b/img/icon/line-bear/HEAVY_HAZE.png differ
diff --git a/img/icon/line-bear/HEAVY_RAIN.png b/img/icon/line-bear/HEAVY_RAIN.png
new file mode 100644
index 0000000..dd5a7da
Binary files /dev/null and b/img/icon/line-bear/HEAVY_RAIN.png differ
diff --git a/img/icon/line-bear/HEAVY_SNOW.png b/img/icon/line-bear/HEAVY_SNOW.png
new file mode 100644
index 0000000..53caf2b
Binary files /dev/null and b/img/icon/line-bear/HEAVY_SNOW.png differ
diff --git a/img/icon/line-bear/LIGHT_HAZE.png b/img/icon/line-bear/LIGHT_HAZE.png
new file mode 100644
index 0000000..a52e914
Binary files /dev/null and b/img/icon/line-bear/LIGHT_HAZE.png differ
diff --git a/img/icon/line-bear/LIGHT_RAIN.png b/img/icon/line-bear/LIGHT_RAIN.png
new file mode 100644
index 0000000..41269fc
Binary files /dev/null and b/img/icon/line-bear/LIGHT_RAIN.png differ
diff --git a/img/icon/line-bear/LIGHT_SNOW.png b/img/icon/line-bear/LIGHT_SNOW.png
new file mode 100644
index 0000000..15e6f6e
Binary files /dev/null and b/img/icon/line-bear/LIGHT_SNOW.png differ
diff --git a/img/icon/line-bear/MODERATE_HAZE.png b/img/icon/line-bear/MODERATE_HAZE.png
new file mode 100644
index 0000000..4304626
Binary files /dev/null and b/img/icon/line-bear/MODERATE_HAZE.png differ
diff --git a/img/icon/line-bear/MODERATE_RAIN.png b/img/icon/line-bear/MODERATE_RAIN.png
new file mode 100644
index 0000000..03776dd
Binary files /dev/null and b/img/icon/line-bear/MODERATE_RAIN.png differ
diff --git a/img/icon/line-bear/MODERATE_SNOW.png b/img/icon/line-bear/MODERATE_SNOW.png
new file mode 100644
index 0000000..85074c6
Binary files /dev/null and b/img/icon/line-bear/MODERATE_SNOW.png differ
diff --git a/img/icon/line-bear/PARTLY_CLOUDY_DAY.png b/img/icon/line-bear/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..09893fd
Binary files /dev/null and b/img/icon/line-bear/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/icon/line-bear/PARTLY_CLOUDY_NIGHT.png b/img/icon/line-bear/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..aef4d75
Binary files /dev/null and b/img/icon/line-bear/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/icon/line-bear/SAND.png b/img/icon/line-bear/SAND.png
new file mode 100644
index 0000000..fd06590
Binary files /dev/null and b/img/icon/line-bear/SAND.png differ
diff --git a/img/icon/line-bear/STORM_RAIN.png b/img/icon/line-bear/STORM_RAIN.png
new file mode 100644
index 0000000..2bd7468
Binary files /dev/null and b/img/icon/line-bear/STORM_RAIN.png differ
diff --git a/img/icon/line-bear/STORM_SNOW.png b/img/icon/line-bear/STORM_SNOW.png
new file mode 100644
index 0000000..538447a
Binary files /dev/null and b/img/icon/line-bear/STORM_SNOW.png differ
diff --git a/img/icon/line-bear/WIND.png b/img/icon/line-bear/WIND.png
new file mode 100644
index 0000000..58a538e
Binary files /dev/null and b/img/icon/line-bear/WIND.png differ
diff --git a/frog_weather/icon/CLEAR_DAY.png b/img/icon/weather1/CLEAR_DAY.png
similarity index 100%
rename from frog_weather/icon/CLEAR_DAY.png
rename to img/icon/weather1/CLEAR_DAY.png
diff --git a/frog_weather/icon/CLEAR_NIGHT.png b/img/icon/weather1/CLEAR_NIGHT.png
similarity index 100%
rename from frog_weather/icon/CLEAR_NIGHT.png
rename to img/icon/weather1/CLEAR_NIGHT.png
diff --git a/frog_weather/icon/CLOUDY.png b/img/icon/weather1/CLOUDY.png
similarity index 100%
rename from frog_weather/icon/CLOUDY.png
rename to img/icon/weather1/CLOUDY.png
diff --git a/frog_weather/icon/DUST.png b/img/icon/weather1/DUST.png
similarity index 100%
rename from frog_weather/icon/DUST.png
rename to img/icon/weather1/DUST.png
diff --git a/frog_weather/icon/FOG.png b/img/icon/weather1/FOG.png
similarity index 100%
rename from frog_weather/icon/FOG.png
rename to img/icon/weather1/FOG.png
diff --git a/frog_weather/icon/HEAVY_HAZE.png b/img/icon/weather1/HEAVY_HAZE.png
similarity index 100%
rename from frog_weather/icon/HEAVY_HAZE.png
rename to img/icon/weather1/HEAVY_HAZE.png
diff --git a/frog_weather/icon/HEAVY_RAIN.png b/img/icon/weather1/HEAVY_RAIN.png
similarity index 100%
rename from frog_weather/icon/HEAVY_RAIN.png
rename to img/icon/weather1/HEAVY_RAIN.png
diff --git a/frog_weather/icon/HEAVY_SNOW.png b/img/icon/weather1/HEAVY_SNOW.png
similarity index 100%
rename from frog_weather/icon/HEAVY_SNOW.png
rename to img/icon/weather1/HEAVY_SNOW.png
diff --git a/frog_weather/icon/LIGHT_HAZE.png b/img/icon/weather1/LIGHT_HAZE.png
similarity index 100%
rename from frog_weather/icon/LIGHT_HAZE.png
rename to img/icon/weather1/LIGHT_HAZE.png
diff --git a/frog_weather/icon/LIGHT_RAIN.png b/img/icon/weather1/LIGHT_RAIN.png
similarity index 100%
rename from frog_weather/icon/LIGHT_RAIN.png
rename to img/icon/weather1/LIGHT_RAIN.png
diff --git a/frog_weather/icon/LIGHT_SNOW.png b/img/icon/weather1/LIGHT_SNOW.png
similarity index 100%
rename from frog_weather/icon/LIGHT_SNOW.png
rename to img/icon/weather1/LIGHT_SNOW.png
diff --git a/frog_weather/icon/MODERATE_HAZE.png b/img/icon/weather1/MODERATE_HAZE.png
similarity index 100%
rename from frog_weather/icon/MODERATE_HAZE.png
rename to img/icon/weather1/MODERATE_HAZE.png
diff --git a/frog_weather/icon/MODERATE_RAIN.png b/img/icon/weather1/MODERATE_RAIN.png
similarity index 100%
rename from frog_weather/icon/MODERATE_RAIN.png
rename to img/icon/weather1/MODERATE_RAIN.png
diff --git a/frog_weather/icon/MODERATE_SNOW.png b/img/icon/weather1/MODERATE_SNOW.png
similarity index 100%
rename from frog_weather/icon/MODERATE_SNOW.png
rename to img/icon/weather1/MODERATE_SNOW.png
diff --git a/frog_weather/icon/PARTLY_CLOUDY_DAY.png b/img/icon/weather1/PARTLY_CLOUDY_DAY.png
similarity index 100%
rename from frog_weather/icon/PARTLY_CLOUDY_DAY.png
rename to img/icon/weather1/PARTLY_CLOUDY_DAY.png
diff --git a/frog_weather/icon/PARTLY_CLOUDY_NIGHT.png b/img/icon/weather1/PARTLY_CLOUDY_NIGHT.png
similarity index 100%
rename from frog_weather/icon/PARTLY_CLOUDY_NIGHT.png
rename to img/icon/weather1/PARTLY_CLOUDY_NIGHT.png
diff --git a/frog_weather/icon/SAND.png b/img/icon/weather1/SAND.png
similarity index 100%
rename from frog_weather/icon/SAND.png
rename to img/icon/weather1/SAND.png
diff --git a/frog_weather/icon/STORM_RAIN.png b/img/icon/weather1/STORM_RAIN.png
similarity index 100%
rename from frog_weather/icon/STORM_RAIN.png
rename to img/icon/weather1/STORM_RAIN.png
diff --git a/frog_weather/icon/STORM_SNOW.png b/img/icon/weather1/STORM_SNOW.png
similarity index 100%
rename from frog_weather/icon/STORM_SNOW.png
rename to img/icon/weather1/STORM_SNOW.png
diff --git a/frog_weather/icon/WIND.png b/img/icon/weather1/WIND.png
similarity index 100%
rename from frog_weather/icon/WIND.png
rename to img/icon/weather1/WIND.png
diff --git a/img/icon/weather10/CLEAR_DAY.png b/img/icon/weather10/CLEAR_DAY.png
new file mode 100644
index 0000000..ccc9658
Binary files /dev/null and b/img/icon/weather10/CLEAR_DAY.png differ
diff --git a/img/icon/weather10/CLEAR_NIGHT.png b/img/icon/weather10/CLEAR_NIGHT.png
new file mode 100644
index 0000000..8ba45c3
Binary files /dev/null and b/img/icon/weather10/CLEAR_NIGHT.png differ
diff --git a/img/icon/weather10/CLOUDY.png b/img/icon/weather10/CLOUDY.png
new file mode 100644
index 0000000..182dc8f
Binary files /dev/null and b/img/icon/weather10/CLOUDY.png differ
diff --git a/img/icon/weather10/DUST.png b/img/icon/weather10/DUST.png
new file mode 100644
index 0000000..ac53079
Binary files /dev/null and b/img/icon/weather10/DUST.png differ
diff --git a/img/icon/weather10/FOG.png b/img/icon/weather10/FOG.png
new file mode 100644
index 0000000..39e0e1e
Binary files /dev/null and b/img/icon/weather10/FOG.png differ
diff --git a/img/icon/weather10/HEAVY_HAZE.png b/img/icon/weather10/HEAVY_HAZE.png
new file mode 100644
index 0000000..9312b0c
Binary files /dev/null and b/img/icon/weather10/HEAVY_HAZE.png differ
diff --git a/img/icon/weather10/HEAVY_RAIN.png b/img/icon/weather10/HEAVY_RAIN.png
new file mode 100644
index 0000000..8460a73
Binary files /dev/null and b/img/icon/weather10/HEAVY_RAIN.png differ
diff --git a/img/icon/weather10/HEAVY_SNOW.png b/img/icon/weather10/HEAVY_SNOW.png
new file mode 100644
index 0000000..2e5d64d
Binary files /dev/null and b/img/icon/weather10/HEAVY_SNOW.png differ
diff --git a/img/icon/weather10/LIGHT_HAZE.png b/img/icon/weather10/LIGHT_HAZE.png
new file mode 100644
index 0000000..9312b0c
Binary files /dev/null and b/img/icon/weather10/LIGHT_HAZE.png differ
diff --git a/img/icon/weather10/LIGHT_RAIN.png b/img/icon/weather10/LIGHT_RAIN.png
new file mode 100644
index 0000000..baff240
Binary files /dev/null and b/img/icon/weather10/LIGHT_RAIN.png differ
diff --git a/img/icon/weather10/LIGHT_SNOW.png b/img/icon/weather10/LIGHT_SNOW.png
new file mode 100644
index 0000000..2e5d64d
Binary files /dev/null and b/img/icon/weather10/LIGHT_SNOW.png differ
diff --git a/img/icon/weather10/MODERATE_HAZE.png b/img/icon/weather10/MODERATE_HAZE.png
new file mode 100644
index 0000000..9312b0c
Binary files /dev/null and b/img/icon/weather10/MODERATE_HAZE.png differ
diff --git a/img/icon/weather10/MODERATE_RAIN.png b/img/icon/weather10/MODERATE_RAIN.png
new file mode 100644
index 0000000..69eb37b
Binary files /dev/null and b/img/icon/weather10/MODERATE_RAIN.png differ
diff --git a/img/icon/weather10/MODERATE_SNOW.png b/img/icon/weather10/MODERATE_SNOW.png
new file mode 100644
index 0000000..2e5d64d
Binary files /dev/null and b/img/icon/weather10/MODERATE_SNOW.png differ
diff --git a/img/icon/weather10/PARTLY_CLOUDY_DAY.png b/img/icon/weather10/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..4c9f26b
Binary files /dev/null and b/img/icon/weather10/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/icon/weather10/PARTLY_CLOUDY_NIGHT.png b/img/icon/weather10/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..ea554e4
Binary files /dev/null and b/img/icon/weather10/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/icon/weather10/SAND.png b/img/icon/weather10/SAND.png
new file mode 100644
index 0000000..ac53079
Binary files /dev/null and b/img/icon/weather10/SAND.png differ
diff --git a/img/icon/weather10/STORM_RAIN.png b/img/icon/weather10/STORM_RAIN.png
new file mode 100644
index 0000000..8460a73
Binary files /dev/null and b/img/icon/weather10/STORM_RAIN.png differ
diff --git a/img/icon/weather10/STORM_SNOW.png b/img/icon/weather10/STORM_SNOW.png
new file mode 100644
index 0000000..2e5d64d
Binary files /dev/null and b/img/icon/weather10/STORM_SNOW.png differ
diff --git a/img/icon/weather10/WIND.png b/img/icon/weather10/WIND.png
new file mode 100644
index 0000000..7320622
Binary files /dev/null and b/img/icon/weather10/WIND.png differ
diff --git a/img/icon/weather11/CLEAR_DAY.png b/img/icon/weather11/CLEAR_DAY.png
new file mode 100644
index 0000000..ebfda3b
Binary files /dev/null and b/img/icon/weather11/CLEAR_DAY.png differ
diff --git a/img/icon/weather11/CLEAR_NIGHT.png b/img/icon/weather11/CLEAR_NIGHT.png
new file mode 100644
index 0000000..65fa0e0
Binary files /dev/null and b/img/icon/weather11/CLEAR_NIGHT.png differ
diff --git a/img/icon/weather11/CLOUDY.png b/img/icon/weather11/CLOUDY.png
new file mode 100644
index 0000000..b0e13d8
Binary files /dev/null and b/img/icon/weather11/CLOUDY.png differ
diff --git a/img/icon/weather11/DUST.png b/img/icon/weather11/DUST.png
new file mode 100644
index 0000000..12c4ea9
Binary files /dev/null and b/img/icon/weather11/DUST.png differ
diff --git a/img/icon/weather11/FOG.png b/img/icon/weather11/FOG.png
new file mode 100644
index 0000000..99fbf80
Binary files /dev/null and b/img/icon/weather11/FOG.png differ
diff --git a/img/icon/weather11/HEAVY_HAZE.png b/img/icon/weather11/HEAVY_HAZE.png
new file mode 100644
index 0000000..12c4ea9
Binary files /dev/null and b/img/icon/weather11/HEAVY_HAZE.png differ
diff --git a/img/icon/weather11/HEAVY_RAIN.png b/img/icon/weather11/HEAVY_RAIN.png
new file mode 100644
index 0000000..0471a3c
Binary files /dev/null and b/img/icon/weather11/HEAVY_RAIN.png differ
diff --git a/img/icon/weather11/HEAVY_SNOW.png b/img/icon/weather11/HEAVY_SNOW.png
new file mode 100644
index 0000000..636815b
Binary files /dev/null and b/img/icon/weather11/HEAVY_SNOW.png differ
diff --git a/img/icon/weather11/LIGHT_HAZE.png b/img/icon/weather11/LIGHT_HAZE.png
new file mode 100644
index 0000000..12c4ea9
Binary files /dev/null and b/img/icon/weather11/LIGHT_HAZE.png differ
diff --git a/img/icon/weather11/LIGHT_RAIN.png b/img/icon/weather11/LIGHT_RAIN.png
new file mode 100644
index 0000000..69b6fa4
Binary files /dev/null and b/img/icon/weather11/LIGHT_RAIN.png differ
diff --git a/img/icon/weather11/LIGHT_SNOW.png b/img/icon/weather11/LIGHT_SNOW.png
new file mode 100644
index 0000000..abfbb93
Binary files /dev/null and b/img/icon/weather11/LIGHT_SNOW.png differ
diff --git a/img/icon/weather11/MODERATE_HAZE.png b/img/icon/weather11/MODERATE_HAZE.png
new file mode 100644
index 0000000..12c4ea9
Binary files /dev/null and b/img/icon/weather11/MODERATE_HAZE.png differ
diff --git a/img/icon/weather11/MODERATE_RAIN.png b/img/icon/weather11/MODERATE_RAIN.png
new file mode 100644
index 0000000..69b6fa4
Binary files /dev/null and b/img/icon/weather11/MODERATE_RAIN.png differ
diff --git a/img/icon/weather11/MODERATE_SNOW.png b/img/icon/weather11/MODERATE_SNOW.png
new file mode 100644
index 0000000..f71db9d
Binary files /dev/null and b/img/icon/weather11/MODERATE_SNOW.png differ
diff --git a/img/icon/weather11/PARTLY_CLOUDY_DAY.png b/img/icon/weather11/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..b0e13d8
Binary files /dev/null and b/img/icon/weather11/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/icon/weather11/PARTLY_CLOUDY_NIGHT.png b/img/icon/weather11/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..6223bef
Binary files /dev/null and b/img/icon/weather11/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/icon/weather11/SAND.png b/img/icon/weather11/SAND.png
new file mode 100644
index 0000000..e0661c3
Binary files /dev/null and b/img/icon/weather11/SAND.png differ
diff --git a/img/icon/weather11/STORM_RAIN.png b/img/icon/weather11/STORM_RAIN.png
new file mode 100644
index 0000000..77bd2b3
Binary files /dev/null and b/img/icon/weather11/STORM_RAIN.png differ
diff --git a/img/icon/weather11/STORM_SNOW.png b/img/icon/weather11/STORM_SNOW.png
new file mode 100644
index 0000000..636815b
Binary files /dev/null and b/img/icon/weather11/STORM_SNOW.png differ
diff --git a/img/icon/weather11/WIND.png b/img/icon/weather11/WIND.png
new file mode 100644
index 0000000..e0661c3
Binary files /dev/null and b/img/icon/weather11/WIND.png differ
diff --git a/img/icon/weather12/CLEAR_DAY.png b/img/icon/weather12/CLEAR_DAY.png
new file mode 100644
index 0000000..30aa439
Binary files /dev/null and b/img/icon/weather12/CLEAR_DAY.png differ
diff --git a/img/icon/weather12/CLEAR_NIGHT.png b/img/icon/weather12/CLEAR_NIGHT.png
new file mode 100644
index 0000000..fd07538
Binary files /dev/null and b/img/icon/weather12/CLEAR_NIGHT.png differ
diff --git a/img/icon/weather12/CLOUDY.png b/img/icon/weather12/CLOUDY.png
new file mode 100644
index 0000000..69032b0
Binary files /dev/null and b/img/icon/weather12/CLOUDY.png differ
diff --git a/img/icon/weather12/DUST.png b/img/icon/weather12/DUST.png
new file mode 100644
index 0000000..3d2e004
Binary files /dev/null and b/img/icon/weather12/DUST.png differ
diff --git a/img/icon/weather12/FOG.png b/img/icon/weather12/FOG.png
new file mode 100644
index 0000000..337f902
Binary files /dev/null and b/img/icon/weather12/FOG.png differ
diff --git a/img/icon/weather12/HEAVY_HAZE.png b/img/icon/weather12/HEAVY_HAZE.png
new file mode 100644
index 0000000..3d2e004
Binary files /dev/null and b/img/icon/weather12/HEAVY_HAZE.png differ
diff --git a/img/icon/weather12/HEAVY_RAIN.png b/img/icon/weather12/HEAVY_RAIN.png
new file mode 100644
index 0000000..7961e16
Binary files /dev/null and b/img/icon/weather12/HEAVY_RAIN.png differ
diff --git a/img/icon/weather12/HEAVY_SNOW.png b/img/icon/weather12/HEAVY_SNOW.png
new file mode 100644
index 0000000..3611a7b
Binary files /dev/null and b/img/icon/weather12/HEAVY_SNOW.png differ
diff --git a/img/icon/weather12/LIGHT_HAZE.png b/img/icon/weather12/LIGHT_HAZE.png
new file mode 100644
index 0000000..3d2e004
Binary files /dev/null and b/img/icon/weather12/LIGHT_HAZE.png differ
diff --git a/img/icon/weather12/LIGHT_RAIN.png b/img/icon/weather12/LIGHT_RAIN.png
new file mode 100644
index 0000000..753bf1a
Binary files /dev/null and b/img/icon/weather12/LIGHT_RAIN.png differ
diff --git a/img/icon/weather12/LIGHT_SNOW.png b/img/icon/weather12/LIGHT_SNOW.png
new file mode 100644
index 0000000..06a0cfe
Binary files /dev/null and b/img/icon/weather12/LIGHT_SNOW.png differ
diff --git a/img/icon/weather12/MODERATE_HAZE.png b/img/icon/weather12/MODERATE_HAZE.png
new file mode 100644
index 0000000..3d2e004
Binary files /dev/null and b/img/icon/weather12/MODERATE_HAZE.png differ
diff --git a/img/icon/weather12/MODERATE_RAIN.png b/img/icon/weather12/MODERATE_RAIN.png
new file mode 100644
index 0000000..753bf1a
Binary files /dev/null and b/img/icon/weather12/MODERATE_RAIN.png differ
diff --git a/img/icon/weather12/MODERATE_SNOW.png b/img/icon/weather12/MODERATE_SNOW.png
new file mode 100644
index 0000000..7856dfb
Binary files /dev/null and b/img/icon/weather12/MODERATE_SNOW.png differ
diff --git a/img/icon/weather12/PARTLY_CLOUDY_DAY.png b/img/icon/weather12/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..69032b0
Binary files /dev/null and b/img/icon/weather12/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/icon/weather12/PARTLY_CLOUDY_NIGHT.png b/img/icon/weather12/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..2176aac
Binary files /dev/null and b/img/icon/weather12/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/icon/weather12/SAND.png b/img/icon/weather12/SAND.png
new file mode 100644
index 0000000..5644276
Binary files /dev/null and b/img/icon/weather12/SAND.png differ
diff --git a/img/icon/weather12/STORM_RAIN.png b/img/icon/weather12/STORM_RAIN.png
new file mode 100644
index 0000000..1b22ada
Binary files /dev/null and b/img/icon/weather12/STORM_RAIN.png differ
diff --git a/img/icon/weather12/STORM_SNOW.png b/img/icon/weather12/STORM_SNOW.png
new file mode 100644
index 0000000..3611a7b
Binary files /dev/null and b/img/icon/weather12/STORM_SNOW.png differ
diff --git a/img/icon/weather12/WIND.png b/img/icon/weather12/WIND.png
new file mode 100644
index 0000000..5644276
Binary files /dev/null and b/img/icon/weather12/WIND.png differ
diff --git a/img/icon/weather13/CLEAR_DAY.png b/img/icon/weather13/CLEAR_DAY.png
new file mode 100644
index 0000000..1caec21
Binary files /dev/null and b/img/icon/weather13/CLEAR_DAY.png differ
diff --git a/img/icon/weather13/CLEAR_NIGHT.png b/img/icon/weather13/CLEAR_NIGHT.png
new file mode 100644
index 0000000..8b97870
Binary files /dev/null and b/img/icon/weather13/CLEAR_NIGHT.png differ
diff --git a/img/icon/weather13/CLOUDY.png b/img/icon/weather13/CLOUDY.png
new file mode 100644
index 0000000..6453d1c
Binary files /dev/null and b/img/icon/weather13/CLOUDY.png differ
diff --git a/img/icon/weather13/DUST.png b/img/icon/weather13/DUST.png
new file mode 100644
index 0000000..11188de
Binary files /dev/null and b/img/icon/weather13/DUST.png differ
diff --git a/img/icon/weather13/FOG.png b/img/icon/weather13/FOG.png
new file mode 100644
index 0000000..786df59
Binary files /dev/null and b/img/icon/weather13/FOG.png differ
diff --git a/img/icon/weather13/HEAVY_HAZE.png b/img/icon/weather13/HEAVY_HAZE.png
new file mode 100644
index 0000000..686a0fd
Binary files /dev/null and b/img/icon/weather13/HEAVY_HAZE.png differ
diff --git a/img/icon/weather13/HEAVY_RAIN.png b/img/icon/weather13/HEAVY_RAIN.png
new file mode 100644
index 0000000..7b8dff8
Binary files /dev/null and b/img/icon/weather13/HEAVY_RAIN.png differ
diff --git a/img/icon/weather13/HEAVY_SNOW.png b/img/icon/weather13/HEAVY_SNOW.png
new file mode 100644
index 0000000..09a2592
Binary files /dev/null and b/img/icon/weather13/HEAVY_SNOW.png differ
diff --git a/img/icon/weather13/LIGHT_HAZE.png b/img/icon/weather13/LIGHT_HAZE.png
new file mode 100644
index 0000000..686a0fd
Binary files /dev/null and b/img/icon/weather13/LIGHT_HAZE.png differ
diff --git a/img/icon/weather13/LIGHT_RAIN.png b/img/icon/weather13/LIGHT_RAIN.png
new file mode 100644
index 0000000..1629dd1
Binary files /dev/null and b/img/icon/weather13/LIGHT_RAIN.png differ
diff --git a/img/icon/weather13/LIGHT_SNOW.png b/img/icon/weather13/LIGHT_SNOW.png
new file mode 100644
index 0000000..09a2592
Binary files /dev/null and b/img/icon/weather13/LIGHT_SNOW.png differ
diff --git a/img/icon/weather13/MODERATE_HAZE.png b/img/icon/weather13/MODERATE_HAZE.png
new file mode 100644
index 0000000..686a0fd
Binary files /dev/null and b/img/icon/weather13/MODERATE_HAZE.png differ
diff --git a/img/icon/weather13/MODERATE_RAIN.png b/img/icon/weather13/MODERATE_RAIN.png
new file mode 100644
index 0000000..9b81780
Binary files /dev/null and b/img/icon/weather13/MODERATE_RAIN.png differ
diff --git a/img/icon/weather13/MODERATE_SNOW.png b/img/icon/weather13/MODERATE_SNOW.png
new file mode 100644
index 0000000..09a2592
Binary files /dev/null and b/img/icon/weather13/MODERATE_SNOW.png differ
diff --git a/img/icon/weather13/PARTLY_CLOUDY_DAY.png b/img/icon/weather13/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..39c313b
Binary files /dev/null and b/img/icon/weather13/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/icon/weather13/PARTLY_CLOUDY_NIGHT.png b/img/icon/weather13/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..fcf5eaa
Binary files /dev/null and b/img/icon/weather13/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/icon/weather13/SAND.png b/img/icon/weather13/SAND.png
new file mode 100644
index 0000000..786df59
Binary files /dev/null and b/img/icon/weather13/SAND.png differ
diff --git a/img/icon/weather13/STORM_RAIN.png b/img/icon/weather13/STORM_RAIN.png
new file mode 100644
index 0000000..33ec878
Binary files /dev/null and b/img/icon/weather13/STORM_RAIN.png differ
diff --git a/img/icon/weather13/STORM_SNOW.png b/img/icon/weather13/STORM_SNOW.png
new file mode 100644
index 0000000..09a2592
Binary files /dev/null and b/img/icon/weather13/STORM_SNOW.png differ
diff --git a/img/icon/weather13/WIND.png b/img/icon/weather13/WIND.png
new file mode 100644
index 0000000..11188de
Binary files /dev/null and b/img/icon/weather13/WIND.png differ
diff --git a/img/icon/weather2/CLEAR_DAY.png b/img/icon/weather2/CLEAR_DAY.png
new file mode 100644
index 0000000..221cefa
Binary files /dev/null and b/img/icon/weather2/CLEAR_DAY.png differ
diff --git a/img/icon/weather2/CLEAR_NIGHT.png b/img/icon/weather2/CLEAR_NIGHT.png
new file mode 100644
index 0000000..f8bbaee
Binary files /dev/null and b/img/icon/weather2/CLEAR_NIGHT.png differ
diff --git a/img/icon/weather2/CLOUDY.png b/img/icon/weather2/CLOUDY.png
new file mode 100644
index 0000000..430edff
Binary files /dev/null and b/img/icon/weather2/CLOUDY.png differ
diff --git a/img/icon/weather2/DUST.png b/img/icon/weather2/DUST.png
new file mode 100644
index 0000000..775e827
Binary files /dev/null and b/img/icon/weather2/DUST.png differ
diff --git a/img/icon/weather2/FOG.png b/img/icon/weather2/FOG.png
new file mode 100644
index 0000000..897c4c8
Binary files /dev/null and b/img/icon/weather2/FOG.png differ
diff --git a/img/icon/weather2/HEAVY_HAZE.png b/img/icon/weather2/HEAVY_HAZE.png
new file mode 100644
index 0000000..a0174b0
Binary files /dev/null and b/img/icon/weather2/HEAVY_HAZE.png differ
diff --git a/img/icon/weather2/HEAVY_RAIN.png b/img/icon/weather2/HEAVY_RAIN.png
new file mode 100644
index 0000000..3dbbe43
Binary files /dev/null and b/img/icon/weather2/HEAVY_RAIN.png differ
diff --git a/img/icon/weather2/HEAVY_SNOW.png b/img/icon/weather2/HEAVY_SNOW.png
new file mode 100644
index 0000000..23aa1d4
Binary files /dev/null and b/img/icon/weather2/HEAVY_SNOW.png differ
diff --git a/img/icon/weather2/LIGHT_HAZE.png b/img/icon/weather2/LIGHT_HAZE.png
new file mode 100644
index 0000000..a0174b0
Binary files /dev/null and b/img/icon/weather2/LIGHT_HAZE.png differ
diff --git a/img/icon/weather2/LIGHT_RAIN.png b/img/icon/weather2/LIGHT_RAIN.png
new file mode 100644
index 0000000..3dbbe43
Binary files /dev/null and b/img/icon/weather2/LIGHT_RAIN.png differ
diff --git a/img/icon/weather2/LIGHT_SNOW.png b/img/icon/weather2/LIGHT_SNOW.png
new file mode 100644
index 0000000..23aa1d4
Binary files /dev/null and b/img/icon/weather2/LIGHT_SNOW.png differ
diff --git a/img/icon/weather2/MODERATE_HAZE.png b/img/icon/weather2/MODERATE_HAZE.png
new file mode 100644
index 0000000..a0174b0
Binary files /dev/null and b/img/icon/weather2/MODERATE_HAZE.png differ
diff --git a/img/icon/weather2/MODERATE_RAIN.png b/img/icon/weather2/MODERATE_RAIN.png
new file mode 100644
index 0000000..3dbbe43
Binary files /dev/null and b/img/icon/weather2/MODERATE_RAIN.png differ
diff --git a/img/icon/weather2/MODERATE_SNOW.png b/img/icon/weather2/MODERATE_SNOW.png
new file mode 100644
index 0000000..23aa1d4
Binary files /dev/null and b/img/icon/weather2/MODERATE_SNOW.png differ
diff --git a/img/icon/weather2/PARTLY_CLOUDY_DAY.png b/img/icon/weather2/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..0aae760
Binary files /dev/null and b/img/icon/weather2/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/icon/weather2/PARTLY_CLOUDY_NIGHT.png b/img/icon/weather2/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..950467d
Binary files /dev/null and b/img/icon/weather2/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/icon/weather2/SAND.png b/img/icon/weather2/SAND.png
new file mode 100644
index 0000000..775e827
Binary files /dev/null and b/img/icon/weather2/SAND.png differ
diff --git a/img/icon/weather2/STORM_RAIN.png b/img/icon/weather2/STORM_RAIN.png
new file mode 100644
index 0000000..3dbbe43
Binary files /dev/null and b/img/icon/weather2/STORM_RAIN.png differ
diff --git a/img/icon/weather2/STORM_SNOW.png b/img/icon/weather2/STORM_SNOW.png
new file mode 100644
index 0000000..3dbbe43
Binary files /dev/null and b/img/icon/weather2/STORM_SNOW.png differ
diff --git a/img/icon/weather2/WIND.png b/img/icon/weather2/WIND.png
new file mode 100644
index 0000000..32a6331
Binary files /dev/null and b/img/icon/weather2/WIND.png differ
diff --git a/img/icon/weather3/CLEAR_DAY.png b/img/icon/weather3/CLEAR_DAY.png
new file mode 100644
index 0000000..a9a9e4c
Binary files /dev/null and b/img/icon/weather3/CLEAR_DAY.png differ
diff --git a/img/icon/weather3/CLEAR_NIGHT.png b/img/icon/weather3/CLEAR_NIGHT.png
new file mode 100644
index 0000000..035c047
Binary files /dev/null and b/img/icon/weather3/CLEAR_NIGHT.png differ
diff --git a/img/icon/weather3/CLOUDY.png b/img/icon/weather3/CLOUDY.png
new file mode 100644
index 0000000..2beab06
Binary files /dev/null and b/img/icon/weather3/CLOUDY.png differ
diff --git a/img/icon/weather3/DUST.png b/img/icon/weather3/DUST.png
new file mode 100644
index 0000000..f9e01aa
Binary files /dev/null and b/img/icon/weather3/DUST.png differ
diff --git a/img/icon/weather3/FOG.png b/img/icon/weather3/FOG.png
new file mode 100644
index 0000000..f9e01aa
Binary files /dev/null and b/img/icon/weather3/FOG.png differ
diff --git a/img/icon/weather3/HEAVY_HAZE.png b/img/icon/weather3/HEAVY_HAZE.png
new file mode 100644
index 0000000..f9e01aa
Binary files /dev/null and b/img/icon/weather3/HEAVY_HAZE.png differ
diff --git a/img/icon/weather3/HEAVY_RAIN.png b/img/icon/weather3/HEAVY_RAIN.png
new file mode 100644
index 0000000..5dd5004
Binary files /dev/null and b/img/icon/weather3/HEAVY_RAIN.png differ
diff --git a/img/icon/weather3/HEAVY_SNOW.png b/img/icon/weather3/HEAVY_SNOW.png
new file mode 100644
index 0000000..aa1729c
Binary files /dev/null and b/img/icon/weather3/HEAVY_SNOW.png differ
diff --git a/img/icon/weather3/LIGHT_HAZE.png b/img/icon/weather3/LIGHT_HAZE.png
new file mode 100644
index 0000000..f9e01aa
Binary files /dev/null and b/img/icon/weather3/LIGHT_HAZE.png differ
diff --git a/img/icon/weather3/LIGHT_RAIN.png b/img/icon/weather3/LIGHT_RAIN.png
new file mode 100644
index 0000000..e94fea3
Binary files /dev/null and b/img/icon/weather3/LIGHT_RAIN.png differ
diff --git a/img/icon/weather3/LIGHT_SNOW.png b/img/icon/weather3/LIGHT_SNOW.png
new file mode 100644
index 0000000..7af2e24
Binary files /dev/null and b/img/icon/weather3/LIGHT_SNOW.png differ
diff --git a/img/icon/weather3/MODERATE_HAZE.png b/img/icon/weather3/MODERATE_HAZE.png
new file mode 100644
index 0000000..f9e01aa
Binary files /dev/null and b/img/icon/weather3/MODERATE_HAZE.png differ
diff --git a/img/icon/weather3/MODERATE_RAIN.png b/img/icon/weather3/MODERATE_RAIN.png
new file mode 100644
index 0000000..e94fea3
Binary files /dev/null and b/img/icon/weather3/MODERATE_RAIN.png differ
diff --git a/img/icon/weather3/MODERATE_SNOW.png b/img/icon/weather3/MODERATE_SNOW.png
new file mode 100644
index 0000000..7af2e24
Binary files /dev/null and b/img/icon/weather3/MODERATE_SNOW.png differ
diff --git a/img/icon/weather3/PARTLY_CLOUDY_DAY.png b/img/icon/weather3/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..92e36d0
Binary files /dev/null and b/img/icon/weather3/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/icon/weather3/PARTLY_CLOUDY_NIGHT.png b/img/icon/weather3/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..585d853
Binary files /dev/null and b/img/icon/weather3/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/icon/weather3/SAND.png b/img/icon/weather3/SAND.png
new file mode 100644
index 0000000..48724c4
Binary files /dev/null and b/img/icon/weather3/SAND.png differ
diff --git a/img/icon/weather3/STORM_RAIN.png b/img/icon/weather3/STORM_RAIN.png
new file mode 100644
index 0000000..5dd5004
Binary files /dev/null and b/img/icon/weather3/STORM_RAIN.png differ
diff --git a/img/icon/weather3/STORM_SNOW.png b/img/icon/weather3/STORM_SNOW.png
new file mode 100644
index 0000000..aa1729c
Binary files /dev/null and b/img/icon/weather3/STORM_SNOW.png differ
diff --git a/img/icon/weather3/WIND.png b/img/icon/weather3/WIND.png
new file mode 100644
index 0000000..48724c4
Binary files /dev/null and b/img/icon/weather3/WIND.png differ
diff --git a/img/icon/weather4/CLEAR_DAY.png b/img/icon/weather4/CLEAR_DAY.png
new file mode 100644
index 0000000..7efc60b
Binary files /dev/null and b/img/icon/weather4/CLEAR_DAY.png differ
diff --git a/img/icon/weather4/CLEAR_NIGHT.png b/img/icon/weather4/CLEAR_NIGHT.png
new file mode 100644
index 0000000..cc6ffb0
Binary files /dev/null and b/img/icon/weather4/CLEAR_NIGHT.png differ
diff --git a/img/icon/weather4/CLOUDY.png b/img/icon/weather4/CLOUDY.png
new file mode 100644
index 0000000..ffad997
Binary files /dev/null and b/img/icon/weather4/CLOUDY.png differ
diff --git a/img/icon/weather4/DUST.png b/img/icon/weather4/DUST.png
new file mode 100644
index 0000000..2919561
Binary files /dev/null and b/img/icon/weather4/DUST.png differ
diff --git a/img/icon/weather4/FOG.png b/img/icon/weather4/FOG.png
new file mode 100644
index 0000000..2919561
Binary files /dev/null and b/img/icon/weather4/FOG.png differ
diff --git a/img/icon/weather4/HEAVY_HAZE.png b/img/icon/weather4/HEAVY_HAZE.png
new file mode 100644
index 0000000..0fff850
Binary files /dev/null and b/img/icon/weather4/HEAVY_HAZE.png differ
diff --git a/img/icon/weather4/HEAVY_RAIN.png b/img/icon/weather4/HEAVY_RAIN.png
new file mode 100644
index 0000000..bb71f6f
Binary files /dev/null and b/img/icon/weather4/HEAVY_RAIN.png differ
diff --git a/img/icon/weather4/HEAVY_SNOW.png b/img/icon/weather4/HEAVY_SNOW.png
new file mode 100644
index 0000000..2fc8873
Binary files /dev/null and b/img/icon/weather4/HEAVY_SNOW.png differ
diff --git a/img/icon/weather4/LIGHT_HAZE.png b/img/icon/weather4/LIGHT_HAZE.png
new file mode 100644
index 0000000..0fff850
Binary files /dev/null and b/img/icon/weather4/LIGHT_HAZE.png differ
diff --git a/img/icon/weather4/LIGHT_RAIN.png b/img/icon/weather4/LIGHT_RAIN.png
new file mode 100644
index 0000000..bb71f6f
Binary files /dev/null and b/img/icon/weather4/LIGHT_RAIN.png differ
diff --git a/img/icon/weather4/LIGHT_SNOW.png b/img/icon/weather4/LIGHT_SNOW.png
new file mode 100644
index 0000000..7bc3627
Binary files /dev/null and b/img/icon/weather4/LIGHT_SNOW.png differ
diff --git a/img/icon/weather4/MODERATE_HAZE.png b/img/icon/weather4/MODERATE_HAZE.png
new file mode 100644
index 0000000..0fff850
Binary files /dev/null and b/img/icon/weather4/MODERATE_HAZE.png differ
diff --git a/img/icon/weather4/MODERATE_RAIN.png b/img/icon/weather4/MODERATE_RAIN.png
new file mode 100644
index 0000000..bb71f6f
Binary files /dev/null and b/img/icon/weather4/MODERATE_RAIN.png differ
diff --git a/img/icon/weather4/MODERATE_SNOW.png b/img/icon/weather4/MODERATE_SNOW.png
new file mode 100644
index 0000000..2fc8873
Binary files /dev/null and b/img/icon/weather4/MODERATE_SNOW.png differ
diff --git a/img/icon/weather4/PARTLY_CLOUDY_DAY.png b/img/icon/weather4/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..06d612a
Binary files /dev/null and b/img/icon/weather4/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/icon/weather4/PARTLY_CLOUDY_NIGHT.png b/img/icon/weather4/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..da4ebe0
Binary files /dev/null and b/img/icon/weather4/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/icon/weather4/SAND.png b/img/icon/weather4/SAND.png
new file mode 100644
index 0000000..dc3ba9a
Binary files /dev/null and b/img/icon/weather4/SAND.png differ
diff --git a/img/icon/weather4/STORM_RAIN.png b/img/icon/weather4/STORM_RAIN.png
new file mode 100644
index 0000000..bb71f6f
Binary files /dev/null and b/img/icon/weather4/STORM_RAIN.png differ
diff --git a/img/icon/weather4/STORM_SNOW.png b/img/icon/weather4/STORM_SNOW.png
new file mode 100644
index 0000000..ae59120
Binary files /dev/null and b/img/icon/weather4/STORM_SNOW.png differ
diff --git a/img/icon/weather4/WIND.png b/img/icon/weather4/WIND.png
new file mode 100644
index 0000000..5a0c41f
Binary files /dev/null and b/img/icon/weather4/WIND.png differ
diff --git a/img/icon/weather5/CLEAR_DAY.png b/img/icon/weather5/CLEAR_DAY.png
new file mode 100644
index 0000000..5e02416
Binary files /dev/null and b/img/icon/weather5/CLEAR_DAY.png differ
diff --git a/img/icon/weather5/CLEAR_NIGHT.png b/img/icon/weather5/CLEAR_NIGHT.png
new file mode 100644
index 0000000..0c90f40
Binary files /dev/null and b/img/icon/weather5/CLEAR_NIGHT.png differ
diff --git a/img/icon/weather5/CLOUDY.png b/img/icon/weather5/CLOUDY.png
new file mode 100644
index 0000000..45105fb
Binary files /dev/null and b/img/icon/weather5/CLOUDY.png differ
diff --git a/img/icon/weather5/DUST.png b/img/icon/weather5/DUST.png
new file mode 100644
index 0000000..4729a8b
Binary files /dev/null and b/img/icon/weather5/DUST.png differ
diff --git a/img/icon/weather5/FOG.png b/img/icon/weather5/FOG.png
new file mode 100644
index 0000000..19414f2
Binary files /dev/null and b/img/icon/weather5/FOG.png differ
diff --git a/img/icon/weather5/HEAVY_HAZE.png b/img/icon/weather5/HEAVY_HAZE.png
new file mode 100644
index 0000000..19414f2
Binary files /dev/null and b/img/icon/weather5/HEAVY_HAZE.png differ
diff --git a/img/icon/weather5/HEAVY_RAIN.png b/img/icon/weather5/HEAVY_RAIN.png
new file mode 100644
index 0000000..29c845b
Binary files /dev/null and b/img/icon/weather5/HEAVY_RAIN.png differ
diff --git a/img/icon/weather5/HEAVY_SNOW.png b/img/icon/weather5/HEAVY_SNOW.png
new file mode 100644
index 0000000..1a4e81c
Binary files /dev/null and b/img/icon/weather5/HEAVY_SNOW.png differ
diff --git a/img/icon/weather5/LIGHT_HAZE.png b/img/icon/weather5/LIGHT_HAZE.png
new file mode 100644
index 0000000..19414f2
Binary files /dev/null and b/img/icon/weather5/LIGHT_HAZE.png differ
diff --git a/img/icon/weather5/LIGHT_RAIN.png b/img/icon/weather5/LIGHT_RAIN.png
new file mode 100644
index 0000000..c634d0c
Binary files /dev/null and b/img/icon/weather5/LIGHT_RAIN.png differ
diff --git a/img/icon/weather5/LIGHT_SNOW.png b/img/icon/weather5/LIGHT_SNOW.png
new file mode 100644
index 0000000..1a4e81c
Binary files /dev/null and b/img/icon/weather5/LIGHT_SNOW.png differ
diff --git a/img/icon/weather5/MODERATE_HAZE.png b/img/icon/weather5/MODERATE_HAZE.png
new file mode 100644
index 0000000..19414f2
Binary files /dev/null and b/img/icon/weather5/MODERATE_HAZE.png differ
diff --git a/img/icon/weather5/MODERATE_RAIN.png b/img/icon/weather5/MODERATE_RAIN.png
new file mode 100644
index 0000000..c634d0c
Binary files /dev/null and b/img/icon/weather5/MODERATE_RAIN.png differ
diff --git a/img/icon/weather5/MODERATE_SNOW.png b/img/icon/weather5/MODERATE_SNOW.png
new file mode 100644
index 0000000..1a4e81c
Binary files /dev/null and b/img/icon/weather5/MODERATE_SNOW.png differ
diff --git a/img/icon/weather5/PARTLY_CLOUDY_DAY.png b/img/icon/weather5/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..87e340e
Binary files /dev/null and b/img/icon/weather5/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/icon/weather5/PARTLY_CLOUDY_NIGHT.png b/img/icon/weather5/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..b33ccfb
Binary files /dev/null and b/img/icon/weather5/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/icon/weather5/SAND.png b/img/icon/weather5/SAND.png
new file mode 100644
index 0000000..381569a
Binary files /dev/null and b/img/icon/weather5/SAND.png differ
diff --git a/img/icon/weather5/STORM_RAIN.png b/img/icon/weather5/STORM_RAIN.png
new file mode 100644
index 0000000..29c845b
Binary files /dev/null and b/img/icon/weather5/STORM_RAIN.png differ
diff --git a/img/icon/weather5/STORM_SNOW.png b/img/icon/weather5/STORM_SNOW.png
new file mode 100644
index 0000000..1a4e81c
Binary files /dev/null and b/img/icon/weather5/STORM_SNOW.png differ
diff --git a/img/icon/weather5/WIND.png b/img/icon/weather5/WIND.png
new file mode 100644
index 0000000..e85a0b7
Binary files /dev/null and b/img/icon/weather5/WIND.png differ
diff --git a/img/icon/weather6/CLEAR_DAY.png b/img/icon/weather6/CLEAR_DAY.png
new file mode 100644
index 0000000..f3fd3bc
Binary files /dev/null and b/img/icon/weather6/CLEAR_DAY.png differ
diff --git a/img/icon/weather6/CLEAR_NIGHT.png b/img/icon/weather6/CLEAR_NIGHT.png
new file mode 100644
index 0000000..8ebabcc
Binary files /dev/null and b/img/icon/weather6/CLEAR_NIGHT.png differ
diff --git a/img/icon/weather6/CLOUDY.png b/img/icon/weather6/CLOUDY.png
new file mode 100644
index 0000000..4a66ce3
Binary files /dev/null and b/img/icon/weather6/CLOUDY.png differ
diff --git a/img/icon/weather6/DUST.png b/img/icon/weather6/DUST.png
new file mode 100644
index 0000000..e374ebd
Binary files /dev/null and b/img/icon/weather6/DUST.png differ
diff --git a/img/icon/weather6/FOG.png b/img/icon/weather6/FOG.png
new file mode 100644
index 0000000..aa7da1b
Binary files /dev/null and b/img/icon/weather6/FOG.png differ
diff --git a/img/icon/weather6/HEAVY_HAZE.png b/img/icon/weather6/HEAVY_HAZE.png
new file mode 100644
index 0000000..dc24a50
Binary files /dev/null and b/img/icon/weather6/HEAVY_HAZE.png differ
diff --git a/img/icon/weather6/HEAVY_RAIN.png b/img/icon/weather6/HEAVY_RAIN.png
new file mode 100644
index 0000000..5192aae
Binary files /dev/null and b/img/icon/weather6/HEAVY_RAIN.png differ
diff --git a/img/icon/weather6/HEAVY_SNOW.png b/img/icon/weather6/HEAVY_SNOW.png
new file mode 100644
index 0000000..4a29ff1
Binary files /dev/null and b/img/icon/weather6/HEAVY_SNOW.png differ
diff --git a/img/icon/weather6/LIGHT_HAZE.png b/img/icon/weather6/LIGHT_HAZE.png
new file mode 100644
index 0000000..dc24a50
Binary files /dev/null and b/img/icon/weather6/LIGHT_HAZE.png differ
diff --git a/img/icon/weather6/LIGHT_RAIN.png b/img/icon/weather6/LIGHT_RAIN.png
new file mode 100644
index 0000000..5192aae
Binary files /dev/null and b/img/icon/weather6/LIGHT_RAIN.png differ
diff --git a/img/icon/weather6/LIGHT_SNOW.png b/img/icon/weather6/LIGHT_SNOW.png
new file mode 100644
index 0000000..4a29ff1
Binary files /dev/null and b/img/icon/weather6/LIGHT_SNOW.png differ
diff --git a/img/icon/weather6/MODERATE_HAZE.png b/img/icon/weather6/MODERATE_HAZE.png
new file mode 100644
index 0000000..dc24a50
Binary files /dev/null and b/img/icon/weather6/MODERATE_HAZE.png differ
diff --git a/img/icon/weather6/MODERATE_RAIN.png b/img/icon/weather6/MODERATE_RAIN.png
new file mode 100644
index 0000000..5192aae
Binary files /dev/null and b/img/icon/weather6/MODERATE_RAIN.png differ
diff --git a/img/icon/weather6/MODERATE_SNOW.png b/img/icon/weather6/MODERATE_SNOW.png
new file mode 100644
index 0000000..4a29ff1
Binary files /dev/null and b/img/icon/weather6/MODERATE_SNOW.png differ
diff --git a/img/icon/weather6/PARTLY_CLOUDY_DAY.png b/img/icon/weather6/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..cb4597b
Binary files /dev/null and b/img/icon/weather6/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/icon/weather6/PARTLY_CLOUDY_NIGHT.png b/img/icon/weather6/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..2477238
Binary files /dev/null and b/img/icon/weather6/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/icon/weather6/SAND.png b/img/icon/weather6/SAND.png
new file mode 100644
index 0000000..e374ebd
Binary files /dev/null and b/img/icon/weather6/SAND.png differ
diff --git a/img/icon/weather6/STORM_RAIN.png b/img/icon/weather6/STORM_RAIN.png
new file mode 100644
index 0000000..5192aae
Binary files /dev/null and b/img/icon/weather6/STORM_RAIN.png differ
diff --git a/img/icon/weather6/STORM_SNOW.png b/img/icon/weather6/STORM_SNOW.png
new file mode 100644
index 0000000..4a29ff1
Binary files /dev/null and b/img/icon/weather6/STORM_SNOW.png differ
diff --git a/img/icon/weather6/WIND.png b/img/icon/weather6/WIND.png
new file mode 100644
index 0000000..f977317
Binary files /dev/null and b/img/icon/weather6/WIND.png differ
diff --git a/img/icon/weather7/CLEAR_DAY.png b/img/icon/weather7/CLEAR_DAY.png
new file mode 100644
index 0000000..41f454d
Binary files /dev/null and b/img/icon/weather7/CLEAR_DAY.png differ
diff --git a/img/icon/weather7/CLEAR_NIGHT.png b/img/icon/weather7/CLEAR_NIGHT.png
new file mode 100644
index 0000000..34537ce
Binary files /dev/null and b/img/icon/weather7/CLEAR_NIGHT.png differ
diff --git a/img/icon/weather7/CLOUDY.png b/img/icon/weather7/CLOUDY.png
new file mode 100644
index 0000000..f0ddfd2
Binary files /dev/null and b/img/icon/weather7/CLOUDY.png differ
diff --git a/img/icon/weather7/DUST.png b/img/icon/weather7/DUST.png
new file mode 100644
index 0000000..e374ebd
Binary files /dev/null and b/img/icon/weather7/DUST.png differ
diff --git a/img/icon/weather7/FOG.png b/img/icon/weather7/FOG.png
new file mode 100644
index 0000000..210bf39
Binary files /dev/null and b/img/icon/weather7/FOG.png differ
diff --git a/img/icon/weather7/HEAVY_HAZE.png b/img/icon/weather7/HEAVY_HAZE.png
new file mode 100644
index 0000000..956843b
Binary files /dev/null and b/img/icon/weather7/HEAVY_HAZE.png differ
diff --git a/img/icon/weather7/HEAVY_RAIN.png b/img/icon/weather7/HEAVY_RAIN.png
new file mode 100644
index 0000000..c1d500b
Binary files /dev/null and b/img/icon/weather7/HEAVY_RAIN.png differ
diff --git a/img/icon/weather7/HEAVY_SNOW.png b/img/icon/weather7/HEAVY_SNOW.png
new file mode 100644
index 0000000..40dcea2
Binary files /dev/null and b/img/icon/weather7/HEAVY_SNOW.png differ
diff --git a/img/icon/weather7/LIGHT_HAZE.png b/img/icon/weather7/LIGHT_HAZE.png
new file mode 100644
index 0000000..956843b
Binary files /dev/null and b/img/icon/weather7/LIGHT_HAZE.png differ
diff --git a/img/icon/weather7/LIGHT_RAIN.png b/img/icon/weather7/LIGHT_RAIN.png
new file mode 100644
index 0000000..668a7a8
Binary files /dev/null and b/img/icon/weather7/LIGHT_RAIN.png differ
diff --git a/img/icon/weather7/LIGHT_SNOW.png b/img/icon/weather7/LIGHT_SNOW.png
new file mode 100644
index 0000000..40dcea2
Binary files /dev/null and b/img/icon/weather7/LIGHT_SNOW.png differ
diff --git a/img/icon/weather7/MODERATE_HAZE.png b/img/icon/weather7/MODERATE_HAZE.png
new file mode 100644
index 0000000..956843b
Binary files /dev/null and b/img/icon/weather7/MODERATE_HAZE.png differ
diff --git a/img/icon/weather7/MODERATE_RAIN.png b/img/icon/weather7/MODERATE_RAIN.png
new file mode 100644
index 0000000..689cb7d
Binary files /dev/null and b/img/icon/weather7/MODERATE_RAIN.png differ
diff --git a/img/icon/weather7/MODERATE_SNOW.png b/img/icon/weather7/MODERATE_SNOW.png
new file mode 100644
index 0000000..40dcea2
Binary files /dev/null and b/img/icon/weather7/MODERATE_SNOW.png differ
diff --git a/img/icon/weather7/PARTLY_CLOUDY_DAY.png b/img/icon/weather7/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..a78ff69
Binary files /dev/null and b/img/icon/weather7/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/icon/weather7/PARTLY_CLOUDY_NIGHT.png b/img/icon/weather7/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..448cb19
Binary files /dev/null and b/img/icon/weather7/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/icon/weather7/SAND.png b/img/icon/weather7/SAND.png
new file mode 100644
index 0000000..e374ebd
Binary files /dev/null and b/img/icon/weather7/SAND.png differ
diff --git a/img/icon/weather7/STORM_RAIN.png b/img/icon/weather7/STORM_RAIN.png
new file mode 100644
index 0000000..abf5136
Binary files /dev/null and b/img/icon/weather7/STORM_RAIN.png differ
diff --git a/img/icon/weather7/STORM_SNOW.png b/img/icon/weather7/STORM_SNOW.png
new file mode 100644
index 0000000..40dcea2
Binary files /dev/null and b/img/icon/weather7/STORM_SNOW.png differ
diff --git a/img/icon/weather7/WIND.png b/img/icon/weather7/WIND.png
new file mode 100644
index 0000000..b9f06c1
Binary files /dev/null and b/img/icon/weather7/WIND.png differ
diff --git a/img/icon/weather8/CLEAR_DAY.png b/img/icon/weather8/CLEAR_DAY.png
new file mode 100644
index 0000000..efee0aa
Binary files /dev/null and b/img/icon/weather8/CLEAR_DAY.png differ
diff --git a/img/icon/weather8/CLEAR_NIGHT.png b/img/icon/weather8/CLEAR_NIGHT.png
new file mode 100644
index 0000000..ffa8580
Binary files /dev/null and b/img/icon/weather8/CLEAR_NIGHT.png differ
diff --git a/img/icon/weather8/CLOUDY.png b/img/icon/weather8/CLOUDY.png
new file mode 100644
index 0000000..673abff
Binary files /dev/null and b/img/icon/weather8/CLOUDY.png differ
diff --git a/img/icon/weather8/DUST.png b/img/icon/weather8/DUST.png
new file mode 100644
index 0000000..4fd9e4a
Binary files /dev/null and b/img/icon/weather8/DUST.png differ
diff --git a/img/icon/weather8/FOG.png b/img/icon/weather8/FOG.png
new file mode 100644
index 0000000..412c17a
Binary files /dev/null and b/img/icon/weather8/FOG.png differ
diff --git a/img/icon/weather8/HEAVY_HAZE.png b/img/icon/weather8/HEAVY_HAZE.png
new file mode 100644
index 0000000..412c17a
Binary files /dev/null and b/img/icon/weather8/HEAVY_HAZE.png differ
diff --git a/img/icon/weather8/HEAVY_RAIN.png b/img/icon/weather8/HEAVY_RAIN.png
new file mode 100644
index 0000000..40d23ef
Binary files /dev/null and b/img/icon/weather8/HEAVY_RAIN.png differ
diff --git a/img/icon/weather8/HEAVY_SNOW.png b/img/icon/weather8/HEAVY_SNOW.png
new file mode 100644
index 0000000..ab53d9c
Binary files /dev/null and b/img/icon/weather8/HEAVY_SNOW.png differ
diff --git a/img/icon/weather8/LIGHT_HAZE.png b/img/icon/weather8/LIGHT_HAZE.png
new file mode 100644
index 0000000..412c17a
Binary files /dev/null and b/img/icon/weather8/LIGHT_HAZE.png differ
diff --git a/img/icon/weather8/LIGHT_RAIN.png b/img/icon/weather8/LIGHT_RAIN.png
new file mode 100644
index 0000000..119b31e
Binary files /dev/null and b/img/icon/weather8/LIGHT_RAIN.png differ
diff --git a/img/icon/weather8/LIGHT_SNOW.png b/img/icon/weather8/LIGHT_SNOW.png
new file mode 100644
index 0000000..c704176
Binary files /dev/null and b/img/icon/weather8/LIGHT_SNOW.png differ
diff --git a/img/icon/weather8/MODERATE_HAZE.png b/img/icon/weather8/MODERATE_HAZE.png
new file mode 100644
index 0000000..412c17a
Binary files /dev/null and b/img/icon/weather8/MODERATE_HAZE.png differ
diff --git a/img/icon/weather8/MODERATE_RAIN.png b/img/icon/weather8/MODERATE_RAIN.png
new file mode 100644
index 0000000..80d5591
Binary files /dev/null and b/img/icon/weather8/MODERATE_RAIN.png differ
diff --git a/img/icon/weather8/MODERATE_SNOW.png b/img/icon/weather8/MODERATE_SNOW.png
new file mode 100644
index 0000000..c704176
Binary files /dev/null and b/img/icon/weather8/MODERATE_SNOW.png differ
diff --git a/img/icon/weather8/PARTLY_CLOUDY_DAY.png b/img/icon/weather8/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..3bb26af
Binary files /dev/null and b/img/icon/weather8/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/icon/weather8/PARTLY_CLOUDY_NIGHT.png b/img/icon/weather8/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..81bb083
Binary files /dev/null and b/img/icon/weather8/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/icon/weather8/SAND.png b/img/icon/weather8/SAND.png
new file mode 100644
index 0000000..4fd9e4a
Binary files /dev/null and b/img/icon/weather8/SAND.png differ
diff --git a/img/icon/weather8/STORM_RAIN.png b/img/icon/weather8/STORM_RAIN.png
new file mode 100644
index 0000000..40d23ef
Binary files /dev/null and b/img/icon/weather8/STORM_RAIN.png differ
diff --git a/img/icon/weather8/STORM_SNOW.png b/img/icon/weather8/STORM_SNOW.png
new file mode 100644
index 0000000..ab53d9c
Binary files /dev/null and b/img/icon/weather8/STORM_SNOW.png differ
diff --git a/img/icon/weather8/WIND.png b/img/icon/weather8/WIND.png
new file mode 100644
index 0000000..6396890
Binary files /dev/null and b/img/icon/weather8/WIND.png differ
diff --git a/img/icon/weather9/CLEAR_DAY.png b/img/icon/weather9/CLEAR_DAY.png
new file mode 100644
index 0000000..d14b7ca
Binary files /dev/null and b/img/icon/weather9/CLEAR_DAY.png differ
diff --git a/img/icon/weather9/CLEAR_NIGHT.png b/img/icon/weather9/CLEAR_NIGHT.png
new file mode 100644
index 0000000..6e44011
Binary files /dev/null and b/img/icon/weather9/CLEAR_NIGHT.png differ
diff --git a/img/icon/weather9/CLOUDY.png b/img/icon/weather9/CLOUDY.png
new file mode 100644
index 0000000..5b4c56d
Binary files /dev/null and b/img/icon/weather9/CLOUDY.png differ
diff --git a/img/icon/weather9/DUST.png b/img/icon/weather9/DUST.png
new file mode 100644
index 0000000..8c3f188
Binary files /dev/null and b/img/icon/weather9/DUST.png differ
diff --git a/img/icon/weather9/FOG.png b/img/icon/weather9/FOG.png
new file mode 100644
index 0000000..0ae34f4
Binary files /dev/null and b/img/icon/weather9/FOG.png differ
diff --git a/img/icon/weather9/HEAVY_HAZE.png b/img/icon/weather9/HEAVY_HAZE.png
new file mode 100644
index 0000000..0ae34f4
Binary files /dev/null and b/img/icon/weather9/HEAVY_HAZE.png differ
diff --git a/img/icon/weather9/HEAVY_RAIN.png b/img/icon/weather9/HEAVY_RAIN.png
new file mode 100644
index 0000000..adab24b
Binary files /dev/null and b/img/icon/weather9/HEAVY_RAIN.png differ
diff --git a/img/icon/weather9/HEAVY_SNOW.png b/img/icon/weather9/HEAVY_SNOW.png
new file mode 100644
index 0000000..0b29089
Binary files /dev/null and b/img/icon/weather9/HEAVY_SNOW.png differ
diff --git a/img/icon/weather9/LIGHT_HAZE.png b/img/icon/weather9/LIGHT_HAZE.png
new file mode 100644
index 0000000..0ae34f4
Binary files /dev/null and b/img/icon/weather9/LIGHT_HAZE.png differ
diff --git a/img/icon/weather9/LIGHT_RAIN.png b/img/icon/weather9/LIGHT_RAIN.png
new file mode 100644
index 0000000..adab24b
Binary files /dev/null and b/img/icon/weather9/LIGHT_RAIN.png differ
diff --git a/img/icon/weather9/LIGHT_SNOW.png b/img/icon/weather9/LIGHT_SNOW.png
new file mode 100644
index 0000000..0b29089
Binary files /dev/null and b/img/icon/weather9/LIGHT_SNOW.png differ
diff --git a/img/icon/weather9/MODERATE_HAZE.png b/img/icon/weather9/MODERATE_HAZE.png
new file mode 100644
index 0000000..0ae34f4
Binary files /dev/null and b/img/icon/weather9/MODERATE_HAZE.png differ
diff --git a/img/icon/weather9/MODERATE_RAIN.png b/img/icon/weather9/MODERATE_RAIN.png
new file mode 100644
index 0000000..adab24b
Binary files /dev/null and b/img/icon/weather9/MODERATE_RAIN.png differ
diff --git a/img/icon/weather9/MODERATE_SNOW.png b/img/icon/weather9/MODERATE_SNOW.png
new file mode 100644
index 0000000..0b29089
Binary files /dev/null and b/img/icon/weather9/MODERATE_SNOW.png differ
diff --git a/img/icon/weather9/PARTLY_CLOUDY_DAY.png b/img/icon/weather9/PARTLY_CLOUDY_DAY.png
new file mode 100644
index 0000000..d1b939f
Binary files /dev/null and b/img/icon/weather9/PARTLY_CLOUDY_DAY.png differ
diff --git a/img/icon/weather9/PARTLY_CLOUDY_NIGHT.png b/img/icon/weather9/PARTLY_CLOUDY_NIGHT.png
new file mode 100644
index 0000000..6162320
Binary files /dev/null and b/img/icon/weather9/PARTLY_CLOUDY_NIGHT.png differ
diff --git a/img/icon/weather9/SAND.png b/img/icon/weather9/SAND.png
new file mode 100644
index 0000000..8c3f188
Binary files /dev/null and b/img/icon/weather9/SAND.png differ
diff --git a/img/icon/weather9/STORM_RAIN.png b/img/icon/weather9/STORM_RAIN.png
new file mode 100644
index 0000000..adab24b
Binary files /dev/null and b/img/icon/weather9/STORM_RAIN.png differ
diff --git a/img/icon/weather9/STORM_SNOW.png b/img/icon/weather9/STORM_SNOW.png
new file mode 100644
index 0000000..0b29089
Binary files /dev/null and b/img/icon/weather9/STORM_SNOW.png differ
diff --git a/img/icon/weather9/WIND.png b/img/icon/weather9/WIND.png
new file mode 100644
index 0000000..8c3f188
Binary files /dev/null and b/img/icon/weather9/WIND.png differ
diff --git a/img/icon_10000.png b/img/icon_10000.png
new file mode 100644
index 0000000..03baf6c
Binary files /dev/null and b/img/icon_10000.png differ
diff --git a/img/icon_10010.png b/img/icon_10010.png
new file mode 100644
index 0000000..0e55ae4
Binary files /dev/null and b/img/icon_10010.png differ
diff --git a/img/icon_caiyun.png b/img/icon_caiyun.png
new file mode 100644
index 0000000..0b7ea85
Binary files /dev/null and b/img/icon_caiyun.png differ
diff --git a/img/icon_calendar.png b/img/icon_calendar.png
new file mode 100644
index 0000000..e6517b0
Binary files /dev/null and b/img/icon_calendar.png differ
diff --git a/img/icon_mobile.png b/img/icon_mobile.png
new file mode 100644
index 0000000..eeca497
Binary files /dev/null and b/img/icon_mobile.png differ
diff --git a/img/jd/bg_jd_avatar_plus.png b/img/jd/bg_jd_avatar_plus.png
new file mode 100644
index 0000000..fb9154a
Binary files /dev/null and b/img/jd/bg_jd_avatar_plus.png differ
diff --git a/img/jd/bg_orange.png b/img/jd/bg_orange.png
new file mode 100644
index 0000000..bb702ee
Binary files /dev/null and b/img/jd/bg_orange.png differ
diff --git a/img/jd/bg_plus_avatar.png b/img/jd/bg_plus_avatar.png
new file mode 100644
index 0000000..f8a30fb
Binary files /dev/null and b/img/jd/bg_plus_avatar.png differ
diff --git a/img/jd/bg_red_rect.png b/img/jd/bg_red_rect.png
new file mode 100644
index 0000000..e36f280
Binary files /dev/null and b/img/jd/bg_red_rect.png differ
diff --git a/img/jd/bg_yellow.png b/img/jd/bg_yellow.png
new file mode 100644
index 0000000..3a9b43d
Binary files /dev/null and b/img/jd/bg_yellow.png differ
diff --git a/img/jd/face-with-hands-over-face.png b/img/jd/face-with-hands-over-face.png
new file mode 100644
index 0000000..e6e780b
Binary files /dev/null and b/img/jd/face-with-hands-over-face.png differ
diff --git a/img/jd/face-with-rainbow-glasses.png b/img/jd/face-with-rainbow-glasses.png
new file mode 100644
index 0000000..2c6cb30
Binary files /dev/null and b/img/jd/face-with-rainbow-glasses.png differ
diff --git a/img/jd/face-with-uniglasses.png b/img/jd/face-with-uniglasses.png
new file mode 100644
index 0000000..3afd85e
Binary files /dev/null and b/img/jd/face-with-uniglasses.png differ
diff --git a/img/jd/ic_bean_color.jpg b/img/jd/ic_bean_color.jpg
new file mode 100644
index 0000000..b54fc38
Binary files /dev/null and b/img/jd/ic_bean_color.jpg differ
diff --git a/img/jd/ic_bean_simple.png b/img/jd/ic_bean_simple.png
new file mode 100644
index 0000000..7f05ac7
Binary files /dev/null and b/img/jd/ic_bean_simple.png differ
diff --git a/img/jd/ic_expired.png b/img/jd/ic_expired.png
new file mode 100644
index 0000000..ae864c7
Binary files /dev/null and b/img/jd/ic_expired.png differ
diff --git a/img/jd/ic_jd_logo.png b/img/jd/ic_jd_logo.png
new file mode 100644
index 0000000..f0eda8a
Binary files /dev/null and b/img/jd/ic_jd_logo.png differ
diff --git a/img/jd/ic_jd_text.jpg b/img/jd/ic_jd_text.jpg
new file mode 100644
index 0000000..3c13ddd
Binary files /dev/null and b/img/jd/ic_jd_text.jpg differ
diff --git a/img/jd/icon_app_logo.png b/img/jd/icon_app_logo.png
new file mode 100644
index 0000000..2ff9013
Binary files /dev/null and b/img/jd/icon_app_logo.png differ
diff --git a/img/jd/icon_avatar_default.png b/img/jd/icon_avatar_default.png
new file mode 100644
index 0000000..4ab75e7
Binary files /dev/null and b/img/jd/icon_avatar_default.png differ
diff --git a/img/jd/icon_avatar_jd.png b/img/jd/icon_avatar_jd.png
new file mode 100644
index 0000000..7bfc2b1
Binary files /dev/null and b/img/jd/icon_avatar_jd.png differ
diff --git a/img/jd/icon_baitiao.jpg b/img/jd/icon_baitiao.jpg
new file mode 100644
index 0000000..439843f
Binary files /dev/null and b/img/jd/icon_baitiao.jpg differ
diff --git a/img/jd/icon_banner.png b/img/jd/icon_banner.png
new file mode 100644
index 0000000..d61a1f8
Binary files /dev/null and b/img/jd/icon_banner.png differ
diff --git a/img/jd/icon_bean_yellow.png b/img/jd/icon_bean_yellow.png
new file mode 100644
index 0000000..ecd64bf
Binary files /dev/null and b/img/jd/icon_bean_yellow.png differ
diff --git a/img/jd/icon_expired.png b/img/jd/icon_expired.png
new file mode 100644
index 0000000..f2fb9b6
Binary files /dev/null and b/img/jd/icon_expired.png differ
diff --git a/img/jd/icon_fruit.png b/img/jd/icon_fruit.png
new file mode 100644
index 0000000..97ae408
Binary files /dev/null and b/img/jd/icon_fruit.png differ
diff --git a/img/jd/icon_money_unit.png b/img/jd/icon_money_unit.png
new file mode 100644
index 0000000..e084063
Binary files /dev/null and b/img/jd/icon_money_unit.png differ
diff --git a/img/jd/icon_plus.jpg b/img/jd/icon_plus.jpg
new file mode 100644
index 0000000..ae2f188
Binary files /dev/null and b/img/jd/icon_plus.jpg differ
diff --git a/img/jd/icon_wallet.jpg b/img/jd/icon_wallet.jpg
new file mode 100644
index 0000000..7e1ef8a
Binary files /dev/null and b/img/jd/icon_wallet.jpg differ
diff --git a/img/jd/partying-face.png b/img/jd/partying-face.png
new file mode 100644
index 0000000..e3177c5
Binary files /dev/null and b/img/jd/partying-face.png differ
diff --git a/img/jd/robot-face.png b/img/jd/robot-face.png
new file mode 100644
index 0000000..531231a
Binary files /dev/null and b/img/jd/robot-face.png differ
diff --git a/img/memorial-day.png b/img/memorial-day.png
new file mode 100644
index 0000000..7967d13
Binary files /dev/null and b/img/memorial-day.png differ
diff --git a/img/other/ali_scan.png b/img/other/ali_scan.png
new file mode 100644
index 0000000..bbff5ec
Binary files /dev/null and b/img/other/ali_scan.png differ
diff --git a/img/other/ball.png b/img/other/ball.png
new file mode 100644
index 0000000..35f1f12
Binary files /dev/null and b/img/other/ball.png differ
diff --git a/img/other/bg_word_cup.png b/img/other/bg_word_cup.png
new file mode 100644
index 0000000..33a1097
Binary files /dev/null and b/img/other/bg_word_cup.png differ
diff --git a/img/other/big.png b/img/other/big.png
new file mode 100644
index 0000000..faf60a9
Binary files /dev/null and b/img/other/big.png differ
diff --git a/img/other/delivery-man.png b/img/other/delivery-man.png
new file mode 100644
index 0000000..f349185
Binary files /dev/null and b/img/other/delivery-man.png differ
diff --git a/img/other/list-icon/.keep b/img/other/list-icon/.keep
new file mode 100644
index 0000000..e69de29
diff --git a/img/other/list-icon/ic-list-clean.png b/img/other/list-icon/ic-list-clean.png
new file mode 100644
index 0000000..53efdc8
Binary files /dev/null and b/img/other/list-icon/ic-list-clean.png differ
diff --git a/img/other/list-icon/ic-list-notify.png b/img/other/list-icon/ic-list-notify.png
new file mode 100644
index 0000000..c396290
Binary files /dev/null and b/img/other/list-icon/ic-list-notify.png differ
diff --git a/img/other/list-icon/ic-list-preview-large.png b/img/other/list-icon/ic-list-preview-large.png
new file mode 100644
index 0000000..0716d04
Binary files /dev/null and b/img/other/list-icon/ic-list-preview-large.png differ
diff --git a/img/other/list-icon/ic-list-preview-medium.png b/img/other/list-icon/ic-list-preview-medium.png
new file mode 100644
index 0000000..f40e704
Binary files /dev/null and b/img/other/list-icon/ic-list-preview-medium.png differ
diff --git a/img/other/list-icon/ic-list-preview-small.png b/img/other/list-icon/ic-list-preview-small.png
new file mode 100644
index 0000000..67e38df
Binary files /dev/null and b/img/other/list-icon/ic-list-preview-small.png differ
diff --git a/img/other/list-icon/ic-list-refresh-time.png b/img/other/list-icon/ic-list-refresh-time.png
new file mode 100644
index 0000000..186dcd7
Binary files /dev/null and b/img/other/list-icon/ic-list-refresh-time.png differ
diff --git a/img/other/list-icon/ic-list-update.png b/img/other/list-icon/ic-list-update.png
new file mode 100644
index 0000000..16fd584
Binary files /dev/null and b/img/other/list-icon/ic-list-update.png differ
diff --git a/img/other/list-icon/ic-list-widget-bg.png b/img/other/list-icon/ic-list-widget-bg.png
new file mode 100644
index 0000000..6a84c77
Binary files /dev/null and b/img/other/list-icon/ic-list-widget-bg.png differ
diff --git a/img/other/list-icon/ic_avatar.jpeg b/img/other/list-icon/ic_avatar.jpeg
new file mode 100644
index 0000000..58a1d8a
Binary files /dev/null and b/img/other/list-icon/ic_avatar.jpeg differ
diff --git a/img/other/list-icon/weather_loop.gif b/img/other/list-icon/weather_loop.gif
new file mode 100644
index 0000000..11f66b0
Binary files /dev/null and b/img/other/list-icon/weather_loop.gif differ
diff --git a/img/other/live.png b/img/other/live.png
new file mode 100644
index 0000000..ccfd705
Binary files /dev/null and b/img/other/live.png differ
diff --git a/img/other/middle.png b/img/other/middle.png
new file mode 100644
index 0000000..712e240
Binary files /dev/null and b/img/other/middle.png differ
diff --git a/img/other/olive-tree.png b/img/other/olive-tree.png
new file mode 100644
index 0000000..a8c02cc
Binary files /dev/null and b/img/other/olive-tree.png differ
diff --git a/img/other/payment.png b/img/other/payment.png
new file mode 100644
index 0000000..aee72a5
Binary files /dev/null and b/img/other/payment.png differ
diff --git a/img/other/small.png b/img/other/small.png
new file mode 100644
index 0000000..8f1812d
Binary files /dev/null and b/img/other/small.png differ
diff --git a/img/other/trip.png b/img/other/trip.png
new file mode 100644
index 0000000..9c3e35f
Binary files /dev/null and b/img/other/trip.png differ
diff --git a/img/other/wecat_t.png b/img/other/wecat_t.png
new file mode 100644
index 0000000..8ba87fb
Binary files /dev/null and b/img/other/wecat_t.png differ
diff --git a/img/other/wechat.png b/img/other/wechat.png
new file mode 100644
index 0000000..67e31c2
Binary files /dev/null and b/img/other/wechat.png differ
diff --git a/img/other/wechat_avatar.JPG b/img/other/wechat_avatar.JPG
new file mode 100644
index 0000000..6a58f8c
Binary files /dev/null and b/img/other/wechat_avatar.JPG differ
diff --git a/img/other/wechat_pay.png b/img/other/wechat_pay.png
new file mode 100644
index 0000000..d13643f
Binary files /dev/null and b/img/other/wechat_pay.png differ
diff --git a/img/other/weibo.png b/img/other/weibo.png
new file mode 100644
index 0000000..1a2277f
Binary files /dev/null and b/img/other/weibo.png differ
diff --git a/img/party-popper.png b/img/party-popper.png
new file mode 100644
index 0000000..65fcd6e
Binary files /dev/null and b/img/party-popper.png differ
diff --git a/img/setting.gif b/img/setting.gif
new file mode 100644
index 0000000..c7fc27c
Binary files /dev/null and b/img/setting.gif differ
diff --git a/install/install_s1.js b/install/install_s1.js
new file mode 100644
index 0000000..939543e
--- /dev/null
+++ b/install/install_s1.js
@@ -0,0 +1 @@
+var _0xb921 = ["\x49\x6E\x73\x74\x61\x6C\x6C\x65\x72", "\u684C\u9762\u542F\u52A8", "\uD83D\uDC49\u516C\u4F17\u53F7\xAB\u6742\u8D27\u4E07\u4E8B\u5C4B\xBB", "\x6C\x6F\x67", "\uD83D\uDE80\u5B89\u88C5\xAB", "\xBB\u5C0F\u7EC4\u4EF6", "\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73\x2F\x69\x43\x6C\x6F\x75\x64\x7E", "\x69\x6E\x63\x6C\x75\x64\x65\x73", "\x66\x69\x6C\x65\x6E\x61\x6D\x65", "\x69\x43\x6C\x6F\x75\x64", "\x6C\x6F\x63\x61\x6C", "\x2E\x6A\x73", "", "\x72\x65\x70\x6C\x61\x63\x65", "\uD83D\uDC49\u4E0B\u8F7D\u5C0F\u7EC4\u4EF6\xAB", "\xBB", "\x68\x74\x74\x70\x73\x3A\x2F\x2F\x72\x61\x77\x2E\x67\x69\x74\x68\x75\x62\x75\x73\x65\x72\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6F\x6D\x2F\x45\x6E\x6A\x6F\x79\x65\x65\x2F\x53\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x2F\x76\x32\x2F", "\uD83D\uDC49\u811A\u672C\u5730\u5740\uFF1A", "\x6C\x6F\x61\x64", "\x64\x6F\x63\x75\x6D\x65\x6E\x74\x73\x44\x69\x72\x65\x63\x74\x6F\x72\x79", "\x6A\x6F\x69\x6E\x50\x61\x74\x68", "\x66\x69\x6C\x65\x45\x78\x69\x73\x74\x73", "\x74\x69\x74\x6C\x65", "\u26A0\uFE0F\x20\u53D1\u73B0\u540C\u540D\u5C0F\u7EC4\u4EF6\x20\u26A0\uFE0F", "\x6D\x65\x73\x73\x61\x67\x65", "\x0A\u662F\u5426\u66FF\u6362\u6B64\u5C0F\u7EC4\u4EF6\x0A", "\xAB", "\u66FF\u6362", "\x61\x64\x64\x41\x63\x74\x69\x6F\x6E", "\u9000\u51FA", "\x61\x64\x64\x43\x61\x6E\x63\x65\x6C\x41\x63\x74\x69\x6F\x6E", "\x70\x72\x65\x73\x65\x6E\x74\x41\x6C\x65\x72\x74", "\u26D4\uFE0F\u505C\u6B62\u5B89\u88C5\u5C0F\u7EC4\u4EF6", "\x77\x72\x69\x74\x65", "\uD83D\uDC49\u521B\u5EFA\xAB", "\xBB\u5B8C\u6210", "\x6D\x61\x70", "\x61\x6C\x6C", "\x72\x65\x6D\x6F\x76\x65", "\u26D4\uFE0F\u5220\u9664\u5B89\u88C5\u811A\u672C\u6587\u4EF6", "\x73\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x3A\x2F\x2F\x2F\x72\x75\x6E\x2F", "\x6F\x70\x65\x6E", "\uD83D\uDC49\u8FD0\u884C\xAB"]; Script[_0xb921[0]] = async () => { let _0xd873x1 = true; const _0xd873x2 = _0xb921[1]; console[_0xb921[3]](`${_0xb921[2]}`); console[_0xb921[3]](`${_0xb921[4]}${_0xd873x2}${_0xb921[5]}`); const _0xd873x3 = FileManager[module[_0xb921[8]][_0xb921[7]](_0xb921[6]) ? _0xb921[9] : _0xb921[10]](); await Promise[_0xb921[37]]([`${_0xb921[12]}${_0xd873x2}${_0xb921[11]}`][_0xb921[36]](async (_0xd873x4) => { const _0xd873x5 = _0xd873x4[_0xb921[13]](_0xb921[11], _0xb921[12]); console[_0xb921[3]](_0xb921[14] + _0xd873x5 + _0xb921[15]); let _0xd873x6 = `${_0xb921[16]}${encodeURIComponent(_0xd873x5)}${_0xb921[11]}`; console[_0xb921[3]](_0xb921[17] + _0xd873x6); const _0xd873x7 = new Request(_0xd873x6); const _0xd873x8 = await _0xd873x7[_0xb921[18]](); const _0xd873x9 = _0xd873x3[_0xb921[20]](_0xd873x3[_0xb921[19]](), _0xd873x4); if (_0xd873x3[_0xb921[21]](_0xd873x9)) { let _0xd873xa = new Alert(); _0xd873xa[_0xb921[22]] = _0xb921[23]; _0xd873xa[_0xb921[24]] = _0xb921[25] + _0xb921[26] + _0xd873x2 + _0xb921[15]; _0xd873xa[_0xb921[28]](_0xb921[27]); _0xd873xa[_0xb921[30]](_0xb921[29]); let _0xd873xb = await _0xd873xa[_0xb921[31]](); _0xd873x1 = _0xd873xb !== -1 }; if (!_0xd873x1) { console[_0xb921[3]](_0xb921[32]) } else { _0xd873x3[_0xb921[33]](_0xd873x9, _0xd873x8); console[_0xb921[3]](`${_0xb921[34]}${_0xd873x5}${_0xb921[35]}`) } })); if (_0xd873x1) { _0xd873x3[_0xb921[38]](module[_0xb921[8]]); console[_0xb921[3]](_0xb921[39]); Safari[_0xb921[41]](`${_0xb921[40]}${encodeURIComponent(_0xd873x2)}${_0xb921[12]}`); console[_0xb921[3]](`${_0xb921[42]}${_0xd873x2}${_0xb921[5]}`) } }
\ No newline at end of file
diff --git a/install/install_s10.js b/install/install_s10.js
new file mode 100644
index 0000000..0020e0d
--- /dev/null
+++ b/install/install_s10.js
@@ -0,0 +1 @@
+var _0x3016=["\x49\x6E\x73\x74\x61\x6C\x6C\x65\x72","\u7535\u4FE1","\uD83D\uDC49\u516C\u4F17\u53F7\xAB\u6742\u8D27\u4E07\u4E8B\u5C4B\xBB","\x6C\x6F\x67","\uD83D\uDE80\u5B89\u88C5\xAB","\xBB\u5C0F\u7EC4\u4EF6","\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73\x2F\x69\x43\x6C\x6F\x75\x64\x7E","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x69\x43\x6C\x6F\x75\x64","\x6C\x6F\x63\x61\x6C","\x2E\x6A\x73","","\x72\x65\x70\x6C\x61\x63\x65","\uD83D\uDC49\u4E0B\u8F7D\u5C0F\u7EC4\u4EF6\xAB","\xBB","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x72\x61\x77\x2E\x67\x69\x74\x68\x75\x62\x75\x73\x65\x72\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6F\x6D\x2F\x45\x6E\x6A\x6F\x79\x65\x65\x2F\x53\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x2F\x76\x32\x2F","\uD83D\uDC49\u811A\u672C\u5730\u5740\uFF1A","\x6C\x6F\x61\x64","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x73\x44\x69\x72\x65\x63\x74\x6F\x72\x79","\x6A\x6F\x69\x6E\x50\x61\x74\x68","\x66\x69\x6C\x65\x45\x78\x69\x73\x74\x73","\x74\x69\x74\x6C\x65","\u26A0\uFE0F\x20\u53D1\u73B0\u540C\u540D\u5C0F\u7EC4\u4EF6\x20\u26A0\uFE0F","\x6D\x65\x73\x73\x61\x67\x65","\x0A\u662F\u5426\u66FF\u6362\u6B64\u5C0F\u7EC4\u4EF6\x0A","\xAB","\u66FF\u6362","\x61\x64\x64\x41\x63\x74\x69\x6F\x6E","\u9000\u51FA","\x61\x64\x64\x43\x61\x6E\x63\x65\x6C\x41\x63\x74\x69\x6F\x6E","\x70\x72\x65\x73\x65\x6E\x74\x41\x6C\x65\x72\x74","\u26D4\uFE0F\u505C\u6B62\u5B89\u88C5\u5C0F\u7EC4\u4EF6","\x77\x72\x69\x74\x65","\uD83D\uDC49\u521B\u5EFA\xAB","\xBB\u5B8C\u6210","\x6D\x61\x70","\x61\x6C\x6C","\x72\x65\x6D\x6F\x76\x65","\u26D4\uFE0F\u5220\u9664\u5B89\u88C5\u811A\u672C\u6587\u4EF6","\x73\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x3A\x2F\x2F\x2F\x72\x75\x6E\x2F","\x6F\x70\x65\x6E","\uD83D\uDC49\u8FD0\u884C\xAB"];Script[_0x3016[0]]= async ()=>{let _0x7ab5x1=true;const _0x7ab5x2=_0x3016[1];console[_0x3016[3]](`${_0x3016[2]}`);console[_0x3016[3]](`${_0x3016[4]}${_0x7ab5x2}${_0x3016[5]}`);const _0x7ab5x3=FileManager[module[_0x3016[8]][_0x3016[7]](_0x3016[6])?_0x3016[9]:_0x3016[10]](); await Promise[_0x3016[37]]([`${_0x3016[12]}${_0x7ab5x2}${_0x3016[11]}`][_0x3016[36]](async (_0x7ab5x4)=>{const _0x7ab5x5=_0x7ab5x4[_0x3016[13]](_0x3016[11],_0x3016[12]);console[_0x3016[3]](_0x3016[14]+ _0x7ab5x5+ _0x3016[15]);let _0x7ab5x6=`${_0x3016[16]}${encodeURIComponent(_0x7ab5x5)}${_0x3016[11]}`;console[_0x3016[3]](_0x3016[17]+ _0x7ab5x6);const _0x7ab5x7= new Request(_0x7ab5x6);const _0x7ab5x8= await _0x7ab5x7[_0x3016[18]]();const _0x7ab5x9=_0x7ab5x3[_0x3016[20]](_0x7ab5x3[_0x3016[19]](),_0x7ab5x4);if(_0x7ab5x3[_0x3016[21]](_0x7ab5x9)){let _0x7ab5xa= new Alert();_0x7ab5xa[_0x3016[22]]= _0x3016[23];_0x7ab5xa[_0x3016[24]]= _0x3016[25]+ _0x3016[26]+ _0x7ab5x2+ _0x3016[15];_0x7ab5xa[_0x3016[28]](_0x3016[27]);_0x7ab5xa[_0x3016[30]](_0x3016[29]);let _0x7ab5xb= await _0x7ab5xa[_0x3016[31]]();_0x7ab5x1= _0x7ab5xb!== -1};if(!_0x7ab5x1){console[_0x3016[3]](_0x3016[32])}else {_0x7ab5x3[_0x3016[33]](_0x7ab5x9,_0x7ab5x8);console[_0x3016[3]](`${_0x3016[34]}${_0x7ab5x5}${_0x3016[35]}`)}}));if(_0x7ab5x1){_0x7ab5x3[_0x3016[38]](module[_0x3016[8]]);console[_0x3016[3]](_0x3016[39]);Safari[_0x3016[41]](`${_0x3016[40]}${encodeURIComponent(_0x7ab5x2)}${_0x3016[12]}`);console[_0x3016[3]](`${_0x3016[42]}${_0x7ab5x2}${_0x3016[5]}`)}}
\ No newline at end of file
diff --git a/install/install_s11.js b/install/install_s11.js
new file mode 100644
index 0000000..59eb4f6
--- /dev/null
+++ b/install/install_s11.js
@@ -0,0 +1 @@
+var _0xe315=["\x49\x6E\x73\x74\x61\x6C\x6C\x65\x72","\u8054\u901A","\uD83D\uDC49\u516C\u4F17\u53F7\xAB\u6742\u8D27\u4E07\u4E8B\u5C4B\xBB","\x6C\x6F\x67","\uD83D\uDE80\u5B89\u88C5\xAB","\xBB\u5C0F\u7EC4\u4EF6","\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73\x2F\x69\x43\x6C\x6F\x75\x64\x7E","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x69\x43\x6C\x6F\x75\x64","\x6C\x6F\x63\x61\x6C","\x2E\x6A\x73","","\x72\x65\x70\x6C\x61\x63\x65","\uD83D\uDC49\u4E0B\u8F7D\u5C0F\u7EC4\u4EF6\xAB","\xBB","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x72\x61\x77\x2E\x67\x69\x74\x68\x75\x62\x75\x73\x65\x72\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6F\x6D\x2F\x45\x6E\x6A\x6F\x79\x65\x65\x2F\x53\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x2F\x76\x32\x2F","\uD83D\uDC49\u811A\u672C\u5730\u5740\uFF1A","\x6C\x6F\x61\x64","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x73\x44\x69\x72\x65\x63\x74\x6F\x72\x79","\x6A\x6F\x69\x6E\x50\x61\x74\x68","\x66\x69\x6C\x65\x45\x78\x69\x73\x74\x73","\x74\x69\x74\x6C\x65","\u26A0\uFE0F\x20\u53D1\u73B0\u540C\u540D\u5C0F\u7EC4\u4EF6\x20\u26A0\uFE0F","\x6D\x65\x73\x73\x61\x67\x65","\x0A\u662F\u5426\u66FF\u6362\u6B64\u5C0F\u7EC4\u4EF6\x0A","\xAB","\u66FF\u6362","\x61\x64\x64\x41\x63\x74\x69\x6F\x6E","\u9000\u51FA","\x61\x64\x64\x43\x61\x6E\x63\x65\x6C\x41\x63\x74\x69\x6F\x6E","\x70\x72\x65\x73\x65\x6E\x74\x41\x6C\x65\x72\x74","\u26D4\uFE0F\u505C\u6B62\u5B89\u88C5\u5C0F\u7EC4\u4EF6","\x77\x72\x69\x74\x65","\uD83D\uDC49\u521B\u5EFA\xAB","\xBB\u5B8C\u6210","\x6D\x61\x70","\x61\x6C\x6C","\x72\x65\x6D\x6F\x76\x65","\u26D4\uFE0F\u5220\u9664\u5B89\u88C5\u811A\u672C\u6587\u4EF6","\x73\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x3A\x2F\x2F\x2F\x72\x75\x6E\x2F","\x6F\x70\x65\x6E","\uD83D\uDC49\u8FD0\u884C\xAB"];Script[_0xe315[0]]= async ()=>{let _0xa5b7x1=true;const _0xa5b7x2=_0xe315[1];console[_0xe315[3]](`${_0xe315[2]}`);console[_0xe315[3]](`${_0xe315[4]}${_0xa5b7x2}${_0xe315[5]}`);const _0xa5b7x3=FileManager[module[_0xe315[8]][_0xe315[7]](_0xe315[6])?_0xe315[9]:_0xe315[10]](); await Promise[_0xe315[37]]([`${_0xe315[12]}${_0xa5b7x2}${_0xe315[11]}`][_0xe315[36]](async (_0xa5b7x4)=>{const _0xa5b7x5=_0xa5b7x4[_0xe315[13]](_0xe315[11],_0xe315[12]);console[_0xe315[3]](_0xe315[14]+ _0xa5b7x5+ _0xe315[15]);let _0xa5b7x6=`${_0xe315[16]}${encodeURIComponent(_0xa5b7x5)}${_0xe315[11]}`;console[_0xe315[3]](_0xe315[17]+ _0xa5b7x6);const _0xa5b7x7= new Request(_0xa5b7x6);const _0xa5b7x8= await _0xa5b7x7[_0xe315[18]]();const _0xa5b7x9=_0xa5b7x3[_0xe315[20]](_0xa5b7x3[_0xe315[19]](),_0xa5b7x4);if(_0xa5b7x3[_0xe315[21]](_0xa5b7x9)){let _0xa5b7xa= new Alert();_0xa5b7xa[_0xe315[22]]= _0xe315[23];_0xa5b7xa[_0xe315[24]]= _0xe315[25]+ _0xe315[26]+ _0xa5b7x2+ _0xe315[15];_0xa5b7xa[_0xe315[28]](_0xe315[27]);_0xa5b7xa[_0xe315[30]](_0xe315[29]);let _0xa5b7xb= await _0xa5b7xa[_0xe315[31]]();_0xa5b7x1= _0xa5b7xb!== -1};if(!_0xa5b7x1){console[_0xe315[3]](_0xe315[32])}else {_0xa5b7x3[_0xe315[33]](_0xa5b7x9,_0xa5b7x8);console[_0xe315[3]](`${_0xe315[34]}${_0xa5b7x5}${_0xe315[35]}`)}}));if(_0xa5b7x1){_0xa5b7x3[_0xe315[38]](module[_0xe315[8]]);console[_0xe315[3]](_0xe315[39]);Safari[_0xe315[41]](`${_0xe315[40]}${encodeURIComponent(_0xa5b7x2)}${_0xe315[12]}`);console[_0xe315[3]](`${_0xe315[42]}${_0xa5b7x2}${_0xe315[5]}`)}}
\ No newline at end of file
diff --git a/install/install_s12.js b/install/install_s12.js
new file mode 100644
index 0000000..e883d5e
--- /dev/null
+++ b/install/install_s12.js
@@ -0,0 +1 @@
+var _0x4476 = ["\x49\x6E\x73\x74\x61\x6C\x6C\x65\x72", "\u5F69\u4E91\u6298\u7EBF", "\uD83D\uDC49\u516C\u4F17\u53F7\xAB\u6742\u8D27\u4E07\u4E8B\u5C4B\xBB", "\x6C\x6F\x67", "\uD83D\uDE80\u5B89\u88C5\xAB", "\xBB\u5C0F\u7EC4\u4EF6", "\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73\x2F\x69\x43\x6C\x6F\x75\x64\x7E", "\x69\x6E\x63\x6C\x75\x64\x65\x73", "\x66\x69\x6C\x65\x6E\x61\x6D\x65", "\x69\x43\x6C\x6F\x75\x64", "\x6C\x6F\x63\x61\x6C", "\x2E\x6A\x73", "", "\x72\x65\x70\x6C\x61\x63\x65", "\uD83D\uDC49\u4E0B\u8F7D\u5C0F\u7EC4\u4EF6\xAB", "\xBB", "\x68\x74\x74\x70\x73\x3A\x2F\x2F\x72\x61\x77\x2E\x67\x69\x74\x68\x75\x62\x75\x73\x65\x72\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6F\x6D\x2F\x45\x6E\x6A\x6F\x79\x65\x65\x2F\x53\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x2F\x76\x32\x2F", "\uD83D\uDC49\u811A\u672C\u5730\u5740\uFF1A", "\x6C\x6F\x61\x64", "\x64\x6F\x63\x75\x6D\x65\x6E\x74\x73\x44\x69\x72\x65\x63\x74\x6F\x72\x79", "\x6A\x6F\x69\x6E\x50\x61\x74\x68", "\x66\x69\x6C\x65\x45\x78\x69\x73\x74\x73", "\x74\x69\x74\x6C\x65", "\u26A0\uFE0F\x20\u53D1\u73B0\u540C\u540D\u5C0F\u7EC4\u4EF6\x20\u26A0\uFE0F", "\x6D\x65\x73\x73\x61\x67\x65", "\x0A\u662F\u5426\u66FF\u6362\u6B64\u5C0F\u7EC4\u4EF6\x0A", "\xAB", "\u66FF\u6362", "\x61\x64\x64\x41\x63\x74\x69\x6F\x6E", "\u9000\u51FA", "\x61\x64\x64\x43\x61\x6E\x63\x65\x6C\x41\x63\x74\x69\x6F\x6E", "\x70\x72\x65\x73\x65\x6E\x74\x41\x6C\x65\x72\x74", "\u26D4\uFE0F\u505C\u6B62\u5B89\u88C5\u5C0F\u7EC4\u4EF6", "\x77\x72\x69\x74\x65", "\uD83D\uDC49\u521B\u5EFA\xAB", "\xBB\u5B8C\u6210", "\x6D\x61\x70", "\x61\x6C\x6C", "\x72\x65\x6D\x6F\x76\x65", "\u26D4\uFE0F\u5220\u9664\u5B89\u88C5\u811A\u672C\u6587\u4EF6", "\x73\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x3A\x2F\x2F\x2F\x72\x75\x6E\x2F", "\x6F\x70\x65\x6E", "\uD83D\uDC49\u8FD0\u884C\xAB"]; Script[_0x4476[0]] = async () => { let _0x6dbax1 = true; const _0x6dbax2 = _0x4476[1]; console[_0x4476[3]](`${_0x4476[2]}`); console[_0x4476[3]](`${_0x4476[4]}${_0x6dbax2}${_0x4476[5]}`); const _0x6dbax3 = FileManager[module[_0x4476[8]][_0x4476[7]](_0x4476[6]) ? _0x4476[9] : _0x4476[10]](); await Promise[_0x4476[37]]([`${_0x4476[12]}${_0x6dbax2}${_0x4476[11]}`][_0x4476[36]](async (_0x6dbax4) => { const _0x6dbax5 = _0x6dbax4[_0x4476[13]](_0x4476[11], _0x4476[12]); console[_0x4476[3]](_0x4476[14] + _0x6dbax5 + _0x4476[15]); let _0x6dbax6 = `${_0x4476[16]}${encodeURIComponent(_0x6dbax5)}${_0x4476[11]}`; console[_0x4476[3]](_0x4476[17] + _0x6dbax6); const _0x6dbax7 = new Request(_0x6dbax6); const _0x6dbax8 = await _0x6dbax7[_0x4476[18]](); const _0x6dbax9 = _0x6dbax3[_0x4476[20]](_0x6dbax3[_0x4476[19]](), _0x6dbax4); if (_0x6dbax3[_0x4476[21]](_0x6dbax9)) { let _0x6dbaxa = new Alert(); _0x6dbaxa[_0x4476[22]] = _0x4476[23]; _0x6dbaxa[_0x4476[24]] = _0x4476[25] + _0x4476[26] + _0x6dbax2 + _0x4476[15]; _0x6dbaxa[_0x4476[28]](_0x4476[27]); _0x6dbaxa[_0x4476[30]](_0x4476[29]); let _0x6dbaxb = await _0x6dbaxa[_0x4476[31]](); _0x6dbax1 = _0x6dbaxb !== -1 }; if (!_0x6dbax1) { console[_0x4476[3]](_0x4476[32]) } else { _0x6dbax3[_0x4476[33]](_0x6dbax9, _0x6dbax8); console[_0x4476[3]](`${_0x4476[34]}${_0x6dbax5}${_0x4476[35]}`) } })); if (_0x6dbax1) { _0x6dbax3[_0x4476[38]](module[_0x4476[8]]); console[_0x4476[3]](_0x4476[39]); Safari[_0x4476[41]](`${_0x4476[40]}${encodeURIComponent(_0x6dbax2)}${_0x4476[12]}`); console[_0x4476[3]](`${_0x4476[42]}${_0x6dbax2}${_0x4476[5]}`) } }
\ No newline at end of file
diff --git a/install/install_s13.js b/install/install_s13.js
new file mode 100644
index 0000000..c04c2d4
--- /dev/null
+++ b/install/install_s13.js
@@ -0,0 +1 @@
+var _0x95f0 = ["\x49\x6E\x73\x74\x61\x6C\x6C\x65\x72", "\u4E07\u5E74\u5386", "\uD83D\uDC49\u516C\u4F17\u53F7\xAB\u6742\u8D27\u4E07\u4E8B\u5C4B\xBB", "\x6C\x6F\x67", "\uD83D\uDE80\u5B89\u88C5\xAB", "\xBB\u5C0F\u7EC4\u4EF6", "\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73\x2F\x69\x43\x6C\x6F\x75\x64\x7E", "\x69\x6E\x63\x6C\x75\x64\x65\x73", "\x66\x69\x6C\x65\x6E\x61\x6D\x65", "\x69\x43\x6C\x6F\x75\x64", "\x6C\x6F\x63\x61\x6C", "\x2E\x6A\x73", "", "\x72\x65\x70\x6C\x61\x63\x65", "\uD83D\uDC49\u4E0B\u8F7D\u5C0F\u7EC4\u4EF6\xAB", "\xBB", "\x68\x74\x74\x70\x73\x3A\x2F\x2F\x72\x61\x77\x2E\x67\x69\x74\x68\x75\x62\x75\x73\x65\x72\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6F\x6D\x2F\x45\x6E\x6A\x6F\x79\x65\x65\x2F\x53\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x2F\x76\x32\x2F", "\uD83D\uDC49\u811A\u672C\u5730\u5740\uFF1A", "\x6C\x6F\x61\x64", "\x64\x6F\x63\x75\x6D\x65\x6E\x74\x73\x44\x69\x72\x65\x63\x74\x6F\x72\x79", "\x6A\x6F\x69\x6E\x50\x61\x74\x68", "\x66\x69\x6C\x65\x45\x78\x69\x73\x74\x73", "\x74\x69\x74\x6C\x65", "\u26A0\uFE0F\x20\u53D1\u73B0\u540C\u540D\u5C0F\u7EC4\u4EF6\x20\u26A0\uFE0F", "\x6D\x65\x73\x73\x61\x67\x65", "\x0A\u662F\u5426\u66FF\u6362\u6B64\u5C0F\u7EC4\u4EF6\x0A", "\xAB", "\u66FF\u6362", "\x61\x64\x64\x41\x63\x74\x69\x6F\x6E", "\u9000\u51FA", "\x61\x64\x64\x43\x61\x6E\x63\x65\x6C\x41\x63\x74\x69\x6F\x6E", "\x70\x72\x65\x73\x65\x6E\x74\x41\x6C\x65\x72\x74", "\u26D4\uFE0F\u505C\u6B62\u5B89\u88C5\u5C0F\u7EC4\u4EF6", "\x77\x72\x69\x74\x65", "\uD83D\uDC49\u521B\u5EFA\xAB", "\xBB\u5B8C\u6210", "\x6D\x61\x70", "\x61\x6C\x6C", "\x72\x65\x6D\x6F\x76\x65", "\u26D4\uFE0F\u5220\u9664\u5B89\u88C5\u811A\u672C\u6587\u4EF6", "\x73\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x3A\x2F\x2F\x2F\x72\x75\x6E\x2F", "\x6F\x70\x65\x6E", "\uD83D\uDC49\u8FD0\u884C\xAB"]; Script[_0x95f0[0]] = async () => { let _0x4615x1 = true; const _0x4615x2 = _0x95f0[1]; console[_0x95f0[3]](`${_0x95f0[2]}`); console[_0x95f0[3]](`${_0x95f0[4]}${_0x4615x2}${_0x95f0[5]}`); const _0x4615x3 = FileManager[module[_0x95f0[8]][_0x95f0[7]](_0x95f0[6]) ? _0x95f0[9] : _0x95f0[10]](); await Promise[_0x95f0[37]]([`${_0x95f0[12]}${_0x4615x2}${_0x95f0[11]}`][_0x95f0[36]](async (_0x4615x4) => { const _0x4615x5 = _0x4615x4[_0x95f0[13]](_0x95f0[11], _0x95f0[12]); console[_0x95f0[3]](_0x95f0[14] + _0x4615x5 + _0x95f0[15]); let _0x4615x6 = `${_0x95f0[16]}${encodeURIComponent(_0x4615x5)}${_0x95f0[11]}`; console[_0x95f0[3]](_0x95f0[17] + _0x4615x6); const _0x4615x7 = new Request(_0x4615x6); const _0x4615x8 = await _0x4615x7[_0x95f0[18]](); const _0x4615x9 = _0x4615x3[_0x95f0[20]](_0x4615x3[_0x95f0[19]](), _0x4615x4); if (_0x4615x3[_0x95f0[21]](_0x4615x9)) { let _0x4615xa = new Alert(); _0x4615xa[_0x95f0[22]] = _0x95f0[23]; _0x4615xa[_0x95f0[24]] = _0x95f0[25] + _0x95f0[26] + _0x4615x2 + _0x95f0[15]; _0x4615xa[_0x95f0[28]](_0x95f0[27]); _0x4615xa[_0x95f0[30]](_0x95f0[29]); let _0x4615xb = await _0x4615xa[_0x95f0[31]](); _0x4615x1 = _0x4615xb !== -1 }; if (!_0x4615x1) { console[_0x95f0[3]](_0x95f0[32]) } else { _0x4615x3[_0x95f0[33]](_0x4615x9, _0x4615x8); console[_0x95f0[3]](`${_0x95f0[34]}${_0x4615x5}${_0x95f0[35]}`) } })); if (_0x4615x1) { _0x4615x3[_0x95f0[38]](module[_0x95f0[8]]); console[_0x95f0[3]](_0x95f0[39]); Safari[_0x95f0[41]](`${_0x95f0[40]}${encodeURIComponent(_0x4615x2)}${_0x95f0[12]}`); console[_0x95f0[3]](`${_0x95f0[42]}${_0x4615x2}${_0x95f0[5]}`) } }
\ No newline at end of file
diff --git a/install/install_s2.js b/install/install_s2.js
new file mode 100644
index 0000000..8223dfb
--- /dev/null
+++ b/install/install_s2.js
@@ -0,0 +1 @@
+var _0x9a0a = ["\x49\x6E\x73\x74\x61\x6C\x6C\x65\x72", "\u9752\u86D9\u5929\u6C14", "\uD83D\uDC49\u516C\u4F17\u53F7\xAB\u6742\u8D27\u4E07\u4E8B\u5C4B\xBB", "\x6C\x6F\x67", "\uD83D\uDE80\u5B89\u88C5\xAB", "\xBB\u5C0F\u7EC4\u4EF6", "\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73\x2F\x69\x43\x6C\x6F\x75\x64\x7E", "\x69\x6E\x63\x6C\x75\x64\x65\x73", "\x66\x69\x6C\x65\x6E\x61\x6D\x65", "\x69\x43\x6C\x6F\x75\x64", "\x6C\x6F\x63\x61\x6C", "\x2E\x6A\x73", "", "\x72\x65\x70\x6C\x61\x63\x65", "\uD83D\uDC49\u4E0B\u8F7D\u5C0F\u7EC4\u4EF6\xAB", "\xBB", "\x68\x74\x74\x70\x73\x3A\x2F\x2F\x72\x61\x77\x2E\x67\x69\x74\x68\x75\x62\x75\x73\x65\x72\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6F\x6D\x2F\x45\x6E\x6A\x6F\x79\x65\x65\x2F\x53\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x2F\x76\x32\x2F", "\uD83D\uDC49\u811A\u672C\u5730\u5740\uFF1A", "\x6C\x6F\x61\x64", "\x64\x6F\x63\x75\x6D\x65\x6E\x74\x73\x44\x69\x72\x65\x63\x74\x6F\x72\x79", "\x6A\x6F\x69\x6E\x50\x61\x74\x68", "\x66\x69\x6C\x65\x45\x78\x69\x73\x74\x73", "\x74\x69\x74\x6C\x65", "\u26A0\uFE0F\x20\u53D1\u73B0\u540C\u540D\u5C0F\u7EC4\u4EF6\x20\u26A0\uFE0F", "\x6D\x65\x73\x73\x61\x67\x65", "\x0A\u662F\u5426\u66FF\u6362\u6B64\u5C0F\u7EC4\u4EF6\x0A", "\xAB", "\u66FF\u6362", "\x61\x64\x64\x41\x63\x74\x69\x6F\x6E", "\u9000\u51FA", "\x61\x64\x64\x43\x61\x6E\x63\x65\x6C\x41\x63\x74\x69\x6F\x6E", "\x70\x72\x65\x73\x65\x6E\x74\x41\x6C\x65\x72\x74", "\u26D4\uFE0F\u505C\u6B62\u5B89\u88C5\u5C0F\u7EC4\u4EF6", "\x77\x72\x69\x74\x65", "\uD83D\uDC49\u521B\u5EFA\xAB", "\xBB\u5B8C\u6210", "\x6D\x61\x70", "\x61\x6C\x6C", "\x72\x65\x6D\x6F\x76\x65", "\u26D4\uFE0F\u5220\u9664\u5B89\u88C5\u811A\u672C\u6587\u4EF6", "\x73\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x3A\x2F\x2F\x2F\x72\x75\x6E\x2F", "\x6F\x70\x65\x6E", "\uD83D\uDC49\u8FD0\u884C\xAB"]; Script[_0x9a0a[0]] = async () => { let _0xda58x1 = true; const _0xda58x2 = _0x9a0a[1]; console[_0x9a0a[3]](`${_0x9a0a[2]}`); console[_0x9a0a[3]](`${_0x9a0a[4]}${_0xda58x2}${_0x9a0a[5]}`); const _0xda58x3 = FileManager[module[_0x9a0a[8]][_0x9a0a[7]](_0x9a0a[6]) ? _0x9a0a[9] : _0x9a0a[10]](); await Promise[_0x9a0a[37]]([`${_0x9a0a[12]}${_0xda58x2}${_0x9a0a[11]}`][_0x9a0a[36]](async (_0xda58x4) => { const _0xda58x5 = _0xda58x4[_0x9a0a[13]](_0x9a0a[11], _0x9a0a[12]); console[_0x9a0a[3]](_0x9a0a[14] + _0xda58x5 + _0x9a0a[15]); let _0xda58x6 = `${_0x9a0a[16]}${encodeURIComponent(_0xda58x5)}${_0x9a0a[11]}`; console[_0x9a0a[3]](_0x9a0a[17] + _0xda58x6); const _0xda58x7 = new Request(_0xda58x6); const _0xda58x8 = await _0xda58x7[_0x9a0a[18]](); const _0xda58x9 = _0xda58x3[_0x9a0a[20]](_0xda58x3[_0x9a0a[19]](), _0xda58x4); if (_0xda58x3[_0x9a0a[21]](_0xda58x9)) { let _0xda58xa = new Alert(); _0xda58xa[_0x9a0a[22]] = _0x9a0a[23]; _0xda58xa[_0x9a0a[24]] = _0x9a0a[25] + _0x9a0a[26] + _0xda58x2 + _0x9a0a[15]; _0xda58xa[_0x9a0a[28]](_0x9a0a[27]); _0xda58xa[_0x9a0a[30]](_0x9a0a[29]); let _0xda58xb = await _0xda58xa[_0x9a0a[31]](); _0xda58x1 = _0xda58xb !== -1 }; if (!_0xda58x1) { console[_0x9a0a[3]](_0x9a0a[32]) } else { _0xda58x3[_0x9a0a[33]](_0xda58x9, _0xda58x8); console[_0x9a0a[3]](`${_0x9a0a[34]}${_0xda58x5}${_0x9a0a[35]}`) } })); if (_0xda58x1) { _0xda58x3[_0x9a0a[38]](module[_0x9a0a[8]]); console[_0x9a0a[3]](_0x9a0a[39]); Safari[_0x9a0a[41]](`${_0x9a0a[40]}${encodeURIComponent(_0xda58x2)}${_0x9a0a[12]}`); console[_0x9a0a[3]](`${_0x9a0a[42]}${_0xda58x2}${_0x9a0a[5]}`) } }
\ No newline at end of file
diff --git a/install/install_s3.js b/install/install_s3.js
new file mode 100644
index 0000000..4fedebe
--- /dev/null
+++ b/install/install_s3.js
@@ -0,0 +1 @@
+var _0xace7 = ["\x49\x6E\x73\x74\x61\x6C\x6C\x65\x72", "\u5199\u771F\u968F\u673A", "\uD83D\uDC49\u516C\u4F17\u53F7\xAB\u6742\u8D27\u4E07\u4E8B\u5C4B\xBB", "\x6C\x6F\x67", "\uD83D\uDE80\u5B89\u88C5\xAB", "\xBB\u5C0F\u7EC4\u4EF6", "\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73\x2F\x69\x43\x6C\x6F\x75\x64\x7E", "\x69\x6E\x63\x6C\x75\x64\x65\x73", "\x66\x69\x6C\x65\x6E\x61\x6D\x65", "\x69\x43\x6C\x6F\x75\x64", "\x6C\x6F\x63\x61\x6C", "\x2E\x6A\x73", "", "\x72\x65\x70\x6C\x61\x63\x65", "\uD83D\uDC49\u4E0B\u8F7D\u5C0F\u7EC4\u4EF6\xAB", "\xBB", "\x68\x74\x74\x70\x73\x3A\x2F\x2F\x72\x61\x77\x2E\x67\x69\x74\x68\x75\x62\x75\x73\x65\x72\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6F\x6D\x2F\x45\x6E\x6A\x6F\x79\x65\x65\x2F\x53\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x2F\x76\x32\x2F", "\uD83D\uDC49\u811A\u672C\u5730\u5740\uFF1A", "\x6C\x6F\x61\x64", "\x64\x6F\x63\x75\x6D\x65\x6E\x74\x73\x44\x69\x72\x65\x63\x74\x6F\x72\x79", "\x6A\x6F\x69\x6E\x50\x61\x74\x68", "\x66\x69\x6C\x65\x45\x78\x69\x73\x74\x73", "\x74\x69\x74\x6C\x65", "\u26A0\uFE0F\x20\u53D1\u73B0\u540C\u540D\u5C0F\u7EC4\u4EF6\x20\u26A0\uFE0F", "\x6D\x65\x73\x73\x61\x67\x65", "\x0A\u662F\u5426\u66FF\u6362\u6B64\u5C0F\u7EC4\u4EF6\x0A", "\xAB", "\u66FF\u6362", "\x61\x64\x64\x41\x63\x74\x69\x6F\x6E", "\u9000\u51FA", "\x61\x64\x64\x43\x61\x6E\x63\x65\x6C\x41\x63\x74\x69\x6F\x6E", "\x70\x72\x65\x73\x65\x6E\x74\x41\x6C\x65\x72\x74", "\u26D4\uFE0F\u505C\u6B62\u5B89\u88C5\u5C0F\u7EC4\u4EF6", "\x77\x72\x69\x74\x65", "\uD83D\uDC49\u521B\u5EFA\xAB", "\xBB\u5B8C\u6210", "\x6D\x61\x70", "\x61\x6C\x6C", "\x72\x65\x6D\x6F\x76\x65", "\u26D4\uFE0F\u5220\u9664\u5B89\u88C5\u811A\u672C\u6587\u4EF6", "\x73\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x3A\x2F\x2F\x2F\x72\x75\x6E\x2F", "\x6F\x70\x65\x6E", "\uD83D\uDC49\u8FD0\u884C\xAB"]; Script[_0xace7[0]] = async () => { let _0x680fx1 = true; const _0x680fx2 = _0xace7[1]; console[_0xace7[3]](`${_0xace7[2]}`); console[_0xace7[3]](`${_0xace7[4]}${_0x680fx2}${_0xace7[5]}`); const _0x680fx3 = FileManager[module[_0xace7[8]][_0xace7[7]](_0xace7[6]) ? _0xace7[9] : _0xace7[10]](); await Promise[_0xace7[37]]([`${_0xace7[12]}${_0x680fx2}${_0xace7[11]}`][_0xace7[36]](async (_0x680fx4) => { const _0x680fx5 = _0x680fx4[_0xace7[13]](_0xace7[11], _0xace7[12]); console[_0xace7[3]](_0xace7[14] + _0x680fx5 + _0xace7[15]); let _0x680fx6 = `${_0xace7[16]}${encodeURIComponent(_0x680fx5)}${_0xace7[11]}`; console[_0xace7[3]](_0xace7[17] + _0x680fx6); const _0x680fx7 = new Request(_0x680fx6); const _0x680fx8 = await _0x680fx7[_0xace7[18]](); const _0x680fx9 = _0x680fx3[_0xace7[20]](_0x680fx3[_0xace7[19]](), _0x680fx4); if (_0x680fx3[_0xace7[21]](_0x680fx9)) { let _0x680fxa = new Alert(); _0x680fxa[_0xace7[22]] = _0xace7[23]; _0x680fxa[_0xace7[24]] = _0xace7[25] + _0xace7[26] + _0x680fx2 + _0xace7[15]; _0x680fxa[_0xace7[28]](_0xace7[27]); _0x680fxa[_0xace7[30]](_0xace7[29]); let _0x680fxb = await _0x680fxa[_0xace7[31]](); _0x680fx1 = _0x680fxb !== -1 }; if (!_0x680fx1) { console[_0xace7[3]](_0xace7[32]) } else { _0x680fx3[_0xace7[33]](_0x680fx9, _0x680fx8); console[_0xace7[3]](`${_0xace7[34]}${_0x680fx5}${_0xace7[35]}`) } })); if (_0x680fx1) { _0x680fx3[_0xace7[38]](module[_0xace7[8]]); console[_0xace7[3]](_0xace7[39]); Safari[_0xace7[41]](`${_0xace7[40]}${encodeURIComponent(_0x680fx2)}${_0xace7[12]}`); console[_0xace7[3]](`${_0xace7[42]}${_0x680fx2}${_0xace7[5]}`) } }
\ No newline at end of file
diff --git a/install/install_s4.js b/install/install_s4.js
new file mode 100644
index 0000000..471359c
--- /dev/null
+++ b/install/install_s4.js
@@ -0,0 +1 @@
+var _0xb7e2 = ["\x49\x6E\x73\x74\x61\x6C\x6C\x65\x72", "\x54\x6F\x70\x48\x75\x62\u699C\u5355", "\uD83D\uDC49\u516C\u4F17\u53F7\xAB\u6742\u8D27\u4E07\u4E8B\u5C4B\xBB", "\x6C\x6F\x67", "\uD83D\uDE80\u5B89\u88C5\xAB", "\xBB\u5C0F\u7EC4\u4EF6", "\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73\x2F\x69\x43\x6C\x6F\x75\x64\x7E", "\x69\x6E\x63\x6C\x75\x64\x65\x73", "\x66\x69\x6C\x65\x6E\x61\x6D\x65", "\x69\x43\x6C\x6F\x75\x64", "\x6C\x6F\x63\x61\x6C", "\x2E\x6A\x73", "", "\x72\x65\x70\x6C\x61\x63\x65", "\uD83D\uDC49\u4E0B\u8F7D\u5C0F\u7EC4\u4EF6\xAB", "\xBB", "\x68\x74\x74\x70\x73\x3A\x2F\x2F\x72\x61\x77\x2E\x67\x69\x74\x68\x75\x62\x75\x73\x65\x72\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6F\x6D\x2F\x45\x6E\x6A\x6F\x79\x65\x65\x2F\x53\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x2F\x76\x32\x2F", "\uD83D\uDC49\u811A\u672C\u5730\u5740\uFF1A", "\x6C\x6F\x61\x64", "\x64\x6F\x63\x75\x6D\x65\x6E\x74\x73\x44\x69\x72\x65\x63\x74\x6F\x72\x79", "\x6A\x6F\x69\x6E\x50\x61\x74\x68", "\x66\x69\x6C\x65\x45\x78\x69\x73\x74\x73", "\x74\x69\x74\x6C\x65", "\u26A0\uFE0F\x20\u53D1\u73B0\u540C\u540D\u5C0F\u7EC4\u4EF6\x20\u26A0\uFE0F", "\x6D\x65\x73\x73\x61\x67\x65", "\x0A\u662F\u5426\u66FF\u6362\u6B64\u5C0F\u7EC4\u4EF6\x0A", "\xAB", "\u66FF\u6362", "\x61\x64\x64\x41\x63\x74\x69\x6F\x6E", "\u9000\u51FA", "\x61\x64\x64\x43\x61\x6E\x63\x65\x6C\x41\x63\x74\x69\x6F\x6E", "\x70\x72\x65\x73\x65\x6E\x74\x41\x6C\x65\x72\x74", "\u26D4\uFE0F\u505C\u6B62\u5B89\u88C5\u5C0F\u7EC4\u4EF6", "\x77\x72\x69\x74\x65", "\uD83D\uDC49\u521B\u5EFA\xAB", "\xBB\u5B8C\u6210", "\x6D\x61\x70", "\x61\x6C\x6C", "\x72\x65\x6D\x6F\x76\x65", "\u26D4\uFE0F\u5220\u9664\u5B89\u88C5\u811A\u672C\u6587\u4EF6", "\x73\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x3A\x2F\x2F\x2F\x72\x75\x6E\x2F", "\x6F\x70\x65\x6E", "\uD83D\uDC49\u8FD0\u884C\xAB"]; Script[_0xb7e2[0]] = async () => { let _0x78cfx1 = true; const _0x78cfx2 = _0xb7e2[1]; console[_0xb7e2[3]](`${_0xb7e2[2]}`); console[_0xb7e2[3]](`${_0xb7e2[4]}${_0x78cfx2}${_0xb7e2[5]}`); const _0x78cfx3 = FileManager[module[_0xb7e2[8]][_0xb7e2[7]](_0xb7e2[6]) ? _0xb7e2[9] : _0xb7e2[10]](); await Promise[_0xb7e2[37]]([`${_0xb7e2[12]}${_0x78cfx2}${_0xb7e2[11]}`][_0xb7e2[36]](async (_0x78cfx4) => { const _0x78cfx5 = _0x78cfx4[_0xb7e2[13]](_0xb7e2[11], _0xb7e2[12]); console[_0xb7e2[3]](_0xb7e2[14] + _0x78cfx5 + _0xb7e2[15]); let _0x78cfx6 = `${_0xb7e2[16]}${encodeURIComponent(_0x78cfx5)}${_0xb7e2[11]}`; console[_0xb7e2[3]](_0xb7e2[17] + _0x78cfx6); const _0x78cfx7 = new Request(_0x78cfx6); const _0x78cfx8 = await _0x78cfx7[_0xb7e2[18]](); const _0x78cfx9 = _0x78cfx3[_0xb7e2[20]](_0x78cfx3[_0xb7e2[19]](), _0x78cfx4); if (_0x78cfx3[_0xb7e2[21]](_0x78cfx9)) { let _0x78cfxa = new Alert(); _0x78cfxa[_0xb7e2[22]] = _0xb7e2[23]; _0x78cfxa[_0xb7e2[24]] = _0xb7e2[25] + _0xb7e2[26] + _0x78cfx2 + _0xb7e2[15]; _0x78cfxa[_0xb7e2[28]](_0xb7e2[27]); _0x78cfxa[_0xb7e2[30]](_0xb7e2[29]); let _0x78cfxb = await _0x78cfxa[_0xb7e2[31]](); _0x78cfx1 = _0x78cfxb !== -1 }; if (!_0x78cfx1) { console[_0xb7e2[3]](_0xb7e2[32]) } else { _0x78cfx3[_0xb7e2[33]](_0x78cfx9, _0x78cfx8); console[_0xb7e2[3]](`${_0xb7e2[34]}${_0x78cfx5}${_0xb7e2[35]}`) } })); if (_0x78cfx1) { _0x78cfx3[_0xb7e2[38]](module[_0xb7e2[8]]); console[_0xb7e2[3]](_0xb7e2[39]); Safari[_0xb7e2[41]](`${_0xb7e2[40]}${encodeURIComponent(_0x78cfx2)}${_0xb7e2[12]}`); console[_0xb7e2[3]](`${_0xb7e2[42]}${_0x78cfx2}${_0xb7e2[5]}`) } }
\ No newline at end of file
diff --git a/install/install_s5.js b/install/install_s5.js
new file mode 100644
index 0000000..0eeb62f
--- /dev/null
+++ b/install/install_s5.js
@@ -0,0 +1 @@
+var _0x2e49 = ["\x49\x6E\x73\x74\x61\x6C\x6C\x65\x72", "\u4E16\u754C\u676F", "\uD83D\uDC49\u516C\u4F17\u53F7\xAB\u6742\u8D27\u4E07\u4E8B\u5C4B\xBB", "\x6C\x6F\x67", "\uD83D\uDE80\u5B89\u88C5\xAB", "\xBB\u5C0F\u7EC4\u4EF6", "\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73\x2F\x69\x43\x6C\x6F\x75\x64\x7E", "\x69\x6E\x63\x6C\x75\x64\x65\x73", "\x66\x69\x6C\x65\x6E\x61\x6D\x65", "\x69\x43\x6C\x6F\x75\x64", "\x6C\x6F\x63\x61\x6C", "\x2E\x6A\x73", "", "\x72\x65\x70\x6C\x61\x63\x65", "\uD83D\uDC49\u4E0B\u8F7D\u5C0F\u7EC4\u4EF6\xAB", "\xBB", "\x68\x74\x74\x70\x73\x3A\x2F\x2F\x72\x61\x77\x2E\x67\x69\x74\x68\x75\x62\x75\x73\x65\x72\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6F\x6D\x2F\x45\x6E\x6A\x6F\x79\x65\x65\x2F\x53\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x2F\x76\x32\x2F", "\uD83D\uDC49\u811A\u672C\u5730\u5740\uFF1A", "\x6C\x6F\x61\x64", "\x64\x6F\x63\x75\x6D\x65\x6E\x74\x73\x44\x69\x72\x65\x63\x74\x6F\x72\x79", "\x6A\x6F\x69\x6E\x50\x61\x74\x68", "\x66\x69\x6C\x65\x45\x78\x69\x73\x74\x73", "\x74\x69\x74\x6C\x65", "\u26A0\uFE0F\x20\u53D1\u73B0\u540C\u540D\u5C0F\u7EC4\u4EF6\x20\u26A0\uFE0F", "\x6D\x65\x73\x73\x61\x67\x65", "\x0A\u662F\u5426\u66FF\u6362\u6B64\u5C0F\u7EC4\u4EF6\x0A", "\xAB", "\u66FF\u6362", "\x61\x64\x64\x41\x63\x74\x69\x6F\x6E", "\u9000\u51FA", "\x61\x64\x64\x43\x61\x6E\x63\x65\x6C\x41\x63\x74\x69\x6F\x6E", "\x70\x72\x65\x73\x65\x6E\x74\x41\x6C\x65\x72\x74", "\u26D4\uFE0F\u505C\u6B62\u5B89\u88C5\u5C0F\u7EC4\u4EF6", "\x77\x72\x69\x74\x65", "\uD83D\uDC49\u521B\u5EFA\xAB", "\xBB\u5B8C\u6210", "\x6D\x61\x70", "\x61\x6C\x6C", "\x72\x65\x6D\x6F\x76\x65", "\u26D4\uFE0F\u5220\u9664\u5B89\u88C5\u811A\u672C\u6587\u4EF6", "\x73\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x3A\x2F\x2F\x2F\x72\x75\x6E\x2F", "\x6F\x70\x65\x6E", "\uD83D\uDC49\u8FD0\u884C\xAB"]; Script[_0x2e49[0]] = async () => { let _0x48ecx1 = true; const _0x48ecx2 = _0x2e49[1]; console[_0x2e49[3]](`${_0x2e49[2]}`); console[_0x2e49[3]](`${_0x2e49[4]}${_0x48ecx2}${_0x2e49[5]}`); const _0x48ecx3 = FileManager[module[_0x2e49[8]][_0x2e49[7]](_0x2e49[6]) ? _0x2e49[9] : _0x2e49[10]](); await Promise[_0x2e49[37]]([`${_0x2e49[12]}${_0x48ecx2}${_0x2e49[11]}`][_0x2e49[36]](async (_0x48ecx4) => { const _0x48ecx5 = _0x48ecx4[_0x2e49[13]](_0x2e49[11], _0x2e49[12]); console[_0x2e49[3]](_0x2e49[14] + _0x48ecx5 + _0x2e49[15]); let _0x48ecx6 = `${_0x2e49[16]}${encodeURIComponent(_0x48ecx5)}${_0x2e49[11]}`; console[_0x2e49[3]](_0x2e49[17] + _0x48ecx6); const _0x48ecx7 = new Request(_0x48ecx6); const _0x48ecx8 = await _0x48ecx7[_0x2e49[18]](); const _0x48ecx9 = _0x48ecx3[_0x2e49[20]](_0x48ecx3[_0x2e49[19]](), _0x48ecx4); if (_0x48ecx3[_0x2e49[21]](_0x48ecx9)) { let _0x48ecxa = new Alert(); _0x48ecxa[_0x2e49[22]] = _0x2e49[23]; _0x48ecxa[_0x2e49[24]] = _0x2e49[25] + _0x2e49[26] + _0x48ecx2 + _0x2e49[15]; _0x48ecxa[_0x2e49[28]](_0x2e49[27]); _0x48ecxa[_0x2e49[30]](_0x2e49[29]); let _0x48ecxb = await _0x48ecxa[_0x2e49[31]](); _0x48ecx1 = _0x48ecxb !== -1 }; if (!_0x48ecx1) { console[_0x2e49[3]](_0x2e49[32]) } else { _0x48ecx3[_0x2e49[33]](_0x48ecx9, _0x48ecx8); console[_0x2e49[3]](`${_0x2e49[34]}${_0x48ecx5}${_0x2e49[35]}`) } })); if (_0x48ecx1) { _0x48ecx3[_0x2e49[38]](module[_0x2e49[8]]); console[_0x2e49[3]](_0x2e49[39]); Safari[_0x2e49[41]](`${_0x2e49[40]}${encodeURIComponent(_0x48ecx2)}${_0x2e49[12]}`); console[_0x2e49[3]](`${_0x2e49[42]}${_0x48ecx2}${_0x2e49[5]}`) } }
\ No newline at end of file
diff --git a/install/install_s6.js b/install/install_s6.js
new file mode 100644
index 0000000..b10cad6
--- /dev/null
+++ b/install/install_s6.js
@@ -0,0 +1 @@
+var _0xd57d = ["\x49\x6E\x73\x74\x61\x6C\x6C\x65\x72", "\u4ECA\u65E5\u4E8B\u9879", "\uD83D\uDC49\u516C\u4F17\u53F7\xAB\u6742\u8D27\u4E07\u4E8B\u5C4B\xBB", "\x6C\x6F\x67", "\uD83D\uDE80\u5B89\u88C5\xAB", "\xBB\u5C0F\u7EC4\u4EF6", "\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73\x2F\x69\x43\x6C\x6F\x75\x64\x7E", "\x69\x6E\x63\x6C\x75\x64\x65\x73", "\x66\x69\x6C\x65\x6E\x61\x6D\x65", "\x69\x43\x6C\x6F\x75\x64", "\x6C\x6F\x63\x61\x6C", "\x2E\x6A\x73", "", "\x72\x65\x70\x6C\x61\x63\x65", "\uD83D\uDC49\u4E0B\u8F7D\u5C0F\u7EC4\u4EF6\xAB", "\xBB", "\x68\x74\x74\x70\x73\x3A\x2F\x2F\x72\x61\x77\x2E\x67\x69\x74\x68\x75\x62\x75\x73\x65\x72\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6F\x6D\x2F\x45\x6E\x6A\x6F\x79\x65\x65\x2F\x53\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x2F\x76\x32\x2F", "\uD83D\uDC49\u811A\u672C\u5730\u5740\uFF1A", "\x6C\x6F\x61\x64", "\x64\x6F\x63\x75\x6D\x65\x6E\x74\x73\x44\x69\x72\x65\x63\x74\x6F\x72\x79", "\x6A\x6F\x69\x6E\x50\x61\x74\x68", "\x66\x69\x6C\x65\x45\x78\x69\x73\x74\x73", "\x74\x69\x74\x6C\x65", "\u26A0\uFE0F\x20\u53D1\u73B0\u540C\u540D\u5C0F\u7EC4\u4EF6\x20\u26A0\uFE0F", "\x6D\x65\x73\x73\x61\x67\x65", "\x0A\u662F\u5426\u66FF\u6362\u6B64\u5C0F\u7EC4\u4EF6\x0A", "\xAB", "\u66FF\u6362", "\x61\x64\x64\x41\x63\x74\x69\x6F\x6E", "\u9000\u51FA", "\x61\x64\x64\x43\x61\x6E\x63\x65\x6C\x41\x63\x74\x69\x6F\x6E", "\x70\x72\x65\x73\x65\x6E\x74\x41\x6C\x65\x72\x74", "\u26D4\uFE0F\u505C\u6B62\u5B89\u88C5\u5C0F\u7EC4\u4EF6", "\x77\x72\x69\x74\x65", "\uD83D\uDC49\u521B\u5EFA\xAB", "\xBB\u5B8C\u6210", "\x6D\x61\x70", "\x61\x6C\x6C", "\x72\x65\x6D\x6F\x76\x65", "\u26D4\uFE0F\u5220\u9664\u5B89\u88C5\u811A\u672C\u6587\u4EF6", "\x73\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x3A\x2F\x2F\x2F\x72\x75\x6E\x2F", "\x6F\x70\x65\x6E", "\uD83D\uDC49\u8FD0\u884C\xAB"]; Script[_0xd57d[0]] = async () => { let _0xfd44x1 = true; const _0xfd44x2 = _0xd57d[1]; console[_0xd57d[3]](`${_0xd57d[2]}`); console[_0xd57d[3]](`${_0xd57d[4]}${_0xfd44x2}${_0xd57d[5]}`); const _0xfd44x3 = FileManager[module[_0xd57d[8]][_0xd57d[7]](_0xd57d[6]) ? _0xd57d[9] : _0xd57d[10]](); await Promise[_0xd57d[37]]([`${_0xd57d[12]}${_0xfd44x2}${_0xd57d[11]}`][_0xd57d[36]](async (_0xfd44x4) => { const _0xfd44x5 = _0xfd44x4[_0xd57d[13]](_0xd57d[11], _0xd57d[12]); console[_0xd57d[3]](_0xd57d[14] + _0xfd44x5 + _0xd57d[15]); let _0xfd44x6 = `${_0xd57d[16]}${encodeURIComponent(_0xfd44x5)}${_0xd57d[11]}`; console[_0xd57d[3]](_0xd57d[17] + _0xfd44x6); const _0xfd44x7 = new Request(_0xfd44x6); const _0xfd44x8 = await _0xfd44x7[_0xd57d[18]](); const _0xfd44x9 = _0xfd44x3[_0xd57d[20]](_0xfd44x3[_0xd57d[19]](), _0xfd44x4); if (_0xfd44x3[_0xd57d[21]](_0xfd44x9)) { let _0xfd44xa = new Alert(); _0xfd44xa[_0xd57d[22]] = _0xd57d[23]; _0xfd44xa[_0xd57d[24]] = _0xd57d[25] + _0xd57d[26] + _0xfd44x2 + _0xd57d[15]; _0xfd44xa[_0xd57d[28]](_0xd57d[27]); _0xfd44xa[_0xd57d[30]](_0xd57d[29]); let _0xfd44xb = await _0xfd44xa[_0xd57d[31]](); _0xfd44x1 = _0xfd44xb !== -1 }; if (!_0xfd44x1) { console[_0xd57d[3]](_0xd57d[32]) } else { _0xfd44x3[_0xd57d[33]](_0xfd44x9, _0xfd44x8); console[_0xd57d[3]](`${_0xd57d[34]}${_0xfd44x5}${_0xd57d[35]}`) } })); if (_0xfd44x1) { _0xfd44x3[_0xd57d[38]](module[_0xd57d[8]]); console[_0xd57d[3]](_0xd57d[39]); Safari[_0xd57d[41]](`${_0xd57d[40]}${encodeURIComponent(_0xfd44x2)}${_0xd57d[12]}`); console[_0xd57d[3]](`${_0xd57d[42]}${_0xfd44x2}${_0xd57d[5]}`) } }
\ No newline at end of file
diff --git a/install/install_s7.js b/install/install_s7.js
new file mode 100644
index 0000000..925b377
--- /dev/null
+++ b/install/install_s7.js
@@ -0,0 +1 @@
+var _0x5c71 = ["\x49\x6E\x73\x74\x61\x6C\x6C\x65\x72", "\u5012\u8BA1\u65E5", "\uD83D\uDC49\u516C\u4F17\u53F7\xAB\u6742\u8D27\u4E07\u4E8B\u5C4B\xBB", "\x6C\x6F\x67", "\uD83D\uDE80\u5B89\u88C5\xAB", "\xBB\u5C0F\u7EC4\u4EF6", "\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73\x2F\x69\x43\x6C\x6F\x75\x64\x7E", "\x69\x6E\x63\x6C\x75\x64\x65\x73", "\x66\x69\x6C\x65\x6E\x61\x6D\x65", "\x69\x43\x6C\x6F\x75\x64", "\x6C\x6F\x63\x61\x6C", "\x2E\x6A\x73", "", "\x72\x65\x70\x6C\x61\x63\x65", "\uD83D\uDC49\u4E0B\u8F7D\u5C0F\u7EC4\u4EF6\xAB", "\xBB", "\x68\x74\x74\x70\x73\x3A\x2F\x2F\x72\x61\x77\x2E\x67\x69\x74\x68\x75\x62\x75\x73\x65\x72\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6F\x6D\x2F\x45\x6E\x6A\x6F\x79\x65\x65\x2F\x53\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x2F\x76\x32\x2F", "\uD83D\uDC49\u811A\u672C\u5730\u5740\uFF1A", "\x6C\x6F\x61\x64", "\x64\x6F\x63\x75\x6D\x65\x6E\x74\x73\x44\x69\x72\x65\x63\x74\x6F\x72\x79", "\x6A\x6F\x69\x6E\x50\x61\x74\x68", "\x66\x69\x6C\x65\x45\x78\x69\x73\x74\x73", "\x74\x69\x74\x6C\x65", "\u26A0\uFE0F\x20\u53D1\u73B0\u540C\u540D\u5C0F\u7EC4\u4EF6\x20\u26A0\uFE0F", "\x6D\x65\x73\x73\x61\x67\x65", "\x0A\u662F\u5426\u66FF\u6362\u6B64\u5C0F\u7EC4\u4EF6\x0A", "\xAB", "\u66FF\u6362", "\x61\x64\x64\x41\x63\x74\x69\x6F\x6E", "\u9000\u51FA", "\x61\x64\x64\x43\x61\x6E\x63\x65\x6C\x41\x63\x74\x69\x6F\x6E", "\x70\x72\x65\x73\x65\x6E\x74\x41\x6C\x65\x72\x74", "\u26D4\uFE0F\u505C\u6B62\u5B89\u88C5\u5C0F\u7EC4\u4EF6", "\x77\x72\x69\x74\x65", "\uD83D\uDC49\u521B\u5EFA\xAB", "\xBB\u5B8C\u6210", "\x6D\x61\x70", "\x61\x6C\x6C", "\x72\x65\x6D\x6F\x76\x65", "\u26D4\uFE0F\u5220\u9664\u5B89\u88C5\u811A\u672C\u6587\u4EF6", "\x73\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x3A\x2F\x2F\x2F\x72\x75\x6E\x2F", "\x6F\x70\x65\x6E", "\uD83D\uDC49\u8FD0\u884C\xAB"]; Script[_0x5c71[0]] = async () => { let _0x39dbx1 = true; const _0x39dbx2 = _0x5c71[1]; console[_0x5c71[3]](`${_0x5c71[2]}`); console[_0x5c71[3]](`${_0x5c71[4]}${_0x39dbx2}${_0x5c71[5]}`); const _0x39dbx3 = FileManager[module[_0x5c71[8]][_0x5c71[7]](_0x5c71[6]) ? _0x5c71[9] : _0x5c71[10]](); await Promise[_0x5c71[37]]([`${_0x5c71[12]}${_0x39dbx2}${_0x5c71[11]}`][_0x5c71[36]](async (_0x39dbx4) => { const _0x39dbx5 = _0x39dbx4[_0x5c71[13]](_0x5c71[11], _0x5c71[12]); console[_0x5c71[3]](_0x5c71[14] + _0x39dbx5 + _0x5c71[15]); let _0x39dbx6 = `${_0x5c71[16]}${encodeURIComponent(_0x39dbx5)}${_0x5c71[11]}`; console[_0x5c71[3]](_0x5c71[17] + _0x39dbx6); const _0x39dbx7 = new Request(_0x39dbx6); const _0x39dbx8 = await _0x39dbx7[_0x5c71[18]](); const _0x39dbx9 = _0x39dbx3[_0x5c71[20]](_0x39dbx3[_0x5c71[19]](), _0x39dbx4); if (_0x39dbx3[_0x5c71[21]](_0x39dbx9)) { let _0x39dbxa = new Alert(); _0x39dbxa[_0x5c71[22]] = _0x5c71[23]; _0x39dbxa[_0x5c71[24]] = _0x5c71[25] + _0x5c71[26] + _0x39dbx2 + _0x5c71[15]; _0x39dbxa[_0x5c71[28]](_0x5c71[27]); _0x39dbxa[_0x5c71[30]](_0x5c71[29]); let _0x39dbxb = await _0x39dbxa[_0x5c71[31]](); _0x39dbx1 = _0x39dbxb !== -1 }; if (!_0x39dbx1) { console[_0x5c71[3]](_0x5c71[32]) } else { _0x39dbx3[_0x5c71[33]](_0x39dbx9, _0x39dbx8); console[_0x5c71[3]](`${_0x5c71[34]}${_0x39dbx5}${_0x5c71[35]}`) } })); if (_0x39dbx1) { _0x39dbx3[_0x5c71[38]](module[_0x5c71[8]]); console[_0x5c71[3]](_0x5c71[39]); Safari[_0x5c71[41]](`${_0x5c71[40]}${encodeURIComponent(_0x39dbx2)}${_0x5c71[12]}`); console[_0x5c71[3]](`${_0x5c71[42]}${_0x39dbx2}${_0x5c71[5]}`) } }
\ No newline at end of file
diff --git a/install/install_s8.js b/install/install_s8.js
new file mode 100644
index 0000000..9e9044e
--- /dev/null
+++ b/install/install_s8.js
@@ -0,0 +1 @@
+var _0x8b72 = ["\x49\x6E\x73\x74\x61\x6C\x6C\x65\x72", "\u7535\u5F71\u65E5\u5386", "\uD83D\uDC49\u516C\u4F17\u53F7\xAB\u6742\u8D27\u4E07\u4E8B\u5C4B\xBB", "\x6C\x6F\x67", "\uD83D\uDE80\u5B89\u88C5\xAB", "\xBB\u5C0F\u7EC4\u4EF6", "\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73\x2F\x69\x43\x6C\x6F\x75\x64\x7E", "\x69\x6E\x63\x6C\x75\x64\x65\x73", "\x66\x69\x6C\x65\x6E\x61\x6D\x65", "\x69\x43\x6C\x6F\x75\x64", "\x6C\x6F\x63\x61\x6C", "\x2E\x6A\x73", "", "\x72\x65\x70\x6C\x61\x63\x65", "\uD83D\uDC49\u4E0B\u8F7D\u5C0F\u7EC4\u4EF6\xAB", "\xBB", "\x68\x74\x74\x70\x73\x3A\x2F\x2F\x72\x61\x77\x2E\x67\x69\x74\x68\x75\x62\x75\x73\x65\x72\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6F\x6D\x2F\x45\x6E\x6A\x6F\x79\x65\x65\x2F\x53\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x2F\x76\x32\x2F", "\uD83D\uDC49\u811A\u672C\u5730\u5740\uFF1A", "\x6C\x6F\x61\x64", "\x64\x6F\x63\x75\x6D\x65\x6E\x74\x73\x44\x69\x72\x65\x63\x74\x6F\x72\x79", "\x6A\x6F\x69\x6E\x50\x61\x74\x68", "\x66\x69\x6C\x65\x45\x78\x69\x73\x74\x73", "\x74\x69\x74\x6C\x65", "\u26A0\uFE0F\x20\u53D1\u73B0\u540C\u540D\u5C0F\u7EC4\u4EF6\x20\u26A0\uFE0F", "\x6D\x65\x73\x73\x61\x67\x65", "\x0A\u662F\u5426\u66FF\u6362\u6B64\u5C0F\u7EC4\u4EF6\x0A", "\xAB", "\u66FF\u6362", "\x61\x64\x64\x41\x63\x74\x69\x6F\x6E", "\u9000\u51FA", "\x61\x64\x64\x43\x61\x6E\x63\x65\x6C\x41\x63\x74\x69\x6F\x6E", "\x70\x72\x65\x73\x65\x6E\x74\x41\x6C\x65\x72\x74", "\u26D4\uFE0F\u505C\u6B62\u5B89\u88C5\u5C0F\u7EC4\u4EF6", "\x77\x72\x69\x74\x65", "\uD83D\uDC49\u521B\u5EFA\xAB", "\xBB\u5B8C\u6210", "\x6D\x61\x70", "\x61\x6C\x6C", "\x72\x65\x6D\x6F\x76\x65", "\u26D4\uFE0F\u5220\u9664\u5B89\u88C5\u811A\u672C\u6587\u4EF6", "\x73\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x3A\x2F\x2F\x2F\x72\x75\x6E\x2F", "\x6F\x70\x65\x6E", "\uD83D\uDC49\u8FD0\u884C\xAB"]; Script[_0x8b72[0]] = async () => { let _0xe7cdx1 = true; const _0xe7cdx2 = _0x8b72[1]; console[_0x8b72[3]](`${_0x8b72[2]}`); console[_0x8b72[3]](`${_0x8b72[4]}${_0xe7cdx2}${_0x8b72[5]}`); const _0xe7cdx3 = FileManager[module[_0x8b72[8]][_0x8b72[7]](_0x8b72[6]) ? _0x8b72[9] : _0x8b72[10]](); await Promise[_0x8b72[37]]([`${_0x8b72[12]}${_0xe7cdx2}${_0x8b72[11]}`][_0x8b72[36]](async (_0xe7cdx4) => { const _0xe7cdx5 = _0xe7cdx4[_0x8b72[13]](_0x8b72[11], _0x8b72[12]); console[_0x8b72[3]](_0x8b72[14] + _0xe7cdx5 + _0x8b72[15]); let _0xe7cdx6 = `${_0x8b72[16]}${encodeURIComponent(_0xe7cdx5)}${_0x8b72[11]}`; console[_0x8b72[3]](_0x8b72[17] + _0xe7cdx6); const _0xe7cdx7 = new Request(_0xe7cdx6); const _0xe7cdx8 = await _0xe7cdx7[_0x8b72[18]](); const _0xe7cdx9 = _0xe7cdx3[_0x8b72[20]](_0xe7cdx3[_0x8b72[19]](), _0xe7cdx4); if (_0xe7cdx3[_0x8b72[21]](_0xe7cdx9)) { let _0xe7cdxa = new Alert(); _0xe7cdxa[_0x8b72[22]] = _0x8b72[23]; _0xe7cdxa[_0x8b72[24]] = _0x8b72[25] + _0x8b72[26] + _0xe7cdx2 + _0x8b72[15]; _0xe7cdxa[_0x8b72[28]](_0x8b72[27]); _0xe7cdxa[_0x8b72[30]](_0x8b72[29]); let _0xe7cdxb = await _0xe7cdxa[_0x8b72[31]](); _0xe7cdx1 = _0xe7cdxb !== -1 }; if (!_0xe7cdx1) { console[_0x8b72[3]](_0x8b72[32]) } else { _0xe7cdx3[_0x8b72[33]](_0xe7cdx9, _0xe7cdx8); console[_0x8b72[3]](`${_0x8b72[34]}${_0xe7cdx5}${_0x8b72[35]}`) } })); if (_0xe7cdx1) { _0xe7cdx3[_0x8b72[38]](module[_0x8b72[8]]); console[_0x8b72[3]](_0x8b72[39]); Safari[_0x8b72[41]](`${_0x8b72[40]}${encodeURIComponent(_0xe7cdx2)}${_0x8b72[12]}`); console[_0x8b72[3]](`${_0x8b72[42]}${_0xe7cdx2}${_0x8b72[5]}`) } }
\ No newline at end of file
diff --git a/install/install_s9.js b/install/install_s9.js
new file mode 100644
index 0000000..f48084b
--- /dev/null
+++ b/install/install_s9.js
@@ -0,0 +1 @@
+var _0xf7a7=["\x49\x6E\x73\x74\x61\x6C\x6C\x65\x72","\x4A\x44","\uD83D\uDC49\u516C\u4F17\u53F7\xAB\u6742\u8D27\u4E07\u4E8B\u5C4B\xBB","\x6C\x6F\x67","\uD83D\uDE80\u5B89\u88C5\xAB","\xBB\u5C0F\u7EC4\u4EF6","\x44\x6F\x63\x75\x6D\x65\x6E\x74\x73\x2F\x69\x43\x6C\x6F\x75\x64\x7E","\x69\x6E\x63\x6C\x75\x64\x65\x73","\x66\x69\x6C\x65\x6E\x61\x6D\x65","\x69\x43\x6C\x6F\x75\x64","\x6C\x6F\x63\x61\x6C","\x2E\x6A\x73","","\x72\x65\x70\x6C\x61\x63\x65","\uD83D\uDC49\u4E0B\u8F7D\u5C0F\u7EC4\u4EF6\xAB","\xBB","\x68\x74\x74\x70\x73\x3A\x2F\x2F\x72\x61\x77\x2E\x67\x69\x74\x68\x75\x62\x75\x73\x65\x72\x63\x6F\x6E\x74\x65\x6E\x74\x2E\x63\x6F\x6D\x2F\x45\x6E\x6A\x6F\x79\x65\x65\x2F\x53\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x2F\x76\x32\x2F","\uD83D\uDC49\u811A\u672C\u5730\u5740\uFF1A","\x6C\x6F\x61\x64","\x64\x6F\x63\x75\x6D\x65\x6E\x74\x73\x44\x69\x72\x65\x63\x74\x6F\x72\x79","\x6A\x6F\x69\x6E\x50\x61\x74\x68","\x66\x69\x6C\x65\x45\x78\x69\x73\x74\x73","\x74\x69\x74\x6C\x65","\u26A0\uFE0F\x20\u53D1\u73B0\u540C\u540D\u5C0F\u7EC4\u4EF6\x20\u26A0\uFE0F","\x6D\x65\x73\x73\x61\x67\x65","\x0A\u662F\u5426\u66FF\u6362\u6B64\u5C0F\u7EC4\u4EF6\x0A","\xAB","\u66FF\u6362","\x61\x64\x64\x41\x63\x74\x69\x6F\x6E","\u9000\u51FA","\x61\x64\x64\x43\x61\x6E\x63\x65\x6C\x41\x63\x74\x69\x6F\x6E","\x70\x72\x65\x73\x65\x6E\x74\x41\x6C\x65\x72\x74","\u26D4\uFE0F\u505C\u6B62\u5B89\u88C5\u5C0F\u7EC4\u4EF6","\x77\x72\x69\x74\x65","\uD83D\uDC49\u521B\u5EFA\xAB","\xBB\u5B8C\u6210","\x6D\x61\x70","\x61\x6C\x6C","\x72\x65\x6D\x6F\x76\x65","\u26D4\uFE0F\u5220\u9664\u5B89\u88C5\u811A\u672C\u6587\u4EF6","\x73\x63\x72\x69\x70\x74\x61\x62\x6C\x65\x3A\x2F\x2F\x2F\x72\x75\x6E\x2F","\x6F\x70\x65\x6E","\uD83D\uDC49\u8FD0\u884C\xAB"];Script[_0xf7a7[0]]= async ()=>{let _0x1cc9x1=true;const _0x1cc9x2=_0xf7a7[1];console[_0xf7a7[3]](`${_0xf7a7[2]}`);console[_0xf7a7[3]](`${_0xf7a7[4]}${_0x1cc9x2}${_0xf7a7[5]}`);const _0x1cc9x3=FileManager[module[_0xf7a7[8]][_0xf7a7[7]](_0xf7a7[6])?_0xf7a7[9]:_0xf7a7[10]](); await Promise[_0xf7a7[37]]([`${_0xf7a7[12]}${_0x1cc9x2}${_0xf7a7[11]}`][_0xf7a7[36]](async (_0x1cc9x4)=>{const _0x1cc9x5=_0x1cc9x4[_0xf7a7[13]](_0xf7a7[11],_0xf7a7[12]);console[_0xf7a7[3]](_0xf7a7[14]+ _0x1cc9x5+ _0xf7a7[15]);let _0x1cc9x6=`${_0xf7a7[16]}${encodeURIComponent(_0x1cc9x5)}${_0xf7a7[11]}`;console[_0xf7a7[3]](_0xf7a7[17]+ _0x1cc9x6);const _0x1cc9x7= new Request(_0x1cc9x6);const _0x1cc9x8= await _0x1cc9x7[_0xf7a7[18]]();const _0x1cc9x9=_0x1cc9x3[_0xf7a7[20]](_0x1cc9x3[_0xf7a7[19]](),_0x1cc9x4);if(_0x1cc9x3[_0xf7a7[21]](_0x1cc9x9)){let _0x1cc9xa= new Alert();_0x1cc9xa[_0xf7a7[22]]= _0xf7a7[23];_0x1cc9xa[_0xf7a7[24]]= _0xf7a7[25]+ _0xf7a7[26]+ _0x1cc9x2+ _0xf7a7[15];_0x1cc9xa[_0xf7a7[28]](_0xf7a7[27]);_0x1cc9xa[_0xf7a7[30]](_0xf7a7[29]);let _0x1cc9xb= await _0x1cc9xa[_0xf7a7[31]]();_0x1cc9x1= _0x1cc9xb!== -1};if(!_0x1cc9x1){console[_0xf7a7[3]](_0xf7a7[32])}else {_0x1cc9x3[_0xf7a7[33]](_0x1cc9x9,_0x1cc9x8);console[_0xf7a7[3]](`${_0xf7a7[34]}${_0x1cc9x5}${_0xf7a7[35]}`)}}));if(_0x1cc9x1){_0x1cc9x3[_0xf7a7[38]](module[_0xf7a7[8]]);console[_0xf7a7[3]](_0xf7a7[39]);Safari[_0xf7a7[41]](`${_0xf7a7[40]}${encodeURIComponent(_0x1cc9x2)}${_0xf7a7[12]}`);console[_0xf7a7[3]](`${_0xf7a7[42]}${_0x1cc9x2}${_0xf7a7[5]}`)}}
\ No newline at end of file
diff --git a/install/installer.js b/install/installer.js
new file mode 100644
index 0000000..b96028e
--- /dev/null
+++ b/install/installer.js
@@ -0,0 +1,37 @@
+Script.Installer = async () => {
+ let continueRun = true;
+ const INSTALL_NAME = '';
+ console.log(`👉公众号«杂货万事屋»`);
+ console.log(`🚀安装«${INSTALL_NAME}»小组件`);
+ const fileManager = FileManager[module.filename.includes('Documents/iCloud~') ? 'iCloud' : 'local']();
+ await Promise.all([`${INSTALL_NAME}.js`].map(async widgetFullName => {
+ const widgetName = widgetFullName.replace('.js', '');
+ console.log("👉下载小组件«" + widgetName + "»");
+ let url = `https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/${encodeURIComponent(widgetName)}.js`;
+ console.log('👉脚本地址:' + url);
+ const req = new Request(url);
+ const res = await req.load();
+ const widgetFullPath = fileManager.joinPath(fileManager.documentsDirectory(), widgetFullName);
+ if (fileManager.fileExists(widgetFullPath)) {
+ let alert = new Alert();
+ alert.title = "⚠️ 发现同名小组件 ⚠️";
+ alert.message = "\n是否替换此小组件\n" + "«" + INSTALL_NAME + "»";
+ alert.addAction("替换");
+ alert.addCancelAction("退出");
+ let response = await alert.presentAlert();
+ continueRun = response !== -1;
+ }
+ if (!continueRun) {
+ console.log("⛔️停止安装小组件");
+ } else {
+ fileManager.write(widgetFullPath, res);
+ console.log(`👉创建«${widgetName}»完成`);
+ }
+ }));
+ if (continueRun) {
+ fileManager.remove(module.filename);
+ console.log("⛔️删除安装脚本文件");
+ Safari.open(`scriptable:///run/${encodeURIComponent(INSTALL_NAME)}`);
+ console.log(`👉运行«${INSTALL_NAME}»小组件`);
+ }
+}
\ No newline at end of file
diff --git a/install/package.json b/install/package.json
new file mode 100644
index 0000000..57c861f
--- /dev/null
+++ b/install/package.json
@@ -0,0 +1,109 @@
+{
+ "author": "LSP-杂货万事屋",
+ "scriptable": true,
+ "icon": "https://s3.uuu.ovh/imgs/2022/12/09/4c8c4d09b6542713.png",
+ "repo": "https://github.com/Enjoyee/Scriptable",
+ "dependency": {
+ "name": "_LSP",
+ "version": "20230420",
+ "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/_LSP.js"
+ },
+ "apps": [
+ {
+ "title": "万年历",
+ "thumb": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/preview/s13.jpeg",
+ "version": "1.0.0",
+ "description": "万年历日历,显示调休节假日农历等信息",
+ "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/%E4%B8%87%E5%B9%B4%E5%8E%86.js",
+ "name": "万年历"
+ },
+ {
+ "title": "彩云折线",
+ "thumb": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/preview/s12.jpeg",
+ "version": "1.0.0",
+ "description": "彩云天气折线数据",
+ "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/%E5%BD%A9%E4%BA%91%E6%8A%98%E7%BA%BF.js",
+ "name": "彩云折线"
+ },
+ {
+ "title": "桌面启动",
+ "thumb": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/preview/s1.jpeg",
+ "version": "1.0.0",
+ "description": "快捷启动 & 彩云天气数据 & 节假日倒计时",
+ "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/%E6%A1%8C%E9%9D%A2%E5%90%AF%E5%8A%A8.js",
+ "name": "桌面启动"
+ },
+ {
+ "title": "写真随机",
+ "thumb": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/preview/s3.jpeg",
+ "version": "1.0.0",
+ "description": "写真随机,dounimei&dopaminegirl图源",
+ "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/%E5%86%99%E7%9C%9F%E9%9A%8F%E6%9C%BA.js",
+ "name": "写真随机"
+ },
+ {
+ "title": "TopHub榜单",
+ "thumb": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/preview/s4.jpeg",
+ "version": "1.0.0",
+ "description": "数据来源于今日热榜,几乎包罗全网热点,搜索热点添加",
+ "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/TopHub%E6%A6%9C%E5%8D%95.js",
+ "name": "TopHub榜单"
+ },
+ {
+ "title": "青蛙天气",
+ "thumb": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/preview/s2.jpeg",
+ "version": "1.0.0",
+ "description": "谷歌青蛙天气背景 & 彩云天气数据",
+ "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/%E9%9D%92%E8%9B%99%E5%A4%A9%E6%B0%94.js",
+ "name": "青蛙天气"
+ },
+ {
+ "title": "今日事项",
+ "thumb": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/preview/s6.jpeg",
+ "version": "1.0.0",
+ "description": "配合系统提现事项使用,事项优先级背景色区分,全部完成会有烟花庆祝背景",
+ "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/%E4%BB%8A%E6%97%A5%E4%BA%8B%E9%A1%B9.js",
+ "name": "今日事项"
+ },
+ {
+ "title": "倒计日",
+ "thumb": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/preview/s7.jpeg",
+ "version": "1.0.0",
+ "description": "选择一个日期进行倒计时,动态颜色背景,根据系统深色模式切换,倒计、正计、纪念日、岁数",
+ "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/%E5%80%92%E8%AE%A1%E6%97%A5.js",
+ "name": "倒计日"
+ },
+ {
+ "title": "电影日历",
+ "thumb": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/preview/s8.jpeg",
+ "version": "1.0.0",
+ "description": "每日电影推荐,点击右侧日历跳到所有列表,其他则到今日详情,网站提供在线&下载地址",
+ "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/%E7%94%B5%E5%BD%B1%E6%97%A5%E5%8E%86.js",
+ "name": "电影日历"
+ },
+ {
+ "title": "JD",
+ "thumb": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/preview/s9.jpeg",
+ "version": "1.0.0",
+ "description": "京豆、物流、东东农场、白条还款、红包等信息展示",
+ "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/JD.js",
+ "name": "JD"
+ },
+ {
+ "title": "电信",
+ "thumb": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/preview/s10.jpeg",
+ "version": "1.0.0",
+ "description": "电信流量、话费、语音展示",
+ "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/%E7%94%B5%E4%BF%A1.js",
+ "name": "电信"
+ },
+ {
+ "title": "联通",
+ "thumb": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/preview/s11.jpeg",
+ "version": "1.0.0",
+ "description": "联通流量、话费、语音展示",
+ "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/v2/%E8%81%94%E9%80%9A.js",
+ "name": "联通"
+ }
+ ]
+}
\ No newline at end of file
diff --git "a/lsp\347\216\257\345\242\203.js" "b/lsp\347\216\257\345\242\203.js"
index bf48e76..f511d9a 100644
--- "a/lsp\347\216\257\345\242\203.js"
+++ "b/lsp\347\216\257\345\242\203.js"
@@ -1,39 +1,119 @@
// Variables used by Scriptable.
// These must be at the very top of the file. Do not edit.
-// icon-color: blue; icon-glyph: user-astronaut;
+// icon-color: deep-gray; icon-glyph: user-astronaut;
+
/**
* 公众号:杂货万事屋
+ * 很多模板源自于互联网,有侵权的请公众号留言
* Author:LSP
- * Date:2021-09-29
*/
// 当前环境版本号
-const VERSION = 20210929
+const VERSION = 20221122
class Base {
- constructor(scriptName) {
- this.init(scriptName)
- }
- init(scriptName, widgetFamily = config.widgetFamily) {
+ constructor(scriptName) {
+ //=====================
// 设置脚本名字
this.scriptName = scriptName
- // 组件大小:small,medium,large
- this.widgetFamily = widgetFamily
- // 本地存储管理
- this.fmLocal = FileManager.local()
+ this.initCommonCacheKey();
+ //=====================
+ this.initDefaultValue();
+ //=====================
// 设置默认间距
this.paddingSetting()
- // 默认开启图片模式
- this.setSelectPicBg(true)
- // 默认关闭纯色模式
- this.setColorBgMode(false)
- // 设置默认刷新时间
- this.refreshIntervalTime()
+ //=====================
+ // 背景模式
+ const colorBgMode = this.keyGet(this.colorBgModeKey, 'true');
+ // 初始化背景模式
+ this.setColorBgMode(colorBgMode)
+ //=====================
+ // 设置刷新时间
+ let refreshTimeCache = this.keyGet(this.refreshTimeKey, `${this.defaultRefreshTime}`);
+ this.refreshIntervalTime(Number(refreshTimeCache));
+ //=====================
+ // 设置预览参数
+ this.configSetting()
// 设置预览尺寸-中等
this.setPreViewSizeMode(1)
}
+ // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ /**
+ * 获取缓存key
+ * @param {*} cacheKey
+ * @returns
+ */
+ getCacheKey = (cacheKey) => {
+ return `${this.scriptName}_${cacheKey}`;
+ }
+
+ /**
+ * 初始化缓存通用key
+ */
+ initCommonCacheKey = () => {
+ // 颜色
+ this.colorCacheKey = this.getCacheKey('colorKey');
+ // 渐变角度
+ this.colorAngleCacheKey = this.getCacheKey('colorAngleKey');
+ // 颜色背景模式
+ this.colorBgModeKey = this.getCacheKey('colorBgModeKey');
+ // 组件刷新时间
+ this.refreshTimeKey = this.getCacheKey('refreshKey');
+ // 是否使用iCloud
+ this.useiCloudKey = this.getCacheKey('useiCloudKey');
+ }
+
+ /**
+ * 使用缓存
+ * @returns
+ */
+ useCache = (cacheKey) => {
+ const iCloud = this.keyGet(this.useiCloudKey, 'false');
+ const fm = FileManager[iCloud == 'true' ? 'iCloud' : 'local']();
+ const cacheDirectory = fm.joinPath(fm.documentsDirectory(), `${this.scriptName}/cache`);
+ const cacheFile = fm.joinPath(cacheDirectory, this.getCacheKey(cacheKey));
+ if (!fm.fileExists(cacheDirectory)) {
+ fm.createDirectory(cacheDirectory, true);
+ }
+
+ const saveStringCache = (content) => {
+ console.log('cececec-?' + cacheFile);
+ fm.writeString(cacheFile, content);
+ };
+
+ const getStringCache = () => {
+ const fileExists = fm.fileExists(cacheFile)
+ let cacheString = ""
+ if (fileExists) {
+ cacheString = fm.readString(cacheFile)
+ }
+ return cacheString
+ }
+
+ return {
+ saveStringCache,
+ getStringCache,
+ }
+ };
+ // ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+ initDefaultValue(widgetFamily = config.widgetFamily) {
+ //=====================
+ this.defaultRefreshTime = 30;
+ this.defaultBgAlpha = 0.5;
+ this.defaultBgShadowColor = '#000';
+ this.defaultGradientAngle = 0;
+ this.defaultWidgetBgColor = '#141E30,#243B55';
+ //=====================
+ // 组件大小:small,medium,large
+ this.widgetFamily = widgetFamily
+ // 本地存储管理
+ this.fmLocal = FileManager.local()
+ }
+
/**
* 预览模式
* @param {number} mode 预览尺寸,0:小型,1:中型,2:大型,负数:不进行预览
@@ -46,18 +126,10 @@ class Base {
* 设置组件刷新间隔
* @param {number}} interval 刷新间隔(单位:分钟)
*/
- refreshIntervalTime(interval = 10) {
+ refreshIntervalTime(interval = 30) {
this.refreshInterval = interval
}
- /**
- * 是否是图片背景模式
- * @param {bool} mode 模式开关
- */
- setSelectPicBg(mode) {
- this.picBgMode = mode
- }
-
/**
* 是否是纯色背景模式
* @param {bool} mode 模式开关
@@ -65,7 +137,17 @@ class Base {
*/
setColorBgMode(mode, bgColor = Color.black()) {
this.colorBgMode = mode
+ this.picBgMode = !mode
this.bgColor = bgColor
+ this.keySave(this.colorBgModeKey, '' + mode);
+ }
+
+ /**
+ * 是否是背景模式
+ * @param {bool} mode 模式开关
+ */
+ setSelectPicBg(mode) {
+ this.setColorBgMode(!mode)
}
/**
@@ -76,7 +158,58 @@ class Base {
this.padding = padding
}
- //==========================================
+ /**
+ * 小组件参数设置
+ * @param {configArr} 小组件预览配置
+ */
+ configSetting(configArr = []) {
+ this.configArr = configArr
+ }
+
+ /**
+ * 小组件全路径名
+ * @param {name} 名称
+ */
+ setModuleName(name = '') {
+ this.moduleName = name
+ }
+
+ //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
+ getColors = (color = '') => {
+ const colors = typeof color === 'string' ? color.split(',') : color
+ return colors
+ }
+
+ /**
+ * 渐变色
+ * @param {颜色} colors
+ * @returns
+ */
+ getLinearGradientColor = (colors) => {
+ const colorAngleCache = this.keyGet(this.colorAngleCacheKey, this.defaultGradientAngle);
+ let angle = Number(colorAngleCache);
+ const locations = [];
+ const linearColor = new LinearGradient();
+ let x = 0, y = 0;
+ if (angle < 45) {
+ y = 0.5 - 0.5 / 45 * angle;
+ } else if (angle < 135) {
+ x = 1 / 90 * (angle - 45);
+ } else if (angle <= 180) {
+ x = 1;
+ y = 0.5 / 45 * (angle - 135);
+ }
+ linearColor.startPoint = new Point(x, y);
+ linearColor.endPoint = new Point(1 - x, 1 - y);
+ let avg = 1 / (colors.length - 1);
+ linearColor.colors = colors.map((item, index) => {
+ locations.push(index * avg);
+ return new Color(item);
+ });
+ linearColor.locations = locations;
+ return linearColor;
+ }
/**
* 字符串是否包含中文
@@ -96,6 +229,80 @@ class Base {
return /^[\u4e00-\u9fa5]+$/.test(str)
}
+ /**
+ * 画icon
+ * @param {*} icon
+ * @param {*} color
+ * @param {*} cornerWidth
+ * @returns
+ */
+ drawTableIcon = async (
+ icon = 'square.grid.2x2',
+ color = '#e8e8e8',
+ cornerWidth = 42
+ ) => {
+ let sf = SFSymbol.named(icon);
+ if (sf == null) {
+ sf = SFSymbol.named('scribble');
+ }
+ sf.applyFont(Font.mediumSystemFont(30));
+ const imgData = Data.fromPNG(sf.image).toBase64String();
+ const html = `
+
+
+
+ `
+ const js = `
+ var canvas = document.createElement("canvas");
+ var sourceImg = document.getElementById("sourceImg");
+ var silhouetteImg = document.getElementById("silhouetteImg");
+ var ctx = canvas.getContext('2d');
+ var size = sourceImg.width > sourceImg.height ? sourceImg.width : sourceImg.height;
+ canvas.width = size;
+ canvas.height = size;
+ ctx.drawImage(sourceImg, (canvas.width - sourceImg.width) / 2, (canvas.height - sourceImg.height) / 2);
+ var imgData = ctx.getImageData(0, 0, canvas.width, canvas.height);
+ var pix = imgData.data;
+ //convert the image into a silhouette
+ for (var i=0, n = pix.length; i < n; i+= 4){
+ //set red to 0
+ pix[i] = 255;
+ //set green to 0
+ pix[i+1] = 255;
+ //set blue to 0
+ pix[i+2] = 255;
+ //retain the alpha value
+ pix[i+3] = pix[i+3];
+ }
+ ctx.putImageData(imgData,0,0);
+ silhouetteImg.src = canvas.toDataURL();
+ output=canvas.toDataURL()
+ `
+
+ let wv = new WebView()
+ await wv.loadHTML(html)
+ const base64Image = await wv.evaluateJavaScript(js)
+ const iconImage = await new Request(base64Image).loadImage()
+ const size = new Size(160, 160)
+ const ctx = new DrawContext()
+ ctx.opaque = false
+ ctx.respectScreenScale = true
+ ctx.size = size
+ const path = new Path()
+ const rect = new Rect(0, 0, size.width, size.width)
+
+ path.addRoundedRect(rect, cornerWidth, cornerWidth)
+ path.closeSubpath()
+ ctx.setFillColor(new Color(color))
+ ctx.addPath(path)
+ ctx.fillPath()
+ const rate = 36
+ const iw = size.width - rate
+ const x = (size.width - iw) / 2
+ ctx.drawImageInRect(iconImage, new Rect(x, x, iw, iw))
+ return ctx.getImage()
+ }
+
/**
* 绘制自定义字体文本
* @param {string} fontUrl ttf字体url
@@ -150,13 +357,10 @@ class Base {
* @param {bool} json 返回数据是否为json,默认true
* @param {Obj} headers 请求头
* @param {string} pointCacheKey 指定缓存key
- * @param {bool} logable 是否打印数据,默认false
+ * @param {bool} logable 是否打印数据,默认true
* @return {string | json | null}
*/
async httpGet(url, json = true, headers, pointCacheKey, logable = false) {
- console.log("")
- console.log(`----------------------------------------`)
-
// 根据URL进行md5生成cacheKey
let cacheKey = pointCacheKey
if (cacheKey == undefined || cacheKey == null || cacheKey.length == 0) {
@@ -164,19 +368,17 @@ class Base {
}
// 读取本地缓存
const localCache = this.loadStringCache(cacheKey)
-
// 判断是否需要刷新
const lastCacheTime = this.getCacheModificationDate(cacheKey)
const timeInterval = Math.floor((this.getCurrentTimeStamp() - lastCacheTime) / 60)
+ const canLoadCache = localCache != null && localCache.length > 0;
+ console.log(`⏰已缓存:${timeInterval}min, 缓存时间:${this.getDateStr(new Date(lastCacheTime * 1000), 'HH:mm')}, 刷新:${this.refreshInterval}min`);
// 过时且有本地缓存则直接返回本地缓存数据
- console.log(`httpGet缓存判断,上次缓存时间=${timeInterval}分钟前,缓存过期时间=${this.refreshInterval}分钟,cache=${localCache.length}`)
- if (timeInterval <= this.refreshInterval && localCache != null && localCache.length > 0) {
- console.log(`httpGet读取缓存数据:==> ${url}`)
+ if (timeInterval <= this.refreshInterval && canLoadCache) {
+ console.log(`🤖Get读取缓存:${url}`)
// 是否打印响应数据
if (logable) {
- console.log(``)
- console.log(`httpGet请求响应数据:${localCache}`)
- console.log(``)
+ console.log(`🤖Get请求响应:${localCache}`)
}
console.log(`----------------------------------------`)
return json ? JSON.parse(localCache) : localCache
@@ -184,7 +386,7 @@ class Base {
let data = null
try {
- console.log(`httpGet在线请求数据:==> ${url}`)
+ console.log(`🚀Get在线请求:${url}`)
let req = new Request(url)
req.method = 'GET'
if (headers != null && headers != undefined) {
@@ -192,14 +394,12 @@ class Base {
}
data = await (json ? req.loadJSON() : req.loadString())
} catch (e) {
- console.error(`httpGet请求失败:${e}:==> ${url}`)
+ console.error(`🚫Get请求失败:${e}: ${url}`)
}
// 判断数据是否为空(加载失败)
- if (!data && localCache != null && localCache.length > 0) {
- console.log(``)
- console.log(`httpGet读取缓存数据:==> ${url}`)
- console.log(``)
+ if (!data && canLoadCache) {
+ console.log(`🤖Get读取缓存:${url}`)
console.log(`----------------------------------------`)
return json ? JSON.parse(localCache) : localCache
}
@@ -209,12 +409,9 @@ class Base {
// 是否打印响应数据
if (logable) {
- console.log(``)
- console.log(`httpGet请求响应数据:${JSON.stringify(data)}`)
- console.log(``)
+ console.log(`🤖Get请求响应:${JSON.stringify(data)}`)
}
console.log(`----------------------------------------`)
-
return data
}
@@ -228,9 +425,7 @@ class Base {
* @param {bool} logable 是否打印数据,默认false
* @return {string | json | null}
*/
- async httpPost(url, parameterKV, json = true, headers, pointCacheKey, logable = false) {
- console.log("")
- console.log(`----------------------------------------`)
+ async httpPost(url, parameterKV, json = true, headers, pointCacheKey, logable = true) {
// 根据URL进行md5生成cacheKey
let cacheKey = pointCacheKey
if (cacheKey == undefined || cacheKey == null || cacheKey.length == 0) {
@@ -238,19 +433,17 @@ class Base {
}
// 读取本地缓存
const localCache = this.loadStringCache(cacheKey)
-
// 判断是否需要刷新
const lastCacheTime = this.getCacheModificationDate(cacheKey)
const timeInterval = Math.floor((this.getCurrentTimeStamp() - lastCacheTime) / 60)
+ const canLoadCache = localCache != null && localCache.length > 0;
+ console.log(`⏰已缓存:${timeInterval}min, 缓存时间:${this.getDateStr(new Date(lastCacheTime * 1000), 'HH:mm')}, 刷新:${this.refreshInterval}min`);
// 过时且有本地缓存则直接返回本地缓存数据
- console.log(`httpPost缓存判断,上次缓存时间=${timeInterval}分钟前,缓存过期时间=${this.refreshInterval}分钟,cache=${localCache.length}`)
- if (timeInterval <= this.refreshInterval && localCache != null && localCache.length > 0) {
- console.log(`httpPost读取缓存数据:==> ${url}`)
+ if (timeInterval <= this.refreshInterval && canLoadCache) {
+ console.log(`🤖Post读取缓存: ${url}`)
// 是否打印响应数据
if (logable) {
- console.log(``)
- console.log(`httpPost请求响应数据:${localCache}`)
- console.log(``)
+ console.log(`🤖Post请求响应:${localCache}`)
}
console.log(`----------------------------------------`)
return json ? JSON.parse(localCache) : localCache
@@ -258,7 +451,7 @@ class Base {
let data = null
try {
- console.log(`httpPost在线请求数据:==> ${url}`)
+ console.log(`🚀Post在线请求:${url}`)
let req = new Request(url)
req.method = 'POST'
if (headers != null && headers != undefined) {
@@ -269,14 +462,12 @@ class Base {
}
data = await (json ? req.loadJSON() : req.loadString())
} catch (e) {
- console.error(`httpPost请求失败:${e}:==> ${url}`)
+ console.error(`🚫Post请求失败:${e}: ${url}`)
}
// 判断数据是否为空(加载失败)
- if (!data && localCache != null && localCache.length > 0) {
- console.log(``)
- console.log(`httpPost读取缓存数据:==> ${url}`)
- console.log(``)
+ if (!data && canLoadCache) {
+ console.log(`🤖Post读取缓存: ${url}`)
console.log(`----------------------------------------`)
return json ? JSON.parse(localCache) : localCache
}
@@ -286,12 +477,9 @@ class Base {
// 是否打印响应数据
if (logable) {
- console.log(``)
- console.log(`httpPost请求响应数据:${JSON.stringify(data)}`)
- console.log(``)
+ console.log(`🤖Post请求响应:${JSON.stringify(data)}`)
}
console.log(`----------------------------------------`)
-
return data
}
@@ -301,10 +489,6 @@ class Base {
* @return 定位信息
*/
async getLocation(locale = "zh_cn") {
- console.log("")
-
- console.log(`----------------------------------------`)
- console.log(`开始定位`)
// 定位信息
let locationData = {
"latitude": undefined,
@@ -312,22 +496,20 @@ class Base {
"locality": undefined,
"subLocality": undefined
}
-
// 缓存key
const cacheKey = "lsp-location-cache"
-
// 判断是否需要刷新
const lastCacheTime = this.getCacheModificationDate(cacheKey)
const timeInterval = Math.floor((this.getCurrentTimeStamp() - lastCacheTime) / 60)
// 缓存数据
const locationCache = this.loadStringCache(cacheKey)
- console.log(`定位缓存判断,上次缓存时间=${timeInterval}分钟前,缓存过期时间=${this.refreshInterval}分钟,cache=${locationCache.length}`)
if (timeInterval <= this.refreshInterval && locationCache != null && locationCache.length > 0) {
// 读取缓存数据
- console.log(`读取定位缓存数据:${locationCache}`)
+ console.log(`🤖读取定位缓存数据:${locationCache}`)
locationData = JSON.parse(locationCache)
} else {
+ console.log(`📌开始定位`)
try {
const location = await Location.current()
const geocode = await Location.reverseGeocode(location.latitude, location.longitude, locale)
@@ -344,20 +526,17 @@ class Base {
}
// 街道
locationData.street = geo.thoroughfare
-
// 缓存数据
this.saveStringCache(cacheKey, JSON.stringify(locationData))
-
- console.log(`定位信息:latitude=${location.latitude},longitude=${location.longitude},locality=${locationData.locality},subLocality=${locationData.subLocality},street=${locationData.street}`)
+ console.log(`🚀定位信息:latitude=${location.latitude},longitude=${location.longitude},locality=${locationData.locality},subLocality=${locationData.subLocality},street=${locationData.street}`)
} catch (e) {
- console.log(`定位出错了,${e.toString()}`)
+ console.error(`🚫定位出错了,${e.toString()}`)
// 读取缓存数据
const locationCache = this.loadStringCache(cacheKey)
- console.log(`读取定位缓存数据:${locationCache}`)
+ console.log(`🤖读取定位缓存数据:${locationCache}`)
locationData = JSON.parse(locationCache)
}
}
-
console.log(`----------------------------------------`)
return locationData
}
@@ -381,16 +560,14 @@ class Base {
}
/**
- * 获取图片
+ * 获取在线图片
* @param {string} url 图片链接
* @param {string} pointCacheKey 指定缓存key
+ * @param {bool} temporary 是否临时目录
* @param {bool} useCache 是否使用缓存
* @return {Image}
*/
- async getImageByUrl(url, pointCacheKey = null, useCache = true) {
- console.log('')
- console.log(`----------------------------------------`)
-
+ async getImageByUrl(url, pointCacheKey = null, temporary = false, useCache = true) {
// 根据URL进行md5生成cacheKey
let cacheKey = pointCacheKey
let isPointCacheKey = true
@@ -399,69 +576,69 @@ class Base {
cacheKey = this.md5(url)
}
-
// 缓存数据
if (useCache) {
- const cacheImg = this.loadImgCache(cacheKey)
+ const cacheImg = this.loadImgCache(cacheKey, temporary);
if (cacheImg != undefined && cacheImg != null) {
- console.log(`图片是否指定了缓存key:${isPointCacheKey}`)
if (isPointCacheKey) {
// 判断是否需要刷新
- const lastCacheTime = this.getCacheModificationDate(cacheKey)
+ const lastCacheTime = this.getCacheModificationDate(cacheKey, temporary);
const timeInterval = Math.floor((this.getCurrentTimeStamp() - lastCacheTime) / 60)
- console.log(`图片缓存判断,上次缓存时间=${timeInterval}分钟前,缓存过期时间=${this.refreshInterval}分钟`)
// 是否使用缓存
if (timeInterval <= this.refreshInterval) {
- console.log(`使用缓存图片:${url}`)
- console.log(`----------------------------------------`)
return cacheImg
}
} else {
- console.log(`使用缓存图片:${url}`)
- console.log(`----------------------------------------`)
return cacheImg
}
-
}
}
-
// 在线
try {
- console.log(`在线请求图片:${url}`)
- console.log(`----------------------------------------`)
+ console.log(`🚀在线请求图片:${url}`)
const req = new Request(url)
const img = await req.loadImage()
// 存储到缓存
this.saveImgCache(cacheKey, img)
+ console.log(`----------------------------------------`)
return img
} catch (e) {
console.error(`图片加载失败:${e}`)
// 判断本地是否有缓存,有的话直接返回缓存
let cacheImg = this.loadImgCache(cacheKey)
if (cacheImg != undefined) {
- console.log(`使用缓存图片:${url}`)
+ console.error(`🚫图片加载失败,返回缓存图片`)
console.log(`----------------------------------------`)
return cacheImg
}
// 没有缓存+失败情况下,返回灰色背景
- console.log(`返回默认图片:${url}`)
- console.log(`----------------------------------------`)
+ console.log(`📵返回默认图片,原链接:${url}`)
let ctx = new DrawContext()
ctx.size = new Size(80, 80)
ctx.setFillColor(Color.darkGray())
ctx.fillRect(new Rect(0, 0, 80, 80))
+ console.log(`----------------------------------------`)
return await ctx.getImage()
}
}
+ /**
+ * 获取缓存路径
+ * @param {是否是临时目录} temporary
+ */
+ getCacheFilePath(cacheKey, temporary = false) {
+ let path = this.fmLocal.joinPath(temporary ? FileManager.local().temporaryDirectory() : FileManager.local().documentsDirectory(), cacheKey);
+ return path;
+ }
+
/**
* 保存字符串到本地
* @param {string} cacheKey 缓存key
* @param {string} content 缓存内容
*/
saveStringCache(cacheKey, content) {
- const cacheFile = this.fmLocal.joinPath(FileManager.local().documentsDirectory(), cacheKey)
+ const cacheFile = this.getCacheFilePath(cacheKey);
this.fmLocal.writeString(cacheFile, content)
}
@@ -471,7 +648,7 @@ class Base {
* @return {string} 本地字符串缓存
*/
loadStringCache(cacheKey) {
- const cacheFile = this.fmLocal.joinPath(FileManager.local().documentsDirectory(), cacheKey)
+ const cacheFile = this.getCacheFilePath(cacheKey);
const fileExists = this.fmLocal.fileExists(cacheFile)
let cacheString = ""
if (fileExists) {
@@ -484,9 +661,10 @@ class Base {
* 保存图片到本地
* @param {string} cacheKey 缓存key
* @param {Image} img 缓存图片
+ * @param {boolean} temporary 是否是缓存目录
*/
- saveImgCache(cacheKey, img) {
- const cacheFile = this.fmLocal.joinPath(FileManager.local().documentsDirectory(), cacheKey)
+ saveImgCache(cacheKey, img, temporary = false) {
+ const cacheFile = this.getCacheFilePath(cacheKey, temporary);
this.fmLocal.writeImage(cacheFile, img)
}
@@ -494,13 +672,14 @@ class Base {
* 获取本地缓存图片
* @param {string} cacheKey 缓存key
* @return {Image} 本地图片缓存
+ * @param {boolean} temporary 是否是缓存目录
*/
- loadImgCache(cacheKey) {
- const cacheFile = this.fmLocal.joinPath(FileManager.local().documentsDirectory(), cacheKey)
- const fileExists = this.fmLocal.fileExists(cacheFile)
- let img = undefined
+ loadImgCache(cacheKey, temporary) {
+ const cacheFile = this.getCacheFilePath(cacheKey, temporary);
+ const fileExists = this.fmLocal.fileExists(cacheFile);
+ let img = undefined;
if (fileExists) {
- img = this.fmLocal.readImage(cacheFile)
+ img = this.fmLocal.readImage(cacheFile);
}
return img
}
@@ -508,13 +687,14 @@ class Base {
/**
* 获取缓存文件的上次修改时间
* @param {string} cacheKey 缓存key
+ * @param {boolean} temporary 是否是临时目录
* @return 返回上次缓存文件修改的时间戳(单位:秒)
*/
- getCacheModificationDate(cacheKey) {
- const cacheFile = this.fmLocal.joinPath(FileManager.local().documentsDirectory(), cacheKey)
+ getCacheModificationDate(cacheKey, temporary = false) {
+ const cacheFile = this.getCacheFilePath(cacheKey, temporary);
const fileExists = this.fmLocal.fileExists(cacheFile)
if (fileExists) {
- return this.fmLocal.modificationDate(cacheFile).getTime() / 1000
+ return Math.floor(this.fmLocal.modificationDate(cacheFile).getTime() / 1000)
} else {
return 0
}
@@ -524,7 +704,16 @@ class Base {
* 获取当前时间戳(单位:秒)
*/
getCurrentTimeStamp() {
- return new Date().getTime() / 1000
+ return Math.floor(new Date().getTime() / 1000)
+ }
+
+ /**
+ * 删除本地缓存
+ */
+ removeAllCache() {
+ const cacheFile = this.fmLocal.joinPath(FileManager.local().documentsDirectory(), '')
+ this.fmLocal.remove(cacheFile)
+ this.fmLocal.createDirectory(this.fmLocal.joinPath(FileManager.local().documentsDirectory(), '/'))
}
/**
@@ -532,8 +721,10 @@ class Base {
* @param {string} cacheKey 缓存key
*/
removeCache(cacheKey) {
- const cacheFile = this.fmLocal.joinPath(FileManager.local().documentsDirectory(), cacheKey)
- this.fmLocal.remove(cacheFile)
+ const cacheFile = this.getCacheFilePath(cacheKey);
+ if (this.fmLocal.fileExists(cacheFile)) {
+ this.fmLocal.remove(cacheFile)
+ }
}
/**
@@ -556,16 +747,37 @@ class Base {
if (Keychain.contains(cacheKey)) {
let cacheString = Keychain.get(cacheKey)
index = parseInt(cacheString)
- console.log(`索引缓存值---${index}`);
}
index = index + 1
index = index % size
- console.log(`索引值轮播---${index}`);
Keychain.set(cacheKey, `${index}`)
return index
}
+ /**
+ * 保存key相关设置,缓存清除不会清理这个
+ * @param {string} cacheKey
+ * @param {string} cache
+ */
+ keySave(cacheKey, cache) {
+ if (cache) {
+ Keychain.set(cacheKey, cache);
+ }
+ }
+
+ /**
+ * 获取key相关设置
+ * @param {string} cacheKey
+ */
+ keyGet(cacheKey, defaultValue = '') {
+ if (Keychain.contains(cacheKey)) {
+ return Keychain.get(cacheKey);
+ } else {
+ return defaultValue;
+ }
+ }
+
/**
* 格式化时间
* @param {Date} date 日期
@@ -601,10 +813,42 @@ class Base {
} else {
phoneWidgetSize = this.phoneSizes()[screenHeight]
}
- const width = phoneWidgetSize[size] / screenScale
+ let width = phoneWidgetSize[size] / screenScale
+ if (size === '大号') {
+ width = phoneWidgetSize['中号'] / screenScale
+ }
return width
}
+ /**
+ * 获取组件尺寸高度大小
+ * @param {string} size 组件尺寸【小号】、【中号】、【大号】
+ * @param {bool} isIphone12Mini 是否是12mini
+ */
+ getWidgetHeightSize(size, isIphone12Mini) {
+ // 屏幕缩放比例
+ const screenScale = Device.screenScale()
+ // 组件宽度
+ let phoneWidgetSize = undefined
+ // 手机屏幕高度
+ const screenHeight = Device.screenSize().height * screenScale
+ if (screenHeight == 2436) {
+ // 2436尺寸的手机有【11 Pro, XS, X】 & 【12 mini】
+ if (isIphone12Mini) {
+ phoneWidgetSize = this.phoneSizes()[screenHeight].mini
+ } else {
+ phoneWidgetSize = this.phoneSizes()[screenHeight].x
+ }
+ } else {
+ phoneWidgetSize = this.phoneSizes()[screenHeight]
+ }
+ let height = phoneWidgetSize['小号'] / screenScale
+ if (size === '大号') {
+ height = phoneWidgetSize['大号'] / screenScale
+ }
+ return height
+ }
+
/**
* 获取上次保存的背景图
* @return 背景图
@@ -900,8 +1144,8 @@ class Base {
}
/**
- * ------------------------------------------------------------------------------
- */
+ * ------------------------------------------------------------------------------
+ */
/**
* 透明背景
@@ -914,32 +1158,10 @@ class Base {
// Determine if user has taken the screenshot.
var message
message = "如需实现透明背景请先滑到最右边的空白页并截图"
- let options = ["继续选择图片", "退出进行截图", "同步远程环境"]
+ let options = ["继续选择图片", "退出进行截图"]
let response = await this.generateAlert(message, options)
// Return if we need to exit.
if (response == 1) return null
-
- // Update the code.
- if (response == 2) {
- // Determine if the user is using iCloud.
- let files = FileManager.local()
- const iCloudInUse = files.isFileStoredIniCloud(module.filename)
- // If so, use an iCloud file manager.
- files = iCloudInUse ? FileManager.iCloud() : files
- // Try to download the file.
- try {
- const req = new Request("https://gitee.com/enjoyee/scriptable/raw/master/%E6%96%B0%E7%B3%BB%E5%88%97/lsp%E7%8E%AF%E5%A2%83.js")
- const codeString = await req.loadString()
- files.writeString(module.filename, codeString)
- message = "环境脚本已更新,下次运行时生效。"
- } catch {
- message = "更新失败,请稍后再试。"
- }
- options = ["好的"]
- await this.generateAlert(message, options)
- return
- }
-
// Get screenshot and determine phone size.
let img = await Photos.fromLibrary()
let height = img.size.height
@@ -955,12 +1177,10 @@ class Base {
let files = FileManager.local()
let cacheName = "lsp-phone-type"
let cachePath = files.joinPath(files.libraryDirectory(), cacheName)
-
// If we already cached the phone size, load it.
if (files.fileExists(cachePath)) {
let typeString = files.readString(cachePath)
phone = phone[typeString]
-
// Otherwise, prompt the user.
} else {
message = "你使用什么型号的iPhone?"
@@ -1032,7 +1252,7 @@ class Base {
}
message = tips
- const exportPhotoOptions = ["完成预览", "导出到相册"]
+ const exportPhotoOptions = ["完成", "导出"]
const exportToPhoto = await this.generateAlert(message, exportPhotoOptions)
if (exportToPhoto) {
@@ -1044,23 +1264,6 @@ class Base {
}
}
- /**
- * 弹窗
- * @param {string} message 信息
- * @param {Array} options 选项
- */
- async generateAlert(message, options) {
- let alert = new Alert()
- alert.message = message
-
- for (const option of options) {
- alert.addAction(option)
- }
-
- let response = await alert.presentAlert()
- return response
- }
-
/**
* 裁剪图片
* @param {Rect} crop 裁剪矩形
@@ -1419,7 +1622,6 @@ class Base {
}
function lightBlur(hsl) {
-
// Adjust the luminance.
let lumCalc = 0.35 + (0.3 / hsl[2]);
if (lumCalc < 1) { lumCalc = 1; }
@@ -1431,7 +1633,6 @@ class Base {
const s = hsl[1] * colorful * 1.5;
return [hsl[0], s, l];
-
}
function darkBlur(hsl) {
@@ -1440,7 +1641,6 @@ class Base {
const s = hsl[1] * (1 - hsl[2]) * 3;
return [hsl[0], s, hsl[2]];
-
}
// Set up the canvas.
const img = document.getElementById("blurImg");
@@ -1482,7 +1682,7 @@ class Base {
// Draw over the old image.
context.putImageData(imageData, 0, 0);
// Blur the image.
- stackBlurCanvasRGB("mainCanvas", 0, 0, w, h, ${ blur });
+ stackBlurCanvasRGB("mainCanvas", 0, 0, w, h, ${blur});
// Perform the additional processing for dark images.
if (style == "dark") {
@@ -1534,205 +1734,588 @@ class Base {
}
}
+ /**
+ * 弹窗
+ * @param {string} message 信息
+ * @param {Array} options 选项
+ */
+ async generateAlert(message, options) {
+ let alert = new Alert()
+ alert.message = message
+
+ for (const option of options) {
+ alert.addAction(option)
+ }
+
+ let response = await alert.presentAlert()
+ return response
+ }
+
+ async generateInputAlert(title, message, hint, value, confirm) {
+ const urlInputAlert = new Alert();
+ urlInputAlert.title = title;
+ urlInputAlert.message = message;
+ urlInputAlert.addAction("取消");
+ urlInputAlert.addAction("确定");
+ urlInputAlert.addTextField(hint, value);
+ let selectIndex = await urlInputAlert.presentAlert();
+ if (selectIndex == 1) {
+ const content = urlInputAlert.textFieldValue();
+ if (content.length == 0) return;
+ confirm(content);
+ }
+ return selectIndex;
+ }
+
/**
* 手机各大小组件尺寸
*/
phoneSizes() {
let phones = {
-
+ // 14 Pro Max
+ "2796": { 小号: 510, 中号: 1092, 大号: 1146, 左边: 99, 右边: 681, 顶部: 282, 中间: 918, 底部: 1554 },
+ // 14 Pro
+ "2556": { 小号: 474, 中号: 1014, 大号: 1062, 左边: 82, 右边: 622, 顶部: 270, 中间: 858, 底部: 1446 },
// 12 Pro Max
- "2778": {
- 小号: 510,
- 中号: 1092,
- 大号: 1146,
- 左边: 96,
- 右边: 678,
- 顶部: 246,
- 中间: 882,
- 底部: 1518
- },
-
+ "2778": { 小号: 510, 中号: 1092, 大号: 1146, 左边: 96, 右边: 678, 顶部: 246, 中间: 882, 底部: 1518 },
// 12 and 12 Pro
- "2532": {
- 小号: 474,
- 中号: 1014,
- 大号: 1062,
- 左边: 78,
- 右边: 618,
- 顶部: 231,
- 中间: 819,
- 底部: 1407
- },
-
+ "2532": { 小号: 474, 中号: 1014, 大号: 1062, 左边: 78, 右边: 618, 顶部: 231, 中间: 819, 底部: 1407 },
// 11 Pro Max, XS Max
- "2688": {
- 小号: 507,
- 中号: 1080,
- 大号: 1137,
- 左边: 81,
- 右边: 654,
- 顶部: 228,
- 中间: 858,
- 底部: 1488
- },
-
+ "2688": { 小号: 507, 中号: 1080, 大号: 1137, 左边: 81, 右边: 654, 顶部: 228, 中间: 858, 底部: 1488 },
// 11, XR
- "1792": {
- 小号: 338,
- 中号: 720,
- 大号: 758,
- 左边: 54,
- 右边: 436,
- 顶部: 160,
- 中间: 580,
- 底部: 1000
- },
-
-
+ "1792": { 小号: 338, 中号: 720, 大号: 758, 左边: 54, 右边: 436, 顶部: 160, 中间: 580, 底部: 1000 },
// 11 Pro, XS, X, 12 mini
"2436": {
- x: {
- 小号: 465,
- 中号: 987,
- 大号: 1035,
- 左边: 69,
- 右边: 591,
- 顶部: 213,
- 中间: 783,
- 底部: 1353,
- },
-
- mini: {
- 小号: 465,
- 中号: 987,
- 大号: 1035,
- 左边: 69,
- 右边: 591,
- 顶部: 231,
- 中间: 801,
- 底部: 1371,
- }
-
+ x: { 小号: 465, 中号: 987, 大号: 1035, 左边: 69, 右边: 591, 顶部: 213, 中间: 783, 底部: 1353, },
+ mini: { 小号: 465, 中号: 987, 大号: 1035, 左边: 69, 右边: 591, 顶部: 231, 中间: 801, 底部: 1371, }
},
-
// Plus phones
- "2208": {
- 小号: 471,
- 中号: 1044,
- 大号: 1071,
- 左边: 99,
- 右边: 672,
- 顶部: 114,
- 中间: 696,
- 底部: 1278
- },
-
+ "2208": { 小号: 471, 中号: 1044, 大号: 1071, 左边: 99, 右边: 672, 顶部: 114, 中间: 696, 底部: 1278 },
// SE2 and 6/6S/7/8
- "1334": {
- 小号: 296,
- 中号: 642,
- 大号: 648,
- 左边: 54,
- 右边: 400,
- 顶部: 60,
- 中间: 412,
- 底部: 764
- },
-
+ "1334": { 小号: 296, 中号: 642, 大号: 648, 左边: 54, 右边: 400, 顶部: 60, 中间: 412, 底部: 764 },
// SE1
- "1136": {
- 小号: 282,
- 中号: 584,
- 大号: 622,
- 左边: 30,
- 右边: 332,
- 顶部: 59,
- 中间: 399,
- 底部: 399
- },
-
+ "1136": { 小号: 282, 中号: 584, 大号: 622, 左边: 30, 右边: 332, 顶部: 59, 中间: 399, 底部: 399 },
// 11 and XR in Display Zoom mode
- "1624": {
- 小号: 310,
- 中号: 658,
- 大号: 690,
- 左边: 46,
- 右边: 394,
- 顶部: 142,
- 中间: 522,
- 底部: 902
- },
-
+ "1624": { 小号: 310, 中号: 658, 大号: 690, 左边: 46, 右边: 394, 顶部: 142, 中间: 522, 底部: 902 },
// Plus in Display Zoom mode
- "2001": {
- 小号: 444,
- 中号: 963,
- 大号: 972,
- 左边: 81,
- 右边: 600,
- 顶部: 90,
- 中间: 618,
- 底部: 1146
- },
+ "2001": { 小号: 444, 中号: 963, 大号: 972, 左边: 81, 右边: 600, 顶部: 90, 中间: 618, 底部: 1146 },
}
return phones
}
/**
- * ------------------------------------------------------------------------------
+ * ------------------------------------------------------------------------------
+ */
+
+ /**
+ * 获取农历信息
*/
+ async getLunar() {
+ const day = new Date().getDate() - 1
+ // 万年历数据
+ const url = "https://wannianrili.51240.com/"
+ const defaultHeaders = {
+ "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.67 Safari/537.36"
+ }
+ const html = await this.httpGet(url, false, defaultHeaders)
+ let webview = new WebView()
+ await webview.loadHTML(html)
+ var getData = `
+ function getData() {
+ try {
+ infoLunarText = document.querySelector('div#wnrl_k_you_id_${day}.wnrl_k_you .wnrl_k_you_id_wnrl_nongli').innerText
+ holidayText = document.querySelectorAll('div.wnrl_k_zuo div.wnrl_riqi')[${day}].querySelector('.wnrl_td_bzl').innerText
+ lunarYearText = document.querySelector('div.wnrl_k_you_id_wnrl_nongli_ganzhi').innerText
+ lunarYearText = lunarYearText.slice(0, lunarYearText.indexOf('年') + 1)
+ if (infoLunarText.search(holidayText) != -1) {
+ holidayText = ''
+ }
+ } catch {
+ infoLunarText = '*'
+ holidayText = '*'
+ lunarYearText = '*'
+ }
+ return { infoLunarText: infoLunarText, holidayText: holidayText , lunarYearText: lunarYearText}
+ }
+ getData()
+ `
+ // 节日数据
+ const response = await webview.evaluateJavaScript(getData, false)
+ console.log(`🤖农历数据:${JSON.stringify(response)}`);
+ console.log(`----------------------------------------`)
+ return response
+ }
+ //@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
+
+ provideDefaultWidget() {
+ //====================================
+ const widget = new ListWidget();
+ //====================================
+ let stack = widget.addStack();
+ stack.addText("未提供此组件");
+ stack.centerAlignContent();
+ //====================================
+ return widget;
+ }
/**
- * 运行小组件
- * @param {ListWidget} widget 小组件
- * @param {bool} needSetBg 是否需要设置背景
+ * 菜单渲染
+ * @param {配置菜单} configArr
+ */
+ async renderTable(configArr, table = new UITable()) {
+ table.showSeparators = true;
+ table.removeAllRows();
+ for (const config of configArr) {
+ //-------------------------------------------
+ const header = new UITableRow();
+ const heading = header.addText(config.header);
+ heading.titleFont = Font.semiboldMonospacedSystemFont(17);
+ heading.titleColor = new Color('#444');
+ heading.leftAligned();
+ table.addRow(header);
+ //-------------------------------------------
+ for (const child of config.children) {
+ const row = new UITableRow();
+ if (child.cellSpacing) {
+ row.cellSpacing = child.cellSpacing;
+ }
+ row.height = child.height || 44;
+ let image;
+ let icon = child.icon;
+ if ((icon + '').startsWith('http')) {
+ image = await this.getImageByUrl(icon);
+ } else {
+ image = await this.drawTableIcon(
+ icon.name,
+ icon.color,
+ child.cornerWidth
+ )
+ }
+ const imageCell = row.addImage(image);
+ imageCell.widthWeight = 100;
+ //
+ const rowTitle = row.addText(child.title);
+ rowTitle.widthWeight = 600;
+ rowTitle.titleFont = Font.regularMonospacedSystemFont(15);
+ rowTitle.titleColor = child.titleColor || new Color('#6C5CE9');
+ //
+ const valText = row.addText(`${child.subTitle || ''} ›`);
+ valText.widthWeight = 300;
+ valText.rightAligned();
+ valText.titleColor = child.subTitleColor || new Color('#6C5CE9');
+ valText.titleFont = Font.regularMonospacedSystemFont(14);
+ //
+ row.dismissOnSelect = child.clickDismiss || false;
+ row.onSelect = async () => {
+ try {
+ await child.onClick(child);
+ } catch (e) {
+ console.error(e);
+ }
+ };
+ table.addRow(row);
+ };
+ }
+ //-------------------------------------------
+ const gzhRow = new UITableRow();
+ gzhRow.height = 200;
+ let gzhImage = await this.getImageByUrl('https://gitee.com/enjoyee/img/raw/master/other/wechat_pay.png');
+ gzhRow.addImage(gzhImage);
+ gzhRow.dismissOnSelect = false;
+ table.addRow(gzhRow);
+ //-------------------------------------------
+ table.reload();
+ table.present(false);
+ }
+
+ /**
+ * 环境同步更新
+ * @returns
+ */
+ async fetchEnv() {
+ let updateResult = false;
+ const envFileName = module.filename;
+ const envDownloadUrl = 'https://gitee.com/enjoyee/scriptable/raw/develop/lsp%E7%8E%AF%E5%A2%83.js';
+ let fileManager = FileManager.local();
+ try {
+ const iCloudInUse = fileManager.isFileStoredIniCloud(envFileName);
+ fileManager = iCloudInUse ? FileManager.iCloud() : fileManager;
+ const req = new Request(envDownloadUrl);
+ const codeString = await req.loadString();
+ fileManager.writeString(envFileName, codeString);
+ updateResult = true;
+ console.log("✅环境同步更新完成");
+ } catch {
+ this.generateAlert('❌环境同步更新失败', ["好的"]);
+ console.log("❌环境同步更新失败");
+ }
+ console.log(`----------------------------------------`)
+ return updateResult;
+ }
+
+ /**
+ * 下载更新
*/
- async runWidget(widget, needSetBg = true) {
- // 设置边距(上,左,下,右)
- widget.setPadding(this.padding.top, this.padding.left, this.padding.bottom, this.padding.right)
- // 设置刷新间隔
- widget.refreshAfterDate = new Date(this.refreshInterval * 60 * 1000)
+ async downloadUpdate(filename, downloadURL) {
+ const result = await this.fetchEnv();
+ console.log(`✋🏻filename=${filename}, downloadURL=${downloadURL}`);
+ if (result) {
+ let fileManager = FileManager.local();
+ try {
+ const iCloudInUse = fileManager.isFileStoredIniCloud(filename);
+ fileManager = iCloudInUse ? FileManager.iCloud() : fileManager;
+ const req = new Request(downloadURL);
+ const codeString = await req.loadString();
+ fileManager.writeString(filename, codeString);
+ await this.generateAlert('✅同步更新完成', ["重新运行"]);
+ console.log("✅组件更新完成");
+ console.log(`----------------------------------------`)
+ Safari.open(`scriptable:///run/${encodeURIComponent(this.scriptName)}`);
+ } catch {
+ this.generateAlert('❌组件更新失败,请稍后重试', ["好的"]);
+ console.error("❌组件更新失败,请稍后重试");
+ console.log(`----------------------------------------`)
+ }
+ }
+ }
+ /**
+ * 兼容旧版本
+ * @param {*} needSetBg
+ */
+ async _oldPreSet(needSetBg = true) {
if (needSetBg) {
// 需要选择图片
if (this.picBgMode) {
await this.transparentBg()
}
+ }
+ }
- // 设置图片背景
- if (!this.colorBgMode) {
- const bgImg = this.loadImgCache(this.scriptName)
- if (bgImg != undefined && bgImg != null) {
- widget.backgroundImage = bgImg
- }
- } else {
- // 设置纯色背景
- widget.backgroundColor = this.bgColor
+ /**
+ * 运行小组件
+ * @param {ListWidget} widget 小组件
+ * @param {bool} needSetBg 是否需要设置背景
+ * @param {bool} visualMode 可视化编辑模式
+ */
+ async runWidget(widget, needSetBg = true, visualMode = false) {
+ // 设置边距(上,左,下,右)
+ widget.setPadding(this.padding.top, this.padding.left, this.padding.bottom, this.padding.right)
+ // 设置刷新间隔
+ widget.refreshAfterDate = new Date(this.refreshInterval * 60 * 1000)
+ // 兼容旧版本
+ if (!visualMode) {
+ await this._oldPreSet(needSetBg);
+ }
+ // 设置图片背景
+ const colorBgMode = this.keyGet(this.colorBgModeKey, 'true');
+ if (colorBgMode == 'true') {
+ // 设置渐变色背景
+ console.log(`🪢纯色背景🪢`);
+ let colorCache = this.keyGet(this.colorCacheKey, this.defaultWidgetBgColor);
+ widget.backgroundGradient = this.getLinearGradientColor(this.getColors(colorCache));
+ } else {
+ console.log(`🪢图片背景🪢`);
+ const bgImg = this.loadImgCache(this.scriptName)
+ if (bgImg != undefined && bgImg != null) {
+ widget.backgroundImage = bgImg
}
}
-
- // 设置组件
- Script.setWidget(widget)
if (this.previewSizeMode >= 0) {
// 预览
if (config.runsInApp) {
- if (this.previewSizeMode == 1) {
- widget.presentMedium()
- } else if (this.previewSizeMode == 2) {
- widget.presentLarge()
- } else {
- widget.presentSmall()
+ switch (this.previewSizeMode) {
+ case 1:
+ widget.presentMedium();
+ break;
+ case 2:
+ widget.presentLarge();
+ break;
+ default:
+ widget.presentSmall();
+ break;
}
}
}
+ // 设置组件
+ Script.setWidget(widget)
// 完成脚本
Script.complete()
}
+}
+//================================================================================================
+const Running = async (Widget, scriptName, needSetBg = true, newConfig = { visualMode: false, small: false, medium: false, large: false, accessoryCircular: false, accessoryRectangular: false, accessoryInline: false }) => {
+ const M = new Widget(scriptName)
+ if (newConfig.visualMode) {
+ if (config.runsInApp) {
+ // 预览点击
+ const previewClick = async (item) => {
+ try {
+ let W;
+ switch ((item.subTitle || '').toLowerCase()) {
+ case 'medium':
+ M.setPreViewSizeMode(1);
+ W = newConfig.medium ? await M.provideMediumWidget() : M.provideDefaultWidget();
+ break;
+
+ case 'large':
+ M.setPreViewSizeMode(2);
+ W = newConfig.large ? await M.provideLargeWidget() : M.provideDefaultWidget();
+ break;
+
+ default:
+ M.setPreViewSizeMode(0);
+ W = newConfig.small ? await M.provideSmallWidget() : M.provideDefaultWidget();
+ break;
+ }
+ if (W != undefined) {
+ await M.runWidget(W, false, true);
+ }
+ } catch (err) {
+ M.generateAlert(`运行错误❌\n${err}`, ["好的"]);
+ console.error(err);
+ }
+ }
+ // 通用设置点击
+ const commonClick = async (item) => {
+ switch (item.title) {
+ case '组件背景':
+ await M.renderTable(widgetBgSettingArr);
+ break;
+
+ case '刷新时间':
+ const refreshTimeCache = M.keyGet(M.refreshTimeKey, '30');
+ M.generateInputAlert('组件刷新时间', '1.刷新时间仅供参考\n2.具体刷新间隔由系统决定,单位:分钟', "请输入时间", refreshTimeCache, (content) => {
+ // 保存本地
+ M.keySave(M.refreshTimeKey, content);
+ M.refreshIntervalTime(Number(content));
+ });
+ break;
+
+ case '组件更新':
+ await M.downloadUpdate(M.moduleName, `https://gitee.com/enjoyee/scriptable/raw/develop/${encodeURIComponent(M.scriptName)}.js`);
+ break;
+
+ case '清理缓存':
+ let response = await M.generateAlert('是否清理所有组件缓存?\n注意:包括所有组件背景图!', ['取消', '清理']);
+ if (response === 1) {
+ M.removeAllCache();
+ response = await M.generateAlert('缓存已清理完成', ['重新运行']);
+ if (response === 0) {
+ Safari.open(`scriptable:///run/${encodeURIComponent(M.scriptName)}`);
+ }
+ }
+ break;
+ }
+ };
+ // 组件背景点击
+ const bgItemClick = async (item) => {
+ switch (item.title) {
+ case '透明背景':
+ await M.transparentBg();
+ M.keySave(M.colorBgModeKey, 'false');
+ M.setColorBgMode(false);
+ break;
+
+ case '在线背景':
+ try {
+ //======================================================
+ const cacheUrlKey = M.scriptName + '_online_bg';
+ let cacheUrl = M.keyGet(cacheUrlKey, '');
+ const cacheColorKey = M.scriptName + '_online_color';
+ let cacheColor = M.keyGet(cacheColorKey, M.defaultBgShadowColor);
+ const cacheAlphaKey = M.scriptName + '_online_alpha';
+ let cacheAlpha = M.keyGet(cacheAlphaKey, `${M.defaultBgAlpha}`);
+ //======================================================
+ let alert = new Alert();
+ alert.title = '在线图片';
+ alert.message = '图片尺寸不要过大\n要不然可能会设置失败\n最好自己裁剪成合适尺寸';
+ alert.addTextField('请输入图片地址', cacheUrl);
+ alert.addTextField('请输入图片蒙层颜色', cacheColor);
+ alert.addTextField('请输入图片蒙层透明度0~1', cacheAlpha);
+ alert.addCancelAction("取消");
+ alert.addAction("确定");
+ let selectIndex = await alert.presentAlert();
+ if (selectIndex !== -1) {
+ let imgUrl = alert.textFieldValue(0);
+ if (imgUrl.length == 0) return;
+ let image = await M.getImageByUrl(imgUrl);
+ M.keySave(cacheUrlKey, imgUrl);
+ //
+ let shadowColor = alert.textFieldValue(1) || M.defaultBgShadowColor;
+ M.keySave(cacheColorKey, shadowColor);
+ let shadowColorAlph = alert.textFieldValue(2);
+ M.keySave(cacheAlphaKey, shadowColorAlph);
+ image = await M.loadShadowColor2Image(image, new Color(shadowColor, Number(shadowColorAlph)));
+ //
+ M.saveImgCache(M.scriptName, image);
+ M.keySave(M.colorBgModeKey, 'false');
+ M.setColorBgMode(false);
+ await M.generateAlert('✅在线图片背景设置完成', ['好的']);
+ }
+ } catch (error) {
+ M.generateAlert(`填写格式❌\n${error}`, ["好的"]);
+ console.error(error);
+ }
+ break;
+
+ case '颜色背景':
+ const colorCache = M.keyGet(M.colorCacheKey, M.defaultWidgetBgColor);
+ const colorAngleCache = M.keyGet(M.colorAngleCacheKey, M.defaultGradientAngle);
+ let alert = new Alert();
+ alert.title = '小组件背景颜色';
+ alert.message = '1.颜色,各颜色之间以英文逗号分隔\n2.请自行去网站上搜寻颜色(Hex 颜色)';
+ alert.addTextField('请输入颜色组', `${colorCache}`);
+ alert.addTextField('请输入渐变角度0~180', `${colorAngleCache}`);
+ alert.addCancelAction("取消");
+ alert.addAction("确定");
+ let selectIndex = await alert.presentAlert();
+ if (selectIndex !== -1) {
+ let colors = alert.textFieldValue(0);
+ if (colors.length == 0) return;
+ M.keySave(M.colorCacheKey, colors);
+ M.setColorBgMode(true);
+ //==========================================
+ let colorAngle = alert.textFieldValue(1) || M.defaultGradientAngle;
+ M.keySave(M.colorAngleCacheKey, colorAngle);
+ M.keySave(M.colorBgModeKey, 'true');
+ //
+ await M.generateAlert('✅颜色背景设置完成', ['好的']);
+ }
+ break;
+ }
+ }
+ const widgetPreviewArr = [];
+ if (newConfig.small) {
+ widgetPreviewArr.push({
+ icon: { name: 'app', color: '#9B97E8', cornerWidth: 40 },
+ title: '小尺寸',
+ subTitle: 'Small',
+ onClick: previewClick
+ });
+ }
+ if (newConfig.medium) {
+ widgetPreviewArr.push({
+ icon: { name: 'rectangle', color: '#9B97E8', cornerWidth: 40 },
+ title: '中尺寸',
+ subTitle: 'Medium',
+ onClick: previewClick
+ });
+ }
+ if (newConfig.large) {
+ widgetPreviewArr.push({
+ icon: { name: 'rectangle.portrait', color: '#9B97E8', cornerWidth: 40 },
+ title: '大尺寸',
+ subTitle: 'Large',
+ onClick: previewClick
+ });
+ }
+ // 组件设置菜单
+ const widgetSettingConfigArr = M.configArr;
+ widgetSettingConfigArr.push({
+ icon: { name: 'text.below.photo.fill', color: '#E6639B', cornerWidth: 40 },
+ title: '组件背景',
+ onClick: commonClick
+ });
+ const widgetSettingArr = [
+ {
+ header: '组件设置',
+ children: widgetSettingConfigArr
+ },
+ {
+ header: '通用设置',
+ children: [
+ {
+ icon: { name: 'clock.arrow.circlepath', color: '#FF8066', cornerWidth: 40 },
+ title: '刷新时间',
+ onClick: commonClick
+ },
+ {
+ icon: { name: 'arrow.down.doc', color: '#00C9A7', cornerWidth: 40 },
+ title: '组件更新',
+ onClick: commonClick
+ },
+ {
+ icon: { name: 'trash', color: '#6794C7', cornerWidth: 40 },
+ title: '清理缓存',
+ onClick: commonClick
+ },
+ ]
+ },
+ {
+ header: '组件预览',
+ children: widgetPreviewArr
+ }
+ ];
+ // 组件背景设置菜单
+ const widgetBgSettingArr = [
+ {
+ header: '组件背景设置',
+ children: [
+ {
+ icon: { name: 'photo.on.rectangle.angled', color: '#FC867D', cornerWidth: 40 },
+ title: '透明背景',
+ onClick: bgItemClick
+ },
+ {
+ icon: { name: 'photo.artframe', color: '#EF5064', cornerWidth: 40 },
+ title: '在线背景',
+ onClick: bgItemClick
+ },
+ {
+ icon: { name: 'photo.stack', color: '#c02c38', cornerWidth: 40 },
+ title: '颜色背景',
+ onClick: bgItemClick
+ },
+ ]
+ },
+ ];
+ // 渲染
+ await M.renderTable(widgetSettingArr);
+ } else {
+ let W;
+ const widgetFamily = config.widgetFamily;
+ switch (widgetFamily) {
+ case 'medium':
+ W = newConfig.medium ? await M.provideMediumWidget() : M.provideDefaultWidget();
+ break;
+
+ case 'large':
+ W = newConfig.large ? await M.provideLargeWidget() : M.provideDefaultWidget();
+ break;
+
+ case 'accessoryCircular': // 锁屏小
+ W = newConfig.accessoryCircular ? await M.provideCircularWidget() : M.provideDefaultWidget();
+ break;
+
+ case 'accessoryRectangular': // 锁屏大
+ W = newConfig.accessoryRectangular ? await M.provideRectangularWidget() : M.provideDefaultWidget();
+ break;
+
+ case 'accessoryInline': // 锁屏顶部长条
+ W = newConfig.accessoryInline ? await M.provideInlineWidget() : M.provideDefaultWidget();
+ break;
+
+ default:
+ W = newConfig.small ? await M.provideSmallWidget() : M.provideDefaultWidget();
+ break;
+ }
+ if (W != undefined) {
+ await M.runWidget(W, false, true);
+ }
+ }
+ } else {
+ const W = await M.render()
+ if (W != undefined) {
+ await M.runWidget(W, needSetBg)
+ }
+ }
+
}
-//================================
+//================================================================================================
/**
* 自定义字体渲染
*/
@@ -1741,27 +2324,28 @@ class CustomFont {
this.webview = webview || new WebView()
this.fontFamily = config.fontFamily || 'customFont'
this.fontUrl = 'url(' + config.fontUrl + ')'
- this.timeout = config.timeout || 60000
+ this.timeout = config.timeout || 20000
}
async load() { // 加载字体
return await this.webview.evaluateJavaScript(`
- const customFont = new FontFace("${this.fontFamily}", "${this.fontUrl}");
- const canvas = document.createElement("canvas");
- const ctx = canvas.getContext("2d");
- let baseHeight,extendHeight;
- console.log('loading font.');
- customFont.load().then((font) => {
+ const customFont = new FontFace("${this.fontFamily}", "${this.fontUrl}");
+ const canvas = document.createElement("canvas");
+ const ctx = canvas.getContext("2d");
+ let baseHeight,extendHeight;
+ log('🚀开始加载自定义字体.');
+ customFont.load().then((font) => {
document.fonts.add(font);
- console.log('load font successfully.');
completion(true);
- });
- setTimeout(()=>{
- console.log('load font failed:timeout.');
+ log('✅自定义字体加载成功.');
+ log('----------------------------------------')
+ });
+ setTimeout(()=>{
+ log('🚫自定义字体加载超时');
+ log('----------------------------------------')
completion(false);
- },${this.timeout});
- null`
- )
+ },${this.timeout});
+ null`, true)
}
async drawText(text, config) {
@@ -1772,10 +2356,9 @@ class CustomFont {
const lineLimit = config.lineLimit || 99
const rowSpacing = config.rowSpacing || 0
const textColor = config.textColor || 'white'
-
const textArray = await this.cutText(text, fontSize, textWidth)
const scale = config.scale || 1
-
+
let script = ''
for (let i in textArray) {
let content = textArray[i].str
@@ -1800,20 +2383,19 @@ class CustomFont {
const realWidth = textArray.length > 1 ? textWidth : textArray[0].len
const lineCount = lineLimit < textArray.length ? lineLimit : textArray.length
const returnValue = await this.webview.evaluateJavaScript(`
- canvas.width=${realWidth}*${scale};
- ctx.font = "${fontSize}px ${this.fontFamily}";
- ctx.textBaseline= "hanging";
- baseHeight= ${(fontSize + rowSpacing) * (lineCount - 1)};
- extendHeight= ctx.measureText('qypgj').actualBoundingBoxDescent;
- canvas.height= (baseHeight + extendHeight)*${scale};
- ctx.scale(${scale}, ${scale});
-
- ctx.font = "${fontSize}px ${this.fontFamily}";
- ctx.fillStyle = "${textColor}";
- ctx.textBaseline= "hanging";
- ${script}
- canvas.toDataURL()`
- )
+ canvas.width=${realWidth}*${scale};
+ ctx.font = "${fontSize}px ${this.fontFamily}";
+ ctx.textBaseline= "hanging";
+ baseHeight= ${(fontSize + rowSpacing) * (lineCount - 1)};
+ extendHeight= ctx.measureText('qypgj').actualBoundingBoxDescent;
+ canvas.height= (baseHeight + extendHeight)*${scale};
+ ctx.scale(${scale}, ${scale});
+
+ ctx.font = "${fontSize}px ${this.fontFamily}";
+ ctx.fillStyle = "${textColor}";
+ ctx.textBaseline= "hanging";
+ ${script}
+ canvas.toDataURL()`, false)
const imageDataString = returnValue.slice(22)
const imageData = Data.fromBase64String(imageDataString)
@@ -1822,54 +2404,43 @@ class CustomFont {
async cutText(text, fontSize, textWidth) { // 处理文本
return await this.webview.evaluateJavaScript(`
- function cutText(textWidth, text) {
- ctx.font = "${fontSize}px ${this.fontFamily}";
- ctx.textBaseline = "hanging";
-
- let textArray = [];
- let len = 0, str = '';
- for (let i = 0; i < text.length; i++) {
- const char = text[i]
- const width = ctx.measureText(char).width;
- if (len < textWidth) {
- str = str + char;
- len = len + width;
- }
- if (len == textWidth) {
- textArray.push({ str: str, len: len, });
- str = ''; len = 0;
- }
- if (len > textWidth) {
- textArray.push({
- str: str.substring(0, str.length - 1),
- len: len - width,
- });
- str = char; len = width;
- }
- if (i == text.length - 1 && str) {
- textArray.push({ str: str, len: len, });
- }
+ function cutText(textWidth, text){
+ ctx.font = "${fontSize}px ${this.fontFamily}";
+ ctx.textBaseline= "hanging";
+
+ let textArray=[];
+ let len=0,str='';
+ for(let i=0;i textWidth){
+ textArray.push({
+ str:str.substring(0,str.length-1),
+ len:len-width,});
+ str=char;len=width;
+ }
+ if(i==text.length-1 && str){
+ textArray.push({str:str,len:len,});
}
- return textArray
}
- cutText(${ textWidth }, "${text}")
+ return textArray
+ }
+ cutText(${textWidth},"${text}")
`)
}
}
-//================================
-const Running = async (Widget, scriptName, needSetBg = true) => {
- const M = new Widget(scriptName)
- const W = await M.render()
- if (W != undefined) {
- await M.runWidget(W, needSetBg)
- }
-}
-//================================
-
//================================
module.exports = {
Base,
Running,
}
-//================================
+//================================
\ No newline at end of file
diff --git a/preview/s1.jpeg b/preview/s1.jpeg
new file mode 100644
index 0000000..c318ff7
Binary files /dev/null and b/preview/s1.jpeg differ
diff --git a/preview/s10.jpeg b/preview/s10.jpeg
new file mode 100644
index 0000000..d134f8a
Binary files /dev/null and b/preview/s10.jpeg differ
diff --git a/preview/s11.jpeg b/preview/s11.jpeg
new file mode 100644
index 0000000..e3a7131
Binary files /dev/null and b/preview/s11.jpeg differ
diff --git a/preview/s12.jpeg b/preview/s12.jpeg
new file mode 100644
index 0000000..7d2b00f
Binary files /dev/null and b/preview/s12.jpeg differ
diff --git a/preview/s13.jpeg b/preview/s13.jpeg
new file mode 100644
index 0000000..6d43e2d
Binary files /dev/null and b/preview/s13.jpeg differ
diff --git a/preview/s2.jpeg b/preview/s2.jpeg
new file mode 100644
index 0000000..b6581d9
Binary files /dev/null and b/preview/s2.jpeg differ
diff --git a/preview/s3.jpeg b/preview/s3.jpeg
new file mode 100644
index 0000000..8986d01
Binary files /dev/null and b/preview/s3.jpeg differ
diff --git a/preview/s4.jpeg b/preview/s4.jpeg
new file mode 100644
index 0000000..0789a0a
Binary files /dev/null and b/preview/s4.jpeg differ
diff --git a/preview/s5.jpeg b/preview/s5.jpeg
new file mode 100644
index 0000000..8c56c04
Binary files /dev/null and b/preview/s5.jpeg differ
diff --git a/preview/s6.jpeg b/preview/s6.jpeg
new file mode 100644
index 0000000..efbf478
Binary files /dev/null and b/preview/s6.jpeg differ
diff --git a/preview/s7.jpeg b/preview/s7.jpeg
new file mode 100644
index 0000000..a85a0bb
Binary files /dev/null and b/preview/s7.jpeg differ
diff --git a/preview/s8.jpeg b/preview/s8.jpeg
new file mode 100644
index 0000000..daa3064
Binary files /dev/null and b/preview/s8.jpeg differ
diff --git a/preview/s9.jpeg b/preview/s9.jpeg
new file mode 100644
index 0000000..35f3a31
Binary files /dev/null and b/preview/s9.jpeg differ
diff --git a/qiantuziti.ttf b/qiantuziti.ttf
deleted file mode 100644
index 920653f..0000000
Binary files a/qiantuziti.ttf and /dev/null differ
diff --git a/subscriber.json b/subscriber.json
deleted file mode 100644
index 7196f2a..0000000
--- a/subscriber.json
+++ /dev/null
@@ -1,142 +0,0 @@
-{
- "author": "LSP",
- "scriptable": true,
- "icon": "https://avatars.githubusercontent.com/u/15359035?s=460&u=81bb97326ae85b2b87ad2db248c3739b56f8e20a&v=4",
- "repo": "https://github.com/Enjoyee/Scriptable",
- "apps": [
- {
- "version": "1.0.1",
- "author": "LSP",
- "description": "多样式彩云天气",
- "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/%E5%A4%9A%E6%A0%B7%E5%BC%8F%E5%BD%A9%E4%BA%91%E5%A4%A9%E6%B0%94/material_weather.js",
- "thumb": "https://s3.ax1x.com/2021/03/03/6AP4YV.png",
- "name": "彩云多样式天气",
- "title": "彩云多样式天气",
- "depend": [
- {
- "name": "lsp环境",
- "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/lsp%E7%8E%AF%E5%A2%83.js"
- }
- ],
- "html": [
- "作者:@Enjoyee",
- "
",
- "
",
- "脚本说明
",
- "v1.0.0",
- "只做了中组件支持",
- "未来6天天气预告",
- "6套天气icon & 6套天气背景图",
- "天气背景图会跟随对应天气改变",
- "支持透明背景",
- "具体天气、农历、定位、更新时间可配置是否显示",
- "对彩云key进行了缓存,再对下下次的同步更新无需重新填入key",
- "
",
- "使用说明
",
- "自行申请彩云apikey填入",
- "依赖lsp环境",
- "欢迎关注公众号:杂货万事屋"
- ],
- "images": [
- "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/%E5%A4%9A%E6%A0%B7%E5%BC%8F%E5%BD%A9%E4%BA%91%E5%A4%A9%E6%B0%94/WechatIMG491.jpeg"
- ]
- },
- {
- "version": "1.0.2",
- "author": "LSP",
- "description": "小日历",
- "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/%E5%B0%8F%E6%97%A5%E5%8E%86/%E5%B0%8F%E6%97%A5%E5%8E%86.js",
- "thumb": "https://s3.ax1x.com/2021/03/10/6GHT8s.jpg",
- "name": "小日历",
- "title": "小日历",
- "depend": [
- {
- "name": "lsp环境",
- "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/lsp%E7%8E%AF%E5%A2%83.js"
- }
- ],
- "html": [
- "作者:@Enjoyee",
- "
",
- "
",
- "脚本说明
",
- "v1.0.1",
- "日程文字颜色同步系统日程颜色",
- "新增圆角指示条配置(schedulesIndicatorRadius),默认是矩形",
- "新增圆角指示尺寸配置(schedulesIndicatorSize)",
- "实时时间",
- "只做了小型组件支持",
- "未来一周日程前三条展示",
- "支持透明背景",
- "农历展示",
- "欢迎关注公众号:杂货万事屋"
- ],
- "images": [
- "https://s3.ax1x.com/2021/03/10/6GHT8s.jpg"
- ]
- },
- {
- "version": "1.0.0",
- "author": "LSP",
- "description": "网络图片轮播",
- "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/%E5%9B%BE%E7%89%87%E8%BD%AE%E6%92%AD/%E7%BD%91%E7%BB%9C%E5%9B%BE%E7%89%87%E8%BD%AE%E6%92%AD.js",
- "thumb": "https://s3.ax1x.com/2021/03/16/6sP5Px.jpg",
- "name": "网络图片轮播",
- "title": "网络图片轮播",
- "depend": [
- {
- "name": "lsp环境",
- "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/lsp%E7%8E%AF%E5%A2%83.js"
- }
- ],
- "html": [
- "作者:@Enjoyee",
- "
",
- "
",
- "脚本说明
",
- "v1.0.0",
- "网络图片链接轮播",
- "脚本里内置了line的一些表情的轮播",
- "鬼灭、哆啦A梦、可妮布朗熊、进击的巨人",
- "欢迎关注公众号:杂货万事屋"
- ],
- "images": [
- "https://s3.ax1x.com/2021/03/16/6sPIG6.jpg",
- "https://s3.ax1x.com/2021/03/16/6sP5Px.jpg"
- ]
- }
- ,
- {
- "version": "1.0.0",
- "author": "LSP",
- "description": "彩云折线",
- "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/%E5%BD%A9%E4%BA%91%E6%8A%98%E7%BA%BF/%E5%BD%A9%E4%BA%91%E6%8A%98%E7%BA%BF.js",
- "thumb": "https://github.com/Enjoyee/Scriptable/raw/new/%E5%BD%A9%E4%BA%91%E6%8A%98%E7%BA%BF/WechatIMG1.jpeg",
- "name": "彩云折线",
- "title": "彩云折线",
- "depend": [
- {
- "name": "lsp环境",
- "scriptURL": "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/lsp%E7%8E%AF%E5%A2%83.js"
- }
- ],
- "html": [
- "作者:@Enjoyee",
- "
",
- "
",
- "脚本说明
",
- "v1.0.0",
- "显示温度折线",
- "两种模式,日小时温度模式,每天温度模式",
- "长按小组件编辑,在Parameter栏输入1就是每天的温度模式,2就是日小时温度模式",
- "照旧背景模式",
- "欢迎关注公众号:杂货万事屋"
- ],
- "images": [
- "https://github.com/Enjoyee/Scriptable/raw/new/%E5%BD%A9%E4%BA%91%E6%8A%98%E7%BA%BF/WechatIMG1.jpeg",
- "https://github.com/Enjoyee/Scriptable/raw/new/%E5%BD%A9%E4%BA%91%E6%8A%98%E7%BA%BF/WechatIMG2.jpeg",
- "https://github.com/Enjoyee/Scriptable/raw/new/%E5%BD%A9%E4%BA%91%E6%8A%98%E7%BA%BF/WechatIMG3.jpeg"
- ]
- }
- ]
-}
diff --git "a/\344\270\207\345\271\264\345\216\206.js" "b/\344\270\207\345\271\264\345\216\206.js"
new file mode 100644
index 0000000..40523c3
--- /dev/null
+++ "b/\344\270\207\345\271\264\345\216\206.js"
@@ -0,0 +1,717 @@
+/**
+ * Author:LSP
+ * Date:2024-02-05
+ */
+// -------------------------------------------------------
+// 是否是开发环境,配合手机端调试使用,正式发布设置为false
+const isDev = false;
+const dependencyLSP = '20230511';
+console.log(`当前环境 👉👉👉👉👉 ${isDev ? 'DEV' : 'RELEASE'}`);
+console.log(`----------------------------------------`);
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+// 依赖包目录
+const fm = FileManager.local();
+const rootDir = fm.documentsDirectory();
+const cacheDir = fm.joinPath(rootDir, 'LSP');
+const dependencyFileName = isDev ? '_LSP.js' : `${cacheDir}/_LSP.js`;
+// 下载依赖包
+await downloadLSPDependency();
+// -------------------------------------------------------
+if (typeof require === 'undefined') require = importModule;
+// 引入相关方法
+const { BaseWidget } = require(dependencyFileName);
+
+// @定义小组件
+class Widget extends BaseWidget {
+ mondayFirstTitleArr = ['一', '二', '三', '四', '五', '六', '日'];
+ sundayFirstTitleArr = ['日', '一', '二', '三', '四', '五', '六'];
+
+ defaultPreference = {
+ weekdayTitleDayColor: '#333333',
+ weekdayTitleNightColor: '#eeeeee',
+
+ weekendTitleDayColor: '#333333',
+ weekendTitleNightColor: '#eeeeee',
+
+ notCurrMonthDayColor: '#bbbbbb',
+ notCurrMonthNightColor: '#555555',
+
+ weekdayDateDayColor: '#000000',
+ weekdayDateNightColor: '#ffffff',
+
+ holidayDateDayColor: '#F73131',
+ holidayDateNightColor: '#F73131',
+
+ todayDayColor: '#5371EA',
+ todayNightColor: '#5371EA',
+
+ monthBgTextDayColor: '#F0F3FC',
+ monthBgTextNightColor: '#222222',
+ };
+
+ getValueByKey = (key) => this.readWidgetSetting()[key] ?? this.defaultPreference[key] ?? '';
+
+ weekdayTitleDayColor = () => this.getValueByKey('weekdayTitleDayColor');
+ weekdayTitleNightColor = () => this.getValueByKey('weekdayTitleNightColor');
+
+ weekendTitleDayColor = () => this.getValueByKey('weekendTitleDayColor');
+ weekendTitleNightColor = () => this.getValueByKey('weekendTitleNightColor');
+
+ notCurrMonthDayColor = () => this.getValueByKey('notCurrMonthDayColor');
+ notCurrMonthNightColor = () => this.getValueByKey('notCurrMonthNightColor');
+
+ weekdayDateDayColor = () => this.getValueByKey('weekdayDateDayColor');
+ weekdayDateNightColor = () => this.getValueByKey('weekdayDateNightColor');
+
+ holidayDateDayColor = () => this.getValueByKey('holidayDateDayColor');
+ holidayDateNightColor = () => this.getValueByKey('holidayDateNightColor');
+
+ todayDayColor = () => this.getValueByKey('todayDayColor');
+ todayNightColor = () => this.getValueByKey('todayNightColor');
+
+ monthBgTextDayColor = () => this.getValueByKey('monthBgTextDayColor');
+ monthBgTextNightColor = () => this.getValueByKey('monthBgTextNightColor');
+
+ constructor(scriptName) {
+ super(scriptName);
+ this.defaultConfig.bgType = '3';
+ this.backgroundColor = '#FFFFFF,#000000';
+ }
+
+ async getAppViewOptions() {
+ return {
+ widgetProvider: {
+ small: false, // 是否提供小号组件
+ medium: true, // 是否提供中号组件
+ large: true, // 是否提供大号组件
+ },
+ // 预览界面的组件设置item
+ settingItems: [
+ {
+ name: 'startDay',
+ label: '每周起始日',
+ type: 'select',
+ icon: { name: 'tray.full.fill', color: '#4cc9f0' },
+ options: [
+ { label: '周一', value: '1' },
+ { label: '周日', value: '2' },
+ ],
+ default: "1"
+ },
+ {
+ name: 'jumpType',
+ label: '点击跳转',
+ type: 'select',
+ icon: { name: 'link', color: '#ef233c' },
+ options: [
+ { label: '网页黄历', value: '1' },
+ { label: '系统日历', value: '2' },
+ ],
+ default: "1"
+ },
+ {
+ name: 'openSchedule',
+ label: '日程指示器',
+ type: 'switch',
+ icon: { name: 'calendar', color: '#27E1C1' },
+ default: false,
+ needLoading: false,
+ },
+ {
+ name: 'otherSetting',
+ label: '其他设置',
+ type: 'cell',
+ icon: 'https://cdnjson.com/images/2024/02/05/settings.png',
+ needLoading: true,
+ childItems: [
+ {
+ items: [
+ {
+ name: 'weekdayTitleDayColor',
+ label: '工作日标题浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff' },
+ needLoading: false,
+ default: this.weekdayTitleDayColor(),
+ },
+ {
+ name: 'weekdayTitleNightColor',
+ label: '工作日标题深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3' },
+ needLoading: false,
+ default: this.weekdayTitleNightColor(),
+ },
+ ],
+ },
+ {
+ items: [
+ {
+ name: 'weekendTitleDayColor',
+ label: '周末标题浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff' },
+ needLoading: false,
+ default: this.weekendTitleDayColor(),
+ },
+ {
+ name: 'weekendTitleNightColor',
+ label: '周末标题深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3' },
+ needLoading: false,
+ default: this.weekendTitleNightColor(),
+ },
+ ],
+ },
+ {
+ items: [
+ {
+ name: 'notCurrMonthDayColor',
+ label: '非当前月浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff' },
+ needLoading: false,
+ default: this.notCurrMonthDayColor(),
+ },
+ {
+ name: 'notCurrMonthNightColor',
+ label: '非当前月深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3' },
+ needLoading: false,
+ default: this.notCurrMonthNightColor(),
+ },
+ ],
+ },
+ {
+ items: [
+ {
+ name: 'weekdayDateDayColor',
+ label: '工作日日期浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff' },
+ needLoading: false,
+ default: this.weekdayDateDayColor(),
+ },
+ {
+ name: 'weekdayDateNightColor',
+ label: '工作日日期深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3' },
+ needLoading: false,
+ default: this.weekdayDateNightColor(),
+ },
+ ],
+ },
+ {
+ items: [
+ {
+ name: 'holidayDateDayColor',
+ label: '节假日日期浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff' },
+ needLoading: false,
+ default: this.holidayDateDayColor(),
+ },
+ {
+ name: 'holidayDateNightColor',
+ label: '节假日日期深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3' },
+ needLoading: false,
+ default: this.holidayDateNightColor(),
+ },
+ ],
+ },
+ {
+ items: [
+ {
+ name: 'todayDayColor',
+ label: '今日日期浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff' },
+ needLoading: false,
+ default: this.todayDayColor(),
+ },
+ {
+ name: 'todayNightColor',
+ label: '今日日期深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3' },
+ needLoading: false,
+ default: this.todayNightColor(),
+ },
+ ],
+ },
+ {
+ items: [
+ {
+ name: 'monthBgTextDayColor',
+ label: '当前月份浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff' },
+ needLoading: false,
+ default: this.monthBgTextDayColor(),
+ },
+ {
+ name: 'monthBgTextNightColor',
+ label: '当前月份深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3' },
+ needLoading: false,
+ default: this.monthBgTextNightColor(),
+ },
+ ],
+ },
+ ],
+ },
+ ],
+ // cell类型的item点击回调
+ onItemClick: async (item) => {
+ },
+ };
+ }
+
+ async render({ widgetSetting, family }) {
+ if (family == 'medium') {
+ return await this.provideWidget({ widgetSetting, isLarge: false });
+ }
+ return await this.provideWidget({ widgetSetting, isLarge: true });
+ }
+
+ async provideWidget({ widgetSetting, isLarge }) {
+ const startDay = widgetSetting['startDay'] ?? 1;
+ // ========================================
+ const currDate = new Date();
+ let widgetSize = this.getWidgetSize('中号');
+ let rowCount = 2;
+ if (isLarge) {
+ rowCount = 6;
+ widgetSize = this.getWidgetSize('大号');
+ }
+ const width = widgetSize.width;
+ const height = widgetSize.height;
+ const hCellWidth = width / 7;
+ const topPadding = 6;
+ const bottomPadding = 6;
+ const weekCellHeight = 16;
+ const dateCellHeight = (height - weekCellHeight - 2 * topPadding - bottomPadding) / rowCount;
+ const canvasHeight = height - 2 * topPadding;
+ // ========================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ const stack = widget.addStack();
+ stack.size = new Size(width, canvasHeight);
+ // =================================
+
+ const drawContext = new DrawContext();
+ drawContext.size = new Size(width, canvasHeight);
+ drawContext.respectScreenScale = true;
+ drawContext.opaque = false;
+
+ //
+ drawContext.setFont(Font.regularSystemFont(15));
+ drawContext.setTextAlignedCenter();
+ for (let index = 0; index < 7; index++) {
+ if (index >= 5) {
+ drawContext.setTextColor(Color.dynamic(new Color(this.weekendTitleDayColor()), new Color(this.weekendTitleNightColor())));
+ } else {
+ drawContext.setTextColor(Color.dynamic(new Color(this.weekdayTitleDayColor()), new Color(this.weekdayTitleNightColor())));
+ }
+ let rect = new Rect(index * hCellWidth, 0, hCellWidth, weekCellHeight);
+ let title = this.mondayFirstTitleArr[index];
+ if (startDay == 2) {
+ title = this.sundayFirstTitleArr[index];
+ }
+ drawContext.drawTextInRect(title, rect);
+ }
+
+ // =================================
+ const calendarArr = await this.loadCalendarData(startDay);
+ let range = [0, 42];
+ if (!isLarge) {
+ const matchCalendar = calendarArr.filter(item => item.year == currDate.getFullYear() && item.month == (currDate.getMonth() + 1) && item.day == currDate.getDate())[0];
+ const index = calendarArr.indexOf(matchCalendar);
+ const calendarRow = Math.floor(index / 7 + 1);
+ if (calendarRow <= 2) {
+ range = [0, 14];
+ } else if (calendarRow >= 5) {
+ range = [28, 42];
+ } else {
+ range = [14, 28];
+ }
+ }
+ const finalCalendarArr = calendarArr.slice(range[0], range[1]);
+
+ // =================================
+ const margin = 2;
+ for (let row = 0; row < rowCount; row++) {
+ for (let col = 0; col < 7; col++) {
+ let marginTop = 0;
+ if (isLarge) {
+ marginTop = topPadding / 2;
+ }
+ let rect = new Rect(col * hCellWidth, (topPadding + weekCellHeight) + row * dateCellHeight + marginTop, hCellWidth, dateCellHeight);
+ let calendarInfo = finalCalendarArr[7 * row + col];
+ if (calendarInfo.isWeekend && !calendarInfo.showWorkDay || calendarInfo.showHoliday) {
+ drawContext.setTextColor(Color.dynamic(new Color(this.holidayDateDayColor()), new Color(this.holidayDateNightColor())));
+ } else {
+ drawContext.setTextColor(Color.dynamic(new Color(this.weekdayDateDayColor()), new Color(this.weekdayDateNightColor())));
+ }
+
+ // 当天
+ if (calendarInfo.isToday) {
+ drawContext.setLineWidth(1.2);
+ drawContext.setTextColor(Color.dynamic(new Color(this.todayDayColor()), new Color(this.todayNightColor())));
+ drawContext.setStrokeColor(Color.dynamic(new Color(this.todayDayColor()), new Color(this.todayNightColor())));
+ let newRect = new Rect(rect.x + margin, rect.y + margin, rect.width - 2 * margin, rect.height - 2 * margin);
+ let path = new Path();
+ path.addRoundedRect(newRect, 8, 8);
+ path.closeSubpath();
+ drawContext.addPath(path);
+ drawContext.strokePath(path);
+ }
+
+ // 当前月颜色
+ if (!calendarInfo.isCurrentMonth) {
+ drawContext.setTextColor(Color.dynamic(new Color(this.notCurrMonthDayColor()), new Color(this.notCurrMonthNightColor())))
+ }
+
+ // 新历
+ let newDay = calendarInfo.day;
+ if (calendarInfo.isToday) {
+ drawContext.setFont(Font.semiboldSystemFont(19));
+ } else {
+ drawContext.setFont(Font.systemFont(18));
+ }
+ let newDatePoint = new Point(rect.x + hCellWidth / 2 - 5 * (newDay.length), rect.y + dateCellHeight / 2 - 20);
+ drawContext.drawText(newDay, newDatePoint);
+
+ // 农历
+ if (calendarInfo.isToday) {
+ drawContext.setFont(Font.semiboldSystemFont(11));
+ } else {
+ drawContext.setFont(Font.systemFont(10));
+ }
+ let subText = calendarInfo.subText;
+ let lunDatePoint = new Point(rect.x + hCellWidth / 2 - 5.3 * subText.length, rect.y + dateCellHeight / 2 + 2);
+ drawContext.drawText(subText, lunDatePoint);
+
+ // 日程指示
+ const openSchedule = widgetSetting['openSchedule'] ?? false;
+ if (openSchedule && calendarInfo.schedules.length > 0) {
+ let scheduleDotPath = new Path();
+ const scheduleDotSize = 4;
+ scheduleDotPath.addRoundedRect(new Rect(lunDatePoint.x + 3 * subText.length + Math.round(scheduleDotSize / 2) * newDay.length, lunDatePoint.y + 15, scheduleDotSize, scheduleDotSize), scheduleDotSize, scheduleDotSize);
+ scheduleDotPath.closeSubpath();
+ drawContext.addPath(scheduleDotPath);
+ drawContext.fillPath(scheduleDotPath);
+ }
+
+ // 角标
+ drawContext.setFont(Font.regularSystemFont(8));
+ let anchorTextPoint = new Point(rect.x + margin * 2.2, rect.y + 2.2 * margin);
+ drawContext.drawText(calendarInfo.anchorText, anchorTextPoint);
+ }
+ }
+
+ // =================================
+ let img = await drawContext.getImage();
+ stack.centerAlignContent();
+ stack.setPadding(0, 10, 0, 10);
+ stack.addImage(img);
+
+ let ctx = new DrawContext();
+ ctx.opaque = false;
+ ctx.size = new Size(width, height);
+ ctx.respectScreenScale = true;
+ ctx.setTextAlignedCenter();
+ ctx.setTextColor(Color.dynamic(new Color(this.monthBgTextDayColor()), new Color(this.monthBgTextNightColor())));
+ if (isLarge) {
+ ctx.setFont(Font.semiboldSystemFont(288));
+ ctx.drawTextInRect(`${new Date().getMonth() + 1}`, new Rect(0, 0, width, height));
+ } else {
+ ctx.setFont(Font.semiboldSystemFont(100));
+ ctx.drawText(`${new Date().getMonth() + 1}月`, new Point(width / 2 - 80, height / 2 - 50));
+ }
+ img = await ctx.getImage();
+ stack.backgroundImage = img;
+ // 日历跳转
+ const jumpType = widgetSetting['jumpType'] ?? 1;
+ if (jumpType == 1) {
+ stack.url = `https://mobile.51wnl-cq.com/huangli_tab_h5/?posId=BDSS&STIME=${currDate.getFullYear()}-${currDate.getMonth() + 1}-${currDate.getDate()}`;
+ } else {
+ stack.url = 'calshow://';
+ }
+
+ return widget;
+ }
+
+ // --------------------------NET START------------------------
+
+ async loadCalendarData(startDay = 1) {
+ const totalCalendarArr = [];
+ //
+ const currDate = new Date();
+ const dateKey = `${currDate.getFullYear()}-${currDate.getMonth() + 1}`;
+ const useCache = keyGet(dateKey, '0') == 1;
+ let response;
+ if (useCache) {
+ response = keyGet(this.md5(this.scriptName), '');
+ console.log(`使用缓存的${dateKey}日历数据...`);
+ }
+ if (response == undefined || response.length == 0) {
+ console.log(`网络请求日历数据...`);
+ const url = `https://opendata.baidu.com/api.php?tn=wisetpl&format=json&resource_id=39043&query=${currDate.getFullYear()}%E5%B9%B4${currDate.getMonth() + 1}%E6%9C%88&t=${currDate.getTime()}`
+ response = await this.httpGet(
+ url,
+ {
+ jsonFormat: false,
+ }
+ );
+ }
+ const json = JSON.parse(response);
+ if (json.status == 0) {
+ keySave(dateKey, '1');
+ keySave(this.md5(this.scriptName), response);
+ const { data = [] } = json;
+ if (data.length > 0) {
+ const { almanac = [] } = data[0]
+
+ // ================================
+ function constructDateItem(isToday, isCurrentMonth, day, month) {
+ let dateItem = {};
+ dateItem['isToday'] = isToday;
+ dateItem['isCurrentMonth'] = isCurrentMonth;
+ dateItem['day'] = `${day}`;
+ dateItem['month'] = month;
+ let matchDate = almanac.filter(item => item.month == dateItem.month && item.day == dateItem.day)[0];
+ dateItem['jumpUrl'] = matchDate.yjJumpUrl;
+ dateItem['year'] = matchDate.year;
+ dateItem['lunarMonth'] = matchDate.lMonth;
+ dateItem['lunarDay'] = matchDate.lDate;
+ dateItem['lunarDate'] = `${matchDate.lMonth}月${matchDate.lDate}`;
+ dateItem['showWorkDay'] = matchDate.status == 2; // 调休补班
+ dateItem['showHoliday'] = matchDate.status == 1; // 节假日放假
+ let anchorText = '';
+ if (matchDate.status == 1) {
+ anchorText = '休';
+ } else if (matchDate.status == 2) {
+ anchorText = '班';
+ }
+ dateItem['anchorText'] = anchorText;
+ dateItem['weekTitle'] = `星期${matchDate.cnDay}`; // 周几
+ dateItem['isWeekend'] = matchDate.cnDay == '六' || matchDate.cnDay == '日'; // 是否周末
+ dateItem['festivalList'] = matchDate.festivalList; // 节假名称
+ let subText = matchDate.lDate;
+ if (subText == '初一') {
+ subText = `${matchDate.lMonth}月`;
+ }
+ if (matchDate.term != undefined && matchDate.term.length > 0) {
+ subText = matchDate.festivalList.split(',')[0];
+ }
+ dateItem['subText'] = subText;
+ return dateItem;
+ }
+ // ================================
+ let currDateYear = currDate.getFullYear();
+ let currDateMonth = currDate.getMonth() + 1;
+ let currMonthLastDate = new Date(currDate.getFullYear(), currDateMonth, 0);
+ // [0, 6] 0表示周日,6表示周六
+ const lastDay = currMonthLastDate.getDate();
+ //
+ let lastDateYear = currDateYear;
+ let lastDateMonth = currDateMonth - 1;
+ if (currDateMonth == 1) {
+ lastDateMonth = 12;
+ lastDateYear = currDateYear - 1;
+ }
+ let preMonthLastDate = new Date(lastDateYear, lastDateMonth, 0);
+ const preMonthLastDay = preMonthLastDate.getDay();
+ log(preMonthLastDay)
+ let lastMonthDays = 0;
+ if (startDay == 2) {
+ lastMonthDays = preMonthLastDay + 1;
+ if (preMonthLastDay == 0) { // 周日
+ lastMonthDays = 1;
+ } else if (preMonthLastDay == 6) {
+ lastMonthDays = 0;
+ }
+ } else {
+ lastMonthDays = preMonthLastDay < 0 ? 6 : preMonthLastDay;
+ }
+ // 上一个月数据
+ if (lastMonthDays > 0) {
+ const firstAlmanac = almanac[0];
+ const preDate = new Date(firstAlmanac.year, firstAlmanac.month, 0)
+ for (let index = lastMonthDays - 1; index >= 0; index--) {
+ let day = preDate.getDate() - index;
+ totalCalendarArr.push(constructDateItem(false, false, day, firstAlmanac.month));
+ }
+ }
+ // 当前月数据
+ for (let index = 1; index <= lastDay; index++) {
+ totalCalendarArr.push(constructDateItem(currDate.getDate() == index, true, index, `${currDate.getMonth() + 1}`));
+ }
+ // 下一个月
+ const currCount = 42 - totalCalendarArr.length;
+ for (let index = 1; index <= currCount; index++) {
+ const lastAlmanac = almanac[almanac.length - 1];
+ totalCalendarArr.push(constructDateItem(false, false, index, lastAlmanac.month));
+ }
+ }
+ }
+
+ // 日程
+ const first = totalCalendarArr[0];
+ const last = totalCalendarArr[totalCalendarArr.length - 1];
+ const totalSchedules = await CalendarEvent.between(
+ new Date(parseInt(first.year), parseInt(first.month) - 1, parseInt(first.day)),
+ new Date(parseInt(last.year), parseInt(last.month) - 1, parseInt(last.day)),
+ []
+ );
+ const finalSchedules = [];
+ totalSchedules.forEach(schedule => {
+ finalSchedules.push({
+ 'title': schedule.title,
+ 'notes': schedule.notes,
+ 'date': new Date(schedule.endDate)
+ });
+ });
+ totalCalendarArr.forEach(calendar => {
+ let filterDaySchedules = finalSchedules.filter(schedule => calendar.year == schedule.date.getFullYear() && calendar.month == (schedule.date.getMonth() + 1) && calendar.day == schedule.date.getDate());
+ calendar['schedules'] = filterDaySchedules;
+ });
+
+ console.log(JSON.stringify(totalCalendarArr, null, 2));
+ return totalCalendarArr;
+ }
+
+ // --------------------------NET END--------------------------
+}
+
+await new Widget(Script.name()).run();
+
+
+// =================================================================================
+// =================================================================================
+async function downloadLSPDependency() {
+ let fm = FileManager.local();
+ const fileName = fm.joinPath(fm.documentsDirectory(), `LSP/${Script.name()}/settings.json`);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ const use_github = JSON.parse(cacheString)['use_github'];
+ const dependencyURL = `${use_github ? remoteGithubRoot : remoteHomeLandRoot}/_LSP.js`;
+ const update = needUpdateDependency();
+ if (isDev) {
+ const iCloudPath = FileManager.iCloud().documentsDirectory();
+ const localIcloudDependencyExit = fm.isFileStoredIniCloud(`${iCloudPath}/_LSP.js`);
+ const localDependencyExit = fm.fileExists(`${rootDir}/_LSP.js`);
+ const fileExist = localIcloudDependencyExit || localDependencyExit;
+ console.log(`🚀 DEV开发依赖文件${fileExist ? '已存在 ✅' : '不存在 🚫'}`);
+ if (!fileExist || update) {
+ console.log(`🤖 DEV 开始${update ? '更新' + dependencyLSP : '下载'}依赖~`);
+ keySave('VERSION', dependencyLSP);
+ await downloadFile2Scriptable('_LSP', dependencyURL);
+ }
+ return;
+ }
+
+ //////////////////////////////////////////////////////////
+ console.log(`----------------------------------------`);
+ const remoteDependencyExit = fm.fileExists(`${cacheDir}/_LSP.js`);
+ console.log(`🚀 RELEASE依赖文件${remoteDependencyExit ? '已存在 ✅' : '不存在 🚫'}`);
+ // ------------------------------
+ if (!remoteDependencyExit || update) { // 下载依赖
+ // 创建根目录
+ if (!fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir, true);
+ }
+ // 下载
+ console.log(`🤖 RELEASE开始${update ? '更新' : '下载'}依赖~`);
+ console.log(`----------------------------------------`);
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ fm.write(fm.joinPath(cacheDir, '/_LSP.js'), moduleJs);
+ keySave('VERSION', dependencyLSP);
+ console.log('✅ LSP远程依赖环境下载成功!');
+ console.log(`----------------------------------------`);
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ console.log(`----------------------------------------`);
+ }
+ }
+}
+
+/**
+ * 获取保存的文件名
+ * @param {*} fileName
+ * @returns
+ */
+function getSaveFileName(fileName) {
+ const hasSuffix = fileName.lastIndexOf('.') + 1;
+ return !hasSuffix ? `${fileName}.js` : fileName;
+};
+
+/**
+ * 保存文件到Scriptable软件目录,app可看到
+ * @param {*} fileName
+ * @param {*} content
+ * @returns
+ */
+function saveFile2Scriptable(fileName, content) {
+ try {
+ const fm = FileManager.iCloud();
+ let fileSimpleName = getSaveFileName(fileName);
+ const filePath = fm.joinPath(fm.documentsDirectory(), fileSimpleName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+/**
+ * 下载js文件到Scriptable软件目录
+ * @param {*} moduleName 名称
+ * @param {*} url 在线地址
+ * @returns
+ */
+async function downloadFile2Scriptable(moduleName, url) {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return saveFile2Scriptable(`${moduleName}`, content);
+};
+
+/**
+ * 是否需要更新依赖版本
+ */
+function needUpdateDependency() {
+ return dependencyLSP != keyGet('VERSION');
+};
+
+function keySave(cacheKey, cache) {
+ if (cache) {
+ Keychain.set(Script.name() + cacheKey, cache);
+ }
+}
+
+function keyGet(cacheKey, defaultValue = '') {
+ if (Keychain.contains(Script.name() + cacheKey)) {
+ return Keychain.get(Script.name() + cacheKey);
+ } else {
+ return defaultValue;
+ }
+}
+
+// =================================================================================
+// =================================================================================
\ No newline at end of file
diff --git "a/\344\270\226\347\225\214\346\235\257.js" "b/\344\270\226\347\225\214\346\235\257.js"
new file mode 100644
index 0000000..f2d9161
--- /dev/null
+++ "b/\344\270\226\347\225\214\346\235\257.js"
@@ -0,0 +1,496 @@
+// Variables used by Scriptable.
+// These must be at the very top of the file. Do not edit.
+// icon-color: red; icon-glyph: user-astronaut;
+/**
+ * Author:LSP
+ * Date:2023-05-12
+ */
+// -------------------------------------------------------
+// 是否是开发环境,配合手机端调试使用,正式发布设置为false
+const isDev = false;
+const dependencyLSP = '20230511';
+console.log(`当前环境 👉👉👉👉👉 ${isDev ? 'DEV' : 'RELEASE'}`);
+console.log(`----------------------------------------`);
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+// 依赖包目录
+const fm = FileManager.local();
+const rootDir = fm.documentsDirectory();
+const cacheDir = fm.joinPath(rootDir, 'LSP');
+const dependencyFileName = isDev ? "_LSP.js" : `${cacheDir}/_LSP.js`;
+// 下载依赖包
+await downloadLSPDependency();
+// -------------------------------------------------------
+if (typeof require === 'undefined') require = importModule
+// 引入相关方法
+const { BaseWidget } = require(dependencyFileName);
+
+// @定义小组件
+class Widget extends BaseWidget {
+
+ defaultPreference = {
+ bgUrl: 'https://s3.uuu.ovh/imgs/2022/12/07/6af2cea7cdbfdce4.png',
+ shadowColor: '#FFF',
+ shadowColorAlpha: '0.5',
+ titleColor: '#222',
+ teamColor: '#222',
+ notStartedColor: '#211',
+ startingColor: '#d30742',
+ finishedColor: '#666'
+ };
+
+ getValueByKey = (key) => this.readWidgetSetting()[key] ?? this.defaultPreference[key];
+ titleColorFun = () => this.getValueByKey('titleColor');
+ teamColorFun = () => this.getValueByKey('teamColor');
+ notStartedColorFun = () => this.getValueByKey('notStartedColor');
+ startingColorFun = () => this.getValueByKey('startingColor');
+ finishedColorFun = () => this.getValueByKey('finishedColor');
+
+ constructor(scriptName) {
+ super(scriptName);
+ this.changeBgMode2OnLineBg(this.defaultPreference.bgUrl, { ...this.defaultPreference });
+ }
+
+ async getAppViewOptions() {
+ return {
+ widgetProvider: {
+ defaultBgType: '1',
+ small: false, // 是否提供小号组件
+ medium: true, // 是否提供中号组件
+ large: false, // 是否提供大号组件
+ },
+ // 预览界面的组件设置item
+ settingItems: [
+ {
+ name: 'filterFinished',
+ label: '过滤已完成赛事',
+ type: 'switch',
+ icon: { name: 'backpack.fill', color: '#e85d04', },
+ needLoading: false,
+ default: true,
+ },
+ {
+ name: 'otherSetting',
+ label: '其他设置',
+ type: 'cell',
+ icon: 'https://cdnjson.com/images/2024/02/05/settings.png',
+ needLoading: true,
+ childItems: [
+ {
+ name: 'titleColor',
+ label: '标题颜色',
+ type: 'color',
+ icon: { name: 'scribble.variable', color: '#264653', },
+ needLoading: false,
+ default: this.titleColorFun(),
+ },
+ {
+ name: 'teamColor',
+ label: '队名颜色',
+ type: 'color',
+ icon: { name: 'highlighter', color: '#2a9d8f', },
+ needLoading: false,
+ default: this.teamColorFun(),
+ },
+ {
+ name: 'notStartedColor',
+ label: '未开始比分颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#e9c46a', },
+ needLoading: false,
+ default: this.notStartedColorFun(),
+ },
+ {
+ name: 'startingColor',
+ label: '进行中比分颜色',
+ type: 'color',
+ icon: { name: 'lasso', color: '#f4a261', },
+ needLoading: false,
+ default: this.startingColorFun(),
+ },
+ {
+ name: 'finishedColor',
+ label: '结束比分颜色',
+ type: 'color',
+ icon: { name: 'lasso.and.sparkles', color: '#e76f51', },
+ needLoading: false,
+ default: this.finishedColorFun(),
+ },
+ ]
+ },
+ ],
+ };
+ }
+
+ provideMediumWidget = async (widgetSetting) => {
+ // 赛程
+ const RES = await this.loadWorldCupData(widgetSetting.filterFinished ?? true);
+ //
+ const ballImg = await this.getImageByUrl('https://gitee.com/enjoyee/img/raw/master/other/ball.png');
+ //
+ const titleColor = this.titleColorFun();
+ const teamColor = this.teamColorFun();
+ const notStartedColor = this.notStartedColorFun();
+ const startingColor = this.startingColorFun();
+ const finishedColor = this.finishedColorFun();
+ //=================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ const widgetSize = this.getWidgetSize('中号');
+ let { width, height } = widgetSize;
+ //=================================
+ const contentStack = widget.addStack();
+ contentStack.layoutVertically();
+ contentStack.centerAlignContent();
+ if (RES.length == 0) {
+ let mxStack = contentStack.addStack();
+ mxStack.layoutHorizontally();
+ mxStack.addSpacer();
+ let mxImg = await this.getImageByUrl('https://s3.uuu.ovh/imgs/2022/12/08/e84b3697053ddaab.webp');
+ let mxImgSpan = mxStack.addImage(mxImg);
+ mxStack.addSpacer();
+ mxImgSpan.imageSize = new Size(100, 100);
+ mxImgSpan.centerAlignImage();
+ let infoStack = contentStack.addStack();
+ infoStack.layoutHorizontally();
+ infoStack.addSpacer();
+ let tipsTextSpan = infoStack.addText('ops~o_O||今天球场上没人');
+ infoStack.addSpacer();
+ tipsTextSpan.textColor = new Color(titleColor);
+ tipsTextSpan.font = Font.systemFont(20);
+ tipsTextSpan.shadowColor = new Color('#666', 0.4);
+ tipsTextSpan.shadowRadius = 0.4;
+ tipsTextSpan.shadowOffset = new Point(1, 1);
+ } else {
+ height -= 12;
+ contentStack.size = new Size(width, height);
+ const perHeight = height / 3;
+ const descStackHeight = perHeight / 5 * 2.1;
+ const detailStackHeight = perHeight / 5 * 3;
+ const areaStackSize = new Size(width / 7 * 2.5, detailStackHeight);
+ if (RES.length == 1) {
+ let topStack = contentStack.addStack();
+ topStack.layoutHorizontally();
+ topStack.centerAlignContent();
+ topStack.addSpacer();
+ let topImg = await this.getImageByUrl('https://s3.uuu.ovh/imgs/2022/12/06/3f48556409802788.png');
+ let topImgSpan = topStack.addImage(topImg);
+ topImgSpan.imageSize = new Size(28, 28);
+ //
+ topStack.addSpacer(2);
+ let topTextSpan = topStack.addText(`${RES[0].round_name}`);
+ topTextSpan.textColor = new Color(titleColor);
+ topTextSpan.font = Font.systemFont(20);
+ topTextSpan.shadowColor = new Color('#666', 0.4);
+ topTextSpan.shadowRadius = 0.4;
+ topTextSpan.shadowOffset = new Point(1, 1);
+ //
+ topStack.addSpacer(2);
+ topImgSpan = topStack.addImage(topImg);
+ topImgSpan.imageSize = new Size(28, 28);
+ //
+ topStack.addSpacer();
+ contentStack.addSpacer(4);
+ }
+ for (let index = 0; index < RES.length; index++) {
+ const item = RES[index];
+ let { room_id, host_team = {}, guest_team = {}, match_status = 1, bottom_note } = item;
+ // ================================
+ let stack = contentStack.addStack();
+ stack.layoutVertically();
+ // ================================
+ let descContainerStack = stack.addStack();
+ descContainerStack.layoutHorizontally();
+ descContainerStack.addSpacer();
+ let descStack = descContainerStack.addStack();
+ descContainerStack.addSpacer();
+ descStack.size = new Size(width / 10 * 9, descStackHeight);
+ descStack.backgroundColor = new Color('#FFF', 0.5);
+ descStack.cornerRadius = descStackHeight / 2;
+ descStack.borderWidth = 1;
+ descStack.borderColor = new Color('#000', 0.2);
+ descStack.layoutHorizontally();
+ descStack.centerAlignContent();
+ ///
+ let imgSpan = descStack.addImage(ballImg);
+ imgSpan.imageSize = new Size(12, 12);
+ imgSpan.imageOpacity = 0.6;
+ descStack.addSpacer(8);
+ ///
+ let textSpan = descStack.addText(`${item.match_round_desc}`);
+ textSpan.textColor = new Color(titleColor, 0.9);
+ textSpan.font = Font.systemFont(12); // 小标题
+ ///
+ descStack.addSpacer(8);
+ imgSpan = descStack.addImage(ballImg);
+ imgSpan.imageSize = new Size(12, 12);
+ imgSpan.imageOpacity = 0.6;
+ ///
+ // ================================
+ stack.addSpacer(4);
+ let detailStack = stack.addStack();
+ detailStack.size = new Size(width, detailStackHeight);
+ detailStack.layoutHorizontally();
+ let jumpUrl = `https://webcast-open.douyin.com/open/webcast/reflow/?webcast_app_id=6822&room_id=${room_id}`;
+ if (room_id) {
+ detailStack.url = jumpUrl;
+ }
+ // --------------------------------
+ let hostStack = detailStack.addStack();
+ hostStack.size = areaStackSize;
+ hostStack.centerAlignContent();
+ hostStack.addSpacer();
+ textSpan = hostStack.addText(host_team.cn_name);
+ textSpan.textColor = new Color(teamColor, 1);
+ textSpan.font = Font.mediumSystemFont(14); // 队名
+ hostStack.addSpacer(10);
+ //
+ let image = await this.getImageByUrl(host_team.flag);
+ imgSpan = hostStack.addImage(image);
+ imgSpan.imageSize = new Size(40, 40); // 国旗
+ // --------------------------------
+ let scoreStack = detailStack.addStack();
+ scoreStack.addSpacer();
+ scoreStack.size = new Size(width / 7 * 2, detailStackHeight);
+ scoreStack.centerAlignContent();
+ textSpan = scoreStack.addText(`${item.host_score} : ${item.guest_score}`);
+ let scoreColor;
+ switch (match_status) {
+ case 1: // 未开始
+ scoreColor = notStartedColor;
+ break;
+
+ case 2: // 直播中
+ scoreColor = startingColor;
+ break;
+
+ case 3: // 已结束
+ scoreColor = finishedColor;
+ break;
+ }
+ textSpan.textColor = new Color(scoreColor, 0.8);
+ textSpan.font = Font.heavySystemFont(28); // 比分
+ scoreStack.addSpacer();
+ // --------------------------------
+ let guestStack = detailStack.addStack();
+ guestStack.size = areaStackSize;
+ guestStack.centerAlignContent();
+ image = await this.getImageByUrl(guest_team.flag);
+ imgSpan = guestStack.addImage(image);
+ imgSpan.imageSize = new Size(40, 40); // 国旗
+ guestStack.addSpacer(10);
+ //
+ textSpan = guestStack.addText(guest_team.cn_name);
+ textSpan.textColor = new Color(teamColor, 1);
+ textSpan.font = Font.mediumSystemFont(14); // 队名
+ guestStack.addSpacer();
+ //
+ if (index != RES.length - 1) {
+ stack.addSpacer(10);
+ }
+ if (RES.length === 1) {
+ stack.addSpacer(6);
+ const bottomStack = stack.addStack();
+ bottomStack.layoutHorizontally();
+ bottomStack.addSpacer();
+ textSpan = bottomStack.addText(`『${bottom_note}』`);
+ textSpan.textColor = new Color(titleColor, 0.9);
+ textSpan.font = Font.systemFont(13);
+ bottomStack.addSpacer();
+ if (room_id) {
+ bottomStack.url = jumpUrl;
+ }
+ }
+ }
+ }
+ //=================================
+ return widget;
+ }
+
+ async render({ widgetSetting, family }) {
+ return await this.provideMediumWidget(widgetSetting);
+ }
+
+ // --------------------------NET START--------------------------
+
+ /**
+ * 世界杯数据
+ */
+ loadWorldCupData = async (filterFinished) => {
+ const URL = 'https://api5-normal-lq.toutiaoapi.com/vertical/sport/go/world_cup/match_info';
+ const RES = await this.httpGet(URL);
+ const match_infos = JSON.parse(RES.data).match_infos;
+ const matchInfoKeys = Object.keys(match_infos);
+ // -------------------------------------------------
+ const currDateKey = this.getDateStr(new Date(), 'yyyyMMdd');
+ let currDateIndex = matchInfoKeys.indexOf(currDateKey);
+ // -------------------------------------------------
+ let preDateIndex = currDateIndex - 1;
+ let preDateKey = matchInfoKeys[preDateIndex];
+ // -------------------------------------------------
+ let afterDateIndex = currDateIndex + 1;
+ let afterDateKey = '';
+ if (currDateIndex == matchInfoKeys.length - 1) {
+ afterDateIndex = -1;
+ } else {
+ afterDateKey = matchInfoKeys[afterDateIndex];
+ }
+ console.log(`preDateKey->${preDateKey}, afterDateKey:${afterDateKey}, currDateKey=${currDateKey}`);
+ // -------------------------------------------------
+ // match_status:1未开始,2:进行中,3:已结束,其他非比赛
+ let currMatch = match_infos[currDateKey];
+ let preMatch = match_infos[preDateKey];
+ let afterMatch;
+ if (afterDateKey.length > 0) {
+ afterMatch = match_infos[afterDateKey];
+ }
+ //
+ let showInfoArr = [];
+ if (preMatch.match_status == 2) {
+ showInfoArr = showInfoArr.concat(preMatch);
+ }
+ if ([1, 2, 3].indexOf(currMatch.match_status) != -1) {
+ showInfoArr = showInfoArr.concat(currMatch);
+ }
+ if (filterFinished) {
+ showInfoArr = showInfoArr.filter(item => item.match_status != 3);
+ if (showInfoArr.length == 0 && afterDateKey.length > 0) {
+ showInfoArr = showInfoArr.concat(afterMatch);
+ }
+ }
+
+ const infoArr = [];
+ for (const info of showInfoArr) {
+ const {
+ round_name = '',
+ match_status = 1, // 1:未开始,2:直播中,3:已结束
+ match_round_desc = '',
+ host_team = {},
+ guest_team = {},
+ host_score = '',
+ guest_score = '',
+ bottom_note = '',
+ room_id = ''
+ } = info;
+ infoArr.push({
+ match_status,
+ round_name,
+ match_round_desc: match_round_desc.replaceAll(round_name, ''),
+ host_team,
+ guest_team,
+ host_score,
+ guest_score,
+ bottom_note,
+ room_id
+ });
+ }
+
+ return infoArr.length > 1 ? infoArr.slice(0, 2) : infoArr;
+ }
+
+ // --------------------------NET END--------------------------
+
+}
+
+await new Widget(Script.name()).run();
+
+
+// =================================================================================
+// =================================================================================
+async function downloadLSPDependency() {
+ let fm = FileManager.local();
+ const fileName = fm.joinPath(fm.documentsDirectory(), `LSP/${Script.name()}/settings.json`);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ const use_github = JSON.parse(cacheString)['use_github'];
+ const dependencyURL = `${use_github ? remoteGithubRoot : remoteHomeLandRoot}/_LSP.js`;
+ const update = needUpdateDependency();
+ if (isDev) {
+ const iCloudPath = FileManager.iCloud().documentsDirectory();
+ const localIcloudDependencyExit = fm.isFileStoredIniCloud(`${iCloudPath}/_LSP.js`);
+ const localDependencyExit = fm.fileExists(`${rootDir}/_LSP.js`);
+ const fileExist = localIcloudDependencyExit || localDependencyExit;
+ console.log(`🚀 DEV开发依赖文件${fileExist ? '已存在 ✅' : '不存在 🚫'}`);
+ if (!fileExist || update) {
+ console.log(`🤖 DEV 开始${update ? '更新' + dependencyLSP : '下载'}依赖~`);
+ keySave('VERSION', dependencyLSP);
+ await downloadFile2Scriptable('_LSP', dependencyURL);
+ }
+ return;
+ }
+
+ //////////////////////////////////////////////////////////
+ console.log(`----------------------------------------`);
+ const remoteDependencyExit = fm.fileExists(`${cacheDir}/_LSP.js`);
+ console.log(`🚀 RELEASE依赖文件${remoteDependencyExit ? '已存在 ✅' : '不存在 🚫'}`);
+ console.log(`----------------------------------------`);
+ // ------------------------------
+ if (!remoteDependencyExit) { // 下载依赖
+ // 创建根目录
+ if (!fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir, true);
+ }
+ // 下载
+ console.log('🤖 RELEASE开始下载依赖~');
+ console.log(`----------------------------------------`);
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ fm.write(fm.joinPath(cacheDir, '/_LSP.js'), moduleJs);
+ console.log('✅ LSP远程依赖环境下载成功!');
+ console.log(`----------------------------------------`);
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ console.log(`----------------------------------------`);
+ }
+ }
+}
+
+/**
+ * 获取保存的文件名
+ * @param {*} fileName
+ * @returns
+ */
+function getSaveFileName(fileName) {
+ const hasSuffix = fileName.lastIndexOf(".") + 1;
+ return !hasSuffix ? `${fileName}.js` : fileName;
+};
+
+/**
+ * 保存文件到Scriptable软件目录,app可看到
+ * @param {*} fileName
+ * @param {*} content
+ * @returns
+ */
+function saveFile2Scriptable(fileName, content) {
+ try {
+ const fm = FileManager.iCloud();
+ let fileSimpleName = getSaveFileName(fileName);
+ const filePath = fm.joinPath(fm.documentsDirectory(), fileSimpleName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+/**
+ * 下载js文件到Scriptable软件目录
+ * @param {*} moduleName 名称
+ * @param {*} url 在线地址
+ * @returns
+ */
+async function downloadFile2Scriptable(moduleName, url) {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return saveFile2Scriptable(`${moduleName}`, content);
+};
+
+// =================================================================================
+// =================================================================================
\ No newline at end of file
diff --git "a/\344\273\212\346\227\245\344\272\213\351\241\271.js" "b/\344\273\212\346\227\245\344\272\213\351\241\271.js"
new file mode 100644
index 0000000..4fd8972
--- /dev/null
+++ "b/\344\273\212\346\227\245\344\272\213\351\241\271.js"
@@ -0,0 +1,360 @@
+// Variables used by Scriptable.
+// These must be at the very top of the file. Do not edit.
+// icon-color: deep-purple; icon-glyph: bell;
+/**
+ * Author:LSP
+ * Date:2023-05-11
+ */
+// -------------------------------------------------------
+// 是否是开发环境,配合手机端调试使用,正式发布设置为false
+const isDev = false;
+const dependencyLSP = '20230511';
+console.log(`当前环境 👉👉👉👉👉 ${isDev ? 'DEV' : 'RELEASE'}`);
+console.log(`----------------------------------------`);
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+// 依赖包目录
+const fm = FileManager.local();
+const rootDir = fm.documentsDirectory();
+const cacheDir = fm.joinPath(rootDir, 'LSP');
+const dependencyFileName = isDev ? "_LSP.js" : `${cacheDir}/_LSP.js`;
+// 下载依赖包
+await downloadLSPDependency();
+// -------------------------------------------------------
+if (typeof require === 'undefined') require = importModule
+// 引入相关方法
+const { BaseWidget } = require(dependencyFileName);
+
+// @定义小组件
+class Widget extends BaseWidget {
+
+ defaultPreference = {
+ reminderColors: {
+ 0: '#333333',
+ 1: '#ff0000',
+ 5: '#e85d04',
+ 9: '#faa307',
+ }
+ };
+
+ constructor(scriptName) {
+ super(scriptName);
+ this.changeBgMode2OnLineBg(
+ ['https://www.toptal.com/designers/subtlepatterns/uploads/double-bubble-outline.png']
+ );
+ }
+
+ async getAppViewOptions() {
+ return {
+ widgetProvider: {
+ small: false, // 是否提供小号组件
+ medium: true, // 是否提供中号组件
+ large: false, // 是否提供大号组件
+ },
+ // 预览界面的组件设置item
+ settingItems: [
+ {
+ name: 'avatar',
+ label: '设置头像',
+ type: 'cell',
+ icon: { name: 'photo.on.rectangle', color: '#ff4800', },
+ needLoading: false,
+ alert: {
+ title: '设置头像',
+ options: [
+ {
+ key: 'avatar',
+ hint: '请输入头像链接',
+ }
+ ]
+ },
+ showDesc: false
+ },
+ {
+ name: 'circleAvatar',
+ label: '头像圆形裁剪',
+ type: 'switch',
+ icon: { name: 'person.crop.circle', color: '#6C00FF', }
+ },
+ ],
+ };
+ }
+
+ async render({ widgetSetting, family }) {
+ let widget;
+ switch (family) {
+ case 'medium':
+ widget = await this.provideMediumWidget(widgetSetting);
+ break;
+ }
+ widget.setPadding(6, 12, 6, 12);
+ return widget;
+ }
+
+ /**
+ * 中型组件
+ * @returns
+ */
+ async provideMediumWidget(widgetSetting) {
+ const reminderObj = await this.loadReminderList();
+ const { finishedList, unfinishedList } = reminderObj;
+ const finishedCount = finishedList.length;
+ const unfinishedCount = unfinishedList.length;
+ const totalCount = finishedCount + unfinishedCount;
+ // ========================================
+ const widget = new ListWidget();
+ const { width, height } = this.getWidgetSize('中号');
+ const contentStack = widget.addStack();
+ contentStack.layoutHorizontally();
+ // ========================================
+ const leftStack = contentStack.addStack();
+ leftStack.layoutVertically();
+ const leftStackWidth = width * 0.31;
+ leftStack.size = new Size(leftStackWidth, height);
+ leftStack.setPadding(0, 16, 0, 0);
+ const avatarUrl = widgetSetting.avatar || 'https://gitcode.net/enoyee/scriptable/-/raw/master/img/ic_pikachu_4.png';
+ // ------------
+ const avatarStack = leftStack.addStack();
+ let img;
+ if (widgetSetting.circleAvatar) {
+ img = await this.circleCropImage(avatarUrl);
+ } else {
+ img = await this.getImageByUrl(avatarUrl);
+ }
+ let imgSpan = avatarStack.addImage(img);
+ avatarStack.addSpacer();
+ imgSpan.imageSize = new Size(leftStackWidth * 0.65, leftStackWidth * 0.65);
+ // ------------
+ const leftTextColor = new Color('#444');
+ const leftTextFont = Font.mediumSystemFont(13);
+ leftStack.addSpacer(10);
+ let textSpan = leftStack.addText(`已完成:${finishedCount}项`);
+ textSpan.textColor = leftTextColor;
+ textSpan.font = leftTextFont;
+ textSpan.lineLimit = 1;
+ // ------------
+ leftStack.addSpacer(4);
+ textSpan = leftStack.addText(`未完成:${unfinishedCount}项`);
+ textSpan.textColor = leftTextColor;
+ textSpan.font = leftTextFont;
+ textSpan.lineLimit = 1;
+ // ------------
+ leftStack.addSpacer(4);
+ const percent = totalCount > 0 ? Math.floor((finishedCount / totalCount) * 100) : 0;
+ textSpan = leftStack.addText(`完成率:${percent}%`);
+ textSpan.textColor = leftTextColor;
+ textSpan.font = leftTextFont;
+ textSpan.lineLimit = 1;
+ // ========================================
+ const rightStackWidth = width * 0.69;
+ const rightStack = contentStack.addStack();
+ rightStack.size = new Size(rightStackWidth, height);
+ rightStack.layoutVertically();
+ const perHeight = height / 6;
+ const list = unfinishedList.slice(0, unfinishedList.length > 4 ? 4 : unfinishedList.length);
+ rightStack.addSpacer(10);
+ // ---------------------------------------
+ rightStack.url = 'x-apple-reminderkit://';
+ let percentIndex = 0;
+ if (percent > 0 && percent <= 25) {
+ percentIndex = 25;
+ } else if (percent > 25 && percent <= 50) {
+ percentIndex = 50;
+ } else if (percent > 50 && percent <= 75) {
+ percentIndex = 75;
+ } else if (percent > 75) {
+ percentIndex = 100;
+ }
+ if (percentIndex > 0) {
+ img = await this.getImageByUrl(`https://gitcode.net/enoyee/scriptable/-/raw/master/img/bg_celebrate_${percentIndex}.png`);
+ rightStack.backgroundImage = img;
+ }
+ // ---------------------------------------
+ if (list.length === 0) {
+ ['全', '步', '完', '成'].forEach(_ => {
+ let rdStack = rightStack.addStack();
+ rdStack.url = 'x-apple-reminderkit://';
+ rdStack.size = new Size(rightStackWidth - 16, perHeight);
+ rdStack.backgroundColor = new Color('#19a5ff', 0.1);
+ rdStack.cornerRadius = 4;
+ rdStack.addSpacer();
+ rightStack.addSpacer(10);
+ });
+ } else {
+ list.forEach(rd => {
+ let rdStack = rightStack.addStack();
+ rdStack.url = 'x-apple-reminderkit://';
+ rdStack.size = new Size(rightStackWidth - 16, perHeight);
+ rdStack.setPadding(0, 8, 0, 8);
+ rdStack.centerAlignContent();
+ let alpha = 0.06;
+ if (rd.isOverdue) {
+ alpha = 0.3;
+ }
+ rdStack.backgroundColor = new Color(`${rd.color}`, alpha);
+ rdStack.cornerRadius = 4;
+ textSpan = rdStack.addText(`@${rd.title}`)
+ textSpan.textColor = new Color(`${rd.color}`, 0.8);
+ let fontSize = 13;
+ if (rd.title.length >= 15) {
+ fontSize = 12;
+ }
+ textSpan.font = Font.semiboldSystemFont(fontSize);
+ textSpan.lineLimit = 1;
+ rdStack.addSpacer();
+ rightStack.addSpacer(10);
+ });
+ }
+ return widget;
+ }
+
+ // --------------------------NET START--------------------------
+ async loadReminderList() {
+ const calendar = await Calendar.forReminders();
+ const originalRdList = await Reminder.all(calendar);
+ const filterList = originalRdList.filter(item => {
+ const { isCompleted } = item;
+ const date = item.dueDate ? this.getDateStr(item.dueDate, 'yyyy-MM-dd') : '';
+ const currDate = this.getDateStr(new Date(), 'yyyy-MM-dd')
+ return date == currDate || (!isCompleted && date < currDate);
+ });
+ const reminderList = filterList.map(item => ({
+ title: item.title,
+ notes: item.notes,
+ isCompleted: item.isCompleted,
+ isOverdue: item.isOverdue,
+ priority: item.priority == 0 ? 10 : item.priority,
+ color: this.defaultPreference.reminderColors[item.priority],
+ calendar: item.calendar
+ }));
+ const unfinishedList = reminderList.filter(reminder => !reminder.isCompleted);
+ unfinishedList.sort(function (a, b) { return (a.isOverdue || b.isOverdue) ? 1 : (a.priority - b.priority) });
+ const finishedList = reminderList.filter(reminder => reminder.isCompleted);
+ return { finishedList, unfinishedList };
+ }
+ // --------------------------NET END--------------------------
+
+}
+
+await new Widget(Script.name()).run();
+
+
+// =================================================================================
+// =================================================================================
+async function downloadLSPDependency() {
+ let fm = FileManager.local();
+ const fileName = fm.joinPath(fm.documentsDirectory(), `LSP/${Script.name()}/settings.json`);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ const use_github = JSON.parse(cacheString)['use_github'];
+ const dependencyURL = `${use_github ? remoteGithubRoot : remoteHomeLandRoot}/_LSP.js`;
+ const update = needUpdateDependency();
+ if (isDev) {
+ const iCloudPath = FileManager.iCloud().documentsDirectory();
+ const localIcloudDependencyExit = fm.isFileStoredIniCloud(`${iCloudPath}/_LSP.js`);
+ const localDependencyExit = fm.fileExists(`${rootDir}/_LSP.js`);
+ const fileExist = localIcloudDependencyExit || localDependencyExit;
+ console.log(`🚀 DEV开发依赖文件${fileExist ? '已存在 ✅' : '不存在 🚫'}`);
+ if (!fileExist || update) {
+ console.log(`🤖 DEV 开始${update ? '更新' + dependencyLSP : '下载'}依赖~`);
+ keySave('VERSION', dependencyLSP);
+ await downloadFile2Scriptable('_LSP', dependencyURL);
+ }
+ return;
+ }
+
+ //////////////////////////////////////////////////////////
+ console.log(`----------------------------------------`);
+ const remoteDependencyExit = fm.fileExists(`${cacheDir}/_LSP.js`);
+ console.log(`🚀 RELEASE依赖文件${remoteDependencyExit ? '已存在 ✅' : '不存在 🚫'}`);
+ // ------------------------------
+ if (!remoteDependencyExit || update) { // 下载依赖
+ // 创建根目录
+ if (!fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir, true);
+ }
+ // 下载
+ console.log(`🤖 RELEASE开始${update ? '更新' : '下载'}依赖~`);
+ console.log(`----------------------------------------`);
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ fm.write(fm.joinPath(cacheDir, '/_LSP.js'), moduleJs);
+ keySave('VERSION', dependencyLSP);
+ console.log('✅ LSP远程依赖环境下载成功!');
+ console.log(`----------------------------------------`);
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ console.log(`----------------------------------------`);
+ }
+ }
+}
+
+/**
+ * 获取保存的文件名
+ * @param {*} fileName
+ * @returns
+ */
+function getSaveFileName(fileName) {
+ const hasSuffix = fileName.lastIndexOf(".") + 1;
+ return !hasSuffix ? `${fileName}.js` : fileName;
+};
+
+/**
+ * 保存文件到Scriptable软件目录,app可看到
+ * @param {*} fileName
+ * @param {*} content
+ * @returns
+ */
+function saveFile2Scriptable(fileName, content) {
+ try {
+ const fm = FileManager.iCloud();
+ let fileSimpleName = getSaveFileName(fileName);
+ const filePath = fm.joinPath(fm.documentsDirectory(), fileSimpleName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+/**
+ * 下载js文件到Scriptable软件目录
+ * @param {*} moduleName 名称
+ * @param {*} url 在线地址
+ * @returns
+ */
+async function downloadFile2Scriptable(moduleName, url) {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return saveFile2Scriptable(`${moduleName}`, content);
+};
+
+/**
+ * 是否需要更新依赖版本
+ */
+function needUpdateDependency() {
+ return dependencyLSP != keyGet('VERSION');
+};
+
+function keySave(cacheKey, cache) {
+ if (cache) {
+ Keychain.set(Script.name() + cacheKey, cache);
+ }
+}
+
+function keyGet(cacheKey, defaultValue = '') {
+ if (Keychain.contains(Script.name() + cacheKey)) {
+ return Keychain.get(Script.name() + cacheKey);
+ } else {
+ return defaultValue;
+ }
+}
+// =================================================================================
+// =================================================================================
\ No newline at end of file
diff --git "a/\345\200\222\350\256\241\346\227\245.js" "b/\345\200\222\350\256\241\346\227\245.js"
new file mode 100644
index 0000000..13d93f2
--- /dev/null
+++ "b/\345\200\222\350\256\241\346\227\245.js"
@@ -0,0 +1,571 @@
+// Variables used by Scriptable.
+// These must be at the very top of the file. Do not edit.
+// icon-color: deep-green; icon-glyph: clock;
+/**
+ * Author:LSP
+ * Date:2023-05-12
+ */
+// -------------------------------------------------------
+// 是否是开发环境,配合手机端调试使用,正式发布设置为false
+const isDev = false;
+const dependencyLSP = '20230511';
+console.log(`当前环境 👉👉👉👉👉 ${isDev ? 'DEV' : 'RELEASE'}`);
+console.log(`----------------------------------------`);
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+// 依赖包目录
+const fm = FileManager.local();
+const rootDir = fm.documentsDirectory();
+const cacheDir = fm.joinPath(rootDir, 'LSP');
+const dependencyFileName = isDev ? "_LSP.js" : `${cacheDir}/_LSP.js`;
+// 下载依赖包
+await downloadLSPDependency();
+// -------------------------------------------------------
+if (typeof require === 'undefined') require = importModule
+// 引入相关方法
+const { BaseWidget } = require(dependencyFileName);
+
+// @定义小组件
+class Widget extends BaseWidget {
+
+ defaultPreference = {
+ countDownName: 'LSP',
+ prefixTitle: '',
+ countDownDate: this.getDateStr(new Date(), 'yyyy-MM-dd'),
+ //
+ titleFontSize: 14,
+ titleDayColor: '#000000',
+ titleNightColor: '#FFFFFF',
+ //
+ countdownFontSize: 22,
+ countdownDayColor: '#000000',
+ countdownNightColor: '#FFFFFF',
+ };
+
+ getValueByKey = (key) => this.readWidgetSetting()[key] ?? this.defaultPreference[key];
+
+ prefixTitle = () => this.getValueByKey('prefixTitle');
+
+ countDownName = () => this.getValueByKey('countDownName');
+
+ countDownDate = () => this.getValueByKey('countDownDate');
+
+ titleFontSize = () => parseInt(this.getValueByKey('titleFontSize'));
+ titleDayColor = () => this.getValueByKey('titleDayColor');
+ titleNightColor = () => this.getValueByKey('titleNightColor');
+
+ countdownFontSize = () => parseInt(this.getValueByKey('countdownFontSize'));
+ countdownDayColor = () => this.getValueByKey('countdownDayColor');
+ countdownNightColor = () => this.getValueByKey('countdownNightColor');
+
+ constructor(scriptName) {
+ super(scriptName);
+ this.backgroundColor = '#FEFCF3,#0A2647';
+ this.changeBgMode2OnLineBg(
+ [`${this.getRemoteRootPath()}/img/ic_clock.png`]
+ );
+ }
+
+ async getAppViewOptions() {
+ return {
+ widgetProvider: {
+ small: true, // 是否提供小号组件
+ medium: false, // 是否提供中号组件
+ large: false, // 是否提供大号组件
+ },
+ // 预览界面的组件设置item
+ settingItems: [
+ {
+ name: 'countDownName',
+ label: '计时标题',
+ type: 'cell',
+ icon: { name: 'tag', color: '#7678ed', },
+ alert: {
+ title: '计时标题',
+ options: [
+ {
+ key: 'countDownName',
+ hint: '请输入计时标题',
+ }
+ ]
+ },
+ showDesc: true,
+ needLoading: false,
+ default: this.countDownName(),
+ },
+ {
+ name: 'countDownDate',
+ label: '计时日期',
+ type: 'cell',
+ icon: { name: 'clock.arrow.circlepath', color: '#f35b04', },
+ needLoading: false,
+ default: this.countDownDate(),
+ },
+ {
+ name: 'otherSetting',
+ label: '其他设置',
+ type: 'cell',
+ icon: 'https://cdnjson.com/images/2024/02/05/settings.png',
+ needLoading: true,
+ childItems: [
+ {
+ items: [
+ {
+ name: 'prefixTitle',
+ label: '计时标题前缀',
+ type: 'input',
+ icon: { name: 'square.on.circle', color: '#0D9DF0', },
+ needLoading: false,
+ default: this.prefixTitle(),
+ },
+ {
+ name: 'countdownType',
+ label: '计时类型',
+ type: 'select',
+ icon: { name: 'square.on.square', color: '#0753F7', },
+ needLoading: false,
+ options: [
+ { label: '常规计时', value: '1' },
+ { label: '纪念日', value: '2' },
+ { label: '出生岁数', value: '3' },
+ ],
+ default: '1',
+ },
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'titleFontSize',
+ label: '计时标题文字大小',
+ type: 'cell',
+ icon: { name: 'tag', color: '#7678ed', },
+ needLoading: false,
+ alert: {
+ title: '计时标题文字大小',
+ options: [
+ {
+ key: 'titleFontSize',
+ hint: '请输入字号',
+ }
+ ]
+ },
+ default: this.titleFontSize(),
+ },
+ {
+ name: 'titleDayColor',
+ label: '计时标题文字浅色颜色',
+ type: 'color',
+ icon: { name: 'sun.min.fill', color: '#3a86ff', },
+ needLoading: false,
+ default: this.titleDayColor(),
+ },
+ {
+ name: 'titleNightColor',
+ label: '计时标题文字深色颜色',
+ type: 'color',
+ icon: { name: 'moon.fill', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.titleNightColor(),
+ },
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'countdownFontSize',
+ label: '计时文字大小',
+ type: 'cell',
+ icon: { name: 'stopwatch', color: '#7678ed', },
+ needLoading: false,
+ alert: {
+ title: '计时文字大小',
+ options: [
+ {
+ key: 'countdownFontSize',
+ hint: '请输入字号',
+ }
+ ]
+ },
+ default: this.countdownFontSize(),
+ },
+ {
+ name: 'countdownDayColor',
+ label: '计时文字浅色颜色',
+ type: 'color',
+ icon: { name: 'sun.min.fill', color: '#3a86ff', },
+ needLoading: false,
+ default: this.countdownDayColor(),
+ },
+ {
+ name: 'countdownNightColor',
+ label: '计时文字深色颜色',
+ type: 'color',
+ icon: { name: 'moon.fill', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.countdownNightColor(),
+ },
+ ]
+ },
+ ]
+ },
+ ],
+ // cell类型的item点击回调
+ onItemClick: async (item) => {
+ let widgetSetting = this.readWidgetSetting();
+ let insertDesc = '';
+ switch (item.name) {
+ case 'countDownDate':
+ try {
+ const date = await new DatePicker().pickDate();
+ insertDesc = this.getDateStr(date, 'yyyy-MM-dd');
+ widgetSetting[item.name] = insertDesc;
+ } catch (error) {
+ }
+ break;
+ }
+ // 写入更新配置
+ this.writeWidgetSetting(widgetSetting);
+ return {
+ desc: { value: insertDesc },
+ };
+ },
+ };
+ }
+
+ async render({ widgetSetting }) {
+ const { countdownType = '1' } = widgetSetting;
+ const countdownTypeNum = parseInt(countdownType);
+ if (countdownTypeNum == 2) {
+ this.defaultPreference.countdownFontSize = 22;
+ return await this.provideMemorialWidget(widgetSetting);
+ } else if (countdownTypeNum == 3) {
+ this.defaultPreference.countdownFontSize = 30;
+ return await this.provideBirthdayWidget(widgetSetting);
+ } else {
+ this.defaultPreference.countdownFontSize = 22;
+ return await this.provideNormalWidget(widgetSetting);
+ }
+ }
+
+ async provideNormalWidget(widgetSetting) {
+ // ----------------------------------------
+ const widgetSize = this.getWidgetSize('小号');
+ //=================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ //=================================
+ let stack = widget.addStack();
+ stack.setPadding(12, 8, 0, 8);
+ stack.size = new Size(widgetSize.width, widgetSize.height);
+ stack.layoutVertically();
+
+ // ----------------------------------------
+ const countDownTime = new Date(`${this.countDownDate()} 00:00`).getTime();
+ const timeInterval = (countDownTime - new Date().getTime()) / 86400 / 1000;
+ // ----------------------------------------
+ let hStack = stack.addStack();
+ hStack.addSpacer();
+ let textSpan = hStack.addText(`${this.prefixTitle()}❝${this.countDownName()}❞ ${timeInterval >= 0 ? '还有' : '已过'}`);
+ textSpan.textColor = this.dynamicColor(this.titleDayColor(), this.titleNightColor());
+ textSpan.font = Font.lightSystemFont(this.titleFontSize());
+ hStack.addSpacer();
+ // ----------------------------------------
+ stack.addSpacer();
+ let countDownStack = stack.addStack();
+ countDownStack.centerAlignContent();
+ countDownStack.addSpacer();
+ // 倒计
+ let dateSpan = countDownStack.addDate(new Date(countDownTime));
+ dateSpan.centerAlignText();
+ dateSpan.lineLimit = 2;
+ dateSpan.applyRelativeStyle();
+ dateSpan.font = Font.semiboldRoundedSystemFont(this.countdownFontSize());
+ dateSpan.textColor = this.dynamicColor(this.countdownDayColor(), this.countdownNightColor());
+ countDownStack.addSpacer();
+
+ // ----------------------------------------
+ stack.addSpacer();
+ //=================================
+ return widget;
+ }
+
+ async provideMemorialWidget(widgetSetting) {
+ // ----------------------------------------
+ const widgetSize = this.getWidgetSize('小号');
+ //=================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ //=================================
+ let stack = widget.addStack();
+ stack.setPadding(12, 8, 0, 8);
+ stack.size = new Size(widgetSize.width, widgetSize.height);
+ stack.layoutVertically();
+
+ // ----------------------------------------
+ const countShotDate = this.countDownDate().slice(5);
+ const currShotDate = this.getDateStr(new Date(), 'MM-dd');
+ const isToday = countShotDate == currShotDate;
+ const countDownTime = +new Date(`${this.countDownDate()} 00:00`);
+ const timeInterval = Math.floor((+new Date() - countDownTime) / 86400 / 1000 / 365);
+ const isOverdue = (+new Date() - +new Date(`${new Date().getFullYear()}-${countShotDate} 00:00`)) / 86400 / 1000 >= 1;
+ // ----------------------------------------
+ let hStack = stack.addStack();
+ hStack.addSpacer();
+ let textSpan = hStack.addText(`${this.prefixTitle()}❝${this.countDownName()}❞ ${timeInterval + 1}周年`);
+ textSpan.textColor = this.dynamicColor(this.titleDayColor(), this.titleNightColor());
+ textSpan.font = Font.mediumSystemFont(this.titleFontSize());
+ hStack.addSpacer();
+ //
+ hStack = stack.addStack();
+ hStack.addSpacer();
+ textSpan = hStack.addText(`纪念日${isToday ? '' : '还有'}`);
+ textSpan.textColor = this.dynamicColor(this.titleDayColor(), this.titleNightColor());
+ textSpan.font = Font.systemFont(this.titleFontSize() - 2);
+ textSpan.textOpacity = 0.9;
+ hStack.addSpacer();
+
+ // ----------------------------------------
+ stack.addSpacer();
+ let countDownStack = stack.addStack();
+ countDownStack.centerAlignContent();
+ countDownStack.addSpacer();
+ if (isToday) {
+ let image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/party-popper.png`);
+ let imgSpan = countDownStack.addImage(image);
+ imgSpan.imageSize = new Size(60, 60);
+ imgSpan.imageOpacity = 0.9;
+ } else {
+ // 倒计
+ let realCountDownTime = +new Date(`${new Date().getFullYear()}-${countShotDate} 00:00`);
+ if (isOverdue) {
+ realCountDownTime = +new Date(`${new Date().getFullYear() + 1}-${countShotDate} 00:00`);
+ }
+ let dateSpan = countDownStack.addDate(new Date(realCountDownTime));
+ dateSpan.centerAlignText();
+ dateSpan.lineLimit = 2;
+ dateSpan.applyRelativeStyle();
+ dateSpan.font = Font.semiboldRoundedSystemFont(this.countdownFontSize());
+ dateSpan.textColor = this.dynamicColor(this.countdownDayColor(), this.countdownNightColor());
+ }
+ countDownStack.addSpacer();
+
+ // ----------------------------------------
+ stack.addSpacer();
+ //=================================
+ return widget;
+ }
+
+ async provideBirthdayWidget(widgetSetting) {
+ // ----------------------------------------
+ const widgetSize = this.getWidgetSize('小号');
+ //=================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ //=================================
+ let stack = widget.addStack();
+ stack.size = new Size(widgetSize.width, widgetSize.height);
+ stack.layoutVertically();
+
+ // ----------------------------------------
+ const countShotDate = this.countDownDate().slice(5);
+ const currShotDate = this.getDateStr(new Date(), 'MM-dd');
+ const isToday = countShotDate == currShotDate;
+ const countDownTime = +new Date(`${this.countDownDate()} 00:00`);
+ const timeInterval = Math.floor((+new Date() - countDownTime) / 86400 / 1000 / 365);
+ const isOverdue = (+new Date() - +new Date(`${new Date().getFullYear()}-${countShotDate} 00:00`)) / 86400 / 1000 >= 1;
+ // ----------------------------------------
+
+ // ----------------------------------------
+ let topStack = stack.addStack();
+ topStack.size = new Size(widgetSize.width, widgetSize.height * 0.75);
+ topStack.layoutVertically();
+ topStack.addSpacer();
+ //
+ let hStack = topStack.addStack();
+ hStack.setPadding(0, 0, 2, 10);
+ hStack.addSpacer();
+ let textSpan = hStack.addText(`${this.prefixTitle()}${this.countDownName()}`);
+ textSpan.textColor = this.dynamicColor(this.titleDayColor(), this.titleNightColor());
+ textSpan.font = Font.mediumRoundedSystemFont(this.titleFontSize());
+
+ // ----------------------------------------
+ let bottomStack = stack.addStack();
+ bottomStack.centerAlignContent();
+ bottomStack.size = new Size(widgetSize.width, widgetSize.height * 0.3);
+ bottomStack.backgroundColor = this.dynamicColor('#FEFCF3', '#0A2647');
+ bottomStack.setPadding(0, 12, 0, 0);
+ //
+ if (timeInterval >= 1) {
+ textSpan = bottomStack.addText(`${timeInterval}`);
+ textSpan.textColor = this.dynamicColor(this.countdownDayColor(), this.countdownNightColor());
+ textSpan.font = Font.semiboldRoundedSystemFont(this.countdownFontSize());
+ //
+ bottomStack.addSpacer(4);
+ let vStack = bottomStack.addStack();
+ vStack.layoutVertically();
+ textSpan = vStack.addText(`岁${isToday ? '啦,生日快乐!🎂' : ''}`);
+ textSpan.textColor = this.dynamicColor(this.countdownDayColor(), this.countdownNightColor());
+ textSpan.font = Font.systemFont(Math.max(10, this.countdownFontSize() - 20));
+ //
+ if (!isToday) {
+ hStack = vStack.addStack();
+ textSpan = hStack.addText(`零`);
+ textSpan.textColor = this.dynamicColor(this.countdownDayColor(), this.countdownNightColor());
+ textSpan.font = Font.systemFont(Math.max(10, this.countdownFontSize() - 20));
+ //
+ let realCountDownTime = +new Date(`${new Date().getFullYear() - (isOverdue ? 0 : 1)}-${countShotDate} 00:00`);
+ let dateSpan = hStack.addDate(new Date(realCountDownTime));
+ dateSpan.leftAlignText();
+ dateSpan.lineLimit = 2;
+ dateSpan.applyRelativeStyle();
+ dateSpan.font = Font.systemFont(Math.max(10, this.countdownFontSize() - 20));
+ dateSpan.textColor = this.dynamicColor(this.countdownDayColor(), this.countdownNightColor());
+ }
+ } else {
+ let realCountDownTime = +new Date(`${new Date().getFullYear() - 1}-${countShotDate} 00:00`);
+ let dateSpan = bottomStack.addDate(new Date(realCountDownTime));
+ dateSpan.leftAlignText();
+ dateSpan.lineLimit = 2;
+ dateSpan.applyRelativeStyle();
+ dateSpan.font = Font.semiboldRoundedSystemFont(Math.max(this.countdownFontSize() - 12, 12));
+ dateSpan.textColor = this.dynamicColor(this.countdownDayColor(), this.countdownNightColor());
+ }
+ //
+ if (isToday) {
+ bottomStack.addSpacer(4);
+ } else {
+ bottomStack.addSpacer();
+ }
+ // ----------------------------------------
+ stack.addSpacer();
+ //=================================
+ return widget;
+ }
+ // --------------------------NET START--------------------------
+
+ // --------------------------NET END--------------------------
+}
+
+await new Widget(Script.name()).run();
+
+
+// =================================================================================
+// =================================================================================
+async function downloadLSPDependency() {
+ let fm = FileManager.local();
+ const fileName = fm.joinPath(fm.documentsDirectory(), `LSP/${Script.name()}/settings.json`);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ const use_github = JSON.parse(cacheString)['use_github'];
+ const dependencyURL = `${use_github ? remoteGithubRoot : remoteHomeLandRoot}/_LSP.js`;
+ const update = needUpdateDependency();
+ if (isDev) {
+ const iCloudPath = FileManager.iCloud().documentsDirectory();
+ const localIcloudDependencyExit = fm.isFileStoredIniCloud(`${iCloudPath}/_LSP.js`);
+ const localDependencyExit = fm.fileExists(`${rootDir}/_LSP.js`);
+ const fileExist = localIcloudDependencyExit || localDependencyExit;
+ console.log(`🚀 DEV开发依赖文件${fileExist ? '已存在 ✅' : '不存在 🚫'}`);
+ if (!fileExist || update) {
+ console.log(`🤖 DEV 开始${update ? '更新' + dependencyLSP : '下载'}依赖~`);
+ keySave('VERSION', dependencyLSP);
+ await downloadFile2Scriptable('_LSP', dependencyURL);
+ }
+ return;
+ }
+
+ //////////////////////////////////////////////////////////
+ console.log(`----------------------------------------`);
+ const remoteDependencyExit = fm.fileExists(`${cacheDir}/_LSP.js`);
+ console.log(`🚀 RELEASE依赖文件${remoteDependencyExit ? '已存在 ✅' : '不存在 🚫'}`);
+ // ------------------------------
+ if (!remoteDependencyExit || update) { // 下载依赖
+ // 创建根目录
+ if (!fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir, true);
+ }
+ // 下载
+ console.log(`🤖 RELEASE开始${update ? '更新' : '下载'}依赖~`);
+ console.log(`----------------------------------------`);
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ fm.write(fm.joinPath(cacheDir, '/_LSP.js'), moduleJs);
+ keySave('VERSION', dependencyLSP);
+ console.log('✅ LSP远程依赖环境下载成功!');
+ console.log(`----------------------------------------`);
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ console.log(`----------------------------------------`);
+ }
+ }
+}
+
+/**
+ * 获取保存的文件名
+ * @param {*} fileName
+ * @returns
+ */
+function getSaveFileName(fileName) {
+ const hasSuffix = fileName.lastIndexOf(".") + 1;
+ return !hasSuffix ? `${fileName}.js` : fileName;
+};
+
+/**
+ * 保存文件到Scriptable软件目录,app可看到
+ * @param {*} fileName
+ * @param {*} content
+ * @returns
+ */
+function saveFile2Scriptable(fileName, content) {
+ try {
+ const fm = FileManager.iCloud();
+ let fileSimpleName = getSaveFileName(fileName);
+ const filePath = fm.joinPath(fm.documentsDirectory(), fileSimpleName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+/**
+ * 下载js文件到Scriptable软件目录
+ * @param {*} moduleName 名称
+ * @param {*} url 在线地址
+ * @returns
+ */
+async function downloadFile2Scriptable(moduleName, url) {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return saveFile2Scriptable(`${moduleName}`, content);
+};
+
+/**
+ * 是否需要更新依赖版本
+ */
+function needUpdateDependency() {
+ return dependencyLSP != keyGet('VERSION');
+};
+
+function keySave(cacheKey, cache) {
+ if (cache) {
+ Keychain.set(Script.name() + cacheKey, cache);
+ }
+}
+
+function keyGet(cacheKey, defaultValue = '') {
+ if (Keychain.contains(Script.name() + cacheKey)) {
+ return Keychain.get(Script.name() + cacheKey);
+ } else {
+ return defaultValue;
+ }
+}
+// =================================================================================
+// =================================================================================
\ No newline at end of file
diff --git "a/\345\206\231\347\234\237\351\232\217\346\234\272.js" "b/\345\206\231\347\234\237\351\232\217\346\234\272.js"
new file mode 100644
index 0000000..253a36e
--- /dev/null
+++ "b/\345\206\231\347\234\237\351\232\217\346\234\272.js"
@@ -0,0 +1,319 @@
+// Variables used by Scriptable.
+// These must be at the very top of the file. Do not edit.
+// icon-color: red; icon-glyph: user-astronaut;
+/**
+ * Author:LSP
+ * Date:2023-05-15
+ */
+// -------------------------------------------------------
+// 是否是开发环境,配合手机端调试使用,正式发布设置为false
+const isDev = false;
+const dependencyLSP = '20230512';
+console.log(`当前环境 👉👉👉👉👉 ${isDev ? 'DEV' : 'RELEASE'}`);
+console.log(`----------------------------------------`);
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+// 依赖包目录
+const fm = FileManager.local();
+const rootDir = fm.documentsDirectory();
+const cacheDir = fm.joinPath(rootDir, 'LSP');
+const dependencyFileName = isDev ? "_LSP.js" : `${cacheDir}/_LSP.js`;
+// 下载依赖包
+await downloadLSPDependency();
+// -------------------------------------------------------
+if (typeof require === 'undefined') require = importModule
+// 引入相关方法
+const { BaseWidget } = require(dependencyFileName);
+
+// @定义小组件
+class Widget extends BaseWidget {
+
+ defaultPreference = {
+ pic_name: 'girls_pic_20230515.json',
+ };
+
+ getValueByKey = (key) => this.readWidgetSetting()[key] ?? this.defaultPreference[key];
+
+ constructor(scriptName) {
+ super(scriptName);
+ this.backgroundColor = '#03071e,#03071e';
+ this.picJsonArr = [];
+ }
+
+ async getAppViewOptions() {
+ return {
+ showWidgetBg: false,
+ widgetProvider: {
+ small: true, // 是否提供小号组件
+ medium: true, // 是否提供中号组件
+ large: true, // 是否提供大号组件
+ },
+ // 预览界面的组件设置item
+ settingItems: [
+ {
+ name: 'photoHalving',
+ label: '图片张数',
+ type: 'select',
+ icon: { name: 'photo.artframe', color: '#ef233c' },
+ options: [
+ { label: '占满组件', value: '1' },
+ { label: '左右互搏', value: '2' },
+ { label: '三分天下', value: '3' },
+ { label: '四平八稳', value: '4' },
+ ],
+ default: "1"
+ },
+ ],
+ };
+ }
+
+ async render({ widgetSetting, family }) {
+ //
+ let cacheJsonArr = this.useFileManager().readJSONCache(this.defaultPreference.pic_name);
+ if (JSON.stringify(cacheJsonArr) == '{}') {
+ const url = `${this.getRemoteRootPath()}/file/${this.defaultPreference.pic_name}`;
+ cacheJsonArr = await this.httpGet(url, { jsonFormat: false, useCache: false });
+ this.useFileManager().writeJSONCache(this.defaultPreference.pic_name, cacheJsonArr);
+ }
+ this.picJsonArr = JSON.parse(cacheJsonArr);
+ this.picJsonArr.sort(() => Math.random() - 0.5);
+ return await this.provideWidget(family, widgetSetting);
+ }
+
+ async provideWidget(widgetFamily, widgetSetting) {
+ const photoHalving = widgetSetting.photoHalving ?? 1;
+ let name = '大号';
+ switch (widgetFamily) {
+ case 'small':
+ name = '小号';
+ break;
+
+ case 'medium':
+ name = '中号';
+ break;
+ }
+ //=================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ //=================================
+ let stack = widget.addStack();
+ widget.backgroundColor = new Color('#03071e');
+ const imgRes = this.picJsonArr.slice(0, 10);
+ const widgetSize = this.getWidgetSize(name);
+ const widgetWidth = widgetSize.width + 10 * Device.screenScale();
+ const widgetHeight = widgetSize.height + 6 * Device.screenScale();
+ // 图片等分
+ const picHalvingCache = Number(photoHalving);
+ let imgStack;
+ const divider = 3;
+ switch (picHalvingCache) {
+ case 2:
+ stack.layoutHorizontally();
+ imgStack = stack.addStack();
+ imgStack.size = new Size(widgetWidth / 2, widgetHeight);
+ await this.addStackImg(imgRes, imgStack);
+ //
+ stack.addSpacer(divider);
+ imgStack = stack.addStack();
+ imgStack.size = new Size(widgetWidth / 2, widgetHeight);
+ await this.addStackImg(imgRes, imgStack);
+ break;
+
+ case 3:
+ stack.layoutHorizontally();
+ imgStack = stack.addStack();
+ imgStack.size = new Size(widgetWidth * 0.6, widgetHeight);
+ await this.addStackImg(imgRes, imgStack);
+ //
+ stack.addSpacer(divider);
+ //
+ imgStack = stack.addStack();
+ imgStack.layoutVertically();
+ let stack_3_1 = imgStack.addStack();
+ stack_3_1.size = new Size(widgetWidth * 0.4, widgetHeight / 2);
+ await this.addStackImg(imgRes, stack_3_1);
+ //
+ imgStack.addSpacer(divider);
+ let stack_3_2 = imgStack.addStack();
+ stack_3_2.size = new Size(widgetWidth * 0.4, widgetHeight / 2);
+ await this.addStackImg(imgRes, stack_3_2);
+ break;
+
+ case 4:
+ stack.layoutVertically();
+ imgStack = stack.addStack();
+ imgStack.layoutHorizontally();
+ let stack_4_1 = imgStack.addStack();
+ stack_4_1.size = new Size(widgetWidth / 2, widgetHeight / 2);
+ await this.addStackImg(imgRes, stack_4_1);
+ //
+ imgStack.addSpacer(divider);
+ let stack_4_2 = imgStack.addStack();
+ stack_4_2.size = new Size(widgetWidth / 2, widgetHeight / 2);
+ await this.addStackImg(imgRes, stack_4_2);
+ //
+ stack.addSpacer(divider);
+ imgStack = stack.addStack();
+ imgStack.layoutHorizontally();
+ let stack_4_3 = imgStack.addStack();
+ stack_4_3.size = new Size(widgetWidth / 2, widgetHeight / 2);
+ await this.addStackImg(imgRes, stack_4_3);
+ //
+ imgStack.addSpacer(divider);
+ let stack_4_4 = imgStack.addStack();
+ stack_4_4.size = new Size(widgetWidth / 2, widgetHeight / 2);
+ await this.addStackImg(imgRes, stack_4_4);
+ break;
+
+ default:
+ stack.layoutVertically();
+ imgStack = stack.addStack();
+ imgStack.size = new Size(widgetWidth, widgetHeight);
+ await this.addStackImg(imgRes, imgStack);
+ break;
+ }
+ //=================================
+ stack.addSpacer();
+ return widget;
+ }
+
+ addStackImg = async (imgRes, imgStack) => {
+ if (imgRes && imgRes.length > 0) {
+ const index = parseInt(Math.random() * imgRes.length)
+ let imgUrl = imgRes[index];
+ imgRes.splice(index, 1);
+ imgStack.url = imgUrl;
+ let img = await this.getImageByUrl(imgUrl, 'mirror', true);
+ let imgSpan = imgStack.addImage(img);
+ imgSpan.applyFillingContentMode();
+ }
+ }
+
+ // --------------------------NET START--------------------------
+
+ // --------------------------NET END--------------------------
+
+}
+
+await new Widget(Script.name()).run();
+
+
+// =================================================================================
+// =================================================================================
+async function downloadLSPDependency() {
+ let fm = FileManager.local();
+ const fileName = fm.joinPath(fm.documentsDirectory(), `LSP/${Script.name()}/settings.json`);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ const use_github = JSON.parse(cacheString)['use_github'];
+ const dependencyURL = `${use_github ? remoteGithubRoot : remoteHomeLandRoot}/_LSP.js`;
+ const update = needUpdateDependency();
+ if (isDev) {
+ const iCloudPath = FileManager.iCloud().documentsDirectory();
+ const localIcloudDependencyExit = fm.isFileStoredIniCloud(`${iCloudPath}/_LSP.js`);
+ const localDependencyExit = fm.fileExists(`${rootDir}/_LSP.js`);
+ const fileExist = localIcloudDependencyExit || localDependencyExit;
+ console.log(`🚀 DEV开发依赖文件${fileExist ? '已存在 ✅' : '不存在 🚫'}`);
+ if (!fileExist || update) {
+ console.log(`🤖 DEV 开始${update ? '更新' + dependencyLSP : '下载'}依赖~`);
+ keySave('VERSION', dependencyLSP);
+ await downloadFile2Scriptable('_LSP', dependencyURL);
+ }
+ return;
+ }
+
+ //////////////////////////////////////////////////////////
+ console.log(`----------------------------------------`);
+ const remoteDependencyExit = fm.fileExists(`${cacheDir}/_LSP.js`);
+ console.log(`🚀 RELEASE依赖文件${remoteDependencyExit ? '已存在 ✅' : '不存在 🚫'}`);
+ // ------------------------------
+ if (!remoteDependencyExit || update) { // 下载依赖
+ // 创建根目录
+ if (!fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir, true);
+ }
+ // 下载
+ console.log(`🤖 RELEASE开始${update ? '更新' : '下载'}依赖~`);
+ console.log(`----------------------------------------`);
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ fm.write(fm.joinPath(cacheDir, '/_LSP.js'), moduleJs);
+ keySave('VERSION', dependencyLSP);
+ console.log('✅ LSP远程依赖环境下载成功!');
+ console.log(`----------------------------------------`);
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ console.log(`----------------------------------------`);
+ }
+ }
+}
+
+/**
+ * 获取保存的文件名
+ * @param {*} fileName
+ * @returns
+ */
+function getSaveFileName(fileName) {
+ const hasSuffix = fileName.lastIndexOf(".") + 1;
+ return !hasSuffix ? `${fileName}.js` : fileName;
+};
+
+/**
+ * 保存文件到Scriptable软件目录,app可看到
+ * @param {*} fileName
+ * @param {*} content
+ * @returns
+ */
+function saveFile2Scriptable(fileName, content) {
+ try {
+ const fm = FileManager.iCloud();
+ let fileSimpleName = getSaveFileName(fileName);
+ const filePath = fm.joinPath(fm.documentsDirectory(), fileSimpleName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+/**
+ * 下载js文件到Scriptable软件目录
+ * @param {*} moduleName 名称
+ * @param {*} url 在线地址
+ * @returns
+ */
+async function downloadFile2Scriptable(moduleName, url) {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return saveFile2Scriptable(`${moduleName}`, content);
+};
+
+/**
+ * 是否需要更新依赖版本
+ */
+function needUpdateDependency() {
+ return dependencyLSP != keyGet('VERSION');
+};
+
+function keySave(cacheKey, cache) {
+ if (cache) {
+ Keychain.set(Script.name() + cacheKey, cache);
+ }
+}
+
+function keyGet(cacheKey, defaultValue = '') {
+ if (Keychain.contains(Script.name() + cacheKey)) {
+ return Keychain.get(Script.name() + cacheKey);
+ } else {
+ return defaultValue;
+ }
+}
+// =================================================================================
+// =================================================================================
\ No newline at end of file
diff --git "a/\345\233\276\347\211\207\350\275\256\346\222\255/WechatIMG557.jpeg" "b/\345\233\276\347\211\207\350\275\256\346\222\255/WechatIMG557.jpeg"
deleted file mode 100644
index 036f40d..0000000
Binary files "a/\345\233\276\347\211\207\350\275\256\346\222\255/WechatIMG557.jpeg" and /dev/null differ
diff --git "a/\345\233\276\347\211\207\350\275\256\346\222\255/WechatIMG559.jpeg" "b/\345\233\276\347\211\207\350\275\256\346\222\255/WechatIMG559.jpeg"
deleted file mode 100644
index e0254cd..0000000
Binary files "a/\345\233\276\347\211\207\350\275\256\346\222\255/WechatIMG559.jpeg" and /dev/null differ
diff --git "a/\345\233\276\347\211\207\350\275\256\346\222\255/\347\275\221\347\273\234\345\233\276\347\211\207\350\275\256\346\222\255.js" "b/\345\233\276\347\211\207\350\275\256\346\222\255/\347\275\221\347\273\234\345\233\276\347\211\207\350\275\256\346\222\255.js"
deleted file mode 100644
index a37ec03..0000000
--- "a/\345\233\276\347\211\207\350\275\256\346\222\255/\347\275\221\347\273\234\345\233\276\347\211\207\350\275\256\346\222\255.js"
+++ /dev/null
@@ -1,275 +0,0 @@
-// Variables used by Scriptable.
-// These must be at the very top of the file. Do not edit.
-// icon-color: blue; icon-glyph: user-astronaut;
-/**
-* Author:LSP
-* Date:2021-03-16
-* 公众号:杂货万事屋
-*/
-// @导入引用开发环境
-if (typeof require === 'undefined') require = importModule
-const { Base } = require("./lsp环境")
-
-// @小组件配置
-const widgetConfigs = {
- imgArr: [
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206742/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206743/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206744/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206745/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206746/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206747/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206748/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206749/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206750/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206751/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206752/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206753/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206754/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206755/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206756/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206757/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206758/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206759/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206760/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206761/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206762/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206763/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206764/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/333206765/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353942/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353943/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353944/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353945/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353946/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353947/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353948/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353949/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353950/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353951/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353952/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353953/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353954/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353955/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353956/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353957/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353958/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353959/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353960/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353961/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353962/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353963/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353964/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353965/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353966/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353967/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353968/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353969/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353970/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353971/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353972/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353973/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353974/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353975/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353976/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353977/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353978/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353979/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353980/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/369353981/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622238/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622239/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622240/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622241/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622242/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622243/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622244/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622245/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622246/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622247/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622248/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622249/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622250/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622251/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622252/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622253/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622254/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622255/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622256/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622257/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622258/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622259/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622260/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/378622261/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190307/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190308/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190309/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190310/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190311/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190312/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190313/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190314/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190315/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190316/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190317/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190318/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190319/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190320/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190321/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190322/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190323/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190324/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190325/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190326/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190327/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190328/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190329/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/3190330/iPhone/sticker@2x.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/46993/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/46994/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/46995/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/46996/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/46997/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/46998/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/46999/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47000/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47001/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47002/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47003/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47004/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47005/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47006/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47007/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47008/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47009/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47010/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47011/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47012/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47013/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47014/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47015/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47016/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47017/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47018/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47019/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47020/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47021/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47022/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47023/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47024/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47025/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47026/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47027/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47028/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47029/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47030/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47031/android/sticker.png",
- "https://stickershop.line-scdn.net/stickershop/v1/sticker/47032/android/sticker.png"
- ],
-
- // 打开更新,直接同步脚本
- openDownload: false,
- // 是否使用GitHub仓库地址同步
- useGithub: false,
- // 缓存刷新时间--估算(单位:分钟)
- refreshInterval: 30,
-
- // 透明背景图片
- selectPicBg: false,
- // 纯色背景模式
- colorBgMode: true,
- // 组件背景色
- bgColor: new Color("#1F2932"),
-
- padding: {
- top: 0, // 上边距
- left: 0, // 左边距
- bottom: 0, // 底边距
- right: 0, // 右边距
- },
-
- // 预览模式:0:小尺寸,1:中等尺寸,2:大尺寸,负数:不预览
- previewMode: 0,
-}
-
-
-// @定义小组件
-class Widget extends Base {
- constructor(scriptName) {
- super(scriptName)
- // 初始化其他变量
- this.setSelectPicBg(widgetConfigs.selectPicBg)
- this.setColorBgMode(widgetConfigs.colorBgMode, widgetConfigs.bgColor)
- this.paddingSetting(Object.assign(widgetConfigs.padding))
- this.refreshIntervalTime(widgetConfigs.refreshInterval)
- this.setPreViewSizeMode(widgetConfigs.previewMode)
- }
-
- /**
- * 组件渲染
- */
- async renderUI() {
- //-------------------------------------
- const widget = new ListWidget()
- //-------------------------------------
-
- const imgUrl = this.getRandowArrValue(widgetConfigs.imgArr)
- const img = await this.getImageByUrl(imgUrl)
- const imgStack = widget.addStack()
- widget.addImage(img)
-
- //-------------------------------------
- return widget
- //-------------------------------------
- }
-
- //-------------------------------------
- /**
- * 下载更新
- */
- async downloadUpdate() {
- let files = FileManager.local()
- const iCloudInUse = files.isFileStoredIniCloud(module.filename)
- files = iCloudInUse ? FileManager.iCloud() : files
- let message = ''
- try {
- let downloadURL = "https://gitee.com/enjoyee/scriptable/raw/master/%E6%96%B0%E7%B3%BB%E5%88%97/%E7%BD%91%E7%BB%9C%E5%9B%BE%E7%89%87%E8%BD%AE%E6%92%AD.js"
- if (widgetConfigs.useGithub) {
- downloadURL = "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/%E5%9B%BE%E7%89%87%E8%BD%AE%E6%92%AD/%E7%BD%91%E7%BB%9C%E5%9B%BE%E7%89%87%E8%BD%AE%E6%92%AD.js"
- }
- const req = new Request(downloadURL)
- const codeString = await req.loadString()
- files.writeString(module.filename, codeString)
- message = "脚本已更新,请退出脚本重新进入运行生效。"
- } catch {
- message = "更新失败,请稍后再试。"
- }
- const options = ["好的"]
- await this.generateAlert(message, options)
- Script.complete()
- }
-
- //-------------------------------------
- /**
- * @渲染小组件
- */
- async render() {
- // 下载更新
- if (widgetConfigs.openDownload && config.runsInApp) {
- const message = "同步远程脚本?"
- const options = ["运行脚本", "下载脚本"]
- let typeIndex = await this.generateAlert(message, options)
- if (typeIndex == 1) {
- await this.downloadUpdate()
- } else {
- return await this.renderUI()
- }
- } else {
- return await this.renderUI()
- }
- }
-}
-
-// @运行测试
-const { Running } = require("./lsp环境")
-await Running(Widget, Script.name())
diff --git "a/\345\244\232\346\240\267\345\274\217\345\275\251\344\272\221\345\244\251\346\260\224/WechatIMG491.jpeg" "b/\345\244\232\346\240\267\345\274\217\345\275\251\344\272\221\345\244\251\346\260\224/WechatIMG491.jpeg"
deleted file mode 100644
index 53c6034..0000000
Binary files "a/\345\244\232\346\240\267\345\274\217\345\275\251\344\272\221\345\244\251\346\260\224/WechatIMG491.jpeg" and /dev/null differ
diff --git "a/\345\244\232\346\240\267\345\274\217\345\275\251\344\272\221\345\244\251\346\260\224/material_weather.js" "b/\345\244\232\346\240\267\345\274\217\345\275\251\344\272\221\345\244\251\346\260\224/material_weather.js"
deleted file mode 100644
index 87dcde6..0000000
--- "a/\345\244\232\346\240\267\345\274\217\345\275\251\344\272\221\345\244\251\346\260\224/material_weather.js"
+++ /dev/null
@@ -1,1166 +0,0 @@
-// Variables used by Scriptable.
-// These must be at the very top of the file. Do not edit.
-// icon-color: blue; icon-glyph: user-astronaut;
-/**
-* Author:LSP
-* Date:2021-09-25
-*/
-// @导入引用开发环境
-if (typeof require === 'undefined') require = importModule
-const { Base } = require("./lsp环境")
-
-// @小组件配置
-const widgetConfigs = {
- // 打开更新,直接同步脚本
- openDownload: true,
-
- // 彩云key
- apiKey: "",
-
- // 农历api,https://www.mxnzp.com/doc/detail?id=1
- lunarAppid: "jdtjpaqlvaxmpsfi", // 农历相关apikey
- lunarAppSecret: "NDM2dDFHcml6V21QcEhZSUxBZldQQT09", // 农历相关apikey
-
- // 是否是iPhone12mini
- isIphone12Mini: false,
- // 缓存刷新时间--估算(单位:分钟)
- refreshInterval: 10,
-
- // 组件样式:1、2(选择样式2推荐打开透明背景开关【selectPicBg:true】)
- widgetStyle: 1,
- // 组件背景样式:1、2、3、4、5、6
- widgetUIBg: 6,
- // 组件天气icon样式:1、2、3、4、5(开启useSF的话则此选项无效)
- widgetUIIcon: 5,
- // 是否使用SF系统天气图标
- useSF: false,
-
- // 是否显示定位
- showLocation: true,
- // 是否显示具体天气文本
- showWeatherDesc: true,
- // 是否显示农历
- showLunar: true,
- // 是否显示更新时间
- showUpdateTime: true,
- // 备用仓库地址
- useGithub: false,
-
- selectPicBg: false, // 透明背景图片
- colorBgMode: false, // 纯色背景模式
- bgColor: Color.black(), // 背景色
-
- // 位置,可以不进行定位,或者定位为出错的时候使用
- location: {
- "latitude": undefined,
- "longitude": undefined,
- "locality": undefined,
- "subLocality": undefined
- },
- // 锁定地区,直接使用上述填写的地址信息不进行定位
- lockLocation: false,
- // 地区
- locale: "zh-cn",
-
- padding: {
- top: 0, // 上边距
- left: 0, // 左边距
- bottom: 0, // 底边距
- right: 0, // 右边距
- },
-
- // 英文字体
- enFontUrl: "https://mashangkaifa.coding.net/p/coding-code-guide/d/coding-code-guide/git/raw/master/HelveticaNeue-Thin.otf",
-
- // 预览模式:0:小尺寸,1:中等尺寸,2:大尺寸,负数:不预览
- previewMode: 1,
-
- //**********************************************************************
- // 天气描述
- weatherDesc: {
- CLEAR_DAY: "Sunny",
- CLEAR_NIGHT: "Sunny",
- PARTLY_CLOUDY_DAY: "Cloudy",
- PARTLY_CLOUDY_NIGHT: "Cloudy",
- CLOUDY: "Cloudy",
- CLOUDY_NIGHT: "Cloudy",
- LIGHT_HAZE: "Haze",
- LIGHT_HAZE_NIGHT: "Haze",
- MODERATE_HAZE: "Haze",
- MODERATE_HAZE_NIGHT: "Haze",
- HEAVY_HAZE: "Haze",
- HEAVY_HAZE_NIGHT: "Haze",
- LIGHT_RAIN: "Rain",
- MODERATE_RAIN: "Rain",
- HEAVY_RAIN: "Rain",
- STORM_RAIN: "Rain",
- FOG: "Fog",
- LIGHT_SNOW: "Snow",
- MODERATE_SNOW: "Snow",
- HEAVY_SNOW: "Snow",
- STORM_SNOW: "Snow",
- DUST: "Dust",
- SAND: "Sand",
- WIND: "Wind",
- },
- // 自定义天气对应的icon-->1
- weatherOneIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2020/12/08/rpVVhD.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s1.ax1x.com/2020/10/26/BukPhR.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s1.ax1x.com/2020/10/26/BuQHN6.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s1.ax1x.com/2020/10/26/BukcbF.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2020/12/10/ripz8J.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2020/12/10/ripz8J.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/15/s009Mj.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/15/s00dOA.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/15/s009Mj.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/15/s00dOA.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/15/s009Mj.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/15/s00dOA.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2020/12/15/rMkQVx.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2020/12/15/rMkBIf.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2020/12/15/rMk6zQ.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2020/12/15/rMk6zQ.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2020/12/15/rMAYkV.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2020/12/08/rpupes.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2020/12/08/rpupes.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2020/12/15/rMEeBR.png", // 大风 WIND
- },
- // 自定义天气对应的icon-->2
- weatherTwoIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/23/s7tKd1.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tli6.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/23/s7t3RO.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "hhttps://s3.ax1x.com/2021/01/23/s7tJQe.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/23/s7tdot.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tdot.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/23/s7NCOH.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/23/s7NCOH.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/23/s7NCOH.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/23/s7NCOH.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/23/s7Nmp8.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/23/s7Nmp8.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/23/s7Nmp8.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/23/s7Nmp8.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/23/s7txfK.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/23/s7txfK.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/23/s7txfK.png", // 大风 WIND
- },
- // 自定义天气对应的icon-->3
- weatherThreeIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/24/sHAD1K.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/24/sHABp6.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/24/sHAwfx.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAdt1.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/24/sHAakR.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAr6O.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/24/sHA6ne.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/24/sHAc0H.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/24/sHARAA.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/24/sHARAA.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/24/sHAg7d.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/24/sHAg7d.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/24/sHAWtI.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/24/sHAWtI.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/24/sHVnGq.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/24/sHVnGq.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/24/sHVuR0.png", // 大风 WIND
- },
- // 自定义天气对应的icon-->4
- weatherFourIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/26/svnyF0.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/26/svnfOJ.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/26/svn2SU.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/26/svnRlF.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/26/svnroq.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/26/svnroq.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/26/svnWy4.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svncWT.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/26/svnWy4.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svncWT.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/26/svnWy4.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svncWT.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/26/svnBes.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/26/svn5wR.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/26/svn4m9.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/26/svnDwn.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/26/svn6YV.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/26/svnwLj.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/26/svnwLj.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/26/svnwLj.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/26/svnwLj.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/26/svuh38.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/26/svuh38.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/26/svndyQ.png", // 大风 WIND
- },
- // 自定义天气对应的icon-->5
- weatherFiveIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/26/svubEn.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/26/svuqNq.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/26/svu5jg.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/26/svuTBj.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/26/svu4gS.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/26/svu4gS.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/26/svuR4P.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/26/svuR4P.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/26/svuR4P.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/26/svuR4P.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/26/svu2Nt.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/26/svuouQ.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/26/svuouQ.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/26/svuouQ.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/26/svuouQ.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/26/svuh38.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/26/svuh38.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/26/svuL40.png", // 大风 WIND
- },
- // SF对应的天气icon
- weatherSFIcos: {
- CLEAR_DAY: "sun.max.fill", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "moon.stars.fill", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "cloud.sun.fill", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "cloud.moon.fill", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "cloud.fill", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "cloud.fill", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "sun.haze.fill", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "sun.haze.fill", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "sun.haze.fill", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "sun.haze.fill", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "sun.haze.fill", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "sun.haze.fill", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "cloud.drizzle.fill", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "cloud.drizzle.fill", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "cloud.rain.fill", // 大雨 HEAVY_RAIN
- STORM_RAIN: "cloud.heavyrain.fill", // 暴雨 STORM_RAIN
- FOG: "cloud.fog.fill", // 雾 FOG
- LIGHT_SNOW: "cloud.snow.fill", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "cloud.snow.fill", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "cloud.snow.fill", // 大雪 HEAVY_SNOW
- STORM_SNOW: "cloud.snow.fill", // 暴雪 STORM_SNOW
- DUST: "sun.dust.fill", // 浮尘 DUST
- SAND: "smoke.fill", // 沙尘 SAND
- WIND: "wind", // 大风 WIND
- },
- //**********************************************************************
- // 天气对应的背景->1
- weatherBgOneUrls: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/23/s78p4S.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/23/s73zAf.jpg", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/23/s73vHP.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s73zAf.jpg", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/23/s73jBt.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s73zAf.jpg", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/23/s78SN8.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s73zAf.jpg", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/23/s78SN8.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s73zAf.jpg", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/23/s78SN8.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s73zAf.jpg", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/23/s78C9g.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/23/s78C9g.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/23/s78C9g.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/23/s78C9g.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/23/s78SN8.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/23/s78P3Q.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/23/s78P3Q.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/23/s78P3Q.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/23/s78P3Q.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/23/s78SN8.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/23/s78SN8.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/23/s78icj.jpg", // 大风 WIND
- },
- // 天气对应的背景->2
- weatherBgTwoUrls: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/23/s74MGT.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/23/s74maq.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/23/s74nI0.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s74KiV.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/23/s74QRU.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s74KiV.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/23/s74eZn.jpg", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s74KiV.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/23/s74eZn.jpg", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s74KiV.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/23/s74eZn.jpg", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s74KiV.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/23/s74lzF.jpg", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/23/s74lzF.jpg", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/23/s74lzF.jpg", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/23/s74lzF.jpg", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/23/s74eZn.jpg", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/23/s748sJ.jpg", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/23/s748sJ.jpg", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/23/s748sJ.jpg", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/23/s748sJ.jpg", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/23/s74eZn.jpg", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/23/s74eZn.jpg", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/23/s743M4.jpg", // 大风 WIND
- },
- // 天气对应的背景->3
- weatherBgThreeUrls: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/23/s75PT1.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/23/s75PT1.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/23/s75VSO.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s75VSO.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/23/s75FFx.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s75FFx.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/23/s75kY6.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s75kY6.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/23/s75kY6.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s75kY6.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/23/s75kY6.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s75kY6.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/23/s75AfK.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/23/s75AfK.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/23/s75AfK.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/23/s75AfK.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/23/s75kY6.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/23/s75e6e.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/23/s75e6e.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/23/s75e6e.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/23/s75e6e.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/23/s75kY6.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/23/s75kY6.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/23/s75ZlD.png", // 大风 WIND
- },
- // 天气对应的背景->4
- weatherBgFourUrls: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/23/s7Iy5t.jpg", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/23/s7I0DH.jpg", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/23/s7IBbd.jpg", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s7IsUI.jpg", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/23/s7IBbd.jpg", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s7IsUI.jpg", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/23/s7IwKe.jpg", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7IwKe.jpg", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/23/s7IwKe.jpg", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7IwKe.jpg", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/23/s7IwKe.jpg", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7IwKe.jpg", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/23/s7IcPP.jpg", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/23/s7IcPP.jpg", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/23/s7IcPP.jpg", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/23/s7IcPP.jpg", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/23/s7IwKe.jpg", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/23/s748sJ.jpg", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/23/s748sJ.jpg", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/23/s748sJ.jpg", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/23/s748sJ.jpg", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/23/s7IwKe.jpg", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/23/s7IwKe.jpg", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/23/s743M4.jpg", // 大风 WIND
- },
- // 天气对应的背景->5
- weatherBgFiveUrls: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/23/s7o5QO.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/23/s7ofW6.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/23/s7oIyD.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s7oIyD.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/23/s7oIyD.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s7oIyD.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/23/s7o4SK.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7o4SK.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/23/s7o4SK.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7o4SK.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/23/s7o4SK.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7o4SK.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/23/s7oHwd.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/23/s7oHwd.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/23/s7oHwd.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/23/s7oHwd.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/23/s7ooOe.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/23/s7obTA.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/23/s7obTA.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/23/s7obTA.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/23/s7obTA.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/23/s7o4SK.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/23/s7o4SK.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/23/s7ooOe.png", // 大风 WIND
- },
- // 天气对应的背景->6
- weatherBgSixUrls: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/23/s7xrZV.jpg", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/23/s7xsaT.jpg", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/23/s7xyIU.jpg", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s7xciF.jpg", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/23/s7xyIU.jpg", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s7xciF.jpg", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/23/s7xgG4.jpg", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7xgG4.jpg", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/23/s7xgG4.jpg", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7xgG4.jpg", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/23/s7xgG4.jpg", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7xgG4.jpg", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/23/s7x2RJ.jpg", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/23/s7x2RJ.jpg", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/23/s7x2RJ.jpg", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/23/s7x2RJ.jpg", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/23/s7xBq0.jpg", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/23/s7xRz9.jpg", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/23/s7xRz9.jpg", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/23/s7xRz9.jpg", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/23/s7xRz9.jpg", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/23/s7xgG4.jpg", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/23/s7xgG4.jpg", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/23/s7xfMR.jpg", // 大风 WIND
- },
- //**********************************************************************
-}
-
-
-// @定义小组件
-class Widget extends Base {
- constructor(scriptName) {
- super(scriptName)
- // 初始化其他变量
- this.setSelectPicBg(widgetConfigs.selectPicBg)
- this.setColorBgMode(widgetConfigs.colorBgMode, widgetConfigs.bgColor)
- this.paddingSetting(Object.assign(widgetConfigs.padding))
- this.refreshIntervalTime(widgetConfigs.refreshInterval)
- this.setPreViewSizeMode(widgetConfigs.previewMode)
- }
-
- /**
- * 获取彩云天气信息
- */
- async getWeather(dailysteps = 7) {
- // 获取位置
- let location = widgetConfigs.location
- if (!widgetConfigs.lockLocation) {
- location = await this.getLocation(widgetConfigs.locale)
- widgetConfigs.location = location
- }
- // 小时
- const hour = new Date().getHours()
-
- const apiCacheKeyName = 'CaiYunKey'
- let apiKey = widgetConfigs.apiKey
- if(apiKey.length == 0) {
- apiKey = this.loadStringCache(apiCacheKeyName)
- } else {
- this.saveStringCache(apiCacheKeyName, apiKey)
- }
- // 彩云天气域名
- const url = `https://api.caiyunapp.com/v2.5/${apiKey}/${location.longitude},${location.latitude}/weather.json?alert=true&dailysteps=${dailysteps}`
- const weatherJsonData = await this.httpGet(url, true, null, 'weatherMultiInfo')
-
- // 天气数据
- let weatherInfo = {}
- if (weatherJsonData.status == "ok") {
- log("天气数据请求成功")
-
- // 天气突发预警
- let alertWeather = weatherJsonData.result.alert.content
- if (alertWeather.length > 0) {
- const alertWeatherTitle = alertWeather[0].title
- log(`突发的天气预警==>${alertWeatherTitle}`)
- weatherInfo.alertWeatherTitle = alertWeatherTitle
- }
-
- // 全部温度
- weatherInfo.daily = weatherJsonData.result.daily
- // 温度范围
- const temperatureData = weatherInfo.daily.temperature[0]
- // 最低温度
- const minTemperature = temperatureData.min
- // 最高温度
- const maxTemperature = temperatureData.max
- weatherInfo.minTemperature = Math.round(minTemperature)
- weatherInfo.maxTemperature = Math.round(maxTemperature)
-
- // 体感温度
- const bodyFeelingTemperature = weatherJsonData.result.realtime.apparent_temperature
- weatherInfo.bodyFeelingTemperature = Math.floor(bodyFeelingTemperature)
-
- // 显示温度
- const temperature = weatherJsonData.result.realtime.temperature
- weatherInfo.temperature = Math.floor(temperature)
-
- // 天气状况 weatherIcos[weatherIco]
- let weather = weatherJsonData.result.realtime.skycon
- let night = hour - 12 >= 7
- let nightCloudy = night && weather == "CLOUDY"
- let nightLightHaze = night && weather == "LIGHT_HAZE"
- let nightModerateHaze = night && weather == "MODERATE_HAZE"
- let nightHeavyHaze = night && weather == "HEAVY_HAZE"
- if (nightCloudy) {
- weather = "CLOUDY_NIGHT"
- }
- if (nightLightHaze) {
- weather = "LIGHT_HAZE_NIGHT"
- }
- if (nightModerateHaze) {
- weather = "MODERATE_HAZE_NIGHT"
- }
- if (nightHeavyHaze) {
- weather = "HEAVY_HAZE_NIGHT"
- }
- weatherInfo.weatherIco = weather
- log(`天气:${weather}`)
-
- // 天气描述
- const weatherDesc = weatherJsonData.result.forecast_keypoint
- weatherInfo.weatherDesc = weatherDesc.replace("。还在加班么?", ",")
- log("天气预告==>" + weatherDesc)
-
- // 降水率
- weatherInfo.probability = weatherJsonData.result.minutely.probability
-
- // 相对湿度
- const humidity = (Math.floor(weatherJsonData.result.realtime.humidity * 100)) + "%"
- weatherInfo.humidity = humidity
-
- // 舒适指数
- const comfort = weatherJsonData.result.realtime.life_index.comfort.desc
- weatherInfo.comfort = comfort
- log(`舒适指数:${comfort}`)
-
- // 紫外线指数
- const ultraviolet = weatherJsonData.result.realtime.life_index.ultraviolet.desc
- weatherInfo.ultraviolet = ultraviolet
-
- // 空气质量
- const aqi = weatherJsonData.result.realtime.air_quality.aqi.chn
- const aqiInfo = this.airQuality(aqi)
- weatherInfo.aqiInfo = aqiInfo
-
- // 日出日落
- const astro = weatherJsonData.result.daily.astro[0]
- // 日出
- const sunrise = astro.sunrise.time
- // 日落
- const sunset = astro.sunset.time
- weatherInfo.sunrise = sunrise.toString()
- weatherInfo.sunset = sunset.toString()
-
- // 小时预告
- let hourlyArr = []
- const hourlyData = weatherJsonData.result.hourly
- const temperatureArr = hourlyData.temperature
- const temperatureSkyconArr = hourlyData.skycon
- for (var i = 0; i < temperatureArr.length; i++) {
- let hourlyObj = {}
- hourlyObj.datetime = temperatureArr[i].datetime
- hourlyObj.temperature = Math.round(temperatureArr[i].value)
-
- let weather = temperatureSkyconArr[i].value
- if (nightCloudy) {
- weather = "CLOUDY_NIGHT"
- }
- hourlyObj.skycon = `${weather}`
- hourlyArr.push(hourlyObj)
- }
- weatherInfo.hourly = hourlyArr
- } else {
- log(`请求彩云天气出错:${weatherJsonData.status}`)
- }
-
- return weatherInfo
- }
-
-
- /**
- * 空气指标质量
- * @param {number} levelNum 控制aiq
- */
- airQuality(levelNum) {
- // 0-50 优,51-100 良,101-150 轻度污染,151-200 中度污染
- // 201-300 重度污染,>300 严重污染
- if (levelNum >= 0 && levelNum <= 50) {
- return "优秀"
- } else if (levelNum >= 51 && levelNum <= 100) {
- return "良好"
- } else if (levelNum >= 101 && levelNum <= 150) {
- return "轻度"
- } else if (levelNum >= 151 && levelNum <= 200) {
- return "中度"
- } else if (levelNum >= 201 && levelNum <= 300) {
- return "重度"
- } else {
- return "严重"
- }
- }
-
- /**
- * 获取农历信息
- */
- async getLunar() {
- // 日期
- const currentDate = new Date()
- const dateStr = this.getDateStr(currentDate, 'yyyyMMdd', widgetConfigs.locale)
- // 日历
- const lunarUrl = `https://www.mxnzp.com/api/holiday/single/${dateStr}?app_id=${widgetConfigs.lunarAppid}&app_secret=${widgetConfigs.lunarAppSecret}`
- const lunarJsonData = await this.httpGet(lunarUrl, true, null, 'lunar')
- const data = lunarJsonData.data
- return {
- yearTips: data.yearTips,
- infoLunarText: data.lunarCalendar,
- holidayText: data.solarTerms,
- typeDes: data.typeDes,
- chineseZodiac: data.chineseZodiac,
- avoid: data.avoid,
- suit: data.suit,
- weekOfYear: data.dayOfYear,
- weekOfYear: data.weekOfYear,
- }
- }
-
- /**
- * 筛选日程
- * @param {CalendarEvent} schedule 日程
- * @return 返回符合条件的日程
- */
- shouldShowSchedule(schedule) {
- const currentDate = new Date()
- // 被取消的日程不用显示
- if (schedule.title.startsWith("Canceled:")) { return false }
- // 与当前时间做比较
- let timeInterval = schedule.endDate.getTime() > currentDate.getTime()
- // 返回全天跟还没过去的
- return timeInterval && !schedule.isAllDay
- }
-
- /**
- * 获取手机日程
- */
- async getSchedules() {
- let showSchedules = []
- const todaySchedules = await CalendarEvent.today([])
- for (const schedule of todaySchedules) {
- if (this.shouldShowSchedule(schedule)) {
- // 日程
- let scheduleObj = {}
- // 开始时间
- const startDate = schedule.startDate
- // 年
- const startYear = startDate.getFullYear()
- // 月
- const month = startDate.getMonth() + 1
- // 日
- const day = startDate.getDate()
- // 开始小时
- const startHour = ("0" + startDate.getHours()).slice(-2)
- // 开始分钟
- const startMinute = ("0" + startDate.getMinutes()).slice(-2)
-
- // 结束时间
- const endDate = schedule.endDate
- // 结束小时
- const endHour = ("0" + endDate.getHours()).slice(-2)
- // 结束分钟
- const endMinute = ("0" + endDate.getMinutes()).slice(-2)
-
- // 时间安排展示
- let timeText = month + "月" + day + "日 " + startHour + ":" + startMinute + "~" + endHour + ":" + endMinute
- if (schedule.isAllDay) {
- timeText = "全天"
- }
-
- // 构造格式后的日程
- scheduleObj.title = schedule.title
- scheduleObj.timeText = timeText
- log(`>>日程:${scheduleObj.title} ==> ${timeText}`)
- showSchedules.push(scheduleObj)
- }
- }
-
- return showSchedules
- }
-
- /**
- * 下载更新
- */
- async downloadUpdate() {
- let files = FileManager.local()
- const iCloudInUse = files.isFileStoredIniCloud(module.filename)
- files = iCloudInUse ? FileManager.iCloud() : files
- let message = ''
- try {
- let downloadURL = "https://gitee.com/enjoyee/scriptable/raw/master/%E6%96%B0%E7%B3%BB%E5%88%97/material_weather.js"
- if (widgetConfigs.useGithub) {
- downloadURL = "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/%E5%A4%9A%E6%A0%B7%E5%BC%8F%E5%BD%A9%E4%BA%91%E5%A4%A9%E6%B0%94/material_weather.js"
- }
- const req = new Request(downloadURL)
- const codeString = await req.loadString()
- files.writeString(module.filename, codeString)
- message = "天气脚本已更新,请退出脚本重新进入运行生效。"
- } catch {
- message = "更新失败,请稍后再试。"
- }
- const options = ["好的"]
- await this.generateAlert(message, options)
- Script.complete()
- }
-
- /**
- * 获取天气背景图
- */
- weatherBgUrls() {
- let weatherBgUrls = widgetConfigs.weatherBgOneUrls
- const widgetUIBg = widgetConfigs.widgetUIBg
- if (widgetUIBg == 2) {
- weatherBgUrls = widgetConfigs.weatherBgTwoUrls
- } else if (widgetUIBg == 3) {
- weatherBgUrls = widgetConfigs.weatherBgThreeUrls
- } else if (widgetUIBg == 4) {
- weatherBgUrls = widgetConfigs.weatherBgFourUrls
- } else if (widgetUIBg == 5) {
- weatherBgUrls = widgetConfigs.weatherBgFiveUrls
- } else if (widgetUIBg == 6) {
- weatherBgUrls = widgetConfigs.weatherBgSixUrls
- }
- return weatherBgUrls
- }
-
- /**
- * 获取天气icon
- */
- weatherIcos() {
- let weatherIcos = widgetConfigs.weatherOneIcos
- const widgetUIIcon = widgetConfigs.widgetUIIcon
- if (widgetUIIcon == 2) {
- weatherIcos = widgetConfigs.weatherTwoIcos
- } else if (widgetUIIcon == 3) {
- weatherIcos = widgetConfigs.weatherThreeIcos
- } else if (widgetUIIcon == 4) {
- weatherIcos = widgetConfigs.weatherFourIcos
- } else if (widgetUIIcon == 5) {
- weatherIcos = widgetConfigs.weatherFiveIcos
- }
- return weatherIcos
- }
-
- /**
- * 组件样式1
- */
- async renderUIStyle1() {
- //-------------------------------------
- // 天气对应的背景
- let weatherBgUrls = this.weatherBgUrls()
- // 天气对应的图标
- let weatherIcos = this.weatherIcos()
- //-------------------------------------
- const widget = new ListWidget()
- widget.addSpacer(20)
- const widgetWidth = this.getWidgetWidthSize('中号', widgetConfigs.isIphone12Mini)
- //-------------------------------------
- const currentDate = new Date()
- // 获取天气信息
- const sizeCount = 6
- // 六天内天气
- const weatherInfo = await this.getWeather(sizeCount)
-
- // 当前信息
- const currentInfoStack = widget.addStack()
- currentInfoStack.layoutHorizontally()
- currentInfoStack.addSpacer(15)
- //
- const stackTopFont = Font.systemFont(10)
- const temStack = currentInfoStack.addStack()
- temStack.layoutVertically()
- temStack.addSpacer(10)
- // 定位图标
- let dividerDesc = ''
- const locationStack = temStack.addStack()
- let textWidget = undefined
- if (widgetConfigs.showLocation) {
- // 天气
- locationStack.centerAlignContent()
- locationStack.addSpacer(3)
- const locationImg = await this.getImageByUrl("https://s3.ax1x.com/2021/01/24/sH8Hk6.png")
- const locationImgSpan = locationStack.addImage(locationImg)
- locationImgSpan.imageSize = new Size(10, 10)
- // 定位
- locationStack.addSpacer(7)
- textWidget = locationStack.addText(`${widgetConfigs.location.subLocality}`)
- textWidget.textColor = Color.white()
- textWidget.font = stackTopFont
-
- dividerDesc = ' • '
- }
- // 天气文字
- if (widgetConfigs.showWeatherDesc) {
- textWidget = locationStack.addText(`${dividerDesc}${widgetConfigs.weatherDesc[weatherInfo.weatherIco]}`)
- textWidget.textColor = Color.white()
- textWidget.font = stackTopFont
-
- if (dividerDesc.length == 0) {
- dividerDesc = ' • '
- }
- }
- // 农历
- if (widgetConfigs.showLunar) {
- const lunarInfo = await this.getLunar()
- // 农历信息
- const infoLunarText = lunarInfo.infoLunarText
- const holidayText = lunarInfo.holidayText
- let dateFullText = `${infoLunarText}`
- if (holidayText.length != 0) {
- dateFullText = `${dateFullText} ⊙ ${holidayText}`
- }
- textWidget = locationStack.addText(`${dividerDesc}${dateFullText}`)
- textWidget.textColor = Color.white()
- textWidget.font = stackTopFont
-
- if (dividerDesc.length == 0) {
- dividerDesc = ' • '
- }
- }
- if (widgetConfigs.showUpdateTime) {
- // 更新时间
- const updateText = `${this.getDateStr(new Date(), "HH:mm")} ⊹`
- textWidget = locationStack.addText(`${dividerDesc}${updateText}`)
- textWidget.textColor = Color.white()
- textWidget.font = stackTopFont
-
- if (dividerDesc.length == 0) {
- dividerDesc = ' • '
- }
- }
- locationStack.addSpacer()
- //
- temStack.addSpacer(15)
- let image = await this.drawTextWithCustomFont(widgetConfigs.enFontUrl, `${weatherInfo.temperature}°c`, 40, "FFFFFF", "left")
- let imgSpan = temStack.addImage(image)
- imgSpan.imageSize = new Size(image.size.width / 2, image.size.height / 2)
- imgSpan.leftAlignImage()
- currentInfoStack.addSpacer()
- //------
- const topRightStack = currentInfoStack.addStack()
- topRightStack.layoutVertically()
- topRightStack.addSpacer(20)
- const previewSize = new Size(11, 11)
- //
- let stackWidth = 60
- const comfort = weatherInfo.comfort
- if (comfort.length > 2) {
- stackWidth = 67
- }
- const singleSize = new Size(stackWidth, 0)
- const comfortStack = topRightStack.addStack()
- comfortStack.layoutHorizontally()
- comfortStack.size = singleSize
- let img = await this.getImageByUrl("https://s3.ax1x.com/2021/01/23/sHiv9K.png")
- imgSpan = comfortStack.addImage(img)
- imgSpan.imageSize = previewSize
- comfortStack.addSpacer(5)
- textWidget = comfortStack.addText(`${weatherInfo.comfort}`)
- textWidget.textColor = Color.white()
- textWidget.font = Font.mediumSystemFont(10)
- comfortStack.addSpacer()
- // -----
- topRightStack.addSpacer(5)
- const aqStack = topRightStack.addStack()
- aqStack.layoutHorizontally()
- aqStack.size = singleSize
- img = await this.getImageByUrl("https://s3.ax1x.com/2021/01/23/sHPrZR.png")
- imgSpan = aqStack.addImage(img)
- imgSpan.imageSize = previewSize
- aqStack.addSpacer(6)
- textWidget = aqStack.addText(`${weatherInfo.aqiInfo}`)
- textWidget.textColor = Color.white()
- textWidget.font = Font.mediumSystemFont(10)
- aqStack.addSpacer()
- // -----
- topRightStack.addSpacer(6)
- const rainStack = topRightStack.addStack()
- rainStack.layoutHorizontally()
- rainStack.size = singleSize
- img = await this.getImageByUrl("https://s3.ax1x.com/2021/01/23/sHic0s.png")
- imgSpan = rainStack.addImage(img)
- imgSpan.imageSize = previewSize
- rainStack.addSpacer(8)
- textWidget = rainStack.addText(`${Math.floor(weatherInfo.probability[0] * 100)}%`)
- textWidget.textColor = Color.white()
- textWidget.font = Font.mediumSystemFont(10)
- rainStack.addSpacer()
- topRightStack.addSpacer()
-
- // ========================================================
- // 未来天气信息
- widget.addSpacer(5)
- const weatherInfoStack = widget.addStack()
- weatherInfoStack.layoutHorizontally()
- weatherInfoStack.size = new Size(widgetWidth, 0)
- // 日温度
- const daily = weatherInfo.daily
- // 日温度
- const temperatureArr = daily.temperature
- const perSize = widgetWidth / sizeCount
- for (let index = 0; index < temperatureArr.length; index++) {
- let itemStack = weatherInfoStack.addStack()
- itemStack.size = new Size(perSize, 0)
- itemStack.setPadding(0, 0, 10, 0)
- itemStack.layoutVertically()
- itemStack.centerAlignContent()
-
- // 日期
- let dateStack = itemStack.addStack()
- dateStack.layoutHorizontally()
- dateStack.addSpacer()
- const dailyTemperature = temperatureArr[index]
- let dateText = dailyTemperature.date.slice(8, 10)
- // 替换实时天气icon
- let realtimeIcon = weatherInfo.weatherIco
- if (dateText == currentDate.getDate()) {
- dateText = `今天`
- } else {
- dateText = `${dateText}日`
- realtimeIcon = daily.skycon[index].value
- }
- textWidget = dateStack.addText(dateText)
- textWidget.textColor = Color.white()
- textWidget.font = Font.systemFont(10)
- dateStack.addSpacer()
- itemStack.addSpacer(6)
-
- // 天气图标
- let weatherIco = this.getSFSymbol(widgetConfigs.weatherSFIcos[realtimeIcon])
- if (!widgetConfigs.useSF) {
- weatherIco = await this.getImageByUrl(weatherIcos[realtimeIcon])
- }
- let icoStack = itemStack.addStack()
- icoStack.layoutHorizontally()
- icoStack.addSpacer()
- let imgStack = icoStack.addImage(weatherIco)
- imgStack.imageSize = new Size(22, 22)
- icoStack.addSpacer()
- itemStack.addSpacer(6)
-
- // 温度区间
- let temperatureStack = itemStack.addStack()
- temperatureStack.setPadding(0, 0, 0, 0)
- temperatureStack.layoutHorizontally()
- temperatureStack.addSpacer()
- textWidget = temperatureStack.addText(`${Math.floor(dailyTemperature.min)}/${Math.floor(dailyTemperature.max)}°`)
- textWidget.textColor = Color.white()
- textWidget.font = Font.systemFont(11)
- temperatureStack.addSpacer()
- }
-
- //-------------------------------------
- widget.addSpacer(15)
- const selectPicBg = widgetConfigs.selectPicBg
- this.setSelectPicBg(selectPicBg)
- if (!selectPicBg) {
- // 天气背景
- let bgImg = await this.getImageByUrl(weatherBgUrls[weatherInfo.weatherIco])
- bgImg = await this.loadShadowColor2Image(bgImg, new Color("000", 0.3))
- await this.saveImgCache(this.scriptName, bgImg)
- }
- return widget
- }
-
- /**
- * 组件样式2
- */
- async renderUIStyle2() {
- //-------------------------------------
- // 字体颜色
- const fontColorHex = "FFFFFF"
- //-------------------------------------
- // 天气对应的背景
- let weatherBgUrls = this.weatherBgUrls()
- // 天气对应的图标
- let weatherIcos = this.weatherIcos()
- //-------------------------------------
- // 获取天气信息
- const sizeCount = 6
- // 六天内天气
- const weatherInfo = await this.getWeather(sizeCount)
- // 获取农历信息
- const lunarInfo = await this.getLunar()
- //-------------------------------------
- const widget = new ListWidget()
- //-------------------------------------
- let fontUrl = "https://mashangkaifa.coding.net/p/coding-code-guide/d/coding-code-guide/git/raw/master/harmony-2.otf"
- let image = await this.drawTextWithCustomFont(fontUrl, `${this.getDateStr(new Date(), "EEEE", "en")}`, 40, fontColorHex)
- let imgSpan = widget.addImage(image)
- imgSpan.imageSize = new Size(image.size.width / 2, image.size.height / 2)
- imgSpan.centerAlignImage()
-
- // 日历信息
- widget.addSpacer(10)
- let stack = widget.addStack()
- stack.layoutHorizontally()
- stack.centerAlignContent()
- stack.addSpacer()
- const infoLunarText = lunarInfo.infoLunarText
- const holidayText = lunarInfo.holidayText
- const dateFullText = `${infoLunarText}`
- if (holidayText.length != 0) {
- dateFullText = `${dateFullText} ⊙ ${holidayText}`
- }
- fontUrl = "https://mashangkaifa.coding.net/p/coding-code-guide/d/coding-code-guide/git/raw/master/jf-openhuninn-1.0.ttf"
- let text = `${dateFullText}`
- image = await this.drawTextWithCustomFont(fontUrl, `${text}`, 14, fontColorHex)
- imgSpan = stack.addImage(image)
- imgSpan.imageSize = new Size(image.size.width / 2, image.size.height / 2)
- imgSpan.centerAlignImage()
- // 当前日期
- const dateArr = [
- "January",
- "February",
- "March",
- "April",
- "May",
- "June",
- "July",
- "August",
- "September",
- "October",
- "November",
- "December"
- ]
- const currentDate = new Date()
- fontUrl = "https://mashangkaifa.coding.net/p/coding-code-guide/d/coding-code-guide/git/raw/master/quicksand_regular.ttf"
- text = ` ⊙ ${currentDate.getDate()} ${dateArr[currentDate.getMonth()]}`
- image = await this.drawTextWithCustomFont(fontUrl, `${text}`, 16, fontColorHex)
- imgSpan = stack.addImage(image)
- imgSpan.imageSize = new Size(image.size.width / 2, image.size.height / 2)
- imgSpan.centerAlignImage()
- // 电池信息
- if (holidayText.length == 0) {
- const batteryLevel = Math.floor(Device.batteryLevel() * 100)
- text = ` ⊙ ${batteryLevel}%`
- image = await this.drawTextWithCustomFont(fontUrl, `${text}`, 15, fontColorHex)
- imgSpan = stack.addImage(image)
- imgSpan.imageSize = new Size(image.size.width / 2, image.size.height / 2)
- imgSpan.centerAlignImage()
- }
- stack.addSpacer()
-
- // 当前天气
- //---------
- widget.addSpacer(5)
- stack = widget.addStack()
- stack.layoutHorizontally()
- stack.centerAlignContent()
- stack.addSpacer()
- //---------
- let weatherIco = this.getSFSymbol(widgetConfigs.weatherSFIcos[weatherInfo.weatherIco])
- if (!widgetConfigs.useSF) {
- weatherIco = await this.getImageByUrl(weatherIcos[weatherInfo.weatherIco])
- }
- imgSpan = stack.addImage(weatherIco)
- imgSpan.imageSize = new Size(23, 23)
- imgSpan.centerAlignImage()
- //---------
- stack.addSpacer(10)
- text = `${widgetConfigs.weatherDesc[weatherInfo.weatherIco]} ${weatherInfo.temperature}°`
- image = await this.drawTextWithCustomFont(fontUrl, `${text}`, 16, fontColorHex)
- imgSpan = stack.addImage(image)
- imgSpan.imageSize = new Size(image.size.width / 2, image.size.height / 2)
- imgSpan.centerAlignImage()
- //---------
- // 舒适指数
- stack.addSpacer(10)
- image = await this.getImageByUrl("https://s3.ax1x.com/2021/01/23/sHPrZR.png")
- imgSpan = stack.addImage(image)
- imgSpan.tintColor = new Color(fontColorHex, 0.8)
- imgSpan.imageSize = new Size(14, 14)
- stack.addSpacer(6)
- text = `${weatherInfo.aqiInfo}`
- let textWidget = stack.addText(`${text}`)
- textWidget.textColor = new Color(fontColorHex, 0.8)
- textWidget.font = Font.lightSystemFont(13)
- // 降雨率
- stack.addSpacer(10)
- image = await this.getImageByUrl("https://s3.ax1x.com/2021/01/23/sHic0s.png")
- imgSpan = stack.addImage(image)
- imgSpan.tintColor = new Color(fontColorHex, 0.8)
- imgSpan.imageSize = new Size(14, 14)
- stack.addSpacer(6)
- text = `${Math.floor(weatherInfo.probability[0] * 100)}%`
- textWidget = stack.addText(`${text}`)
- textWidget.textColor = new Color(fontColorHex, 0.8)
- textWidget.font = Font.lightSystemFont(13)
- //---------
- stack.addSpacer()
-
- // 天气预告
- //---------
- widget.addSpacer(7)
- stack = widget.addStack()
- stack.layoutHorizontally()
- stack.centerAlignContent()
- stack.addSpacer()
- //---------
- text = `⊱ ${weatherInfo.weatherDesc} ⊰`
- textWidget = stack.addText(`${text}`)
- textWidget.textColor = new Color(fontColorHex, 0.8)
- textWidget.font = Font.lightSystemFont(13)
- stack.addSpacer()
-
- //-------------------------------------
- const selectPicBg = widgetConfigs.selectPicBg
- this.setSelectPicBg(selectPicBg)
- if (!selectPicBg) {
- // 天气背景
- let bgImg = await this.getImageByUrl(weatherBgUrls[weatherInfo.weatherIco])
- bgImg = await this.loadShadowColor2Image(bgImg, new Color("333", 0.25))
- await this.saveImgCache(this.scriptName, bgImg)
- }
- //-------------------------------------
- return widget
- }
-
- /**
- * 组件渲染
- */
- async renderUI() {
- if (widgetConfigs.widgetStyle == 1) {
- return await this.renderUIStyle1()
- } else if (widgetConfigs.widgetStyle == 2) {
- return await this.renderUIStyle2()
- }
- }
-
- //-------------------------------------
- /**
- * @渲染小组件
- */
- async render() {
- // 下载更新
- if (widgetConfigs.openDownload && config.runsInApp) {
- const message = "同步天气远程脚本?"
- const options = ["运行脚本", "下载脚本"]
- let typeIndex = await this.generateAlert(message, options)
- if (typeIndex == 1) {
- await this.downloadUpdate()
- } else {
- return await this.renderUI()
- }
- } else {
- return await this.renderUI()
- }
- }
-}
-
-// @运行测试
-const { Running } = require("./lsp环境")
-await Running(Widget, Script.name())
diff --git "a/\345\260\217\346\227\245\345\216\206/WechatIMG13060.jpeg" "b/\345\260\217\346\227\245\345\216\206/WechatIMG13060.jpeg"
deleted file mode 100644
index 2db16f0..0000000
Binary files "a/\345\260\217\346\227\245\345\216\206/WechatIMG13060.jpeg" and /dev/null differ
diff --git "a/\345\260\217\346\227\245\345\216\206/\345\260\217\346\227\245\345\216\206.js" "b/\345\260\217\346\227\245\345\216\206/\345\260\217\346\227\245\345\216\206.js"
deleted file mode 100644
index 48a0a11..0000000
--- "a/\345\260\217\346\227\245\345\216\206/\345\260\217\346\227\245\345\216\206.js"
+++ /dev/null
@@ -1,383 +0,0 @@
-// Variables used by Scriptable.
-// These must be at the very top of the file. Do not edit.
-// icon-color: blue; icon-glyph: user-astronaut;
-/**
-* Author:LSP
-* Date:2021-09-25
-* 公众号:杂货万事屋
-*/
-// @导入引用开发环境
-if (typeof require === 'undefined') require = importModule
-const { Base } = require("./lsp环境")
-
-// @小组件配置
-const widgetConfigs = {
- // 农历api,https://www.mxnzp.com/doc/detail?id=1
- lunarAppid: "jdtjpaqlvaxmpsfi", // 农历相关apikey
- lunarAppSecret: "NDM2dDFHcml6V21QcEhZSUxBZldQQT09", // 农历相关apikey
-
- // 时间颜色
- timeColor: new Color("#EA4041"),
- // 时间字体
- timeFont: Font.mediumRoundedSystemFont(18),
-
- // 周颜色
- weekColor: new Color("#1A94BC", 1),
- // 周字体
- weekFont: Font.mediumRoundedSystemFont(16),
-
- // 年月日颜色
- fullYearColor: new Color("#CDD1D3", 0.9),
- fullYearFont: Font.regularRoundedSystemFont(14),
-
- // 农历颜色
- lunarColor: new Color("#F9F4DC", 1),
- // 农历字体
- lunarFont: Font.regularRoundedSystemFont(15),
-
- // 日程字体
- scheduleFont: Font.systemFont(11),
- // 日程指示条圆角
- schedulesIndicatorRadius: 0,
- // 日程指示条尺寸
- schedulesIndicatorSize: new Size(5, 13),
-
- // 打开更新,直接同步脚本
- openDownload: true,
- // 是否使用GitHub仓库地址同步
- useGithub: false,
- // 缓存刷新时间--估算(单位:分钟)
- refreshInterval: 30,
-
- // 透明背景图片
- selectPicBg: false,
- // 纯色背景模式
- colorBgMode: true,
- // 组件背景色
- bgColor: new Color("#1F2932"),
-
- padding: {
- top: 12, // 上边距
- left: 10, // 左边距
- bottom: 12, // 底边距
- right: 10, // 右边距
- },
-
- // 预览模式:0:小尺寸,1:中等尺寸,2:大尺寸,负数:不预览
- previewMode: 0,
-}
-
-
-// @定义小组件
-class Widget extends Base {
- constructor(scriptName) {
- super(scriptName)
- // 初始化其他变量
- this.setSelectPicBg(widgetConfigs.selectPicBg)
- this.setColorBgMode(widgetConfigs.colorBgMode, widgetConfigs.bgColor)
- this.paddingSetting(Object.assign(widgetConfigs.padding))
- this.refreshIntervalTime(widgetConfigs.refreshInterval)
- this.setPreViewSizeMode(widgetConfigs.previewMode)
- }
-
- /**
- * 获取农历信息
- */
- async getLunar() {
- // 日期
- const currentDate = new Date()
- const dateStr = this.getDateStr(currentDate, 'yyyyMMdd', widgetConfigs.locale)
- // 日历
- const lunarUrl = `https://www.mxnzp.com/api/holiday/single/${dateStr}?app_id=${widgetConfigs.lunarAppid}&app_secret=${widgetConfigs.lunarAppSecret}`
- const lunarJsonData = await this.httpGet(lunarUrl, true, null, 'lunar')
- const data = lunarJsonData.data
- return {
- yearTips: data.yearTips,
- infoLunarText: data.lunarCalendar,
- holidayText: data.solarTerms,
- typeDes: data.typeDes,
- chineseZodiac: data.chineseZodiac,
- avoid: data.avoid,
- suit: data.suit,
- weekOfYear: data.dayOfYear,
- weekOfYear: data.weekOfYear,
- }
- }
-
- /**
- * 筛选日程
- * @param {CalendarEvent} schedule 日程
- * @return 返回符合条件的日程
- */
- shouldShowSchedule(schedule) {
- const currentDate = new Date()
- // 被取消的日程不用显示
- if (schedule.title.startsWith("Canceled:")) { return false }
- // 与当前时间做比较
- let timeInterval = schedule.endDate.getTime() > currentDate.getTime()
- // 返回全天跟还没过去的
- return timeInterval
- }
-
- /**
- * 获取手机日程
- */
- async getSchedules() {
- let showSchedules = []
- // 今日行程
- const todaySchedules = await CalendarEvent.today([])
- for (const schedule of todaySchedules) {
- if (this.shouldShowSchedule(schedule)) {
- // 日程
- let scheduleObj = {}
- // 开始时间
- const startDate = schedule.startDate
- // 开始小时
- const startHour = ("0" + startDate.getHours()).slice(-2)
- // 开始分钟
- const startMinute = ("0" + startDate.getMinutes()).slice(-2)
-
- // 结束时间
- const endDate = schedule.endDate
- // 结束小时
- const endHour = ("0" + endDate.getHours()).slice(-2)
- // 结束分钟
- const endMinute = ("0" + endDate.getMinutes()).slice(-2)
-
- // 时间安排展示
- if (schedule.isAllDay) {
- scheduleObj.text = `${schedule.title} 今天`
- } else {
- let timeText = startHour + ":" + startMinute
- scheduleObj.text = `${schedule.title} ${timeText}`
- }
-
- // 日程颜色
- scheduleObj.color = schedule.calendar.color
- log(`>>日程:${scheduleObj.text}`)
- showSchedules.push(scheduleObj)
- }
- }
-
- // 明日行程
- const tomorrowSchedules = await CalendarEvent.tomorrow([])
- for (const schedule of tomorrowSchedules) {
- log("@" + tomorrowSchedules.size)
- if (this.shouldShowSchedule(schedule)) {
- // 日程
- let scheduleObj = {}
- // 开始时间
- const startDate = schedule.startDate
- // 开始小时
- const startHour = ("0" + startDate.getHours()).slice(-2)
- // 开始分钟
- const startMinute = ("0" + startDate.getMinutes()).slice(-2)
-
- // 结束时间
- const endDate = schedule.endDate
- // 结束小时
- const endHour = ("0" + endDate.getHours()).slice(-2)
- // 结束分钟
- const endMinute = ("0" + endDate.getMinutes()).slice(-2)
-
- // 时间安排展示
- if (schedule.isAllDay) {
- scheduleObj.text = `${schedule.title} 明天`
- } else {
- let timeText = "明天 " + startHour + ":" + startMinute
- scheduleObj.text = `${schedule.title} ${timeText}`
- }
-
- // 日程颜色
- scheduleObj.color = schedule.calendar.color
- log(`>>日程:${scheduleObj.text}`)
- showSchedules.push(scheduleObj)
- }
- }
-
- // 获取本周日程
- let startDate = new Date()
- startDate.setTime(startDate.getTime() + 2 * 24 * 60 * 60 * 1000)
- let endDate = new Date()
- endDate.setTime(endDate.getTime() + 7 * 24 * 60 * 60 * 1000)
- const thisWeekSchedules = await CalendarEvent.between(startDate, endDate, [])
- for (const schedule of thisWeekSchedules) {
- if (this.shouldShowSchedule(schedule)) {
- // 日程
- let scheduleObj = {}
- // 开始时间
- const startDate = schedule.startDate
- // 月
- const month = startDate.getMonth() + 1
- // 日
- const day = startDate.getDate()
- // 开始小时
- const startHour = ("0" + startDate.getHours()).slice(-2)
- // 开始分钟
- const startMinute = ("0" + startDate.getMinutes()).slice(-2)
-
- // 结束时间
- const endDate = schedule.endDate
- // 结束小时
- const endHour = ("0" + endDate.getHours()).slice(-2)
- // 结束分钟
- const endMinute = ("0" + endDate.getMinutes()).slice(-2)
-
- // 时间安排展示
- if (schedule.isAllDay) {
- scheduleObj.text = `${schedule.title} ${month}月${day}日`
- } else {
- let timeText = month + "月" + day + "日 " + startHour + ":" + startMinute
- scheduleObj.text = `${schedule.title} ${timeText}`
- }
-
- // 日程颜色
- scheduleObj.color = schedule.calendar.color
- log(`>>日程:${scheduleObj.text}`)
- showSchedules.push(scheduleObj)
- }
- }
-
- return showSchedules
- }
-
- /**
- * 组件渲染
- */
- async renderUI() {
- //-------------------------------------
- const widget = new ListWidget()
- //-------------------------------------
-
- // 当前日期
- const currentDate = new Date()
-
- // 写入内容
- let stack = widget.addStack()
- const timeStack = stack.addStack()
- timeStack.layoutVertically()
- timeStack.bottomAlignContent()
- // 时间
- let widgetDate = timeStack.addDate(new Date())
- widgetDate.date = new Date(new Date(new Date().toLocaleDateString()).getTime())
- widgetDate.applyTimerStyle()
- widgetDate.textColor = widgetConfigs.timeColor
- widgetDate.font = widgetConfigs.timeFont
- // 星期几
- stack.addSpacer()
- const weekStack = stack.addStack()
- weekStack.layoutVertically()
- weekStack.bottomAlignContent()
- const week = this.getDateStr(currentDate, 'EEE', "en")
- console.log(`week:${week}`)
- let widgetText = stack.addText(week)
- widgetText.textColor = widgetConfigs.weekColor
- widgetText.font = widgetConfigs.weekFont
-
- // 年月日
- const dateText = this.getDateStr(currentDate, 'yyyy年MM月dd日')
- console.log(`dateText:${dateText}`)
- widget.addSpacer(6)
- stack = widget.addStack()
- stack.addSpacer()
- widgetText = stack.addText(dateText)
- widgetText.textColor = widgetConfigs.fullYearColor
- widgetText.font = widgetConfigs.fullYearFont
- stack.addSpacer()
-
- // 请求农历信息
- const lunarInfo = await this.getLunar()
- // 农历
- widget.addSpacer(5)
- stack = widget.addStack()
- stack.addSpacer()
- widgetText = stack.addText(lunarInfo.lunarYearText)
- widgetText.textColor = widgetConfigs.lunarColor
- widgetText.font = widgetConfigs.lunarFont
- stack.addSpacer(5)
- widgetText = stack.addText(lunarInfo.infoLunarText)
- widgetText.textColor = widgetConfigs.lunarColor
- widgetText.font = widgetConfigs.lunarFont
- stack.addSpacer()
- widget.addSpacer(11)
-
- // 本周日程
- const schedules = await this.getSchedules()
- for (let index = 0; index < schedules.length; index++) {
- const schedule = schedules[index]
- if (index < 3) {
- stack = widget.addStack()
- widget.addSpacer(5)
-
- // 指示条
- let vStack = stack.addStack()
- vStack.cornerRadius = widgetConfigs.schedulesIndicatorRadius
- vStack.backgroundColor = schedule.color
- vStack.size = widgetConfigs.schedulesIndicatorSize
- stack.addSpacer(5)
-
- // 日程文本
- widgetText = stack.addText(`${schedule.text}`)
- widgetText.textColor = schedule.color
- widgetText.textOpacity = 0.8
- widgetText.font = widgetConfigs.scheduleFont
- widgetText.lineLimit = 1
- }
- }
-
-
- //-------------------------------------
- return widget
- //-------------------------------------
- }
-
- //-------------------------------------
- /**
- * 下载更新
- */
- async downloadUpdate() {
- let files = FileManager.local()
- const iCloudInUse = files.isFileStoredIniCloud(module.filename)
- files = iCloudInUse ? FileManager.iCloud() : files
- let message = ''
- try {
- let downloadURL = "https://gitee.com/enjoyee/scriptable/raw/master/%E6%96%B0%E7%B3%BB%E5%88%97/%E5%B0%8F%E6%97%A5%E5%8E%86.js"
- if (widgetConfigs.useGithub) {
- downloadURL = "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/%E5%B0%8F%E6%97%A5%E5%8E%86/%E5%B0%8F%E6%97%A5%E5%8E%86.js"
- }
- const req = new Request(downloadURL)
- const codeString = await req.loadString()
- files.writeString(module.filename, codeString)
- message = "脚本已更新,请退出脚本重新进入运行生效。"
- } catch {
- message = "更新失败,请稍后再试。"
- }
- const options = ["好的"]
- await this.generateAlert(message, options)
- Script.complete()
- }
-
- //-------------------------------------
- /**
- * @渲染小组件
- */
- async render() {
- // 下载更新
- if (widgetConfigs.openDownload && config.runsInApp) {
- const message = "同步远程脚本?"
- const options = ["运行脚本", "下载脚本"]
- let typeIndex = await this.generateAlert(message, options)
- if (typeIndex == 1) {
- await this.downloadUpdate()
- } else {
- return await this.renderUI()
- }
- } else {
- return await this.renderUI()
- }
- }
-}
-
-// @运行测试
-const { Running } = require("./lsp环境")
-await Running(Widget, Script.name())
diff --git "a/\345\260\217\351\235\222\350\233\231\345\275\251\344\272\221\345\244\251\346\260\224/\345\260\217\351\235\222\350\233\231\345\275\251\344\272\221\345\244\251\346\260\224.js" "b/\345\260\217\351\235\222\350\233\231\345\275\251\344\272\221\345\244\251\346\260\224/\345\260\217\351\235\222\350\233\231\345\275\251\344\272\221\345\244\251\346\260\224.js"
deleted file mode 100644
index e36cdaa..0000000
--- "a/\345\260\217\351\235\222\350\233\231\345\275\251\344\272\221\345\244\251\346\260\224/\345\260\217\351\235\222\350\233\231\345\275\251\344\272\221\345\244\251\346\260\224.js"
+++ /dev/null
@@ -1,713 +0,0 @@
-// Variables used by Scriptable.
-// These must be at the very top of the file. Do not edit.
-// icon-color: blue; icon-glyph: user-astronaut;
-/**
-* Author:LSP
-* Date:2021-09-25
-*/
-// @导入引用开发环境
-if (typeof require === 'undefined') require = importModule
-const { Base } = require("./lsp环境")
-
-// @小组件配置
-const widgetConfigs = {
- // 打开更新,直接同步脚本
- openDownload: true,
-
- // 彩云key,第一次填写后重新更新脚本不需要再次填写,已做缓存
- apiKey: "",
-
- // 农历api,https://www.mxnzp.com/doc/detail?id=1
- lunarAppid: "jdtjpaqlvaxmpsfi", // 农历相关apikey
- lunarAppSecret: "NDM2dDFHcml6V21QcEhZSUxBZldQQT09", // 农历相关apikey
-
- // 是否是iPhone12mini
- isIphone12Mini: false,
- // 缓存刷新时间--估算(单位:分钟)
- refreshInterval: 10,
-
- // 透明背景图片
- selectPicBg: false,
- // 纯色背景模式
- colorBgMode: false,
- // 组件背景色
- bgColor: Color.black(),
-
- // 日期格式化
- dateFormater: 'MMMM dd ⊙ EEE',
- // 国家
- area: 'en',
-
- // 位置,可以不进行定位,或者定位为出错的时候使用
- location: {
- "latitude": undefined,
- "longitude": undefined,
- "locality": undefined,
- "subLocality": 'LSP'
- },
- // 锁定地区,直接使用上述填写的地址信息不进行定位
- lockLocation: false,
-
- padding: {
- top: 0, // 上边距
- left: 15, // 左边距
- bottom: 0, // 底边距
- right: 8, // 右边距
- },
-
- // 天气描述
- weatherDesc: {
- CLEAR_DAY: "Sunny",
- CLEAR_NIGHT: "Sunny",
- PARTLY_CLOUDY_DAY: "Cloudy",
- PARTLY_CLOUDY_NIGHT: "Cloudy",
- CLOUDY: "Cloudy",
- CLOUDY_NIGHT: "Cloudy",
- LIGHT_HAZE: "Haze",
- LIGHT_HAZE_NIGHT: "Haze",
- MODERATE_HAZE: "Haze",
- MODERATE_HAZE_NIGHT: "Haze",
- HEAVY_HAZE: "Haze",
- HEAVY_HAZE_NIGHT: "Haze",
- LIGHT_RAIN: "Light Rain",
- MODERATE_RAIN: "Moderate Rain",
- HEAVY_RAIN: "Heavy Rain",
- STORM_RAIN: "Storm Rain",
- FOG: "Fog",
- LIGHT_SNOW: "Light Snow",
- MODERATE_SNOW: "Moderate Snow",
- HEAVY_SNOW: "Heavy Snow",
- STORM_SNOW: "Storm Snow",
- DUST: "Dust",
- SAND: "Sand",
- WIND: "Wind",
- },
- // 自定义天气对应的icon-->1
- weatherOneIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2020/12/08/rpVVhD.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s1.ax1x.com/2020/10/26/BukPhR.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s1.ax1x.com/2020/10/26/BuQHN6.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s1.ax1x.com/2020/10/26/BukcbF.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2020/12/10/ripz8J.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2020/12/10/ripz8J.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/15/s009Mj.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/15/s00dOA.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/15/s009Mj.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/15/s00dOA.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/15/s009Mj.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/15/s00dOA.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2020/12/15/rMkQVx.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2020/12/15/rMkBIf.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2020/12/15/rMk6zQ.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2020/12/15/rMk6zQ.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2020/12/15/rMAYkV.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2020/12/08/rpupes.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2020/12/08/rpupes.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2020/12/15/rMEeBR.png", // 大风 WIND
- },
- // 自定义天气对应的icon-->2
- weatherTwoIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/23/s7tKd1.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tli6.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/23/s7t3RO.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "hhttps://s3.ax1x.com/2021/01/23/s7tJQe.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/23/s7tdot.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tdot.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/23/s7NCOH.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/23/s7NCOH.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/23/s7NCOH.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/23/s7NCOH.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/23/s7Nmp8.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/23/s7Nmp8.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/23/s7Nmp8.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/23/s7Nmp8.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/23/s7txfK.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/23/s7txfK.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/23/s7txfK.png", // 大风 WIND
- },
- // 自定义天气对应的icon-->3
- weatherThreeIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/24/sHAD1K.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/24/sHABp6.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/24/sHAwfx.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAdt1.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/24/sHAakR.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAr6O.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/24/sHA6ne.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/24/sHAc0H.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/24/sHARAA.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/24/sHARAA.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/24/sHAg7d.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/24/sHAg7d.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/24/sHAWtI.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/24/sHAWtI.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/24/sHVnGq.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/24/sHVnGq.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/24/sHVuR0.png", // 大风 WIND
- },
- // 自定义天气对应的icon-->4
- weatherFourIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/26/svnyF0.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/26/svnfOJ.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/26/svn2SU.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/26/svnRlF.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/26/svnroq.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/26/svnroq.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/26/svnWy4.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svncWT.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/26/svnWy4.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svncWT.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/26/svnWy4.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svncWT.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/26/svnBes.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/26/svn5wR.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/26/svn4m9.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/26/svnDwn.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/26/svn6YV.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/26/svnwLj.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/26/svnwLj.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/26/svnwLj.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/26/svnwLj.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/26/svuh38.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/26/svuh38.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/26/svndyQ.png", // 大风 WIND
- },
- // 自定义天气对应的icon-->5
- weatherFiveIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/26/svubEn.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/26/svuqNq.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/26/svu5jg.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/26/svuTBj.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/26/svu4gS.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/26/svu4gS.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/26/svuR4P.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/26/svuR4P.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/26/svuR4P.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/26/svuR4P.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/26/svu2Nt.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/26/svuouQ.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/26/svuouQ.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/26/svuouQ.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/26/svuouQ.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/26/svuh38.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/26/svuh38.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/26/svuL40.png", // 大风 WIND
- },
- // SF对应的天气icon
- weatherSFIcos: {
- CLEAR_DAY: "sun.max.fill", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "moon.stars.fill", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "cloud.sun.fill", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "cloud.moon.fill", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "cloud.fill", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "cloud.fill", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "sun.haze.fill", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "sun.haze.fill", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "sun.haze.fill", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "sun.haze.fill", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "sun.haze.fill", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "sun.haze.fill", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "cloud.drizzle.fill", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "cloud.drizzle.fill", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "cloud.rain.fill", // 大雨 HEAVY_RAIN
- STORM_RAIN: "cloud.heavyrain.fill", // 暴雨 STORM_RAIN
- FOG: "cloud.fog.fill", // 雾 FOG
- LIGHT_SNOW: "cloud.snow.fill", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "cloud.snow.fill", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "cloud.snow.fill", // 大雪 HEAVY_SNOW
- STORM_SNOW: "cloud.snow.fill", // 暴雪 STORM_SNOW
- DUST: "sun.dust.fill", // 浮尘 DUST
- SAND: "smoke.fill", // 沙尘 SAND
- WIND: "wind", // 大风 WIND
- },
- //**********************************************************************
- weatherBgUrls: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/23/s78p4S.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/23/s73zAf.jpg", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/23/s73vHP.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s73zAf.jpg", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/23/s73jBt.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s73zAf.jpg", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/23/s78SN8.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s73zAf.jpg", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/23/s78SN8.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s73zAf.jpg", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/23/s78SN8.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s73zAf.jpg", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/23/s78C9g.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/23/s78C9g.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/23/s78C9g.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/23/s78C9g.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/23/s78SN8.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/23/s78P3Q.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/23/s78P3Q.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/23/s78P3Q.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/23/s78P3Q.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/23/s78SN8.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/23/s78SN8.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/23/s78icj.jpg", // 大风 WIND
- },
-
- // 预览模式:0:小尺寸,1:中等尺寸,2:大尺寸,负数:不预览
- previewMode: 2,
-}
-
-
-// @定义小组件
-class Widget extends Base {
- constructor(scriptName) {
- super(scriptName)
- // 初始化其他变量
- this.setSelectPicBg(widgetConfigs.selectPicBg)
- this.setColorBgMode(widgetConfigs.colorBgMode, widgetConfigs.bgColor)
- this.paddingSetting(Object.assign(widgetConfigs.padding))
- this.refreshIntervalTime(widgetConfigs.refreshInterval)
- this.setPreViewSizeMode(widgetConfigs.previewMode)
- }
-
- /**
- * 定位
- * @returns 定位信息
- */
- async location() {
- if (!widgetConfigs.lockLocation) {
- return await this.getLocation(widgetConfigs.locale)
- } else {
- return widgetConfigs.location
- }
- }
-
- /**
- * 获取彩云天气信息
- */
- async getWeather(dailysteps = 7) {
- // 获取位置
- let location = await this.location()
- // 小时
- const hour = new Date().getHours()
-
- const apiCacheKeyName = 'CaiYunKey'
- let apiKey = widgetConfigs.apiKey
- if (apiKey.length == 0) {
- apiKey = this.loadStringCache(apiCacheKeyName)
- } else {
- this.saveStringCache(apiCacheKeyName, apiKey)
- }
- // 彩云天气域名
- const url = `https://api.caiyunapp.com/v2.5/${apiKey}/${location.longitude},${location.latitude}/weather.json?alert=true&dailysteps=${dailysteps}`
- const weatherJsonData = await this.httpGet(url, true, null, 'weatherMultiInfo')
-
- // 天气数据
- let weatherInfo = {}
- if (weatherJsonData.status == "ok") {
- log("天气数据请求成功")
-
- // 天气突发预警
- let alertWeather = weatherJsonData.result.alert.content
- if (alertWeather.length > 0) {
- const alertWeatherTitle = alertWeather[0].title
- log(`突发的天气预警==>${alertWeatherTitle}`)
- weatherInfo.alertWeatherTitle = alertWeatherTitle
- }
-
- // 全部温度
- weatherInfo.daily = weatherJsonData.result.daily
- // 温度范围
- const temperatureData = weatherInfo.daily.temperature[0]
- // 最低温度
- const minTemperature = temperatureData.min
- // 最高温度
- const maxTemperature = temperatureData.max
- weatherInfo.minTemperature = Math.round(minTemperature)
- weatherInfo.maxTemperature = Math.round(maxTemperature)
-
- // 体感温度
- const bodyFeelingTemperature = weatherJsonData.result.realtime.apparent_temperature
- weatherInfo.bodyFeelingTemperature = Math.floor(bodyFeelingTemperature)
-
- // 显示温度
- const temperature = weatherJsonData.result.realtime.temperature
- weatherInfo.temperature = Math.floor(temperature)
-
- // 天气状况 weatherIcos[weatherIco]
- let weather = weatherJsonData.result.realtime.skycon
- let night = hour - 12 >= 7
- let nightCloudy = night && weather == "CLOUDY"
- let nightLightHaze = night && weather == "LIGHT_HAZE"
- let nightModerateHaze = night && weather == "MODERATE_HAZE"
- let nightHeavyHaze = night && weather == "HEAVY_HAZE"
- if (nightCloudy) {
- weather = "CLOUDY_NIGHT"
- }
- if (nightLightHaze) {
- weather = "LIGHT_HAZE_NIGHT"
- }
- if (nightModerateHaze) {
- weather = "MODERATE_HAZE_NIGHT"
- }
- if (nightHeavyHaze) {
- weather = "HEAVY_HAZE_NIGHT"
- }
- weatherInfo.weatherIco = weather
- log(`天气:${weather}`)
-
- // 天气描述
- const weatherDesc = weatherJsonData.result.forecast_keypoint
- weatherInfo.weatherDesc = weatherDesc.replace("。还在加班么?", ",")
- log("天气预告==>" + weatherDesc)
-
- // 降水率
- weatherInfo.probability = weatherJsonData.result.minutely.probability
-
- // 相对湿度
- const humidity = (Math.floor(weatherJsonData.result.realtime.humidity * 100)) + "%"
- weatherInfo.humidity = humidity
-
- // 舒适指数
- const comfort = weatherJsonData.result.realtime.life_index.comfort.desc
- weatherInfo.comfort = comfort
- log(`舒适指数:${comfort}`)
-
- // 紫外线指数
- const ultraviolet = weatherJsonData.result.realtime.life_index.ultraviolet.desc
- weatherInfo.ultraviolet = ultraviolet
-
- // 空气质量
- const aqi = weatherJsonData.result.realtime.air_quality.aqi.chn
- const aqiInfo = this.airQuality(aqi)
- weatherInfo.aqiInfo = aqiInfo
-
- // 日出日落
- const astro = weatherJsonData.result.daily.astro[0]
- // 日出
- const sunrise = astro.sunrise.time
- // 日落
- const sunset = astro.sunset.time
- weatherInfo.sunrise = sunrise.toString()
- weatherInfo.sunset = sunset.toString()
-
- // 小时预告
- let hourlyArr = []
- const hourlyData = weatherJsonData.result.hourly
- const temperatureArr = hourlyData.temperature
- const temperatureSkyconArr = hourlyData.skycon
- for (var i = 0; i < temperatureArr.length; i++) {
- let hourlyObj = {}
- hourlyObj.datetime = temperatureArr[i].datetime
- hourlyObj.temperature = Math.round(temperatureArr[i].value)
-
- let weather = temperatureSkyconArr[i].value
- if (nightCloudy) {
- weather = "CLOUDY_NIGHT"
- }
- hourlyObj.skycon = `${weather}`
- hourlyArr.push(hourlyObj)
- }
- weatherInfo.hourly = hourlyArr
- } else {
- log(`请求彩云天气出错:${weatherJsonData.status}`)
- }
-
- return weatherInfo
- }
-
-
- /**
- * 空气指标质量
- * @param {number} levelNum 控制aiq
- */
- airQuality(levelNum) {
- // 0-50 优,51-100 良,101-150 轻度污染,151-200 中度污染
- // 201-300 重度污染,>300 严重污染
- if (levelNum >= 0 && levelNum <= 50) {
- return "优秀"
- } else if (levelNum >= 51 && levelNum <= 100) {
- return "良好"
- } else if (levelNum >= 101 && levelNum <= 150) {
- return "轻度"
- } else if (levelNum >= 151 && levelNum <= 200) {
- return "中度"
- } else if (levelNum >= 201 && levelNum <= 300) {
- return "重度"
- } else {
- return "严重"
- }
- }
-
- /**
- * 获取农历信息
- */
- async getLunar() {
- // 日期
- const currentDate = new Date()
- const dateStr = this.getDateStr(currentDate, 'yyyyMMdd', widgetConfigs.locale)
- // 日历
- const lunarUrl = `https://www.mxnzp.com/api/holiday/single/${dateStr}?app_id=${widgetConfigs.lunarAppid}&app_secret=${widgetConfigs.lunarAppSecret}`
- const lunarJsonData = await this.httpGet(lunarUrl, true, null, 'lunar')
- const data = lunarJsonData.data
- return {
- yearTips: data.yearTips,
- infoLunarText: data.lunarCalendar,
- holidayText: data.solarTerms,
- typeDes: data.typeDes,
- chineseZodiac: data.chineseZodiac,
- avoid: data.avoid,
- suit: data.suit,
- weekOfYear: data.dayOfYear,
- weekOfYear: data.weekOfYear,
- }
- }
-
- /**
- * 下载更新
- */
- async downloadUpdate() {
- let files = FileManager.local()
- const iCloudInUse = files.isFileStoredIniCloud(module.filename)
- files = iCloudInUse ? FileManager.iCloud() : files
- let message = ''
- try {
- let downloadURL = "https://gitee.com/enjoyee/scriptable/raw/master/%E5%90%88%E9%9B%86%E6%95%B4%E7%90%86/%E5%B0%8F%E9%9D%92%E8%9B%99%E5%BD%A9%E4%BA%91%E5%A4%A9%E6%B0%94.js"
- if (widgetConfigs.useGithub) {
- downloadURL = "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/%E5%B0%8F%E9%9D%92%E8%9B%99%E5%BD%A9%E4%BA%91%E5%A4%A9%E6%B0%94/%E5%B0%8F%E9%9D%92%E8%9B%99%E5%BD%A9%E4%BA%91%E5%A4%A9%E6%B0%94.js"
- }
- const req = new Request(downloadURL)
- const codeString = await req.loadString()
- files.writeString(module.filename, codeString)
- message = "脚本已更新,请退出脚本重新进入运行生效。"
- } catch {
- message = "更新失败,请稍后再试。"
- }
- const options = ["好的"]
- await this.generateAlert(message, options)
- Script.complete()
- }
-
- /**
- * 获取天气背景图
- */
- weatherBgUrls(weatherDesc) {
- let bgUrl = 'https://gitee.com/peter7/scriptable/raw/master/frogweather'
- switch (weatherDesc) {
- case 'LIGHT_HAZE':
- case 'LIGHT_HAZE_NIGHT':
- case 'MODERATE_HAZE':
- case 'MODERATE_HAZE_NIGHT':
- case 'HEAVY_HAZE':
- case 'HEAVY_HAZE_NIGHT':
- case 'FOG':
- case 'DUST':
- case 'SAND':
- case 'WIND':
- bgUrl = `${bgUrl}/FOG.jpg`;
- break;
-
- case 'CLEAR_DAY':
- bgUrl = `${bgUrl}/CLEAR_DAY/${Math.round(Math.random() * 6) + 1}.jpg`;
- break;
-
- case 'CLEAR_NIGHT':
- bgUrl = `${bgUrl}/CLEAR_NIGHT/${Math.round(Math.random() * 4) + 1}.jpg`;
- break;
-
- case 'CLOUDY':
- bgUrl = `${bgUrl}/CLOUDY/${Math.round(Math.random() * 2) + 1}.jpg`;
- break;
-
- case 'CLOUDY_NIGHT':
- bgUrl = `${bgUrl}/CLOUDY_NIGHT/${Math.round(Math.random() * 1) + 1}.jpg`;
- break;
-
- case 'PARTLY_CLOUDY_DAY':
- bgUrl = `${bgUrl}/PARTLY_CLOUDY_DAY/${Math.round(Math.random() * 11) + 1}.jpg`;
- break;
-
- case 'PARTLY_CLOUDY_NIGHT':
- bgUrl = `${bgUrl}/PARTLY_CLOUDY_NIGHT/${Math.round(Math.random() * 5) + 1}.jpg`;
- break;
-
- case 'LIGHT_RAIN':
- case 'MODERATE_RAIN':
- case 'HEAVY_RAIN':
- case 'STORM_RAIN':
- bgUrl = `${bgUrl}/RAIN/${Math.round(Math.random() * 4) + 1}.jpg`;
- break;
-
- case 'LIGHT_SNOW':
- case 'MODERATE_SNOW':
- case 'HEAVY_SNOW':
- case 'STORM_SNOW':
- bgUrl = `${bgUrl}/SNOW/${Math.round(Math.random() * 3) + 1}.jpg`;
- break;
-
- default:
- bgUrl = `${bgUrl}/WELCOME.jpg`;
- break;
- }
-
- return bgUrl;
- }
-
- /**
- * 获取天气icon
- */
- weatherIcos() {
- let weatherIcos = widgetConfigs.weatherOneIcos
- const widgetUIIcon = widgetConfigs.widgetUIIcon
- if (widgetUIIcon == 2) {
- weatherIcos = widgetConfigs.weatherTwoIcos
- } else if (widgetUIIcon == 3) {
- weatherIcos = widgetConfigs.weatherThreeIcos
- } else if (widgetUIIcon == 4) {
- weatherIcos = widgetConfigs.weatherFourIcos
- } else if (widgetUIIcon == 5) {
- weatherIcos = widgetConfigs.weatherFiveIcos
- }
- return weatherIcos
- }
-
- /**
- * 组件渲染
- */
- async renderUI() {
- // 天气对应的图标
- let weatherIcos = this.weatherIcos()
- //-------------------------------------
- const widget = new ListWidget()
- const contentStack = widget.addStack()
- contentStack.layoutVertically()
- //-------------------------------------
- const currentDate = new Date()
- // 获取天气信息
- const sizeCount = 6
- // 六天内天气
- const weatherInfo = await this.getWeather(sizeCount)
- // 农历
- const lunarInfo = await this.getLunar()
- // 定位
- const locationInfo = await this.location()
-
- // 天气图标
- let realtimeIcon = weatherInfo.weatherIco
- let weatherIco = this.getSFSymbol(widgetConfigs.weatherSFIcos[realtimeIcon])
- if (!widgetConfigs.useSF) {
- weatherIco = await this.getImageByUrl(weatherIcos[realtimeIcon])
- }
- // 天气对应的背景
- let weatherBgUrl = this.weatherBgUrls(realtimeIcon)
- // 日期
- const dateStr = this.getDateStr(currentDate, widgetConfigs.dateFormater, widgetConfigs.area)
- // 农历信息
- const infoLunarText = lunarInfo.infoLunarText
- const holidayText = lunarInfo.holidayText
- let dateFullText = `${infoLunarText}`
- if (holidayText.length != 0) {
- dateFullText = `${dateFullText} ⊙ ${holidayText}`
- }
- // 日期修改
- let dividerDesc = ''
- const dateInfo = `${dateStr} ⊙ ${dividerDesc}${dateFullText}`
- // 温度
- const temperature = `${weatherInfo.temperature} °C`
- // 体感,最低温度 weatherInfo.minTemperature,最高温度:weatherInfo.maxTemperature
- const feelLikeStr = `Feels like ${weatherInfo.bodyFeelingTemperature}°C, ${widgetConfigs.weatherDesc[weatherInfo.weatherIco]}`
- // 定位
- let defineSubLocality = widgetConfigs.location.subLocality
- if(defineSubLocality == undefined) {
- defineSubLocality = locationInfo.subLocality
- }
- const locationStr = `${locationInfo.locality} の ${defineSubLocality}`
-
- //-------------------------------------
- const descStack = contentStack.addStack();
- // 左侧信息
- const leftInfoStack = descStack.addStack();
- leftInfoStack.layoutVertically();
- leftInfoStack.addSpacer(20);
- // 日期
- const dateInfoStack = leftInfoStack.addStack()
- dateInfoStack.layoutHorizontally()
- let textStack = dateInfoStack.addText(dateInfo)
- textStack.font = Font.systemFont(14)
- textStack.textColor = new Color("ffffff", 0.8)
- // 温度
- leftInfoStack.addSpacer(2)
- const weatherStack = leftInfoStack.addStack()
- weatherStack.layoutHorizontally()
- textStack = weatherStack.addText(temperature)
- textStack.font = Font.systemFont(32)
- textStack.textColor = new Color("ffffff", 0.9)
- // 体感->feel like
- leftInfoStack.addSpacer(2)
- const feelStack = leftInfoStack.addStack()
- feelStack.layoutHorizontally()
- textStack = feelStack.addText(feelLikeStr)
- textStack.font = Font.systemFont(14)
- textStack.textColor = new Color("ffffff", 0.8)
- // 定位
- leftInfoStack.addSpacer(2)
- const locationStack = contentStack.addStack()
- locationStack.layoutHorizontally()
- textStack = locationStack.addText(locationStr)
- textStack.font = Font.systemFont(11)
- textStack.textColor = new Color("ffffff", 0.7)
-
- // 右上角天气icon
- descStack.addSpacer();
- const weatherIcoStack = descStack.addStack();
- weatherIcoStack.layoutVertically();
- weatherIcoStack.addSpacer(10);
- weatherIcoStack.size = new Size(50, 50)
- let imgStack = weatherIcoStack.addImage(weatherIco)
- imgStack.imageSize = new Size(43, 43)
-
- //-------------------------------------
- contentStack.addSpacer()
- const selectPicBg = widgetConfigs.selectPicBg
- this.setSelectPicBg(selectPicBg)
- if (!selectPicBg) {
- // 天气背景
- let bgImg = await this.getImageByUrl(weatherBgUrl)
- bgImg = await this.loadShadowColor2Image(bgImg, new Color("000", 0.2))
- await this.saveImgCache(this.scriptName, bgImg)
- }
- return widget
- //-------------------------------------
- }
-
- //-------------------------------------
- /**
- * @渲染小组件
- */
- async render() {
- return await this.renderUI()
- }
-}
-
-// @运行测试
-const { Running } = require("./lsp环境")
-await Running(Widget, Script.name())
diff --git "a/\345\275\251\344\272\221\345\256\235\350\227\217\347\211\210\346\234\254/\345\275\251\344\272\221\345\256\235\350\227\217\347\211\210\346\234\254.js" "b/\345\275\251\344\272\221\345\256\235\350\227\217\347\211\210\346\234\254/\345\275\251\344\272\221\345\256\235\350\227\217\347\211\210\346\234\254.js"
deleted file mode 100644
index d4cdf6c..0000000
--- "a/\345\275\251\344\272\221\345\256\235\350\227\217\347\211\210\346\234\254/\345\275\251\344\272\221\345\256\235\350\227\217\347\211\210\346\234\254.js"
+++ /dev/null
@@ -1,1175 +0,0 @@
-/**
-* Author:LSP
-* Date:2020-09-25
-*/
-
-// @导入引用开发环境
-if (typeof require === 'undefined') require = importModule
-const { Base } = require("./lsp环境")
-
-// @小组件配置
-const widgetConfigs = {
- // 打开更新,直接同步远程彩云脚本
- openDownload: false,
-
- // 是否是iPhone12mini
- isIphone12Mini: false,
-
- apiKey: "", // 彩云key
-
- // 农历api,https://www.mxnzp.com/doc/detail?id=1
- lunarAppid: "jdtjpaqlvaxmpsfi", // 农历相关apikey
- lunarAppSecret: "NDM2dDFHcml6V21QcEhZSUxBZldQQT09", // 农历相关apikey
-
- selectPicBg: true, // 选择图片
- colorBgMode: false, // 纯色背景模式
- bgColor: Color.black(), // 黑色背景
-
- // 是否显示全天的日程
- openAllDaySchedule: false,
- // 是否开启天气描述
- openWeatherDesc: true,
- // 组件天气icon样式:1、2、3、4、5(开启useSF的话则此选项无效)
- widgeWeathertIcon: 5,
- // 是否使用SF系统天气图标
- useSF: false,
-
- // 是否使用折线图模式,1:曲线模式,2:顺序轮播切换模式,3:普通模式
- throwLineCharMode: 3,
- // 普通模式时候底部的内容填充,0:轮播,1:一言,2:丁香医生日历,3:每日诗词
- contentFillMode: 0,
-
- padding: {
- top: 2, // 上边距
- left: 2, // 左边距
- bottom: 2, // 底边距
- right: 2, // 右边距
- },
-
- refreshInterval: 10, // 刷新时间--估算(单位:分钟)
-
- locale: "zh-cn", // 地区
-
- // 标题是否使用自定义ttf字体加载显示文本
- titleUseCustomFont: true,
- // 日期是否使用自定义ttf字体加载显示文本
- dateUseCustomFont: true,
- // 天气描述是否使用自定义ttf字体加载显示文本
- weatherDescUseCustomFont: true,
- // 内容区是否使用自定义ttf字体加载显示文本
- contentUseCustomFont: true,
-
- // 自定义中文字体
- cnFontUrl: "https://mashangkaifa.coding.net/p/coding-code-guide/d/coding-code-guide/git/raw/master/jf-openhuninn-1.0.ttf",
-
- // 顶部问候语,英文花样文字:https://beizhedenglong.github.io/weird-fonts/
- greetingText: {
- nightGreeting: "𝔗𝔦𝔪𝔢 𝔱𝔬 𝔤𝔢𝔱 𝔩𝔞𝔦𝔡~",
- morningGreeting: "𝔊𝔬𝔬𝔡 𝔪𝔬𝔯𝔫𝔦𝔫𝔤~",
- noonGreeting: "𝔊𝔬𝔬𝔡 𝔫𝔬𝔬𝔫~",
- afternoonGreeting: "𝔊𝔬𝔬𝔡 𝔞𝔣𝔱𝔢𝔯𝔫𝔬𝔬𝔫~",
- eveningGreeting: "𝔊𝔬𝔬𝔡 𝔢𝔳𝔢𝔫𝔦𝔫𝔤~"
- },
- // 自定义日期对应的问候
- anniversaryText: {
- "1-1": "年之伊始,万事如意~",
- "10-1": "国之庆典,普天同庆~",
- "12-25": "𝔐𝔢𝔯𝔯𝔶 ℭ𝔥𝔯𝔦𝔰𝔱𝔪𝔞𝔰~",
- },
- // 自定义农历日期对应的问候
- lunarText: {
- "正月初一": "金牛贺岁迎新春~",
- "正月初二": "喜迎财神福满门~",
- "正月初三": "赤狗小年朝~",
- },
- // 位置,可以不进行定位,或者定位为出错的时候使用
- location: {
- "latitude": undefined,
- "longitude": undefined,
- "locality": undefined,
- "subLocality": undefined
- },
- // 锁定地区,直接使用上述填写的地址信息不进行定位
- lockLocation: false,
- // 默认文字颜色hex
- defaultTextColorHex: "FFFFFF",
- // 顶部天气图标尺寸
- bigWeatherIconSize: new Size(23, 23),
- // 温度字体
- temperatureFontSize: 18,
- // 天气描述字体
- weatherDescFontSize: 15,
- // 问候语字体大小
- greetingFontSize: 17,
- // 日期格式化
- dateFormater: "M月d日 EEE",
- // 日期字体
- dateFontSize: 14,
- // 日期颜色
- dateTextColorHex: "FFCC99",
- // 天气提示信息字体
- weatherTipsFontSize: 12,
- // 内容区块背景
- contentBgHex: "666",
- // 内容区块字体
- contentFontSize: 12,
- // 内容区块文字颜色
- contentTextColorHex: "FFFFFF",
- // 底部lovely的icon尺寸
- lovelyIconSize: new Size(18, 18),
- // 底部更新文字
- updateFontSize: 11,
- // 底部更新文字颜色
- updateTextColorHex: "FFFFFF",
- // 折线温度连线颜色
- foldLineColorHex: "FBDA41",
- // 天气描述
- weatherDesc: {
- CLEAR_DAY: "Sunny",
- CLEAR_NIGHT: "Sunny",
- PARTLY_CLOUDY_DAY: "Cloudy",
- PARTLY_CLOUDY_NIGHT: "Cloudy",
- CLOUDY: "Cloudy",
- CLOUDY_NIGHT: "Cloudy",
- LIGHT_HAZE: "Haze",
- LIGHT_HAZE_NIGHT: "Haze",
- MODERATE_HAZE: "Haze",
- MODERATE_HAZE_NIGHT: "Haze",
- HEAVY_HAZE: "Haze",
- HEAVY_HAZE_NIGHT: "Haze",
- LIGHT_RAIN: "Light Rain",
- MODERATE_RAIN: "Moderate Rain",
- HEAVY_RAIN: "Heavy Rain",
- STORM_RAIN: "Storm Rain",
- FOG: "Fog",
- LIGHT_SNOW: "Light Snow",
- MODERATE_SNOW: "Moderate Snow",
- HEAVY_SNOW: "Heavy Snow",
- STORM_SNOW: "Storm Snow",
- DUST: "Dust",
- SAND: "Sand",
- WIND: "Wind",
- },
- // 自定义天气对应的icon-->1
- weatherOneIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2020/12/08/rpVVhD.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s1.ax1x.com/2020/10/26/BukPhR.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s1.ax1x.com/2020/10/26/BuQHN6.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s1.ax1x.com/2020/10/26/BukcbF.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2020/12/10/ripz8J.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2020/12/10/ripz8J.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/15/s009Mj.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/15/s00dOA.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/15/s009Mj.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/15/s00dOA.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/15/s009Mj.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/15/s00dOA.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2020/12/15/rMkQVx.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2020/12/15/rMkBIf.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2020/12/15/rMk6zQ.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2020/12/15/rMk6zQ.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2020/12/15/rMAYkV.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2020/12/08/rpupes.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2020/12/08/rpupes.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2020/12/15/rMEeBR.png", // 大风 WIND
- },
- // 自定义天气对应的icon-->2
- weatherTwoIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/23/s7tKd1.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tli6.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/23/s7t3RO.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "hhttps://s3.ax1x.com/2021/01/23/s7tJQe.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/23/s7tdot.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tdot.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/23/s7NCOH.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/23/s7NCOH.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/23/s7NCOH.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/23/s7NCOH.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/23/s7tDW8.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/23/s7Nmp8.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/23/s7Nmp8.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/23/s7Nmp8.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/23/s7Nmp8.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/23/s7txfK.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/23/s7txfK.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/23/s7txfK.png", // 大风 WIND
- },
- // 自定义天气对应的icon-->3
- weatherThreeIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/24/sHAD1K.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/24/sHABp6.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/24/sHAwfx.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAdt1.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/24/sHAakR.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAr6O.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/24/sHA6ne.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/24/sHAc0H.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/24/sHARAA.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/24/sHARAA.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/24/sHAsXD.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/24/sHAg7d.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/24/sHAg7d.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/24/sHAWtI.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/24/sHAWtI.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/24/sHVnGq.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/24/sHVnGq.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/24/sHVuR0.png", // 大风 WIND
- },
- // 自定义天气对应的icon-->4
- weatherFourIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/26/svnyF0.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/26/svnfOJ.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/26/svn2SU.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/26/svnRlF.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/26/svnroq.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/26/svnroq.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/26/svnWy4.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svncWT.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/26/svnWy4.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svncWT.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/26/svnWy4.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svncWT.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/26/svnBes.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/26/svn5wR.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/26/svn4m9.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/26/svnDwn.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/26/svn6YV.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/26/svnwLj.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/26/svnwLj.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/26/svnwLj.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/26/svnwLj.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/26/svuh38.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/26/svuh38.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/26/svndyQ.png", // 大风 WIND
- },
- // 自定义天气对应的icon-->5
- weatherFiveIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2021/01/26/svubEn.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s3.ax1x.com/2021/01/26/svuqNq.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s3.ax1x.com/2021/01/26/svu5jg.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/26/svuTBj.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2021/01/26/svu4gS.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2021/01/26/svu4gS.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/26/svu7Hs.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2021/01/26/svuR4P.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2021/01/26/svuR4P.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2021/01/26/svuR4P.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2021/01/26/svuR4P.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2021/01/26/svu2Nt.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2021/01/26/svuouQ.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2021/01/26/svuouQ.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2021/01/26/svuouQ.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2021/01/26/svuouQ.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2021/01/26/svuh38.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2021/01/26/svuh38.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2021/01/26/svuL40.png", // 大风 WIND
- },
- // SF对应的天气icon
- weatherSFIcos: {
- CLEAR_DAY: "sun.max.fill", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "moon.stars.fill", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "cloud.sun.fill", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "cloud.moon.fill", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "cloud.fill", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "cloud.fill", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "sun.haze.fill", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "sun.haze.fill", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "sun.haze.fill", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "sun.haze.fill", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "sun.haze.fill", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "sun.haze.fill", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "cloud.drizzle.fill", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "cloud.drizzle.fill", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "cloud.rain.fill", // 大雨 HEAVY_RAIN
- STORM_RAIN: "cloud.heavyrain.fill", // 暴雨 STORM_RAIN
- FOG: "cloud.fog.fill", // 雾 FOG
- LIGHT_SNOW: "cloud.snow.fill", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "cloud.snow.fill", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "cloud.snow.fill", // 大雪 HEAVY_SNOW
- STORM_SNOW: "cloud.snow.fill", // 暴雪 STORM_SNOW
- DUST: "sun.dust.fill", // 浮尘 DUST
- SAND: "smoke.fill", // 沙尘 SAND
- WIND: "wind", // 大风 WIND
- },
- //**********************************************************************
- // 底部的小图标
- lovelyImgArr: [
- "https://s3.ax1x.com/2021/01/16/sDrPeJ.png",
- "https://s3.ax1x.com/2021/01/16/sDrFoR.png",
- "https://s3.ax1x.com/2021/01/16/sDriw9.png",
- "https://s3.ax1x.com/2021/01/16/sDr9L4.png",
- "https://s3.ax1x.com/2021/01/16/sDrpyF.png",
- "https://s3.ax1x.com/2021/01/16/sDrAF1.png",
- "https://s3.ax1x.com/2021/01/16/sDrEJx.png",
- "https://s3.ax1x.com/2021/01/16/sDrVW6.png",
- ],
-
- // 预览模式:0:小尺寸,1:中等尺寸,2:大尺寸,负数:不预览
- previewMode: 1,
-}
-
-// @定义小组件
-class Widget extends Base {
- constructor(scriptName) {
- super(scriptName)
- // 初始化其他变量
- this.setSelectPicBg(widgetConfigs.selectPicBg)
- this.setColorBgMode(widgetConfigs.colorBgMode, widgetConfigs.bgColor)
- this.paddingSetting(Object.assign(widgetConfigs.padding))
- this.refreshIntervalTime(widgetConfigs.refreshInterval)
- this.setPreViewSizeMode(widgetConfigs.previewMode)
- }
-
- applyDefaultTextColor() {
- return this.applyColor(widgetConfigs.defaultTextColorHex, 0.95)
- }
-
- applyColor(colorHex, alpha) {
- return new Color(colorHex, alpha)
- }
-
- applyTemperatureFont() {
- return Font.systemFont(widgetConfigs.temperatureFontSize)
- }
-
- applyWeatherDescFont() {
- return new Font('IowanOldStyle-Bold', widgetConfigs.weatherDescFontSize)
- }
-
- applyGreetingFont() {
- return Font.systemFont(widgetConfigs.greetingFontSize)
- }
-
- applyDateFont() {
- return Font.systemFont(widgetConfigs.dateFontSize)
- }
-
- applyWeatherTipsFont() {
- return Font.systemFont(widgetConfigs.weatherTipsFontSize)
- }
-
- applyContentFont() {
- return Font.lightMonospacedSystemFont(widgetConfigs.contentFontSize)
- }
-
- applyUpdateFont() {
- return Font.thinSystemFont(widgetConfigs.updateFontSize)
- }
-
- /**
- * 获取天气icon
- */
- weatherIcos() {
- let weatherIcos = widgetConfigs.weatherOneIcos
- const widgeWeathertIcon = widgetConfigs.widgeWeathertIcon
- if (widgeWeathertIcon == 2) {
- weatherIcos = widgetConfigs.weatherTwoIcos
- } else if (widgeWeathertIcon == 3) {
- weatherIcos = widgetConfigs.weatherThreeIcos
- } else if (widgeWeathertIcon == 4) {
- weatherIcos = widgetConfigs.weatherFourIcos
- } else if (widgeWeathertIcon == 5) {
- weatherIcos = widgetConfigs.weatherFiveIcos
- }
- return weatherIcos
- }
-
- /**
- * 获取彩云天气信息
- */
- async getWeather() {
- // 获取位置
- let location = widgetConfigs.location
- if (!widgetConfigs.lockLocation) {
- location = await this.getLocation(widgetConfigs.locale)
- }
- // 小时
- const hour = new Date().getHours()
-
- // 彩云天气域名
- const url = `https://api.caiyunapp.com/v2.5/${widgetConfigs.apiKey}/${location.longitude},${location.latitude}/weather.json?alert=true`
- const weatherJsonData = await this.httpGet(url, true, null, 'caiyun')
-
- // 天气数据
- let weatherInfo = {}
- if (weatherJsonData.status == "ok") {
- log("天气数据请求成功")
-
- // 天气突发预警
- let alertWeather = weatherJsonData.result.alert.content
- if (alertWeather.length > 0) {
- const alertWeatherTitle = alertWeather[0].title
- log(`突发的天气预警==>${alertWeatherTitle}`)
- weatherInfo.alertWeatherTitle = alertWeatherTitle
- }
-
- // 温度范围
- const temperatureData = weatherJsonData.result.daily.temperature[0]
- // 最低温度
- const minTemperature = temperatureData.min
- // 最高温度
- const maxTemperature = temperatureData.max
- weatherInfo.minTemperature = Math.round(minTemperature)
- weatherInfo.maxTemperature = Math.round(maxTemperature)
-
- // 体感温度
- const bodyFeelingTemperature = weatherJsonData.result.realtime.apparent_temperature
- weatherInfo.bodyFeelingTemperature = Math.floor(bodyFeelingTemperature)
-
- // 显示温度
- const temperature = weatherJsonData.result.realtime.temperature
- weatherInfo.temperature = Math.floor(temperature)
-
- // 天气状况 weatherIcos[weatherIco]
- let weather = weatherJsonData.result.realtime.skycon
- let night = hour - 12 >= 7
- let nightCloudy = night && weather == "CLOUDY"
- let nightLightHaze = night && weather == "LIGHT_HAZE"
- let nightModerateHaze = night && weather == "MODERATE_HAZE"
- let nightHeavyHaze = night && weather == "HEAVY_HAZE"
- if (nightCloudy) {
- weather = "CLOUDY_NIGHT"
- }
- if (nightLightHaze) {
- weather = "LIGHT_HAZE_NIGHT"
- }
- if (nightModerateHaze) {
- weather = "MODERATE_HAZE_NIGHT"
- }
- if (nightHeavyHaze) {
- weather = "HEAVY_HAZE_NIGHT"
- }
- weatherInfo.weatherIco = weather
- log(`天气:${weather}`)
-
- // 天气描述
- const weatherDesc = weatherJsonData.result.forecast_keypoint
- weatherInfo.weatherDesc = weatherDesc.replace("。还在加班么?", ",")
- log("天气预告==>" + weatherDesc)
-
- // 相对湿度
- const humidity = (Math.floor(weatherJsonData.result.realtime.humidity * 100)) + "%"
- weatherInfo.humidity = humidity
-
- // 舒适指数
- const comfort = weatherJsonData.result.realtime.life_index.comfort.desc
- weatherInfo.comfort = comfort
- log(`舒适指数:${comfort}`)
-
- // 紫外线指数
- const ultraviolet = weatherJsonData.result.realtime.life_index.ultraviolet.desc
- weatherInfo.ultraviolet = ultraviolet
-
- // 空气质量
- const aqi = weatherJsonData.result.realtime.air_quality.aqi.chn
- const aqiInfo = this.airQuality(aqi)
- weatherInfo.aqiInfo = aqiInfo
-
- // 日出日落
- const astro = weatherJsonData.result.daily.astro[0]
- // 日出
- const sunrise = astro.sunrise.time
- // 日落
- const sunset = astro.sunset.time
- weatherInfo.sunrise = sunrise.toString()
- weatherInfo.sunset = sunset.toString()
-
- // 小时预告
- let hourlyArr = []
- const hourlyData = weatherJsonData.result.hourly
- const temperatureArr = hourlyData.temperature
- const temperatureSkyconArr = hourlyData.skycon
- for (var i = 0; i < temperatureArr.length; i++) {
- let hourlyObj = {}
- hourlyObj.datetime = temperatureArr[i].datetime
- hourlyObj.temperature = Math.round(temperatureArr[i].value)
-
- let weather = temperatureSkyconArr[i].value
- if (nightCloudy) {
- weather = "CLOUDY_NIGHT"
- }
- hourlyObj.skycon = `${weather}`
- hourlyArr.push(hourlyObj)
- }
- weatherInfo.hourly = hourlyArr
- } else {
- log(`请求彩云天气出错:${weatherJsonData.status}`)
- }
-
- return weatherInfo
- }
-
-
- /**
- * 空气指标质量
- * @param {number} levelNum 控制aiq
- */
- airQuality(levelNum) {
- // 0-50 优,51-100 良,101-150 轻度污染,151-200 中度污染
- // 201-300 重度污染,>300 严重污染
- if (levelNum >= 0 && levelNum <= 50) {
- return "优秀"
- } else if (levelNum >= 51 && levelNum <= 100) {
- return "良好"
- } else if (levelNum >= 101 && levelNum <= 150) {
- return "轻度"
- } else if (levelNum >= 151 && levelNum <= 200) {
- return "中度"
- } else if (levelNum >= 201 && levelNum <= 300) {
- return "重度"
- } else {
- return "严重"
- }
- }
-
- /**
- * 获取农历信息
- */
- async getLunar() {
- // 日期
- const currentDate = new Date()
- const dateStr = this.getDateStr(currentDate, 'yyyyMMdd', widgetConfigs.locale)
- // 日历
- const lunarUrl = `https://www.mxnzp.com/api/holiday/single/${dateStr}?app_id=${widgetConfigs.lunarAppid}&app_secret=${widgetConfigs.lunarAppSecret}`
- const lunarJsonData = await this.httpGet(lunarUrl, true, null, 'lunar')
- const data = lunarJsonData.data
- log(`农历信息:${JSON.stringify(data)}`);
- return {
- yearTips: data.yearTips,
- infoLunarText: data.lunarCalendar,
- holidayText: data.solarTerms,
- typeDes: data.typeDes,
- chineseZodiac: data.chineseZodiac,
- avoid: data.avoid,
- suit: data.suit,
- weekOfYear: data.dayOfYear,
- weekOfYear: data.weekOfYear,
- }
- }
-
- /**
- * 筛选日程
- * @param {CalendarEvent} schedule 日程
- * @return 返回符合条件的日程
- */
- shouldShowSchedule(schedule) {
- const currentDate = new Date()
- // 被取消的日程不用显示
- if (schedule.title.startsWith("Canceled:")) { return false }
- // 与当前时间做比较
- let timeInterval = schedule.endDate.getTime() > currentDate.getTime()
- let allDay = widgetConfigs.openAllDaySchedule
- if (!allDay) {
- allDay = !schedule.isAllDay
- }
- // 返回还没过去的
- return timeInterval && allDay
- }
-
- /**
- * 获取手机日程
- */
- async getSchedules() {
- let showSchedules = []
- const todaySchedules = await CalendarEvent.today([])
- for (const schedule of todaySchedules) {
- if (this.shouldShowSchedule(schedule)) {
- // 日程
- let scheduleObj = {}
- // 开始时间
- const startDate = schedule.startDate
- // 年
- const startYear = startDate.getFullYear()
- // 月
- const month = startDate.getMonth() + 1
- // 日
- const day = startDate.getDate()
- // 开始小时
- const startHour = ("0" + startDate.getHours()).slice(-2)
- // 开始分钟
- const startMinute = ("0" + startDate.getMinutes()).slice(-2)
-
- // 结束时间
- const endDate = schedule.endDate
- // 结束小时
- const endHour = ("0" + endDate.getHours()).slice(-2)
- // 结束分钟
- const endMinute = ("0" + endDate.getMinutes()).slice(-2)
-
- // 时间安排展示
- let timeText = month + "月" + day + "日 " + startHour + ":" + startMinute + "~" + endHour + ":" + endMinute
- if (schedule.isAllDay) {
- timeText = "全天"
- }
-
- // 构造格式后的日程
- scheduleObj.title = schedule.title
- scheduleObj.timeText = timeText
- log(`>>日程:${scheduleObj.title} ==> ${timeText}`)
- showSchedules.push(scheduleObj)
- }
- }
-
- return showSchedules
- }
-
- /**
- * 按照时间获取问候语
- * @param {Date} date 公历日期
- * @param {Date} lunarDate 农历日历
- * @return 问候语
- */
- provideGreeting(date, lunarDate) {
- // 农历问候语
- const lunarGreetingText = widgetConfigs.lunarText[`${lunarDate}`]
- if (lunarGreetingText != null && lunarGreetingText != undefined && lunarGreetingText.length > 0) {
- return lunarGreetingText
- }
-
- // 月份
- const month = date.getMonth() + 1
- // 日期
- const day = date.getDate()
- // 小时
- const hour = date.getHours()
- // 纪念日子
- let anniversary = widgetConfigs.anniversaryText[`${month}-${day}`]
- const greetingText = widgetConfigs.greetingText
- if (anniversary == undefined) {
- if (hour < 5) { return greetingText.nightGreeting }
- if (hour < 11) { return greetingText.morningGreeting }
- if (hour >= 11 && hour - 12 <= 1) { return greetingText.noonGreeting }
- if (hour - 12 < 7) { return greetingText.afternoonGreeting }
- if (hour - 12 < 10) { return greetingText.eveningGreeting }
- return greetingText.nightGreeting
- } else {
- return anniversary
- }
- }
-
- /**
- * 在线获取今日诗词
- */
- async getPoetry() {
- // 获取token
- const tokenUrl = "https://v2.jinrishici.com/token"
- const tokenData = await this.httpGet(tokenUrl)
- // 获取诗词
- const poetryUrl = "https://v2.jinrishici.com/sentence"
- const headers = { "X-User-Token": tokenData.data }
- const poetryData = await this.httpGet(poetryUrl, true, headers)
-
- const poetryInfo = poetryData.data
- const contentInfo = `“${poetryInfo.content.substring(0, poetryInfo.content.length - 1)}”`
- const authorText = `⊱${poetryInfo.origin.dynasty}·${poetryInfo.origin.author}⊰`
- let fullContent = contentInfo
- if (contentInfo.length <= 17) {
- fullContent = `${contentInfo} ━ ${authorText}`
- }
- return fullContent
- }
-
- /**
- * 获取丁香医生健康日历
- */
- async getDxHealthCalendar() {
- const url = 'https://dxy.com/app/i/ask/discover/todayfeed/healthcalendar'
- let data = await this.httpGet(url)
- data = data.data.items[0].title.replace('[丁香医生] ', '')
- return `“${data}” ━ ⊱丁香医生⊰`
- }
-
- /**
- * 获取一言
- */
- async getOneWord() {
- const url = 'https://v1.hitokoto.cn/?encode=json'
- const data = await this.httpGet(url)
- return `“${data.hitokoto}”`
- }
-
- /**
- * 下载更新
- */
- async downloadUpdate() {
- let files = FileManager.local()
- const iCloudInUse = files.isFileStoredIniCloud(module.filename)
- files = iCloudInUse ? FileManager.iCloud() : files
- let message = ''
- try {
- const req = new Request("https://gitee.com/enjoyee/scriptable/raw/master/%E6%96%B0%E7%B3%BB%E5%88%97/%E5%BD%A9%E4%BA%91.js")
- const codeString = await req.loadString()
- files.writeString(module.filename, codeString)
- message = "彩云脚本已更新,请退出脚本重新进入运行生效。"
- } catch {
- message = "更新失败,请稍后再试。"
- }
- const options = ["好的"]
- await this.generateAlert(message, options)
- Script.complete()
- }
-
- /**
- * @渲染小组件
- */
- async renderUI() {
- // 获取天气数据
- const weatherInfo = await this.getWeather()
- // 获取农历信息
- const lunarInfo = await this.getLunar()
- // 获取日程
- const schedules = await this.getSchedules()
-
- /*****************************************************/
-
- // 天气对应的图标
- let weatherIcos = this.weatherIcos()
- // 组件背景
- this.bgImg = this.loadLastSavedBgImg()
- if (widgetConfigs.selectPicBg) {
- await this.transparentBg()
- this.bgImg = this.loadLastSavedBgImg()
- }
- // 当前日期
- const currentDate = new Date()
-
- // 小组件
- const widget = new ListWidget()
- let contentStack = widget.addStack()
- contentStack.layoutVertically()
- // 整体内容居中对齐
- contentStack.centerAlignContent()
-
- //>>>>>1
- contentStack.addSpacer(10)
- const titleStack = contentStack.addStack()
- titleStack.layoutHorizontally()
- titleStack.centerAlignContent()
- titleStack.addSpacer()
- // 天气Icon
- let weatherImg = undefined
- if (widgetConfigs.useSF) {
- weatherImg = this.getSFSymbol(widgetConfigs.weatherSFIcos[weatherInfo.weatherIco])
- } else {
- weatherImg = await this.getImageByUrl(weatherIcos[weatherInfo.weatherIco])
- }
- // 显示天气
- let imgWidget = titleStack.addImage(weatherImg)
- imgWidget.imageSize = widgetConfigs.bigWeatherIconSize
- titleStack.addSpacer(8)
- let temperatureTips = weatherInfo.temperature
- // 是否打开天气描述
- if (widgetConfigs.openWeatherDesc) {
- temperatureTips = `${temperatureTips}°`
- } else {
- temperatureTips = `${temperatureTips}°C`
- }
- // 显示温度
- let textWidget = titleStack.addText(`${temperatureTips}`)
- textWidget.font = this.applyTemperatureFont()
- textWidget.textColor = this.applyDefaultTextColor()
- titleStack.addSpacer(8)
- // 是否打开天气描述
- if (widgetConfigs.openWeatherDesc) {
- // 天气描述
- const weatherDesc = widgetConfigs.weatherDesc[weatherInfo.weatherIco]
- // 添加显示
- textWidget = titleStack.addText(`${weatherDesc} • `)
- textWidget.font = this.applyWeatherDescFont()
- textWidget.textColor = this.applyDefaultTextColor()
- textWidget.lineLimit = 1
- }
- //////////////////////////////////
- // 问候语获取内容
- const greeting = this.provideGreeting(currentDate, lunarInfo.infoLunarText)
- // 添加显示标题
- if (widgetConfigs.titleUseCustomFont && this.strContainCn(greeting)) {
- // 缩小字体
- const greetingFontSize = widgetConfigs.greetingFontSize - 4
- const fontUrl = widgetConfigs.cnFontUrl
- const image = await this.drawTextWithCustomFont(fontUrl, greeting, greetingFontSize, widgetConfigs.defaultTextColorHex)
- const imgSpan = titleStack.addImage(image)
- imgSpan.imageSize = new Size(image.size.width / 2, image.size.height / 2)
- imgSpan.centerAlignImage()
- } else {
- textWidget = titleStack.addText(`${greeting}`)
- textWidget.font = this.applyGreetingFont()
- textWidget.textColor = this.applyDefaultTextColor()
- textWidget.lineLimit = 1
- }
-
- titleStack.addSpacer()
-
- /////////////////////////////////////////////////////////////
- //>>>>>2
- // 年月日周
- contentStack.addSpacer(8)
- const dateStack = contentStack.addStack()
- dateStack.layoutHorizontally()
- dateStack.centerAlignContent()
- dateStack.addSpacer()
- const dateStr = this.getDateStr(currentDate, widgetConfigs.dateFormater, widgetConfigs.locale)
-
- // 农历信息
- const infoLunarText = lunarInfo.infoLunarText
- const holidayText = lunarInfo.holidayText
- let dateFullText = `${dateStr} ⊙ ${infoLunarText}`
- if (holidayText.length != 0) {
- dateFullText = `${dateFullText} ⊙ ${holidayText}`
- }
- // 显示
- if (widgetConfigs.dateUseCustomFont) {
- const fontUrl = widgetConfigs.cnFontUrl
- const image = await this.drawTextWithCustomFont(fontUrl, dateFullText, widgetConfigs.dateFontSize, widgetConfigs.dateTextColorHex)
- const imgSpan = dateStack.addImage(image)
- imgSpan.imageSize = new Size(image.size.width / 2, image.size.height / 2)
- imgSpan.centerAlignImage()
- } else {
- textWidget = dateStack.addText(`${dateFullText}`)
- textWidget.font = this.applyDateFont()
- textWidget.textColor = this.applyColor(widgetConfigs.dateTextColorHex, 0.8)
- textWidget.lineLimit = 1
- }
- dateStack.addSpacer()
-
- /////////////////////////////////////////////////////////////
- // 模式轮播
- const cacheKey = 'mode'
- let carouselIndex = 0
- if (Keychain.contains(cacheKey)) {
- let cacheString = Keychain.get(cacheKey)
- carouselIndex = parseInt(cacheString)
- console.log(`索引缓存值---${index}`);
- }
- /////////////////////////////////////////////////////////////
- if (carouselIndex == 0 && widgetConfigs.throwLineCharMode != 1 || widgetConfigs.throwLineCharMode == 3 || widgetConfigs.colorBgMode) {
- console.log(`---普通模式---`);
- carouselIndex = 1
- Keychain.set(cacheKey, `${carouselIndex}`)
- // 普通模式
- //>>>>>3
- contentStack.addSpacer(8)
- const weatherTipsStack = contentStack.addStack()
- weatherTipsStack.layoutHorizontally()
- weatherTipsStack.centerAlignContent()
- weatherTipsStack.addSpacer()
- // 天气预警、预告信息
- const weatherAlertInfo = weatherInfo.alertWeatherTitle
- let weatherDesc = weatherInfo.weatherDesc
- if (weatherAlertInfo != undefined) {
- weatherDesc = weatherAlertInfo
- }
- // 添加显示天气预告信息
- const tipText = `Φ ${weatherDesc} ⊙ 指数≒${weatherInfo.comfort} Φ`
- if (widgetConfigs.weatherDescUseCustomFont) {
- const fontUrl = widgetConfigs.cnFontUrl
- const image = await this.drawTextWithCustomFont(fontUrl, tipText, widgetConfigs.weatherTipsFontSize, widgetConfigs.defaultTextColorHex)
- const imgSpan = weatherTipsStack.addImage(image)
- imgSpan.imageSize = new Size(image.size.width / 2, image.size.height / 2)
- imgSpan.centerAlignImage()
- } else {
- textWidget = weatherTipsStack.addText(tipText)
- textWidget.font = this.applyWeatherTipsFont()
- textWidget.textColor = this.applyDefaultTextColor()
- textWidget.lineLimit = 1
- }
- weatherTipsStack.addSpacer()
-
- /////////////////////////////////////////////////////////////
- //>>>>>4
- contentStack.addSpacer(8)
- const infoStack = contentStack.addStack()
- infoStack.layoutHorizontally()
- infoStack.centerAlignContent()
- infoStack.addSpacer()
- // 内容
- let contentInfo = ""
- if (schedules.length != 0) {
- const scheduleObj = schedules[0]
- contentInfo = `“${scheduleObj.title}” ━ ⊱${scheduleObj.timeText}⊰`
- } else {
- const contentFillMode = widgetConfigs.contentFillMode
- if (contentFillMode == 0) {
- // 内容轮播
- console.log(`内容轮播...`);
- let contentIndex = this.carouselIndex('content', 3)
- if (contentIndex == 0) {
- // 请求一言
- console.log(`请求一言...`);
- contentInfo = await this.getOneWord()
- } else if (contentIndex == 1) {
- // 请求丁香医生健康日历
- console.log(`请求丁香...`);
- contentInfo = await this.getDxHealthCalendar()
- } else {
- // 请求今日诗词
- console.log(`请求诗词...`);
- contentInfo = await this.getPoetry()
- }
- } else if (contentFillMode == 1) {
- // 请求一言
- console.log(`请求一言...`);
- contentInfo = await this.getOneWord()
- } else if (contentFillMode == 2) {
- // 请求丁香医生健康日历
- console.log(`请求丁香...`);
- contentInfo = await this.getDxHealthCalendar()
- } else if (contentFillMode == 3) {
- // 请求今日诗词
- console.log(`请求诗词...`);
- contentInfo = await this.getPoetry()
- }
- }
- // 添加今日tips
- infoStack.backgroundColor = this.applyColor(widgetConfigs.contentBgHex, 0.2)
- infoStack.cornerRadius = 4
- infoStack.setPadding(6, 6, 6, 6)
- // 添加内容
- if (widgetConfigs.contentUseCustomFont) {
- const fontUrl = widgetConfigs.cnFontUrl
- const image = await this.drawTextWithCustomFont(fontUrl, contentInfo, widgetConfigs.contentFontSize, widgetConfigs.contentTextColorHex)
- const imgSpan = infoStack.addImage(image)
- imgSpan.imageSize = new Size(image.size.width / 2, image.size.height / 2)
- imgSpan.centerAlignImage()
- } else {
- textWidget = infoStack.addText(contentInfo)
- textWidget.font = this.applyContentFont()
- textWidget.textColor = this.applyColor(widgetConfigs.contentTextColorHex, 0.7)
- textWidget.lineLimit = 1
- textWidget.centerAlignText()
- }
- infoStack.addSpacer()
-
-
- /////////////////////////////////////////////////////////////
- //>>>>>5
- // 图标大小
- const iconSize = widgetConfigs.lovelyIconSize
- const spacer = 8
- // 图标边距
- const iconMargin = 10
- contentStack.addSpacer(spacer)
- let updateStack = contentStack.addStack()
- updateStack.layoutHorizontally()
- updateStack.centerAlignContent()
- updateStack.addSpacer()
- // 显示底部图标栏1
- const lovelyImgArr = widgetConfigs.lovelyImgArr
- // 缓存目录
- let lovelyImg = await this.getImageByUrl(lovelyImgArr[0])
- imgWidget = updateStack.addImage(lovelyImg)
- imgWidget.imageSize = iconSize
- updateStack.addSpacer(iconMargin)
-
- // 显示底部图标栏2
- // 缓存目录
- lovelyImg = await this.getImageByUrl(lovelyImgArr[1])
- imgWidget = updateStack.addImage(lovelyImg)
- imgWidget.imageSize = iconSize
- updateStack.addSpacer(iconMargin)
-
- // 显示底部图标栏3
- // 缓存目录
- lovelyImg = await this.getImageByUrl(lovelyImgArr[2])
- imgWidget = updateStack.addImage(lovelyImg)
- imgWidget.imageSize = iconSize
- updateStack.addSpacer(iconMargin)
-
- // 显示底部图标栏4
- // 缓存目录
- lovelyImg = await this.getImageByUrl(lovelyImgArr[3])
- imgWidget = updateStack.addImage(lovelyImg)
- imgWidget.imageSize = iconSize
- updateStack.addSpacer(iconMargin)
-
- // 添加更新时间
- const updateText = `${this.getDateStr(new Date(), "HH:mm")} updated`
- // 添加内容
- textWidget = updateStack.addText(updateText)
- textWidget.font = this.applyUpdateFont()
- textWidget.textColor = this.applyColor(widgetConfigs.updateTextColorHex, 0.6)
- textWidget.lineLimit = 1
- updateStack.addSpacer(iconMargin)
-
- // 显示底部图标栏5
- // 缓存目录
- lovelyImg = await this.getImageByUrl(lovelyImgArr[4])
- imgWidget = updateStack.addImage(lovelyImg)
- imgWidget.imageSize = iconSize
- updateStack.addSpacer(iconMargin)
-
- // 显示底部图标栏6
- // 缓存目录
- lovelyImg = await this.getImageByUrl(lovelyImgArr[5])
- imgWidget = updateStack.addImage(lovelyImg)
- imgWidget.imageSize = iconSize
- updateStack.addSpacer(iconMargin)
-
- // 显示底部图标栏7
- // 缓存目录
- lovelyImg = await this.getImageByUrl(lovelyImgArr[6])
- imgWidget = updateStack.addImage(lovelyImg)
- imgWidget.imageSize = iconSize
- updateStack.addSpacer(iconMargin)
-
- // 显示底部图标栏8
- // 缓存目录
- lovelyImg = await this.getImageByUrl(lovelyImgArr[7])
- imgWidget = updateStack.addImage(lovelyImg)
- imgWidget.imageSize = iconSize
-
- //
- updateStack.addSpacer()
- } else {
- /////////////////////////////////////////////////////////////
- carouselIndex = 0
- Keychain.set(cacheKey, `${carouselIndex}`)
- console.log(`---折线图模式---`);
- const width = this.getWidgetWidthSize('中号', widgetConfigs.isIphone12Mini)
- // 折线画板高度
- const height = 80
-
- const drawContext = new DrawContext()
- drawContext.respectScreenScale = true
- drawContext.size = new Size(width, height)
- drawContext.opaque = false
- drawContext.setTextAlignedCenter()
-
- const startX = 35 // 起点
- const weatherIcoCount = 8 // icon数量
- const perSize = (width - 2 * startX) / (weatherIcoCount - 1) // 每个item间隔
- const coordArr = [] // 所有坐标
- const foldArea = height - 40 // 温度曲线所占高度
- const foldY = 20 // 垂直开始位置
- const areaSize = 20
-
- // 温度差
- let subWeatherArr = weatherInfo.hourly.slice(0, 8)
- subWeatherArr = subWeatherArr.sort(function (a, b) { return a.temperature - b.temperature })
- const maxTemperature = subWeatherArr[subWeatherArr.length - 1].temperature
- const minTemperature = subWeatherArr[0].temperature
- let temperatureDifference = maxTemperature - minTemperature
- temperatureDifference = Math.max(1, temperatureDifference)
- // 每一度所占高度
- const perTemperatureSize = (foldArea - areaSize) / temperatureDifference
-
- for (var index = 0; index < weatherIcoCount; index++) {
- let hourlyTemperature = weatherInfo.hourly[index]
- let imgCoorX = startX - areaSize / 2 + perSize * index
- let imgCoorY = foldY + (maxTemperature - hourlyTemperature.temperature) * perTemperatureSize
- coordArr.push(imgCoorX)
- coordArr.push(imgCoorY)
- }
-
- let temperatureIndex = 0
- for (var index = 0; index < weatherIcoCount * 2; index = index + 2) {
- let hourlyTemperature = weatherInfo.hourly[temperatureIndex]
-
- // 连线
- if (index <= weatherIcoCount * 2 - 2 * 2) {
- let x1 = coordArr[index] + areaSize / 2 - 2
- let y1 = coordArr[index + 1] + areaSize / 2 - 2
- let x2 = coordArr[index + 2] + areaSize / 2 - 2
- let y2 = coordArr[index + 3] + areaSize / 2 - 2
- this.drawLine(drawContext, x1, y1, x2, y2, 1.3, this.applyColor(widgetConfigs.foldLineColorHex, 0.5))
- }
-
- // 天气图标
- let weatherIconX = coordArr[index]
- let weatherIconY = coordArr[index + 1]
- if (widgetConfigs.useSF) {
- let img = this.getSFSymbol(widgetConfigs.weatherSFIcos[hourlyTemperature.skycon])
- this.drawImage(drawContext, img, weatherIconX, weatherIconY - 3)
- } else {
- const img = await this.getImageByUrl(weatherIcos[hourlyTemperature.skycon])
- // 缩放因子
- const scaleFactor = img.size.width / areaSize
- const rect = new Rect(weatherIconX, weatherIconY, areaSize, img.size.height / scaleFactor)
- drawContext.drawImageInRect(img, rect)
- }
-
- // 温度
- let weatherX = coordArr[index] + 4
- let weatherY = weatherIconY - areaSize / 2 - 3
- this.drawText(drawContext, `${hourlyTemperature.temperature}°`, 9, weatherX, weatherY)
-
- // 时间
- let timeX = weatherX
- let timeY = foldArea + foldY + areaSize / 3
- let timeText = this.getDateStr(new Date(hourlyTemperature.datetime), "HH", widgetConfigs.locale)
- this.drawText(drawContext, `${timeText}`, 10, timeX, timeY)
-
- temperatureIndex++
- }
-
- contentStack.addSpacer(5)
- const foldLineStack = contentStack.addStack()
- foldLineStack.size = new Size(width, height)
- foldLineStack.layoutHorizontally()
- imgWidget = foldLineStack.addImage(drawContext.getImage())
- imgWidget.centerAlignImage()
- }
-
- //
- contentStack.addSpacer()
-
- if (!widgetConfigs.colorBgMode) {
- // 手动设置组件背景
- widget.backgroundImage = this.bgImg
- } else {
- // 设置纯色背景
- widget.backgroundColor = widgetConfigs.bgColor
- }
-
- return widget
- }
-
- /**
- * @渲染
- */
- async render() {
- // 下载更新
- if (widgetConfigs.openDownload && config.runsInApp) {
- const message = "同步彩云天气远程脚本?"
- const options = ["运行脚本", "下载脚本"]
- let typeIndex = await this.generateAlert(message, options)
- if (typeIndex == 1) {
- await this.downloadUpdate()
- } else {
- return await this.renderUI()
- }
- } else {
- return await this.renderUI()
- }
- }
-
-}
-
-// @运行测试
-const { Running } = require("./lsp环境")
-if (widgetConfigs.apiKey.length == 0) {
- console.error(`请先填入彩云的ApiKey!!`)
-} else {
- await Running(Widget, Script.name(), false)
-}
diff --git "a/\345\275\251\344\272\221\346\212\230\347\272\277.js" "b/\345\275\251\344\272\221\346\212\230\347\272\277.js"
new file mode 100644
index 0000000..130ad4e
--- /dev/null
+++ "b/\345\275\251\344\272\221\346\212\230\347\272\277.js"
@@ -0,0 +1,616 @@
+// Variables used by Scriptable.
+// These must be at the very top of the file. Do not edit.
+// icon-color: deep-blue; icon-glyph: bolt;
+/**
+ * Author:LSP
+ * Date:2023-05-24
+ */
+// -------------------------------------------------------
+// 是否是开发环境,配合手机端调试使用,正式发布设置为false
+const isDev = false;
+const dependencyLSP = '20230512';
+console.log(`当前环境 👉👉👉👉👉 ${isDev ? 'DEV' : 'RELEASE'}`);
+console.log(`----------------------------------------`);
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+// 依赖包目录
+const fm = FileManager.local();
+const rootDir = fm.documentsDirectory();
+const cacheDir = fm.joinPath(rootDir, 'LSP');
+const dependencyFileName = isDev ? "_LSP.js" : `${cacheDir}/_LSP.js`;
+// 下载依赖包
+await downloadLSPDependency();
+// -------------------------------------------------------
+if (typeof require === 'undefined') require = importModule
+// 引入相关方法
+const { BaseWidget } = require(dependencyFileName);
+
+// @定义小组件
+class Widget extends BaseWidget {
+
+ defaultPreference = {
+ caiyun: 'UR8ASaplvIwavDfR',
+ weatherIco: '1',
+ lineMode: '1',
+ lineHeight: 76,
+ dateFontDayColor: '#FFFFFF',
+ dateFontNightColor: '#FFFFFF',
+ currentTemperatureDayColor: '#FFFFFF',
+ currentTemperatureNightColor: '#FFFFFF',
+ };
+
+ getValueByKey = (key) => this.readWidgetSetting()[key] ?? this.defaultPreference[key];
+
+ caiyun = () => this.getValueByKey('caiyun');
+
+ dateFontDayColor = () => this.getValueByKey('dateFontDayColor');
+ dateFontNightColor = () => this.getValueByKey('dateFontNightColor');
+
+ currentTemperatureDayColor = () => this.getValueByKey('currentTemperatureDayColor');
+ currentTemperatureNightColor = () => this.getValueByKey('currentTemperatureNightColor');
+
+ constructor(scriptName) {
+ super(scriptName);
+ }
+
+ async getAppViewOptions() {
+ return {
+ widgetProvider: {
+ small: false, // 是否提供小号组件
+ medium: true, // 是否提供中号组件
+ large: false, // 是否提供大号组件
+ },
+ // 预览界面的组件设置item
+ settingItems: [
+ {
+ name: 'weatherIco',
+ label: '天气图标',
+ type: 'select',
+ icon: `${this.getRemoteRootPath()}/img/ic_weather.gif`,
+ needLoading: false,
+ options: [
+ { label: '第1套图标', value: '1' },
+ { label: '第2套图标', value: '2' },
+ { label: '第3套图标', value: '3' },
+ { label: '第4套图标', value: '4' },
+ { label: '第5套图标', value: '5' },
+ { label: '第6套图标', value: '6' },
+ { label: '第7套图标', value: '7' },
+ { label: '第8套图标', value: '8' },
+ { label: '第9套图标', value: '9' },
+ { label: '第10套图标', value: '10' },
+ { label: '第11套图标', value: '11' },
+ { label: '第12套图标', value: '12' },
+ { label: '第13套图标', value: '13' },
+ ],
+ default: "1"
+ },
+ {
+ name: 'lineMode',
+ label: '折线数据',
+ type: 'select',
+ icon: { name: 'chart.xyaxis.line', color: '#11c4d4', },
+ needLoading: false,
+ options: [
+ { label: '小时', value: '1' },
+ { label: '每日', value: '2' },
+ ],
+ default: "1"
+ },
+ {
+ name: 'otherSetting',
+ label: '其他设置',
+ type: 'cell',
+ icon: 'https://cdnjson.com/images/2024/02/05/settings.png',
+ needLoading: true,
+ childItems: [
+ {
+ items: [
+ {
+ name: 'caiyun',
+ label: '彩云key',
+ type: 'cell',
+ icon: `${this.getRemoteRootPath()}/img/icon_caiyun.png`,
+ alert: {
+ title: '彩云key',
+ message: "已使用默认key,如果不可用了需要自己去申请填入替换",
+ options: [
+ {
+ key: 'caiyun',
+ hint: '请输入彩云key',
+ }
+ ]
+ },
+ needLoading: false,
+ default: this.caiyun(),
+ },
+ {
+ name: 'dateFontDayColor',
+ label: '日期文字浅色颜色',
+ type: 'color',
+ icon: { name: 'sun.min.fill', color: '#3a86ff', },
+ needLoading: false,
+ default: this.dateFontDayColor(),
+ },
+ {
+ name: 'dateFontNightColor',
+ label: '日期文字深色颜色',
+ type: 'color',
+ icon: { name: 'moon.fill', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.dateFontNightColor(),
+ },
+ {
+ name: 'currentTemperatureDayColor',
+ label: '温度文字浅色颜色',
+ type: 'color',
+ icon: { name: 'sun.min.fill', color: '#3a86ff', },
+ needLoading: false,
+ default: this.currentTemperatureDayColor(),
+ },
+ {
+ name: 'currentTemperatureNightColor',
+ label: '温度文字深色颜色',
+ type: 'color',
+ icon: { name: 'moon.fill', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.currentTemperatureNightColor(),
+ },
+ ],
+ },
+ ]
+ },
+ ],
+ // cell类型的item点击回调
+ onItemClick: async (item) => {
+ let widgetSetting = this.readWidgetSetting();
+ let insertDesc;
+ switch (item.name) {
+ case 'quickStart':
+ break;
+ }
+ // 写入更新配置
+ this.writeWidgetSetting(widgetSetting);
+ return {
+ desc: { value: insertDesc },
+ };
+ },
+ };
+ }
+
+ async render({ widgetSetting, family }) {
+ //=================================
+ const { temperature, lineCharImg, weatherIcoList, labels } = await this.loadWeatherStack();
+ //=================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ let textWidget;
+ //=================================
+ const fullDateText = await this.loadDateStack();
+ let topStack = widget.addStack();
+ topStack.layoutHorizontally();
+ topStack.centerAlignContent();
+ topStack.addSpacer(20);
+ textWidget = topStack.addText(fullDateText);
+ textWidget.textColor = this.dynamicColor(this.dateFontDayColor(), this.dateFontNightColor());
+ textWidget.font = Font.semiboldSystemFont(12);
+ topStack.addSpacer();
+ //
+ textWidget = topStack.addText(`${temperature}°`);
+ textWidget.textColor = this.dynamicColor(this.currentTemperatureDayColor(), this.currentTemperatureNightColor());
+ textWidget.font = Font.semiboldSystemFont(18);
+ topStack.addSpacer(20);
+
+ //
+ const lineCharStack = widget.addStack();
+ lineCharStack.size = new Size(0, this.defaultPreference.lineHeight);
+ lineCharStack.addImage(lineCharImg);
+
+ //
+ const weatherIconStack = widget.addStack();
+ weatherIconStack.layoutHorizontally();
+ weatherIconStack.addSpacer();
+ const icoSize = new Size(18, 18);
+ for (const icoImg of weatherIcoList) {
+ let imgStack = weatherIconStack.addImage(icoImg);
+ imgStack.imageSize = icoSize;
+ weatherIconStack.addSpacer();
+ }
+
+ //
+ widget.addSpacer(4)
+ const weatherTimeStack = widget.addStack();
+ weatherTimeStack.layoutHorizontally();
+ weatherTimeStack.addSpacer();
+ for (const label of labels) {
+ textWidget = weatherTimeStack.addText(label);
+ textWidget.textColor = this.dynamicColor(this.dateFontDayColor(), this.dateFontNightColor());
+ textWidget.font = Font.semiboldSystemFont(11);
+ weatherTimeStack.addSpacer();
+ }
+
+ //---------------------------------
+ //=================================
+ return widget;
+ }
+
+ /**
+ *
+ * @param {Array} labels X轴标签数组
+ * @param {Array} datas 温度数组
+ * @param {Number} lineHeight 图高
+ * @param {Array} gradientColorArr 渐变色数组
+ */
+ async renderLineChar(labels, datas, lineHeight = this.defaultPreference.lineHeight, gradientColorArr = ['#FFFFFF', '#FEC163', '#DE4313']) {
+ const temperatureColor = Device.isUsingDarkAppearance() ? this.currentTemperatureNightColor() : this.currentTemperatureDayColor();
+ const chartStr = `
+ {
+ 'type': 'bar',
+ 'data': {
+ 'labels': ${JSON.stringify(labels)}, // 数据替换
+ 'datasets': [
+ {
+ type: 'line',
+ backgroundColor: getGradientFillHelper('horizontal', ${JSON.stringify(gradientColorArr)}),
+ borderColor: getGradientFillHelper('horizontal', ${JSON.stringify(gradientColorArr)}),
+ 'borderWidth': 2,
+ pointRadius: 2,
+ 'fill': false,
+ 'data': ${JSON.stringify(datas)}, // 折线对应数据
+ },
+ ],
+ },
+ 'options': {
+ plugins: {
+ datalabels: {
+ display: true,
+ align: 'top',
+ color: '${temperatureColor}', // 折线上的数据点对应的文字颜色
+ font: {
+ size: '12'
+ }
+ },
+ },
+ layout: {
+ padding: {
+ left: 0,
+ right: 10,
+ top: 30,
+ bottom: 0
+ }
+ },
+ 'legend': {
+ 'display': false,
+ },
+ scales: {
+ xAxes: [ // X 轴线
+ {
+ gridLines: {
+ display: false,
+ color: '#000000',
+ },
+ ticks: {
+ display: false,
+ fontColor: '#b598a1', // x轴label文字颜色
+ fontSize: '14',
+ },
+ },
+ ],
+ yAxes: [
+ {
+ ticks: {
+ display: false
+ },
+ gridLines: {
+ display: false
+ },
+ },
+ ],
+ },
+ },
+ }`
+ const { width } = this.getWidgetSize('中号');
+ const url = `https://quickchart.io/chart?w=${width}&h=${lineHeight}&f=png&c=${encodeURIComponent(chartStr)}`
+ return await this.getImageByUrl(url)
+ }
+
+ loadDateStack = async () => {
+ // ========================================
+ // 获取农历信息
+ const lunarInfo = await this.getLunarInfo();
+ // ========================================
+ const infoLunarText = ` ${lunarInfo.infoLunarText}`;
+ let holidayText = lunarInfo.holidayText;
+ holidayText = holidayText ? ` · ${holidayText}` : '';
+ return `${this.getDateStr(new Date(), 'M月d日 EEE')}${infoLunarText}${holidayText}`;
+ }
+
+ loadWeatherStack = async () => {
+ // ========================================
+ // 请求彩云
+ const weatherInfo = await this.getWeather();
+ // ========================================
+ const labels = [];
+ const temperatureList = [];
+ const weatherIcoList = [];
+ const hourlyArr = weatherInfo.hourly;
+ const daily = weatherInfo.daily;
+
+ if (Number(this.getValueByKey('lineMode')) == 1) {
+ for (let index = 0; index < hourlyArr.length; index++) {
+ if (index >= 8) {
+ break
+ }
+ const hourly = hourlyArr[index];
+ const timeText = this.getDateStr(new Date(hourly.datetime), "HH");
+ labels.push(`${timeText}时`);
+ temperatureList.push(`${hourly.temperature}`);
+ // 天气图标
+ let icoImg = await this.getImageByUrl(weatherInfo.weatherIcoUrl);
+ weatherIcoList.push(icoImg);
+ }
+ } else {
+ const temperatureArr = daily.temperature;
+ for (let index = 0; index < temperatureArr.length; index++) {
+ const dailyTemperature = temperatureArr[index];
+ const dateText = dailyTemperature.date.slice(8, 10);
+ labels.push(`${dateText}日`);
+ temperatureList.push(`${Math.round(dailyTemperature.avg)}`);
+ // 天气图标
+ let icoImg = await this.getImageByUrl(weatherInfo.weatherIcoUrl);
+ weatherIcoList.push(icoImg);
+ }
+ }
+
+ let lineCharImg = await this.renderLineChar(labels, temperatureList);
+ // ========================================
+ return { lineCharImg, weatherIcoList, labels, temperature: weatherInfo.temperature };
+ }
+
+ // --------------------------NET START--------------------------
+
+ /**
+ * 获取彩云天气信息
+ * @param {*} dailysteps
+ * @returns
+ */
+ getWeather = async (dailysteps = 7) => {
+ const remoteRootPath = this.getRemoteRootPath();
+
+ // 开启质量
+ function airQuality(levelNum) {
+ // 0-50 优,51-100 良,101-150 轻度污染,151-200 中度污染
+ // 201-300 重度污染,>300 严重污染
+ if (levelNum >= 0 && levelNum <= 50) {
+ return "优秀";
+ } else if (levelNum >= 51 && levelNum <= 100) {
+ return "良好";
+ } else if (levelNum >= 101 && levelNum <= 150) {
+ return "轻度";
+ } else if (levelNum >= 151 && levelNum <= 200) {
+ return "中度";
+ } else if (levelNum >= 201 && levelNum <= 300) {
+ return "重度";
+ } else {
+ return "严重";
+ }
+ }
+
+ // 获取天气icon
+ function getWeatherIco(weatherDesc, keyIndex) {
+ return { keyIndex, url: `${remoteRootPath}/img/icon/weather${keyIndex}/${weatherDesc}.png` };
+ }
+
+ // 获取位置
+ let location = await this.getLocation();
+ // 彩云api key
+ const caiyunKey = this.caiyun();
+ // 彩云天气api
+ const url = `https://api.caiyunapp.com/v2.5/${caiyunKey}/${location.longitude},${location.latitude}/weather.json?alert=true&dailysteps=${dailysteps}`;
+ const weatherJsonData = await this.httpGet(url, { dataSuccess: (res) => res?.status == "ok" });
+ // 天气数据
+ let weatherInfo = {};
+ if (weatherJsonData) {
+ // 天气突发预警
+ let alertWeather = weatherJsonData.result.alert.content;
+ if (alertWeather.length > 0) {
+ const alertWeatherTitle = alertWeather[0].title;
+ console.log(`👉突发的天气预警:${alertWeatherTitle}`);
+ weatherInfo.alertWeatherTitle = alertWeatherTitle;
+ }
+ // 全部温度
+ weatherInfo.daily = weatherJsonData.result.daily;
+ // 温度范围
+ const temperatureData = weatherInfo.daily.temperature[0];
+ // 最低温度
+ const minTemperature = temperatureData.min;
+ // 最高温度
+ const maxTemperature = temperatureData.max;
+ weatherInfo.minTemperature = Math.round(minTemperature);
+ weatherInfo.maxTemperature = Math.round(maxTemperature);
+ // 体感温度
+ const bodyFeelingTemperature = weatherJsonData.result.realtime.apparent_temperature;
+ weatherInfo.bodyFeelingTemperature = Math.floor(bodyFeelingTemperature);
+ // 显示温度
+ const temperature = weatherJsonData.result.realtime.temperature;
+ weatherInfo.temperature = Math.floor(temperature);
+ // 天气状况
+ let weather = weatherJsonData.result.realtime.skycon;
+ weatherInfo.weatherIco = weather;
+ const weatherIcoObj = getWeatherIco(weather, Number(this.getValueByKey('weatherIco', 1)));
+ this.defaultPreference.weatherIcoSize = (weatherIcoObj.keyIndex == 11 || weatherIcoObj.keyIndex == 12) ? 38 : 30;
+ weatherInfo.weatherIcoUrl = weatherIcoObj.url;
+ // 天气描述
+ const weatherDesc = weatherJsonData.result.forecast_keypoint;
+ weatherInfo.weatherDesc = weatherDesc;
+ console.log("👉 天气预告:" + weatherDesc);
+ // 降水率
+ weatherInfo.probability = weatherJsonData.result.minutely.probability;
+ // 相对湿度
+ const humidity = (Math.floor(weatherJsonData.result.realtime.humidity * 100)) + "%";
+ weatherInfo.humidity = humidity;
+ // 舒适指数
+ const comfort = weatherJsonData.result.realtime.life_index.comfort.desc;
+ weatherInfo.comfort = comfort;
+ // 紫外线指数
+ const ultraviolet = weatherJsonData.result.realtime.life_index.ultraviolet.desc;
+ weatherInfo.ultraviolet = ultraviolet;
+ // 空气质量
+ const aqi = weatherJsonData.result.realtime.air_quality.aqi.chn;
+ const aqiInfo = airQuality(aqi);
+ weatherInfo.aqiInfo = aqiInfo;
+ // 日出日落
+ const astro = weatherJsonData.result.daily.astro[0];
+ // 日出
+ const sunrise = astro.sunrise.time;
+ // 日落
+ const sunset = astro.sunset.time;
+ weatherInfo.sunrise = sunrise.toString();
+ weatherInfo.sunset = sunset.toString();
+ // 小时预告
+ let hourlyArr = [];
+ const hourlyData = weatherJsonData.result.hourly;
+ const temperatureArr = hourlyData.temperature;
+ const temperatureSkyconArr = hourlyData.skycon;
+ for (var i = 0; i < temperatureArr.length; i++) {
+ let hourlyObj = {};
+ hourlyObj.datetime = temperatureArr[i].datetime;
+ hourlyObj.temperature = Math.round(temperatureArr[i].value);
+ let weather = temperatureSkyconArr[i].value;
+ hourlyObj.skycon = `${weather}`;
+ hourlyArr.push(hourlyObj);
+ }
+ weatherInfo.hourly = hourlyArr;
+ } else {
+ console.error(`🚫 请求彩云天气出错`);
+ }
+ this.logDivider();
+ return weatherInfo;
+ }
+
+ // --------------------------NET END--------------------------
+
+}
+
+await new Widget(Script.name()).run();
+
+
+// =================================================================================
+// =================================================================================
+async function downloadLSPDependency() {
+ let fm = FileManager.local();
+ const fileName = fm.joinPath(fm.documentsDirectory(), `LSP/${Script.name()}/settings.json`);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ const use_github = JSON.parse(cacheString)['use_github'];
+ const dependencyURL = `${use_github ? remoteGithubRoot : remoteHomeLandRoot}/_LSP.js`;
+ const update = needUpdateDependency();
+ if (isDev) {
+ const iCloudPath = FileManager.iCloud().documentsDirectory();
+ const localIcloudDependencyExit = fm.isFileStoredIniCloud(`${iCloudPath}/_LSP.js`);
+ const localDependencyExit = fm.fileExists(`${rootDir}/_LSP.js`);
+ const fileExist = localIcloudDependencyExit || localDependencyExit;
+ console.log(`🚀 DEV开发依赖文件${fileExist ? '已存在 ✅' : '不存在 🚫'}`);
+ if (!fileExist || update) {
+ console.log(`🤖 DEV 开始${update ? '更新' + dependencyLSP : '下载'}依赖~`);
+ keySave('VERSION', dependencyLSP);
+ await downloadFile2Scriptable('_LSP', dependencyURL);
+ }
+ return;
+ }
+
+ //////////////////////////////////////////////////////////
+ console.log(`----------------------------------------`);
+ const remoteDependencyExit = fm.fileExists(`${cacheDir}/_LSP.js`);
+ console.log(`🚀 RELEASE依赖文件${remoteDependencyExit ? '已存在 ✅' : '不存在 🚫'}`);
+ // ------------------------------
+ if (!remoteDependencyExit || update) { // 下载依赖
+ // 创建根目录
+ if (!fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir, true);
+ }
+ // 下载
+ console.log(`🤖 RELEASE开始${update ? '更新' : '下载'}依赖~`);
+ console.log(`----------------------------------------`);
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ fm.write(fm.joinPath(cacheDir, '/_LSP.js'), moduleJs);
+ keySave('VERSION', dependencyLSP);
+ console.log('✅ LSP远程依赖环境下载成功!');
+ console.log(`----------------------------------------`);
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ console.log(`----------------------------------------`);
+ }
+ }
+}
+
+/**
+ * 获取保存的文件名
+ * @param {*} fileName
+ * @returns
+ */
+function getSaveFileName(fileName) {
+ const hasSuffix = fileName.lastIndexOf(".") + 1;
+ return !hasSuffix ? `${fileName}.js` : fileName;
+};
+
+/**
+ * 保存文件到Scriptable软件目录,app可看到
+ * @param {*} fileName
+ * @param {*} content
+ * @returns
+ */
+function saveFile2Scriptable(fileName, content) {
+ try {
+ const fm = FileManager.iCloud();
+ let fileSimpleName = getSaveFileName(fileName);
+ const filePath = fm.joinPath(fm.documentsDirectory(), fileSimpleName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+/**
+ * 下载js文件到Scriptable软件目录
+ * @param {*} moduleName 名称
+ * @param {*} url 在线地址
+ * @returns
+ */
+async function downloadFile2Scriptable(moduleName, url) {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return saveFile2Scriptable(`${moduleName}`, content);
+};
+
+/**
+ * 是否需要更新依赖版本
+ */
+function needUpdateDependency() {
+ return dependencyLSP != keyGet('VERSION');
+};
+
+function keySave(cacheKey, cache) {
+ if (cache) {
+ Keychain.set(Script.name() + cacheKey, cache);
+ }
+}
+
+function keyGet(cacheKey, defaultValue = '') {
+ if (Keychain.contains(Script.name() + cacheKey)) {
+ return Keychain.get(Script.name() + cacheKey);
+ } else {
+ return defaultValue;
+ }
+}
+// =================================================================================
+// =================================================================================
\ No newline at end of file
diff --git "a/\345\275\251\344\272\221\346\212\230\347\272\277/WechatIMG1.jpeg" "b/\345\275\251\344\272\221\346\212\230\347\272\277/WechatIMG1.jpeg"
deleted file mode 100644
index e649656..0000000
Binary files "a/\345\275\251\344\272\221\346\212\230\347\272\277/WechatIMG1.jpeg" and /dev/null differ
diff --git "a/\345\275\251\344\272\221\346\212\230\347\272\277/WechatIMG2.jpeg" "b/\345\275\251\344\272\221\346\212\230\347\272\277/WechatIMG2.jpeg"
deleted file mode 100644
index edeaa10..0000000
Binary files "a/\345\275\251\344\272\221\346\212\230\347\272\277/WechatIMG2.jpeg" and /dev/null differ
diff --git "a/\345\275\251\344\272\221\346\212\230\347\272\277/WechatIMG3.jpeg" "b/\345\275\251\344\272\221\346\212\230\347\272\277/WechatIMG3.jpeg"
deleted file mode 100644
index 5123997..0000000
Binary files "a/\345\275\251\344\272\221\346\212\230\347\272\277/WechatIMG3.jpeg" and /dev/null differ
diff --git "a/\345\275\251\344\272\221\346\212\230\347\272\277/\345\275\251\344\272\221\346\212\230\347\272\277.js" "b/\345\275\251\344\272\221\346\212\230\347\272\277/\345\275\251\344\272\221\346\212\230\347\272\277.js"
deleted file mode 100644
index 8401b4c..0000000
--- "a/\345\275\251\344\272\221\346\212\230\347\272\277/\345\275\251\344\272\221\346\212\230\347\272\277.js"
+++ /dev/null
@@ -1,585 +0,0 @@
-// Variables used by Scriptable.
-// These must be at the very top of the file. Do not edit.
-// icon-color: green; icon-glyph: user-astronautc;
-/**
-* Author:LSP
-* Date:2021-09-25
-*/
-// @导入引用开发环境
-if (typeof require === 'undefined') require = importModule
-const { Base } = require("./lsp环境")
-
-// @小组件配置
-const widgetConfigs = {
- // 打开更新,直接同步远程彩云脚本
- openDownload: true,
- // 备用仓库地址
- useGithub: false,
-
- apiKey: "", // 彩云key
-
- // 是否显示地区
- showLocation: true,
- // 是否显示当前温度
- showCurrentTemperature: true,
- // 是否使用SF系统天气图标
- useSF: false,
- locale: "zh-cn", // 地区
- // 锁定地区,直接使用上述填写的地址信息不进行定位
- lockLocation: false,
- // 位置,可以不进行定位,或者定位为出错的时候使用
- location: {
- "latitude": undefined,
- "longitude": undefined,
- "locality": undefined,
- "subLocality": undefined
- },
-
- // 是否是iPhone12mini
- isIphone12Mini: false,
- refreshInterval: 10, // 缓存刷新时间--估算(单位:分钟)
- // 预览模式:0:小尺寸,1:中等尺寸,2:大尺寸,负数:不预览
- previewMode: 1,
-
- // 默认文字颜色
- defaultTextColor: new Color('FFFFFF'),
- // 默认文字
- defaultFont: Font.semiboldSystemFont(11),
-
- // 当前温度文字
- nowTemperatureFont: Font.mediumSystemFont(16),
-
- // 当前日期文字
- currentDateFont: Font.systemFont(17),
-
- selectPicBg: true, // 选择图片
- colorBgMode: false, // 纯色背景模式
- bgColor: Color.black(), // 黑色背景
-
- // 折线高度
- lineCharHeight: 65,
- // 天气icon尺寸
- weatherIconSize: new Size(18, 18),
-
- padding: {
- top: 10, // 上边距
- left: 2, // 左边距
- bottom: 10, // 底边距
- right: 2, // 右边距
- },
-
- // 天气描述
- weatherDesc: {
- CLEAR_DAY: "Sunny",
- CLEAR_NIGHT: "Sunny",
- PARTLY_CLOUDY_DAY: "Cloudy",
- PARTLY_CLOUDY_NIGHT: "Cloudy",
- CLOUDY: "Cloudy",
- CLOUDY_NIGHT: "Cloudy",
- LIGHT_HAZE: "Haze",
- LIGHT_HAZE_NIGHT: "Haze",
- MODERATE_HAZE: "Haze",
- MODERATE_HAZE_NIGHT: "Haze",
- HEAVY_HAZE: "Haze",
- HEAVY_HAZE_NIGHT: "Haze",
- LIGHT_RAIN: "Light Rain",
- MODERATE_RAIN: "Moderate Rain",
- HEAVY_RAIN: "Heavy Rain",
- STORM_RAIN: "Storm Rain",
- FOG: "Fog",
- LIGHT_SNOW: "Light Snow",
- MODERATE_SNOW: "Moderate Snow",
- HEAVY_SNOW: "Heavy Snow",
- STORM_SNOW: "Storm Snow",
- DUST: "Dust",
- SAND: "Sand",
- WIND: "Wind",
- },
- // 天气对应的icon
- weatherIcos: {
- CLEAR_DAY: "https://s3.ax1x.com/2020/12/08/rpVVhD.png", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "https://s1.ax1x.com/2020/10/26/BukPhR.png", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "https://s1.ax1x.com/2020/10/26/BuQHN6.png", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "https://s1.ax1x.com/2020/10/26/BukcbF.png", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "https://s3.ax1x.com/2020/12/10/ripz8J.png", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "https://s3.ax1x.com/2020/12/10/ripz8J.png", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "https://s3.ax1x.com/2021/01/15/s009Mj.png", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/15/s00dOA.png", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "https://s3.ax1x.com/2021/01/15/s009Mj.png", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/15/s00dOA.png", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "https://s3.ax1x.com/2021/01/15/s009Mj.png", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "https://s3.ax1x.com/2021/01/15/s00dOA.png", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "https://s3.ax1x.com/2020/12/15/rMkQVx.png", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "https://s3.ax1x.com/2020/12/15/rMkBIf.png", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "https://s3.ax1x.com/2020/12/15/rMk6zQ.png", // 大雨 HEAVY_RAIN
- STORM_RAIN: "https://s3.ax1x.com/2020/12/15/rMk6zQ.png", // 暴雨 STORM_RAIN
- FOG: "https://s3.ax1x.com/2020/12/15/rMAYkV.png", // 雾 FOG
- LIGHT_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 大雪 HEAVY_SNOW
- STORM_SNOW: "https://s3.ax1x.com/2020/12/15/rMActK.png", // 暴雪 STORM_SNOW
- DUST: "https://s3.ax1x.com/2020/12/08/rpupes.png", // 浮尘 DUST
- SAND: "https://s3.ax1x.com/2020/12/08/rpupes.png", // 沙尘 SAND
- WIND: "https://s3.ax1x.com/2020/12/15/rMEeBR.png", // 大风 WIND
- },
- // 系统SF天气对应的icon
- weatherSFIcos: {
- CLEAR_DAY: "sun.max.fill", // 晴(白天) CLEAR_DAY
- CLEAR_NIGHT: "moon.stars.fill", // 晴(夜间) CLEAR_NIGHT
- PARTLY_CLOUDY_DAY: "cloud.sun.fill", // 多云(白天) PARTLY_CLOUDY_DAY
- PARTLY_CLOUDY_NIGHT: "cloud.moon.fill", // 多云(夜间) PARTLY_CLOUDY_NIGHT
- CLOUDY: "cloud.fill", // 阴(白天) CLOUDY
- CLOUDY_NIGHT: "cloud.fill", // 阴(夜间) CLOUDY
- LIGHT_HAZE: "sun.haze.fill", // 轻度雾霾 LIGHT_HAZE
- LIGHT_HAZE_NIGHT: "sun.haze.fill", // 轻度雾霾 LIGHT_HAZE
- MODERATE_HAZE: "sun.haze.fill", // 中度雾霾 MODERATE_HAZE
- MODERATE_HAZE_NIGHT: "sun.haze.fill", // 中度雾霾 MODERATE_HAZE
- HEAVY_HAZE: "sun.haze.fill", // 重度雾霾 HEAVY_HAZE
- HEAVY_HAZE_NIGHT: "sun.haze.fill", // 重度雾霾 HEAVY_HAZE
- LIGHT_RAIN: "cloud.drizzle.fill", // 小雨 LIGHT_RAIN
- MODERATE_RAIN: "cloud.drizzle.fill", // 中雨 MODERATE_RAIN
- HEAVY_RAIN: "cloud.rain.fill", // 大雨 HEAVY_RAIN
- STORM_RAIN: "cloud.heavyrain.fill", // 暴雨 STORM_RAIN
- FOG: "cloud.fog.fill ", // 雾 FOG
- LIGHT_SNOW: "cloud.snow.fill", // 小雪 LIGHT_SNOW
- MODERATE_SNOW: "cloud.snow.fill", // 中雪 MODERATE_SNOW
- HEAVY_SNOW: "cloud.snow.fill", // 大雪 HEAVY_SNOW
- STORM_SNOW: "cloud.snow.fill", // 暴雪 STORM_SNOW
- DUST: "sun.dust.fill", // 浮尘 DUST
- SAND: "smoke.fill", // 沙尘 SAND
- WIND: "wind", // 大风 WIND
- },
-}
-
-// @定义小组件
-class Widget extends Base {
- constructor(scriptName) {
- super(scriptName)
- // 初始化其他变量
- this.setSelectPicBg(widgetConfigs.selectPicBg)
- this.setColorBgMode(widgetConfigs.colorBgMode, widgetConfigs.bgColor)
- this.paddingSetting(Object.assign(widgetConfigs.padding))
- this.refreshIntervalTime(widgetConfigs.refreshInterval)
- this.setPreViewSizeMode(widgetConfigs.previewMode)
- }
-
- //-------------------------------------
-
- /**
- *
- * @param {Array} labels X轴标签数组
- * @param {Array} datas 温度数组
- * @param {Array} gradientColorArr 渐变色数组
- */
- async renderLineChar(labels, datas, gradientColorArr = ['#FFFFFF', '#FEC163', '#DE4313']) {
- const chartStr = `
- {
- 'type': 'bar',
- 'data': {
- 'labels': ${JSON.stringify(labels)}, // 数据替换
- 'datasets': [
- {
- type: 'line',
- backgroundColor: getGradientFillHelper('horizontal', ${JSON.stringify(gradientColorArr)}),
- borderColor: getGradientFillHelper('horizontal', ${JSON.stringify(gradientColorArr)}),
- 'borderWidth': 2,
- pointRadius: 1.2,
- 'fill': false,
- 'data': ${JSON.stringify(datas)}, // 折线对应数据
- },
- ],
- },
- 'options': {
- plugins: {
- datalabels: {
- display: true,
- align: 'top',
- color: '#FFFFFF', // 折线上的数据点对应的文字颜色
- font: {
- size: '11'
- }
- },
- },
- layout: {
- padding: {
- left: 0,
- right: 10,
- top: 30,
- bottom: 0
- }
- },
- 'legend': {
- 'display': false,
- },
- scales: {
- xAxes: [ // X 轴线
- {
- gridLines: {
- display: false,
- color: '#000000',
- },
- ticks: {
- display: false,
- fontColor: '#b598a1', // x轴label文字颜色
- fontSize: '14',
- },
- },
- ],
- yAxes: [
- {
- ticks: {
- display: false
- },
- gridLines: {
- display: false
- },
- },
- ],
- },
- },
- }`
- const width = this.getWidgetWidthSize('中号', widgetConfigs.isIphone12Mini)
- const url = `https://quickchart.io/chart?w=${width}&h=${widgetConfigs.lineCharHeight}&f=png&c=${encodeURIComponent(chartStr)}`
- return await this.getImageByUrl(url)
- }
-
- //-------------------------------------
-
- /**
- * 获取彩云天气信息
- */
- async getWeather() {
- // 获取位置
- let location = widgetConfigs.location
- if (!widgetConfigs.lockLocation) {
- location = await this.getLocation(widgetConfigs.locale)
- widgetConfigs.location = location
- }
- // 小时
- const hour = new Date().getHours()
-
- const apiCacheKeyName = 'CaiYunKey'
- let apiKey = widgetConfigs.apiKey
- if(apiKey.length == 0) {
- apiKey = this.loadStringCache(apiCacheKeyName)
- } else {
- this.saveStringCache(apiCacheKeyName, apiKey)
- }
- // 彩云天气域名
- const url = `https://api.caiyunapp.com/v2.5/${apiKey}/${location.longitude},${location.latitude}/weather.json?dailysteps=7`
- const weatherJsonData = await this.httpGet(url, true, null, 'caiyunLine')
-
- // 天气数据
- let weatherInfo = {}
- if (weatherJsonData.status == "ok") {
- log("天气数据请求成功")
-
- // 全部温度
- weatherInfo.daily = weatherJsonData.result.daily
- // 温度范围
- const temperatureData = weatherInfo.daily.temperature[0]
- // 最低温度
- const minTemperature = temperatureData.min
- // 最高温度
- const maxTemperature = temperatureData.max
- weatherInfo.minTemperature = Math.round(minTemperature)
- weatherInfo.maxTemperature = Math.round(maxTemperature)
-
- // 体感温度
- const bodyFeelingTemperature = weatherJsonData.result.realtime.apparent_temperature
- weatherInfo.bodyFeelingTemperature = Math.floor(bodyFeelingTemperature)
-
- // 显示温度
- const temperature = weatherJsonData.result.realtime.temperature
- weatherInfo.temperature = Math.floor(temperature)
-
- // 天气状况 weatherIcos[weatherIco]
- let weather = weatherJsonData.result.realtime.skycon
- let night = hour - 12 >= 7
- let nightCloudy = night && weather == "CLOUDY"
- let nightLightHaze = night && weather == "LIGHT_HAZE"
- let nightModerateHaze = night && weather == "MODERATE_HAZE"
- let nightHeavyHaze = night && weather == "HEAVY_HAZE"
- if (nightCloudy) {
- weather = "CLOUDY_NIGHT"
- }
- if (nightLightHaze) {
- weather = "LIGHT_HAZE_NIGHT"
- }
- if (nightModerateHaze) {
- weather = "MODERATE_HAZE_NIGHT"
- }
- if (nightHeavyHaze) {
- weather = "HEAVY_HAZE_NIGHT"
- }
- weatherInfo.weatherIco = weather
- log(`天气:${weather}`)
-
- // 天气描述
- const weatherDesc = weatherJsonData.result.forecast_keypoint
- weatherInfo.weatherDesc = weatherDesc.replace("。还在加班么?", ",")
- log("天气预告==>" + weatherDesc)
-
- // 相对湿度
- const humidity = (Math.floor(weatherJsonData.result.realtime.humidity * 100)) + "%"
- weatherInfo.humidity = humidity
-
- // 舒适指数
- const comfort = weatherJsonData.result.realtime.life_index.comfort.desc
- weatherInfo.comfort = comfort
- log(`舒适指数:${comfort}`)
-
- // 紫外线指数
- const ultraviolet = weatherJsonData.result.realtime.life_index.ultraviolet.desc
- weatherInfo.ultraviolet = ultraviolet
-
- // 空气质量
- const aqi = weatherJsonData.result.realtime.air_quality.aqi.chn
- const aqiInfo = this.airQuality(aqi)
- weatherInfo.aqiInfo = aqiInfo
-
- // 日出日落
- const astro = weatherJsonData.result.daily.astro[0]
- // 日出
- const sunrise = astro.sunrise.time
- // 日落
- const sunset = astro.sunset.time
- weatherInfo.sunrise = sunrise.toString()
- weatherInfo.sunset = sunset.toString()
-
- // 小时预告
- let hourlyArr = []
- const hourlyData = weatherJsonData.result.hourly
- const temperatureArr = hourlyData.temperature
- const temperatureSkyconArr = hourlyData.skycon
- for (var i = 0; i < temperatureArr.length; i++) {
- let hourlyObj = {}
- hourlyObj.datetime = temperatureArr[i].datetime
- hourlyObj.temperature = Math.round(temperatureArr[i].value)
-
- let weather = temperatureSkyconArr[i].value
- if (nightCloudy) {
- weather = "CLOUDY_NIGHT"
- }
- hourlyObj.skycon = `${weather}`
- hourlyArr.push(hourlyObj)
- }
- weatherInfo.hourly = hourlyArr
- } else {
- log(`请求彩云天气出错:${weatherJsonData.status}`)
- }
-
- return weatherInfo
- }
-
- /**
- * 空气指标质量
- * @param {number} levelNum 控制aiq
- */
- airQuality(levelNum) {
- // 0-50 优,51-100 良,101-150 轻度污染,151-200 中度污染
- // 201-300 重度污染,>300 严重污染
- if (levelNum >= 0 && levelNum <= 50) {
- return "优秀"
- } else if (levelNum >= 51 && levelNum <= 100) {
- return "良好"
- } else if (levelNum >= 101 && levelNum <= 150) {
- return "轻度"
- } else if (levelNum >= 151 && levelNum <= 200) {
- return "中度"
- } else if (levelNum >= 201 && levelNum <= 300) {
- return "重度"
- } else {
- return "严重"
- }
- }
-
- //-------------------------------------
-
- /**
- * 下载更新
- */
- async downloadUpdate() {
- let files = FileManager.local()
- const iCloudInUse = files.isFileStoredIniCloud(module.filename)
- files = iCloudInUse ? FileManager.iCloud() : files
- let message = ''
- try {
- let downloadURL = "https://gitee.com/enjoyee/scriptable/raw/master/%E6%96%B0%E7%B3%BB%E5%88%97/%E5%BD%A9%E4%BA%91%E6%8A%98%E7%BA%BF.js"
- if (widgetConfigs.useGithub) {
- downloadURL = "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/%E5%BD%A9%E4%BA%91%E6%8A%98%E7%BA%BF/%E5%BD%A9%E4%BA%91%E6%8A%98%E7%BA%BF.js"
- }
- const req = new Request(downloadURL)
- const codeString = await req.loadString()
- files.writeString(module.filename, codeString)
- message = "天气脚本已更新,请退出脚本重新进入运行生效。"
- } catch {
- message = "更新失败,请稍后再试。"
- }
- const options = ["好的"]
- await this.generateAlert(message, options)
- Script.complete()
- }
-
- //-------------------------------------
-
- /**
- * 当日折线
- * @param {Object} weatherInfo 温度信息
- * @param {ListWidget} widget 组件
- * @param {Number} lineCharMode 折线模式 1:日折线;2:未来7天折线
- */
- async renderUI(weatherInfo, widget, lineCharMode) {
- // 顶部
- const topStack = widget.addStack()
- topStack.layoutHorizontally()
- topStack.centerAlignContent()
- topStack.addSpacer(20)
- // 当前日期
- const dateText = this.getDateStr(new Date(), "M月dd · EEE", 'EN')
- let textWidget = topStack.addText(`${dateText}`)
- textWidget.textColor = widgetConfigs.defaultTextColor
- textWidget.font = widgetConfigs.currentDateFont
- topStack.addSpacer()
- // 顶部右侧
- const topRightStack = topStack.addStack()
- if (widgetConfigs.showLocation && widgetConfigs.showCurrentTemperature) {
- topRightStack.addSpacer(5)
- }
- topRightStack.layoutVertically()
- topRightStack.size = new Size(100, 0)
- // 当前温度
- const temperatureStack = topRightStack.addStack()
- temperatureStack.layoutHorizontally()
- temperatureStack.addSpacer()
- if (widgetConfigs.showCurrentTemperature) {
- textWidget = temperatureStack.addText(`${weatherInfo.temperature}°C`)
- textWidget.textColor = widgetConfigs.defaultTextColor
- textWidget.font = widgetConfigs.nowTemperatureFont
- }
- if (widgetConfigs.showLocation) {
- // 定位
- if (widgetConfigs.showCurrentTemperature) {
- topRightStack.addSpacer(2)
- }
- const locationStack = topRightStack.addStack()
- locationStack.layoutHorizontally()
- locationStack.addSpacer()
- textWidget = locationStack.addText(`${widgetConfigs.location.subLocality}`)
- textWidget.textColor = widgetConfigs.defaultTextColor
- textWidget.font = widgetConfigs.defaultFont
- }
- //
- topStack.addSpacer(20)
-
- // 请求折线
- const labels = []
- const temperatureList = []
- const hourlyArr = weatherInfo.hourly
- const daily = weatherInfo.daily
- // 折线对应的天气icon
- const weatherIcoList = []
- if (lineCharMode == '1') {
- for (let index = 0; index < hourlyArr.length; index++) {
- if (index >= 8) {
- break
- }
- const hourly = hourlyArr[index];
- const timeText = this.getDateStr(new Date(hourly.datetime), "HH", widgetConfigs.locale)
- labels.push(`${timeText}时`)
- temperatureList.push(`${hourly.temperature}`)
-
- // 天气图标
- let weatherIco = this.getSFSymbol(widgetConfigs.weatherSFIcos[hourly.skycon])
- if (!widgetConfigs.useSF) {
- weatherIco = await this.getImageByUrl(widgetConfigs.weatherIcos[hourly.skycon])
- }
- weatherIcoList.push(weatherIco)
- }
- } else {
- const temperatureArr = daily.temperature
- for (let index = 0; index < temperatureArr.length; index++) {
- const dailyTemperature = temperatureArr[index]
- const dateText = dailyTemperature.date.slice(8, 10)
- labels.push(`${dateText}日`)
- temperatureList.push(`${Math.floor(dailyTemperature.avg)}`)
-
- // 天气图标
- let weatherIco = this.getSFSymbol(widgetConfigs.weatherSFIcos[daily.skycon[index].value])
- if (!widgetConfigs.useSF) {
- weatherIco = await this.getImageByUrl(widgetConfigs.weatherIcos[daily.skycon[index].value])
- }
- weatherIcoList.push(weatherIco)
- }
- }
-
- const lineCharImg = await this.renderLineChar(labels, temperatureList)
- const lineCharStack = widget.addStack()
- lineCharStack.size = new Size(0, widgetConfigs.lineCharHeight)
- lineCharStack.layoutHorizontally()
- lineCharStack.addImage(lineCharImg)
-
- //
- widget.addSpacer(5)
- const weatherIconStack = widget.addStack()
- weatherIconStack.layoutHorizontally()
- weatherIconStack.addSpacer()
- for (const ico of weatherIcoList) {
- let imgStack = weatherIconStack.addImage(ico)
- imgStack.imageSize = widgetConfigs.weatherIconSize
- weatherIconStack.addSpacer()
- }
-
- //
- widget.addSpacer(8)
- const weatherTimeStack = widget.addStack()
- weatherTimeStack.layoutHorizontally()
- weatherTimeStack.addSpacer()
- for (const label of labels) {
- textWidget = weatherTimeStack.addText(label)
- textWidget.textColor = widgetConfigs.defaultTextColor
- textWidget.font = widgetConfigs.defaultFont
- weatherTimeStack.addSpacer()
- }
-
- //
- return widget
- }
-
- /**
- * @渲染小组件
- */
- async render() {
- //-------------------------------------
- // 折线模式,1:日折线;2:未来7天折线
- const lineCharMode = this.getWidgetInput('2')
- //-------------------------------------
-
- // 请求彩云
- const weatherInfo = await this.getWeather()
-
- //-------------------------------------
- const widget = new ListWidget()
- //-------------------------------------
-
- // 下载更新
- if (widgetConfigs.openDownload && config.runsInApp) {
- const message = "同步彩云折线远程脚本?"
- const options = ["运行脚本", "下载脚本"]
- let typeIndex = await this.generateAlert(message, options)
- if (typeIndex == 1) {
- await this.downloadUpdate()
- } else {
- // 渲染折线
- return this.renderUI(weatherInfo, widget, lineCharMode)
- }
- } else {
- // 渲染折线
- return this.renderUI(weatherInfo, widget, lineCharMode)
- }
- }
-}
-
-// @运行测试
-const { Running } = require("./lsp环境")
-await Running(Widget, Script.name())
diff --git "a/\346\241\214\351\235\242\345\220\257\345\212\250.js" "b/\346\241\214\351\235\242\345\220\257\345\212\250.js"
new file mode 100644
index 0000000..0d04c49
--- /dev/null
+++ "b/\346\241\214\351\235\242\345\220\257\345\212\250.js"
@@ -0,0 +1,887 @@
+// Variables used by Scriptable.
+// These must be at the very top of the file. Do not edit.
+// icon-color: red; icon-glyph: user-astronaut;
+/**
+ * Author:LSP
+ * Date:2024-02-05
+ */
+// -------------------------------------------------------
+// 是否是开发环境,配合手机端调试使用,正式发布设置为false
+const isDev = false;
+const dependencyLSP = '20230512';
+console.log(`当前环境 👉👉👉👉👉 ${isDev ? 'DEV' : 'RELEASE'}`);
+console.log(`----------------------------------------`);
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+// 依赖包目录
+const fm = FileManager.local();
+const rootDir = fm.documentsDirectory();
+const cacheDir = fm.joinPath(rootDir, 'LSP');
+const dependencyFileName = isDev ? "_LSP.js" : `${cacheDir}/_LSP.js`;
+// 下载依赖包
+await downloadLSPDependency();
+// -------------------------------------------------------
+if (typeof require === 'undefined') require = importModule
+// 引入相关方法
+const { BaseWidget } = require(dependencyFileName);
+
+// @定义小组件
+class Widget extends BaseWidget {
+
+ defaultPreference = {
+ caiyun: 'UR8ASaplvIwavDfR',
+ weatherIcoSize: 30,
+ //
+ quickFontSize: '11',
+ quickFontDayColor: '#FFFFFF',
+ quickFontNightColor: '#FFFFFF',
+ //
+ temperatureFontSize: '34',
+ temperatureFontDayColor: '#FFFFFF',
+ temperatureFontNightColor: '#FFFFFF',
+ //
+ dateFontSize: '13',
+ dateFontColor: '#FFFEF9',
+ dateFontDayColor: '#FFFEF9',
+ dateFontNightColor: '#FFFEF9',
+ //
+ weatherFontSize: '12',
+ weatherFontDayColor: '#F9F4DC',
+ weatherFontNightColor: '#F9F4DC',
+ //
+ holidayFontSize: '13',
+ holidayFontDayColor: '#F18F47',
+ holidayFontNightColor: '#F18F47',
+ //
+ quickConfigs: [
+ {
+ icon: `${this.getRemoteRootPath()}/img/other/wechat.png`,
+ name: '扫一扫',
+ scheme: 'weixin://scanqrcode'
+ },
+ {
+ icon: `${this.getRemoteRootPath()}/img/other/payment.png`,
+ name: '付款码',
+ scheme: 'alipay://platformapi/startapp?appId=20000056'
+ },
+ {
+ icon: 'location.fill.viewfinder',
+ name: '乘车码',
+ scheme: 'alipay://platformapi/startapp?appId=200011235'
+ },
+ {
+ icon: `${this.getRemoteRootPath()}/img/other/delivery-man.png`,
+ name: '菜鸟包裹',
+ scheme: 'alipay://platformapi/startapp?appId=2021001141626787'
+ },
+ ],
+ enFontUrl: `${this.getRemoteRootPath()}/font/Facon.ttf`,
+ isShowNewYear: ['20240209', '20240210', '20240211', '20240212'],
+ newYearTips: {},
+ };
+
+ getValueByKey = (key) => this.readWidgetSetting()[key] ?? this.defaultPreference[key];
+
+ caiyun = () => this.getValueByKey('caiyun');
+
+ quickFontSize = () => parseInt(this.getValueByKey('quickFontSize'));
+ quickFontDayColor = () => this.getValueByKey('quickFontDayColor');
+ quickFontNightColor = () => this.getValueByKey('quickFontNightColor');
+
+ temperatureFontSize = () => parseInt(this.getValueByKey('temperatureFontSize'));
+ temperatureFontDayColor = () => this.getValueByKey('temperatureFontDayColor');
+ temperatureFontNightColor = () => this.getValueByKey('temperatureFontNightColor');
+
+ dateFontSize = () => parseInt(this.getValueByKey('dateFontSize'));
+ dateFontDayColor = () => this.getValueByKey('dateFontDayColor');
+ dateFontNightColor = () => this.getValueByKey('dateFontNightColor');
+
+ weatherFontSize = () => parseInt(this.getValueByKey('weatherFontSize'));
+ weatherFontDayColor = () => this.getValueByKey('weatherFontDayColor');
+ weatherFontNightColor = () => this.getValueByKey('weatherFontNightColor');
+
+ holidayFontSize = () => parseInt(this.getValueByKey('holidayFontSize'));
+ holidayFontDayColor = () => this.getValueByKey('holidayFontDayColor');
+ holidayFontNightColor = () => this.getValueByKey('holidayFontNightColor');
+
+ constructor(scriptName) {
+ super(scriptName);
+ }
+
+ async getAppViewOptions() {
+ return {
+ widgetProvider: {
+ small: false, // 是否提供小号组件
+ medium: true, // 是否提供中号组件
+ large: false, // 是否提供大号组件
+ },
+ // 预览界面的组件设置item
+ settingItems: [
+ {
+ name: 'weatherIco',
+ label: '天气图标',
+ type: 'select',
+ icon: { name: 'cloud.moon', color: '#480ca8', },
+ needLoading: false,
+ options: [
+ { label: '第1套图标', value: '1' },
+ { label: '第2套图标', value: '2' },
+ { label: '第3套图标', value: '3' },
+ { label: '第4套图标', value: '4' },
+ { label: '第5套图标', value: '5' },
+ { label: '第6套图标', value: '6' },
+ { label: '第7套图标', value: '7' },
+ { label: '第8套图标', value: '8' },
+ { label: '第9套图标', value: '9' },
+ { label: '第10套图标', value: '10' },
+ { label: '第11套图标', value: '11' },
+ { label: '第12套图标', value: '12' },
+ { label: '第13套图标', value: '13' },
+ ],
+ default: "1"
+ },
+ {
+ name: 'quickStart',
+ label: '快捷启动设置',
+ type: 'cell',
+ icon: { name: 'lasso.and.sparkles', color: '#ffc300', },
+ needLoading: false,
+ showDesc: false,
+ },
+ {
+ name: 'otherSetting',
+ label: '其他设置',
+ type: 'cell',
+ icon: 'https://cdnjson.com/images/2024/02/05/settings.png',
+ needLoading: true,
+ childItems: [
+ {
+ items: [
+ {
+ name: 'caiyun',
+ label: '彩云key',
+ type: 'cell',
+ icon: `${this.getRemoteRootPath()}/img/icon_caiyun.png`,
+ alert: {
+ title: '彩云key',
+ message: "已使用默认key,如果不可用了需要自己去申请填入替换",
+ options: [
+ {
+ key: 'caiyun',
+ hint: '请输入彩云key',
+ }
+ ]
+ },
+ needLoading: false,
+ default: this.caiyun(),
+ },
+ ],
+ },
+ {
+ items: [
+ {
+ name: 'quickFontSize',
+ label: '启动文字大小',
+ type: 'cell',
+ icon: { name: 'lasso.and.sparkles', color: '#7743DB', },
+ needLoading: false,
+ alert: {
+ title: '启动文字大小',
+ options: [
+ {
+ key: 'quickFontSize',
+ hint: '请输入字号',
+ }
+ ]
+ },
+ default: this.quickFontSize(),
+ },
+ {
+ name: 'quickFontDayColor',
+ label: '启动文字浅色颜色',
+ type: 'color',
+ icon: { name: 'sun.min.fill', color: '#3a86ff', },
+ needLoading: false,
+ default: this.quickFontDayColor(),
+ },
+ {
+ name: 'quickFontNightColor',
+ label: '启动文字深色颜色',
+ type: 'color',
+ icon: { name: 'moon.fill', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.quickFontNightColor(),
+ },
+ ],
+ },
+ {
+ items: [
+ {
+ name: 'temperatureFontSize',
+ label: '温度文字大小',
+ type: 'cell',
+ icon: { name: 'thermometer.medium', color: '#E0144C', },
+ needLoading: false,
+ alert: {
+ title: '温度文字大小',
+ options: [
+ {
+ key: 'temperatureFontSize',
+ hint: '请输入字号',
+ }
+ ]
+ },
+ default: this.temperatureFontSize(),
+ },
+ {
+ name: 'temperatureFontDayColor',
+ label: '温度文字浅色颜色',
+ type: 'color',
+ icon: { name: 'sun.min.fill', color: '#3a86ff', },
+ needLoading: false,
+ default: this.temperatureFontDayColor(),
+ },
+ {
+ name: 'temperatureFontNightColor',
+ label: '温度文字深色颜色',
+ type: 'color',
+ icon: { name: 'moon.fill', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.temperatureFontDayColor(),
+ },
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'dateFontSize',
+ label: '日期文字大小',
+ type: 'cell',
+ icon: `${this.getRemoteRootPath()}/img/ic_calendar.png`,
+ needLoading: false,
+ alert: {
+ title: '日期文字大小',
+ options: [
+ {
+ key: 'dateFontSize',
+ hint: '请输入字号',
+ }
+ ]
+ },
+ default: this.dateFontSize(),
+ },
+ {
+ name: 'dateFontDayColor',
+ label: '日期文字浅色颜色',
+ type: 'color',
+ icon: { name: 'sun.min.fill', color: '#3a86ff', },
+ needLoading: false,
+ default: this.dateFontDayColor(),
+ },
+ {
+ name: 'dateFontNightColor',
+ label: '日期文字深色颜色',
+ type: 'color',
+ icon: { name: 'moon.fill', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.dateFontNightColor(),
+ },
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'weatherFontSize',
+ label: '天气文字大小',
+ type: 'cell',
+ icon: `${this.getRemoteRootPath()}/img/ic_weather.png`,
+ needLoading: false,
+ alert: {
+ title: '天气文字大小',
+ options: [
+ {
+ key: 'weatherFontSize',
+ hint: '请输入字号',
+ }
+ ]
+ },
+ default: this.weatherFontSize(),
+ },
+ {
+ name: 'weatherFontDayColor',
+ label: '天气文字浅色颜色',
+ type: 'color',
+ icon: { name: 'sun.min.fill', color: '#3a86ff', },
+ needLoading: false,
+ default: this.weatherFontDayColor(),
+ },
+ {
+ name: 'weatherFontNightColor',
+ label: '天气文字深色颜色',
+ type: 'color',
+ icon: { name: 'moon.fill', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.weatherFontNightColor(),
+ },
+ ]
+ },
+ {
+ items: [
+ {
+ name: 'holidayFontSize',
+ label: '节假日文字大小',
+ type: 'cell',
+ icon: `${this.getRemoteRootPath()}/img/ic_calendar.png`,
+ needLoading: false,
+ alert: {
+ title: '节假日文字大小',
+ options: [
+ {
+ key: 'holidayFontSize',
+ hint: '请输入字号',
+ }
+ ]
+ },
+ default: this.holidayFontSize(),
+ },
+ {
+ name: 'holidayFontDayColor',
+ label: '节假日文字浅色颜色',
+ type: 'color',
+ icon: { name: 'sun.min.fill', color: '#3a86ff', },
+ needLoading: false,
+ default: this.holidayFontDayColor(),
+ },
+ {
+ name: 'holidayFontNightColor',
+ label: '节假日文字深色颜色',
+ type: 'color',
+ icon: { name: 'moon.fill', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.holidayFontNightColor(),
+ },
+ ]
+ },
+ ]
+ },
+ ],
+ // cell类型的item点击回调
+ onItemClick: async (item) => {
+ let widgetSetting = this.readWidgetSetting();
+ let insertDesc;
+ switch (item.name) {
+ case 'quickStart':
+ const ufm = this.useFileManager();
+ const index = await this.presentSheet({
+ title: '快捷启动设置',
+ message: '⊱配置各个快捷按钮的启动配置⊰',
+ options: [
+ { name: '启动按钮1' },
+ { name: '启动按钮2' },
+ { name: '启动按钮3' },
+ { name: '启动按钮4' },
+ ],
+ });
+ if (index >= 0 && index <= 3) {
+ const localQuickConfigs = ufm.readStringCache('quickStart');
+ const quickConfigJSON = localQuickConfigs ? localQuickConfigs : JSON.stringify(this.defaultPreference.quickConfigs);
+ const quickConfigArr = JSON.parse(quickConfigJSON);
+ const quickStack = quickConfigArr[index];
+ await this.generateInputAlert({
+ title: '快捷启动设置',
+ message: '1.图标是SFSymbol或者图片链接\n2.名称最好输入2~3个字,多余会换行\n3.启动scheme链接可以自行上网搜索',
+ options: [
+ { hint: '请输入快捷启动的图标', value: quickStack.icon },
+ { hint: '请输入快捷启动的名称', value: quickStack.name },
+ { hint: '快捷启动scheme', value: quickStack.scheme },
+ ]
+ }, async (inputArr) => {
+ quickStack.icon = inputArr[0].value;
+ quickStack.name = inputArr[1].value;
+ quickStack.scheme = inputArr[2].value;
+ ufm.writeStringCache('quickStart', JSON.stringify(quickConfigArr));
+ });
+ }
+ break;
+ }
+ // 写入更新配置
+ this.writeWidgetSetting(widgetSetting);
+ return {
+ desc: { value: insertDesc },
+ };
+ },
+ };
+ }
+
+ async render({ widgetSetting, family }) {
+ //=================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ //=================================
+ let stack = widget.addStack();
+ stack.layoutHorizontally();
+ //---------------------------------
+ const localQuickConfigs = this.useFileManager().readStringCache('quickStart');
+ const quickConfigJSON = localQuickConfigs ? localQuickConfigs : JSON.stringify(this.defaultPreference.quickConfigs);
+ const quickConfigArr = JSON.parse(quickConfigJSON);
+ await this.quickStack(stack, quickConfigArr);
+ //---------------------------------
+ let rightStack = stack.addStack();
+ rightStack.layoutVertically();
+ rightStack.addSpacer();
+ await this.loadWeatherStack(rightStack);
+ rightStack.addSpacer();
+
+ if (this.defaultPreference.isShowNewYear.indexOf(this.getDateStr(new Date(), 'yyyyMMdd')) != -1) {
+ let image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/ic_fireworks_a20.png`);
+ rightStack.backgroundImage = image;
+ }
+
+ //=================================
+ stack.addSpacer();
+ return widget;
+ }
+
+
+ /**
+ * 快捷启动
+ * @param {*} stack
+ * @param {*} quickConfigs
+ */
+ quickStack = async (stack, quickConfigs) => {
+ //---------------------------------
+ const quickStackSize = new Size(58, 60);
+ const quickImgSize = new Size(33, 30);
+ const quickCornerRadius = 10;
+ const quickStackBg = new Color('333', 0.2);
+ const quickPadding = 10;
+ const quickTextColor = this.dynamicColor(this.quickFontDayColor(), this.quickFontNightColor());
+ const quickFont = (textLength = 3) => Font.semiboldSystemFont(textLength < 3 ? Number(this.quickFontSize()) : Number(this.quickFontSize()) - 1);
+ const imageOpacity = 0.8;
+ //---------------------------------
+ let leftStack = stack.addStack();
+ leftStack.size = new Size(148, 0);
+ leftStack.layoutVertically();
+ leftStack.addSpacer();
+ //////////////////////////////////////////////////
+ let qStack;
+ for (let index = 0; index < quickConfigs.length; index++) {
+ const item = quickConfigs[index];
+ if (index % 2 === 0) {
+ qStack = leftStack.addStack();
+ if (index === 0) {
+ leftStack.addSpacer(quickPadding);
+ }
+ }
+ qStack.addSpacer(quickPadding);
+ let oneStack = qStack.addStack();
+ oneStack.url = item.scheme;
+ oneStack.centerAlignContent();
+ oneStack.size = quickStackSize;
+ oneStack.cornerRadius = quickCornerRadius;
+ oneStack.backgroundColor = quickStackBg;
+ //
+ let tipsStack = oneStack.addStack();
+ tipsStack.layoutVertically();
+ tipsStack.centerAlignContent();
+ //
+ let image;
+ let imgUrl = item.icon;
+ if (imgUrl.startsWith('http')) {
+ image = await this.getImageByUrl(imgUrl);
+ } else {
+ image = this.getSFSymbol(imgUrl);
+ }
+ let hStack = tipsStack.addStack();
+ hStack.layoutHorizontally();
+ hStack.addSpacer();
+ let imgSpan = hStack.addImage(image);
+ hStack.addSpacer();
+ imgSpan.tintColor = this.dynamicColor(this.quickFontDayColor(), this.quickFontNightColor());
+ imgSpan.imageSize = quickImgSize;
+ imgSpan.imageOpacity = imageOpacity;
+ //
+ tipsStack.addSpacer(2);
+ hStack = tipsStack.addStack();
+ hStack.layoutHorizontally();
+ hStack.addSpacer();
+ let textWidget = hStack.addText(item.name);
+ hStack.addSpacer();
+ textWidget.textColor = quickTextColor;
+ textWidget.font = quickFont(item.name.length);
+ }
+ //////////////////////////////////////////////////
+ leftStack.addSpacer();
+ }
+
+ /**
+ * 天气UI
+ * @param {*} stack
+ */
+ loadWeatherStack = async (stack) => {
+ // ========================================
+ // 获取农历信息
+ const lunarInfo = await this.getLunarInfo()
+ // 请求彩云
+ const weatherInfo = await this.getWeather();
+ // 节假日
+ const holidayInfo = await this.holidayInfo();
+ // ========================================
+ stack.addSpacer();
+ let weatherStack = stack.addStack();
+ weatherStack.layoutHorizontally();
+ weatherStack.bottomAlignContent();
+ //
+ let image = await this.getImageByUrl(weatherInfo.weatherIcoUrl);
+ let imgSpan = weatherStack.addImage(image);
+ imgSpan.imageSize = new Size(this.defaultPreference.weatherIcoSize, this.defaultPreference.weatherIcoSize);
+ imgSpan.leftAlignImage();
+ //
+ image = await this.drawTextWithCustomFont(
+ this.defaultPreference.enFontUrl,
+ `${weatherInfo.temperature}°c`,
+ this.temperatureFontSize(),
+ Device.isUsingDarkAppearance() ? this.temperatureFontNightColor() : this.temperatureFontDayColor(),
+ "left"
+ );
+ weatherStack.addSpacer(10);
+ imgSpan = weatherStack.addImage(image);
+ imgSpan.imageSize = new Size(image.size.width / 2, image.size.height / 2);
+ imgSpan.leftAlignImage();
+ //
+ weatherStack.addSpacer(16);
+ // 刷新时间
+ let textWidget;
+ textWidget = weatherStack.addText(this.getDateStr(new Date(), 'HH:mm'))
+ textWidget.textColor = this.dynamicColor(this.dateFontDayColor(), this.dateFontNightColor());
+ textWidget.font = Font.systemFont(10);
+ textWidget.textOpacity = 0.8;
+ textWidget.lineLimit = 1;
+ //
+ // ------------------------------------------------
+ const infoLunarText = ` ${lunarInfo.infoLunarText}`;
+ let holidayText = lunarInfo.holidayText;
+ holidayText = holidayText ? ` · ${holidayText}` : '';
+ let text = `${this.getDateStr(new Date(), 'MM月d日 EEE')}${infoLunarText}${holidayText}`;
+
+ stack.addSpacer(10);
+ textWidget = stack.addText(text);
+ textWidget.textColor = this.dynamicColor(this.dateFontDayColor(), this.dateFontNightColor());
+ textWidget.font = Font.regularSystemFont(this.scaleFontSize(Number(this.dateFontSize()), text.length, 18));
+ textWidget.lineLimit = 1;
+ // ------------------------------------------------
+
+ text = `${weatherInfo.weatherDesc}`;
+ stack.addSpacer(6);
+ textWidget = stack.addText(text);
+ textWidget.textColor = this.dynamicColor(this.weatherFontDayColor(), this.weatherFontNightColor());
+ textWidget.font = Font.regularSystemFont(this.scaleFontSize(Number(this.weatherFontSize()), text.length, 50));
+ textWidget.lineLimit = 3;
+ // ------------------------------------------------
+ text = holidayInfo;
+ stack.addSpacer(6);
+ textWidget = stack.addText(text);
+ textWidget.url = 'calshow://';
+ textWidget.textColor = this.dynamicColor(this.holidayFontDayColor(), this.holidayFontNightColor());
+ textWidget.font = Font.regularSystemFont(Number(this.holidayFontSize()));
+ textWidget.lineLimit = 1;
+ // ------------------------------------------------
+ stack.addSpacer();
+ }
+
+ // --------------------------NET START--------------------------
+
+ /**
+ * 节假日信息
+ * @returns 节假日信息
+ */
+ holidayInfo = async () => {
+ let infoTips = '';
+ const datePre = 'date_';
+ const currDate = new Date();
+ let dateStr = this.getDateStr(currDate, 'yyyyMM');
+ let holidayJsonData = this.useFileManager().readJSONCache(datePre + dateStr);
+ const url = `https://opendata.baidu.com/api.php?tn=wisetpl&format=json&resource_id=39043&query=${currDate.getFullYear()}%E5%B9%B4${currDate.getMonth() + 1}%E6%9C%88&t=${currDate.getTime()}`
+ if (JSON.stringify(holidayJsonData) == '{}' || holidayJsonData?.length == 0 || holidayJsonData.status != 0) {
+ holidayJsonData = await this.httpGet(url, { useCache: false, jsonFormat: false });
+ holidayJsonData = JSON.parse(holidayJsonData);
+ //
+ const listFiles = this.useFileManager().fm.listContents(this.useFileManager().cacheDir);
+ for (let index = listFiles.length - 1; index >= 0; index--) {
+ const file = listFiles[index];
+ if (file.startsWith(datePre)) {
+ console.log(`删除节假日缓存文件:${file}`);
+ this.useFileManager().fm.remove(this.useFileManager().cacheDir + '/' + file);
+ }
+ }
+ //
+ this.useFileManager().writeJSONCache(datePre + dateStr, holidayJsonData);
+ }
+ let list = holidayJsonData.data[0].almanac;
+ let currItem = list.find(item => item.year == currDate.getFullYear() && item.month == currDate.getMonth() + 1 && item.day == currDate.getDate());
+ if ((currItem.status == 1) || (currItem.status == undefined && (currItem.cnDay == '六' || currItem.cnDay == '日'))) {
+ infoTips = 'Η𝒶𝓋е 𝐚 𝓷𝖎𝖈𝖾 ⅆ𝙖𝛄~ ᕕ(ȍᴥȍ)ᕗ';
+ } else {
+ let currIndex = list.indexOf(currItem);
+ let remainArr = list.slice(currIndex + 1, list.size);
+ let notWorkday = remainArr.find(item => item.status == 1 || (item.status == undefined && (item.cnDay == '六' || item.cnDay == '日')));
+ let remainDay = (+new Date(parseInt(notWorkday.timestamp) * 1000) - (+new Date(parseInt(currItem.timestamp) * 1000))) / 86400 / 1000;
+ let holidayTips = '周末';
+ const { term } = notWorkday;
+ if (term?.length > 0) {
+ holidayTips = term;
+ }
+ if (remainDay == 1) {
+ infoTips = '明天就『' + holidayTips + '』啦 (ง⚆‿⚆)ง';
+ } else {
+ infoTips = `离${holidayTips}还有:${remainDay}天!(งȌ_Ȍ)ง`;
+ }
+ }
+ return this.defaultPreference.newYearTips[dateStr] || infoTips;
+ }
+
+ /**
+ * 获取彩云天气信息
+ * @param {*} dailysteps
+ * @returns
+ */
+ getWeather = async (dailysteps = 6) => {
+ const remoteRootPath = this.getRemoteRootPath();
+
+ // 开启质量
+ function airQuality(levelNum) {
+ // 0-50 优,51-100 良,101-150 轻度污染,151-200 中度污染
+ // 201-300 重度污染,>300 严重污染
+ if (levelNum >= 0 && levelNum <= 50) {
+ return "优秀";
+ } else if (levelNum >= 51 && levelNum <= 100) {
+ return "良好";
+ } else if (levelNum >= 101 && levelNum <= 150) {
+ return "轻度";
+ } else if (levelNum >= 151 && levelNum <= 200) {
+ return "中度";
+ } else if (levelNum >= 201 && levelNum <= 300) {
+ return "重度";
+ } else {
+ return "严重";
+ }
+ }
+
+ // 获取天气icon
+ function getWeatherIco(weatherDesc, keyIndex) {
+ return { keyIndex, url: `${remoteRootPath}/img/icon/weather${keyIndex}/${weatherDesc}.png` };
+ }
+
+ // 获取位置
+ let location = await this.getLocation();
+ // 彩云api key
+ const caiyunKey = this.caiyun();
+ // 彩云天气api
+ const url = `https://api.caiyunapp.com/v2.5/${caiyunKey}/${location.longitude},${location.latitude}/weather.json?alert=true&dailysteps=${dailysteps}`;
+ const weatherJsonData = await this.httpGet(url, { dataSuccess: (res) => res?.status == "ok" });
+ // 天气数据
+ let weatherInfo = {};
+ if (weatherJsonData) {
+ // 天气突发预警
+ let alertWeather = weatherJsonData.result?.alert?.content;
+ if (alertWeather?.length > 0) {
+ const alertWeatherTitle = alertWeather[0].title;
+ console.log(`👉突发的天气预警:${alertWeatherTitle}`);
+ weatherInfo.alertWeatherTitle = alertWeatherTitle;
+ }
+ // 全部温度
+ weatherInfo.daily = weatherJsonData.result.daily;
+ // 温度范围
+ const temperatureData = weatherInfo.daily.temperature[0];
+ // 最低温度
+ const minTemperature = temperatureData.min;
+ // 最高温度
+ const maxTemperature = temperatureData.max;
+ weatherInfo.minTemperature = Math.round(minTemperature);
+ weatherInfo.maxTemperature = Math.round(maxTemperature);
+ // 体感温度
+ const bodyFeelingTemperature = weatherJsonData.result.realtime.apparent_temperature;
+ weatherInfo.bodyFeelingTemperature = Math.floor(bodyFeelingTemperature);
+ // 显示温度
+ const temperature = weatherJsonData.result.realtime.temperature;
+ weatherInfo.temperature = Math.floor(temperature);
+ // 天气状况
+ let weather = weatherJsonData.result.realtime.skycon;
+ weatherInfo.weatherIco = weather;
+ const weatherIcoObj = getWeatherIco(weather, Number(this.readWidgetSetting()?.weatherIco ?? 0));
+ this.defaultPreference.weatherIcoSize = (weatherIcoObj.keyIndex == 11 || weatherIcoObj.keyIndex == 12) ? 38 : 30;
+ weatherInfo.weatherIcoUrl = weatherIcoObj.url;
+ // 天气描述
+ const weatherDesc = weatherJsonData.result.forecast_keypoint;
+ weatherInfo.weatherDesc = weatherDesc;
+ console.log("👉 天气预告:" + weatherDesc);
+ // 降水率
+ weatherInfo.probability = weatherJsonData.result.minutely.probability;
+ // 相对湿度
+ const humidity = (Math.floor(weatherJsonData.result.realtime.humidity * 100)) + "%";
+ weatherInfo.humidity = humidity;
+ // 舒适指数
+ const comfort = weatherJsonData.result.realtime.life_index.comfort.desc;
+ weatherInfo.comfort = comfort;
+ // 紫外线指数
+ const ultraviolet = weatherJsonData.result.realtime.life_index.ultraviolet.desc;
+ weatherInfo.ultraviolet = ultraviolet;
+ // 空气质量
+ const aqi = weatherJsonData.result.realtime.air_quality.aqi.chn;
+ const aqiInfo = airQuality(aqi);
+ weatherInfo.aqiInfo = aqiInfo;
+ // 日出日落
+ const astro = weatherJsonData.result.daily.astro[0];
+ // 日出
+ const sunrise = astro.sunrise.time;
+ // 日落
+ const sunset = astro.sunset.time;
+ weatherInfo.sunrise = sunrise.toString();
+ weatherInfo.sunset = sunset.toString();
+ // 小时预告
+ let hourlyArr = [];
+ const hourlyData = weatherJsonData.result.hourly;
+ const temperatureArr = hourlyData.temperature;
+ const temperatureSkyconArr = hourlyData.skycon;
+ for (var i = 0; i < temperatureArr.length; i++) {
+ let hourlyObj = {};
+ hourlyObj.datetime = temperatureArr[i].datetime;
+ hourlyObj.temperature = Math.round(temperatureArr[i].value);
+ let weather = temperatureSkyconArr[i].value;
+ hourlyObj.skycon = `${weather}`;
+ hourlyArr.push(hourlyObj);
+ }
+ weatherInfo.hourly = hourlyArr;
+ } else {
+ console.error(`🚫 请求彩云天气出错`);
+ }
+ this.logDivider();
+ return weatherInfo;
+ }
+
+ // --------------------------NET END--------------------------
+
+}
+
+await new Widget(Script.name()).run();
+
+
+// =================================================================================
+// =================================================================================
+async function downloadLSPDependency() {
+ let fm = FileManager.local();
+ const fileName = fm.joinPath(fm.documentsDirectory(), `LSP/${Script.name()}/settings.json`);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ const use_github = JSON.parse(cacheString)['use_github'];
+ const dependencyURL = `${use_github ? remoteGithubRoot : remoteHomeLandRoot}/_LSP.js`;
+ const update = needUpdateDependency();
+ if (isDev) {
+ const iCloudPath = FileManager.iCloud().documentsDirectory();
+ const localIcloudDependencyExit = fm.isFileStoredIniCloud(`${iCloudPath}/_LSP.js`);
+ const localDependencyExit = fm.fileExists(`${rootDir}/_LSP.js`);
+ const fileExist = localIcloudDependencyExit || localDependencyExit;
+ console.log(`🚀 DEV开发依赖文件${fileExist ? '已存在 ✅' : '不存在 🚫'}`);
+ if (!fileExist || update) {
+ console.log(`🤖 DEV 开始${update ? '更新' + dependencyLSP : '下载'}依赖~`);
+ keySave('VERSION', dependencyLSP);
+ await downloadFile2Scriptable('_LSP', dependencyURL);
+ }
+ return;
+ }
+
+ //////////////////////////////////////////////////////////
+ console.log(`----------------------------------------`);
+ const remoteDependencyExit = fm.fileExists(`${cacheDir}/_LSP.js`);
+ console.log(`🚀 RELEASE依赖文件${remoteDependencyExit ? '已存在 ✅' : '不存在 🚫'}`);
+ // ------------------------------
+ if (!remoteDependencyExit || update) { // 下载依赖
+ // 创建根目录
+ if (!fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir, true);
+ }
+ // 下载
+ console.log(`🤖 RELEASE开始${update ? '更新' : '下载'}依赖~`);
+ console.log(`----------------------------------------`);
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ fm.write(fm.joinPath(cacheDir, '/_LSP.js'), moduleJs);
+ keySave('VERSION', dependencyLSP);
+ console.log('✅ LSP远程依赖环境下载成功!');
+ console.log(`----------------------------------------`);
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ console.log(`----------------------------------------`);
+ }
+ }
+}
+
+/**
+ * 获取保存的文件名
+ * @param {*} fileName
+ * @returns
+ */
+function getSaveFileName(fileName) {
+ const hasSuffix = fileName.lastIndexOf(".") + 1;
+ return !hasSuffix ? `${fileName}.js` : fileName;
+};
+
+/**
+ * 保存文件到Scriptable软件目录,app可看到
+ * @param {*} fileName
+ * @param {*} content
+ * @returns
+ */
+function saveFile2Scriptable(fileName, content) {
+ try {
+ const fm = FileManager.iCloud();
+ let fileSimpleName = getSaveFileName(fileName);
+ const filePath = fm.joinPath(fm.documentsDirectory(), fileSimpleName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+/**
+ * 下载js文件到Scriptable软件目录
+ * @param {*} moduleName 名称
+ * @param {*} url 在线地址
+ * @returns
+ */
+async function downloadFile2Scriptable(moduleName, url) {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return saveFile2Scriptable(`${moduleName}`, content);
+};
+
+/**
+ * 是否需要更新依赖版本
+ */
+function needUpdateDependency() {
+ return dependencyLSP != keyGet('VERSION');
+};
+
+function keySave(cacheKey, cache) {
+ if (cache) {
+ Keychain.set(Script.name() + cacheKey, cache);
+ }
+}
+
+function keyGet(cacheKey, defaultValue = '') {
+ if (Keychain.contains(Script.name() + cacheKey)) {
+ return Keychain.get(Script.name() + cacheKey);
+ } else {
+ return defaultValue;
+ }
+}
+// =================================================================================
+// =================================================================================
\ No newline at end of file
diff --git "a/\346\250\241\346\235\277.js" "b/\346\250\241\346\235\277.js"
new file mode 100644
index 0000000..70e25e5
--- /dev/null
+++ "b/\346\250\241\346\235\277.js"
@@ -0,0 +1,148 @@
+/**
+ * 公众号:杂货万事屋
+ * Author:LSP
+ * Date:2022-09-19
+*/
+// @导入引用开发环境
+if (typeof require === 'undefined') require = importModule
+const { Base } = require("./lsp环境")
+
+// @小组件配置
+const widgetConfigs = {
+ languageCN: false,
+ // 时间字体
+ font: Font.mediumRoundedSystemFont(16),
+ // 预览模式:0:小尺寸,1:中等尺寸,2:大尺寸,负数:不预览
+ previewMode: 0,
+}
+
+
+// @定义小组件
+class Widget extends Base {
+ constructor(scriptName) {
+ super(scriptName)
+ // 初始化其他变量
+ this.setPreViewSizeMode(widgetConfigs.previewMode)
+ }
+
+ /**
+ * 组件渲染
+ */
+ async renderUI() {
+ //-------------------------------------
+ const widget = new ListWidget()
+ let stack = widget.addStack()
+ stack.layoutHorizontally()
+ //-------------------------------------
+ // 请求农历信息
+ const lunarInfo = await this.getLunar()
+ // 农历
+ let lunarInfoText = lunarInfo.infoLunarText;
+ if (widgetConfigs.languageCN) {
+ lunarInfoText = lunarInfoText.replaceAll('十一月', '冬月')
+ .replaceAll('十二月', '腊月')
+ .replaceAll('一月', '正月');
+ } else {
+ lunarInfoText = lunarInfoText.replaceAll('一月', 'Jan.')
+ .replaceAll('二月', 'Feb.')
+ .replaceAll('三月', 'Mar.')
+ .replaceAll('四月', 'Apr.')
+ .replaceAll('五月', 'May.')
+ .replaceAll('六月', 'Jun.')
+ .replaceAll('七月', 'Jul.')
+ .replaceAll('八月', 'Aug.')
+ .replaceAll('九月', 'Sep.')
+ .replaceAll('十月', 'Oct.')
+ .replaceAll('十一月', 'Nov.')
+ .replaceAll('十二月', 'Dec.')
+ .replaceAll('初一', '1')
+ .replaceAll('初二', '2')
+ .replaceAll('初三', '3')
+ .replaceAll('初四', '4')
+ .replaceAll('初五', '5')
+ .replaceAll('初六', '6')
+ .replaceAll('初七', '7')
+ .replaceAll('初八', '8')
+ .replaceAll('初九', '9')
+ .replaceAll('初十', '10')
+ .replaceAll('十一', '11')
+ .replaceAll('十二', '12')
+ .replaceAll('十三', '13')
+ .replaceAll('十四', '14')
+ .replaceAll('十五', '15')
+ .replaceAll('十六', '16')
+ .replaceAll('十七', '17')
+ .replaceAll('十八', '18')
+ .replaceAll('十九', '19')
+ .replaceAll('二十', '20')
+ .replaceAll('廿一', '21')
+ .replaceAll('廿二', '22')
+ .replaceAll('廿三', '23')
+ .replaceAll('廿四', '24')
+ .replaceAll('廿五', '25')
+ .replaceAll('廿六', '26')
+ .replaceAll('廿七', '27')
+ .replaceAll('廿八', '28')
+ .replaceAll('廿九', '29')
+ .replaceAll('三十', '30')
+ }
+ // 显示
+ let showText = `🫧 ${lunarInfoText}`
+ let widgetText = stack.addText(`${showText}`)
+ widgetText.textOpacity = 0.8
+ widgetText.font = widgetConfigs.font
+ //-------------------------------------
+ return widget
+ //-------------------------------------
+ }
+
+ //-------------------------------------
+ /**
+ * 下载更新
+ */
+ async downloadUpdate() {
+ let files = FileManager.local()
+ const iCloudInUse = files.isFileStoredIniCloud(module.filename)
+ files = iCloudInUse ? FileManager.iCloud() : files
+ let message = ''
+ try {
+ let downloadURL = "https://gitee.com/enjoyee/scriptable/raw/master/%E6%96%B0%E7%B3%BB%E5%88%97/%E5%B0%8F%E6%97%A5%E5%8E%86.js"
+ if (widgetConfigs.useGithub) {
+ downloadURL = "https://raw.githubusercontent.com/Enjoyee/Scriptable/new/%E5%B0%8F%E6%97%A5%E5%8E%86/%E5%B0%8F%E6%97%A5%E5%8E%86.js"
+ }
+ const req = new Request(downloadURL)
+ const codeString = await req.loadString()
+ files.writeString(module.filename, codeString)
+ message = "脚本已更新,请退出脚本重新进入运行生效。"
+ } catch {
+ message = "更新失败,请稍后再试。"
+ }
+ const options = ["好的"]
+ await this.generateAlert(message, options)
+ Script.complete()
+ }
+
+ //-------------------------------------
+ /**
+ * @渲染小组件
+ */
+ async render() {
+ // 下载更新
+ if (widgetConfigs.openDownload && config.runsInApp) {
+ const message = "同步远程脚本?"
+ const options = ["运行脚本", "下载脚本"]
+ let typeIndex = await this.generateAlert(message, options)
+ if (typeIndex == 1) {
+ await this.downloadUpdate()
+ } else {
+ return await this.renderUI()
+ }
+ } else {
+ return await this.renderUI()
+ }
+ }
+}
+
+// @运行测试
+const { Running } = require("./lsp环境")
+await Running(Widget, Script.name(), false)
\ No newline at end of file
diff --git "a/\347\224\265\344\277\241.js" "b/\347\224\265\344\277\241.js"
new file mode 100644
index 0000000..41de70d
--- /dev/null
+++ "b/\347\224\265\344\277\241.js"
@@ -0,0 +1,610 @@
+// Variables used by Scriptable.
+// These must be at the very top of the file. Do not edit.
+// icon-color: blue; icon-glyph: mobile-alt;
+/**
+ * Author:LSP
+ * Date:2024-04-19
+ */
+// -------------------------------------------------------
+// 是否是开发环境,配合手机端调试使用,正式发布设置为false
+const isDev = false;
+const dependencyLSP = '20240419_1';
+console.log(`当前环境 👉👉👉👉👉 ${isDev ? 'DEV' : 'RELEASE'}`);
+console.log(`----------------------------------------`);
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+// 依赖包目录
+const fm = FileManager.local();
+const rootDir = fm.documentsDirectory();
+const cacheDir = fm.joinPath(rootDir, 'LSP');
+const dependencyFileName = isDev ? "_LSP.js" : `${cacheDir}/_LSP.js`;
+// 下载依赖包
+await downloadLSPDependency();
+// -------------------------------------------------------
+if (typeof require === 'undefined') require = importModule
+// 引入相关方法
+const { BaseWidget } = require(dependencyFileName);
+
+// @定义小组件
+class Widget extends BaseWidget {
+
+ defaultPreference = {
+ cache_key_detail: 'detail',
+ cache_key_balance: 'balance',
+ fetchUrl: {
+ home: 'https://e.dlife.cn/wap/mine/showIndex.do#/',
+ detail: 'https://e.dlife.cn/user/package_detail.do',
+ balance: 'https://e.dlife.cn/user/balance.do',
+ },
+ titleDayColor: '#000000',
+ titleNightColor: '#999999',
+ descDayColor: '#000000',
+ descNightColor: '#999999',
+ refreshTimeDayColor: '#000000',
+ refreshTimeNightColor: '#999999',
+ };
+
+ fee = {
+ title: '📱 剩余话费:',
+ balance: 0,
+ unit: '元',
+ };
+
+ voice = {
+ title: '⏳ 剩余语音:',
+ balance: 0,
+ percent: 0,
+ unit: '分钟',
+ };
+
+ flow = {
+ title: '⛽️ 剩余流量:',
+ balance: 0,
+ percent: 0,
+ unit: 'MB',
+ };
+
+ getValueByKey = (key) => this.readWidgetSetting()[key] ?? this.defaultPreference[key];
+
+ titleDayColor = () => this.getValueByKey('titleDayColor');
+ titleNightColor = () => this.getValueByKey('titleNightColor');
+
+ descDayColor = () => this.getValueByKey('descDayColor');
+ descNightColor = () => this.getValueByKey('descNightColor');
+
+ refreshTimeDayColor = () => this.getValueByKey('refreshTimeDayColor');
+ refreshTimeNightColor = () => this.getValueByKey('refreshTimeNightColor');
+
+ constructor(scriptName) {
+ super(scriptName);
+ this.reset = false;
+ this.defaultConfig.bgType = '3';
+ this.backgroundColor = '#FEFCF3,#0A2647';
+ this.cookie = this.getValueByKey('cookie');
+ }
+
+ async getAppViewOptions() {
+ return {
+ widgetProvider: {
+ small: true, // 是否提供小号组件
+ medium: false, // 是否提供中号组件
+ large: false, // 是否提供大号组件
+ },
+ // 预览界面的组件设置item
+ settingItems: [
+ {
+ name: 'chinaTelecomCK',
+ label: '天翼信息',
+ type: 'cell',
+ icon: `${this.getRemoteRootPath()}/img/icon_10000.png`,
+ needLoading: true,
+ desc: this.getValueByKey('loginMiddle')?.length > 0 ? '已填写' : '未填写'
+ },
+ {
+ name: 'filterOrientateFlow',
+ label: '过滤定向流量',
+ type: 'switch',
+ icon: { name: 'bag.fill', color: '#F14A16', },
+ needLoading: false,
+ default: false
+ },
+ {
+ name: 'showUsedFlow',
+ label: '显示已使用流量',
+ type: 'switch',
+ icon: { name: 'archivebox.fill', color: '#ECA97A', },
+ needLoading: false,
+ default: false
+ },
+ {
+ name: 'otherSetting',
+ label: '其他设置',
+ type: 'cell',
+ icon: 'https://cdnjson.com/images/2024/02/05/settings.png',
+ needLoading: true,
+ childItems: [
+ {
+ items: [
+ {
+ name: 'titleDayColor',
+ label: '标题浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.titleDayColor(),
+ },
+ {
+ name: 'titleNightColor',
+ label: '标题深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.titleNightColor(),
+ },
+ ],
+ },
+ {
+ items: [
+ {
+ name: 'descDayColor',
+ label: '内容浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.descDayColor(),
+ },
+ {
+ name: 'descNightColor',
+ label: '内容深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.descNightColor(),
+ },
+ ],
+ },
+ {
+ items: [
+ {
+ name: 'refreshTimeDayColor',
+ label: '刷新时间浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.refreshTimeDayColor(),
+ },
+ {
+ name: 'refreshTimeNightColor',
+ label: '刷新时间深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.refreshTimeNightColor(),
+ },
+ ],
+ },
+ ]
+ },
+ ],
+ // cell类型的item点击回调
+ onItemClick: async (item) => {
+ let insertDesc;
+ const widgetSetting = this.readWidgetSetting();
+ switch (item.name) {
+ case 'chinaTelecomCK':
+ let loginMiddle;
+ let selectIndex = await this.generateAlert('登录信息填写', '1.复制链接进行网页登录\n2.抓取包含loginMiddle.do链接进行填入', ['复制地址', '填入链接']);
+ if (selectIndex == 0) {
+ Pasteboard.copy(this.defaultPreference.fetchUrl.home);
+ await this.generateAlert('提示', '登录链接已复制,请自行网页登录抓包', ["好的"])
+ } else {
+ await this.generateInputAlert({
+ title: '登录信息链接填写',
+ message: '填入抓取包含loginMiddle.do的链接',
+ options: [
+ { hint: '请输入链接', value: '' },
+ ]
+ }, async (inputArr) => {
+ this.reset = true;
+ loginMiddle = inputArr[0].value;
+ // 保存配置
+ widgetSetting['loginMiddle'] = loginMiddle;
+ });
+ }
+ insertDesc = loginMiddle?.length > 0 ? '已填写' : '未填写';
+ this.writeWidgetSetting({ ...widgetSetting });
+ break;
+ }
+ return {
+ desc: { value: insertDesc },
+ };
+ },
+ };
+ }
+
+ async render({ widgetSetting }) {
+ return await this.provideSmallWidget(widgetSetting);
+ }
+
+ async provideSmallWidget(widgetSetting) {
+ // ========================================
+ let loginMiddle = widgetSetting.loginMiddle;
+ if (loginMiddle) {
+ console.log('获取加载ck...');
+ const req = new Request(widgetSetting.loginMiddle);
+ req.credentials = 'include';
+ await req.load();
+ const cookieResArr = req.response.cookies;
+ const ckArr = cookieResArr?.map(item => `${item.name}=${item.value}`);
+ const ck = ckArr.join(';')
+ widgetSetting['cookie'] = ck;
+ this.cookie = ck;
+ console.log(`获取到的ck:${ck}`);
+ } else {
+ console.error('❌❌❌❌❌未配置登录链接❌❌❌❌❌');
+ }
+ console.log(`=======================================`);
+
+ // ========================================
+ await this.loadMoneyBalance();
+ await this.loadDetailInfo(widgetSetting);
+ const voiceBalance = this.voice.balance;
+ // ========================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ // ========================================
+ const widgetSize = this.getWidgetSize('小号');
+ let stack = widget.addStack();
+ let image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/bg_doraemon_1.png`);
+ stack.setPadding(4, 12, 0, 12);
+ stack.backgroundImage = image;
+ stack.size = new Size(widgetSize.width, widgetSize.height);
+ stack.layoutVertically();
+ stack.addSpacer();
+ // ========================================
+ const titleFont = Font.lightSystemFont(13);
+ const infoFont = Font.mediumSystemFont(16);
+ const titleTextColor = Color.dynamic(new Color(this.titleDayColor()), new Color(this.titleNightColor()));
+ const descTextColor = Color.dynamic(new Color(this.descDayColor()), new Color(this.descNightColor()));
+ const refreshTimeTextColor = Color.dynamic(new Color(this.refreshTimeDayColor()), new Color(this.refreshTimeNightColor()));
+ const descSpacer = 3;
+ const lineSpacer = 4;
+ const descLeftSpacer = 22;
+ // ========================================
+ let textSpan = stack.addText(`${this.fee.title}`);
+ textSpan.textColor = titleTextColor;
+ textSpan.font = titleFont;
+ //
+ stack.addSpacer(descSpacer);
+ let displayStack = stack.addStack();
+ displayStack.centerAlignContent();
+ displayStack.addSpacer(descLeftSpacer);
+ textSpan = displayStack.addText(`${this.fee.balance}${this.fee.unit}`);
+ textSpan.textColor = descTextColor;
+ textSpan.font = infoFont;
+ displayStack.addSpacer();
+ // ========================================
+ stack.addSpacer(lineSpacer);
+ textSpan = stack.addText(`${this.voice.title} `);
+ textSpan.textColor = titleTextColor;
+ textSpan.font = titleFont;
+ //
+ stack.addSpacer(descSpacer);
+ displayStack = stack.addStack();
+ displayStack.centerAlignContent();
+ displayStack.addSpacer(descLeftSpacer);
+ textSpan = displayStack.addText(`${voiceBalance}${this.voice.unit}`);
+ textSpan.textColor = descTextColor;
+ textSpan.font = infoFont;
+ displayStack.addSpacer();
+ // ========================================
+ stack.addSpacer(lineSpacer);
+ textSpan = stack.addText(`${this.flow.title} `);
+ textSpan.textColor = titleTextColor;
+ textSpan.font = titleFont;
+ //
+ stack.addSpacer(descSpacer);
+ displayStack = stack.addStack();
+ displayStack.centerAlignContent();
+ displayStack.addSpacer(descLeftSpacer);
+ textSpan = displayStack.addText(`${this.flow.balance}${this.flow.unit}`);
+ textSpan.textColor = descTextColor;
+ textSpan.font = infoFont;
+ displayStack.addSpacer();
+ // ========================================
+
+ // ========================================
+ stack.addSpacer(6);
+ let btStack = stack.addStack();
+ btStack.centerAlignContent();
+ btStack.addSpacer(6);
+ image = this.getSFSymbol('goforward');
+ let imgSpan = btStack.addImage(image);
+ imgSpan.imageSize = new Size(9, 9);
+ imgSpan.tintColor = refreshTimeTextColor;
+ btStack.addSpacer(4);
+ if (this.success) {
+ this.lastUpdate = this.getDateStr(new Date(), 'HH:mm');
+ }
+ textSpan = btStack.addText(`${this.getDateStr(new Date(), 'HH:mm')} `);
+ textSpan.textColor = refreshTimeTextColor;
+ textSpan.font = Font.lightSystemFont(10);
+ btStack.addSpacer();
+ image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/ic_logo_10000.jpg`);
+ imgSpan = btStack.addImage(image);
+ imgSpan.imageSize = new Size(14, 14);
+ stack.addSpacer();
+ //=================================
+ return widget;
+ }
+
+ // --------------------------NET START--------------------------
+ bodyText2Response = async (webview, cacheKey) => {
+ const widgetSetting = this.readWidgetSetting();
+ const text = await webview.evaluateJavaScript("document.body.innerText");
+ const ck = await webview.evaluateJavaScript("document.cookie");
+ console.log(`CK:${ck} `);
+ let RES;
+ try {
+ this.success = true;
+ RES = JSON.parse(text);
+ widgetSetting['loginRes'] = 'login';
+ this.useFileManager().writeJSONCache(cacheKey, RES);
+ } catch (error) {
+ this.success = false;
+ widgetSetting['loginRes'] = '';
+ console.error(`加载出错:${text} `);
+ }
+ this.writeWidgetSetting(widgetSetting);
+ return RES;
+ }
+
+ /**
+ * 加载账户余额
+ */
+ loadMoneyBalance = async () => {
+ const response = await this.httpGet(
+ this.defaultPreference.fetchUrl.balance,
+ {
+ useCache: this.reset ?? false,
+ dataSuccess: (res) => res.serviceResultCode == '0',
+ headers: {
+ 'cookie': this.cookie
+ }
+ }
+ );
+ this.fee.balance = response == undefined || response['serviceResultCode'] == 0 ? parseFloat(parseInt(response?.totalBalanceAvailable || 0) / 100).toFixed(2) : 'NAN';
+ }
+
+ /**
+ * 流量格式化
+ * @param {*} flow
+ * @returns
+ */
+ formatFlow = (flow) => {
+ const remain = flow / 1024;
+ if (remain < 1024) {
+ return { amount: remain.toFixed(2), unit: 'MB' };
+ }
+ return { amount: (remain / 1024).toFixed(2), unit: 'GB' };
+ }
+
+ /**
+ * 加载明细
+ * @returns
+ */
+ loadDetailInfo = async (widgetSetting) => {
+ const { filterOrientateFlow, showUsedFlow } = widgetSetting;
+ const response = await this.httpGet(
+ this.defaultPreference.fetchUrl.detail,
+ {
+ useCache: this.reset ?? false,
+ dataSuccess: (res) => res.paraFieldResult == 'SUCCESS',
+ headers: {
+ 'cookie': this.cookie
+ }
+ }
+ );
+ // 总流量
+ let totalFlowAmount = 0;
+ // 剩余流量
+ let totalBalanceFlowAmount = 0;
+ // 已用流量
+ let totalUsedFlowAmount = 0;
+ // 总语音
+ let totalVoiceAmount = 0;
+ // 剩余语音
+ let totalBalanceVoiceAmount = 0;
+ // 语音
+ if (response?.voiceAmount && response?.voiceBalance) {
+ totalVoiceAmount = response.voiceAmount;
+ totalBalanceVoiceAmount = response.voiceBalance;
+ }
+ // 流量&语音
+ let isUnlimitedFlow = false;
+ response?.items?.forEach((data) => {
+ if (data.offerType !== 19) {
+ data.items?.forEach((item) => {
+ if (item.unitTypeId == 3) {
+ if (!(item.usageAmount == 0 && item.balanceAmount == 0)) {
+ let ratableResourcename = item.ratableResourcename;
+ let ratableAmount = item.ratableAmount;
+ let balanceAmount = item.balanceAmount;
+ let usedAmount = ratableAmount - balanceAmount;
+ console.log(`套餐名称:«${ratableResourcename}»`);
+ console.log(`套餐总流量:${ratableAmount} MB`);
+ console.log(`套餐剩余流量:${balanceAmount} MB`);
+ console.log(`套餐已用流量:${usedAmount} MB`);
+ console.log(`================================= `);
+ if (filterOrientateFlow && ratableResourcename.search('定向') != -1 || balanceAmount == '999999999999') {
+ ratableAmount = 0;
+ balanceAmount = 0;
+ }
+ totalFlowAmount += parseFloat(ratableAmount);
+ totalBalanceFlowAmount += parseFloat(balanceAmount);
+ }
+ totalUsedFlowAmount += parseFloat(item.usageAmount);
+ if (showUsedFlow) {
+ this.flow.title = '⛽️ 流量已用:';
+ }
+ if (data.offerType == 21 && item.ratableAmount == '0') {
+ // 无限流量用户
+ isUnlimitedFlow = true;
+ }
+ } else if (!response.voiceBalance && item.unitTypeId == 1) {
+ totalVoiceAmount += parseInt(item.ratableAmount);
+ totalBalanceVoiceAmount += parseInt(item.balanceAmount);
+ }
+ });
+ }
+ });
+ const totalFlowObj = this.formatFlow(totalFlowAmount);
+ const totalBalanceFlowObj = this.formatFlow(totalBalanceFlowAmount);
+ const totalUsedFlowObj = this.formatFlow(totalUsedFlowAmount);
+ const finalBalanceFlowObj = showUsedFlow ? totalUsedFlowObj : totalBalanceFlowObj;
+ console.log(`总流量:${totalFlowObj.amount}${totalFlowObj.unit} `);
+ console.log(`剩余流量:${totalBalanceFlowObj.amount}${totalBalanceFlowObj.unit} `);
+ console.log(`已使用流量:${totalUsedFlowObj.amount}${totalUsedFlowObj.unit} `);
+ console.log(`总语音:${totalVoiceAmount}${this.voice.unit} `);
+ console.log(`剩余语音:${totalBalanceVoiceAmount}${this.voice.unit} `);
+ console.log(`================================= `);
+ // 设置流量
+ this.flow.percent = ((totalBalanceFlowAmount / (totalFlowAmount || 1)) * 100).toFixed(2);
+ this.flow.balance = finalBalanceFlowObj.amount;
+ this.flow.unit = finalBalanceFlowObj.unit;
+ if (isUnlimitedFlow) {
+ const usageAmountObj = this.formatFlow(totalUsedFlowAmount);
+ this.flow.title = '⛽️ 流量已用:';
+ this.flow.balance = usageAmountObj.amount;
+ this.flow.unit = usageAmountObj.unit;
+ }
+ // 设置语音
+ this.voice.percent = ((totalBalanceVoiceAmount / (totalVoiceAmount || 1)) * 100).toFixed(2);
+ this.voice.balance = totalBalanceVoiceAmount;
+ }
+
+ // --------------------------NET END--------------------------
+}
+
+await new Widget(Script.name()).run();
+
+
+// =================================================================================
+// =================================================================================
+async function downloadLSPDependency() {
+ let fm = FileManager.local();
+ const fileName = fm.joinPath(fm.documentsDirectory(), `LSP/${Script.name()}/settings.json`);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ const use_github = JSON.parse(cacheString)['use_github'];
+ const dependencyURL = `${use_github ? remoteGithubRoot : remoteHomeLandRoot}/_LSP.js`;
+ const update = needUpdateDependency();
+ if (isDev) {
+ const iCloudPath = FileManager.iCloud().documentsDirectory();
+ const localIcloudDependencyExit = fm.isFileStoredIniCloud(`${iCloudPath}/_LSP.js`);
+ const localDependencyExit = fm.fileExists(`${rootDir}/_LSP.js`);
+ const fileExist = localIcloudDependencyExit || localDependencyExit;
+ console.log(`🚀 DEV开发依赖文件${fileExist ? '已存在 ✅' : '不存在 🚫'}`);
+ if (!fileExist || update) {
+ console.log(`🤖 DEV 开始${update ? '更新' + dependencyLSP : '下载'}依赖~`);
+ keySave('VERSION', dependencyLSP);
+ await downloadFile2Scriptable('_LSP', dependencyURL);
+ }
+ return;
+ }
+
+ //////////////////////////////////////////////////////////
+ console.log(`----------------------------------------`);
+ const remoteDependencyExit = fm.fileExists(`${cacheDir}/_LSP.js`);
+ console.log(`🚀 RELEASE依赖文件${remoteDependencyExit ? '已存在 ✅' : '不存在 🚫'}`);
+ // ------------------------------
+ if (!remoteDependencyExit || update) { // 下载依赖
+ // 创建根目录
+ if (!fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir, true);
+ }
+ // 下载
+ console.log(`🤖 RELEASE开始${update ? '更新' : '下载'}依赖~`);
+ console.log(`----------------------------------------`);
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ fm.write(fm.joinPath(cacheDir, '/_LSP.js'), moduleJs);
+ keySave('VERSION', dependencyLSP);
+ console.log('✅ LSP远程依赖环境下载成功!');
+ console.log(`----------------------------------------`);
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ console.log(`----------------------------------------`);
+ }
+ }
+}
+
+/**
+ * 获取保存的文件名
+ * @param {*} fileName
+ * @returns
+ */
+function getSaveFileName(fileName) {
+ const hasSuffix = fileName.lastIndexOf(".") + 1;
+ return !hasSuffix ? `${fileName}.js` : fileName;
+};
+
+/**
+ * 保存文件到Scriptable软件目录,app可看到
+ * @param {*} fileName
+ * @param {*} content
+ * @returns
+ */
+function saveFile2Scriptable(fileName, content) {
+ try {
+ const fm = FileManager.iCloud();
+ let fileSimpleName = getSaveFileName(fileName);
+ const filePath = fm.joinPath(fm.documentsDirectory(), fileSimpleName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+/**
+ * 下载js文件到Scriptable软件目录
+ * @param {*} moduleName 名称
+ * @param {*} url 在线地址
+ * @returns
+ */
+async function downloadFile2Scriptable(moduleName, url) {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return saveFile2Scriptable(`${moduleName}`, content);
+};
+
+/**
+ * 是否需要更新依赖版本
+ */
+function needUpdateDependency() {
+ return dependencyLSP != keyGet('VERSION');
+};
+
+function keySave(cacheKey, cache) {
+ if (cache) {
+ Keychain.set(Script.name() + cacheKey, cache);
+ }
+}
+
+function keyGet(cacheKey, defaultValue = '') {
+ if (Keychain.contains(Script.name() + cacheKey)) {
+ return Keychain.get(Script.name() + cacheKey);
+ } else {
+ return defaultValue;
+ }
+}
+// =================================================================================
+// =================================================================================
\ No newline at end of file
diff --git "a/\347\224\265\345\275\261\346\227\245\345\216\206.js" "b/\347\224\265\345\275\261\346\227\245\345\216\206.js"
new file mode 100644
index 0000000..c88896a
--- /dev/null
+++ "b/\347\224\265\345\275\261\346\227\245\345\216\206.js"
@@ -0,0 +1,377 @@
+// Variables used by Scriptable.
+// These must be at the very top of the file. Do not edit.
+// icon-color: deep-blue; icon-glyph: film;
+/**
+ * Author:LSP
+ * Date:2023-08-29
+ */
+// -------------------------------------------------------
+// 是否是开发环境,配合手机端调试使用,正式发布设置为false
+const isDev = false;
+const dependencyLSP = '20230602';
+console.log(`当前环境 👉👉👉👉👉 ${isDev ? 'DEV' : 'RELEASE'}`);
+console.log(`----------------------------------------`);
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+// 依赖包目录
+const fm = FileManager.local();
+const rootDir = fm.documentsDirectory();
+const cacheDir = fm.joinPath(rootDir, 'LSP');
+const dependencyFileName = isDev ? "_LSP.js" : `${cacheDir}/_LSP.js`;
+// 下载依赖包
+await downloadLSPDependency();
+// -------------------------------------------------------
+if (typeof require === 'undefined') require = importModule
+// 引入相关方法
+const { BaseWidget } = require(dependencyFileName);
+
+// @定义小组件
+class Widget extends BaseWidget {
+
+ constructor(scriptName) {
+ super(scriptName);
+ this.domain = 'https://cikeee.cc';
+ this.defaultConfig.refreshInterval = `${2 * 60}`;
+ this.backgroundColor = '#f0f0f4,#161823';
+ this.defaultConfig.bgType = '2';
+ this.titleColor = Color.dynamic(new Color('#222222'), new Color('#AAAAAA'));
+ this.descColor = Color.dynamic(new Color('#FFFFFF'), new Color('#EEEEEE'));
+ this.subTitleColor = Color.dynamic(new Color('#555555'), new Color('#AAAAAA'));
+ }
+
+ async getAppViewOptions() {
+ return {
+ showWidgetBg: false,
+ widgetProvider: {
+ small: false, // 是否提供小号组件
+ medium: false, // 是否提供中号组件
+ large: true, // 是否提供大号组件
+ },
+ // 预览界面的组件设置item
+ settingItems: [],
+ };
+ }
+
+ async render({ widgetSetting, family }) {
+ return await this.provideLargeWidget();
+ }
+
+ async provideLargeWidget() {
+ const RES = await this.loadMovieCalendar();
+ const { movieImg, movieDesc, movieName, movieInformation, movieRating, movieLink } = RES;
+ const lunarInfo = await this.getLunarInfo();
+ const infoLunarText = `农历${lunarInfo.infoLunarText}`;
+ // ----------------------------------------
+ const widgetSize = this.getWidgetSize('大号');
+ //=================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ //=================================
+ let stack = widget.addStack();
+ stack.size = new Size(widgetSize.width, widgetSize.height);
+ stack.layoutVertically();
+ stack.url = `${this.domain}${movieLink}`;
+ // ----------------------------------------TOP
+ let topStack = stack.addStack();
+ topStack.layoutVertically();
+ topStack.setPadding(0, 16, 16, 16);
+ topStack.size = new Size(widgetSize.width, widgetSize.height * 0.7);
+ let image = await this.getImageByUrl(`${this.domain}${movieImg}`);
+ image = await this.loadShadowColor2Image(image, new Color('#000000', 0.4));
+ widget.backgroundImage = image;
+ topStack.addSpacer();
+ //
+ let textSpan = topStack.addText('❝');
+ textSpan.textColor = this.descColor;
+ textSpan.font = Font.lightSystemFont(20);
+ //
+ textSpan = topStack.addText(movieDesc);
+ textSpan.textOpacity = 0.9;
+ textSpan.textColor = this.descColor;
+ textSpan.font = Font.systemFont(14);
+ // ----------------------------------------BOTTOM
+ let bottomStack = stack.addStack();
+ bottomStack.backgroundColor = this.dynamicColor("#f0f0f4", "#161823");
+ bottomStack.size = new Size(widgetSize.width, widgetSize.height * 0.3);
+ bottomStack.layoutHorizontally();
+ bottomStack.addSpacer(10);
+ //
+ let movieInfoStack = bottomStack.addStack();
+ movieInfoStack.addSpacer();
+ movieInfoStack.layoutVertically();
+ textSpan = movieInfoStack.addText(`${movieName}`);
+ textSpan.textColor = this.titleColor;
+ textSpan.font = Font.mediumSystemFont(17);
+ //
+ let imgSpan;
+ let ratingSize = new Size(18, 18);
+ let ratingColor = new Color('#F8D454');
+ movieInfoStack.addSpacer(6);
+ let hStack = movieInfoStack.addStack();
+ hStack.layoutHorizontally();
+ hStack.centerAlignContent();
+ hStack.addSpacer(6);
+ let emptyStar = this.getSFSymbol('star');
+ let fillStar = this.getSFSymbol('star.fill');
+ let halfStar = this.getSFSymbol('star.leadinghalf.filled');
+ const fillCount = Math.floor(movieRating / 2);
+ const remainCount = movieRating / 2 - fillCount;
+ let totalCount = 0;
+ for (let index = 0; index < fillCount; index++) {
+ totalCount += 1;
+ imgSpan = hStack.addImage(fillStar);
+ imgSpan.tintColor = ratingColor;
+ imgSpan.imageSize = ratingSize;
+ hStack.addSpacer(2);
+ }
+ if (remainCount >= 0.5) {
+ totalCount += 1;
+ if (halfStar == undefined) {
+ halfStar = emptyStar;
+ }
+ imgSpan = hStack.addImage(halfStar);
+ imgSpan.tintColor = ratingColor;
+ imgSpan.imageSize = ratingSize;
+ hStack.addSpacer(2);
+ }
+ for (let index = 0; index < 5 - totalCount; index++) {
+ imgSpan = hStack.addImage(emptyStar);
+ imgSpan.tintColor = ratingColor;
+ imgSpan.imageSize = ratingSize;
+ }
+ hStack.addSpacer(8);
+ textSpan = hStack.addText(`豆瓣评分${movieRating}`);
+ textSpan.textColor = this.subTitleColor;
+ textSpan.font = Font.semiboldSystemFont(12);
+ //
+ movieInfoStack.addSpacer(6);
+ hStack = movieInfoStack.addStack();
+ hStack.layoutHorizontally();
+ hStack.addSpacer(8)
+ textSpan = hStack.addText(`${movieInformation}`);
+ textSpan.textColor = this.subTitleColor;
+ textSpan.font = Font.semiboldSystemFont(13);
+ movieInfoStack.addSpacer();
+ // ----------------------------------------
+ bottomStack.addSpacer();
+ const currDate = new Date();
+ let dateStack = bottomStack.addStack();
+ dateStack.url = `https://www.cikeee.com/wangri`;
+ dateStack.centerAlignContent();
+ dateStack.size = new Size(110, 0);
+ dateStack.layoutVertically();
+ hStack = dateStack.addStack();
+ hStack.addSpacer();
+ let date = currDate.getDate();
+ textSpan = hStack.addText(date < 10 ? `0${date}` : `${date}`);
+ hStack.addSpacer();
+ textSpan.textColor = this.titleColor;
+ textSpan.font = Font.semiboldSystemFont(48);
+ //
+ let month = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月'][currDate.getMonth()];
+ let week = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'][currDate.getDay()];
+ hStack = dateStack.addStack();
+ hStack.addSpacer();
+ textSpan = hStack.addText(`${month} | ${week}`);
+ hStack.addSpacer();
+ textSpan.textColor = this.subTitleColor;
+ textSpan.font = Font.mediumSystemFont(13);
+ //
+ dateStack.addSpacer(4);
+ hStack = dateStack.addStack();
+ hStack.addSpacer();
+ textSpan = hStack.addText(`${infoLunarText}`);
+ hStack.addSpacer();
+ textSpan.textColor = this.subTitleColor;
+ textSpan.font = Font.mediumSystemFont(13);
+ bottomStack.addSpacer(6);
+ //=================================
+ return widget;
+ }
+
+ // --------------------------NET START--------------------------
+ async loadHTML(url) {
+ let req = new Request(url);
+ req.headers = {
+ "user-agent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/107.0.0.0 Safari/537.36",
+ };
+ let html = await req.loadString();
+ return html.replace(/(\r\n|\n|\r)/gm, "");
+ }
+
+ async loadMovieCalendar() {
+ const link = this.domain;
+ let response = undefined;
+ try {
+ const ufm = this.useFileManager();
+ const webview = new WebView();
+ const cacheFileName = this.md5(link);
+ const lastCacheTime = ufm.getCacheModifyDate(cacheFileName);
+ const timeInterval = Math.floor((this.getCurrentTimeStamp() - lastCacheTime) / 60);
+ // 读取本地缓存
+ const localCache = ufm.readStringCache(cacheFileName);
+ const canUseCache = localCache != null && localCache.length > 0;
+ // 过时且有本地缓存则直接返回本地缓存数据
+ const { refreshInterval = '0' } = this.readWidgetSetting();
+ const shouldLoadCache = timeInterval <= Number(refreshInterval) && canUseCache;
+ let html = undefined;
+ if (!shouldLoadCache) {
+ console.log(`-->>在线加载网页数据:${link}`);
+ html = await this.loadHTML(link);
+ ufm.writeStringCache(cacheFileName, html);
+ } else {
+ html = ufm.readStringCache(cacheFileName);
+ console.log(`-->>加载缓存网页数据:${link}`);
+ }
+ await webview.loadHTML(html);
+ const getData =
+ `
+ function getData() {
+ let movieImg = document.getElementById('movie-img').src;
+ let movieDesc = document.querySelector('span#movie-text').textContent;
+ let movieName = document.querySelector('a#movie-name').textContent.replaceAll('——', '');
+ let movieInformation = document.querySelector('a#movie-information').textContent;
+ let movieRating = movieInformation.slice(0, 3);
+ movieInformation = movieInformation.slice(5);
+ let movieLink = document.querySelector('a#movie-img-a').href;
+ return { movieImg, movieDesc, movieName, movieInformation, movieRating, movieLink };
+ }
+ getData()
+ `
+ // 热榜数据
+ response = await webview.evaluateJavaScript(getData, false);
+ if (response.titleArr?.length > 0) {
+ this.useFileManager().writeStringCache('movieCalendar', JSON.stringify(response));
+ }
+ } catch (error) {
+ console.error(`🚫 请求数据出错了=>${error}`);
+ response = JSON.parse(this.useFileManager().readStringCache('movieCalendar'));
+ }
+ return response;
+ }
+ // --------------------------NET END--------------------------
+
+}
+
+await new Widget(Script.name()).run();
+
+
+// =================================================================================
+// =================================================================================
+async function downloadLSPDependency() {
+ let fm = FileManager.local();
+ const fileName = fm.joinPath(fm.documentsDirectory(), `LSP/${Script.name()}/settings.json`);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ const use_github = JSON.parse(cacheString)['use_github'];
+ const dependencyURL = `${use_github ? remoteGithubRoot : remoteHomeLandRoot}/_LSP.js`;
+ const update = needUpdateDependency();
+ if (isDev) {
+ const iCloudPath = FileManager.iCloud().documentsDirectory();
+ const localIcloudDependencyExit = fm.isFileStoredIniCloud(`${iCloudPath}/_LSP.js`);
+ const localDependencyExit = fm.fileExists(`${rootDir}/_LSP.js`);
+ const fileExist = localIcloudDependencyExit || localDependencyExit;
+ console.log(`🚀 DEV开发依赖文件${fileExist ? '已存在 ✅' : '不存在 🚫'}`);
+ if (!fileExist || update) {
+ console.log(`🤖 DEV 开始${update ? '更新' + dependencyLSP : '下载'}依赖~`);
+ keySave('VERSION', dependencyLSP);
+ await downloadFile2Scriptable('_LSP', dependencyURL);
+ }
+ return;
+ }
+
+ //////////////////////////////////////////////////////////
+ console.log(`----------------------------------------`);
+ const remoteDependencyExit = fm.fileExists(`${cacheDir}/_LSP.js`);
+ console.log(`🚀 RELEASE依赖文件${remoteDependencyExit ? '已存在 ✅' : '不存在 🚫'}`);
+ // ------------------------------
+ if (!remoteDependencyExit || update) { // 下载依赖
+ // 创建根目录
+ if (!fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir, true);
+ }
+ // 下载
+ console.log(`🤖 RELEASE开始${update ? '更新' : '下载'}依赖~`);
+ console.log(`----------------------------------------`);
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ fm.write(fm.joinPath(cacheDir, '/_LSP.js'), moduleJs);
+ keySave('VERSION', dependencyLSP);
+ console.log('✅ LSP远程依赖环境下载成功!');
+ console.log(`----------------------------------------`);
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ console.log(`----------------------------------------`);
+ }
+ }
+}
+
+/**
+ * 获取保存的文件名
+ * @param {*} fileName
+ * @returns
+ */
+function getSaveFileName(fileName) {
+ const hasSuffix = fileName.lastIndexOf(".") + 1;
+ return !hasSuffix ? `${fileName}.js` : fileName;
+};
+
+/**
+ * 保存文件到Scriptable软件目录,app可看到
+ * @param {*} fileName
+ * @param {*} content
+ * @returns
+ */
+function saveFile2Scriptable(fileName, content) {
+ try {
+ const fm = FileManager.iCloud();
+ let fileSimpleName = getSaveFileName(fileName);
+ const filePath = fm.joinPath(fm.documentsDirectory(), fileSimpleName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+/**
+ * 下载js文件到Scriptable软件目录
+ * @param {*} moduleName 名称
+ * @param {*} url 在线地址
+ * @returns
+ */
+async function downloadFile2Scriptable(moduleName, url) {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return saveFile2Scriptable(`${moduleName}`, content);
+};
+
+/**
+ * 是否需要更新依赖版本
+ */
+function needUpdateDependency() {
+ return dependencyLSP != keyGet('VERSION');
+};
+
+function keySave(cacheKey, cache) {
+ if (cache) {
+ Keychain.set(Script.name() + cacheKey, cache);
+ }
+}
+
+function keyGet(cacheKey, defaultValue = '') {
+ if (Keychain.contains(Script.name() + cacheKey)) {
+ return Keychain.get(Script.name() + cacheKey);
+ } else {
+ return defaultValue;
+ }
+}
+// =================================================================================
+// =================================================================================
\ No newline at end of file
diff --git "a/\350\201\224\351\200\232.js" "b/\350\201\224\351\200\232.js"
new file mode 100644
index 0000000..12a4a6e
--- /dev/null
+++ "b/\350\201\224\351\200\232.js"
@@ -0,0 +1,489 @@
+// Variables used by Scriptable.
+// These must be at the very top of the file. Do not edit.
+// icon-color: red; icon-glyph: mobile-alt;
+/**
+ * Author:LSP
+ * Date:2023-04-15
+ */
+// -------------------------------------------------------
+// 是否是开发环境,配合手机端调试使用,正式发布设置为false
+const isDev = false;
+const dependencyLSP = '20230511';
+console.log(`当前环境 👉👉👉👉👉 ${isDev ? 'DEV' : 'RELEASE'}`);
+console.log(`----------------------------------------`);
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+// 依赖包目录
+const fm = FileManager.local();
+const rootDir = fm.documentsDirectory();
+const cacheDir = fm.joinPath(rootDir, 'LSP');
+const dependencyFileName = isDev ? "_LSP.js" : `${cacheDir}/_LSP.js`;
+// 下载依赖包
+await downloadLSPDependency();
+// -------------------------------------------------------
+if (typeof require === 'undefined') require = importModule
+// 引入相关方法
+const { BaseWidget } = require(dependencyFileName);
+
+// @定义小组件
+class Widget extends BaseWidget {
+
+ defaultPreference = {
+ fetchUrl: {
+ detail: `https://m.client.10010.com/mobileserviceimportant/home/queryUserInfoSeven?version=iphone_c@10.0100&desmobiel=13232135179&showType=0`,
+ },
+ titleDayColor: '#000000',
+ titleNightColor: '#999999',
+ descDayColor: '#000000',
+ descNightColor: '#999999',
+ refreshTimeDayColor: '#000000',
+ refreshTimeNightColor: '#999999',
+ };
+
+ fee = {
+ title: '📱 剩余话费:',
+ balance: 0,
+ unit: '元',
+ };
+
+ voice = {
+ title: '⏳ 剩余语音:',
+ balance: 0,
+ percent: 0,
+ unit: '分钟',
+ };
+
+ flow = {
+ title: '⛽️ 剩余流量:',
+ balance: 0,
+ percent: 0,
+ unit: 'MB',
+ };
+
+ getValueByKey = (key) => this.readWidgetSetting()[key] ?? '';
+
+ titleDayColor = () => this.getValueByKey('titleDayColor');
+ titleNightColor = () => this.getValueByKey('titleNightColor');
+
+ descDayColor = () => this.getValueByKey('descDayColor');
+ descNightColor = () => this.getValueByKey('descNightColor');
+
+ refreshTimeDayColor = () => this.getValueByKey('refreshTimeDayColor');
+ refreshTimeNightColor = () => this.getValueByKey('refreshTimeNightColor');
+
+ constructor(scriptName) {
+ super(scriptName);
+ this.reset = false;
+ this.defaultConfig.bgType = '3';
+ this.backgroundColor = '#FEFCF3,#0A2647';
+ this.cookie = this.getValueByKey('cookie');
+ }
+
+ async getAppViewOptions() {
+ return {
+ widgetProvider: {
+ small: true, // 是否提供小号组件
+ medium: false, // 是否提供中号组件
+ large: false, // 是否提供大号组件
+ },
+ // 预览界面的组件设置item
+ settingItems: [
+ {
+ name: 'chinaUnicomCK',
+ label: '联通Cookie',
+ type: 'cell',
+ icon: `${this.getRemoteRootPath()}/img/icon_10010.png`,
+ needLoading: true,
+ desc: this.getValueByKey('cookie')?.length > 0 ? '已填写' : '未填写'
+ },
+ {
+ name: 'otherSetting',
+ label: '其他设置',
+ type: 'cell',
+ icon: 'https://cdnjson.com/images/2024/02/05/settings.png',
+ needLoading: true,
+ childItems: [
+ {
+ items: [
+ {
+ name: 'titleDayColor',
+ label: '标题浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.titleDayColor(),
+ },
+ {
+ name: 'titleNightColor',
+ label: '标题深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.titleNightColor(),
+ },
+ ],
+ },
+ {
+ items: [
+ {
+ name: 'descDayColor',
+ label: '内容浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.descDayColor(),
+ },
+ {
+ name: 'descNightColor',
+ label: '内容深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.descNightColor(),
+ },
+ ],
+ },
+ {
+ items: [
+ {
+ name: 'refreshTimeDayColor',
+ label: '刷新时间浅色颜色',
+ type: 'color',
+ icon: { name: 'pencil.and.outline', color: '#3a86ff', },
+ needLoading: false,
+ default: this.refreshTimeDayColor(),
+ },
+ {
+ name: 'refreshTimeNightColor',
+ label: '刷新时间深色颜色',
+ type: 'color',
+ icon: { name: 'square.and.pencil', color: '#3a0ca3', },
+ needLoading: false,
+ default: this.refreshTimeNightColor(),
+ },
+ ],
+ },
+ ]
+ },
+ ],
+ // cell类型的item点击回调
+ onItemClick: async (item) => {
+ const widgetSetting = this.readWidgetSetting();
+ let insertDesc = widgetSetting.phone?.length > 0 && widgetSetting.cookie?.length > 0 ? '已填写' : '未填写';
+ switch (item.name) {
+ case 'chinaUnicomCK':
+ let phone;
+ let ck;
+ await this.generateInputAlert({
+ title: '登录信息填写',
+ message: '自己抓取联通客户端app的cookie填入',
+ options: [
+ { hint: '请输入联通号码', value: widgetSetting?.phone ?? '' },
+ { hint: '请输入cookie', value: widgetSetting?.cookie ?? '' },
+ ]
+ }, async (inputArr) => {
+ this.reset = true;
+ phone = inputArr[0].value;
+ ck = inputArr[1].value;
+ // 保存配置
+ widgetSetting['phone'] = phone;
+ widgetSetting['cookie'] = ck;
+ });
+ this.cookie = widgetSetting.cookie;
+ insertDesc = phone?.length > 0 && ck?.length > 0 ? '已填写' : '未填写';
+ this.writeWidgetSetting({ ...widgetSetting });
+ break;
+ }
+ return {
+ desc: { value: insertDesc },
+ };
+ },
+ };
+ }
+
+ async render() {
+ return await this.provideSmallWidget();
+ }
+
+ async provideSmallWidget() {
+ // ========================================
+ await this.loadDetailInfo();
+ const voiceBalance = this.voice.balance;
+ // ========================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ // ========================================
+ const widgetSize = this.getWidgetSize('小号');
+ let stack = widget.addStack();
+ let image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/bg_doraemon_1.png`);
+ stack.setPadding(4, 12, 0, 12);
+ stack.backgroundImage = image;
+ stack.size = new Size(widgetSize.width, widgetSize.height);
+ stack.layoutVertically();
+ stack.addSpacer();
+ // ========================================
+ const titleFont = Font.lightSystemFont(13);
+ const infoFont = Font.mediumSystemFont(16);
+ const titleTextColor = Color.dynamic(new Color(this.titleDayColor()), new Color(this.titleNightColor()));
+ const descTextColor = Color.dynamic(new Color(this.descDayColor()), new Color(this.descNightColor()));
+ const refreshTimeTextColor = Color.dynamic(new Color(this.refreshTimeDayColor()), new Color(this.refreshTimeNightColor()));
+ const descSpacer = 3;
+ const lineSpacer = 4;
+ const descLeftSpacer = 22;
+ // ========================================
+ let textSpan = stack.addText(`${this.fee.title}`);
+ textSpan.textColor = titleTextColor
+ textSpan.font = titleFont;
+ //
+ stack.addSpacer(descSpacer);
+ let displayStack = stack.addStack();
+ displayStack.centerAlignContent();
+ displayStack.addSpacer(descLeftSpacer);
+ textSpan = displayStack.addText(`${this.fee.balance}${this.fee.unit}`);
+ textSpan.textColor = descTextColor
+ textSpan.font = infoFont
+ displayStack.addSpacer();
+ // ========================================
+ stack.addSpacer(lineSpacer);
+ textSpan = stack.addText(`${this.voice.title}`);
+ textSpan.textColor = titleTextColor
+ textSpan.font = titleFont;
+ //
+ stack.addSpacer(descSpacer);
+ displayStack = stack.addStack();
+ displayStack.centerAlignContent();
+ displayStack.addSpacer(descLeftSpacer);
+ textSpan = displayStack.addText(`${voiceBalance}${this.voice.unit}`);
+ textSpan.textColor = descTextColor
+ textSpan.font = infoFont
+ displayStack.addSpacer();
+ // ========================================
+ stack.addSpacer(lineSpacer);
+ textSpan = stack.addText(`${this.flow.title}`);
+ textSpan.textColor = titleTextColor
+ textSpan.font = titleFont;
+ //
+ stack.addSpacer(descSpacer);
+ displayStack = stack.addStack();
+ displayStack.centerAlignContent();
+ displayStack.addSpacer(descLeftSpacer);
+ textSpan = displayStack.addText(`${this.flow.balance}${this.flow.unit}`);
+ textSpan.textColor = descTextColor
+ textSpan.font = infoFont
+ displayStack.addSpacer();
+ // ========================================
+
+ // ========================================
+ stack.addSpacer(6);
+ let btStack = stack.addStack();
+ btStack.centerAlignContent();
+ btStack.addSpacer(6);
+ image = this.getSFSymbol('goforward');
+ let imgSpan = btStack.addImage(image);
+ imgSpan.imageSize = new Size(9, 9);
+ imgSpan.tintColor = refreshTimeTextColor
+ btStack.addSpacer(4);
+ if (this.success) {
+ this.lastUpdate = this.getDateStr(new Date(), 'HH:mm');
+ }
+ textSpan = btStack.addText(`${this.getDateStr(new Date(), 'HH:mm')}`);
+ textSpan.textColor = refreshTimeTextColor
+ textSpan.font = Font.lightSystemFont(10);
+ btStack.addSpacer();
+ image = await this.getImageByUrl(`${this.getRemoteRootPath()}/img/ic_logo_10010.png`);
+ imgSpan = btStack.addImage(image);
+ imgSpan.imageSize = new Size(14, 14);
+ stack.addSpacer();
+ //=================================
+ return widget;
+ }
+
+ // --------------------------NET START--------------------------
+ /**
+ * 流量格式化
+ * @param {*} flow
+ * @returns
+ */
+ formatFlow = (flow) => {
+ const remain = flow / 1024;
+ if (remain < 1024) {
+ return { amount: remain.toFixed(2), unit: 'MB' };
+ }
+ return { amount: (remain / 1024).toFixed(2), unit: 'GB' };
+ }
+
+ /**
+ * 加载明细
+ * @returns
+ */
+ loadDetailInfo = async () => {
+ const response = await this.httpGet(
+ this.defaultPreference.fetchUrl.detail,
+ {
+ useCache: this.reset ?? false,
+ dataSuccess: (res) => res.code == 'Y',
+ headers: {
+ 'Host': 'm.client.10010.com',
+ 'User-Agent': 'ChinaUnicom.x CFNetwork iOS/16.3 unicom{version:iphone_c@10.0100}',
+ 'cookie': this.cookie,
+ }
+ }
+ );
+ if (response?.code == 'Y') {
+ const { feeResource, voiceResource, flowResource } = response;
+ // 话费
+ this.fee = {
+ title: `📱 ${feeResource?.dynamicFeeTitle}:`,
+ balance: feeResource?.feePersent,
+ unit: feeResource?.newUnit,
+ };
+ // 语音
+ this.voice = {
+ title: `⏳ ${voiceResource?.dynamicVoiceTitle}:`,
+ balance: voiceResource?.voicePersent,
+ percent: 0,
+ unit: voiceResource?.newUnit,
+ };
+ // 流量
+ this.flow = {
+ title: `⛽️ ${flowResource?.dynamicFlowTitle}:`,
+ balance: flowResource?.flowPersent,
+ percent: 0,
+ unit: flowResource?.newUnit,
+ };
+ console.log(`话费:`);
+ console.log(JSON.stringify(this.fee, null, 2));
+ console.log(`语音:`);
+ console.log(JSON.stringify(this.voice, null, 2));
+ console.log(`流量:`);
+ console.log(JSON.stringify(this.flow, null, 2));
+ } else {
+ this.notify('联通小组件', `可能cookie失效了~`);
+ }
+ }
+
+ // --------------------------NET END--------------------------
+}
+
+await new Widget(Script.name()).run();
+
+
+// =================================================================================
+// =================================================================================
+async function downloadLSPDependency() {
+ let fm = FileManager.local();
+ const fileName = fm.joinPath(fm.documentsDirectory(), `LSP/${Script.name()}/settings.json`);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ const use_github = JSON.parse(cacheString)['use_github'];
+ const dependencyURL = `${use_github ? remoteGithubRoot : remoteHomeLandRoot}/_LSP.js`;
+ const update = needUpdateDependency();
+ if (isDev) {
+ const iCloudPath = FileManager.iCloud().documentsDirectory();
+ const localIcloudDependencyExit = fm.isFileStoredIniCloud(`${iCloudPath}/_LSP.js`);
+ const localDependencyExit = fm.fileExists(`${rootDir}/_LSP.js`);
+ const fileExist = localIcloudDependencyExit || localDependencyExit;
+ console.log(`🚀 DEV开发依赖文件${fileExist ? '已存在 ✅' : '不存在 🚫'}`);
+ if (!fileExist || update) {
+ console.log(`🤖 DEV 开始${update ? '更新' + dependencyLSP : '下载'}依赖~`);
+ keySave('VERSION', dependencyLSP);
+ await downloadFile2Scriptable('_LSP', dependencyURL);
+ }
+ return;
+ }
+
+ //////////////////////////////////////////////////////////
+ console.log(`----------------------------------------`);
+ const remoteDependencyExit = fm.fileExists(`${cacheDir}/_LSP.js`);
+ console.log(`🚀 RELEASE依赖文件${remoteDependencyExit ? '已存在 ✅' : '不存在 🚫'}`);
+ // ------------------------------
+ if (!remoteDependencyExit || update) { // 下载依赖
+ // 创建根目录
+ if (!fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir, true);
+ }
+ // 下载
+ console.log(`🤖 RELEASE开始${update ? '更新' : '下载'}依赖~`);
+ console.log(`----------------------------------------`);
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ fm.write(fm.joinPath(cacheDir, '/_LSP.js'), moduleJs);
+ keySave('VERSION', dependencyLSP);
+ console.log('✅ LSP远程依赖环境下载成功!');
+ console.log(`----------------------------------------`);
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ console.log(`----------------------------------------`);
+ }
+ }
+}
+
+/**
+ * 获取保存的文件名
+ * @param {*} fileName
+ * @returns
+ */
+function getSaveFileName(fileName) {
+ const hasSuffix = fileName.lastIndexOf(".") + 1;
+ return !hasSuffix ? `${fileName}.js` : fileName;
+};
+
+/**
+ * 保存文件到Scriptable软件目录,app可看到
+ * @param {*} fileName
+ * @param {*} content
+ * @returns
+ */
+function saveFile2Scriptable(fileName, content) {
+ try {
+ const fm = FileManager.iCloud();
+ let fileSimpleName = getSaveFileName(fileName);
+ const filePath = fm.joinPath(fm.documentsDirectory(), fileSimpleName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+/**
+ * 下载js文件到Scriptable软件目录
+ * @param {*} moduleName 名称
+ * @param {*} url 在线地址
+ * @returns
+ */
+async function downloadFile2Scriptable(moduleName, url) {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return saveFile2Scriptable(`${moduleName}`, content);
+};
+
+/**
+ * 是否需要更新依赖版本
+ */
+function needUpdateDependency() {
+ return dependencyLSP != keyGet('VERSION');
+};
+
+function keySave(cacheKey, cache) {
+ if (cache) {
+ Keychain.set(Script.name() + cacheKey, cache);
+ }
+}
+
+function keyGet(cacheKey, defaultValue = '') {
+ if (Keychain.contains(Script.name() + cacheKey)) {
+ return Keychain.get(Script.name() + cacheKey);
+ } else {
+ return defaultValue;
+ }
+}
+// =================================================================================
+// =================================================================================
\ No newline at end of file
diff --git "a/\351\235\222\350\233\231\345\244\251\346\260\224.js" "b/\351\235\222\350\233\231\345\244\251\346\260\224.js"
new file mode 100644
index 0000000..a8df267
--- /dev/null
+++ "b/\351\235\222\350\233\231\345\244\251\346\260\224.js"
@@ -0,0 +1,401 @@
+// Variables used by Scriptable.
+// These must be at the very top of the file. Do not edit.
+// icon-color: green; icon-glyph: frog;
+/**
+ * Author:LSP
+ * Date:2023-05-12
+ */
+// -------------------------------------------------------
+// 是否是开发环境,配合手机端调试使用,正式发布设置为false
+const isDev = false;
+const dependencyLSP = '20230512';
+console.log(`当前环境 👉👉👉👉👉 ${isDev ? 'DEV' : 'RELEASE'}`);
+console.log(`----------------------------------------`);
+// 分支
+const branch = 'v2';
+// 仓库根目录
+const remoteGithubRoot = `https://raw.githubusercontent.com/Enjoyee/Scriptable/${branch}`;
+const remoteHomeLandRoot = `https://glimmerk.coding.net/p/Scriptable/shared-depot/source/git/raw/${branch}`;
+// 依赖包目录
+const fm = FileManager.local();
+const rootDir = fm.documentsDirectory();
+const cacheDir = fm.joinPath(rootDir, 'LSP');
+const dependencyFileName = isDev ? "_LSP.js" : `${cacheDir}/_LSP.js`;
+// 下载依赖包
+await downloadLSPDependency();
+// -------------------------------------------------------
+if (typeof require === 'undefined') require = importModule
+// 引入相关方法
+const { BaseWidget } = require(dependencyFileName);
+
+// @定义小组件
+class Widget extends BaseWidget {
+
+ defaultPreference = {
+ caiyun: 'UR8ASaplvIwavDfR',
+ enFontUrl: `${this.getRemoteRootPath()}/font/Facon.ttf`,
+ descMap: {
+ 'CLEAR_DAY': '𝑪𝒍𝒆𝒂𝒓',
+ 'CLEAR_NIGHT': '𝑪𝒍𝒆𝒂𝒓',
+ 'PARTLY_CLOUDY_DAY': '𝑷𝒂𝒓𝒕𝒍𝒚 𝑪𝒍𝒐𝒖𝒅𝒚',
+ 'PARTLY_CLOUDY_NIGHT': '𝑷𝒂𝒓𝒕𝒍𝒚 𝑪𝒍𝒐𝒖𝒅𝒚',
+ 'CLOUDY': '𝑪𝒍𝒐𝒖𝒅𝒚',
+ 'LIGHT_HAZE': '𝑯𝒂𝒛𝒆',
+ 'MODERATE_HAZE': '𝑯𝒂𝒛𝒆',
+ 'HEAVY_HAZE': '𝑯𝒂𝒛𝒆',
+ 'LIGHT_RAIN': '𝑹𝒂𝒊𝒏',
+ 'MODERATE_RAIN': '𝑹𝒂𝒊𝒏',
+ 'HEAVY_RAIN': '𝑹𝒂𝒊𝒏',
+ 'STORM_RAIN': '𝑹𝒂𝒊𝒏',
+ 'FOG': '𝑭𝒐𝒈',
+ 'LIGHT_SNOW': '𝑺𝒏𝒐𝒘',
+ 'MODERATE_SNOW': '𝑺𝒏𝒐𝒘',
+ 'HEAVY_SNOW': '𝑺𝒏𝒐𝒘',
+ 'STORM_SNOW': '𝑺𝒏𝒐𝒘',
+ 'DUST': '𝑫𝒖𝒔𝒕',
+ 'SAND': '𝑺𝒂𝒏𝒅',
+ 'WIND': '𝑾𝒊𝒏𝒅',
+ },
+ };
+
+ getValueByKey = (key) => this.readWidgetSetting()[key] ?? this.defaultPreference[key];
+
+ caiyun = () => this.getValueByKey('caiyun');
+
+ constructor(scriptName) {
+ super(scriptName);
+ }
+
+ async getAppViewOptions() {
+ return {
+ showWidgetBg: false,
+ widgetProvider: {
+ small: false, // 是否提供小号组件
+ medium: true, // 是否提供中号组件
+ large: false, // 是否提供大号组件
+ },
+ // 预览界面的组件设置item
+ settingItems: [
+ {
+ name: 'caiyun',
+ label: '彩云key',
+ type: 'cell',
+ icon: `${this.getRemoteRootPath()}/img/ic_weather_loop.gif`,
+ alert: {
+ title: '彩云key',
+ message: "外部已使用默认key\\n如果不可用了需要自己去申请填入替换",
+ options: [
+ {
+ key: 'caiyun',
+ hint: '请输入彩云key',
+ }
+ ]
+ },
+ needLoading: false,
+ default: this.caiyun(),
+ },
+ ]
+ };
+ }
+
+ async render({ widgetSetting, family }) {
+ return await this.provideMediumWidget();
+ }
+
+ async provideMediumWidget() {
+ // ----------------------------------------
+ // 请求彩云
+ const weatherInfo = await this.getWeather();
+ // ========================================
+ // 天气对应的背景
+ let weatherBgUrl = this.weatherBgUrl(weatherInfo.weatherIco);
+ let image = await this.getImageByUrl(weatherBgUrl);
+ const widgetSize = this.getWidgetSize('中号');
+ //=================================
+ const widget = new ListWidget();
+ widget.setPadding(0, 0, 0, 0);
+ //=================================
+ let stack = widget.addStack();
+ stack.setPadding(10, 10, 0, 0);
+ stack.size = new Size(widgetSize.width, widgetSize.height);
+ stack.backgroundImage = image;
+ stack.layoutVertically();
+ //
+ let tipStack = stack.addStack();
+ tipStack.layoutHorizontally();
+ tipStack.setPadding(0, 0, 10, 10);
+ let temperatureImg = await this.drawTextWithCustomFont(this.defaultPreference.enFontUrl, `${weatherInfo.temperature}°c`, 25, "fff", "left");
+ let imgSpan = tipStack.addImage(temperatureImg);
+ imgSpan.imageSize = new Size(temperatureImg.size.width / 2, temperatureImg.size.height / 2);
+ imgSpan.leftAlignImage();
+ //
+ tipStack.addSpacer();
+ let textSpan = tipStack.addText(this.weatherPhenomenonCN(weatherInfo.weatherIco));
+ textSpan.font = Font.mediumSystemFont(13);
+ textSpan.textColor = new Color('#fff');
+ textSpan.shadowRadius = 0.4;
+ textSpan.shadowColor = new Color('#444');
+ stack.addSpacer();
+ //=================================
+ return widget;
+ }
+
+ /**
+ * 获取天气背景
+ */
+ weatherBgUrl(weatherDesc) {
+ return `https://gitee.com/enjoyee/img/raw/master/bg/frog/${weatherDesc}.png`
+ }
+
+ weatherPhenomenonCN = (phenomenonEN) => {
+ return this.defaultPreference.descMap[phenomenonEN];
+ }
+
+ // --------------------------NET START--------------------------
+
+ /**
+ * 获取彩云天气信息
+ * @param {*} dailysteps
+ * @returns
+ */
+ getWeather = async (dailysteps = 6) => {
+ // 开启质量
+ function airQuality(levelNum) {
+ // 0-50 优,51-100 良,101-150 轻度污染,151-200 中度污染
+ // 201-300 重度污染,>300 严重污染
+ if (levelNum >= 0 && levelNum <= 50) {
+ return "优秀";
+ } else if (levelNum >= 51 && levelNum <= 100) {
+ return "良好";
+ } else if (levelNum >= 101 && levelNum <= 150) {
+ return "轻度";
+ } else if (levelNum >= 151 && levelNum <= 200) {
+ return "中度";
+ } else if (levelNum >= 201 && levelNum <= 300) {
+ return "重度";
+ } else {
+ return "严重";
+ }
+ }
+
+ // 获取天气icon
+ function getWeatherIco(weatherDesc, keyIndex) {
+ if (keyIndex < 1 || keyIndex > 10) {
+ keyIndex = parseInt(Math.random() * 10) + 1;
+ }
+ return `https://gitee.com/enjoyee/img/raw/master/icon/weather${keyIndex}/${weatherDesc}.png`;
+ }
+
+ // 获取位置
+ let location = await this.getLocation();
+ // 彩云api key
+ const caiyunKey = this.caiyun();
+ // 彩云天气api
+ const url = `https://api.caiyunapp.com/v2.5/${caiyunKey}/${location.longitude},${location.latitude}/weather.json?alert=true&dailysteps=${dailysteps}`;
+ const weatherJsonData = await this.httpGet(url);
+ // 天气数据
+ let weatherInfo = {};
+ if (weatherJsonData && weatherJsonData.status == "ok") {
+ // 天气突发预警
+ let alertWeather = weatherJsonData.result.alert.content;
+ if (alertWeather.length > 0) {
+ const alertWeatherTitle = alertWeather[0].title;
+ console.log(`👉突发的天气预警:${alertWeatherTitle}`);
+ weatherInfo.alertWeatherTitle = alertWeatherTitle;
+ }
+ // 全部温度
+ weatherInfo.daily = weatherJsonData.result.daily;
+ // 温度范围
+ const temperatureData = weatherInfo.daily.temperature[0];
+ // 最低温度
+ const minTemperature = temperatureData.min;
+ // 最高温度
+ const maxTemperature = temperatureData.max;
+ weatherInfo.minTemperature = Math.round(minTemperature);
+ weatherInfo.maxTemperature = Math.round(maxTemperature);
+ // 体感温度
+ const bodyFeelingTemperature = weatherJsonData.result.realtime.apparent_temperature;
+ weatherInfo.bodyFeelingTemperature = Math.floor(bodyFeelingTemperature);
+ // 显示温度
+ const temperature = weatherJsonData.result.realtime.temperature;
+ weatherInfo.temperature = Math.floor(temperature);
+ // 天气状况 weatherIcos[weatherIco]
+ let weather = weatherJsonData.result.realtime.skycon;
+ weatherInfo.weatherIco = weather;
+ weatherInfo.weatherIcoUrl = getWeatherIco(weather, Number(this.readWidgetSetting()?.weatherIco ?? 0));
+ // 天气描述
+ const weatherDesc = weatherJsonData.result.forecast_keypoint;
+ weatherInfo.weatherDesc = weatherDesc.replace("最近的", "")
+ .replace("。还在加班么?", ",")
+ .replace("您", "")
+ .replace(",放心出门吧", "")
+ .replace("呢", "");
+ console.log("👉天气预告:" + weatherDesc);
+ // 降水率
+ weatherInfo.probability = weatherJsonData.result.minutely.probability;
+ // 相对湿度
+ const humidity = (Math.floor(weatherJsonData.result.realtime.humidity * 100)) + "%";
+ weatherInfo.humidity = humidity;
+ // 舒适指数
+ const comfort = weatherJsonData.result.realtime.life_index.comfort.desc;
+ weatherInfo.comfort = comfort;
+ // 紫外线指数
+ const ultraviolet = weatherJsonData.result.realtime.life_index.ultraviolet.desc;
+ weatherInfo.ultraviolet = ultraviolet;
+ // 空气质量
+ const aqi = weatherJsonData.result.realtime.air_quality.aqi.chn;
+ const aqiInfo = airQuality(aqi);
+ weatherInfo.aqiInfo = aqiInfo;
+ // 日出日落
+ const astro = weatherJsonData.result.daily.astro[0];
+ // 日出
+ const sunrise = astro.sunrise.time;
+ // 日落
+ const sunset = astro.sunset.time;
+ weatherInfo.sunrise = sunrise.toString();
+ weatherInfo.sunset = sunset.toString();
+ // 小时预告
+ let hourlyArr = [];
+ const hourlyData = weatherJsonData.result.hourly;
+ const temperatureArr = hourlyData.temperature;
+ const temperatureSkyconArr = hourlyData.skycon;
+ for (var i = 0; i < temperatureArr.length; i++) {
+ let hourlyObj = {};
+ hourlyObj.datetime = temperatureArr[i].datetime;
+ hourlyObj.temperature = Math.round(temperatureArr[i].value);
+ let weather = temperatureSkyconArr[i].value;
+ hourlyObj.skycon = `${weather}`;
+ hourlyArr.push(hourlyObj);
+ }
+ weatherInfo.hourly = hourlyArr;
+ } else {
+ console.error(`🚫 请求彩云天气出错:${weatherJsonData.status},可能是key有问题`);
+ this.notify('彩云', '彩云天气请求出错,可能key有问题');
+ }
+ this.logDivider();
+ return weatherInfo;
+ }
+
+ // --------------------------NET END--------------------------
+
+}
+
+await new Widget(Script.name()).run();
+
+
+// =================================================================================
+// =================================================================================
+async function downloadLSPDependency() {
+ let fm = FileManager.local();
+ const fileName = fm.joinPath(fm.documentsDirectory(), `LSP/${Script.name()}/settings.json`);
+ const fileExists = fm.fileExists(fileName);
+ let cacheString = '{}';
+ if (fileExists) {
+ cacheString = fm.readString(fileName);
+ }
+ const use_github = JSON.parse(cacheString)['use_github'];
+ const dependencyURL = `${use_github ? remoteGithubRoot : remoteHomeLandRoot}/_LSP.js`;
+ const update = needUpdateDependency();
+ if (isDev) {
+ const iCloudPath = FileManager.iCloud().documentsDirectory();
+ const localIcloudDependencyExit = fm.isFileStoredIniCloud(`${iCloudPath}/_LSP.js`);
+ const localDependencyExit = fm.fileExists(`${rootDir}/_LSP.js`);
+ const fileExist = localIcloudDependencyExit || localDependencyExit;
+ console.log(`🚀 DEV开发依赖文件${fileExist ? '已存在 ✅' : '不存在 🚫'}`);
+ if (!fileExist || update) {
+ console.log(`🤖 DEV 开始${update ? '更新' + dependencyLSP : '下载'}依赖~`);
+ keySave('VERSION', dependencyLSP);
+ await downloadFile2Scriptable('_LSP', dependencyURL);
+ }
+ return;
+ }
+
+ //////////////////////////////////////////////////////////
+ console.log(`----------------------------------------`);
+ const remoteDependencyExit = fm.fileExists(`${cacheDir}/_LSP.js`);
+ console.log(`🚀 RELEASE依赖文件${remoteDependencyExit ? '已存在 ✅' : '不存在 🚫'}`);
+ // ------------------------------
+ if (!remoteDependencyExit || update) { // 下载依赖
+ // 创建根目录
+ if (!fm.fileExists(cacheDir)) {
+ fm.createDirectory(cacheDir, true);
+ }
+ // 下载
+ console.log(`🤖 RELEASE开始${update ? '更新' : '下载'}依赖~`);
+ console.log(`----------------------------------------`);
+ const req = new Request(dependencyURL);
+ const moduleJs = await req.load();
+ if (moduleJs) {
+ fm.write(fm.joinPath(cacheDir, '/_LSP.js'), moduleJs);
+ keySave('VERSION', dependencyLSP);
+ console.log('✅ LSP远程依赖环境下载成功!');
+ console.log(`----------------------------------------`);
+ } else {
+ console.error('🚫 获取依赖环境脚本失败,请重试!');
+ console.log(`----------------------------------------`);
+ }
+ }
+}
+
+/**
+ * 获取保存的文件名
+ * @param {*} fileName
+ * @returns
+ */
+function getSaveFileName(fileName) {
+ const hasSuffix = fileName.lastIndexOf(".") + 1;
+ return !hasSuffix ? `${fileName}.js` : fileName;
+};
+
+/**
+ * 保存文件到Scriptable软件目录,app可看到
+ * @param {*} fileName
+ * @param {*} content
+ * @returns
+ */
+function saveFile2Scriptable(fileName, content) {
+ try {
+ const fm = FileManager.iCloud();
+ let fileSimpleName = getSaveFileName(fileName);
+ const filePath = fm.joinPath(fm.documentsDirectory(), fileSimpleName);
+ fm.writeString(filePath, content);
+ return true;
+ } catch (error) {
+ return false;
+ }
+};
+
+/**
+ * 下载js文件到Scriptable软件目录
+ * @param {*} moduleName 名称
+ * @param {*} url 在线地址
+ * @returns
+ */
+async function downloadFile2Scriptable(moduleName, url) {
+ const req = new Request(url);
+ const content = await req.loadString();
+ return saveFile2Scriptable(`${moduleName}`, content);
+};
+
+/**
+ * 是否需要更新依赖版本
+ */
+function needUpdateDependency() {
+ return dependencyLSP != keyGet('VERSION');
+};
+
+function keySave(cacheKey, cache) {
+ if (cache) {
+ Keychain.set(Script.name() + cacheKey, cache);
+ }
+}
+
+function keyGet(cacheKey, defaultValue = '') {
+ if (Keychain.contains(Script.name() + cacheKey)) {
+ return Keychain.get(Script.name() + cacheKey);
+ } else {
+ return defaultValue;
+ }
+}
+// =================================================================================
+// =================================================================================
\ No newline at end of file