Merge pull request 'xbx' (#11) from xbx into master
Reviewed-on: http://git.luyuan.tk/luyuan/demingshangjia/pulls/11
This commit is contained in:
commit
7245d83dcd
@ -18,6 +18,9 @@ const install = (Vue, vm) => {
|
||||
},
|
||||
createChatRoom({chat_name,live_desc,spec,goods_id,cover_img}){
|
||||
return vm.$u.post("Streaming/createChatRoom",{chat_name,live_desc,spec,goods_id,cover_img})
|
||||
},
|
||||
liveStreamList(){
|
||||
return vm.$u.post("Streaming/liveStreamList")
|
||||
}
|
||||
}
|
||||
// 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下
|
||||
|
11
pages.json
11
pages.json
@ -207,6 +207,17 @@
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"path": "pages/release/zhibo",
|
||||
"style": {
|
||||
"navigationBarTitleText": "",
|
||||
"navigationStyle": "custom",
|
||||
"app-plus": {
|
||||
"titleNView": false,
|
||||
"animationType": "slide-in-bottom"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"globalStyle": {
|
||||
|
@ -69,6 +69,7 @@
|
||||
}else{
|
||||
uni.setStorageSync("token",res.data.token)
|
||||
uni.setStorageSync("userinfo",res.data)
|
||||
uni.setStorageSync('rongyun',res.data.rongcloud_token)
|
||||
this.$u.route({
|
||||
url:"/pages/index/index",
|
||||
type:"switchTab"
|
||||
|
@ -6,7 +6,7 @@
|
||||
<view class="backes"></view>
|
||||
<!-- z自定义导航卡 -->
|
||||
<u-navbar title="" class="content" :background="background" :is-back="false" :border-bottom="false">
|
||||
<image src="../../static/image/tosign/tosigin(4).png"></image>
|
||||
<!-- <image src="../../static/image/tosign/tosigin(4).png"></image> -->
|
||||
<image src="../../static/image/tosign/tosigin(1).png"></image>
|
||||
</u-navbar>
|
||||
|
||||
@ -19,16 +19,16 @@
|
||||
<u-form-item label-position="right">
|
||||
<u-input v-model="form.text" placeholder="请填写直播简介" />
|
||||
</u-form-item>
|
||||
<view class="values"><text>{{max_two}}</text>/20</view>
|
||||
<view class="values"><text>{{20 - form.text.length}}</text>/20</view>
|
||||
<u-form-item label-position="right" >
|
||||
<u-input v-model="form.values" placeholder="我的售货袋" />
|
||||
<u-input v-model="form.values" placeholder="我的售货袋" @click="navto('selectshop')"/>
|
||||
<view class="rightes" @click="navto('selectshop')">售货袋</view>
|
||||
</u-form-item>
|
||||
</u-form>
|
||||
<!-- 标签的引入 -->
|
||||
<tap_tosign :fileListes="fileListes" @chuangjian="chuangjian" @qiehuan="qiehuan"></tap_tosign>
|
||||
<view class="titles">直播封面图</view>
|
||||
<u-upload :form-data="{'name':'article_cover'}" action='https://dmmall.sdbairui.com/storeapi/Upload/uploadFile' name="article_cover" :max-count="1" :show-progress="false" :before-upload="tupian" del-color="#ececec" upload-text="上传" del-bg-color="#fff"></u-upload>
|
||||
<u-upload :form-data="{'name':'article_cover'}" action='https://dmmall.sdbairui.com/storeapi/Upload/uploadFile' name="article_cover" :max-count="1" :show-progress="false" @on-change="tupian" del-color="#ececec" upload-text="上传" del-bg-color="#fff"></u-upload>
|
||||
</view>
|
||||
<view class="button-uview">
|
||||
<u-button @click="kaibo">{{relerest}}</u-button>
|
||||
@ -49,16 +49,18 @@
|
||||
form: {
|
||||
name: '',
|
||||
intro: '',
|
||||
sex: ''
|
||||
sex: '',
|
||||
text:''
|
||||
},
|
||||
value: '',
|
||||
max_two : '20',
|
||||
max : '优秀的标题可以卖的更好哦~',
|
||||
max : '',
|
||||
titleMaxLength : '20',
|
||||
show: false,
|
||||
relerest: '开始直播',
|
||||
fileListes:[],
|
||||
rSelect:[]
|
||||
rSelect:[],
|
||||
image:""
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
@ -88,7 +90,8 @@
|
||||
this.init()
|
||||
},
|
||||
tupian(a){
|
||||
console.log(a)
|
||||
console.log(JSON.parse(a.data).data)
|
||||
this.image = JSON.parse(a.data).data.file_name
|
||||
},
|
||||
navto(url){
|
||||
this.$u.route({
|
||||
@ -101,7 +104,16 @@
|
||||
live_desc:this.form.text,
|
||||
spec:this.rSelect.join(","),
|
||||
goods_id:uni.getStorageSync("gouwudai"),
|
||||
|
||||
cover_img:this.image
|
||||
}).then((res)=>{
|
||||
console.log(res)
|
||||
this.$u.route({
|
||||
url:"/pages/release/zhibo",
|
||||
params:{
|
||||
url:res.data.url.replace("&","*"),
|
||||
id:res.data.chat_id
|
||||
}
|
||||
})
|
||||
})
|
||||
},
|
||||
init(){
|
||||
@ -124,6 +136,7 @@
|
||||
},
|
||||
onLoad(){
|
||||
this.init()
|
||||
uni.removeStorageSync('gouwudai')
|
||||
}
|
||||
};
|
||||
</script>
|
||||
@ -226,19 +239,19 @@
|
||||
}
|
||||
|
||||
image:nth-child(1) {
|
||||
width: 36rpx;
|
||||
height: 35rpx;
|
||||
position: absolute;
|
||||
right: 110rpx;
|
||||
}
|
||||
|
||||
image:nth-child(2) {
|
||||
width: 36rpx;
|
||||
height: 35rpx;
|
||||
position: absolute;
|
||||
right: 48rpx;
|
||||
}
|
||||
|
||||
// image:nth-child(2) {
|
||||
// width: 36rpx;
|
||||
// height: 35rpx;
|
||||
// position: absolute;
|
||||
// right: 48rpx;
|
||||
// }
|
||||
|
||||
.labales {
|
||||
border-bottom: 1px #fff solid;
|
||||
margin-bottom: 180rpx;
|
||||
|
@ -54,7 +54,6 @@
|
||||
}
|
||||
},
|
||||
components: {
|
||||
uniBadge
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
385
pages/release/zhibo.nvue
Normal file
385
pages/release/zhibo.nvue
Normal file
@ -0,0 +1,385 @@
|
||||
<template>
|
||||
<div>
|
||||
<live-pusher id='livePusher' ref="livePusher" class="livePusher" :url="url"
|
||||
mode="SD" :muted="true" :enable-camera="true" :auto-focus="true" :beauty="1" whiteness="2"
|
||||
aspect="9:16" @statechange="statechange" @netstatus="netstatus" @error = "error"
|
||||
:style="{'height':height + 'px'}"
|
||||
></live-pusher>
|
||||
<div class="bottom" :style="{'height':height + 'px'}" v-if="show" @click="show = false">
|
||||
<div class="tanchuceng" @click="zuzhi">
|
||||
<div class="head">
|
||||
<div style="flex-direction: row;align-items:center">
|
||||
<text class="title">全部商品</text>
|
||||
<text class="num">2件</text>
|
||||
</div>
|
||||
<!-- <div class="add">
|
||||
<text style="font-size:28rpx;color: #fff;text-align:center">添加/管理商品</text>
|
||||
</div> -->
|
||||
</div>
|
||||
<list class="list">
|
||||
<cell class="item" v-for="(i,j) in list" @click="xuanzhong(j)">
|
||||
<image class="shopimg" :src="i.goods_image"></image>
|
||||
<div class="info">
|
||||
<div>
|
||||
<text style="font-size:26rpx;colro:#333;margin-top:12rpx;lines:1;text-overflow:ellipsis">{{i.goods_name}}</text>
|
||||
<text style="font-size:24rpx;color:#333;margin-top:14rpx;lines:1;text-overflow:ellipsis">{{i.goods_advword}}</text>
|
||||
</div>
|
||||
<div style="flex-direction: row; align-items: flex-end;">
|
||||
<text style="font-size:28rpx;color:#FF3131">¥{{i.goods_price}}</text>
|
||||
<text style="font-size:26rpx;color:#999">¥{{i.goods_marketprice}}</text>
|
||||
</div>
|
||||
</div>
|
||||
<image :src="'../../static/image/release/' + (i.putaway == 1 ? 'on' : 'off') + '.png'" style="width:55rpx;height:35rpx;margin-top:120rpx;margin-left:150rpx"></image>
|
||||
</cell>
|
||||
</list>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="user">
|
||||
</div>
|
||||
<div style="position: fixed;top: 60rpx;left: 30rpx;flex-direction: row;align-items:center">
|
||||
<image class="userhead" :src="info.member_avatar"></image>
|
||||
<div class="userinfo">
|
||||
<text class="username">{{info.member_name}}</text>
|
||||
<text class="username" style="font-size:20rpx">asdasdsa | sadasdas</text>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <button class="btn" @click="start">开始推流1</button>
|
||||
<button class="btn" @click="pause">暂停推流</button>
|
||||
<button class="btn" @click="resume">resume</button>
|
||||
<button class="btn" @click="stop">停止推流</button>
|
||||
<button class="btn" @click="snapshot">快照</button>
|
||||
<button class="btn" @click="startPrediv">开启摄像头预览</button>
|
||||
<button class="btn" @click="stopPrediv">关闭摄像头预览</button>
|
||||
rtmp://107268.livepush.myqcloud.com/live/26?txSecret=826e36f52669ebf9290644b82a1d8b33&txTime=5F1A84E4
|
||||
<button class="btn" @click="switchCamera">切换摄像头</button> -->
|
||||
</div>
|
||||
</template>
|
||||
<style lang="scss" scoped>
|
||||
.username{
|
||||
font-size: 24rpx;
|
||||
color: #fff;
|
||||
lines:1;
|
||||
text-overflow:ellipsis
|
||||
}
|
||||
.userinfo{
|
||||
height: 60rpx;
|
||||
margin-left: 20rpx;
|
||||
justify-content: space-between;
|
||||
width: 200rpx;
|
||||
}
|
||||
.userhead{
|
||||
width: 70rpx;
|
||||
height: 70rpx;
|
||||
// position: fixed;
|
||||
// top: 60rpx;
|
||||
// left: 30rpx;
|
||||
border-radius: 35rpx;
|
||||
}
|
||||
.user{
|
||||
width: 308rpx;
|
||||
height: 70rpx;
|
||||
border-radius: 35rpx;
|
||||
background-color: #000;
|
||||
opacity:0.2;
|
||||
position: fixed;
|
||||
top: 60rpx;
|
||||
left: 30rpx;
|
||||
|
||||
|
||||
}
|
||||
.info{
|
||||
height: 160rpx;
|
||||
justify-content: space-between;
|
||||
margin-left: 10rpx;
|
||||
width: 304rpx;
|
||||
}
|
||||
.shopimg{
|
||||
width: 160rpx;
|
||||
height: 160rpx;
|
||||
background-color: #0f0;
|
||||
|
||||
|
||||
}
|
||||
.item{
|
||||
width: 690rpx;
|
||||
height: 200rpx;
|
||||
border-bottom-width: 2rpx;
|
||||
border-style: solid;
|
||||
border-color: #ECECEC;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
}
|
||||
.list{
|
||||
width: 750rpx;
|
||||
height: 694rpx;
|
||||
padding-left: 30rpx;
|
||||
padding-right: 30rpx;
|
||||
}
|
||||
.add{
|
||||
width: 221rpx;
|
||||
height: 40rpx;
|
||||
background-color: #FF780F;
|
||||
border-radius: 20rpx;
|
||||
justify-content: center;
|
||||
margin-right: 30rpx;
|
||||
}
|
||||
.num{
|
||||
font-size: 26rpx;
|
||||
color: #FF3131;
|
||||
margin-left: 30rpx;
|
||||
}
|
||||
.bottom{
|
||||
width: 750rpx;
|
||||
position: fixed;
|
||||
top:0;
|
||||
z-index: 10;
|
||||
}
|
||||
.head{
|
||||
width: 750rpx;
|
||||
height: 88rpx;
|
||||
border-bottom-width: 2rpx;
|
||||
border-style: solid;
|
||||
border-color: #ECECEC;
|
||||
display: flex;
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
}
|
||||
.title{
|
||||
font-size: 30rpx;
|
||||
color:#333;
|
||||
margin-left: 30rpx;
|
||||
}
|
||||
.tanchuceng{
|
||||
width: 750rpx;
|
||||
height: 782rpx;
|
||||
position: fixed;
|
||||
bottom: 0;
|
||||
border-top-left-radius:20rpx;
|
||||
border-top-left-radius:20rpx;
|
||||
background-color: #fff;
|
||||
transition: bottom 0.5s;
|
||||
z-index: 20;
|
||||
|
||||
}
|
||||
</style>
|
||||
<script>
|
||||
const RongIMLib = require('../../static/rongyun.js');
|
||||
export default {
|
||||
data: {
|
||||
fil: true,
|
||||
url:'',
|
||||
height:0,
|
||||
show:true,
|
||||
list:[],
|
||||
info:{},
|
||||
im:{}
|
||||
},
|
||||
onReady() {
|
||||
// 注意:需要在onReady中 或 onLoad 延时
|
||||
this.context = uni.createLivePusherContext("livePusher", this);
|
||||
this.startPreview()
|
||||
let that = this
|
||||
uni.getSystemInfo({
|
||||
success(a){
|
||||
console.log(a.windowHeight)
|
||||
that.height = a.windowHeight
|
||||
// that.start()
|
||||
|
||||
}
|
||||
})
|
||||
},
|
||||
onLoad(a){
|
||||
this.url = a.url.replace("*","&")
|
||||
let that = this
|
||||
const token = uni.getStorageSync('token');
|
||||
uni.request({
|
||||
url:"https://dmmall.sdbairui.com//storeapi/Streaming/liveStreamList",
|
||||
method:"POST",
|
||||
headers:{
|
||||
'Authorization' : 'Bearer' + " " + token
|
||||
},
|
||||
success(res){
|
||||
console.log(res)
|
||||
that.list= res.data.data
|
||||
}
|
||||
})
|
||||
uni.request({
|
||||
url:"https://dmmall.sdbairui.com/storeapi/member/memberInfo",
|
||||
method:"POST",
|
||||
headers:{
|
||||
'Authorization' : 'Bearer' + " " + token
|
||||
},
|
||||
success(res){
|
||||
console.log(res.data.data.memberInfo)
|
||||
that.info = res.data.data.memberInfo
|
||||
}
|
||||
})
|
||||
var config = {
|
||||
appkey: 'mgb7ka1',
|
||||
debug:true
|
||||
};
|
||||
var im = RongIMLib.init(config);
|
||||
var conversationList = []; // 当前已存在的会话列表
|
||||
im.watch({
|
||||
conversation: function(event){
|
||||
var updatedConversationList = event.updatedConversationList; // 更新的会话列表
|
||||
console.log('更新会话汇总:', updatedConversationList);
|
||||
console.log('最新会话列表:', im.Conversation.merge({
|
||||
conversationList,
|
||||
updatedConversationList
|
||||
}));
|
||||
},
|
||||
message: function(event){
|
||||
var message = event.message;
|
||||
console.log('收到新消息:', message);
|
||||
},
|
||||
status: function(event){
|
||||
var status = event.status;
|
||||
console.log('连接状态码:', status);
|
||||
}
|
||||
});
|
||||
var user = {
|
||||
token: uni.getStorageSync('rongyun')
|
||||
};
|
||||
im.connect(user).then(function(user) {
|
||||
console.log('链接成功, 链接用户 id 为: ', user.id);
|
||||
}).catch(function(error) {
|
||||
console.log('链接失败: ', error.code, error.msg);
|
||||
});
|
||||
var chatRoom = im.ChatRoom.get({
|
||||
id: a.id
|
||||
});
|
||||
chatRoom.join({
|
||||
count: 20 // 进入后, 自动拉取 20 条聊天室最新消息
|
||||
}).then(function() {
|
||||
console.log('加入聊天室成功');
|
||||
});
|
||||
},
|
||||
methods: {
|
||||
statechange(e) {
|
||||
console.log("statechange:" + JSON.stringify(e));
|
||||
},
|
||||
netstatus(e) {
|
||||
// console.log("netstatus:" + JSON.stringify(e));
|
||||
},
|
||||
error(e) {
|
||||
console.log("error:" + JSON.stringify(e));
|
||||
},
|
||||
start: function() {
|
||||
console.log(this.url)
|
||||
this.context.start({
|
||||
success: (a) => {
|
||||
console.log("livePusher.start:" + JSON.stringify(a));
|
||||
}
|
||||
});
|
||||
},
|
||||
close: function() {
|
||||
this.context.close({
|
||||
success: (a) => {
|
||||
console.log("livePusher.close:" + JSON.stringify(a));
|
||||
}
|
||||
});
|
||||
},
|
||||
snapshot: function() {
|
||||
this.context.snapshot({
|
||||
success: (e) => {
|
||||
console.log(JSON.stringify(e));
|
||||
}
|
||||
});
|
||||
},
|
||||
resume: function() {
|
||||
|
||||
this.context.resume({
|
||||
success: (a) => {
|
||||
console.log(this.url + '12')
|
||||
|
||||
console.log("livePusher.resume:" + JSON.stringify(a));
|
||||
}
|
||||
});
|
||||
},
|
||||
pause: function() {
|
||||
this.context.pause({
|
||||
success: (a) => {
|
||||
console.log("livePusher.pause:" + JSON.stringify(a));
|
||||
}
|
||||
});
|
||||
},
|
||||
stop: function() {
|
||||
this.context.stop({
|
||||
success: (a) => {
|
||||
console.log(JSON.stringify(a));
|
||||
}
|
||||
});
|
||||
},
|
||||
switchCamera: function() {
|
||||
this.context.switchCamera({
|
||||
success: (a) => {
|
||||
console.log("livePusher.switchCamera:" + JSON.stringify(a));
|
||||
}
|
||||
});
|
||||
},
|
||||
startPreview: function() {
|
||||
let that = this
|
||||
this.context.startPreview({
|
||||
success: (a) => {
|
||||
console.log("livePusher.startPreview:" + JSON.stringify(a));
|
||||
that.start()
|
||||
|
||||
}
|
||||
});
|
||||
},
|
||||
stopPreview: function() {
|
||||
this.context.stopPreview({
|
||||
success: (a) => {
|
||||
console.log("livePusher.stopPreview:" + JSON.stringify(a));
|
||||
}
|
||||
});
|
||||
},
|
||||
guanbi(){
|
||||
this.show = false
|
||||
console.log(123)
|
||||
},
|
||||
zuzhi(event){
|
||||
event.stopPropagation();
|
||||
},
|
||||
xuanzhong(i){
|
||||
this.list[i].putaway = this.list[i].putaway == 0 ? 1 : 0
|
||||
const token = uni.getStorageSync('token');
|
||||
let arr = []
|
||||
for(let i in this.list){
|
||||
if(this.list[i].putaway == 1){
|
||||
arr.push(this.list[i].goods_id)
|
||||
}
|
||||
}
|
||||
let that = this
|
||||
uni.request({
|
||||
url:"https://dmmall.sdbairui.com/storeapi/Streaming/updateGoods",
|
||||
method:"POST",
|
||||
data:{
|
||||
goods_id:arr.join(',')
|
||||
},
|
||||
headers:{
|
||||
'Authorization' : 'Bearer' + " " + token
|
||||
},
|
||||
success(res){
|
||||
console.log(res)
|
||||
uni.request({
|
||||
url:"https://dmmall.sdbairui.com//storeapi/Streaming/liveStreamList",
|
||||
method:"POST",
|
||||
headers:{
|
||||
'Authorization' : 'Bearer' + " " + token
|
||||
},
|
||||
success(res){
|
||||
console.log(res)
|
||||
that.list= res.data.data
|
||||
}
|
||||
})
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
</script>
|
BIN
static/image/release/off.png
Normal file
BIN
static/image/release/off.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 4.2 KiB |
BIN
static/image/release/on.png
Normal file
BIN
static/image/release/on.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.9 KiB |
10571
static/rongyun.js
Normal file
10571
static/rongyun.js
Normal file
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user