diff --git a/README.md b/README.md index 6b8ff4a5ab94f47f086466d864be0452e08c3832..1eaa8e6f7949e5b64fdd39c2ccf03e6e584e664f 100644 --- a/README.md +++ b/README.md @@ -87,27 +87,6 @@ |流量(GB)|0.18 | |售价(元/月)#{colspan=2} |5 | ``` - -14. 表格支持行展开 - md 书写格式 - ```md - | |原生语言插件 |uts插件| - |:------ |:------- |:--------| - |开发语言 |java/oc |uts| - |开发环境 |Android Studio/XCode |[HBuilderX](https://www.baidu.com)| - ->|第一列|第二列 |第三列 | - ->|:------ |:-------: |-------: | - ->|左对齐 |[居中](https://www.baidu.com)|右对齐| - |打包方式 |外挂aar 等产出物 |编译时生成原生代码| - |js层调用方式 |uni.requireNativePlugin() |普通的js函数/对象,可以直接 import,支持摇树优化| - ->|第一列|第二列 | - ->|:------ |:------- | - ->|第一列内容 |[HBuilderX](https://www.baidu.com)| - |支持项目类型 |uni-app |uni-app和uni-app x| - ``` - 表现为: - ![](https://qiniudcdn.qnqcdn.net/web-ext-storage.dcloud.net.cn/doc/subtable.png) - ## 文档 Algolia 使用限额 Included Quota: - Records: 1,000,000 diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index ff351229df85d895c2de49cc24448f378dd2d77e..26dcbcda15934a24fa0bc3048079780dd605b075 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -109,9 +109,6 @@ const config = { .end() .plugin('markdown-it-raw-table') .use(require('markdown-it-raw-table')) - .end() - .plugin('subtable') - .use(require('./markdown/markdown-it-subtable').markdownIt, [{ flags: ['->'] }]) } }, chainWebpack (config, isServer) { diff --git a/docs/.vuepress/config/siderbar/uni-app.js b/docs/.vuepress/config/siderbar/uni-app.js index 838013dba484eabc311403d5f6508f76226a3282..931757c1f08cfb2e45e449922719eaebc78b9ef5 100644 --- a/docs/.vuepress/config/siderbar/uni-app.js +++ b/docs/.vuepress/config/siderbar/uni-app.js @@ -198,6 +198,13 @@ export default { state: 1, prefix: '群27', }, + { + number: '166188776', + state: 1, + prefix: '群28', + joinQQGroupHref: + 'https://qm.qq.com/cgi-bin/qm/qr?k=jSmA3SLhDdILrUw3EMpN4iWSKgEuSLVW&jump_from=webapi&authKey=iVG0LhlB2TNKwrAf6CChQKeRddFhjjgbXqBgswaLK0UorBqZNKvu4q5XGwXThpsn', + }, { number: '202965481', state: 1, @@ -232,13 +239,6 @@ export default { number: '713420817', state: 1, prefix: '群35', - }, - { - number: '166188776', - state: 0, - prefix: '群28', - joinQQGroupHref: - 'https://qm.qq.com/cgi-bin/qm/qr?k=jSmA3SLhDdILrUw3EMpN4iWSKgEuSLVW&jump_from=webapi&authKey=iVG0LhlB2TNKwrAf6CChQKeRddFhjjgbXqBgswaLK0UorBqZNKvu4q5XGwXThpsn', - }, + } ], }; diff --git a/docs/.vuepress/markdown/markdown-it-subtable.js b/docs/.vuepress/markdown/markdown-it-subtable.js deleted file mode 100644 index 50a0332dec9e69e57291d23feacffc549a134f5e..0000000000000000000000000000000000000000 --- a/docs/.vuepress/markdown/markdown-it-subtable.js +++ /dev/null @@ -1,146 +0,0 @@ -function normalizeMD (md) { - if (typeof md === 'string') { - return md - .replace(/(? { - if (Array.isArray(tokenIndex) && tokenIndex.length > 2) { - const tableOpenIndex = tokenIndex.shift(); - const tableCloseIndex = tokenIndex.pop(); - let deleteOffset = 0; - - tokenIndex.forEach(subtableIndexes => { - const subtableOpenIndex = subtableIndexes.shift() + deleteOffset; - const subtableColumnCount = (subtableIndexes[0] + deleteOffset - subtableOpenIndex - 2) / 3 - 1; - const subtableCloseIndex = subtableIndexes.pop() + deleteOffset + subtableColumnCount * 3; - const subtableTokens = tokens.slice(subtableOpenIndex - 1, subtableCloseIndex + 1); - - // 2 table token 新行开始时固定的 tr_open td_open 数量 - // 3 每个 inline 都会伴随一个 td_close、td_open(行最后一列 inline 会伴随 td_close tr_close) - // 1 为 flag ->(标识符) 的列,需要去掉 - let tableColumnCount = 0; - for (let i = 0; i < tableCloseIndex; i++) { - const token = tokens[i]; - if (i < subtableOpenIndex) { - if (token.type === 'th_open') { - tableColumnCount++; - } else if (token.type === 'thead_close') { - break; - } - } - } - - let subtableMD = subtableTokens - .map(token => { - if (token.type === 'inline' && !flags.includes(token.content)) { - return normalizeMD(token.content); - } else if (token.type === 'tr_close') { - return '\n'; - } - }) - .filter(Boolean); - const subtableLevel = subtableTokens[0].level; - const newTokens = md.parse(`|${subtableMD.join('|')}|`); - newTokens.forEach(token => { - token.content = ''; // 和 children 内容重复 - token.level = token.level + subtableLevel; - }); - newTokens[0].attrJoin('style', 'overflow-x: visible;margin: auto;'); - const childrenTableTokenIndex = subtableOpenIndex - 2; - const subtablePrevTrOpenIndex = childrenTableTokenIndex - tableColumnCount * 3 - 2; - tokens[tableOpenIndex].attrJoin('class', 'have-children-table'); // table - tokens[subtablePrevTrOpenIndex].attrJoin('class', 'have-children-tr'); // table tr_open - - // table td_open - const haveChildrenTrTdToken = tokens[subtablePrevTrOpenIndex + 1]; - haveChildrenTrTdToken.attrJoin('class', 'have-children-tr-td'); - haveChildrenTrTdToken.attrJoin('style', ';text-wrap: nowrap'); - - tokens[childrenTableTokenIndex].attrJoin('class', 'children-table'); // subtable tr_open - tokens[childrenTableTokenIndex].attrJoin('hidden', ''); // subtable tr_open - - tokens[subtableOpenIndex - 1].attrJoin('colspan', tableColumnCount); // subtable td_open - const deleteCount = subtableCloseIndex - subtableOpenIndex + 1; - tokens.splice(subtableOpenIndex, deleteCount, ...newTokens); - deleteOffset = deleteOffset + newTokens.length - deleteCount; - }); - } - }); - } -} - -function process(md, tokens, flags = ['->']) { - const subtableMinTokenCount = 3; - if ( - Array.isArray(tokens) && - tokens.length && - tokens.some(token => token.content.includes('->') && token.type === 'inline') - ) { - const tableOpenTokenIndex = tokens.findIndex(token => token.type === 'table_open'); - if (tableOpenTokenIndex > -1) { - /** - * [ - * table_open index, - * [] // subtable indexes, - * table_close index - * ] - */ - let tableTokensIndexes = [[]]; - let tableIndex = 0; - let subtableIndex = 1; - tokens.forEach((token, index) => { - if (token.type === 'table_open' && tableTokensIndexes[tableIndex].length === 0) { - tableTokensIndexes[tableIndex].push(index); - } - if (tableTokensIndexes[tableIndex] && typeof tableTokensIndexes[tableIndex][0] !== 'undefined') { - if (token.type === 'inline') { - if (flags.find(flag => new RegExp(`^\\s*${flag}\\s*$`).test(token.content))) { - ( - tableTokensIndexes[tableIndex][subtableIndex] || (tableTokensIndexes[tableIndex][subtableIndex] = []) - ).push(index); - } else if (tokens[index - 2].type === 'tr_open') { - tableTokensIndexes[tableIndex][++subtableIndex] = []; - } - } - } - if (token.type === 'table_close') { - subtableIndex = 1; - tableTokensIndexes[tableIndex].push(index); - tableTokensIndexes[++tableIndex] = []; - } - }); - tableTokensIndexes.forEach((subtableTokensIndex, index) => { - tableTokensIndexes[index] = subtableTokensIndex.filter( - i => typeof i === 'number' || (Array.isArray(i) && i.length >= subtableMinTokenCount) - ); - }); - tableTokensIndexes = tableTokensIndexes.filter(i => i.length); - if (tableTokensIndexes.length) { - resolveSubtable(md, tokens, tableTokensIndexes, flags); - } - } - } -} - -module.exports = { - process, - markdownIt: function subTablePlugin(md, { flags = ['->'] } = {}) { - md.core.ruler.after( - 'inline', - 'subtable', - (state, startLine, endLine, silent) => { - process(md, state.tokens, flags); - }, - { - alt: ['paragraph', 'reference'], - } - ); - }, -}; diff --git a/docs/api/plugins/voice.md b/docs/api/plugins/voice.md index 4d009a02274401011b89d62bb2b3179d2d0c6fe2..a7f36da9be4a96c2a8f4e4d7eb08398f5b4f474c 100644 --- a/docs/api/plugins/voice.md +++ b/docs/api/plugins/voice.md @@ -1,12 +1,12 @@ -### voice - -voice 包括语言识别和语音朗读两部分。 - -仅百度小程序平台、App平台支持,各平台开发方式暂未统一,使用时需注意用[条件编译](https://uniapp.dcloud.io/platform)调用不同平台的代码。 - -百度小程序平台支持语音识别,参考:[规范详情](https://smartprogram.baidu.com/docs/develop/api/ai_voice/) - -App 平台实现参考: - -- 语音识别:支持科大讯飞语音识别和百度语音识别,云打包的话需要在manifest中勾选模块和App SDK配置,开发规范见:[https://www.html5plus.org/doc/zh_cn/speech.html](https://www.html5plus.org/doc/zh_cn/speech.html),配置文档及讯飞百度的差别见:[https://ask.dcloud.net.cn/article/35059](https://ask.dcloud.net.cn/article/35059) -- 语音朗读:调用科大讯飞进行语音合成、tts朗读,参考[https://ask.dcloud.net.cn/article/1081](https://ask.dcloud.net.cn/article/1081) +### voice + +voice 包括语言识别和语音朗读两部分。 + +仅百度小程序平台、App平台支持,各平台开发方式暂未统一,使用时需注意用[条件编译](https://uniapp.dcloud.io/platform)调用不同平台的代码。 + +百度小程序平台支持语音识别,参考:[规范详情](https://smartprogram.baidu.com/docs/develop/api/ai_voice/) + +App 平台实现参考: + +- 语音识别:支持百度语音识别,云打包的话需要在manifest中勾选模块和App SDK配置,开发规范见:[https://www.html5plus.org/doc/zh_cn/speech.html](https://www.html5plus.org/doc/zh_cn/speech.html),配置文档及讯飞百度的差别见:[https://ask.dcloud.net.cn/article/35059](https://ask.dcloud.net.cn/article/35059) +- 语音朗读:调用科大讯飞进行语音合成、tts朗读,参考[https://ask.dcloud.net.cn/article/1081](https://ask.dcloud.net.cn/article/1081) diff --git a/docs/api/system/create-request-permission-listener.md b/docs/api/system/create-request-permission-listener.md index 5ad53db9472aaf4955ad4bfd431e1c8a94c435c5..61bd9bdd2c587749b1c2918e4072406dcad393a9 100644 --- a/docs/api/system/create-request-permission-listener.md +++ b/docs/api/system/create-request-permission-listener.md @@ -101,4 +101,4 @@ HBuilderX (4.0+) android 平台支持 - 如果权限已经申请并且允许之后,`onConfirm`不会触发。 - 如果同时申请多个权限时,`onComplete`可能会触发多次。 - 权限列表参考:[https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions](https://uniapp.dcloud.net.cn/tutorial/app-nativeresource-android.html#permissions) -- 本API仅提供了权限申请监听,未提供全局弹窗 +- 全局监听权限申请可参考插件[uni-registerRequestPermissionTips](https://ext.dcloud.net.cn/plugin?name=uni-registerRequestPermissionTips)。 diff --git a/docs/release-note-alpha.md b/docs/release-note-alpha.md index 333830f44d4c7b564f6fbf2ecb1e4fb983387886..32c19450c27fd79aa44c754fdbd6ae206a0cb4c3 100755 --- a/docs/release-note-alpha.md +++ b/docs/release-note-alpha.md @@ -1,3 +1,66 @@ +#### 4.02.2024030621-alpha +* 【uni-app 插件】 + + App平台 修复 Vue2 Cli 项目 nvue 页面编译报错的Bug [详情](https://ask.dcloud.net.cn/question/186784) + + App-Android平台 新增 API uni.getChannelManager,获取通知渠道管理器 [详情](https://uniapp.dcloud.net.cn/api/plugins/push.html#getChannelManager) + + App-Android平台 修复 首次安装调用 uni.scanCode 可能会出现黑屏的Bug [详情](https://ask.dcloud.net.cn/question/185913) + + Web平台 修复 Vue3 项目自动化测试 element.input 方法报错的Bug [详情](https://ask.dcloud.net.cn/question/184815) + + 抖音小程序平台 新增 组件支持 virtualHost 配置 [详情](https://uniapp.dcloud.net.cn/tutorial/vue3-api.html#其他配置) + + 抖音小程序平台 修复 Vue3 项目使用插件时属性丢失的Bug [详情](https://ask.dcloud.net.cn/question/185513) + + 抖音小程序平台 修复 Vue2 项目使用国际化报错的Bug [详情](https://ask.dcloud.net.cn/question/161008) +* 【uni-app x 插件】 + + 新增 API uni.rpx2px [详情](https://doc.dcloud.net.cn/uni-app-x/api/rpx2px.html) + + 调整 pages.json 中配置的页面路径大小写敏感 + + 修复 UniElement tagName、nodeName获取内置组件的标签与组件名不一致的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=766) + + 修复 vue $parent未跳过内置组件的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=773) + + Web平台 新增 组件 list-view、list-item组件 [详情](https://doc.dcloud.net.cn/uni-app-x/component/list-view.html) + + Web平台 新增 组件 sticky-section、sticky-header组件 [详情](https://doc.dcloud.net.cn/uni-app-x/component/sticky.html) + + Web平台 修复 部分场景下类型推断时未将对象字面量作为UTSJSONObject使用的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=819) + + Web平台 修复 类型字面量内带有any[]时无法正确创建实例的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=767) + + Web平台 修复 非全局声明的type在变量声明为此类型时不会自动创建实例的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=782) + + Web平台 修复 vue $forceUpdate未能更新内置组件插槽内容的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=776) + + Web平台 修复 使用热更新uts文件内新导出的type时报找不到导出的type的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=823) + + Web平台 修复 API request、uploadFile、downloadFile接口timeout参数传null时会直接超时的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=805) + + App-Android平台 新增 API uni.requestPayment,支持支付宝支付 [详情](https://doc.dcloud.net.cn/uni-app-x/api/request-payment.html) + + App-Android平台 修复 组件 button 渲染宽高与Web端不一致的问题 [详情](https://doc.dcloud.net.cn/uni-app-x/component/button.html) + + App-Android平台 修复 组件 text 无文本内容时组件宽度不正确的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=777) + + App-Android平台 修复 组件 text 子组件设置 background-color 样式无效的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=276) + + App-Android平台 修复 组件 text 子组件无法修改文本内容的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=562) + + App-Android平台 修复 组件 image 请求网络图片无法共享cookie的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=820) + + App-Android平台 修复 组件 list-item 动态调整宽高不生效的Bug [详情](https://ask.dcloud.net.cn/question/185517) + + App-Android平台 修复 组件 list-view 部分场景修改refresher-triggered属性值域可能不生效的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=796) + + App-Android平台 修复 组件 list-view 部分场景删除插槽子元素报错Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=769) + + App-Android平台 修复 CSS 4.0版本引出的 position 属性设置为 fixed 后 z-index 属性无效的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=726) + + App-Android平台 修复 tabBar 配置 pagePath 有误时点击 tab 切换崩溃的Bug[详情](https://issues.dcloud.net.cn/pages/issues/detail?id=779) + + App-Android平台 修复 使用 UTSAndroid.getJavaClass 获取导入的类时可能编译报错的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=809) + + App-Android平台 优化 type类型响应式对象的构造方式,避免使用反射,优化性能 + + App-Android平台 修复 关联其他项目的服务空间并使用其中的云对象时报错的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=817) + + App-Android平台 修复 unicloud-db组件,使用 setup 语法,作用域插槽中无法使用data的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=761) + + App-Android平台 修复 云对象返回数字错误码时报错的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=840) + + App-Android平台 更新 云端打包环境 compileSdkVersion 为 34 +* 【uts插件】 + + Android平台 新增 `typeof` 操作符支持平台专有字符类型 `Char` [详情](https://doc.dcloud.net.cn/uni-app-x/uts/operator.html#typeof) + + App-Android平台 修复 局部定义 class 时,构造函数使用 super 报错的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=802) + + App-Android平台 新增 interface.uts 文件支持 export declare 语法 [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=744) + + App-Android平台 修复 import * as Types from 'xxx' 导入 type 类型编译报错的Bug [详情](https://issues.dcloud.net.cn/pages/issues/detail?id=696) + + App-iOS平台 新增 @UTSiOS.keyword('fileprivate') 注解,用于解决自定义swift类,属性的访问控制 +* 【App插件(含5+App和uni-app的App端)】 + + Android平台 更新 uni-AD 快手广告SDK为 3.3.61 版;Sigmob广告联盟SDK为 4.15.1 版;百度百青藤广告SDK为 9.34 版 + + Android平台 更新 UniPush 谷歌渠道 使用的个推 SDK 为 4.4.3.8 版,解决可能无法通过 GooglePlay 审核的问题 [详情](https://ask.dcloud.net.cn/question/186384) + + Android平台 更新 支付模块 Paypal SDK 为 1.2.1 版,解决谷歌商店审核失败的问题 + + iOS平台 修复 应用沙盒 tmp 缓存目录没有及时清理的Bug [详情](https://ask.dcloud.net.cn/question/186250) + + iOS平台 修复 应用内存占用过高时系统终止 WKWebview 进程导致页面白屏无法恢复的Bug [详情](https://ask.dcloud.net.cn/question/186341) + + iOS平台 更新 云端打包环境 XCode 为 15.2 版、iOS SDK 为 17.2 版 +* 【uniCloud】 + + 新增 `uniCloud.httpProxyForEip.get` API支持 headers 字段 + + 修复 上传云函数时安装依赖失败后仍然会上传云函数的Bug + + 修复 上传公共模块时不会剔除 node_modules 目录的Bug + + 修复 本地运行时无法使用地理位置查询/索引API的Bug + + 修复 同时存在支付宝小程序云、阿里云、腾讯云空间时,虚拟目录无法正确显示的Bug + + 修复 修复项目关闭后,再次打开云空间未显示关联服务空间的Bug [详情](https://ask.dcloud.net.cn/question/186741) + + 修复 关联其他项目运行时unicloud目录识别错误的Bug + + 修复 未登录状态下点击关联服务空间无响应的Bug + + 调整 阿里云 url化请求体大小限制由1MB调整为2MB,响应体大小限制由1MB调整为2MB + #### 4.01.2024020211-alpha * 【uni-app 插件】 + Web平台 修复 Vue3 项目 ssr 运行报错的Bug [详情](https://ask.dcloud.net.cn/question/185205) diff --git a/docs/tutorial/app-push-unipush.md b/docs/tutorial/app-push-unipush.md index 04442b5b6df926a45439fa37e13aad5ac589bc9e..3a6a02686233b326416c5d1099c5160b7127da4e 100644 --- a/docs/tutorial/app-push-unipush.md +++ b/docs/tutorial/app-push-unipush.md @@ -73,18 +73,10 @@ 点击“Project settings”,进入项目设置页面 ![](https://img.cdn.aliyun.dcloud.net.cn/client/ask/unipush/fcm/settings.png) -切换到“Cloud Messaging”项,获取“Server key”,**保存Server key后面需要使用** +切换到`服务账号`项,点击`生成新的私钥`,**保存私钥json文件到本地,后面需要使用** -由于新版`Firebase Cloud Messaging API (V1)`不提供`Server key`, 所以需要手动开启旧版 `Cloud Messaging API` 。 -![](https://native-res.dcloud.net.cn/images/uniapp/push/firebase/firebase_android_setup_get_server_key.png) +![](https://web-ext-storage.dcloud.net.cn/native/unipush/img_vendor_fcm0.jpg) -跳转到Api管理页面启动`Cloud Messaging API` - -![](https://native-res.dcloud.net.cn/images/uniapp/push/firebase/firebase_android_open_old_api.png) - -启动`Cloud Messaging API`后即可得到`Server key` - -![](https://native-res.dcloud.net.cn/images/uniapp/push/firebase/firebase_android_server_key.png) ##### UniPush后台配置FCM参数 配置FCM需先开通UniPush,如应用未开通UniPush请先开通。 @@ -92,8 +84,8 @@ ![](https://img.cdn.aliyun.dcloud.net.cn/client/ask/unipush/fcm/hx_unipush.png) 打开DCloud的开发者中心后台进入应用列表,点击应用名称进入详情,点击上方“uniPush”选项卡,点击“厂商推送设置”按钮进入配置UniPush的FCM参数 -[attach]94813[/attach] +![](https://web-ext-storage.dcloud.net.cn/native/unipush/img_vendor_fcm1.jpg) 保存成功后在HBuilderX中重新提交云端打包,并在“App-云打包”界面选择google play 渠道包: diff --git a/docs/tutorial/beian.md b/docs/tutorial/beian.md index 338ad87a58bc0dec8f58dce1d636a72434c59393..950722c1538cb45115fc63ccabc420208eacca35 100644 --- a/docs/tutorial/beian.md +++ b/docs/tutorial/beian.md @@ -37,18 +37,14 @@ **参考资料:** - [微信小程序备案操作指引](https://developers.weixin.qq.com/miniprogram/product/record/record_guidelines.html) -- [支付宝小程序备案操作指引](https://opendocs.alipay.com/mini/0adg3d) +- [支付宝小程序备案操作指引](https://opendocs.alipay.com/mini/0apy22?pathHash=2cd5467d) - [抖音小程序ICP备案指引](https://developer.open-douyin.com/docs/resource/zh-CN/mini-app/operation/settle/ICPFiling/ICPintroduce) - [百度小程序备案指引](https://smartprogram.baidu.com/docs/introduction/register_filings/) - [京东小程序备案流程](https://mp-docs.jd.com/doc/operation/beian/2300) +- [快手小程序备案流程](https://mp.kuaishou.com/docs/operate/specification/icp/guide.html) +## FAQ - - - - - - - - +- Q:APP备案如何获取公钥、签名MD5等特征信息? +- A:参考[App特征信息的获取方法](https://help.aliyun.com/zh/icp-filing/fill-in-app-feature-information)或使用[App解析包工具](https://www.yimenapp.com/developer/cert_analyse_upload.cshtml)。 \ No newline at end of file diff --git a/docs/tutorial/run/uts-development-android.md b/docs/tutorial/run/uts-development-android.md index 3c40d7f5723f77bda7e25b440ad54b7d13abb882..ab1d3fce174c2c85e574c7148ea3cb7378f319bf 100644 --- a/docs/tutorial/run/uts-development-android.md +++ b/docs/tutorial/run/uts-development-android.md @@ -1,74 +1,96 @@ -# Android UTS扩展开发 +# Android UTS 扩展开发 > 版本要求: HBuilderX 3.6.9+ -HBuilderX 3.6.9+, 新增 uts插件 Android平台 真机运行支持三方 Gradle 仓储。 +HBuilderX 3.6.9+, 新增 uts 插件 Android 平台 真机运行支持三方 Gradle 仓储。 -运行带有uts插件的项目到Android设备,如果您遇到以下提示,请配置[运行环境](#环境配置) +运行带有 uts 插件的项目到 Android 设备,如果您遇到以下提示,请配置[运行环境](#环境配置) -## uts扩展插件 +## uts 扩展插件 -当您运行带有uts插件的项目到Android设备时,会自动安装【uts开发扩展 - Android】插件,请务必安装。具体如下: +当您运行带有 uts 插件的项目到 Android 设备时,会自动安装【uts 开发扩展 - Android】插件,请务必安装。具体如下: ## 环境配置 -> 下载插件后打开 HBuilderX到 【设置 - 插件配置】:如图 -![image](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/%E9%85%8D%E7%BD%AE.png) +> 下载插件后打开 HBuilderX 到 【设置 - 插件配置】:如图 + +![image](https://web-ext-storage.dcloud.net.cn/hx/uts-android-2.png) #### 上面的截图展示了以下配置: -##### 配置Gradle +##### 配置 Gradle + +1. 点击图标 1 的下载地址进入下载页面。如图所示,点击红圈部分下载工具包。 + +![image](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/gradle.png) + +2. 将步骤 1 下载的内容解压后,找到 bin 目录下的执行脚本,填入图标 2 处。 + +**注意** mac 为`%解压路径%/bin/gradle`;window 为`%解压路径%\bin\gradle.bat`。 + +##### 配置 Gradle JDK + +- 不同版本 Gradle 依赖不同版本的 JDK 。HbuilderX 内置的 JDK 为 11,仅支持 Gradle8.0 以下。如配置 Gradle 为 8.0 及以上版本需要手动下载并配置 JDK 路径。配置方式如下 + +1. 点击图标 3 的下载地址进入下载页面,选择所需要的版本。(如本地已安装 JDK 可跳过此步骤) -1. 点击图标1的下载地址进入下载页面。如图所示,点击红圈部分下载工具包。 +2. 将步骤 1 下载的内容解压后,找到 Home 目录,填入图标 4 处。 - ![image](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/gradle.png) +**注意** -2. 将步骤1下载的内容解压后,找到bin目录下的执行脚本,填入图标3处。 +- HBuilderX 4.02+支持此配置项 +- Gradle8.0 最低要求 JDK 版本为 17。更多版本要求[参考文档](https://developer.android.google.cn/build/releases/past-releases?hl=zh-cn) -**注意** mac为`%解压路径%/bin/gradle`;window为`%解压路径%\bin\gradle.bat`。 +##### 配置 SDK -##### 配置SDK +点击图标 5 的下载地址进入安卓官网,提供如下两种形式。 -点击图标2的下载地址进入安卓官网,提供如下两种形式。 +###### ◇ 下载 Android Studio -###### ◇ 下载Android Studio -1. 如图所示,根据平台下载Android Studio +1. 如图所示,根据平台下载 Android Studio ![image](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/sdk-2.png) -2. 安装后获取Android Studio中sdk的路径地址填入到图标4处。 +2. 安装后获取 Android Studio 中 sdk 的路径地址填入图标 6 处。 + +**注意** + +- 默认路径 mac 为`/Users/用户名/Library/Android/sdk`;window 为`C:\Users\用户名\AppData\Local\Android\Sdk` -**注意** 默认路径 mac为`/Users/用户名/Library/Android/sdk`;window为`C:\Users\用户名\AppData\Local\Android\Sdk` +###### ◇ 如不需要安装 Android Studio 可通过下载 Command line tools only -###### ◇ 如不需要安装Android Studio可通过下载Command line tools only -1. 如图所示,根据平台下载Command line tools only。 +1. 如图所示,根据平台下载 Command line tools only。 ![image](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/sdk.png) -2. 下载解压后通过`%解压目录%/bin/sdkmanager脚本安装build-tools和platforms +2. 下载解压后通过`%解压目录%/bin/sdkmanager 脚本安装 build-tools 和 platforms + ``` sdkmanager --sdk_root=%sdk路径% --install "build-tools;30.0.0" sdkmanager --sdk_root=%sdk路径% --install "platforms;android-30" ``` -4. 将`%sdk路径%`配置到图标4处。 +4. 将`%sdk路径%`填入图标 6 处。 + +5. [sdkmanager 使用文档](https://developer.android.google.cn/studio/command-line/sdkmanager) -5. [sdkmanager使用文档](https://developer.android.google.cn/studio/command-line/sdkmanager) +**注意** -**注意** 下载Android Studio和下载Command line tools only选择一种形式下载sdk即可。 +- 下载 Android Studio 和下载 Command line tools only 选择一种形式下载 sdk 即可。 ##### 配置示例 + 配置后如下图(根据本地目录结构有所不同) - ![image](https://qiniu-web-assets.dcloud.net.cn/unidoc/zh/%E9%85%8D%E7%BD%AE%E5%AE%8C%E6%88%90.png) +![image](https://web-ext-storage.dcloud.net.cn/hx/uts-android-1.png) **注意** - 如果环境已存在可以直接设置本地的工具包路径 -- 此插件依赖sdk目录下build-tools版本不低于30.0.0 -- 此插件依赖sdk目录下platforms版本不低于android-30 +- 此插件依赖 sdk 目录下 build-tools 版本不低于 30.0.0 +- 此插件依赖 sdk 目录下 platforms 版本不低于 android-30 diff --git a/docs/uni-ad/ad-rewarded-video.md b/docs/uni-ad/ad-rewarded-video.md index 189e1a6b2ac6ffdc07606e3f50033c8ad29900ca..dcfe5d9cdce0c1f227929f0143336140996647f9 100644 --- a/docs/uni-ad/ad-rewarded-video.md +++ b/docs/uni-ad/ad-rewarded-video.md @@ -587,7 +587,7 @@ export default { sign = sha256(secret:transid) ``` -提示:`Security key` 在 [uni-ad 广告联盟](https://uniad.dcloud.net.cn) 对应的广告位,配置激励视频服务器回调后可看到 +提示:`Security key` 在 [uni-ad 广告联盟](https://uniad.dcloud.net.cn) 对应的广告位,配置激励视频服务器回调后,点击广告位左侧下拉后可以看到 #### 签名验证方式 diff --git a/docs/univerify.md b/docs/univerify.md index 8a20a90f78014acd10e8e922656d8edeee9a5106..8432c43be9e8f1642db717c890ddd731b918dd57 100644 --- a/docs/univerify.md +++ b/docs/univerify.md @@ -418,8 +418,6 @@ exports.main = async (event, context) => { const res = await uniCloud.getPhoneNumber({ appid: '_UNI_ABCDEFG', // 替换成自己开通一键登录的应用的DCloud appid provider: 'univerify', - apiKey: 'xxx', // HBuilderX 3.94及以上版本可以不传此参数,部分模板/插件的旧版本仍会检查配置 - apiSecret: 'xxx', // HBuilderX 3.94及以上版本可以不传此参数,部分模板/插件的旧版本仍会检查配置 access_token: event.access_token, openid: event.openid }) @@ -483,8 +481,6 @@ exports.main = async(event) => { const res = await uniCloud.getPhoneNumber({ provider: 'univerify', appid: 'xxx', // DCloud appid,不同于callFunction方式调用,使用云函数Url化需要传递DCloud appid参数!!! - apiKey: 'xxx', // HBuilderX 3.94及以上版本可以不传此参数,部分模板/插件的旧版本仍会检查配置 - apiSecret: 'xxx', // HBuilderX 3.94及以上版本可以不传此参数,部分模板/插件的旧版本仍会检查配置 access_token: access_token, openid: openid }) @@ -559,8 +555,6 @@ exports.main = async(event) => { const res = await uniCloud.getPhoneNumber({ provider: 'univerify', appid: 'xxx', // DCloud appid,不同于callFunction方式调用,使用云函数Url化需要传递DCloud appid参数 - apiKey: 'xxx', // HBuilderX 3.94及以上版本可以不传此参数,部分模板/插件的旧版本仍会检查配置 - apiSecret: 'xxx', // HBuilderX 3.94及以上版本可以不传此参数,部分模板/插件的旧版本仍会检查配置 access_token: access_token, openid: openid }) diff --git a/package.json b/package.json index f2a4f84ce5466cc41b3c4c4cc0c81ae5a8101d4f..0ef1e87c36f2fbae7c5c659e0b9caaedafb19b17 100644 --- a/package.json +++ b/package.json @@ -33,7 +33,7 @@ "markdown-it-raw-table": "^1.0.0", "markdown-it-task-lists": "^2.1.1", "vuepress-plugin-named-chunks": "^1.1.4", - "vuepress-theme-uni-app-test": "^1.4.7" + "vuepress-theme-uni-app-test": "^1.4.8" }, "dependencies": { "@docsearch/js": "^3.1.0", diff --git a/yarn.lock b/yarn.lock index 5d78e6a36f3bbbf6233808406fad95aadf5e7d2b..154134971eeaefc6779cbaa38a6d9a27ea7acd2b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9255,6 +9255,11 @@ vuepress-plugin-container@^2.0.2: "@vuepress/shared-utils" "^1.2.0" markdown-it-container "^2.0.0" +vuepress-plugin-expandable-row@^1.0.0: + version "1.0.0" + resolved "https://registry.npmmirror.com/vuepress-plugin-expandable-row/-/vuepress-plugin-expandable-row-1.0.0.tgz#9197ebb63c0277ae546c18d83dd7734de2438a7f" + integrity sha512-255rVtGGeRlTYXxjL4RLbsHfF9Q9fIZH5tIx4BPjYjk5AkULQKE16IekJ+A4mlsH7T944k/2jvxaE1zRy/w5SA== + vuepress-plugin-juejin-style-copy@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/vuepress-plugin-juejin-style-copy/-/vuepress-plugin-juejin-style-copy-1.0.4.tgz#b58d10bdae9673875a33660f8a406f31161284bf" @@ -9288,16 +9293,17 @@ vuepress-plugin-zooming@^1.1.8: dependencies: zooming "^2.1.1" -vuepress-theme-uni-app-test@^1.4.7: - version "1.4.7" - resolved "https://registry.npmmirror.com/vuepress-theme-uni-app-test/-/vuepress-theme-uni-app-test-1.4.7.tgz#566be747f080f551a0f65ac306ccc09dab2ab623" - integrity sha512-O+4FGNetUqEHBpz/EE7KJlwNP3LrU2iz7W1WEq2vHnowPyOxwB2DiSA1aHaHhX1zDAG4n/HILQXhjH48r4uGhw== +vuepress-theme-uni-app-test@^1.4.8: + version "1.4.8" + resolved "https://registry.npmmirror.com/vuepress-theme-uni-app-test/-/vuepress-theme-uni-app-test-1.4.8.tgz#d4abf41d92dbe1be3b606fef5d1bef88c7282c29" + integrity sha512-hrUFRw+wkFfhu3/RZefkVBWYi24TVYLxOHrIhzYQzeoTA3L2GOHcT+hSmMC4lto67jOYU3crHHjcdZ4ZrCkrcA== dependencies: "@vuepress/plugin-back-to-top" "^1.9.5" "@vuepress/theme-default" "^1.8.2" algoliasearch "^4.13.1" clipboard "^2.0.11" vuepress-plugin-check-md2 "^1.0.4" + vuepress-plugin-expandable-row "^1.0.0" vuepress-plugin-juejin-style-copy "^1.0.4" vuepress-plugin-mermaidjs "1.9.1" vuepress-plugin-named-chunks "^1.1.4"