
njs 安卓调用摄像头拍摄 并自定义存储位置
let status;
// 判断权限可以搜索下论坛
status = await permission.requestAndroid('android.permission.CAMERA');
status = await permission.requestAndroid('android.permission.READ_EXTERNAL_STORAGE');
const main = plus.android.runtimeMainActivity();
const mediaStore = plus.android.importClass('android.provider.MediaStore');
const Intent = plus.android.importClass('android.content.Intent');
const intent = new Intent('android.media.action.VIDEO_CAPTURE');
const File = plus.android.importClass('java.io.File');
const filePath = plus.io.convertLocalFileSystemURL('_doc/xxxxxx.mp4');
const file = new File(filePath);
const FileProvider = plus.android.importClass('io.dcloud.common.util.DCloud_FileProvider');
const outputFile = FileProvider.getUriForFile(main, ${main.getPackageName()}.dc.fileprovider
, file);
intent.putExtra(mediaStore.EXTRA_VIDEO_QUALITY, 1);
intent.putExtra(mediaStore.EXTRA_OUTPUT, outputFile);
main.startActivityForResult(intent, 200);
main.onActivityResult = function(requestCode, resultCode) {
if (resultCode === 0) return;
uni.showLoading({ title: '视频压缩中', mask: true});
uni.compressVideo({
src: filePath,
quality: 'low',
complete: (res) => {
uni.hideLoading();
console.log(res.tempFilePath);
},
});
};
}
let status;
// 判断权限可以搜索下论坛
status = await permission.requestAndroid('android.permission.CAMERA');
status = await permission.requestAndroid('android.permission.READ_EXTERNAL_STORAGE');
const main = plus.android.runtimeMainActivity();
const mediaStore = plus.android.importClass('android.provider.MediaStore');
const Intent = plus.android.importClass('android.content.Intent');
const intent = new Intent('android.media.action.VIDEO_CAPTURE');
const File = plus.android.importClass('java.io.File');
const filePath = plus.io.convertLocalFileSystemURL('_doc/xxxxxx.mp4');
const file = new File(filePath);
const FileProvider = plus.android.importClass('io.dcloud.common.util.DCloud_FileProvider');
const outputFile = FileProvider.getUriForFile(main, ${main.getPackageName()}.dc.fileprovider
, file);
intent.putExtra(mediaStore.EXTRA_VIDEO_QUALITY, 1);
intent.putExtra(mediaStore.EXTRA_OUTPUT, outputFile);
main.startActivityForResult(intent, 200);
main.onActivityResult = function(requestCode, resultCode) {
if (resultCode === 0) return;
uni.showLoading({ title: '视频压缩中', mask: true});
uni.compressVideo({
src: filePath,
quality: 'low',
complete: (res) => {
uni.hideLoading();
console.log(res.tempFilePath);
},
});
};
}

引入uni-ui后没有uni-section的解决办法

