uni-app开发跨平台小程序开发的诸多坑

uni-app开发跨平台小程序开发的诸多坑,最近用uni-app开发小程序的时候遇到不少了。本篇收集和记录自己在开发小程序过中遇到的问题和解决办法。之前有很多问题解决了,没记录在案。往后遇到的问题,我尽量记录下来。部分小程序平台不好开发,尤其是需要兼容多个平台,所以如果你和我一样,想必避免不了遇到 uni-app开发跨平台小程序开发的诸多坑。 根据平台的不同,我预期开发的小程序包括微信、QQ、抖音、快手,百度、支付宝、小红书(pass,不支持个人及个体户)、京东(pass,不支持个人及个体户)。 开发跨平台小程序从登录开始说起。 登录逻辑从 uni.checkSession 开始的,支付宝小程序率先登场第一个不支持,所以支付宝小程序接入登录逻辑兼容也暂停。 uni-app 的 uni.login 已经不支持百度小程序了,改成用 swan.getLoginCode 获取 Authrization Code 来调用 getSessionKey 接口获取 Session Key 和 open_id。说个题外话,从 github 上开源的百度接口 go 版本SDK 惨淡的7个 star 来看,这个平台是不是没接入的必要了?

MySQL 8.0 出现: ERROR 1410 (42000): You are not allowed to create a user with GRANT 问题怎么办

在 docker 里面启动了 MySQL 8.0 版本数据库容器,出现了 报错: ERROR 1410 (42000): You are not allowed to create a user with GRANT 。一查日志显示是 ” “Error 1130: Host ‘172.17.0.1’ is not allowed to connect to this MySQL server“。 于是进入容器 docker exec -it mysql-project mysql -uroot -p 输入密码。查看数据库连接实例的配置,发现 host 配置是 localhost ,想着重新授权一下。grant 命令改授权的 host 时, grant all on book.* to ‘book’@’%’; 报错 【ERROR 1410 (42000): You are not allowed to create …

MySQL 8.0 出现: ERROR 1410 (42000): You are not allowed to create a user with GRANT 问题怎么办 Read More »

ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause

今日在 AWS 上创建数据库表时,突然出现这种问题。 -> create_time timestamp NULL DEFAULT CURRENT_TIMESTAMP,-> update_time timestamp NULL ON UPDATE CURRENT_TIMESTAMP, 就是这两行。完整的报错是 ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause。 mysql –version 一看,我晕。aws yum install 的 mariadb 的版本居然是 5.5 的。于是我删除已经安装的版本。 sudo yum remove mariadb mariadb-server 重新采用 docker 来安装比较新的 …

ERROR 1293 (HY000): Incorrect table definition; there can be only one TIMESTAMP column with CURRENT_TIMESTAMP in DEFAULT or ON UPDATE clause Read More »

docker容器和k8s的一些疑难杂症问题

docker容器和k8s的一些疑难杂症问题 这几天,我在弄 docker 和 k8s 的时候,遇到了不少疑难杂症。有一些解决了之后,不记得了。剩下几个先记下了,留念。 No1. 二级域名疑难杂症 问题发生于二级域名配置完成并且ssl证书上传到服务器之后,postman 请求二级域名接口,返回一下错误: Error: connect ECONNREFUSED 43.138.16.20:443 View in Console Learn more about troubleshooting API requests 解决方式: 服务器的防火墙问题。这个服务器的防火墙和云服务器控制台安全组的防火墙不一样的功能。所以关闭服务器防火墙,或者仅仅放行必要的服务接口才能解决这个问题。 No2. docker 疑难杂症 ➜ todo-list git:(main) ✗ docker build . [+] Building 0.9s (4/4) FINISHED => [internal] load build definition from Dockerfile 0.0s => => transferring dockerfile: 37B 0.0s => …

docker容器和k8s的一些疑难杂症问题 Read More »

