工作日常常用 --js 代码。

本贴最后更新于 1265 天前,其中的信息可能已经事过景迁

二丶 js

开发者:MJcc1111 a763137841 dilidili lin_xi fuqiou lql213 test123456

域名配置

request 合法域名

https://www.adota.cn
https://static.adota.cn

socket 合法域名

uploadFile 合法域名

https://www.adota.cn
https://up-z2.qiniup.com

downloadFile 合法域名

https://www.adota.cn
https://static.adota.cn

https://create.adota.cn

看广告,绑定,分享,上报

HTML:

 <dio-share></dio-share>
<view v-show="douamry" style="position: absolute;font-size: 24rpx;top: 110rpx;left: 20rpx;align-self: flex-start;z-index: 999;">id:{{ douamry }}</view>

import {config} from "@/common/lib/app.js"
import { mapState, mapMutations } from 'vuex';
import { loggerShare, shareParam } from '../../common/tt.mini.js';

computed: {

...mapState(['userInfo'])
...mapState(['threadId','goodsMode','douamry']),
}

...mapMutations(['setState']) //放 methods 里

onShareAppMessage: function(shareOption) {
let shareparam = shareParam(shareOption);
loggerShare();
return shareparam;
}

video.ViodeAd.goodsId ='5f99221fff18333f42bd1f78';
new video.ViodeAd(self.reward,'11i5eb9h1gqc45c2i8')

放 onLoad 里

if(e.share){
            	if(config.userInfo.id){
            		this.$reports.report('/pages/kitchen_testIndex/kitchen_testIndex',JSON.stringify(e),false)
            	}
            	else{
            		uni.$once('login-temp-ok', function(){
            			self.$reports.report('/pages/kitchen_testIndex/kitchen_testIndex',JSON.stringify(e),false)
            		});
            	}
            }else{
            	this.$reports.report('/pages/kitchen_testIndex/kitchen_testIndex',JSON.stringify(e),true)
            }  

// 获取产品字典数据
this.$dio.dio('dicts/string', {
key: '_id',
value: config.dictKey //字典值
}).then(data => {
let value = data?.data?.data.value || {};
this.setState({ goodsMode: value }); // 产品字典里的数据
config.dynamicShareParam = value.dynamicShareParam; //分享文案
})

1.小程序默认去掉头部标题,在 path 字段下加如下代码

"style": {
"navigationStyle": "custom",
"enablePullDownRefresh":true, //下拉刷新
"onReachBottomDistance":50 //下拉刷新

}

onPullDownRefresh() {
console.log("正在下拉")
uni.stopPullDownRefresh(); //下拉之后停止下来
}

tabBar 例子

"tabBar": {
"color": "#080808",
"selectedColor": "#080808",
"borderStyle": "#4368c9",
"backgroundColor": "#4368c9",
"list": [{
"pagePath": "pages/answerIndex/answerIndex",
"iconPath": "/static/answerIndex/tabBar_home.png",
"selectedIconPath": "/static/answerIndex/tabBar_homeA.png"
,
"text": "首页"
},{
"pagePath": "pages/answerData/answerData",
"iconPath": "/static/answerIndex/tabBar_data.png",
"selectedIconPath": "/static/answerIndex/tabBar_dataA.png"
,
"text": "数据"
}, {
"pagePath": "pages/answerMy/answerMy",
"iconPath": "/static/answerIndex/tabBar_my.png",
"selectedIconPath": "/static/answerIndex/tabBar_myA.png"
,
"text": "我的"
}]
}

2.返回上一页

redirectTo

uni.navigateBack({
delta: 1
});

uni.navigateTo({
url: '../chicken_choosing/chicken_choosing'
});

3.提示弹窗

uni.showToast({
title: '请写下您的心情内容~',
duration: 2000,
icon:'none'
});

4.设置粘贴板内容

uni.setClipboardData({
data: ``
success: function () {
console.log('success');
}
});

4.页面传参数为数组,

将参数转为 JSON 字符串 JSON.stringify(对象)

接收页面转为数组对象 JSON.parse(字符串)

5.得出今日日期

(1).

let date = new Date();
let year = date.getFullYear();
let month = date.getMonth() + 1 > 9 ? date.getMonth() + 1 : "0" + parseInt(date.getMonth() + 1);
let day = date.getDate();
this.date = year + "." + month + "." + day;

(2)js 获取当前日期方法(YYYY-MM-DD 格式)

var time = myDate.toLocaleDateString().split('/').join('-');将 1970/08/08 转化成 1970-08-08(iOS 不兼容)

获取天数:(new Date("2021-01-22").getTime()-new Date("2021-01-20").getTime())/ 1000 / 60 / 60 /24(iOS 兼容)

6.比较两个日期之间相距多少天

DateDiff(sDate1, sDate2){ //sDate1 和 sDate2 是 2002-12-18 格式
let iDays;
let sDate1=new Date(sDate1);
let sDate2=new Date(sDate2);
let iDays = parseInt(Math.abs(sDate1 - sDate2) / 1000 / 60 / 60 /24); //把相差的毫秒数转换为天数
return iDays;
}

6.登录

 tryLogin(){
                if(this.userInfo?.nickName){
                    return;
                }
                // 获取用户信息
                uni.getUserInfo({
                    success(e) {
                        self.setState({userInfo:{...e.userInfo,...self.userInfo}})
                        uni.setStorageSync('userInfo',self.userInfo)
                    },
                    fail(error) {
                        console.log(error);
                        uni.openSetting({
                          success(res) {
                            uni.getUserInfo({
                                success(e) {
                                    console.log(e);
                                    self.setState({userInfo:{...e.userInfo,...self.userInfo}})
                                    uni.setStorageSync('userInfo',self.userInfo)
                                }
                            })
                          }
                        });
                    }
                })
                
            }