uniapp 导入原生echart 不能使用横向滚动或tooltip 怎么办
<template>
<view style="height: 630rpx;width: 710rpx;">
<div id="container" style="height: 100%;width: 100%;"></div>
</view>
</template>
<script>
// import * as echarts from 'echarts/core';
// import {
// TooltipComponent,
// GridComponent,
// LegendComponent,
// DataZoomComponent
// } from 'echarts/components';
// import { CandlestickChart, LineChart } from 'echarts/charts';
// import { UniversalTransition } from 'echarts/features';
// import { CanvasRenderer } from 'echarts/renderers';
// echarts.use([
// TooltipComponent,
// GridComponent,
// LegendComponent,
// DataZoomComponent,
// CandlestickChart,
// LineChart,
// CanvasRenderer,
// UniversalTransition
// ]);
export default {
data() {
return {
}
},
props: {
data: {
type: Array,
//默认值
default: []
},
},
created() {},
mounted() {
// if (window.echarts) {
// } else {
// var scriptElement = document.createElement('script');
// document.body.appendChild(scriptElement);
// scriptElement.src = "/static/echarts.min.js"
// scriptElement.onload = scriptElement.onreadystatechange = () => {
// setTimeout(()=>{
// this.init()
// },1000)
// };
// }
this.init()
},
watch: {
data: function() {
this.init()
},
deep: true
},
methods: {
init() {
var chartDom = document.getElementById('container');
const myChart = echarts.init(chartDom);
var option;
let rawData = []
this.data.forEach(item => {
let x = []
x.push(item.timestamp)
x.push(item.start)
x.push(item.end)
x.push(item.max)
x.push(item.min)
rawData.push(x)
})
// let rawData = [
// ['2013/1/24', 2320.26, 2320.26, 2287.3, 2362.94],
// ['2013/1/25', 2300, 2291.3, 2288.26, 2308.38],
// ['2013/1/28', 2295.35, 2346.5, 2295.35, 2346.92],
// ['2013/1/29', 2347.22, 2358.98, 2337.35, 2363.8],
// ['2013/1/30', 2360.75, 2382.48, 2347.89, 2383.76],
// ['2013/1/31', 2383.43, 2385.42, 2371.23, 2391.82],
// ['2013/2/1', 2377.41, 2419.02, 2369.57, 2421.15],
// ['2013/2/4', 2425.92, 2428.15, 2417.58, 2440.38],
// ['2013/2/5', 2411, 2433.13, 2403.3, 2437.42],
// ['2013/2/6', 2432.68, 2434.48, 2427.7, 2441.73],
// ['2013/2/7', 2430.69, 2418.53, 2394.22, 2433.89],
// ['2013/2/8', 2416.62, 2432.4, 2414.4, 2443.03],
// ['2013/2/18', 2441.91, 2421.56, 2415.43, 2444.8],
// ['2013/2/19', 2420.26, 2382.91, 2373.53, 2427.07],
// ['2013/2/20', 2383.49, 2397.18, 2370.61, 2397.94],
// ['2013/2/21', 2378.82, 2325.95, 2309.17, 2378.82],
// ['2013/2/22', 2322.94, 2314.16, 2308.76, 2330.88],
// ['2013/2/25', 2320.62, 2325.82, 2315.01, 2338.78],
// ['2013/2/26', 2313.74, 2293.34, 2289.89, 2340.71],
// ['2013/2/27', 2297.77, 2313.22, 2292.03, 2324.63],
// ['2013/2/28', 2322.32, 2365.59, 2308.92, 2366.16],
// ['2013/3/1', 2364.54, 2359.51, 2330.86, 2369.65],
// ['2013/3/4', 2332.08, 2273.4, 2259.25, 2333.54],
// ['2013/3/5', 2274.81, 2326.31, 2270.1, 2328.14],
// ['2013/3/6', 2333.61, 2347.18, 2321.6, 2351.44],
// ['2013/3/7', 2340.44, 2324.29, 2304.27, 2352.02],
// ['2013/3/8', 2326.42, 2318.61, 2314.59, 2333.67],
// ['2013/3/11', 2314.68, 2310.59, 2296.58, 2320.96],
// ['2013/3/12', 2309.16, 2286.6, 2264.83, 2333.29],
// ['2013/3/13', 2282.17, 2263.97, 2253.25, 2286.33],
// ['2013/3/14', 2255.77, 2270.28, 2253.31, 2276.22],
// ['2013/3/15', 2269.31, 2278.4, 2250, 2312.08],
// ['2013/3/18', 2267.29, 2240.02, 2239.21, 2276.05],
// ['2013/3/19', 2244.26, 2257.43, 2232.02, 2261.31],
// ['2013/3/20', 2257.74, 2317.37, 2257.42, 2317.86],
// ['2013/3/21', 2318.21, 2324.24, 2311.6, 2330.81],
// ['2013/3/22', 2321.4, 2328.28, 2314.97, 2332],
// ['2013/3/25', 2334.74, 2326.72, 2319.91, 2344.89],
// ['2013/3/26', 2318.58, 2297.67, 2281.12, 2319.99],
// ['2013/3/27', 2299.38, 2301.26, 2289, 2323.48],
// ['2013/3/28', 2273.55, 2236.3, 2232.91, 2273.55],
// ]
rawData = rawData.reverse();
function calculateMA(dayCount, data) {
var result = [];
for (var i = 0, len = data.length; i < len; i++) {
if (i < dayCount) {
result.push('--');
continue;
}
var sum = 0;
for (var j = 0; j < dayCount; j++) {
sum += +data[i - j][1];
}
result.push((sum / dayCount).toFixed(3));
}
return result;
}
const dates = rawData.map(function(item) {
return item[0];
});
const data = rawData.map(function(item) {
return [+item[1], +item[2], +item[3], +item[4]];
});
option = {
tooltip: {
trigger: 'axis',
axisPointer: {
animation: false,
type: 'cross',
lineStyle: {
color: '#376df4',
width: 2,
opacity: 1
}
},
formatter: function(params, ticket, callback) {
var result = "时间:" + params[0].name + "<br/>";
params.forEach(function(item) {
if (item.seriesName == "Day") {
result += item.marker + " " + "开盘 : " + item.data[1] + "</br>";
result += item.marker + " " + "收盘 : " + item.data[2] + "</br>";
result += item.marker + " " + "最高 : " + item.data[3] + "</br>";
result += item.marker + " " + "最低 : " + item.data[4] + "</br>";
} else {
result += item.marker + " " + item.seriesName + " : " + item.value
.toString().substring(0, 7) + "</br>";
}
});
return result;
},
},
xAxis: {
type: 'category',
data: dates,
axisLine: {
lineStyle: {
color: '#8392A5'
}
},
},
yAxis: {
scale: true,
axisLine: {
lineStyle: {
color: '#8392A5'
}
},
splitLine: {
show: true,
lineStyle: {
color: '#999'
}
}
},
grid: {
bottom: 80,
top: '10%',
left: '14%',
right: '12%',
},
dataZoom: [{
handleIcon: 'path://M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
textStyle: true,
height: 15,
start: 50,
end: 100
},
{
type: 'inside',
}
],
series: [{
type: 'candlestick',
name: 'Day',
data: data,
itemStyle: {
color: '#FD1050',
color0: '#0CF49B',
borderColor: '#FD1050',
borderColor0: '#0CF49B'
}
},
{
name: 'MA5',
type: 'line',
data: calculateMA(5, data),
smooth: true,
showSymbol: false,
lineStyle: {
width: 1
}
},
{
name: 'MA10',
type: 'line',
data: calculateMA(10, data),
smooth: true,
showSymbol: false,
lineStyle: {
width: 1
}
},
{
name: 'MA20',
type: 'line',
data: calculateMA(20, data),
smooth: true,
showSymbol: false,
lineStyle: {
width: 1
}
}
]
};
option && myChart.setOption(option);
}
}
}
</script>
<style>
</style>
<template>
<view style="height: 630rpx;width: 710rpx;">
<div id="container" style="height: 100%;width: 100%;"></div>
</view>
</template>
<script>
// import * as echarts from 'echarts/core';
// import {
// TooltipComponent,
// GridComponent,
// LegendComponent,
// DataZoomComponent
// } from 'echarts/components';
// import { CandlestickChart, LineChart } from 'echarts/charts';
// import { UniversalTransition } from 'echarts/features';
// import { CanvasRenderer } from 'echarts/renderers';
// echarts.use([
// TooltipComponent,
// GridComponent,
// LegendComponent,
// DataZoomComponent,
// CandlestickChart,
// LineChart,
// CanvasRenderer,
// UniversalTransition
// ]);
export default {
data() {
return {
}
},
props: {
data: {
type: Array,
//默认值
default: []
},
},
created() {},
mounted() {
// if (window.echarts) {
// } else {
// var scriptElement = document.createElement('script');
// document.body.appendChild(scriptElement);
// scriptElement.src = "/static/echarts.min.js"
// scriptElement.onload = scriptElement.onreadystatechange = () => {
// setTimeout(()=>{
// this.init()
// },1000)
// };
// }
this.init()
},
watch: {
data: function() {
this.init()
},
deep: true
},
methods: {
init() {
var chartDom = document.getElementById('container');
const myChart = echarts.init(chartDom);
var option;
let rawData = []
this.data.forEach(item => {
let x = []
x.push(item.timestamp)
x.push(item.start)
x.push(item.end)
x.push(item.max)
x.push(item.min)
rawData.push(x)
})
// let rawData = [
// ['2013/1/24', 2320.26, 2320.26, 2287.3, 2362.94],
// ['2013/1/25', 2300, 2291.3, 2288.26, 2308.38],
// ['2013/1/28', 2295.35, 2346.5, 2295.35, 2346.92],
// ['2013/1/29', 2347.22, 2358.98, 2337.35, 2363.8],
// ['2013/1/30', 2360.75, 2382.48, 2347.89, 2383.76],
// ['2013/1/31', 2383.43, 2385.42, 2371.23, 2391.82],
// ['2013/2/1', 2377.41, 2419.02, 2369.57, 2421.15],
// ['2013/2/4', 2425.92, 2428.15, 2417.58, 2440.38],
// ['2013/2/5', 2411, 2433.13, 2403.3, 2437.42],
// ['2013/2/6', 2432.68, 2434.48, 2427.7, 2441.73],
// ['2013/2/7', 2430.69, 2418.53, 2394.22, 2433.89],
// ['2013/2/8', 2416.62, 2432.4, 2414.4, 2443.03],
// ['2013/2/18', 2441.91, 2421.56, 2415.43, 2444.8],
// ['2013/2/19', 2420.26, 2382.91, 2373.53, 2427.07],
// ['2013/2/20', 2383.49, 2397.18, 2370.61, 2397.94],
// ['2013/2/21', 2378.82, 2325.95, 2309.17, 2378.82],
// ['2013/2/22', 2322.94, 2314.16, 2308.76, 2330.88],
// ['2013/2/25', 2320.62, 2325.82, 2315.01, 2338.78],
// ['2013/2/26', 2313.74, 2293.34, 2289.89, 2340.71],
// ['2013/2/27', 2297.77, 2313.22, 2292.03, 2324.63],
// ['2013/2/28', 2322.32, 2365.59, 2308.92, 2366.16],
// ['2013/3/1', 2364.54, 2359.51, 2330.86, 2369.65],
// ['2013/3/4', 2332.08, 2273.4, 2259.25, 2333.54],
// ['2013/3/5', 2274.81, 2326.31, 2270.1, 2328.14],
// ['2013/3/6', 2333.61, 2347.18, 2321.6, 2351.44],
// ['2013/3/7', 2340.44, 2324.29, 2304.27, 2352.02],
// ['2013/3/8', 2326.42, 2318.61, 2314.59, 2333.67],
// ['2013/3/11', 2314.68, 2310.59, 2296.58, 2320.96],
// ['2013/3/12', 2309.16, 2286.6, 2264.83, 2333.29],
// ['2013/3/13', 2282.17, 2263.97, 2253.25, 2286.33],
// ['2013/3/14', 2255.77, 2270.28, 2253.31, 2276.22],
// ['2013/3/15', 2269.31, 2278.4, 2250, 2312.08],
// ['2013/3/18', 2267.29, 2240.02, 2239.21, 2276.05],
// ['2013/3/19', 2244.26, 2257.43, 2232.02, 2261.31],
// ['2013/3/20', 2257.74, 2317.37, 2257.42, 2317.86],
// ['2013/3/21', 2318.21, 2324.24, 2311.6, 2330.81],
// ['2013/3/22', 2321.4, 2328.28, 2314.97, 2332],
// ['2013/3/25', 2334.74, 2326.72, 2319.91, 2344.89],
// ['2013/3/26', 2318.58, 2297.67, 2281.12, 2319.99],
// ['2013/3/27', 2299.38, 2301.26, 2289, 2323.48],
// ['2013/3/28', 2273.55, 2236.3, 2232.91, 2273.55],
// ]
rawData = rawData.reverse();
function calculateMA(dayCount, data) {
var result = [];
for (var i = 0, len = data.length; i < len; i++) {
if (i < dayCount) {
result.push('--');
continue;
}
var sum = 0;
for (var j = 0; j < dayCount; j++) {
sum += +data[i - j][1];
}
result.push((sum / dayCount).toFixed(3));
}
return result;
}
const dates = rawData.map(function(item) {
return item[0];
});
const data = rawData.map(function(item) {
return [+item[1], +item[2], +item[3], +item[4]];
});
option = {
tooltip: {
trigger: 'axis',
axisPointer: {
animation: false,
type: 'cross',
lineStyle: {
color: '#376df4',
width: 2,
opacity: 1
}
},
formatter: function(params, ticket, callback) {
var result = "时间:" + params[0].name + "<br/>";
params.forEach(function(item) {
if (item.seriesName == "Day") {
result += item.marker + " " + "开盘 : " + item.data[1] + "</br>";
result += item.marker + " " + "收盘 : " + item.data[2] + "</br>";
result += item.marker + " " + "最高 : " + item.data[3] + "</br>";
result += item.marker + " " + "最低 : " + item.data[4] + "</br>";
} else {
result += item.marker + " " + item.seriesName + " : " + item.value
.toString().substring(0, 7) + "</br>";
}
});
return result;
},
},
xAxis: {
type: 'category',
data: dates,
axisLine: {
lineStyle: {
color: '#8392A5'
}
},
},
yAxis: {
scale: true,
axisLine: {
lineStyle: {
color: '#8392A5'
}
},
splitLine: {
show: true,
lineStyle: {
color: '#999'
}
}
},
grid: {
bottom: 80,
top: '10%',
left: '14%',
right: '12%',
},
dataZoom: [{
handleIcon: 'path://M10.7,11.9v-1.3H9.3v1.3c-4.9,0.3-8.8,4.4-8.8,9.4c0,5,3.9,9.1,8.8,9.4v1.3h1.3v-1.3c4.9-0.3,8.8-4.4,8.8-9.4C19.5,16.3,15.6,12.2,10.7,11.9z M13.3,24.4H6.7V23h6.6V24.4z M13.3,19.6H6.7v-1.4h6.6V19.6z',
textStyle: true,
height: 15,
start: 50,
end: 100
},
{
type: 'inside',
}
],
series: [{
type: 'candlestick',
name: 'Day',
data: data,
itemStyle: {
color: '#FD1050',
color0: '#0CF49B',
borderColor: '#FD1050',
borderColor0: '#0CF49B'
}
},
{
name: 'MA5',
type: 'line',
data: calculateMA(5, data),
smooth: true,
showSymbol: false,
lineStyle: {
width: 1
}
},
{
name: 'MA10',
type: 'line',
data: calculateMA(10, data),
smooth: true,
showSymbol: false,
lineStyle: {
width: 1
}
},
{
name: 'MA20',
type: 'line',
data: calculateMA(20, data),
smooth: true,
showSymbol: false,
lineStyle: {
width: 1
}
}
]
};
option && myChart.setOption(option);
}
}
}
</script>
<style>
</style>

