HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

云函数使用正则函数判断电话和邮箱

一个很简单且常用的方式,但是碰到了一些坑所以写个帖子记录一下。
事先声明,这个方式是后来想起来uniapp本身提供手机号邮箱注册功能所以去看了一下基础代码才写对的哈哈。

    //判断是否是邮箱  
const isEmail = (str) => {  
    let expr = /^[a-z0-9]{1}[a-z0-9_-]{1,}@[a-z0-9]{1,}(\\.[a-z]{2,})*\\.[a-z]{2,}$/  

    if (expr.test(str)){  
        return true;  
    }  
    return false;  
}  

//判断是否是手机号  
const isPhone = (str) => {  
    let expr = /^1[3456789]\\d{9}$/  

    if (expr.test(str)){  
        return true;  
    }  
    return false;  
}
继续阅读 »

一个很简单且常用的方式,但是碰到了一些坑所以写个帖子记录一下。
事先声明,这个方式是后来想起来uniapp本身提供手机号邮箱注册功能所以去看了一下基础代码才写对的哈哈。

    //判断是否是邮箱  
const isEmail = (str) => {  
    let expr = /^[a-z0-9]{1}[a-z0-9_-]{1,}@[a-z0-9]{1,}(\\.[a-z]{2,})*\\.[a-z]{2,}$/  

    if (expr.test(str)){  
        return true;  
    }  
    return false;  
}  

//判断是否是手机号  
const isPhone = (str) => {  
    let expr = /^1[3456789]\\d{9}$/  

    if (expr.test(str)){  
        return true;  
    }  
    return false;  
}
收起阅读 »

分享云函数调用云函数的一个简陋的解决方法

应用场景:最近需要做一个用户验证的函数,由于还没有学习使用框架是直接分了多个文件夹存放不同的云函数,那么就需要跨文件夹调用云函数。
前情提要:云函数在接受前端返回数值时会获得用户登录凭证。

问题出现:当我A文件夹内的 index.js 调用B文件夹内的 index.js 内的 test函数时,根据官方文档,我们可以像前端一样调用:

// 调用B文件夹对应云函数
await uniCloud.callFunction({
name: 'uni-id-cf',
data: {
action: 'action',
params: params
}
});

实践结果可以在B文件夹内的index.js中打印传输过来的event,但是函数没有得到调用,打印返回值是 {code: 403, msg: '缺少token'},而这段返回值来自于:

const {
action,
uniIdToken
} = event;

//UNI_WYQ:这里的uniID换成新的,保证多人访问不会冲突  
uniID = uniID.createInstance({  
    context  
})  

//event为客户端上传的参数  
console.log('event : '   JSON.stringify(event));  
console.log('context : '   JSON.stringify(context))  

if (!uniIdToken) {  
    return {  
        code: 403,  
        msg: '缺少token'  
    }  
}  

很明显是没有得到uniIdToken,这是本应从前端传输获取的,那么最终修改是手动添加传输uniIdToken:

await uniCloud.callFunction({
name: 'uni-id-cf',
data: {
action: 'action',
params: params
uniIdToken: event.uniIdToken
}
});

虽然仍然会有提示缺少context等,但是确实是可以正常运行了。等以后有更好的解决方法了再回来更新~

继续阅读 »

应用场景:最近需要做一个用户验证的函数,由于还没有学习使用框架是直接分了多个文件夹存放不同的云函数,那么就需要跨文件夹调用云函数。
前情提要:云函数在接受前端返回数值时会获得用户登录凭证。

问题出现:当我A文件夹内的 index.js 调用B文件夹内的 index.js 内的 test函数时,根据官方文档,我们可以像前端一样调用:

// 调用B文件夹对应云函数
await uniCloud.callFunction({
name: 'uni-id-cf',
data: {
action: 'action',
params: params
}
});

实践结果可以在B文件夹内的index.js中打印传输过来的event,但是函数没有得到调用,打印返回值是 {code: 403, msg: '缺少token'},而这段返回值来自于:

const {
action,
uniIdToken
} = event;

//UNI_WYQ:这里的uniID换成新的,保证多人访问不会冲突  
uniID = uniID.createInstance({  
    context  
})  

//event为客户端上传的参数  
console.log('event : '   JSON.stringify(event));  
console.log('context : '   JSON.stringify(context))  

if (!uniIdToken) {  
    return {  
        code: 403,  
        msg: '缺少token'  
    }  
}  

很明显是没有得到uniIdToken,这是本应从前端传输获取的,那么最终修改是手动添加传输uniIdToken:

await uniCloud.callFunction({
name: 'uni-id-cf',
data: {
action: 'action',
params: params
uniIdToken: event.uniIdToken
}
});

虽然仍然会有提示缺少context等,但是确实是可以正常运行了。等以后有更好的解决方法了再回来更新~

收起阅读 »

前端开发者群

前端开发者群,本群讨论关于前端的相关问题,如:面试,招聘,发展前景,技术疑问
码如下,有需要的加:

继续阅读 »

前端开发者群,本群讨论关于前端的相关问题,如:面试,招聘,发展前景,技术疑问
码如下,有需要的加:

收起阅读 »

10年+ 全栈经验,全职接单

外包 外包接单

10年+ 全栈经验,全职接单,QQ:787436120 vx: Cr1mes_9

10年+ 全栈经验,全职接单,QQ:787436120 vx: Cr1mes_9

微信支付code:100报错

微信支付

本人出现情况:真机运行,hbuilderx基座。第一次支付成功,以后支付就是code:100报错
1.检查支付配置数据,但是前端嘛,没啥检查一看就对,再说我都支付成功了,花钱了,所以数据大差不差应该没错。

  1. 所以我决定自定义基座,结果报错code:100
  2. 啥原因,我百度。最后就是打包成apk给别的同事测试,发现可以正常支付,由此,我使用另一个账号支付,成功!
  3. 综上,解决办法。打包apk让别的冤大头花钱去。(可能是微信测试支付时有缓存,因为我那个测试支付报错的微信是一直code:100)
继续阅读 »

本人出现情况:真机运行,hbuilderx基座。第一次支付成功,以后支付就是code:100报错
1.检查支付配置数据,但是前端嘛,没啥检查一看就对,再说我都支付成功了,花钱了,所以数据大差不差应该没错。

  1. 所以我决定自定义基座,结果报错code:100
  2. 啥原因,我百度。最后就是打包成apk给别的同事测试,发现可以正常支付,由此,我使用另一个账号支付,成功!
  3. 综上,解决办法。打包apk让别的冤大头花钱去。(可能是微信测试支付时有缓存,因为我那个测试支付报错的微信是一直code:100)
收起阅读 »

如何实现苹果登录授权 Sign In with Apple

App打包 移动APP App离线打包

iOS 开发苹果登录授权 Sign In with Apple
网上关于苹果登录授权的文章已经已有很多,但大多数介绍有些繁琐,实际操作起来很简单。核心要获取到三个参数:team_id, client_id, key_id,再通过 uapp 命令生成 JWT Token 给后端就完事了。

苹果审核有一条规定,如果出现比如微信、QQ、Facebook等第三方账号登录时,必须要加上苹果登录,否则无法通过审核。苹果登录只针对 iOS 13及以上版本有效。

1、获取 team_id 和 client_id
进入 Identifiers 页:https://developer.apple.com/account/resources/identifiers/list

点 Identifiers+ ,注意这里输入的 com.code0xff.uapp.login 就是 client_id,换成你自己的。

下面的服务列表选中 Sign in with Apple, 点 Edit ,输入你自己服务器端的 Callback URL:

至此,我们已成功获得到两个参数 team_id 和 client_id。

2、获取 key.txt 和 key_id
进入 Keys 页:https://developer.apple.com/account/resources/authkeys/list

点 Keys+ 创建 Key,依次操作:输入 Key Name,选中 Sign in with Apple,Configure。

Configure 页面,选中在哪个 App 中使用:

点 Download,下载后文件改名为 key.txt,放入工程的 jwt 目录下:

jwt
├── config.json
└── key.txt

至此,我们已成功获得 key.txt 和 key_id。

3、通过 uapp 获得 JWT Token
JWT Token 是给服务端的,有效期6个月,所以要记得在快到6个月的时候重新生成替换。

如果还没有安装 uapp,可以通过 npm 安装:

npm i -g uapp
做完上面 jwt 目录下已经有了 key.txt,下面创建 config.json 并放入上面获得的 team_id, client_id, key_id。

jwt/config.json 内容如下:

{
"team_id": "3DSM494K6L",
"client_id": "com.code0xff.uapp.login",
"key_id": "3C7FMSZC8Z"
}
然后执行:

uapp info
就可以看到 JWT Token 了,发给后端使用既可。

继续阅读 »

iOS 开发苹果登录授权 Sign In with Apple
网上关于苹果登录授权的文章已经已有很多,但大多数介绍有些繁琐,实际操作起来很简单。核心要获取到三个参数:team_id, client_id, key_id,再通过 uapp 命令生成 JWT Token 给后端就完事了。

苹果审核有一条规定,如果出现比如微信、QQ、Facebook等第三方账号登录时,必须要加上苹果登录,否则无法通过审核。苹果登录只针对 iOS 13及以上版本有效。

1、获取 team_id 和 client_id
进入 Identifiers 页:https://developer.apple.com/account/resources/identifiers/list

点 Identifiers+ ,注意这里输入的 com.code0xff.uapp.login 就是 client_id,换成你自己的。

下面的服务列表选中 Sign in with Apple, 点 Edit ,输入你自己服务器端的 Callback URL:

至此,我们已成功获得到两个参数 team_id 和 client_id。

2、获取 key.txt 和 key_id
进入 Keys 页:https://developer.apple.com/account/resources/authkeys/list