7.清除缓存,苹果手机失效

if(e.query.clearstorage){
// uni.clearStorage();
uni.clearStorageSync()
uni.showToast({
title:'清除本地缓存成功'
})}

8.用 js 取 1-100 的随机数 https://www.cnblogs.com/xyn0909/p/8574926.html

function sum (m,n){
  var num = Math.floor(Math.random()*(m - n) + n);
  alert(num)
}
sum(1,100);

8.获取节点元素高度

let query = uni.createSelectorQuery();

query.select('#id').boundingClientRect();

query.exec(function (res) {
console.log("当前元素的 res:",res) console.log(res[0].width, res[0].height,res[0].top);
});

9.获取数字数组前 n 个数字相加的和?

getListValue(list, max) {
var total = 0;
for (let i = 0; i < max; i++) {
total = total + list[i];
}
return total;
}

10.获取数组中 n 个不重复元素组成的新数组?

getRandomArrayElements(arr, count) {
var shuffled = arr.slice(0),
i = arr.length,
min = i - count,
temp, index;
while (i-- > min) {
index = Math.floor((i + 1) * Math.random());
temp = shuffled[index];
shuffled[index] = shuffled[i];
shuffled[i] = temp;
}
return shuffled.slice(min);
}

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    20156 引用 • 77717 回帖
  • SpaceVim

    SpaceVim 是一个社区驱动的模块化 vim/neovim 配置集合,以模块的方式组织管理插件以
    及相关配置,为不同的语言开发量身定制了相关的开发模块,该模块提供代码自动补全,
    语法检查、格式化、调试、REPL 等特性。用户仅需载入相关语言的模块即可得到一个开箱
    即用的 Vim-IDE。

    3 引用 • 31 回帖 • 82 关注
  • 又拍云

    又拍云是国内领先的 CDN 服务提供商,国家工信部认证通过的“可信云”,乌云众测平台认证的“安全云”,为移动时代的创业者提供新一代的 CDN 加速服务。

    21 引用 • 37 回帖 • 523 关注
  • WebComponents

    Web Components 是 W3C 定义的标准,它给了前端开发者扩展浏览器标签的能力,可以方便地定制可复用组件,更好的进行模块化开发,解放了前端开发者的生产力。

    1 引用 • 4 关注
  • Caddy

    Caddy 是一款默认自动启用 HTTPS 的 HTTP/2 Web 服务器。

    10 引用 • 54 回帖 • 140 关注
  • 音乐

    你听到信仰的声音了么?

    60 引用 • 510 回帖 • 1 关注
  • Solidity

    Solidity 是一种智能合约高级语言,运行在 [以太坊] 虚拟机(EVM)之上。它的语法接近于 JavaScript,是一种面向对象的语言。

    3 引用 • 18 回帖 • 353 关注
  • JRebel

    JRebel 是一款 Java 虚拟机插件,它使得 Java 程序员能在不进行重部署的情况下,即时看到代码的改变对一个应用程序带来的影响。

    26 引用 • 78 回帖 • 624 关注
  • 学习

    “梦想从学习开始,事业从实践起步” —— 习近平

    163 引用 • 473 回帖
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    5 引用 • 62 回帖
  • WebClipper

    Web Clipper 是一款浏览器剪藏扩展,它可以帮助你把网页内容剪藏到本地。

    3 引用 • 9 回帖 • 3 关注
  • IDEA

    IDEA 全称 IntelliJ IDEA,是一款 Java 语言开发的集成环境,在业界被公认为最好的 Java 开发工具之一。IDEA 是 JetBrains 公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。

    180 引用 • 400 回帖
  • 爬虫

    网络爬虫(Spider、Crawler),是一种按照一定的规则,自动地抓取万维网信息的程序。

    106 引用 • 275 回帖
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 613 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖 • 1 关注
  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • gRpc
    11 引用 • 9 回帖 • 49 关注
  • 创业

    你比 99% 的人都优秀么?

    83 引用 • 1398 回帖
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖
  • Eclipse

    Eclipse 是一个开放源代码的、基于 Java 的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。

    75 引用 • 258 回帖 • 632 关注
  • Q&A

    提问之前请先看《提问的智慧》,好的问题比好的答案更有价值。

    7017 引用 • 31714 回帖 • 220 关注
  • H2

    H2 是一个开源的嵌入式数据库引擎,采用 Java 语言编写,不受平台的限制,同时 H2 提供了一个十分方便的 web 控制台用于操作和管理数据库内容。H2 还提供兼容模式,可以兼容一些主流的数据库,因此采用 H2 作为开发期的数据库非常方便。

    11 引用 • 54 回帖 • 648 关注
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    923 引用 • 936 回帖
  • Maven

    Maven 是基于项目对象模型(POM)、通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。

    186 引用 • 318 回帖 • 330 关注
  • Mac

    Mac 是苹果公司自 1984 年起以“Macintosh”开始开发的个人消费型计算机,如:iMac、Mac mini、Macbook Air、Macbook Pro、Macbook、Mac Pro 等计算机。

    164 引用 • 594 回帖
  • 阿里巴巴

    阿里巴巴网络技术有限公司(简称:阿里巴巴集团)是以曾担任英语教师的马云为首的 18 人,于 1999 年在中国杭州创立,他们相信互联网能够创造公平的竞争环境,让小企业通过创新与科技扩展业务,并在参与国内或全球市场竞争时处于更有利的位置。

    43 引用 • 221 回帖 • 187 关注
  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    103 引用 • 294 回帖 • 1 关注