uniapp关于推送小图标的文档描述错误!!!!!!!!!!!!!!!!!!!!!!
{
"unipush": { //可选,JSON对象,使用UniPush SDK配置,无需手动配置参数,云端打包自动获取配置参数
"icons": { //可选,JSON对象,推送图标配置
"push": { //可选,JSON对象,Push图标配置
"ldpi": "", //可选,字符串类型,普通屏设备推送图标路径,分辨率要求48x48
"mdpi": "", //可选,字符串类型,大屏设备设备推送图标路径,分辨率要求48x48
"hdpi": "", //可选,字符串类型,高分屏设备推送图标路径,分辨率要求72x72
"xdpi": "", //可选,字符串类型,720P高分屏设备推送图标路径,分辨率要求96x96
"xxdpi": "", //可选,字符串类型,1080P高密度屏幕推送图标路径,分辨率要求144x144
"xxxdpi": "", //可选,字符串类型,4K屏设备推送图标路径,分辨率要求192x192
},
"smal": { //可选,JSON对象,Push小图标配置
"ldpi": "", //可选,字符串类型,普通屏设备推送小图标路径,分辨率要求18x18
"mdpi": "", //可选,字符串类型,大屏设备设备推送小图标路径,分辨率要求24x24
"hdpi": "", //可选,字符串类型,高分屏设备推送小图标路径,分辨率要求36x36
"xdpi": "", //可选,字符串类型,720P高分屏设备推送小图标路径,分辨率要求48x48
"xxdpi": "", //可选,字符串类型,1080P高密度屏幕推送小图标路径,分辨率要求72x72
"xxxdpi": "", //可选,字符串类型,4K屏设备推送小图标路径,分辨率要求96x96
}
}
}
}
这个里面“smal”拼错了
{
"unipush": { //可选,JSON对象,使用UniPush SDK配置,无需手动配置参数,云端打包自动获取配置参数
"icons": { //可选,JSON对象,推送图标配置
"push": { //可选,JSON对象,Push图标配置
"ldpi": "", //可选,字符串类型,普通屏设备推送图标路径,分辨率要求48x48
"mdpi": "", //可选,字符串类型,大屏设备设备推送图标路径,分辨率要求48x48
"hdpi": "", //可选,字符串类型,高分屏设备推送图标路径,分辨率要求72x72
"xdpi": "", //可选,字符串类型,720P高分屏设备推送图标路径,分辨率要求96x96
"xxdpi": "", //可选,字符串类型,1080P高密度屏幕推送图标路径,分辨率要求144x144
"xxxdpi": "", //可选,字符串类型,4K屏设备推送图标路径,分辨率要求192x192
},
"smal": { //可选,JSON对象,Push小图标配置
"ldpi": "", //可选,字符串类型,普通屏设备推送小图标路径,分辨率要求18x18
"mdpi": "", //可选,字符串类型,大屏设备设备推送小图标路径,分辨率要求24x24
"hdpi": "", //可选,字符串类型,高分屏设备推送小图标路径,分辨率要求36x36
"xdpi": "", //可选,字符串类型,720P高分屏设备推送小图标路径,分辨率要求48x48
"xxdpi": "", //可选,字符串类型,1080P高密度屏幕推送小图标路径,分辨率要求72x72
"xxxdpi": "", //可选,字符串类型,4K屏设备推送小图标路径,分辨率要求96x96
}
}
}
}
这个里面“smal”拼错了

