import smCrypto from 'sm-crypto'; typings文件夹下 创建一个名为 sm-crypto.d.ts 写入下面 declare module 'sm-crypto' { const smCrypto: any; export default smCrypto; } [图片]
集成sm-crypto?微信开发者工具 1.06.2412050 版本。 [图片] 创建的一个小程序。然后打开终端 执行了 yarn init 填写了基本项目信息之后 执行了 yarn install 然后执行了 yarn add sm-crypto 然后配置了 project.config.json 中的 “setting” "packNpmManually": false, "packNpmRelationList": [ { "packageJsonPath": "package.json", "miniprogramNpmDistDir": "./" } ], 然后 "工具" -> 构建npm。生成miniprogram_npm目录之后 在工程的 miniprogram/utils 目录下面新建了一个 cryptoUtil.js, 然后在第一行 const smCrypto = require('sm-crypto'); 然后保存之后 就开始报错了 Error: module 'utils/sm-crypto.js' is not defined, require args is 'sm-crypto' 换成 const smCrypto = require('../../miniprogram_npm/sm-crypto'); Error: can not find module : , require args is ../../miniprogram_npm/sm-crypto 换成import.... 仍然报错
03-29我说一下我个人的思路:我是安卓端+小程序端 在小程序端 注册后 我会判断当前用户是否是新用户 如果是新用户默认走注册 并跳转绑定手机号 如果是老用户 如果没绑定手机号的话 也是跳转绑定手机号 安卓端 注册的话 用手机号验证码登录 根据手机号去后台查询 是否存在 如果存在那就是老用户 走登录 如果没查到 就是新用户 走注册 这样的话 不就闭环了 也就两个字段 微信openid和手机号
多端应用框架中,小程序内的登录逻辑应该是什么样的?如果使用微信多端框架,IOS应用的登录逻辑我没问题,但小程序端的登录逻辑应该怎么调整呢? 小程序端使用wx.login登录后,用户表里是没有user_id这个字段的。那假如有用户在小程序用了之后又想转移到IOS端,IOS端又不想接入微信小程序登录只想接入微信登录和苹果登录。这种情况下,用户就没法通过user_id关联起来了。这种情况要怎么处理呢?小程序端只提供手机号登录?但这样又会遇到用户在IOS端如果使用微信登录而不是手机号登录的话,就没法关联了。 刚开始接触这个框架,文档来回翻已经被绕晕了
03-29换一个打包后存放的位置 试试
The "path" argument must be of type string. ?The "path" argument must be of type string. Received undefined $:The "path" argument must be of type string. Received undefined 构建多端apk的时候怎么总是提示这个,反反复复出现。
03-29检查是否 开通api权限
调用境外统一下单接口V3 暂不支持该商户使用本api接口
03-29<template> <view> <!-- web-view 组件 --> <web-view ref="webDiv" src="https://www.baidu.com"></web-view> <!-- audio 组件 --> <audio ref="audiod" style="text-align: left" src="https://web-ext-storage.dcloud.net.cn/uni-app/ForElise.mp3" controls></audio> <!-- image 组件 --> <image ref="asda3434333" style="width: 200px; height: 200px; background-color: #eeeeee;" src="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg"></image> </view> </template> <script> export default { data() { return { title: 'Hello' }; }, onLoad() { console.log(this.$refs.audiod); // 打印 audio 组件的引用 console.log(this); // 打印组件实例 }, mounted() { // 也可以在 mounted 生命周期里获取引用 console.log(this.$refs.audiod); // 打印 audio 组件的引用 console.log(this); // 打印组件实例 }, methods: { // 调用 webview 内部逻辑 evalJs: function() { // 确保 web-view ref 名字正确,并调用 evalJs 方法 const webView = this.$refs.webDiv; if (webView) { webView.evalJs("document.body.style.background ='#00FF00'"); } } } }; </script> <style> </style>
给web-view设置了ref,但是无法获取到ref里面的值?<template> <view> <web-view ref="webDiv" src="https://www.baidu.com"></web-view> <audio ref="audiod" style="text-align: left" src="https://web-ext-storage.dcloud.net.cn/uni-app/ForElise.mp3" controls></audio> <image ref="asda3434333" style="width: 200px; height: 200px; background-color: #eeeeee;" src="https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/shuijiao.jpg"></image> </view> </template> <script> export default { data() { return { title: 'Hello' } }, onLoad() { console.log(this.$refs.audiod) console.log(this) }, mounted() { // 也可以在 mounted 生命周期里获取引用 console.log(this.$refs.audiod) console.log(this) }, methods: { // webview向外部发送消息 handlePostMessage: function(data) { console.log("接收到消息:" + JSON.stringify(data.detail)); }, // 调用 webview 内部逻辑 evalJs: function() { this.$refs.webview.evalJs("document.body.style.background ='#00FF00'"); } } } </script> <style> </style>
03-28看看 是不是参数少了
微信支付uniapp调用微信支付报错"errMsg":"requestPayment:fail [payment微信:-1]General errors","code":-100
03-28新项目 第一次打开 都会弹这个 点击 信任并运行 之后就不会谈了
微信开发工具打开每次弹窗 您信任此工具作者?[图片]怎么取消每次打开 提示的这个弹窗
03-28优先使用 env 试试
safe-area-inset-top在开发者工具的模拟器中不能正确的显示padding-top: constant(safe-area-inset-top); padding-top: env(safe-area-inset-top); 在开发模拟器中不能正确的显示,但真机上可以,而对应的safe-area-inset-bottom可以在模拟器上正确的显示出来
03-28npm 安装完 微信开发者工具 顶部菜单栏-工具-npm构建 试试 [图片]
这个目录下只有这两个文件正常吗?[图片] 如图我新建了一个 项目 并安装了 sm-crypto 然后我在miniprogram 目录下面的 utils 目录中的 cryptoUtil.js 中使用 const smCrypto = require('sm-crypto'); 但是编译时一直报错 Error: module 'utils/sm-crypto.js' is not defined, require args is 'sm-crypto',然后使用: const smCrypto = require('../../miniprogram_npm/sm-crypto'); 但是编译时一直报错 Error: can not find module : , require args is ../../miniprogram_npm/sm-crypto 有大佬遇到过吗,能帮我分析一下是什么问题,应该怎么解决吗? 补充一下: 我是基于 微信开发者工具 1.06.2412050 版本。 [图片] 创建的一个小程序。然后打开终端 执行了 yarn init 填写了基本项目信息之后 执行了 yarn install 然后执行了 yarn add sm-crypto 然后配置了 project.config.json 中的 “setting” "packNpmManually": false, "packNpmRelationList": [ { "packageJsonPath": "package.json", "miniprogramNpmDistDir": "./" } ], 然后 "工具" -> 构建npm。生成miniprogram_npm目录之后 在工程的 miniprogram/utils 目录下面新建了一个 cryptoUtil.js,然后在第一行 const smCrypto = require('sm-crypto'); 然后保存之后 就开始报错了
03-28第二行 你需要填写 你自己环境ID
云开发 获取数据模型 为空 ,使用数据库 报错:secret id error ?const models = cloudbase.init({ // env: 'xxx', }); // const { data } = await models.users.get({ // filter: { // }, // // envType: pre 体验环境, prod 正式环境 // envType: "pre", // }); // models.models 内为空 // 返回查询到的数据 // console.log('data', data); console.log('models', models); const db = models.database() console.log('db', db); // 这里报错 // Error: secret id error 请前往云开发AI小助手查看问题:https://tcb.cloud.tencent.com/dev#/helper/copilot?q=SIGN_PARAM_INVALID db.collection('users').get().then(res => { console.log('res', res); })
03-28