微擎应用软件登陆网页面,广告太多,严重影响客户对我们开发成本质疑!甚至,客户顺着广告,找到了对应的应用产品,很尴尬!
首先进入服务市场看到积分兑换 很新鲜 但是登陆账号后 缺没法看见自己的积分余额 还有就是积分兑换详情页也没有法看见
是一个很不好的体验,建议把用户的积分 显示能在积分兑换那个后台能看见 而不是在应用市场里面才能看见,
小小的建议 用户友好的体验 给于汇报的,如有不对 可以不用采纳!
1、修改/framework/function/cache.func.php 的 cache_type函数:
function cache_type()
{
global $_W;
$cacher = $connect = '';
$cache_type = strtolower($_W['config']['setting']['cache']);
if ($cache_type == 'memcached') return $cache_type;
if (extension_loaded($cache_type)) {
$config = $_W['config']['setting'][$cache_type];
if (!empty($config['server']) && !empty($config['port'])) {
if ('memcache' == $cache_type) {
$cacher = new Memcache();
}
elseif ('redis' == $cache_type) {
$cacher = new Redis();
}
$connect = $cacher->connect($config['server'], $config['port']);
}
}
if (empty($cacher) || empty($connect)) {
$cache_type = 'mysql';
}
return $cache_type;
}
2、新增函数文件
/framework/function/cache.memcached.func.php
内容:
<?php
defined('IN_IA') or exit('Access Denied');
function cache_memcached()
{
global $_W;
static $memcacheobj;
if (!extension_loaded('memcached')) {
return error(1, 'Class Memcache is not found');
}
if (empty($memcacheobj)) {
$config = $_W['config']['setting']['memcached'];
$memcacheobj = new Memcached;
$memcacheobj->setOption(Memcached::OPT_COMPRESSION, false);
$memcacheobj->setOption(Memcached::OPT_BINARY_PROTOCOL, true);
$memcacheobj->setOption(Memcached::OPT_TCP_NODELAY, true);
if (empty($config['port'])) $config['port'] = 11211;
if (!empty($config['server'])) {
$memcacheobj->addServer($config['server'], $config['port']);
}
else {
return error(1, 'Server info in the config file not found.');
}
if (!empty($config['user']) and !empty($config['password'])) {
$memcacheobj->setSaslAuthData($config['user'], $config['password']);
}
}
return $memcacheobj;
}
function cache_read($key, $forcecache = true)
{
$key = cache_namespace($key);
$memcache = cache_memcached();
if (is_error($memcache)) {
return $memcache;
}
$result = $memcache->get(cache_prefix($key));
if (empty($result) && empty($forcecache)) {
$dbcache = pdo_get('core_cache', array(
'key' => $key
) , array(
'value'
));
if (!empty($dbcache['value'])) {
$result = iunserializer($dbcache['value']);
$memcache->set(cache_prefix($key) , $result, 0);
}
}
return $result;
}
function cache_search($key)
{
return cache_read(cache_prefix($key));
}
function cache_write($key, $value, $ttl = 0, $forcecache = true)
{
$key = cache_namespace($key);
$memcache = cache_memcached();
if (is_error($memcache)) {
return $memcache;
}
if (empty($forcecache)) {
$record = array();
$record['key'] = $key;
$record['value'] = iserializer($value);
pdo_insert('core_cache', $record, true);
}
if ($memcache->set(cache_prefix($key) , $value, 0)) {
return true;
}
else {
return false;
}
}
function cache_delete($key, $forcecache = true)
{
$origins_cache_key = $key;
$key = cache_namespace($key);
$memcache = cache_memcached();
if (is_error($memcache)) {
return $memcache;
}
if (empty($forcecache)) {
pdo_delete('core_cache', array(
'key' => $key
));
}
if ($memcache->delete(cache_prefix($key))) {
unset($GLOBALS['_W']['cache'][$origins_cache_key]);
return true;
}
else {
unset($GLOBALS['_W']['cache'][$origins_cache_key]);
return false;
}
}
function cache_clean($prefix = '')
{
if (!empty($prefix)) {
$cache_namespace = cache_namespace($prefix, true);
unset($GLOBALS['_W']['cache']);
pdo_delete('core_cache', array(
'key LIKE' => $cache_namespace . '%'
));
return true;
}
$memcache = cache_memcached();
if (is_error($memcache)) {
return $memcache;
}
if ($memcache->flush()) {
unset($GLOBALS['_W']['cache']);
pdo_delete('core_cache');
return true;
}
else {
return false;
}
}
function cache_namespace($key, $forcenew = false)
{
if (!strexists($key, ':')) {
$namespace_cache_key = $key;
}
else {
list($key1, $key2) = explode(':', $key);
if ($key1 == 'we7') {
$namespace_cache_key = $key2;
}
else {
$namespace_cache_key = $key1;
}
}
if (!in_array($namespace_cache_key, array(
'unimodules',
'user_modules'
))) {
return $key;
}
$namespace_cache_key = 'cachensl:' . $namespace_cache_key;
$memcache = cache_memcached();
if (is_error($memcache)) {
return $memcache;
}
$namespace = $memcache->get(cache_prefix($namespace_cache_key));
if (empty($namespace) || $forcenew) {
$namespace = random(5);
$memcache->set(cache_prefix($namespace_cache_key) , $namespace, 0);
}
return $namespace . ':' . $key;
}
function cache_prefix($key)
{
return $GLOBALS['_W']['config']['setting']['authkey'] . $key;
}
3、其他修改地方
忽略····
1,因为每个用户需要的应用不一样,所以创建了230个权限组;之前是一个应用一个权限组,需要相同应用的客户都分这个组,但突然有一天这个组里的用户需要别的应用,就需要重新创建新权限组,结果还是一样,一直添加新权限组
2,每次创建新用户选择权限组时,就要一直滑动鼠标按钮来选择,我买的是联想拯救者鼠标125元,中间滑动按钮坏了5次了,换了5个;中间如果没有备用的鼠标,就无法创建用户了,因为只能滑动选择权限组
3,建议加个搜索框,输入选项组名称可直接出来
这样提高效率,也方便,如果权限组达到1000个,那滑动就累死了
之前由于国家政策原因.cc 域名无法备案,只能暂时用.cn的域名备案,所以商业版用的.cn的域名,现在.cc的域名已经备案成功,想更换为.cc的域名,关键都是一个公司的域名。
本身同一公司下的域名更换不涉及交易,咱平台需要收取1000元的更换服务费用,主要是刚开始入驻到咱平台,还是努力的开发系统中,还没有多少收益。
还是希望能免费给更换一次:原域名:weifeng.youshengkeji.cn 更换为 :weifeng.ayys.cc
我公司有两个域名,分配了主账号创始人和分账号代理商,但是后台左上角logo和底部版权信息只能显示主账号的,分账号不能更改。
建议新增应用mysql数据库初始化功能,有时因锁库导致的表损坏很难修复。每次都要卸载重装还不一定能解决问题,如果有应用mysql初始化的功能,无法修复的表就可以初始化,更快速的解决因数据库导致的问题。
公众号管理--- 增强功能 --- 二维码/转换链接 ---- 二维码扫描统计 页
希望他添加导出关注用户数据的功能(按照 场景名称),谢谢!
请帮忙反馈,非常感谢!
你们这个服务真的是,感觉8800都白花,看看你们自己怎么说的,提供人工服务,在线更新指导,你们体现出什么了 只有一个工单,还是24小时以内,8800的优先权呢请问,学学别人的公司,在平台上加一个在线客服,有问题一两句话就结束的事情,非让你们搞的这么复杂,你们的前期的图片宣导和我购买后的服务是不一样的,现在在线客服连个人都找不到?
在两年多使用过程中发现,权限组和用户管理中的副创始人、副创始人组;应用权限组、账号权限组之间的关系复杂,在操作中难以完全掌握其中的关联设置,能否出一个针对这两类目的视频设置教程,谢谢!