点 Keys+ 创建 Key,依次操作:输入 Key Name,选中 Sign in with Apple,Configure。

Configure 页面,选中在哪个 App 中使用:

点 Download,下载后文件改名为 key.txt,放入工程的 jwt 目录下:

jwt
├── config.json
└── key.txt

至此,我们已成功获得 key.txt 和 key_id。

3、通过 uapp 获得 JWT Token
JWT Token 是给服务端的,有效期6个月,所以要记得在快到6个月的时候重新生成替换。

如果还没有安装 uapp,可以通过 npm 安装:

npm i -g uapp
做完上面 jwt 目录下已经有了 key.txt,下面创建 config.json 并放入上面获得的 team_id, client_id, key_id。

jwt/config.json 内容如下:

{
"team_id": "3DSM494K6L",
"client_id": "com.code0xff.uapp.login",
"key_id": "3C7FMSZC8Z"
}
然后执行:

uapp info
就可以看到 JWT Token 了,发给后端使用既可。

收起阅读 »

我需要一个支持265的视频播放器插件

插件开发

具体功能实现类似uniapp 的video组件,但是需要支持265视频编码格式

具体功能实现类似uniapp 的video组件,但是需要支持265视频编码格式

HBuilderX 真机调试连接手机经常搜索不到设备问题解决办法!

真机调试

解决办法:第一步 打开终端命令行 首先查看adb devices 查看当前adb连接设备列表
第二步 输入命令 adb kill-server 杀死服务
第三步重启服务 adb start-server 基本上就可以连接上了!

继续阅读 »

解决办法:第一步 打开终端命令行 首先查看adb devices 查看当前adb连接设备列表
第二步 输入命令 adb kill-server 杀死服务
第三步重启服务 adb start-server 基本上就可以连接上了!

收起阅读 »

【广州】团队接单 uniapp、小程序、APP、公众号、网站 ,长期有效

外包接单 外包

1、前端熟悉uniapp、flutter、React、Vue、Android、IOS等语言。
2、后端熟悉Java、php、微服务、架构设计和高并发场景处理。
3、UI设计师能根据产品的设计思路设计页面细节,包含体验展示和优化处理。

团队擅长开发各类微信小程序,APP,微信公众号,H5网页,公司企业网站,以及各类管理系统

团队位置【广州】
团队成员认真负责,做到客户满意为止,有意联系V:samhsx

继续阅读 »

1、前端熟悉uniapp、flutter、React、Vue、Android、IOS等语言。
2、后端熟悉Java、php、微服务、架构设计和高并发场景处理。
3、UI设计师能根据产品的设计思路设计页面细节,包含体验展示和优化处理。

团队擅长开发各类微信小程序,APP,微信公众号,H5网页,公司企业网站,以及各类管理系统

团队位置【广州】
团队成员认真负责,做到客户满意为止,有意联系V:samhsx

收起阅读 »

uniapp修改input输入框在Google浏览器自带的填充背景

uni_app input

1、修改的样式要放在App.vue里面,亲测有效 ^_^

2、要是修改input在Google浏览器自动填充时的浅紫色背景,可以用下面的代码,非常管用
-webkit-autofill { box-shadow: 0 0 0px 1000px white inset !important; -webkit-box-shadow: 0 0 1000px white inset !important; }

继续阅读 »

1、修改的样式要放在App.vue里面,亲测有效 ^_^

2、要是修改input在Google浏览器自动填充时的浅紫色背景,可以用下面的代码,非常管用
-webkit-autofill { box-shadow: 0 0 0px 1000px white inset !important; -webkit-box-shadow: 0 0 1000px white inset !important; }

收起阅读 »

提个建议。。。HX能否取消鼠标中间拖动文件的功能- - 滚动中键不小心按了下 结果文件就被拖乱了。。。又不能撤销 完全懵逼了

提个建议。。。HX能否取消鼠标中间拖动文件的功能- - 滚动中键不小心按了下 结果文件就被拖乱了。。。又不能撤销 完全懵逼了

提个建议。。。HX能否取消鼠标中间拖动文件的功能- - 滚动中键不小心按了下 结果文件就被拖乱了。。。又不能撤销 完全懵逼了

出现starting development server的分析

uni_app

使用uni-cli创建项目,更新了 @dcloudio/uni-* 等依赖版本为最新版2.0.1-34720220422002

这时候运行项目,编译/构建,一直处于loading状态

考虑可能是uni-app相关依赖的版本问题,开始选择性降低版本尝试,在尝试到2.0.0-32920211029004
编译/构建正常

继续阅读 »

使用uni-cli创建项目,更新了 @dcloudio/uni-* 等依赖版本为最新版2.0.1-34720220422002

这时候运行项目,编译/构建,一直处于loading状态

考虑可能是uni-app相关依赖的版本问题,开始选择性降低版本尝试,在尝试到2.0.0-32920211029004
编译/构建正常

收起阅读 »