常见的应用商店 scheme 地址
Android 应用商店常见地址
> 欢迎大家补充说明。如:scheme 查看方式;更多常用的 scheme 地址等。
>
> 以微信的包名com.tencent.mm为例
应用宝:tmast://appdetails?pname=com.tencent.mm
小米:mimarket://details?id=com.tencent.mm 或 https://app.mi.com/details?id=包名(评论区提供,请自行验证)
三星:samsungapps://ProductDetail/com.tencent.mm
华为:appmarket://details?id=com.tencent.mm
荣耀:market://details?id=xxx
oppo:market://details?id=com.xunmeng.pinduoduo 详情
vivo:vivomarket://details?id=com.tencent.mm
AppStore 搜索页面:itms-apps://search.itunes.apple.com//WebObjects//MZSearch.woa/wa/search?media=software<erm=
鸿蒙:store://appgallery.huawei.com/app/detail?id=pkgname
Android 应用商店常见地址
> 欢迎大家补充说明。如:scheme 查看方式;更多常用的 scheme 地址等。
>
> 以微信的包名com.tencent.mm为例
应用宝:tmast://appdetails?pname=com.tencent.mm
小米:mimarket://details?id=com.tencent.mm 或 https://app.mi.com/details?id=包名(评论区提供,请自行验证)
三星:samsungapps://ProductDetail/com.tencent.mm
华为:appmarket://details?id=com.tencent.mm
荣耀:market://details?id=xxx
oppo:market://details?id=com.xunmeng.pinduoduo 详情
vivo:vivomarket://details?id=com.tencent.mm
AppStore 搜索页面:itms-apps://search.itunes.apple.com//WebObjects//MZSearch.woa/wa/search?media=software<erm=
鸿蒙:store://appgallery.huawei.com/app/detail?id=pkgname

