本地保存进度和时长

https://portal.shadowsocks.au/

///本地客户端

    //为防止进度和时长没有及时保存最新数据,在首页调用本地存储的信息重新用接口保存每隔时间段本都存储的信息,调用成功后删除本地存储的信息

    NSDictionary *progressDic = [[NSUserDefaults standardUserDefaults] objectForKey:KProgressDic];

    if (progressDic) {

        if ([progressDic isKindOfClass:[NSDictionary class]]) {

            if ([progressDic.allKeys count]) {

                //保存章节进度

                [self acqucireLocalRecordServiceProgress];

            }

        }

    }

    NSDictionary *studyTimeDic = [[NSUserDefaults standardUserDefaults] objectForKey:KStudyTimeDic];

    if (studyTimeDic) {

        if ([studyTimeDic isKindOfClass:[NSDictionary class]]) {

            if ([[studyTimeDic allKeys] count]) {

                //保存学习时长

                [self acqutireLocalTimeRecordLast_learn];

            }

        }

    }

    

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(introduceAfterUpdateAlert) name:@"XZYPHomeUpdateAfterIntroduceNotification" object:nil];

    

    for (UIView *theSubview in ((AppDelegate *)[UIApplication sharedApplication].delegate).window.subviews) {

        if ([theSubview isKindOfClass:XZYPromptAlertView.class]) {

            [((AppDelegate *)[UIApplication sharedApplication].delegate).window bringSubviewToFront:theSubview];

            break;

        }

    }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要修改Element UI源码,以便控制Backtop组件的滚动时长,可以按照以下步骤进行: 1. 克隆Element UI的源码仓库到本地。可以在GitHub上找到Element UI的仓库,并使用git命令或其他工具将其克隆到本地。 2. 进入克隆的Element UI源码目录,并找到Backtop组件的源码文件。通常在`packages/backtop`目录下可以找到。 3. 打开Backtop组件的源码文件,通常是`index.vue`或类似的文件。在该文件中,你将看到与Backtop组件相关的代码。 4. 在该文件中找到处理点击事件的代码块。通常会有一个像`handleClick`这样的方法来处理点击事件。 5. 在`handleClick`方法中,可以使用`requestAnimationFrame`来实现滚动动画并控制滚动时长。你可以修改该方法中的代码如下: ```javascript handleClick() { const el = document.documentElement || document.body const start = el.scrollTop const end = 0 const duration = 200 // 设置滚动时长,单位为毫秒 let current = start const step = () => { const timestamp = Date.now() const progress = Math.min((timestamp - start) / duration, 1) const easeInOutQuad = (t) => t<.5 ? 2*t*t : -1+(4-2*t)*t current = start + (end - start) * easeInOutQuad(progress) el.scrollTop = current if (progress < 1) { requestAnimationFrame(step) } } requestAnimationFrame(step) } ``` 在上述代码中,我们使用了`requestAnimationFrame`来实现滚动动画。通过计算当前时间与开始时间的差值,以及设置的滚动时长,可以得到滚动的进度。然后使用缓动函数(这里使用了`easeInOutQuad`)计算当前滚动位置,并设置`el.scrollTop`来实现滚动效果。 6. 保存修改并重新构建Element UI。根据Element UI的构建和打包方式,你可能需要运行一些命令来重新构建Element UI,以使你的修改生效。 请注意,修改Element UI源码并重新构建可能会带来一些风险和维护问题。建议在修改之前备份源码,并确保理解修改的影响。另外,当Element UI更新时,你可能需要重新应用你的修改。 希望以上步骤可以帮助你修改Element UI源码,实现对Backtop组件滚动时长的控制。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值