每日互动(个推)与您相约2024 AI+研发数字峰会(AiDD)上海站
伴随着人工智能在众多行业领域的广泛应用及其带来的颠覆性变革,软件的开发模式、方式和实践也将发生巨大的变化。
5月17-18日,2024 AI+研发数字峰会(AiDD)上海站即将重磅开幕。峰会设置了15个主题论坛,策划60+精彩议题内容,邀请到了来自北京大学、清华大学、上海交通大学等高校的技术专家以及微软、阿里巴巴、百度等知名企业的一线从业者,从大模型开发到应用等多个层面进行深入分享、交流和共创,旨在推动研发全面进入数智化时代。数据智能上市企业每日互动(个推)受邀出席大会,并将在峰会现场A2展位亮相,为参会观众带来数据智能操作系统DiOS及AI研发创新成果。
会议主题:
“AI驱动研发迈进数智化时代”
会议时间:
2024年05月17-18日
会议地点:
上海明捷万丽酒店
立即报名:
AiDD研发数字峰会-上海站 https://aidd.vip/sh
每日互动成立于2010年,致力于用数据让产业更智能。为助力垂直行业客户的数字化转型升级,每日互动打造了数据智能操作系统DiOS(Data Intelligence Operating System),致力于“让数好用,把数用好”,帮助行业客户更高效地管理和使用数据。进入到大模型时代,每日互动也将LLMs的能力融入到DiOS产品中,实现数据治理和应用范式的变革,让行业客户可以用自然语言对话的方式使用DiOS,极其便捷地挖掘数据价值。
此外,每日互动也在探索大模型、RAG(检索增强生成)、PRA(机器人流程自动化)等前沿技术在商业服务和公共服务领域的落地,推动生产和研发效能的提升。比如在商业服务领域,每日互动面向品牌广告主推出了AITA智选人群新功能,让营销人员可以通过自然语言对话的方式快速进行人群洞察和定向,极大降低了数据的使用门槛;在公共服务领域,每日互动推出了惠企政策智配大模型,采用RAG技术,提升大模型回答的准确性和合规性。平台一方面帮助企业精准、快捷、全面地匹配政策,通过智能化的政策解读精简提炼政策条款,提高企业对政策的理解和应用能力;另一方面帮助政府机构更好地向企业传达政策信息,提高政策遵从度和落地效率。
更多大模型探索和数据智能创新实践,欢迎大家于5月17-18日前往2024 AI+研发数字峰会(AiDD)上海站 每日互动A2展位,和我们一起深入交流、探讨。
伴随着人工智能在众多行业领域的广泛应用及其带来的颠覆性变革,软件的开发模式、方式和实践也将发生巨大的变化。
5月17-18日,2024 AI+研发数字峰会(AiDD)上海站即将重磅开幕。峰会设置了15个主题论坛,策划60+精彩议题内容,邀请到了来自北京大学、清华大学、上海交通大学等高校的技术专家以及微软、阿里巴巴、百度等知名企业的一线从业者,从大模型开发到应用等多个层面进行深入分享、交流和共创,旨在推动研发全面进入数智化时代。数据智能上市企业每日互动(个推)受邀出席大会,并将在峰会现场A2展位亮相,为参会观众带来数据智能操作系统DiOS及AI研发创新成果。
会议主题:
“AI驱动研发迈进数智化时代”
会议时间:
2024年05月17-18日
会议地点:
上海明捷万丽酒店
立即报名:
AiDD研发数字峰会-上海站 https://aidd.vip/sh
每日互动成立于2010年,致力于用数据让产业更智能。为助力垂直行业客户的数字化转型升级,每日互动打造了数据智能操作系统DiOS(Data Intelligence Operating System),致力于“让数好用,把数用好”,帮助行业客户更高效地管理和使用数据。进入到大模型时代,每日互动也将LLMs的能力融入到DiOS产品中,实现数据治理和应用范式的变革,让行业客户可以用自然语言对话的方式使用DiOS,极其便捷地挖掘数据价值。
此外,每日互动也在探索大模型、RAG(检索增强生成)、PRA(机器人流程自动化)等前沿技术在商业服务和公共服务领域的落地,推动生产和研发效能的提升。比如在商业服务领域,每日互动面向品牌广告主推出了AITA智选人群新功能,让营销人员可以通过自然语言对话的方式快速进行人群洞察和定向,极大降低了数据的使用门槛;在公共服务领域,每日互动推出了惠企政策智配大模型,采用RAG技术,提升大模型回答的准确性和合规性。平台一方面帮助企业精准、快捷、全面地匹配政策,通过智能化的政策解读精简提炼政策条款,提高企业对政策的理解和应用能力;另一方面帮助政府机构更好地向企业传达政策信息,提高政策遵从度和落地效率。
更多大模型探索和数据智能创新实践,欢迎大家于5月17-18日前往2024 AI+研发数字峰会(AiDD)上海站 每日互动A2展位,和我们一起深入交流、探讨。
收起阅读 »使用 bundle-analyzer 分析 uni-app 打包产物包含哪些东西
之前陆陆续续有用户提到 uni-app 打包之后,体积突然变大了,或者突然变小了。不清楚 dist 目录的产物都包含哪些内容,这里提供构建产物分析的方案。
技术思路
uni-app 在使用 vue2 中使用 webpack 进行打包,在 vue3 中使用 vite 进行打包,在 webpack/vite 的插件生态中,有 bundle-analyzer 相关插件。
vue3
如果你在使用 HBuidlerX 或者 CLI 运行 vue3 版本的项目,你可以在对应的工程目录安装。
npm install --save-dev rollup-plugin-visualizer
# or
yarn add --dev rollup-plugin-visualizer
观察当前目录是否包含 vite.config.js,如果没有请创建,如果已经存在按照下面修改。
官方文档提到了 vite.config.js 的作用 vite.config.ts
修改为下面方案,具体根据项目的依赖进行修改。
import {
defineConfig
} from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
import {
visualizer
} from "rollup-plugin-visualizer";
export default defineConfig({
plugins: [
uni(),
visualizer({
emitFile: true,
filename: "111stats.html",
})
],
});
之后执行编译到对应平台,比如微信小程序平台,观察 unpackage/dist/dev/mp-weixin 是否读了一个 111stats.html 文件,拖入浏览器即可查看具体哪些产物多大体积。
如果你发现 uniapp 版本升级前后,尺寸发生了变化,可以前后两次编译产生的依赖图,供开发人员分析,具体哪个文件尺寸有异常。
vue2
如果在使用 HBuilderX 或者 CLI 运行 vue2 项目,可以按照下面的方案添加依赖
# NPM
npm install --save-dev webpack-bundle-analyzer
# Yarn
yarn add -D webpack-bundle-analyzer
修改或者创建 vue.config.js,修改为下面方案
const path = require('path')
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
module.exports = {
configureWebpack: {
plugins: [
new BundleAnalyzerPlugin({
analyzerMode: 'static',
reportFilename: '111report.html'
})
]
}
}
之后执行编译到对应平台,比如微信小程序平台,观察 unpackage/dist/dev/mp-weixin 是否读了一个 111report.html 文件,拖入浏览器即可查看具体哪些产物多大体积。
如果你发现 uniapp 版本升级前后,尺寸发生了变化,可以前后两次编译产生的依赖图,供开发人员分析,具体哪个文件尺寸有异常。
依赖分析
一般情况下,依赖分成两个大的部分:
- 依赖产物,在 vendor.js 中
- 页面逻辑,一般以
pages文件夹为主
正常情况下,编译提及发生变化,一般是 vendor 或者 node_modules 发生了变化,具体可以观察对应部分。
如果在 ask 社区提问请提供对应的前后尺寸对比。
备注:
- link https://issues.dcloud.net.cn/pages/issues/detail?id=1133
之前陆陆续续有用户提到 uni-app 打包之后,体积突然变大了,或者突然变小了。不清楚 dist 目录的产物都包含哪些内容,这里提供构建产物分析的方案。
技术思路
uni-app 在使用 vue2 中使用 webpack 进行打包,在 vue3 中使用 vite 进行打包,在 webpack/vite 的插件生态中,有 bundle-analyzer 相关插件。
vue3
如果你在使用 HBuidlerX 或者 CLI 运行 vue3 版本的项目,你可以在对应的工程目录安装。
npm install --save-dev rollup-plugin-visualizer
# or
yarn add --dev rollup-plugin-visualizer
观察当前目录是否包含 vite.config.js,如果没有请创建,如果已经存在按照下面修改。
官方文档提到了 vite.config.js 的作用 vite.config.ts
修改为下面方案,具体根据项目的依赖进行修改。
import {
defineConfig
} from 'vite';
import uni from '@dcloudio/vite-plugin-uni';
import {
visualizer
} from "rollup-plugin-visualizer";
export default defineConfig({
plugins: [
uni(),
visualizer({
emitFile: true,
filename: "111stats.html",
})
],
});
之后执行编译到对应平台,比如微信小程序平台,观察 unpackage/dist/dev/mp-weixin 是否读了一个 111stats.html 文件,拖入浏览器即可查看具体哪些产物多大体积。
如果你发现 uniapp 版本升级前后,尺寸发生了变化,可以前后两次编译产生的依赖图,供开发人员分析,具体哪个文件尺寸有异常。
vue2
如果在使用 HBuilderX 或者 CLI 运行 vue2 项目,可以按照下面的方案添加依赖
# NPM
npm install --save-dev webpack-bundle-analyzer
# Yarn
yarn add -D webpack-bundle-analyzer
修改或者创建 vue.config.js,修改为下面方案
const path = require('path')
const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin;
module.exports = {
configureWebpack: {
plugins: [
new BundleAnalyzerPlugin({
analyzerMode: 'static',
reportFilename: '111report.html'
})
]
}
}
之后执行编译到对应平台,比如微信小程序平台,观察 unpackage/dist/dev/mp-weixin 是否读了一个 111report.html 文件,拖入浏览器即可查看具体哪些产物多大体积。
如果你发现 uniapp 版本升级前后,尺寸发生了变化,可以前后两次编译产生的依赖图,供开发人员分析,具体哪个文件尺寸有异常。
依赖分析
一般情况下,依赖分成两个大的部分:
- 依赖产物,在 vendor.js 中
- 页面逻辑,一般以
pages文件夹为主
正常情况下,编译提及发生变化,一般是 vendor 或者 node_modules 发生了变化,具体可以观察对应部分。
如果在 ask 社区提问请提供对应的前后尺寸对比。
备注:
- link https://issues.dcloud.net.cn/pages/issues/detail?id=1133
uni.createInnerAudioContext() 报错{"errMsg":"MediaError","errCode":-5} 解决方案
刚好在写关于控制音频播放的功能,H5、Android调试正常,在iOS端调试时onError报{"errMsg":"MediaError","errCode":-5}错误。说实话,和官方文档对比了一下,还是有点儿懵逼,复制粘贴的代码到了自己这儿居然报错。
疯狂三连 IDE没更新?姿势不对?我太菜了?
作为面向网络开发的我,遇事不解找度娘,发现遇到此问题的小伙伴也挺多的,也有部分小伙伴提供了一些解决思路:
https://ask.dcloud.net.cn/article/39258
https://www.php.cn/faq/469883.html
经过调试,发现iOS端音频播放技能前摇太长了,当然了,官方提供的API肯定是经过大面积测试的,一般来说都是咱们的使用姿势错了,细心看下文档和调试就能把问题解决了。
解决过程如下,希望对遇到此问题的小伙伴有帮助:
发现问题
按照官方API的示例直接复制或编写相同代码,H5、Android端调试正常,ios端报错
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.autoplay = true;
innerAudioContext.src = 'https://web-ext-storage.dcloud.net.cn/uni-app/ForElise.mp3';
innerAudioContext.onPlay(() => {
console.log('开始播放');
});
innerAudioContext.onError((res) => {
console.log(res.errMsg);
console.log(res.errCode);
});
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.src = 'https://web-ext-storage.dcloud.net.cn/uni-app/ForElise.mp3';
innerAudioContext.play()
innerAudioContext.onPlay(() => {
console.log('开始播放');
});
innerAudioContext.onError((res) => {
console.log(res.errMsg);
console.log(res.errCode);
});
在ios调试会分别发现:
初始化设置添加 innerAudioContext.autoplay = true;
onError事件被触发并返回{"errMsg":"MediaError","errCode":-5} 后onPlay事件会被触发,这问题应该是大多数小伙伴遇到的
初始化设置时执行 innerAudioContext.play() 方法
onError事件不会被触发,onPlay()事件被触发两次
至于ios端为什么会出现这样的问题,就需要Dcloud团队去处理了。
解决问题
相信各位小伙伴也注意到了官方文档中的onCanplay事件,在这里调用执行播放的事件就能解决问题了。
用大白话来讲:音频资源尚未加载完成,就已经执行播放事件。
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.src = 'https://web-ext-storage.dcloud.net.cn/uni-app/ForElise.mp3';
innerAudioContext.onCanplay(() => {
console.log('可以播放音频');
innerAudioContext.play()
})
innerAudioContext.onPlay(() => {
console.log('开始播放');
});
innerAudioContext.onStop(() => {
console.log('音频停止播放');
});
innerAudioContext.onEnded(() => {
console.log('音频自然播放结束事件');
});
innerAudioContext.onError((res) => {
console.log('播放错误');
console.log(err);
});
写在最后
这是本人这么多年第一次在互联网发表观点,如有不足之处,希望各位大佬多多斧正。
刚好在写关于控制音频播放的功能,H5、Android调试正常,在iOS端调试时onError报{"errMsg":"MediaError","errCode":-5}错误。说实话,和官方文档对比了一下,还是有点儿懵逼,复制粘贴的代码到了自己这儿居然报错。
疯狂三连 IDE没更新?姿势不对?我太菜了?
作为面向网络开发的我,遇事不解找度娘,发现遇到此问题的小伙伴也挺多的,也有部分小伙伴提供了一些解决思路:
https://ask.dcloud.net.cn/article/39258
https://www.php.cn/faq/469883.html
经过调试,发现iOS端音频播放技能前摇太长了,当然了,官方提供的API肯定是经过大面积测试的,一般来说都是咱们的使用姿势错了,细心看下文档和调试就能把问题解决了。
解决过程如下,希望对遇到此问题的小伙伴有帮助:
发现问题
按照官方API的示例直接复制或编写相同代码,H5、Android端调试正常,ios端报错
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.autoplay = true;
innerAudioContext.src = 'https://web-ext-storage.dcloud.net.cn/uni-app/ForElise.mp3';
innerAudioContext.onPlay(() => {
console.log('开始播放');
});
innerAudioContext.onError((res) => {
console.log(res.errMsg);
console.log(res.errCode);
});
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.src = 'https://web-ext-storage.dcloud.net.cn/uni-app/ForElise.mp3';
innerAudioContext.play()
innerAudioContext.onPlay(() => {
console.log('开始播放');
});
innerAudioContext.onError((res) => {
console.log(res.errMsg);
console.log(res.errCode);
});
在ios调试会分别发现:
初始化设置添加 innerAudioContext.autoplay = true;
onError事件被触发并返回{"errMsg":"MediaError","errCode":-5} 后onPlay事件会被触发,这问题应该是大多数小伙伴遇到的
初始化设置时执行 innerAudioContext.play() 方法
onError事件不会被触发,onPlay()事件被触发两次
至于ios端为什么会出现这样的问题,就需要Dcloud团队去处理了。
解决问题
相信各位小伙伴也注意到了官方文档中的onCanplay事件,在这里调用执行播放的事件就能解决问题了。
用大白话来讲:音频资源尚未加载完成,就已经执行播放事件。
const innerAudioContext = uni.createInnerAudioContext();
innerAudioContext.src = 'https://web-ext-storage.dcloud.net.cn/uni-app/ForElise.mp3';
innerAudioContext.onCanplay(() => {
console.log('可以播放音频');
innerAudioContext.play()
})
innerAudioContext.onPlay(() => {
console.log('开始播放');
});
innerAudioContext.onStop(() => {
console.log('音频停止播放');
});
innerAudioContext.onEnded(() => {
console.log('音频自然播放结束事件');
});
innerAudioContext.onError((res) => {
console.log('播放错误');
console.log(err);
});
写在最后
这是本人这么多年第一次在互联网发表观点,如有不足之处,希望各位大佬多多斧正。
收起阅读 »【公告】uni-app首期鸿蒙支持计划
鉴于很多开发者都在咨询uni-app对于鸿蒙next的兼容支持计划,特发此公告。
uni-app 支持鸿蒙
因 Vue 2 已于 2023 年 12 月 31 日达到终止支持时间,uni-app团队不计划提供 vue 2 的鸿蒙支持,仅规划 vue 3 的鸿蒙兼容支持。建议开发者尽快将历史项目从 vue 2 升级到 vue 3 版本。
鸿蒙系统的兼容支持,是个复杂浩瀚的工作。经和鸿蒙团队交流,我们共同制定了首期 uni-app 鸿蒙支持计划,分2个时间点发布:
- 2024年6月底:发布 alpha 版,完成基础组件及API的适配,资深开发者可抢先体验;
- 2024年9月底:发布正式版,完成常用组件及API的适配。
鉴于时间原因,部分功能模块将无法在首期 uni-app 鸿蒙支持计划中实现,比如:nvue、蓝牙、fileSystemManager、uniCloud等。
uni小程序SDK支持鸿蒙
预计2024年9月底,uni小程序SDK将会支持鸿蒙next,仅支持 vue 3 编译后的wgt文件,不支持 vue 2 版本。
uni-app x 支持鸿蒙
预计2024年12月底,完成 uni-app x 对于鸿蒙next的兼容支持。
鉴于很多开发者都在咨询uni-app对于鸿蒙next的兼容支持计划,特发此公告。
uni-app 支持鸿蒙
因 Vue 2 已于 2023 年 12 月 31 日达到终止支持时间,uni-app团队不计划提供 vue 2 的鸿蒙支持,仅规划 vue 3 的鸿蒙兼容支持。建议开发者尽快将历史项目从 vue 2 升级到 vue 3 版本。
鸿蒙系统的兼容支持,是个复杂浩瀚的工作。经和鸿蒙团队交流,我们共同制定了首期 uni-app 鸿蒙支持计划,分2个时间点发布:
- 2024年6月底:发布 alpha 版,完成基础组件及API的适配,资深开发者可抢先体验;
- 2024年9月底:发布正式版,完成常用组件及API的适配。
鉴于时间原因,部分功能模块将无法在首期 uni-app 鸿蒙支持计划中实现,比如:nvue、蓝牙、fileSystemManager、uniCloud等。
uni小程序SDK支持鸿蒙
预计2024年9月底,uni小程序SDK将会支持鸿蒙next,仅支持 vue 3 编译后的wgt文件,不支持 vue 2 版本。
uni-app x 支持鸿蒙
预计2024年12月底,完成 uni-app x 对于鸿蒙next的兼容支持。
收起阅读 »uniappx中uni.switchTab跳转tabBar页面,url用相对路径报错绝对路径成功
uniappx中uni.switchTab跳转tabBar页面,url用相对路径报错目标页面不是tabBar页面使用绝对路径时可以
uniappx中uni.switchTab跳转tabBar页面,url用相对路径报错目标页面不是tabBar页面使用绝对路径时可以
默认了加 count,选项卡字体无法实现变绿色效果,问题是出在哪里
<template>
<view class="home">
<view class="courseIntroduce_box">
<view class="courseIntroduce_des">
<view class="courseIntroduce_info">{{ introduce }}</view>
</view>
<courseIntroduceData :msg="introduceList"/>
<view class="question_line"></view>
<view class="courseIntroduce_tab_box">
<view class="courseIntroduce_tab_nav">
<view v-for="(item,index) in items" :class="{ 'btna':count === index }" @tap="change(index)" :key="index">{{ item }}</view>
</view>
<view class="courseIntroduce_tab_con">
<view class="discount_info" :class="{dis:count === 0}">
内容1
</view>
<view class="discount_info" :class="{dis:count === 1}">
内容2
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import courseIntroduceData from "../../../components/courseIntroduce-data/courseIntroduce-data.vue"
export default {
data() {
return {
introduce:"",
introduceList:[],
items:["课程章节","课程介绍"],
count:0
}
},
components:{
courseIntroduceData
},
onLoad(options) {
uni.request({
url:"https://www.itbaizhan.cn/api/course/detail",
data:{
id:options.id,
course:options.course
},
success: (res) => {
this.introduce = res.data.data.introduce
this.introduceList = res.data.data.introduceList
}
})
},
methods: {
change(index){
this.count = index;
}
}
}
</script>
<style lang="scss">
.courseIntroduce_box {
display: flex;
box-sizing: box;
flex-direction: column;
margin-bottom: 90px;
.courseIntroduce_des {
display: flex;
box-sizing: border-box;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
background-color: #0c9c8f;
padding: 0 10px 15px;
overflow: hidden;
.courseIntroduce_info {
display: flex;
box-sizing: box;
width: 100%;
color: #fff;
font-size: 16px;
line-height: 24px;
}
}
.courseIntroduce_tab_box {
display: flex;
box-sizing: border-box;
flex-direction: column;
.courseIntroduce_tab_nav {
display: flex;
box-sizing: border-box;
flex-direction: row;
background-color: #fff;
border-bottom: 1px solid #e4e4e4;
margin-bottom: 20px;
view {
height: 50px;
line-height: 50px;
font-size: 16px;
flex-grow: 1;
text-align: center;
background-color: #fff;
}
}
.discount_info {
display: nome;
}
.btna {
display: flex;
box-sizing: border-box;
justify-content: center;
color: $zhu-color;
position: relative;
}
.btna::after {
content: '';
width: 40px;
height: 3px;
background-color: $zhu-color;
position: absolute;
bottom: 0;
left: 50%;
margin-left: -20px;
}
.dis {
display: block;
}
}
}
</style>
这个编程运行是这个效果:
我想要的是点课程章节或课程介绍会出现绿色字体效果,哪里有出错:
<template>
<view class="home">
<view class="courseIntroduce_box">
<view class="courseIntroduce_des">
<view class="courseIntroduce_info">{{ introduce }}</view>
</view>
<courseIntroduceData :msg="introduceList"/>
<view class="question_line"></view>
<view class="courseIntroduce_tab_box">
<view class="courseIntroduce_tab_nav">
<view v-for="(item,index) in items" :class="{ 'btna':count === index }" @tap="change(index)" :key="index">{{ item }}</view>
</view>
<view class="courseIntroduce_tab_con">
<view class="discount_info" :class="{dis:count === 0}">
内容1
</view>
<view class="discount_info" :class="{dis:count === 1}">
内容2
</view>
</view>
</view>
</view>
</view>
</template>
<script>
import courseIntroduceData from "../../../components/courseIntroduce-data/courseIntroduce-data.vue"
export default {
data() {
return {
introduce:"",
introduceList:[],
items:["课程章节","课程介绍"],
count:0
}
},
components:{
courseIntroduceData
},
onLoad(options) {
uni.request({
url:"https://www.itbaizhan.cn/api/course/detail",
data:{
id:options.id,
course:options.course
},
success: (res) => {
this.introduce = res.data.data.introduce
this.introduceList = res.data.data.introduceList
}
})
},
methods: {
change(index){
this.count = index;
}
}
}
</script>
<style lang="scss">
.courseIntroduce_box {
display: flex;
box-sizing: box;
flex-direction: column;
margin-bottom: 90px;
.courseIntroduce_des {
display: flex;
box-sizing: border-box;
flex-direction: column;
justify-content: center;
align-items: center;
width: 100%;
background-color: #0c9c8f;
padding: 0 10px 15px;
overflow: hidden;
.courseIntroduce_info {
display: flex;
box-sizing: box;
width: 100%;
color: #fff;
font-size: 16px;
line-height: 24px;
}
}
.courseIntroduce_tab_box {
display: flex;
box-sizing: border-box;
flex-direction: column;
.courseIntroduce_tab_nav {
display: flex;
box-sizing: border-box;
flex-direction: row;
background-color: #fff;
border-bottom: 1px solid #e4e4e4;
margin-bottom: 20px;
view {
height: 50px;
line-height: 50px;
font-size: 16px;
flex-grow: 1;
text-align: center;
background-color: #fff;
}
}
.discount_info {
display: nome;
}
.btna {
display: flex;
box-sizing: border-box;
justify-content: center;
color: $zhu-color;
position: relative;
}
.btna::after {
content: '';
width: 40px;
height: 3px;
background-color: $zhu-color;
position: absolute;
bottom: 0;
left: 50%;
margin-left: -20px;
}
.dis {
display: block;
}
}
}
</style>
这个编程运行是这个效果:
我想要的是点课程章节或课程介绍会出现绿色字体效果,哪里有出错:
收起阅读 »
uniapp ruoyi-app 中使用checkbox 无法选中问题
<view class="flex align-center">
<checkbox-group>
<label>
<checkbox value="cb" checked="true" /> 记住密码
</label>
</checkbox-group>
</view>
colorui.css 文件中注释掉两处即可
checkbox::before {
font-family: "cuIcon";
content: "\e645";
position: absolute;
color: #ffffff !important;
top: 50%;
margin-top: -8px;
right: 5px;
font-size: 32upx;
line-height: 16px;
pointer-events: none;
transform: scale(1, 1);
transition: all 0.3s ease-in-out 0s;
/* z-index: 9; */
}
/* checkbox .uni-checkbox-input::before, */
radio .uni-radio-input::before {
display: none;
} <view class="flex align-center">
<checkbox-group>
<label>
<checkbox value="cb" checked="true" /> 记住密码
</label>
</checkbox-group>
</view>
colorui.css 文件中注释掉两处即可
checkbox::before {
font-family: "cuIcon";
content: "\e645";
position: absolute;
color: #ffffff !important;
top: 50%;
margin-top: -8px;
right: 5px;
font-size: 32upx;
line-height: 16px;
pointer-events: none;
transform: scale(1, 1);
transition: all 0.3s ease-in-out 0s;
/* z-index: 9; */
}
/* checkbox .uni-checkbox-input::before, */
radio .uni-radio-input::before {
display: none;
} 收起阅读 »
全栈开发在线接单(有团队)
uniapp项目开发在线接单,可定制,可二开,时间充裕,保质保量
有需要请联系 vx : docxxlsx
uniapp项目开发在线接单,可定制,可二开,时间充裕,保质保量
有需要请联系 vx : docxxlsx
关于把google登录集成到uniapp安卓APP的最终帖子
坦白讲,我真的被uniapp官方以及一些登录插件搞死了,总算是搞成了,记录一下有哪些坑。
先写有哪些坑,因为这些坑太痛苦,太隐藏了,然后官方也好,很多说明也好都没有提到!简直误国误民!
1,SHA1 有两个!一个是你用keystore通过命令行生成的,一个是google play console 里面的(在play console设置=》签名),这两个不是一样的,测试环境用前面的,正式环境用后面的。
我想问一下官方,为什么不说!为什么不说!我想问一下那些搞google 登录插件的,为什么不说!为什么不说!
2,不是创建web端的凭证,是创建安卓端的凭证,有人说用web端的,有一些插件也说是,反正我用的安卓端的,而且我的是要审核的,就是我这个最后要提交给谷歌审核,在审核通过前,好像只能验证100个用户。
3,firebase我也整了半天,反正最后是通过https://console.cloud.google.com/这里建立auth2.0凭证,选择的安卓客户端,然后弄成的。
反正最终我这个是可以的,也没有谁说过要去谷歌审核,但是话说回来,谷歌登录给你装到你app,你说你不要审核,你觉得可能吗!
如果是黄赌毒,用谷歌登录,是什么感觉!问题是我从来没有在官方以及其他任何一个帖子上看到。
坦白讲,我真的被uniapp官方以及一些登录插件搞死了,总算是搞成了,记录一下有哪些坑。
先写有哪些坑,因为这些坑太痛苦,太隐藏了,然后官方也好,很多说明也好都没有提到!简直误国误民!
1,SHA1 有两个!一个是你用keystore通过命令行生成的,一个是google play console 里面的(在play console设置=》签名),这两个不是一样的,测试环境用前面的,正式环境用后面的。
我想问一下官方,为什么不说!为什么不说!我想问一下那些搞google 登录插件的,为什么不说!为什么不说!
2,不是创建web端的凭证,是创建安卓端的凭证,有人说用web端的,有一些插件也说是,反正我用的安卓端的,而且我的是要审核的,就是我这个最后要提交给谷歌审核,在审核通过前,好像只能验证100个用户。
3,firebase我也整了半天,反正最后是通过https://console.cloud.google.com/这里建立auth2.0凭证,选择的安卓客户端,然后弄成的。
反正最终我这个是可以的,也没有谁说过要去谷歌审核,但是话说回来,谷歌登录给你装到你app,你说你不要审核,你觉得可能吗!
如果是黄赌毒,用谷歌登录,是什么感觉!问题是我从来没有在官方以及其他任何一个帖子上看到。
HBuilderX 发布目录从 H5 调整为 web 的兼容方案
本文受众
本文用来解释和指导发布目录从 h5 调整 web 过程,收到影响的用户。
背景
HBuilderX 从 4.06 开始 uni-app 的 web 项目的编译目录从 h5 调整为 web 目录了。
- 调整 uni-app运行 unpackage编译目录
h5目录名改为web
这一条改动很多人没有留意到,沿用历史的持续集成流程,会产生错误,因为目录发生了变更。
改动的原因,在相关 ask 社区中也有回答,主要还是为了统一概念。
早期 uni-app 在 web 端主要使用移动端展示内容,随着功能迭代和使用场景丰富,很多用户在宽屏 PC 端也会选择 uni-app 进行渲染和展示。
相关 api 的返回值,条件编译等已经陆陆续续统一到 web 上来,所以调整编译目录也是在计划中。
考虑到很多用户的使用场景,并不能轻易调整持续构建的流程,这里提供一些临时的兼容方案进行过度,最好的方案还是修改持续集成的流程。
临时兼容方案
如果是类似 jenkins/业务定制的 CICD 流程,可以尝试添加 post scripts,linux 服务器
cp -r unpackage/dist/build/web unpackage/dist/build/h5
# 或者习惯用 mv,二选一即可
mv unpackage/dist/build/web unpackage/dist/build/h5
如果你使用 windows 服务器
copy unpackage\\dist\\build\\web unpackage\\dist\\build\\h5
如果也不允许修改 jenkins ,可以尝试添加 npm scripts 添加上方命令。在 build 结束之后继续执行命令。
如果你仍有问题,欢迎留言讨论。
本文受众
本文用来解释和指导发布目录从 h5 调整 web 过程,收到影响的用户。
背景
HBuilderX 从 4.06 开始 uni-app 的 web 项目的编译目录从 h5 调整为 web 目录了。
- 调整 uni-app运行 unpackage编译目录
h5目录名改为web
这一条改动很多人没有留意到,沿用历史的持续集成流程,会产生错误,因为目录发生了变更。
改动的原因,在相关 ask 社区中也有回答,主要还是为了统一概念。
早期 uni-app 在 web 端主要使用移动端展示内容,随着功能迭代和使用场景丰富,很多用户在宽屏 PC 端也会选择 uni-app 进行渲染和展示。
相关 api 的返回值,条件编译等已经陆陆续续统一到 web 上来,所以调整编译目录也是在计划中。
考虑到很多用户的使用场景,并不能轻易调整持续构建的流程,这里提供一些临时的兼容方案进行过度,最好的方案还是修改持续集成的流程。
临时兼容方案
如果是类似 jenkins/业务定制的 CICD 流程,可以尝试添加 post scripts,linux 服务器
cp -r unpackage/dist/build/web unpackage/dist/build/h5
# 或者习惯用 mv,二选一即可
mv unpackage/dist/build/web unpackage/dist/build/h5
如果你使用 windows 服务器
copy unpackage\\dist\\build\\web unpackage\\dist\\build\\h5
如果也不允许修改 jenkins ,可以尝试添加 npm scripts 添加上方命令。在 build 结束之后继续执行命令。
如果你仍有问题,欢迎留言讨论。
收起阅读 »社交购物源码,小红书1:1还原,小红书APP社区源码模板软件开发社区电商支持即时通讯社交
小红书APP源码,1:1还原小红书功能。可接定制二次开发需求。有疑问请随时联系在线客服,谢谢!
主要功能:推荐算法、视频、圈子、购物、直播、小视频、话题、投票、城市、天气、实名认证、发布、任务、邀请、深色模式、广告、采集、暗黑模式、多语言
客户端版本:本程序有H5、小程序、安卓、苹果、电脑端、5端同步共用同一套后台,数据互通。
本程序是我们自主开发,不依赖第三方系统。
接口开发语言:PHP,mysql,thinkphp5
官网地址:www.suxiangw.com
服务承诺:提供技术、维护、更新,提供源代码,合同等服务
小红书APP源码,1:1还原小红书功能。可接定制二次开发需求。有疑问请随时联系在线客服,谢谢!
主要功能:推荐算法、视频、圈子、购物、直播、小视频、话题、投票、城市、天气、实名认证、发布、任务、邀请、深色模式、广告、采集、暗黑模式、多语言
客户端版本:本程序有H5、小程序、安卓、苹果、电脑端、5端同步共用同一套后台,数据互通。
本程序是我们自主开发,不依赖第三方系统。
接口开发语言:PHP,mysql,thinkphp5
官网地址:www.suxiangw.com
服务承诺:提供技术、维护、更新,提供源代码,合同等服务