HBuilderX插件:汇集4280+个前端开源项目,在HBuilderX中引用库cdn地址、或快速下载文件到本地

uni post 请求
uni.request({
url: 'url',
method:'POST',
data:{
data:data
},
//post提交的时候加上这个header
header: {
'Content-Type':'application/x-www-form-urlencoded' //注意请求头
},
success: (res) => {
console.log(res.data);
}
});
请求头写错,会出现cors问题
uni.request({
url: 'url',
method:'POST',
data:{
data:data
},
//post提交的时候加上这个header
header: {
'Content-Type':'application/x-www-form-urlencoded' //注意请求头
},
success: (res) => {
console.log(res.data);
}
});
请求头写错,会出现cors问题
收起阅读 »
【公告】uniCloud腾讯云服务空间计费调整
各位uniCloud开发者,
腾讯云官方已于2022年8月12日,对计费方式进行如下调整:
新计费模式下,统一采用基础套餐+按量计费的模式,开发者可先购买带有一定配额的基础套餐,超出套餐配额部分按使用量付费。
基础套餐
配额 | 个人版 | 入门版 | 初创版 | 商用版 | 团队版 | 单位 |
---|---|---|---|---|---|---|
QPS | 500 | 500 | 500 | 800 | 1000 | - |
调用次数 | 20 | 500 | 1000 | 2000 | 5000 | 万次 |
容量 | 2 | 30 | 100 | 200 | 300 | GB |
云函数资源使用量 | 10 | 30 | 45 | 60 | 100 | 万GBs |
云函数外网出流量 | 2 | 8 | 10 | 15 | 25 | GB |
CDN流量 | 5 | 80 | 200 | 400 | 600 | GB |
CDN回源流量 | 5 | 40 | 100 | 200 | 300 | GB |
价格 | 99 | 299 | 499 | 999 | 元/月 |
套餐说明
- 个人版5折折扣至少延续至2022年底,后续折扣如有变化将另行通知。
- 调用次数:包含云存储上传、下载操作;数据库读、写操作;云函数调用次数。
- 容量:包含云存储、数据库容量。
按量付费定价
计费项 | 定价 |
---|---|
调用次数 | 0.5元/万次/天 |
容量 | 0.1元/GB/天 |
云函数资源使用量 | 0.00011108元/GBs |
云函数外网出流量 | 0.8元/GB |
云函数日志标准索引存储 | 0.0115元/GB/日 |
云函数日志标准日志存储 | 0.0115元/GB/日 |
云函数日志标准索引流量 | 0.35元/GB/日 |
云函数日志写流量 | 0.18元/GB/日 |
云函数日志请求次数 | 0.15元/百万次/日 |
云函数日志分区数量 | 0.04元/个/日 |
CDN流量 | 0.21元/GB |
CDN回源流量 | 0.15元/GB |
前端网页托管容量 | 0.005元/GB/天 |
前端网页托管流量 | 0.21元/GB |
腾讯云平台的日志服务于2022年10月24日开始收费,之后云函数产生的日志将每天按量计费,并从余额中扣除;提醒广大开发者,尽快登录uniCloud控制台充值(充余额),避免因日志服务欠费导致业务中断。
说明
新用户享有一个月免费环境体验期的权益,体验期间的环境配额与个人版相同,超出配额后可选择是否进行额外按量付费。
在正式进行计费方式切换之日起,对现有用户提供至少一个月的操作缓冲期,用户可选择是否切换新的计费方式,超时(2022.09.08)切换的服务空间将会停服释放。
对于2022年7月总调用次数曾超过100万次的服务空间,本次调整将不直接生效,这部分空间还可继续使用老的计费套餐(暂定为3个月)。
自本公告发布之日起,对于原已购预付费套餐、资源包的用户,仍然可正常使用原已购资源,直至原约定套餐到期或用完。
原已购的预付费套餐在到期前一个月可以升级到新计费,升级新计费时,有效期会按照操作升级当天重新计算。比如原到期时间为2022年10月11日,则可以在2022年9月11日之后进行升级,假如在9月15日操作升级1个月,则新的有效期为2022年9月15日到2022年10月15日。所以最好是在原套餐到期时再操作升级。
腾讯云的价格上涨非DCloud所愿,DCloud也曾努力游说腾讯云。所幸在uniCloud体系里不会发生供应商绑定,如果开发者对腾讯云的定价不满,可迁移uniCloud阿里云。
各位uniCloud开发者,
腾讯云官方已于2022年8月12日,对计费方式进行如下调整:
新计费模式下,统一采用基础套餐+按量计费的模式,开发者可先购买带有一定配额的基础套餐,超出套餐配额部分按使用量付费。
基础套餐
配额 | 个人版 | 入门版 | 初创版 | 商用版 | 团队版 | 单位 |
---|---|---|---|---|---|---|
QPS | 500 | 500 | 500 | 800 | 1000 | - |
调用次数 | 20 | 500 | 1000 | 2000 | 5000 | 万次 |
容量 | 2 | 30 | 100 | 200 | 300 | GB |
云函数资源使用量 | 10 | 30 | 45 | 60 | 100 | 万GBs |
云函数外网出流量 | 2 | 8 | 10 | 15 | 25 | GB |
CDN流量 | 5 | 80 | 200 | 400 | 600 | GB |
CDN回源流量 | 5 | 40 | 100 | 200 | 300 | GB |
价格 | 99 | 299 | 499 | 999 | 元/月 |
套餐说明
- 个人版5折折扣至少延续至2022年底,后续折扣如有变化将另行通知。
- 调用次数:包含云存储上传、下载操作;数据库读、写操作;云函数调用次数。
- 容量:包含云存储、数据库容量。
按量付费定价
计费项 | 定价 |
---|---|
调用次数 | 0.5元/万次/天 |
容量 | 0.1元/GB/天 |
云函数资源使用量 | 0.00011108元/GBs |
云函数外网出流量 | 0.8元/GB |
云函数日志标准索引存储 | 0.0115元/GB/日 |
云函数日志标准日志存储 | 0.0115元/GB/日 |
云函数日志标准索引流量 | 0.35元/GB/日 |
云函数日志写流量 | 0.18元/GB/日 |
云函数日志请求次数 | 0.15元/百万次/日 |
云函数日志分区数量 | 0.04元/个/日 |
CDN流量 | 0.21元/GB |
CDN回源流量 | 0.15元/GB |
前端网页托管容量 | 0.005元/GB/天 |
前端网页托管流量 | 0.21元/GB |
腾讯云平台的日志服务于2022年10月24日开始收费,之后云函数产生的日志将每天按量计费,并从余额中扣除;提醒广大开发者,尽快登录uniCloud控制台充值(充余额),避免因日志服务欠费导致业务中断。
说明
新用户享有一个月免费环境体验期的权益,体验期间的环境配额与个人版相同,超出配额后可选择是否进行额外按量付费。
在正式进行计费方式切换之日起,对现有用户提供至少一个月的操作缓冲期,用户可选择是否切换新的计费方式,超时(2022.09.08)切换的服务空间将会停服释放。
对于2022年7月总调用次数曾超过100万次的服务空间,本次调整将不直接生效,这部分空间还可继续使用老的计费套餐(暂定为3个月)。
自本公告发布之日起,对于原已购预付费套餐、资源包的用户,仍然可正常使用原已购资源,直至原约定套餐到期或用完。
原已购的预付费套餐在到期前一个月可以升级到新计费,升级新计费时,有效期会按照操作升级当天重新计算。比如原到期时间为2022年10月11日,则可以在2022年9月11日之后进行升级,假如在9月15日操作升级1个月,则新的有效期为2022年9月15日到2022年10月15日。所以最好是在原套餐到期时再操作升级。
腾讯云的价格上涨非DCloud所愿,DCloud也曾努力游说腾讯云。所幸在uniCloud体系里不会发生供应商绑定,如果开发者对腾讯云的定价不满,可迁移uniCloud阿里云。
收起阅读 »
Universal Links配置及效果具体参考以下三个链接
Universal Links配置及效果具体参考以下三个链接:
1、开启IOS通用链接并关联到HBuilderX:https://ask.dcloud.net.cn/article/36393#unilink;
注意两点:
第一点是开启Associated Domains后,需要重新生成profile文件或者更新旧profile文件,待参考第二个链接配置完微信开放平台和HBuilderX后重新提交云打包时用;
第二点是apple-app-site-association里面的appId是TeamID.bundleID!!!
2、配置微信开放平台并关联道HBuilderX:https://ask.dcloud.net.cn/article/36445;
按照链接里面说的逐步操作就行,无注意事项。
3、服务器部署及效果预览:
https://www.kancloud.cn/i281151/note/2321693
注意三点:
第一点是必须把APP上传到 App Store或TestFlight;
第二点是服务器成功部署部署apple-app-site-association和ssh证书——部署成功的效果是直接从浏览器打开https://域名/apple-app-site-association和https://域名/.well-known/apple-app-site-association能够在浏览器中看到对应的数据结构,且在苹果手机的记事本长按https://域名/ulink/或者safari浏览器中输入https://域名/ulink/,不会出现非安全链接报警;
第三点是前两点完成后重新更新手机上的APP!!!
Universal Links配置及效果具体参考以下三个链接:
1、开启IOS通用链接并关联到HBuilderX:https://ask.dcloud.net.cn/article/36393#unilink;
注意两点:
第一点是开启Associated Domains后,需要重新生成profile文件或者更新旧profile文件,待参考第二个链接配置完微信开放平台和HBuilderX后重新提交云打包时用;
第二点是apple-app-site-association里面的appId是TeamID.bundleID!!!
2、配置微信开放平台并关联道HBuilderX:https://ask.dcloud.net.cn/article/36445;
按照链接里面说的逐步操作就行,无注意事项。
3、服务器部署及效果预览:
https://www.kancloud.cn/i281151/note/2321693
注意三点:
第一点是必须把APP上传到 App Store或TestFlight;
第二点是服务器成功部署部署apple-app-site-association和ssh证书——部署成功的效果是直接从浏览器打开https://域名/apple-app-site-association和https://域名/.well-known/apple-app-site-association能够在浏览器中看到对应的数据结构,且在苹果手机的记事本长按https://域名/ulink/或者safari浏览器中输入https://域名/ulink/,不会出现非安全链接报警;
第三点是前两点完成后重新更新手机上的APP!!!