答题小程序-题库中随机生成试题的解决方案(一)

  答题小程序从试题库中随机生成试题的方式,我想了一下,看怎么实现。 方法一、查询第一条,随机下一题的题目的ID   先取第一道题,然后随机一个步长,根据这个步长的随机值,去搜数据库的时候,用这个增长的步长做间隔。比如 MySQL 或者 PostgreSQL 中,就用这个递增的步长拼接到 offset 查询语句上。 比如第一次查询第一道题,查询条件相同,但是 offset = 0。那就出来数据库中第一条数据。 第二次查询时,随机一个 (0-10) 以内的整数,比如随机到 2, 那本次查询就采用 offset 2 去搜数据库,这样就查到了数据库中的第三条数据返回给前端。 第三次再查询,这次又随机一个 (0-10)以内的整数,比如随机到1,那本次查询就在前面基础上再 offset 1  ,就是 offset 3 ,查到第四条记录作为下一条题目返回给前端。

Erlang快速入门(三)- Erlang依赖包管理

Erlang快速入门系列,来到第三天,刚开始接触的东西,已经在 Erlang快速入门(一) — 基础语法和 Erlang快速入门(二) — 常见错误 已经见过一些,更多有用的资源 awsome-erlang 集合在 github 上了。 比如使用 Go 时,很容易是使用 go mod 进行依赖包的管理。使用 Rust 时,cargo 又是一个非常好用的包管理工具。到了 Erlang 这里,朋友推荐看一下 rebar3 。rebar3 可以集成 hex 上的比较齐全的外部依赖包。 Mac 安装就很简单,直接 brew install rebar3 但是 hex 的 CDN  国内的伙伴最好设置一下 HEX_CDN=https://hexpm.upyun.com 可以加到  ~/.zshrc 里。   export HEX_CDN=https://hexpm.upyun.com

Erlang快速入门(二)

Erlang快速入门开始编码之后,慢慢就会接触到编译错误的情况了。 编译时关键字冲突之类,变量名和默认函数重名等   比如 “init terminating in do_boot” 什么的,像这种编译错误,可以先查看一下是不是有关变量和 Erlang 关键字冲突了。 after and andalso band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse receive rem try when xor 有一次我使用 abs 求绝对值函数的时候,就错误的把一个变量设置为 Abs 结果就报错了。 Erlang 输出类型错误   而且可能你类型写不对,他也报错。比如 % 这样写   Fnum = float(4), fwrite(“Fnum is …

Erlang快速入门(二) Read More »

Erlang快速入门(一)

Erlang快速入门,首要是动手敲起来。 一言不合反手上来就是一个 Hello World 。 % hello world program -module(hello). -export([sayhi/0]). sayhi() -> io:fwrite(“hi,hello world!\n”).   erlc 命令行编译 hello.erl 文件 得到 hello.beam ➜  erlc hello.erl 命令行里运行起来, ➜ erl -noshell -s hello sayhi -s init stop hi,hello world! 简要的说明: % 是注释 – 是模块或者导入导出的连接符 分界符是点  . module 是定义模块名,用于区分命名空间。(需要用和去掉文件名一致的名称,比如hello.erl 就用module(hello),否则就报错) 反斜杠 /0 表示 sayHi 没有一个参数 erlang shell Erlang快速入门语法 …

Erlang快速入门(一) Read More »

PostgreSQL和MySQL的语法区别

  PostgreSQL和MySQL的语法区别能有多大呢?带着这个疑问,我在本地同时安装 PostgreSQL 和 MySQL ,进行了基础的语法操作。结果 PostgreSQL 的操作出乎我的想象。 安装和启动命令: brew install postgresql brew services start postgresql psql postgres 启动之后 ➜ miyu psql postgres psql (14.4) Type “help” for help. postgres=# ? postgres-# \help 比 MySQL 终端界面 MariaDB [idiom]> 要简陋一点。 想当然的用 MySQL 的显示全部数据库命令 show databases 列出所有数据库 ,但没成功。原来是需要用 \l  postgres-# \l List of databases Name | Owner …

PostgreSQL和MySQL的语法区别 Read More »