HBuilderX

HBuilderX

极客开发工具
uni-app

uni-app

开发一次,多端覆盖
uniCloud

uniCloud

云开发平台
HTML5+

HTML5+

增强HTML5的功能体验
MUI

MUI

上万Star的前端框架

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的解决办法

uni_ui

问题:项目引入uni-app后没有uni-section标签
原因:官方并没有将uni-section当做uni-ui的一部分,而是在uni-ui演示项目中格外定义的一个子组件

解决办法:将uni-section目录复制,然后放到目标项目的components目录下, 符合components/组件名称/组件名称.vue目录结构,官方解释

继续阅读 »

问题:项目引入uni-app后没有uni-section标签
原因:官方并没有将uni-section当做uni-ui的一部分,而是在uni-ui演示项目中格外定义的一个子组件

解决办法:将uni-section目录复制,然后放到目标项目的components目录下, 符合components/组件名称/组件名称.vue目录结构,官方解释

收起阅读 »

uniapp 导入原生echart 不能使用横向滚动或tooltip 怎么办

h5 uniapp echart

<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&lterm=
鸿蒙: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&lterm=
鸿蒙:store://appgallery.huawei.com/app/detail?id=pkgname

收起阅读 »

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

HBuilderX插件

前端开源项目服务

作用:HBuilderX内快速引用、获取前端开源项目文件(如JQuery.js、Vue.js等)CDN地址,同时支持下载文件到本地。

下载插件

用法

HBuilderX内,点击顶部菜单【工具】【前端开源项目服务】,点击菜单【查找前端开源库】

查找前端开源库

在编辑器当前位置插入某个库CDN地址

继续阅读 »

前端开源项目服务

作用:HBuilderX内快速引用、获取前端开源项目文件(如JQuery.js、Vue.js等)CDN地址,同时支持下载文件到本地。

下载插件

用法

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问题

收起阅读 »

把uni-admin菜单改一下,侧边栏移至顶栏,这回看上去舒服多了

uni-admin版本升级,原来的top nav菜单改动还是挺多的,只好自己动手修改了。

uni-admin版本升级,原来的top nav菜单改动还是挺多的,只好自己动手修改了。

【公告】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
价格 39.9 19.9 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
价格 39.9 19.9 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阿里云。

收起阅读 »

热更新app后 自动重启 卡在启动页

热更新


每次热更完成后自启应用, 在自启应用界面卡住不动了,不知道是不是和版本号有关 基数会卡住 偶数版本不会 本地测试一切正常

继续阅读 »


每次热更完成后自启应用, 在自启应用界面卡住不动了,不知道是不是和版本号有关 基数会卡住 偶数版本不会 本地测试一切正常

收起阅读 »

Universal Links配置及效果具体参考以下三个链接

universallink

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!!!

收起阅读 »

热更新app后 自动重启 卡在启动页

热更新

app热更 下载完后安装自启的时候卡在启动页不动了 用户体验不好 偶数版本号的时候不会出现这个问题 不知道是不是和版本号有关

继续阅读 »

app热更 下载完后安装自启的时候卡在启动页不动了 用户体验不好 偶数版本号的时候不会出现这个问题 不知道是不是和版本号有关

收起阅读 »